You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by di...@apache.org on 2005/01/31 22:56:20 UTC

svn commit: r149310 - geronimo/trunk/specs/activation/src/java/javax/activation/MailcapCommandMap.java

Author: dims
Date: Mon Jan 31 13:56:18 2005
New Revision: 149310

URL: http://svn.apache.org/viewcvs?view=rev&rev=149310
Log:
trying to get axis working with our activation jar and SUN's javamail jar

- drop the leading / before META-INF
- When user code is looking for multipart/related, look for that first and then fall back to multipart/*


Modified:
    geronimo/trunk/specs/activation/src/java/javax/activation/MailcapCommandMap.java

Modified: geronimo/trunk/specs/activation/src/java/javax/activation/MailcapCommandMap.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/activation/src/java/javax/activation/MailcapCommandMap.java?view=diff&r1=149309&r2=149310
==============================================================================
--- geronimo/trunk/specs/activation/src/java/javax/activation/MailcapCommandMap.java (original)
+++ geronimo/trunk/specs/activation/src/java/javax/activation/MailcapCommandMap.java Mon Jan 31 13:56:18 2005
@@ -31,6 +31,8 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Collection;
+import java.util.Collections;
 
 /**
  * @version $Rev$ $Date$
@@ -59,7 +61,7 @@
         // process /META-INF/mailcap resources
         try {
             cl = MailcapCommandMap.class.getClassLoader();
-            Enumeration e = cl.getResources("/META-INF/mailcap");
+            Enumeration e = cl.getResources("META-INF/mailcap");
             while (e.hasMoreElements()) {
                 url = ((URL) e.nextElement());
                 try {
@@ -271,11 +273,15 @@
     }
 
     public synchronized CommandInfo getCommand(String mimeType, String cmdName) {
-        Map commands = (Map) preferredCommands.get(mimeType.toLowerCase());
-        if (commands == null) {
-            return null;
-        }
-        return (CommandInfo) commands.get(cmdName.toLowerCase());
+        HashMap commands = (HashMap) preferredCommands.get(mimeType.toLowerCase());
+        if(commands != null)
+            return (CommandInfo) commands.get(cmdName.toLowerCase());
+        int i = mimeType.indexOf('/');
+        String mimeType2 = mimeType.substring(0, i + 1) + "*";
+        HashMap commands2 = (HashMap) preferredCommands.get(mimeType2.toLowerCase());
+        if(commands2 != null)
+            return (CommandInfo) commands2.get(cmdName.toLowerCase());
+        return null;
     }
 
     public synchronized DataContentHandler createDataContentHandler(String mimeType) {