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