You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2009/04/27 18:34:57 UTC
svn commit: r769053 - in /camel/trunk:
camel-core/src/main/java/org/apache/camel/builder/
camel-core/src/main/java/org/apache/camel/model/
camel-core/src/main/resources/org/apache/camel/model/
camel-core/src/test/java/org/apache/camel/processor/ compon...
Author: davsclaus
Date: Mon Apr 27 16:34:57 2009
New Revision: 769053
URL: http://svn.apache.org/viewvc?rev=769053&view=rev
Log:
CAMEL-1558: Added interceptEndpoint to intercept when an exchange is being sent to the given endpoint.
Added:
camel/trunk/camel-core/src/main/java/org/apache/camel/model/InterceptSendToEndpointDefinition.java (contents, props changed)
- copied, changed from r768976, camel/trunk/camel-core/src/main/java/org/apache/camel/model/InterceptEndpointDefinition.java
Removed:
camel/trunk/camel-core/src/main/java/org/apache/camel/model/InterceptEndpointDefinition.java
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java
camel/trunk/camel-core/src/main/java/org/apache/camel/model/RoutesDefinition.java
camel/trunk/camel-core/src/main/resources/org/apache/camel/model/jaxb.index
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/InterceptEndpointTest.java
camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelContextFactoryBean.java
camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/handler/CamelNamespaceHandler.java
camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/interceptendpoint.xml
camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/interceptendpointskip.xml
camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/interceptendpointwhen.xml
camel/trunk/tests/camel-itest/src/test/resources/org/apache/camel/itest/http/InterceptEndpointTest-context.xml
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java?rev=769053&r1=769052&r2=769053&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java Mon Apr 27 16:34:57 2009
@@ -167,15 +167,14 @@
}
/**
- * Applies a route for an interceptor if an exchange is routed
- * to the given endpoint
+ * Applies a route for an interceptor if an exchange is send to the given endpoint
*
* @param uri endpoint uri
* @return the builder
*/
- public InterceptDefinition interceptEndpoint(String uri) {
+ public InterceptDefinition interceptSendToEndpoint(String uri) {
routeCollection.setCamelContext(getContext());
- return routeCollection.interceptEndpoint(uri);
+ return routeCollection.interceptSendToEndpoint(uri);
}
/**
Copied: camel/trunk/camel-core/src/main/java/org/apache/camel/model/InterceptSendToEndpointDefinition.java (from r768976, camel/trunk/camel-core/src/main/java/org/apache/camel/model/InterceptEndpointDefinition.java)
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/InterceptSendToEndpointDefinition.java?p2=camel/trunk/camel-core/src/main/java/org/apache/camel/model/InterceptSendToEndpointDefinition.java&p1=camel/trunk/camel-core/src/main/java/org/apache/camel/model/InterceptEndpointDefinition.java&r1=768976&r2=769053&rev=769053&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/model/InterceptEndpointDefinition.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/InterceptSendToEndpointDefinition.java Mon Apr 27 16:34:57 2009
@@ -32,13 +32,13 @@
import org.apache.camel.util.ProcessorDefinitionHelper;
/**
- * Represents an XML <interceptEndpoint/> element
+ * Represents an XML <interceptToEndpoint/> element
*
* @version $Revision$
*/
-@XmlRootElement(name = "interceptEndpoint")
+@XmlRootElement(name = "interceptToEndpoint")
@XmlAccessorType(XmlAccessType.FIELD)
-public class InterceptEndpointDefinition extends InterceptDefinition {
+public class InterceptSendToEndpointDefinition extends InterceptDefinition {
// TODO: Support lookup endpoint by ref (requires a bit more work)
// TODO: Support wildcards for endpoints so you can match by scheme, eg jms:*
@@ -46,10 +46,10 @@
@XmlAttribute(required = true)
private String uri;
- public InterceptEndpointDefinition() {
+ public InterceptSendToEndpointDefinition() {
}
- public InterceptEndpointDefinition(String uri) {
+ public InterceptSendToEndpointDefinition(String uri) {
this.uri = uri;
}
Propchange: camel/trunk/camel-core/src/main/java/org/apache/camel/model/InterceptSendToEndpointDefinition.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: camel/trunk/camel-core/src/main/java/org/apache/camel/model/InterceptSendToEndpointDefinition.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/RoutesDefinition.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/RoutesDefinition.java?rev=769053&r1=769052&r2=769053&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/model/RoutesDefinition.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/RoutesDefinition.java Mon Apr 27 16:34:57 2009
@@ -174,13 +174,12 @@
List<InterceptDefinition> intercepts = getIntercepts();
for (InterceptDefinition intercept : intercepts) {
-
- if (intercept instanceof InterceptEndpointDefinition) {
+ if (intercept instanceof InterceptSendToEndpointDefinition) {
// special intercept for intercepting sending to an endpoint
- InterceptEndpointDefinition ied = (InterceptEndpointDefinition) intercept;
+ InterceptSendToEndpointDefinition sendTo = (InterceptSendToEndpointDefinition) intercept;
// init interceptor by letting it proxy the real endpoint
- ied.proxyEndpoint(getCamelContext());
- route.addOutput(ied);
+ sendTo.proxyEndpoint(getCamelContext());
+ route.addOutput(sendTo);
} else {
// regular interceptor
// need to create a proxy for this one and use the
@@ -221,13 +220,13 @@
/**
* Creates and adds an interceptor that is triggered when an exchange is
- * routed to the given endpoint
+ * send to the given endpoint
*
* @param uri uri of the endpoint
* @return the builder
*/
- public InterceptEndpointDefinition interceptEndpoint(final String uri) {
- InterceptEndpointDefinition answer = new InterceptEndpointDefinition(uri);
+ public InterceptSendToEndpointDefinition interceptSendToEndpoint(final String uri) {
+ InterceptSendToEndpointDefinition answer = new InterceptSendToEndpointDefinition(uri);
getIntercepts().add(answer);
return answer;
}
Modified: camel/trunk/camel-core/src/main/resources/org/apache/camel/model/jaxb.index
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/resources/org/apache/camel/model/jaxb.index?rev=769053&r1=769052&r2=769053&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/resources/org/apache/camel/model/jaxb.index (original)
+++ camel/trunk/camel-core/src/main/resources/org/apache/camel/model/jaxb.index Mon Apr 27 16:34:57 2009
@@ -30,7 +30,7 @@
InOnlyDefinition
InOutDefinition
InterceptDefinition
-InterceptEndpointDefinition
+InterceptSendToEndpointDefinition
LoadBalanceDefinition
LoopDefinition
MarshalDefinition
Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/InterceptEndpointTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/InterceptEndpointTest.java?rev=769053&r1=769052&r2=769053&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/InterceptEndpointTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/InterceptEndpointTest.java Mon Apr 27 16:34:57 2009
@@ -40,7 +40,7 @@
// this endpoint, its intercepted and routed with this detour route beforehand
// afterwards its send to the original intended destination. So this is kinda AOP before.
// That means mock:foo will receive the message (Bye World).
- interceptEndpoint("mock:foo").to("mock:detour").transform(constant("Bye World"));
+ interceptSendToEndpoint("mock:foo").to("mock:detour").transform(constant("Bye World"));
from("direct:first")
.to("mock:bar")
@@ -69,7 +69,7 @@
// START SNIPPET: e2
// we can also attach a predicate to the endpoint interceptor. So in this example the exchange is
// only intercepted if the body is Hello World
- interceptEndpoint("mock:foo").when(body().isEqualTo("Hello World")).to("mock:detour").transform(constant("Bye World"));
+ interceptSendToEndpoint("mock:foo").when(body().isEqualTo("Hello World")).to("mock:detour").transform(constant("Bye World"));
from("direct:second")
.to("mock:bar")
@@ -103,7 +103,7 @@
// That means that mock:foo will NOT receive the message, but the message
// is skipped and continued in the original route, so mock:result will receive
// the message.
- interceptEndpoint("mock:foo").transform(constant("Bye World")).to("mock:detour").stop();
+ interceptSendToEndpoint("mock:foo").transform(constant("Bye World")).to("mock:detour").stop();
from("direct:third")
.to("mock:bar")
@@ -130,7 +130,7 @@
context.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
- interceptEndpoint("direct:start").to("mock:detour").transform(constant("Bye World"));
+ interceptSendToEndpoint("direct:start").to("mock:detour").transform(constant("Bye World"));
from("direct:start")
.to("mock:foo")
Modified: camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelContextFactoryBean.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelContextFactoryBean.java?rev=769053&r1=769052&r2=769053&view=diff
==============================================================================
--- camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelContextFactoryBean.java (original)
+++ camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelContextFactoryBean.java Mon Apr 27 16:34:57 2009
@@ -17,7 +17,6 @@
package org.apache.camel.spring;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
@@ -45,7 +44,7 @@
import org.apache.camel.model.RouteContainer;
import org.apache.camel.model.RouteDefinition;
import org.apache.camel.model.TransactedDefinition;
-import org.apache.camel.model.InterceptEndpointDefinition;
+import org.apache.camel.model.InterceptSendToEndpointDefinition;
import org.apache.camel.model.config.PropertiesDefinition;
import org.apache.camel.model.dataformat.DataFormatsDefinition;
import org.apache.camel.processor.interceptor.Debugger;
@@ -121,8 +120,8 @@
private List<OnExceptionDefinition> onExceptions = new ArrayList<OnExceptionDefinition>();
@XmlElement(name = "intercept", required = false)
private List<InterceptDefinition> intercepts = new ArrayList<InterceptDefinition>();
- @XmlElement(name = "interceptEndpoint", required = false)
- private List<InterceptEndpointDefinition> interceptEndpoints = new ArrayList<InterceptEndpointDefinition>();
+ @XmlElement(name = "interceptSendToEndpoint", required = false)
+ private List<InterceptSendToEndpointDefinition> interceptSendToEndpoints = new ArrayList<InterceptSendToEndpointDefinition>();
@XmlElement(name = "route", required = false)
private List<RouteDefinition> routes = new ArrayList<RouteDefinition>();
@XmlTransient
@@ -317,7 +316,7 @@
}
}
- for (InterceptEndpointDefinition intercept : interceptEndpoints) {
+ for (InterceptSendToEndpointDefinition intercept : interceptSendToEndpoints) {
// special intercept for intercepting sending to an endpoint
// init interceptor by letting it proxy the real endpoint
@@ -454,12 +453,12 @@
this.intercepts = intercepts;
}
- public List<InterceptEndpointDefinition> getInterceptEndpoints() {
- return interceptEndpoints;
+ public List<InterceptSendToEndpointDefinition> getInterceptSendToEndpoints() {
+ return interceptSendToEndpoints;
}
- public void setInterceptEndpoints(List<InterceptEndpointDefinition> interceptEndpoints) {
- this.interceptEndpoints = interceptEndpoints;
+ public void setInterceptSendToEndpoints(List<InterceptSendToEndpointDefinition> interceptSendToEndpoints) {
+ this.interceptSendToEndpoints = interceptSendToEndpoints;
}
public RouteBuilder getRouteBuilder() {
Modified: camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/handler/CamelNamespaceHandler.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/handler/CamelNamespaceHandler.java?rev=769053&r1=769052&r2=769053&view=diff
==============================================================================
--- camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/handler/CamelNamespaceHandler.java (original)
+++ camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/handler/CamelNamespaceHandler.java Mon Apr 27 16:34:57 2009
@@ -203,7 +203,7 @@
builder.addPropertyValue("id", contextId);
builder.addPropertyValue("routes", factoryBean.getRoutes());
builder.addPropertyValue("intercepts", factoryBean.getIntercepts());
- builder.addPropertyValue("interceptEndpoints", factoryBean.getInterceptEndpoints());
+ builder.addPropertyValue("interceptSendToEndpoints", factoryBean.getInterceptSendToEndpoints());
builder.addPropertyValue("dataFormats", factoryBean.getDataFormats());
builder.addPropertyValue("onExceptions", factoryBean.getOnExceptions());
builder.addPropertyValue("builderRefs", factoryBean.getBuilderRefs());
Modified: camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/interceptendpoint.xml
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/interceptendpoint.xml?rev=769053&r1=769052&r2=769053&view=diff
==============================================================================
--- camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/interceptendpoint.xml (original)
+++ camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/interceptendpoint.xml Mon Apr 27 16:34:57 2009
@@ -29,12 +29,12 @@
this endpoint, its intercepted and routed with this detour route beforehand
afterwards its send to the original intended destination. So this is kinda AOP before.
That means mock:foo will receive the message (Bye World). -->
- <interceptEndpoint uri="mock:foo">
+ <interceptSendToEndpoint uri="mock:foo">
<to uri="mock:detour"/>
<transform>
<constant>Bye World</constant>
</transform>
- </interceptEndpoint>
+ </interceptSendToEndpoint>
<route>
<from uri="direct:first"/>
Modified: camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/interceptendpointskip.xml
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/interceptendpointskip.xml?rev=769053&r1=769052&r2=769053&view=diff
==============================================================================
--- camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/interceptendpointskip.xml (original)
+++ camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/interceptendpointskip.xml Mon Apr 27 16:34:57 2009
@@ -30,13 +30,13 @@
That means that mock:foo will NOT receive the message, but the message
is skipped and continued in the original route, so mock:result will receive
the message. -->
- <interceptEndpoint uri="mock:foo">
+ <interceptSendToEndpoint uri="mock:foo">
<transform>
<constant>Bye World</constant>
</transform>
<to uri="mock:detour"/>
<stop/>
- </interceptEndpoint>
+ </interceptSendToEndpoint>
<route>
<from uri="direct:third"/>
Modified: camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/interceptendpointwhen.xml
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/interceptendpointwhen.xml?rev=769053&r1=769052&r2=769053&view=diff
==============================================================================
--- camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/interceptendpointwhen.xml (original)
+++ camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/interceptendpointwhen.xml Mon Apr 27 16:34:57 2009
@@ -25,13 +25,13 @@
<!-- START SNIPPET: e1 -->
<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
- <interceptEndpoint uri="mock:foo">
+ <interceptSendToEndpoint uri="mock:foo">
<when><simple>${body} == 'Hello World'</simple></when>
<to uri="mock:detour"/>
<transform>
<constant>Bye World</constant>
</transform>
- </interceptEndpoint>
+ </interceptSendToEndpoint>
<route>
<from uri="direct:second"/>
Modified: camel/trunk/tests/camel-itest/src/test/resources/org/apache/camel/itest/http/InterceptEndpointTest-context.xml
URL: http://svn.apache.org/viewvc/camel/trunk/tests/camel-itest/src/test/resources/org/apache/camel/itest/http/InterceptEndpointTest-context.xml?rev=769053&r1=769052&r2=769053&view=diff
==============================================================================
--- camel/trunk/tests/camel-itest/src/test/resources/org/apache/camel/itest/http/InterceptEndpointTest-context.xml (original)
+++ camel/trunk/tests/camel-itest/src/test/resources/org/apache/camel/itest/http/InterceptEndpointTest-context.xml Mon Apr 27 16:34:57 2009
@@ -26,13 +26,13 @@
<!-- START SNIPPET: e1 -->
<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring" trace="true">
<!-- intercept the request to google and return our own simulated response -->
- <interceptEndpoint uri="http://www.google.com">
+ <interceptSendToEndpoint uri="http://www.google.com">
<transform>
<constant>Simulated response from Google</constant>
</transform>
<!-- must use stop to skip the real request to http://www.google.com -->
<stop/>
- </interceptEndpoint>
+ </interceptSendToEndpoint>
<route>
<from uri="direct:start"/>