Author: jboynes Date: Mon Jan 31 14:49:17 2005 New Revision: 149312 URL: http://svn.apache.org/viewcvs?view=rev&rev=149312 Log: strip parameters from mimeType when looking up commands
Modified: geronimo/trunk/specs/activation/src/java/javax/activation/MailcapCommandMap.java geronimo/trunk/specs/activation/src/test/javax/activation/MailcapCommandMapTest.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=149311&r2=149312 ============================================================================== --- geronimo/trunk/specs/activation/src/java/javax/activation/MailcapCommandMap.java (original) +++ geronimo/trunk/specs/activation/src/java/javax/activation/MailcapCommandMap.java Mon Jan 31 14:49:17 2005 @@ -271,12 +271,18 @@ } public synchronized CommandInfo getCommand(String mimeType, String cmdName) { + // strip any parameters from the supplied mimeType + int i = mimeType.indexOf(';'); + if (i != -1) { + mimeType = mimeType.substring(0, i).trim(); + } + // search for an exact match Map commands = (Map) preferredCommands.get(mimeType.toLowerCase()); if(commands != null) { return (CommandInfo) commands.get(cmdName.toLowerCase()); } - int i = mimeType.indexOf('/'); + i = mimeType.indexOf('/'); if (i == -1) { mimeType = mimeType + "/*"; } else { Modified: geronimo/trunk/specs/activation/src/test/javax/activation/MailcapCommandMapTest.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/activation/src/test/javax/activation/MailcapCommandMapTest.java?view=diff&r1=149311&r2=149312 ============================================================================== --- geronimo/trunk/specs/activation/src/test/javax/activation/MailcapCommandMapTest.java (original) +++ geronimo/trunk/specs/activation/src/test/javax/activation/MailcapCommandMapTest.java Mon Jan 31 14:49:17 2005 @@ -71,6 +71,13 @@ assertEquals("Star", info.getCommandClass()); } + public void testParameterizedMimeType() { + map.addMailcap("foo/bar ;; x-java-view=Bar"); + CommandInfo info = map.getCommand("foo/bar ; type=\"text/plain\"", "view"); + assertEquals("view", info.getCommandName()); + assertEquals("Bar", info.getCommandClass()); + } + protected void setUp() throws Exception { super.setUp(); map = new MailcapCommandMap();