On Thu, Jul 23, 2009 at 5:10 PM, Jon Anstey<jans...@gmail.com> wrote:
> Claus, shouldn't you be on vacation? ;)
Yeah but I gotta watch the commit log and see if my apprentices doing
a good job. You passed the test.
I

>
> The method is used in the expression/predicate evaluation.
Yeah I guess todays beer had an impact after all :)


>
> On Thu, Jul 23, 2009 at 12:22 PM, Claus Ibsen <claus.ib...@gmail.com> wrote:
>
>> 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
>>
>
>
>
> --
> Cheers,
> Jon
>
> http://janstey.blogspot.com/
>



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