servicemix-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ff...@apache.org
Subject svn commit: r801503 - /servicemix/smx4/specs/trunk/jaxb-api-2.1/src/main/java/javax/xml/bind/ContextFinder.java
Date Thu, 06 Aug 2009 03:02:05 GMT
Author: ffang
Date: Thu Aug  6 03:02:05 2009
New Revision: 801503

URL: http://svn.apache.org/viewvc?rev=801503&view=rev
Log:
[SMX4-331]contextFinder do not invoke createContext(String, ClassLoader) method

Modified:
    servicemix/smx4/specs/trunk/jaxb-api-2.1/src/main/java/javax/xml/bind/ContextFinder.java

Modified: servicemix/smx4/specs/trunk/jaxb-api-2.1/src/main/java/javax/xml/bind/ContextFinder.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api-2.1/src/main/java/javax/xml/bind/ContextFinder.java?rev=801503&r1=801502&r2=801503&view=diff
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api-2.1/src/main/java/javax/xml/bind/ContextFinder.java
(original)
+++ servicemix/smx4/specs/trunk/jaxb-api-2.1/src/main/java/javax/xml/bind/ContextFinder.java
Thu Aug  6 03:02:05 2009
@@ -32,12 +32,13 @@
 
     public static JAXBContext find(String contextPath, ClassLoader classLoader, Map properties)
throws JAXBException {
         String className = null;
+        // Patch for bug https://issues.apache.org/activemq/browse/SMX4-329
         if (contextPath == null || contextPath.length() == 0) {
-            throw new JAXBException("Invalid contextPath");
-        }
+            throw new JAXBException("Invalid contextPath (empty or null)");
+  	    }
         String[] packages = contextPath.split(":");
         if (packages == null || packages.length == 0) {
-            throw new JAXBException("Invalid contextPath");
+            throw new JAXBException("Invalid contextPath (no packages)");
         }
         for (String pkg : packages) {
             String url = pkg.replace('.', '/') + "/jaxb.properties";
@@ -61,6 +62,13 @@
             Method m = spi.getMethod("createContext", new Class[] { String.class, ClassLoader.class,
Map.class });
             return (JAXBContext) m.invoke(null, new Object[] { contextPath, classLoader,
properties });
         } catch (Throwable t) {
+            // Ignored
+        }
+        // Fallback for JAXB 1.0 compatibility (at least JAXB TCK tests are using that feature)
+        try {
+            Method m = spi.getMethod("createContext", new Class[] { String.class, ClassLoader.class,
});
+            return (JAXBContext) m.invoke(null, new Object[] { contextPath, classLoader });
+        } catch (Throwable t) {
             throw new JAXBException("Unable to create context", t);
         }
     }
@@ -170,3 +178,4 @@
 
 
 }
+



Mime
View raw message