You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2010/07/27 13:23:27 UTC
svn commit: r979644 - in /camel/trunk/components/camel-cxf/src:
main/java/org/apache/camel/component/cxf/
main/java/org/apache/camel/component/cxf/jaxrs/
test/java/org/apache/camel/component/cxf/
test/java/org/apache/camel/component/cxf/jaxrs/
Author: ningjiang
Date: Tue Jul 27 11:23:27 2010
New Revision: 979644
URL: http://svn.apache.org/viewvc?rev=979644&view=rev
Log:
CAMEL-2997 Made camel-cxfrs endpoint's URI to be unique
Modified:
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsComponent.java
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfConsumerStartTwiceTest.java
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpointTest.java
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsRouterTest.java
Modified: camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java?rev=979644&r1=979643&r2=979644&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java (original)
+++ camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java Tue Jul 27 11:23:27 2010
@@ -106,8 +106,8 @@ public class CxfEndpoint extends Default
setAddress(remaining);
}
- // This path is for CxfComponent setting the EndpointUri
- void updateEndpointUri(String endpointUri) {
+ // This method is for CxfComponent setting the EndpointUri
+ protected void updateEndpointUri(String endpointUri) {
super.setEndpointUri(endpointUri);
}
Modified: camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsComponent.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsComponent.java?rev=979644&r1=979643&r2=979644&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsComponent.java (original)
+++ camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsComponent.java Tue Jul 27 11:23:27 2010
@@ -22,6 +22,7 @@ import java.util.Map;
import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
import org.apache.camel.component.cxf.CxfConstants;
+import org.apache.camel.component.cxf.CxfEndpoint;
import org.apache.camel.impl.HeaderFilterStrategyComponent;
import org.apache.camel.util.CamelContextHelper;
import org.apache.camel.util.CastUtils;
@@ -74,4 +75,10 @@ public class CxfRsComponent extends Head
setEndpointHeaderFilterStrategy(answer);
return answer;
}
+
+ @Override
+ protected void afterConfiguration(String uri, String remaining, Endpoint endpoint, Map<String, Object> parameters) throws Exception {
+ CxfRsEndpoint cxfRsEndpoint = (CxfRsEndpoint) endpoint;
+ cxfRsEndpoint.updateEndpointUri(uri);
+ }
}
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=979644&r1=979643&r2=979644&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 Tue Jul 27 11:23:27 2010
@@ -45,15 +45,23 @@ public class CxfRsEndpoint extends Defau
private HeaderFilterStrategy headerFilterStrategy;
private CxfRsBinding binding;
private boolean httpClientAPI = true;
+ private String address;
private AtomicBoolean bindingInitialized = new AtomicBoolean(false);
public CxfRsEndpoint(String endpointUri, CamelContext camelContext) {
- super(endpointUri, camelContext);
+ super(endpointUri, camelContext);
+ setAddress(endpointUri);
}
public CxfRsEndpoint(String endpointUri, Component component) {
super(endpointUri, component);
+ setAddress(endpointUri);
+ }
+
+ // This method is for CxfRsComponent setting the EndpointUri
+ protected void updateEndpointUri(String endpointUri) {
+ super.setEndpointUri(endpointUri);
}
public void setParameters(Map<String, String> param) {
@@ -130,14 +138,14 @@ public class CxfRsEndpoint extends Defau
protected void setupJAXRSServerFactoryBean(JAXRSServerFactoryBean sfb) {
// address
- sfb.setAddress(getEndpointUri());
+ sfb.setAddress(getAddress());
sfb.setResourceClasses(CastUtils.cast(getResourceClasses(), Class.class));
sfb.setStart(false);
}
protected void setupJAXRSClientFactoryBean(JAXRSClientFactoryBean cfb) {
// address
- cfb.setAddress(getEndpointUri());
+ cfb.setAddress(getAddress());
if (getResourceClasses() != null) {
cfb.setResourceClass(getResourceClasses().get(0));
}
@@ -167,4 +175,12 @@ public class CxfRsEndpoint extends Defau
setResourceClasses(Arrays.asList(classes));
}
+ public void setAddress(String address) {
+ this.address = address;
+ }
+
+ public String getAddress() {
+ return address;
+ }
+
}
Modified: camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfConsumerStartTwiceTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfConsumerStartTwiceTest.java?rev=979644&r1=979643&r2=979644&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfConsumerStartTwiceTest.java (original)
+++ camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfConsumerStartTwiceTest.java Tue Jul 27 11:23:27 2010
@@ -49,7 +49,7 @@ public class CxfConsumerStartTwiceTest e
fail("Expect to catch an exception here");
} catch (Exception ex) {
assertTrue(ex.getMessage().endsWith(
- "Multiple consumers for the same endpoint is not allowed: Endpoint[cxf:http://localhost:7070/test?serviceClass=org.apache.camel.component.cxf.HelloService]"));
+ "Multiple consumers for the same endpoint is not allowed: Endpoint[cxf://http://localhost:7070/test?serviceClass=org.apache.camel.component.cxf.HelloService]"));
}
context.stop();
Modified: camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpointTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpointTest.java?rev=979644&r1=979643&r2=979644&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpointTest.java (original)
+++ camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpointTest.java Tue Jul 27 11:23:27 2010
@@ -24,13 +24,14 @@ public class CxfRsEndpointTest extends C
@Test
public void testCreateCxfRsEndpoint() throws Exception {
- CxfRsComponent component = new CxfRsComponent(context);
- CxfRsEndpoint endpoint = (CxfRsEndpoint)component.createEndpoint("cxfrs://http://localhost:9000"
+ String endpointUri = "cxfrs://http://localhost:9000"
+ "?resourceClasses=org.apache.camel.component.cxf.jaxrs.testbean.CustomerService, "
- + "java.lang.String ; org.apache.camel.component.cxf.jaxrs.testbean.Order");
+ + "java.lang.String ; org.apache.camel.component.cxf.jaxrs.testbean.Order";
+ CxfRsComponent component = new CxfRsComponent(context);
+ CxfRsEndpoint endpoint = (CxfRsEndpoint)component.createEndpoint(endpointUri);
assertNotNull("The endpoint should not be null ", endpoint);
- assertEquals("Get a wrong address ", "http://localhost:9000", endpoint.getEndpointUri());
+ assertEquals("Get a wrong address ", endpointUri, endpoint.getEndpointUri());
assertEquals("Get a wrong size of resouces classes", 3, endpoint.getResourceClasses().size());
assertEquals("Get a wrong resources class", CustomerService.class, endpoint.getResourceClasses().get(0));
}
@@ -41,7 +42,7 @@ public class CxfRsEndpointTest extends C
CxfRsEndpoint endpoint = (CxfRsEndpoint)component.createEndpoint("cxfrs://http://localhost:9000/templatetest/TID/ranges/start=0;end=1?"
+ "httpClientAPI=true&q1=11&q2=12");
- assertEquals("Get a wrong URI ", "http://localhost:9000/templatetest/TID/ranges/start=0;end=1", endpoint.getEndpointUri());
+ assertEquals("Get a wrong URI ", "cxfrs://http://localhost:9000/templatetest/TID/ranges/start=0;end=1?httpClientAPI=true&q1=11&q2=12", endpoint.getEndpointUri());
assertEquals("Get a wrong usingClientAPI option", true, endpoint.isHttpClientAPI());
assertNotNull("The Parameter should not be null" + endpoint.getParameters());
assertEquals("Get a wrong parameter map", "{q1=11, q2=12}", endpoint.getParameters().toString());
Modified: camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsRouterTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsRouterTest.java?rev=979644&r1=979643&r2=979644&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsRouterTest.java (original)
+++ camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsRouterTest.java Tue Jul 27 11:23:27 2010
@@ -39,6 +39,16 @@ public class CxfRsRouterTest extends Cam
return new ClassPathXmlApplicationContext("org/apache/camel/component/cxf/jaxrs/CxfRsSpringRouter.xml");
}
+ @Test
+ public void testEndpointUris() throws Exception {
+ CxfRsEndpoint cxfRsEndpoint = context.getEndpoint("cxfrs://bean://rsServer", CxfRsEndpoint.class);
+ assertEquals("Get a wrong endpoint uri", "cxfrs://bean://rsServer", cxfRsEndpoint.getEndpointUri());
+
+ cxfRsEndpoint = context.getEndpoint("cxfrs://bean://rsClient", CxfRsEndpoint.class);
+ assertEquals("Get a wrong endpoint uri", "cxfrs://bean://rsClient", cxfRsEndpoint.getEndpointUri());
+
+ }
+
@Test
public void testGetCustomer() throws Exception {
HttpGet get = new HttpGet("http://localhost:9000/route/customerservice/customers/123");