Author: davsclaus Date: Sat Dec 3 07:43:51 2011 New Revision: 1209846 URL: http://svn.apache.org/viewvc?rev=1209846&view=rev Log: CAMEL-4733: Fixed issue with Java DSL creating expression with expression clause, not ensuring the model is update with the expression definition being used. This would cause the JAXB model of the route to not contain the actual expression in use.
Added: camel/trunk/camel-core/src/test/java/org/apache/camel/util/DumpModelAsXmlRouteExpressionTest.java (contents, props changed) - copied, changed from r1209834, camel/trunk/camel-core/src/test/java/org/apache/camel/util/DumpModelAsXmlSetBodyRouteTest.java Removed: camel/trunk/camel-core/src/test/java/org/apache/camel/util/DumpModelAsXmlSetBodyRouteTest.java Copied: camel/trunk/camel-core/src/test/java/org/apache/camel/util/DumpModelAsXmlRouteExpressionTest.java (from r1209834, camel/trunk/camel-core/src/test/java/org/apache/camel/util/DumpModelAsXmlSetBodyRouteTest.java) URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/util/DumpModelAsXmlRouteExpressionTest.java?p2=camel/trunk/camel-core/src/test/java/org/apache/camel/util/DumpModelAsXmlRouteExpressionTest.java&p1=camel/trunk/camel-core/src/test/java/org/apache/camel/util/DumpModelAsXmlSetBodyRouteTest.java&r1=1209834&r2=1209846&rev=1209846&view=diff ============================================================================== --- camel/trunk/camel-core/src/test/java/org/apache/camel/util/DumpModelAsXmlSetBodyRouteTest.java (original) +++ camel/trunk/camel-core/src/test/java/org/apache/camel/util/DumpModelAsXmlRouteExpressionTest.java Sat Dec 3 07:43:51 2011 @@ -17,21 +17,54 @@ package org.apache.camel.util; import org.apache.camel.ContextTestSupport; +import org.apache.camel.MyBarSingleton; import org.apache.camel.builder.RouteBuilder; +import org.apache.camel.impl.JndiRegistry; import org.apache.camel.model.ModelHelper; /** * */ -public class DumpModelAsXmlSetBodyRouteTest extends ContextTestSupport { +public class DumpModelAsXmlRouteExpressionTest extends ContextTestSupport { + + @Override + protected JndiRegistry createRegistry() throws Exception { + JndiRegistry jndi = super.createRegistry(); + jndi.bind("myCoolBean", new MyBarSingleton()); + return jndi; + } public void testDumpModelAsXml() throws Exception { String xml = ModelHelper.dumpModelAsXml(context.getRouteDefinition("myRoute")); assertNotNull(xml); log.info(xml); - // TODO: Fix so we have the expression in the dumped route - // assertTrue(xml.contains("<simple>Hello ${body}</simple>")); + assertTrue(xml.contains("<simple>Hello ${body}</simple>")); + } + + public void testDumpModelAsXmlXPath() throws Exception { + String xml = ModelHelper.dumpModelAsXml(context.getRouteDefinition("myOtherRoute")); + assertNotNull(xml); + log.info(xml); + + assertTrue(xml.contains("<xpath>/foo</xpath>")); + } + + public void testDumpModelAsXmlHeader() throws Exception { + String xml = ModelHelper.dumpModelAsXml(context.getRouteDefinition("myFooRoute")); + assertNotNull(xml); + log.info(xml); + + assertTrue(xml.contains("<header>bar</header>")); + } + + public void testDumpModelAsXmlBean() throws Exception { + String xml = ModelHelper.dumpModelAsXml(context.getRouteDefinition("myBeanRoute")); + assertNotNull(xml); + log.info(xml); + + assertTrue(xml.contains("<setHeader headerName=\"foo\"")); + assertTrue(xml.contains("<method>myCoolBean</method>")); } @Override @@ -42,7 +75,20 @@ public class DumpModelAsXmlSetBodyRouteT from("direct:start").routeId("myRoute") .setBody(simple("Hello ${body}")) .to("mock:result"); + + from("direct:other").routeId("myOtherRoute") + .setBody(xpath("/foo")) + .to("mock:result"); + + from("direct:foo").routeId("myFooRoute") + .setBody(header("bar")) + .to("mock:result"); + + from("direct:bean").routeId("myBeanRoute") + .setHeader("foo", bean("myCoolBean")) + .to("mock:result"); } }; } + } Propchange: camel/trunk/camel-core/src/test/java/org/apache/camel/util/DumpModelAsXmlRouteExpressionTest.java ------------------------------------------------------------------------------ svn:eol-style = native