You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by wt...@apache.org on 2011/10/22 07:02:52 UTC

svn commit: r1187651 - /camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java

Author: wtam
Date: Sat Oct 22 05:02:52 2011
New Revision: 1187651

URL: http://svn.apache.org/viewvc?rev=1187651&view=rev
Log:
Make CxfRsEndpoint implement Serivce so that it is consistent with CxfEndpoint. Cleanup header/binding strategy setters/getters

Modified:
    camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java

Modified: camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java?rev=1187651&r1=1187650&r2=1187651&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java (original)
+++ camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java Sat Oct 22 05:02:52 2011
@@ -26,6 +26,7 @@ import org.apache.camel.Component;
 import org.apache.camel.Consumer;
 import org.apache.camel.Processor;
 import org.apache.camel.Producer;
+import org.apache.camel.Service;
 import org.apache.camel.component.cxf.CxfEndpointUtils;
 import org.apache.camel.impl.DefaultEndpoint;
 import org.apache.camel.spi.HeaderFilterStrategy;
@@ -38,7 +39,7 @@ import org.apache.cxf.jaxrs.client.JAXRS
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class CxfRsEndpoint extends DefaultEndpoint implements HeaderFilterStrategyAware {
+public class CxfRsEndpoint extends DefaultEndpoint implements HeaderFilterStrategyAware, Service {
     private static final Logger LOG = LoggerFactory.getLogger(CxfRsEndpoint.class);
 
     protected Bus bus;
@@ -52,7 +53,6 @@ public class CxfRsEndpoint extends Defau
     private boolean throwExceptionOnFailure = true;
     private int maxClientCacheSize = 10;
     
-    private AtomicBoolean bindingInitialized = new AtomicBoolean(false);
     private AtomicBoolean getBusHasBeenCalled = new AtomicBoolean(false);
 
     private boolean isSetDefaultBus;
@@ -94,18 +94,11 @@ public class CxfRsEndpoint extends Defau
     }
 
     public HeaderFilterStrategy getHeaderFilterStrategy() {
-        if (headerFilterStrategy == null) {
-            headerFilterStrategy = new CxfRsHeaderFilterStrategy();
-            LOG.debug("Create default header filter strategy {}", headerFilterStrategy);
-        }
         return headerFilterStrategy;
     }
 
     public void setHeaderFilterStrategy(HeaderFilterStrategy strategy) {
         headerFilterStrategy = strategy;
-        if (binding instanceof HeaderFilterStrategyAware) {
-            ((HeaderFilterStrategyAware) binding).setHeaderFilterStrategy(headerFilterStrategy);
-        }
     }
 
     public Consumer createConsumer(Processor processor) throws Exception {
@@ -122,19 +115,9 @@ public class CxfRsEndpoint extends Defau
 
     public void setBinding(CxfRsBinding binding) {
         this.binding = binding;
-        bindingInitialized.set(false);
     }
 
-    public synchronized CxfRsBinding getBinding() {
-        if (binding == null) {
-            binding = new DefaultCxfRsBinding();
-            LOG.debug("Create default CXF Binding {}", binding);
-        }
-
-        if (!bindingInitialized.getAndSet(true) && binding instanceof HeaderFilterStrategyAware) {
-            ((HeaderFilterStrategyAware) binding).setHeaderFilterStrategy(getHeaderFilterStrategy());
-        }
-
+    public CxfRsBinding getBinding() {
         return binding;
     }
     
@@ -257,4 +240,22 @@ public class CxfRsEndpoint extends Defau
     public boolean isSetDefaultBus() {
         return isSetDefaultBus;
     }
+    
+    @Override
+    protected void doStart() throws Exception {
+        if (headerFilterStrategy == null) {
+            headerFilterStrategy = new CxfRsHeaderFilterStrategy();
+        }
+        if (binding == null) {
+            binding = new DefaultCxfRsBinding();
+        }
+        if (binding instanceof HeaderFilterStrategyAware) {
+            ((HeaderFilterStrategyAware) binding).setHeaderFilterStrategy(getHeaderFilterStrategy());
+        }
+    }
+
+    @Override
+    protected void doStop() throws Exception {
+        // noop
+    }
 }