Hi

Looks like this method
- mostRecentExchange

was added in patch but not used in code, e.g. can/should be deleted.


On Thu, Jul 23, 2009 at 4:38 PM, <jans...@apache.org> wrote:
> Author: janstey
> Date: Thu Jul 23 14:38:52 2009
> New Revision: 797087
>
> URL: http://svn.apache.org/viewvc?rev=797087&view=rev
> Log:
> CAMEL-1848 - add support to expect expressions/predicates on mock endpoint
>
> Modified:
>    
> camel/trunk/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java
>    
> camel/trunk/camel-core/src/main/java/org/apache/camel/processor/BatchProcessor.java
>    
> camel/trunk/camel-core/src/main/java/org/apache/camel/processor/aggregate/DefaultAggregationCollection.java
>    
> camel/trunk/camel-core/src/test/java/org/apache/camel/component/mock/MockEndpointTest.java
>
> Modified: 
> camel/trunk/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java
> URL: 
> http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java?rev=797087&r1=797086&r2=797087&view=diff
> ==============================================================================
> --- 
> camel/trunk/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java
>  (original)
> +++ 
> camel/trunk/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java
>  Thu Jul 23 14:38:52 2009
> @@ -38,6 +38,7 @@
>  import org.apache.camel.Exchange;
>  import org.apache.camel.Expression;
>  import org.apache.camel.Message;
> +import org.apache.camel.Predicate;
>  import org.apache.camel.Processor;
>  import org.apache.camel.Producer;
>  import org.apache.camel.builder.ExpressionClause;
> @@ -319,12 +320,27 @@
>             public void run() {
>                 assertTrue("No header with name " + headerName + " found.", 
> actualHeader != null);
>
> -                Object actualValue = 
> getCamelContext().getTypeConverter().convertTo(actualHeader.getClass(), 
> headerValue);
> -                assertEquals("Header of message", actualValue, actualHeader);
> +                Object actualValue;
> +                if (actualHeader instanceof Expression) {
> +                    actualValue = 
> ((Expression)actualHeader).evaluate(mostRecentExchange(), 
> headerValue.getClass());
> +                } else if (actualHeader instanceof Predicate) {
> +                    actualValue = 
> ((Predicate)actualHeader).matches(mostRecentExchange());
> +                } else {
> +                    actualValue = 
> getCamelContext().getTypeConverter().convertTo(headerValue.getClass(), 
> actualHeader);
> +                    assertTrue("There is no type conversion possible from " 
> + actualHeader.getClass().getName()
> +                            + " to " + headerValue.getClass().getName(), 
> actualValue != null);
> +                }
> +                assertEquals("Header of message", headerValue, actualValue);
>             }
> +
> +
>         });
>     }
>
> +    private Exchange mostRecentExchange() {
> +        return receivedExchanges.get(receivedExchanges.size() - 1);
> +    }
> +
>     /**
>      * Adds an expectation that the given property name & value are received 
> by this endpoint
>      */
>
> Modified: 
> camel/trunk/camel-core/src/main/java/org/apache/camel/processor/BatchProcessor.java
> URL: 
> http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/BatchProcessor.java?rev=797087&r1=797086&r2=797087&view=diff
> ==============================================================================
> --- 
> camel/trunk/camel-core/src/main/java/org/apache/camel/processor/BatchProcessor.java
>  (original)
> +++ 
> camel/trunk/camel-core/src/main/java/org/apache/camel/processor/BatchProcessor.java
>  Thu Jul 23 14:38:52 2009
> @@ -102,7 +102,7 @@
>      */
>     public void setBatchSize(int batchSize) {
>         // setting batch size to 0 or negative is like disabling it, so we 
> set it as the max value
> -        // as the code logic is dependt on a batch size having 1..n value
> +        // as the code logic is dependent on a batch size having 1..n value
>         if (batchSize <= 0) {
>             LOG.debug("Disabling batch size, will only be triggered by 
> timeout");
>             this.batchSize = Integer.MAX_VALUE;
>
> Modified: 
> camel/trunk/camel-core/src/main/java/org/apache/camel/processor/aggregate/DefaultAggregationCollection.java
> URL: 
> http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/aggregate/DefaultAggregationCollection.java?rev=797087&r1=797086&r2=797087&view=diff
> ==============================================================================
> --- 
> camel/trunk/camel-core/src/main/java/org/apache/camel/processor/aggregate/DefaultAggregationCollection.java
>  (original)
> +++ 
> camel/trunk/camel-core/src/main/java/org/apache/camel/processor/aggregate/DefaultAggregationCollection.java
>  Thu Jul 23 14:38:52 2009
> @@ -72,7 +72,7 @@
>             LOG.trace("Evaluated expression: " + correlationExpression + " as 
> correlation key: " + correlationKey);
>         }
>
> -        // TODO: correlationKey evalutated to null should be skipped by 
> default
> +        // TODO: correlationKey evaluated to null should be skipped by 
> default
>
>         Exchange oldExchange = aggregated.get(correlationKey);
>         Exchange newExchange = exchange;
>
> Modified: 
> camel/trunk/camel-core/src/test/java/org/apache/camel/component/mock/MockEndpointTest.java
> URL: 
> http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/mock/MockEndpointTest.java?rev=797087&r1=797086&r2=797087&view=diff
> ==============================================================================
> --- 
> camel/trunk/camel-core/src/test/java/org/apache/camel/component/mock/MockEndpointTest.java
>  (original)
> +++ 
> camel/trunk/camel-core/src/test/java/org/apache/camel/component/mock/MockEndpointTest.java
>  Thu Jul 23 14:38:52 2009
> @@ -21,7 +21,9 @@
>
>  import org.apache.camel.ContextTestSupport;
>  import org.apache.camel.builder.RouteBuilder;
> +import org.apache.camel.builder.xml.XPathBuilder;
>  import org.apache.camel.impl.JndiRegistry;
> +import org.apache.camel.model.language.XPathExpression;
>
>  /**
>  * @version $Revision$
> @@ -176,6 +178,15 @@
>         resultEndpoint.assertIsNotSatisfied();
>     }
>
> +    public void testExpressionExpectationOfHeader() throws 
> InterruptedException {
> +        MockEndpoint resultEndpoint = getMockEndpoint("mock:result");
> +        resultEndpoint.reset();
> +
> +        resultEndpoint.expectedHeaderReceived("number", 123);
> +        template.sendBodyAndHeader("direct:a", "<foo><id>123</id></foo>", 
> "number", XPathBuilder.xpath("/foo/id", Integer.class));
> +        resultEndpoint.assertIsSatisfied();
> +    }
> +
>     public void testAscending() throws Exception {
>         MockEndpoint mock = getMockEndpoint("mock:result");
>         mock.expectsAscending().body();
> @@ -185,7 +196,7 @@
>         assertMockEndpointsSatisfied();
>     }
>
> -    public void testAscendingFaied() throws Exception {
> +    public void testAscendingFailed() throws Exception {
>         MockEndpoint mock = getMockEndpoint("mock:result");
>         mock.expectsAscending().body();
>         mock.expectsAscending().header("counter");
>
>
>



-- 
Claus Ibsen
Apache Camel Committer

Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus

Reply via email to