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
+    }
 }


Reply via email to