You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2013/08/12 18:55:08 UTC
svn commit: r1513193 - in /cxf/trunk/core/src:
main/java/org/apache/cxf/bus/blueprint/ main/java/org/apache/cxf/internal/
main/resources/OSGI-INF/blueprint/ test/java/org/apache/cxf/bus/blueprint/
test/java/org/apache/cxf/internal/
Author: dkulp
Date: Mon Aug 12 16:55:08 2013
New Revision: 1513193
URL: http://svn.apache.org/r1513193
Log:
Combine the two namespace handlers into one
Removed:
cxf/trunk/core/src/main/java/org/apache/cxf/bus/blueprint/CXFCoreNamespaceHandler.java
cxf/trunk/core/src/main/resources/OSGI-INF/blueprint/cxf-api.xml
cxf/trunk/core/src/test/java/org/apache/cxf/bus/blueprint/CXFCoreNamespaceHandlerTest.java
Modified:
cxf/trunk/core/src/main/java/org/apache/cxf/internal/CXFAPINamespaceHandler.java
cxf/trunk/core/src/main/resources/OSGI-INF/blueprint/cxf-core.xml
cxf/trunk/core/src/test/java/org/apache/cxf/internal/CXFAPINamespaceHandlerTest.java
Modified: cxf/trunk/core/src/main/java/org/apache/cxf/internal/CXFAPINamespaceHandler.java
URL: http://svn.apache.org/viewvc/cxf/trunk/core/src/main/java/org/apache/cxf/internal/CXFAPINamespaceHandler.java?rev=1513193&r1=1513192&r2=1513193&view=diff
==============================================================================
--- cxf/trunk/core/src/main/java/org/apache/cxf/internal/CXFAPINamespaceHandler.java (original)
+++ cxf/trunk/core/src/main/java/org/apache/cxf/internal/CXFAPINamespaceHandler.java Mon Aug 12 16:55:08 2013
@@ -27,6 +27,12 @@ import org.w3c.dom.Node;
import org.apache.aries.blueprint.NamespaceHandler;
import org.apache.aries.blueprint.ParserContext;
+import org.apache.aries.blueprint.mutable.MutableBeanMetadata;
+import org.apache.cxf.bus.blueprint.BusDefinitionParser;
+import org.apache.cxf.configuration.blueprint.SimpleBPBeanDefinitionParser;
+import org.apache.cxf.feature.FastInfosetFeature;
+import org.apache.cxf.feature.LoggingFeature;
+import org.apache.cxf.workqueue.AutomaticWorkQueueImpl;
import org.osgi.service.blueprint.reflect.ComponentMetadata;
import org.osgi.service.blueprint.reflect.Metadata;
@@ -44,12 +50,41 @@ public class CXFAPINamespaceHandler impl
return getClass().getClassLoader().getResource("schemas/configuration/security.xsd");
} else if ("http://schemas.xmlsoap.org/wsdl/".equals(namespace)) {
return getClass().getClassLoader().getResource("schemas/wsdl/wsdl.xsd");
+ } else if ("http://cxf.apache.org/blueprint/core".equals(namespace)) {
+ return getClass().getClassLoader().getResource("schemas/blueprint/core.xsd");
}
return null;
}
public Metadata parse(Element element, ParserContext context) {
+ String s = element.getLocalName();
+ if ("bus".equals(s)) {
+ //parse bus
+ return new BusDefinitionParser().parse(element, context);
+ } else if ("logging".equals(s)) {
+ //logging feature
+ return new SimpleBPBeanDefinitionParser(LoggingFeature.class).parse(element, context);
+ } else if ("fastinfoset".equals(s)) {
+ //fastinfosetfeature
+ return new SimpleBPBeanDefinitionParser(FastInfosetFeature.class).parse(element, context);
+ } else if ("workqueue".equals(s)) {
+ return new SimpleBPBeanDefinitionParser(AutomaticWorkQueueImpl.class) {
+ public String getId(Element element, ParserContext context) {
+ String id = element.hasAttribute("id") ? element.getAttribute("id") : null;
+ if (id == null) {
+ id = "cxf.workqueue.";
+ id += element.hasAttribute("name") ? element.getAttribute("name") : "def";
+ }
+ return id;
+ }
+
+ protected void processNameAttribute(Element element, ParserContext ctx,
+ MutableBeanMetadata bean, String val) {
+ bean.addProperty("name", createValue(ctx, val));
+ }
+ } .parse(element, context);
+ }
return null;
}
Modified: cxf/trunk/core/src/main/resources/OSGI-INF/blueprint/cxf-core.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/core/src/main/resources/OSGI-INF/blueprint/cxf-core.xml?rev=1513193&r1=1513192&r2=1513193&view=diff
==============================================================================
--- cxf/trunk/core/src/main/resources/OSGI-INF/blueprint/cxf-core.xml (original)
+++ cxf/trunk/core/src/main/resources/OSGI-INF/blueprint/cxf-core.xml Mon Aug 12 16:55:08 2013
@@ -22,11 +22,32 @@
xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0"
xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd">
- <bean id="CXFCoreNamespaceHandler" class="org.apache.cxf.bus.blueprint.CXFCoreNamespaceHandler"/>
+ <bean id="CXFAPINamespaceHandler" class="org.apache.cxf.internal.CXFAPINamespaceHandler"/>
- <service ref="CXFCoreNamespaceHandler" interface="org.apache.aries.blueprint.NamespaceHandler">
+ <service ref="CXFAPINamespaceHandler" interface="org.apache.aries.blueprint.NamespaceHandler">
<service-properties>
<entry key="osgi.service.blueprint.namespace" value="http://cxf.apache.org/blueprint/core"/>
</service-properties>
+ </service>
+ <service ref="CXFAPINamespaceHandler" interface="org.apache.aries.blueprint.NamespaceHandler">
+ <service-properties>
+ <entry key="osgi.service.blueprint.namespace" value="http://cxf.apache.org/configuration/beans"/>
+ </service-properties>
+ </service>
+ <service ref="CXFAPINamespaceHandler" interface="org.apache.aries.blueprint.NamespaceHandler">
+ <service-properties>
+ <entry key="osgi.service.blueprint.namespace" value="http://cxf.apache.org/configuration/parameterized-types"/>
+ </service-properties>
</service>
+ <service ref="CXFAPINamespaceHandler" interface="org.apache.aries.blueprint.NamespaceHandler">
+ <service-properties>
+ <entry key="osgi.service.blueprint.namespace" value="http://cxf.apache.org/configuration/security"/>
+ </service-properties>
+ </service>
+ <!-- additional namespaces that are referenced by cxf configuration schemas -->
+ <service ref="CXFAPINamespaceHandler" interface="org.apache.aries.blueprint.NamespaceHandler">
+ <service-properties>
+ <entry key="osgi.service.blueprint.namespace" value="http://schemas.xmlsoap.org/wsdl/"/>
+ </service-properties>
+ </service>
</blueprint>
\ No newline at end of file
Modified: cxf/trunk/core/src/test/java/org/apache/cxf/internal/CXFAPINamespaceHandlerTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/core/src/test/java/org/apache/cxf/internal/CXFAPINamespaceHandlerTest.java?rev=1513193&r1=1513192&r2=1513193&view=diff
==============================================================================
--- cxf/trunk/core/src/test/java/org/apache/cxf/internal/CXFAPINamespaceHandlerTest.java (original)
+++ cxf/trunk/core/src/test/java/org/apache/cxf/internal/CXFAPINamespaceHandlerTest.java Mon Aug 12 16:55:08 2013
@@ -34,6 +34,7 @@ public class CXFAPINamespaceHandlerTest
assertNotNull(handler.getSchemaLocation("http://cxf.apache.org/configuration/parameterized-types"));
assertNotNull(handler.getSchemaLocation("http://cxf.apache.org/configuration/security"));
assertNotNull(handler.getSchemaLocation("http://schemas.xmlsoap.org/wsdl/"));
+ assertNotNull(handler.getSchemaLocation("http://cxf.apache.org/blueprint/core"));
}
}