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 2010/08/12 18:50:48 UTC
svn commit: r984862 - in /cxf/trunk/rt/frontend/jaxrs/src/main:
java/org/apache/cxf/jaxrs/AbstractJAXRSFactoryBean.java
java/org/apache/cxf/jaxrs/JAXRSBindingFactory.java
resources/META-INF/cxf/cxf-extension-jaxrs-binding.xml
Author: dkulp
Date: Thu Aug 12 16:50:47 2010
New Revision: 984862
URL: http://svn.apache.org/viewvc?rev=984862&view=rev
Log:
[CXF-2936] Change the registration of the JAXRS binding to be internal
to the factory. Reduces the spring stuff as well as makes it so
it's NOT required to import the cxf-extension-jaxrs-binding.xml
file.
Modified:
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/AbstractJAXRSFactoryBean.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSBindingFactory.java
cxf/trunk/rt/frontend/jaxrs/src/main/resources/META-INF/cxf/cxf-extension-jaxrs-binding.xml
Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/AbstractJAXRSFactoryBean.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/AbstractJAXRSFactoryBean.java?rev=984862&r1=984861&r2=984862&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/AbstractJAXRSFactoryBean.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/AbstractJAXRSFactoryBean.java Thu Aug 12 16:50:47 2010
@@ -30,6 +30,8 @@ import java.util.logging.Logger;
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.Response;
+
+import org.apache.cxf.Bus;
import org.apache.cxf.BusException;
import org.apache.cxf.binding.BindingConfiguration;
import org.apache.cxf.binding.BindingFactory;
@@ -86,6 +88,27 @@ public class AbstractJAXRSFactoryBean ex
setBindingId(JAXRSBindingFactory.JAXRS_BINDING_ID);
}
+ public Bus getBus() {
+ Bus b = super.getBus();
+ checkBindingFactory(bus);
+ return b;
+ }
+
+ private void checkBindingFactory(Bus bus) {
+ BindingFactoryManager bfm = bus.getExtension(BindingFactoryManager.class);
+ try {
+ bfm.getBindingFactory(JAXRSBindingFactory.JAXRS_BINDING_ID);
+ } catch (BusException b) {
+ //not registered, let's register one
+ bfm.registerBindingFactory(JAXRSBindingFactory.JAXRS_BINDING_ID,
+ new JAXRSBindingFactory(bus));
+ }
+ }
+
+ public void setBus(Bus bus) {
+ super.setBus(bus);
+ checkBindingFactory(bus);
+ }
/*
* EndpointInfo contains information form WSDL's physical part such as
Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSBindingFactory.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSBindingFactory.java?rev=984862&r1=984861&r2=984862&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSBindingFactory.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSBindingFactory.java Thu Aug 12 16:50:47 2010
@@ -19,6 +19,7 @@
package org.apache.cxf.jaxrs;
+import org.apache.cxf.Bus;
import org.apache.cxf.binding.AbstractBindingFactory;
import org.apache.cxf.binding.Binding;
import org.apache.cxf.binding.xml.XMLBinding;
@@ -38,6 +39,9 @@ public class JAXRSBindingFactory extends
public JAXRSBindingFactory() {
}
+ public JAXRSBindingFactory(Bus b) {
+ super(b);
+ }
public Binding createBinding(BindingInfo bi) {
XMLBinding binding = new XMLBinding(bi);
Modified: cxf/trunk/rt/frontend/jaxrs/src/main/resources/META-INF/cxf/cxf-extension-jaxrs-binding.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/resources/META-INF/cxf/cxf-extension-jaxrs-binding.xml?rev=984862&r1=984861&r2=984862&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/resources/META-INF/cxf/cxf-extension-jaxrs-binding.xml (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/resources/META-INF/cxf/cxf-extension-jaxrs-binding.xml Thu Aug 12 16:50:47 2010
@@ -23,15 +23,7 @@
xmlns:foo="http://cxf.apache.org/configuration/foo"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
-
- <bean class="org.apache.cxf.jaxrs.JAXRSBindingFactory"
- id="org.apache.cxf.jaxrs.JAXRSBindingFactory"
- lazy-init="true">
- <property name="activationNamespaces">
- <set>
- <value>http://apache.org/cxf/binding/jaxrs</value>
- </set>
- </property>
- <property name="bus" ref="cxf"/>
- </bean>
+
+ <!-- Nothing needed now. Leave file for 2.2.x for compatibility -->
+
</beans>