Author: thomas.diesler(a)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