Author: buildbot
Date: Wed Jan 21 09:20:57 2015
New Revision: 937075
Log:
Production update by buildbot for camel
Modified:
websites/production/camel/content/book-in-one-page.html
websites/production/camel/content/book-languages-appendix.html
websites/production/camel/content/cache/main.pageCache
websites/production/camel/content/groovy-dsl.html
websites/production/camel/content/groovy.html
Modified: websites/production/camel/content/book-in-one-page.html
==============================================================================
--- websites/production/camel/content/book-in-one-page.html (original)
+++ websites/production/camel/content/book-in-one-page.html Wed Jan 21 09:20:57
2015
@@ -4126,11 +4126,11 @@ While not actual tutorials you might fin
</div>
</div>
<h2 id="BookInOnePage-Preface">Preface</h2><p>This tutorial aims to guide the
reader through the stages of creating a project which uses Camel to facilitate
the routing of messages from a JMS queue to a <a shape="rect"
class="external-link" href="http://www.springramework.org"
rel="nofollow">Spring</a> service. The route works in a synchronous fashion
returning a response to the client.</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1421767173331 {padding: 0px;}
-div.rbtoc1421767173331 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1421767173331 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1421831891067 {padding: 0px;}
+div.rbtoc1421831891067 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1421831891067 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style></p><div class="toc-macro rbtoc1421767173331">
+/*]]>*/</style></p><div class="toc-macro rbtoc1421831891067">
<ul class="toc-indentation"><li><a shape="rect"
href="#Tutorial-JmsRemoting-TutorialonSpringRemotingwithJMS">Tutorial on Spring
Remoting with JMS</a></li><li><a shape="rect"
href="#Tutorial-JmsRemoting-Preface">Preface</a></li><li><a shape="rect"
href="#Tutorial-JmsRemoting-Prerequisites">Prerequisites</a></li><li><a
shape="rect"
href="#Tutorial-JmsRemoting-Distribution">Distribution</a></li><li><a
shape="rect" href="#Tutorial-JmsRemoting-About">About</a></li><li><a
shape="rect" href="#Tutorial-JmsRemoting-CreatetheCamelProject">Create the
Camel Project</a>
<ul class="toc-indentation"><li><a shape="rect"
href="#Tutorial-JmsRemoting-UpdatethePOMwithDependencies">Update the POM with
Dependencies</a></li></ul>
</li><li><a shape="rect" href="#Tutorial-JmsRemoting-WritingtheServer">Writing
the Server</a>
@@ -6316,11 +6316,11 @@ So we completed the last piece in the pi
<style type="text/css">/*<![CDATA[*/
-div.rbtoc1421767177233 {padding: 0px;}
-div.rbtoc1421767177233 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1421767177233 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1421831893758 {padding: 0px;}
+div.rbtoc1421831893758 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1421831893758 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style><div class="toc-macro rbtoc1421767177233">
+/*]]>*/</style><div class="toc-macro rbtoc1421831893758">
<ul class="toc-indentation"><li><a shape="rect"
href="#Tutorial-AXIS-Camel-TutorialusingAxis1.4withApacheCamel">Tutorial using
Axis 1.4 with Apache Camel</a>
<ul class="toc-indentation"><li><a shape="rect"
href="#Tutorial-AXIS-Camel-Prerequisites">Prerequisites</a></li><li><a
shape="rect"
href="#Tutorial-AXIS-Camel-Distribution">Distribution</a></li><li><a
shape="rect"
href="#Tutorial-AXIS-Camel-Introduction">Introduction</a></li><li><a
shape="rect" href="#Tutorial-AXIS-Camel-SettinguptheprojecttorunAxis">Setting
up the project to run Axis</a>
<ul class="toc-indentation"><li><a shape="rect"
href="#Tutorial-AXIS-Camel-Maven2">Maven 2</a></li><li><a shape="rect"
href="#Tutorial-AXIS-Camel-wsdl">wsdl</a></li><li><a shape="rect"
href="#Tutorial-AXIS-Camel-ConfiguringAxis">Configuring Axis</a></li><li><a
shape="rect" href="#Tutorial-AXIS-Camel-RunningtheExample">Running the
Example</a></li></ul>
@@ -8569,7 +8569,7 @@ result = body * 2 + 1
<h2 id="BookInOnePage-Groovy">Groovy</h2><p>Camel supports <a shape="rect"
class="external-link" href="http://groovy.codehaus.org/"
rel="nofollow">Groovy</a> among other <a shape="rect"
href="scripting-languages.html">Scripting Languages</a> to allow an <a
shape="rect" href="expression.html">Expression</a> or <a shape="rect"
href="predicate.html">Predicate</a> to be used in the <a shape="rect"
href="dsl.html">DSL</a> or <a shape="rect" href="xml-configuration.html">Xml
Configuration</a>.</p><p>To use a Groovy expression use the following Java
code</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[... groovy("someGroovyExpression")
...
]]></script>
-</div></div><p>For example you could use the <strong>groovy</strong> function
to create an <a shape="rect" href="predicate.html">Predicate</a> in a <a
shape="rect" href="message-filter.html">Message Filter</a> or as an <a
shape="rect" href="expression.html">Expression</a> for a <a shape="rect"
href="recipient-list.html">Recipient List</a></p><h3
id="BookInOnePage-Example.3">Example</h3><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>For example you could use the <strong>groovy</strong> function
to create an <a shape="rect" href="predicate.html">Predicate</a> in a <a
shape="rect" href="message-filter.html">Message Filter</a> or as an <a
shape="rect" href="expression.html">Expression</a> for a <a shape="rect"
href="recipient-list.html">Recipient List</a></p><h3
id="BookInOnePage-Example.3"><span style="line-height:
1.5625;">Example</span></h3><div class="code panel pdl" style="border-width:
1px;"><div class="codeContent panelContent pdl">
<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[// lets route if a line item is over $100
from("queue:foo").filter(groovy("request.lineItems.any { i
-> i.value > 100 }")).to("queue:bar")
]]></script>
@@ -18946,11 +18946,11 @@ template.send("direct:alias-verify&
</div>
</div>
<p>The <strong>cxf:</strong> component provides integration with <a
shape="rect" href="http://cxf.apache.org">Apache CXF</a> for connecting to
JAX-WS services hosted in CXF.</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1421767228208 {padding: 0px;}
-div.rbtoc1421767228208 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1421767228208 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1421831933828 {padding: 0px;}
+div.rbtoc1421831933828 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1421831933828 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style></p><div class="toc-macro rbtoc1421767228208">
+/*]]>*/</style></p><div class="toc-macro rbtoc1421831933828">
<ul class="toc-indentation"><li><a shape="rect" href="#CXF-CXFComponent">CXF
Component</a>
<ul class="toc-indentation"><li><a shape="rect" href="#CXF-URIformat">URI
format</a></li><li><a shape="rect" href="#CXF-Options">Options</a>
<ul class="toc-indentation"><li><a shape="rect"
href="#CXF-Thedescriptionsofthedataformats">The descriptions of the
dataformats</a>
Modified: websites/production/camel/content/book-languages-appendix.html
==============================================================================
--- websites/production/camel/content/book-languages-appendix.html (original)
+++ websites/production/camel/content/book-languages-appendix.html Wed Jan 21
09:20:57 2015
@@ -770,7 +770,7 @@ result = body * 2 + 1
<h2 id="BookLanguagesAppendix-Groovy">Groovy</h2><p>Camel supports <a
shape="rect" class="external-link" href="http://groovy.codehaus.org/"
rel="nofollow">Groovy</a> among other <a shape="rect"
href="scripting-languages.html">Scripting Languages</a> to allow an <a
shape="rect" href="expression.html">Expression</a> or <a shape="rect"
href="predicate.html">Predicate</a> to be used in the <a shape="rect"
href="dsl.html">DSL</a> or <a shape="rect" href="xml-configuration.html">Xml
Configuration</a>.</p><p>To use a Groovy expression use the following Java
code</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[... groovy("someGroovyExpression")
...
]]></script>
-</div></div><p>For example you could use the <strong>groovy</strong> function
to create an <a shape="rect" href="predicate.html">Predicate</a> in a <a
shape="rect" href="message-filter.html">Message Filter</a> or as an <a
shape="rect" href="expression.html">Expression</a> for a <a shape="rect"
href="recipient-list.html">Recipient List</a></p><h3
id="BookLanguagesAppendix-Example.1">Example</h3><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>For example you could use the <strong>groovy</strong> function
to create an <a shape="rect" href="predicate.html">Predicate</a> in a <a
shape="rect" href="message-filter.html">Message Filter</a> or as an <a
shape="rect" href="expression.html">Expression</a> for a <a shape="rect"
href="recipient-list.html">Recipient List</a></p><h3
id="BookLanguagesAppendix-Example.1"><span style="line-height:
1.5625;">Example</span></h3><div class="code panel pdl" style="border-width:
1px;"><div class="codeContent panelContent pdl">
<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[// lets route if a line item is over $100
from("queue:foo").filter(groovy("request.lineItems.any { i
-> i.value > 100 }")).to("queue:bar")
]]></script>
Modified: websites/production/camel/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.
Modified: websites/production/camel/content/groovy-dsl.html
==============================================================================
--- websites/production/camel/content/groovy-dsl.html (original)
+++ websites/production/camel/content/groovy-dsl.html Wed Jan 21 09:20:57 2015
@@ -85,32 +85,15 @@
<tbody>
<tr>
<td valign="top" width="100%">
-<div class="wiki-content maincontent"><h3
id="GroovyDSL-AbouttheGroovyDSL">About the Groovy DSL</h3>
-
-<p>The Groovy DSL implementation is built on top of the existing Java-based <a
shape="rect" href="dsl.html">DSL</a>, but it additionally allows to use Groovy
language features in your routes, particularly <a shape="rect"
class="external-link" href="http://groovy.codehaus.org/Closures"
rel="nofollow">Closures</a> acting as <a shape="rect"
href="processor.html">Processor</a>, <a shape="rect"
href="expression.html">Expression</a>, <a shape="rect"
href="predicate.html">Predicate</a>, or <a shape="rect"
href="aggregator.html">Aggregation Strategy</a>.<br clear="none">
-With the Groovy DSL you write your RouteBuilder classes entirely in Groovy,
while the <a shape="rect" href="scripting-languages.html">scripting
component</a> allows to embed small scripts into Java routes. The Groovy DSL
requires Groovy 2.0 or newer and is available as of <strong>Camel
2.11</strong>.</p>
-
-<h3 id="GroovyDSL-Introduction">Introduction</h3>
-
-<p>Because Groovy is syntactically very similar to Java, you can write your
Groovy routes just like Java routes. The same Java DSL classes are being used,
with the exception that some of the DSL classes get extended with a bunch of
new methods at runtime. This is achieved by turning camel-groovy into a Groovy
<a shape="rect" class="external-link"
href="http://docs.codehaus.org/display/GROOVY/Creating+an+extension+module"
rel="nofollow">Extension Module</a> that defines extension methods on existing
classes.</p>
-
-<p>The majority of the extension methods allow <a shape="rect"
class="external-link" href="http://groovy.codehaus.org/Closures"
rel="nofollow">Closures</a> to be used as parameters e.g. for expressions,
predicates, processors. The following example reverses a string in the message
body and then prints the value to System.out: </p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader
panelHeader pdl" style="border-bottom-width:
1px;"><b>MyRouteBuilder.groovy</b></div><div class="codeContent panelContent
pdl">
-<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[
-...
+<div class="wiki-content maincontent"><h3
id="GroovyDSL-AbouttheGroovyDSL">About the Groovy DSL</h3><p>The Groovy DSL
implementation is built on top of the existing Java-based <a shape="rect"
href="dsl.html">DSL</a>, but it additionally allows to use Groovy language
features in your routes, particularly <a shape="rect" class="external-link"
href="http://groovy.codehaus.org/Closures" rel="nofollow">Closures</a> acting
as <a shape="rect" href="processor.html">Processor</a>, <a shape="rect"
href="expression.html">Expression</a>, <a shape="rect"
href="predicate.html">Predicate</a>, or <a shape="rect"
href="aggregator.html">Aggregation Strategy</a>.<br clear="none"> With the
Groovy DSL you write your RouteBuilder classes entirely in Groovy, while the <a
shape="rect" href="scripting-languages.html">scripting component</a> allows to
embed small scripts into Java routes. The Groovy DSL requires Groovy 2.0 or
newer and is available as of <strong>Camel 2.11</strong>.</p><h3
id="GroovyDSL-Intr
oduction">Introduction</h3><p>Because Groovy is syntactically very similar to
Java, you can write your Groovy routes just like Java routes. The same Java DSL
classes are being used, with the exception that some of the DSL classes get
extended with a bunch of new methods at runtime. This is achieved by turning
camel-groovy into a Groovy <a shape="rect" class="external-link"
href="http://docs.codehaus.org/display/GROOVY/Creating+an+extension+module"
rel="nofollow">Extension Module</a> that defines extension methods on existing
classes.</p><p>The majority of the extension methods allow <a shape="rect"
class="external-link" href="http://groovy.codehaus.org/Closures"
rel="nofollow">Closures</a> to be used as parameters e.g. for expressions,
predicates, processors. The following example reverses a string in the message
body and then prints the value to System.out:</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeHeader panelHeader pdl"
style="border-bottom-width:
1px;"><b>MyRouteBuilder.groovy</b></div><div class="codeContent panelContent
pdl">
+<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[...
from('direct:test')
.transform { it.in.body.reverse() }
.process { println it.in.body }
...
]]></script>
-</div></div>
-
-<p>The corresponding route in Java would look something like this:</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader
panelHeader pdl" style="border-bottom-width:
1px;"><b>MyRouteBuilder.java</b></div><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[
-...
+</div></div><p>The corresponding route in Java would look something like
this:</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeHeader panelHeader pdl" style="border-bottom-width:
1px;"><b>MyRouteBuilder.java</b></div><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[...
from("direct:test")
.transform(new Expression() {
@Override
@@ -126,32 +109,15 @@ With the Groovy DSL you write your Route
});
...
]]></script>
-</div></div>
-
-
-
-
-<h3 id="GroovyDSL-DevelopingwiththeGroovyDSL">Developing with the Groovy
DSL</h3>
-
-<p>To be able to use the Groovy DSL in your camel routes you need to add the a
dependency on <strong>camel-groovy</strong> which implements the Groovy DSL.</p>
-
-<p>If you use Maven you can just add the following to your pom.xml,
substituting the version number for the latest & greatest release (see the
download page for the latest versions).</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
-<script class="theme: Default; brush: xml; gutter: false"
type="syntaxhighlighter"><![CDATA[
-<dependency>
+</div></div><h3 id="GroovyDSL-DevelopingwiththeGroovyDSL">Developing with the
Groovy DSL</h3><p>To be able to use the Groovy DSL in your camel routes you
need to add the a dependency on <strong>camel-groovy</strong> which implements
the Groovy DSL.</p><p>If you use Maven you can just add the following to your
pom.xml, substituting the version number for the latest & greatest release
(see the download page for the latest versions).</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false"
type="syntaxhighlighter"><![CDATA[<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-groovy</artifactId>
<version>2.11.0</version>
</dependency>
]]></script>
-</div></div>
-
-<p>Additionally you need to make sure that the Groovy classes will be
compiled. You can either use gmaven for this or, particularly with mixed
projects containing Java and Groovy code, you might want to use the <a
shape="rect" class="external-link"
href="http://groovy.codehaus.org/Groovy-Eclipse+compiler+plugin+for+Maven"
rel="nofollow">Groovy Eclipse compiler</a>:</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
-<script class="theme: Default; brush: xml; gutter: false"
type="syntaxhighlighter"><![CDATA[
- <plugin>
+</div></div><p>Additionally you need to make sure that the Groovy classes will
be compiled. You can either use gmaven for this or, particularly with mixed
projects containing Java and Groovy code, you might want to use the <a
shape="rect" class="external-link"
href="http://groovy.codehaus.org/Groovy-Eclipse+compiler+plugin+for+Maven"
rel="nofollow">Groovy Eclipse compiler</a>:</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false"
type="syntaxhighlighter"><![CDATA[ <plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<compilerId>groovy-eclipse-compiler</compilerId>
@@ -165,13 +131,8 @@ With the Groovy DSL you write your Route
</dependencies>
</plugin>
]]></script>
-</div></div>
-
-<p>As Eclipse user, you might want to configure the Maven Eclipse plugin in a
way so that your project is set up correctly for using <a shape="rect"
class="external-link" href="http://groovy.codehaus.org/Eclipse+Plugin"
rel="nofollow">Eclipse Plugin for Groovy</a> when <code>mvn
eclipse:eclipse</code> is executed:</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
-<script class="theme: Default; brush: xml; gutter: false"
type="syntaxhighlighter"><![CDATA[
- <plugin>
+</div></div><p>As Eclipse user, you might want to configure the Maven Eclipse
plugin in a way so that your project is set up correctly for using <a
shape="rect" class="external-link"
href="http://groovy.codehaus.org/Eclipse+Plugin" rel="nofollow">Eclipse Plugin
for Groovy</a> when <code>mvn eclipse:eclipse</code> is executed:</p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false"
type="syntaxhighlighter"><![CDATA[ <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<configuration>
@@ -185,19 +146,8 @@ With the Groovy DSL you write your Route
</configuration>
</plugin>
]]></script>
-</div></div>
-
-<h4 id="GroovyDSL-UsingClosuresinyourroutes">Using Closures in your routes</h4>
-
-<p>Groovy closures can be used to write concise implementations of Camel
processors, expressions, predicates, and aggregation strategies. It is
recommended to keep more complicated implementations of these objects in their
own classes, e.g. to be able to test them more easily and not to clutter up
your routes with business logic.</p>
-
-<h5 id="GroovyDSL-ProcessorClosures">Processor Closures</h5>
-
-<p>All Java DSL parameters of type <code>org.apache.camel.Processor</code> can
be replaced by a closure that accepts an object of type
<code>org.apache.camel.Exchange</code> as only parameter. The return value of
the closure is disregarded. All closures may also refer to variables not listed
in their parameter list. Example:</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[
-...
+</div></div><h4 id="GroovyDSL-UsingClosuresinyourroutes">Using Closures in
your routes</h4><p>Groovy closures can be used to write concise implementations
of Camel processors, expressions, predicates, and aggregation strategies. It is
recommended to keep more complicated implementations of these objects in their
own classes, e.g. to be able to test them more easily and not to clutter up
your routes with business logic.</p><h5
id="GroovyDSL-ProcessorClosures">Processor Closures</h5><p>All Java DSL
parameters of type <code>org.apache.camel.Processor</code> can be replaced by a
closure that accepts an object of type <code>org.apache.camel.Exchange</code>
as only parameter. The return value of the closure is disregarded. All closures
may also refer to variables not listed in their parameter list.
Example:</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[...
private String someValue
...
from('direct:test')
@@ -205,15 +155,8 @@ With the Groovy DSL you write your Route
.process { println (it.in.body + someValue) } // equivalent
...
]]></script>
-</div></div>
-
-<h5 id="GroovyDSL-ExpressionClosures">Expression Closures</h5>
-
-<p>All Java DSL parameters of type <code>org.apache.camel.Expression</code>
can be replaced by a closure that accepts an object of type
<code>org.apache.camel.Exchange</code> as only parameter. The return value of
the closure is the result of the expression. Example:</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[
-...
+</div></div><h5 id="GroovyDSL-ExpressionClosures">Expression
Closures</h5><p>All Java DSL parameters of type
<code>org.apache.camel.Expression</code> can be replaced by a closure that
accepts an object of type <code>org.apache.camel.Exchange</code> as only
parameter. The return value of the closure is the result of the expression.
Example:</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[...
private String someValue
...
from('direct:test')
@@ -221,16 +164,8 @@ With the Groovy DSL you write your Route
.setHeader("myHeader") { someValue.reverse() }
...
]]></script>
-</div></div>
-
-
-<h5 id="GroovyDSL-PredicateClosures">Predicate Closures</h5>
-
-<p>All Java DSL parameters of type <code>org.apache.camel.Predicate</code> can
be replaced by a closure that accepts an object of type
<code>org.apache.camel.Exchange</code> as only parameter. The return value of
the closure is translated into a boolean value representing the result of the
predicate. Example:</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[
-...
+</div></div><h5 id="GroovyDSL-PredicateClosures">Predicate Closures</h5><p>All
Java DSL parameters of type <code>org.apache.camel.Predicate</code> can be
replaced by a closure that accepts an object of type
<code>org.apache.camel.Exchange</code> as only parameter. The return value of
the closure is translated into a boolean value representing the result of the
predicate. Example:</p><div class="code panel pdl" style="border-width:
1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[...
private String someValue
// This time, the closure is stored in a variable
@@ -240,16 +175,8 @@ With the Groovy DSL you write your Route
.filter(pred)
...
]]></script>
-</div></div>
-
-
-<h5 id="GroovyDSL-AggregationStrategyClosures">Aggregation Strategy
Closures</h5>
-
-<p>Java DSL parameters of type
<code>org.apache.camel.processor.aggregate.AggregationStrategy</code> can be
replaced by a closure that accepts two objects of type
<code>org.apache.camel.Exchange</code> representing the two Exchanges to be
aggregated. The return value of the closure must be the aggregated Exchange.
Example:</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[
-...
+</div></div><h5 id="GroovyDSL-AggregationStrategyClosures">Aggregation
Strategy Closures</h5><p>Java DSL parameters of type
<code>org.apache.camel.processor.aggregate.AggregationStrategy</code> can be
replaced by a closure that accepts two objects of type
<code>org.apache.camel.Exchange</code> representing the two Exchanges to be
aggregated. The return value of the closure must be the aggregated Exchange.
Example:</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[...
private String separator
...
from('direct:test1')
@@ -259,15 +186,8 @@ With the Groovy DSL you write your Route
}
...
]]></script>
-</div></div>
-
-<h5 id="GroovyDSL-Genericclosurebridges">Generic closure bridges</h5>
-
-<p>In addition to the above-mentioned DSL extensions, you can use closures
even if no DSL method signature with closure parameters is available. Assuming
there's no <code>filter(Closure)</code> method, you could instead write:</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[
-...
+</div></div><h5 id="GroovyDSL-Genericclosurebridges">Generic closure
bridges</h5><p>In addition to the above-mentioned DSL extensions, you can use
closures even if no DSL method signature with closure parameters is available.
Assuming there's no <code>filter(Closure)</code> method, you could instead
write:</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[...
private String someValue
// This time, the closure is stored in a variable
@@ -278,70 +198,32 @@ With the Groovy DSL you write your Route
.filter(predicate(pred))
...
]]></script>
-</div></div>
-
-<p>Similarly, <code>expression(Closure)</code> returns a Camel expression,
<code>processor(Closure)</code> returns a Processor, and
<code>aggregator(Closure)</code> returns an AggregationStrategy.</p>
-
-
-<h4 id="GroovyDSL-UsingGroovyXMLprocessing">Using Groovy XML processing</h4>
-
-<p>Groovy provides special <a shape="rect" class="external-link"
href="http://groovy.codehaus.org/Processing+XML" rel="nofollow">XML processing
support</a> through its <code>XmlParser</code>, <code>XmlNodePrinter</code> and
<code>XmlSlurper</code> classes. camel-groovy provides two <a shape="rect"
href="data-format.html">data formats</a> to use these classes directly in your
routes. </p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader
panelHeader pdl" style="border-bottom-width: 1px;"><b>Unmarshal XML with
XmlParser</b></div><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[
-...
+</div></div><p>Similarly, <code>expression(Closure)</code> returns a Camel
expression, <code>processor(Closure)</code> returns a Processor, and
<code>aggregator(Closure)</code> returns an AggregationStrategy.</p><h4
id="GroovyDSL-UsingGroovyXMLprocessing">Using Groovy XML
processing</h4><p>Groovy provides special <a shape="rect" class="external-link"
href="http://groovy.codehaus.org/Processing+XML" rel="nofollow">XML processing
support</a> through its <code>XmlParser</code>, <code>XmlNodePrinter</code> and
<code>XmlSlurper</code> classes. camel-groovy provides two <a shape="rect"
href="data-format.html">data formats</a> to use these classes directly in your
routes.</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeHeader panelHeader pdl" style="border-bottom-width:
1px;"><b>Unmarshal XML with XmlParser</b></div><div class="codeContent
panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[...
from('direct:test1')
.unmarshal().gnode()
// message body is now of type groovy.util.Node
...
]]></script>
-</div></div>
-
-<p>By default, XML processing is <em>namespace-aware</em>. You can change this
by providing a boolean <code>false</code> parameter.</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader
panelHeader pdl" style="border-bottom-width: 1px;"><b>Unmarshal XML with
XmlSlurper</b></div><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[
-...
+</div></div><p>By default, XML processing is <em>namespace-aware</em>. You can
change this by providing a boolean <code>false</code> parameter.</p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeHeader
panelHeader pdl" style="border-bottom-width: 1px;"><b>Unmarshal XML with
XmlSlurper</b></div><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[...
from('direct:test1')
.unmarshal().gpath(false) // explicitly namespace-unaware
// message body is now of type groovy.util.slurpersupport.GPathResult
...
]]></script>
-</div></div>
-
-<p>Currently, marshalling is only supported for <code>groovy.util.Node</code>
objects.</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader
panelHeader pdl" style="border-bottom-width: 1px;"><b>Marshal XML with
XmlNodePrinter</b></div><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[
-...
+</div></div><p>Currently, marshalling is only supported for
<code>groovy.util.Node</code> objects.</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeHeader panelHeader pdl"
style="border-bottom-width: 1px;"><b>Marshal XML with
XmlNodePrinter</b></div><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[...
from('direct:test1')
// message body must be of type groovy.util.Node
.marshal().gnode()
...
]]></script>
-</div></div>
-
-
-<h4 id="GroovyDSL-UsingGroovyGStrings">Using Groovy GStrings</h4>
-
-<p>Groovy <a shape="rect" class="external-link"
href="http://groovy.codehaus.org/Strings+and+GString"
rel="nofollow">GStrings</a> are declared inside double-quotes and can contain
arbitrary Groovy expressions like accessing properties or calling methods, e.g.
</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[
-def x = "It is currently ${ new Date() }"
+</div></div><h4 id="GroovyDSL-UsingGroovyGStrings">Using Groovy
GStrings</h4><p>Groovy <a shape="rect" class="external-link"
href="http://groovy.codehaus.org/Strings+and+GString"
rel="nofollow">GStrings</a> are declared inside double-quotes and can contain
arbitrary Groovy expressions like accessing properties or calling methods,
e.g.</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[def x = "It is currently ${ new Date()
}"
]]></script>
-</div></div>
-<p>Because GStrings aren't Strings, camel-groovy adds the necessary <a
shape="rect" href="type-converter.html">TypeConverter</a> to automatically turn
them into the required type.</p>
-
-
-<h4 id="GroovyDSL-CustomDSLextensions">Custom DSL extensions</h4>
-
-<p>You can easily define your custom extensions - be it as a Java DSL
extension for your Groovy routes or for any other class unrelated to Camel. All
you have to do is to write your extension methods and provide a extension
module descriptor - the details are described in the <a shape="rect"
class="external-link"
href="http://docs.codehaus.org/display/GROOVY/Creating+an+extension+module"
rel="nofollow">Groovy documentation</a>. And as long as you don't require other
extension methods, you can even use plain Java code to achieve this!<br
clear="none">
-As an example, let's write two DSL extensions to make commonly used DSL
methods more concise:</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader
panelHeader pdl" style="border-bottom-width:
1px;"><b>MyExtension.java</b></div><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[
-
-import org.apache.camel.Endpoint;
+</div></div><p>Because GStrings aren't Strings, camel-groovy adds the
necessary <a shape="rect" href="type-converter.html">TypeConverter</a> to
automatically turn them into the required type.</p><h4
id="GroovyDSL-CustomDSLextensions">Custom DSL extensions</h4><p>You can easily
define your custom extensions - be it as a Java DSL extension for your Groovy
routes or for any other class unrelated to Camel. All you have to do is to
write your extension methods and provide a extension module descriptor - the
details are described in the <a shape="rect" class="external-link"
href="http://docs.codehaus.org/display/GROOVY/Creating+an+extension+module"
rel="nofollow">Groovy documentation</a>. And as long as you don't require other
extension methods, you can even use plain Java code to achieve this!<br
clear="none"> As an example, let's write two DSL extensions to make commonly
used DSL methods more concise:</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeHeader panel
Header pdl" style="border-bottom-width:
1px;"><b>MyExtension.java</b></div><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[import org.apache.camel.Endpoint;
import org.apache.camel.Predicate;
public final class MyExtension {
@@ -366,35 +248,20 @@ public final class MyExtension {
}
]]></script>
-</div></div>
-
-<p>Add a corresponding extension module descriptor to
<code>META-INF/services</code>:</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader
panelHeader pdl" style="border-bottom-width:
1px;"><b>META-INF/services/org.codehaus.groovy.runtime.ExtensionModule</b></div><div
class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[
-moduleName=my-extension
+</div></div><p>Add a corresponding extension module descriptor to
<code>META-INF/services</code>:</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeHeader panelHeader pdl"
style="border-bottom-width:
1px;"><b>META-INF/services/org.codehaus.groovy.runtime.ExtensionModule</b></div><div
class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[moduleName=my-extension
moduleVersion=2.11
extensionClasses=MyExtension
staticExtensionClasses=
]]></script>
-</div></div>
-
-<p>And now your Groovy route can look like this:</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader
panelHeader pdl" style="border-bottom-width:
1px;"><b>MyRoute.groovy</b></div><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[
-...
+</div></div><p>And now your Groovy route can look like this:</p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeHeader
panelHeader pdl" style="border-bottom-width:
1px;"><b>MyRoute.groovy</b></div><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[...
fromId('direct:test1')
.fork('direct:null','direct:not-null',body().isNull())
...
]]></script>
-</div></div>
-
-<p>Using the plain Java DSL, the route would look something like this:</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader
panelHeader pdl" style="border-bottom-width:
1px;"><b>MyRoute.java</b></div><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[
-...
+</div></div><p>Using the plain Java DSL, the route would look something like
this:</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeHeader panelHeader pdl" style="border-bottom-width:
1px;"><b>MyRoute.java</b></div><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[...
from("direct:test1")
.routeId("direct:test1")
.choice()
Modified: websites/production/camel/content/groovy.html
==============================================================================
--- websites/production/camel/content/groovy.html (original)
+++ websites/production/camel/content/groovy.html Wed Jan 21 09:20:57 2015
@@ -89,7 +89,7 @@
<div class="wiki-content maincontent"><h2
id="Groovy-Groovy">Groovy</h2><p>Camel supports <a shape="rect"
class="external-link" href="http://groovy.codehaus.org/"
rel="nofollow">Groovy</a> among other <a shape="rect"
href="scripting-languages.html">Scripting Languages</a> to allow an <a
shape="rect" href="expression.html">Expression</a> or <a shape="rect"
href="predicate.html">Predicate</a> to be used in the <a shape="rect"
href="dsl.html">DSL</a> or <a shape="rect" href="xml-configuration.html">Xml
Configuration</a>.</p><p>To use a Groovy expression use the following Java
code</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[... groovy("someGroovyExpression")
...
]]></script>
-</div></div><p>For example you could use the <strong>groovy</strong> function
to create an <a shape="rect" href="predicate.html">Predicate</a> in a <a
shape="rect" href="message-filter.html">Message Filter</a> or as an <a
shape="rect" href="expression.html">Expression</a> for a <a shape="rect"
href="recipient-list.html">Recipient List</a></p><h3
id="Groovy-Example">Example</h3><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>For example you could use the <strong>groovy</strong> function
to create an <a shape="rect" href="predicate.html">Predicate</a> in a <a
shape="rect" href="message-filter.html">Message Filter</a> or as an <a
shape="rect" href="expression.html">Expression</a> for a <a shape="rect"
href="recipient-list.html">Recipient List</a></p><h3 id="Groovy-Example"><span
style="line-height: 1.5625;">Example</span></h3><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[// lets route if a line item is over $100
from("queue:foo").filter(groovy("request.lineItems.any { i
-> i.value > 100 }")).to("queue:bar")
]]></script>