[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