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"/>