[jboss-osgi-commits] JBoss-OSGI SVN: r93019 - in projects/jboss-osgi/projects/bundles/xml-binding/trunk: src/main/java/org/jboss/osgi/jbossxb/internal and 1 other directory.

jboss-osgi-commits at lists.jboss.org jboss-osgi-commits at lists.jboss.org
Mon Aug 31 04:42:05 EDT 2009


Author: thomas.diesler at jboss.com
Date: 2009-08-31 04:42:05 -0400 (Mon, 31 Aug 2009)
New Revision: 93019

Modified:
   projects/jboss-osgi/projects/bundles/xml-binding/trunk/pom.xml
   projects/jboss-osgi/projects/bundles/xml-binding/trunk/src/main/java/org/jboss/osgi/jbossxb/internal/XMLBindingActivator.java
Log:
Use jboss provided SAXParserFactory

Modified: projects/jboss-osgi/projects/bundles/xml-binding/trunk/pom.xml
===================================================================
--- projects/jboss-osgi/projects/bundles/xml-binding/trunk/pom.xml	2009-08-31 08:10:55 UTC (rev 93018)
+++ projects/jboss-osgi/projects/bundles/xml-binding/trunk/pom.xml	2009-08-31 08:42:05 UTC (rev 93019)
@@ -21,22 +21,22 @@
   <artifactId>jboss-osgi-xml-binding</artifactId>
   <packaging>bundle</packaging>
 
-  <version>2.0.1</version>
+  <version>2.0.1-SNAPSHOT</version>
 
   <!-- Parent -->
   <parent>
     <groupId>org.jboss.osgi</groupId>
     <artifactId>jboss-osgi-parent</artifactId>
-    <version>1.0.1</version>
+    <version>1.0.2-SNAPSHOT</version>
   </parent>
 
   <!-- Properties -->
   <properties>
     <version.jboss.xb>2.0.1.GA</version.jboss.xb>
     <version.javassist>3.9.0.GA</version.javassist>
-    <version.jboss.osgi.jaxb>2.1.10.SP1</version.jboss.osgi.jaxb>
+    <version.jboss.osgi.jaxb>2.1.10-SNAPSHOT</version.jboss.osgi.jaxb>
     <version.jboss.reflect>2.0.0.GA</version.jboss.reflect>
-    <version.osgi>r4v41</version.osgi>
+    <version.osgi>r4v42-20090728</version.osgi>
   </properties>
 
   <dependencies>

Modified: projects/jboss-osgi/projects/bundles/xml-binding/trunk/src/main/java/org/jboss/osgi/jbossxb/internal/XMLBindingActivator.java
===================================================================
--- projects/jboss-osgi/projects/bundles/xml-binding/trunk/src/main/java/org/jboss/osgi/jbossxb/internal/XMLBindingActivator.java	2009-08-31 08:10:55 UTC (rev 93018)
+++ projects/jboss-osgi/projects/bundles/xml-binding/trunk/src/main/java/org/jboss/osgi/jbossxb/internal/XMLBindingActivator.java	2009-08-31 08:42:05 UTC (rev 93019)
@@ -27,6 +27,7 @@
 
 import org.jboss.osgi.common.log.LogServiceTracker;
 import org.jboss.osgi.jbossxb.XMLBindingService;
+import org.jboss.osgi.xml.XMLParserCapability;
 import org.jboss.xb.binding.JBossXBException;
 import org.jboss.xb.binding.parser.sax.SaxJBossXBParser;
 import org.osgi.framework.BundleActivator;
@@ -49,20 +50,25 @@
    {
       log = new LogServiceTracker(context);
 
+      
       ServiceTracker saxTracker = new ServiceTracker(context, SAXParserFactory.class.getName(), null)
       {
          @Override
          public Object addingService(ServiceReference reference)
          {
+            String provider = (String)reference.getProperty(XMLParserCapability.PARSER_PROVIDER);
+            boolean hasJBossSAXParser = XMLParserCapability.PROVIDER_JBOSS_OSGI.equals(provider);
+            boolean hasXMLBindingService = context.getServiceReference(XMLBindingService.class.getName()) != null;
+            
             SAXParserFactory saxFactory = (SAXParserFactory)super.addingService(reference);
-            if (context.getServiceReference(XMLBindingService.class.getName()) == null)
+            if (hasXMLBindingService == false && hasJBossSAXParser == true)
             {
                log.log(LogService.LOG_DEBUG, "JBossXB SAXParserFactory: " + saxFactory);
 
                ClassLoader ctxLoader = Thread.currentThread().getContextClassLoader();
                try
                {
-                  Thread.currentThread().setContextClassLoader(getClass().getClassLoader());
+                  Thread.currentThread().setContextClassLoader(saxFactory.getClass().getClassLoader());
                   try
                   {
                      // SaxJBossXBParser initializes the SAXParserFactory in a static block



More information about the jboss-osgi-commits mailing list