[SM-4352]: Fix server cannot start when using activation-api-1.2.1, because MimeType.isSpecial doesn't exist
diff --git a/activation-api-1.2.1/src/main/java/javax/activation/MailcapCommandMap.java b/activation-api-1.2.1/src/main/java/javax/activation/MailcapCommandMap.java
index a028635..536083f 100644
--- a/activation-api-1.2.1/src/main/java/javax/activation/MailcapCommandMap.java
+++ b/activation-api-1.2.1/src/main/java/javax/activation/MailcapCommandMap.java
@@ -41,6 +41,10 @@
* @version $Rev$ $Date$
*/
public class MailcapCommandMap extends CommandMap {
+ /**
+ * A string that holds all the special chars.
+ */
+ private static final String TSPECIALS = "()<>@,;:/[]?=\\\"";
private final Map mimeTypes = new HashMap();
private final Map preferredCommands = new HashMap();
private final Map allCommands = new HashMap();
@@ -310,7 +314,7 @@
}
private int getToken(String s, int index) {
- while (index < s.length() && s.charAt(index) != '#' && !MimeType.isSpecial(s.charAt(index))) {
+ while (index < s.length() && s.charAt(index) != '#' && !isSpecialCharacter(s.charAt(index))) {
index++;
}
return index;
@@ -504,4 +508,8 @@
}
return (String[])commands.toArray(new String[commands.size()]);
}
+
+ private boolean isSpecialCharacter(char c) {
+ return Character.isWhitespace(c) || Character.isISOControl(c) || TSPECIALS.indexOf(c) != -1;
+ }
}