Author: buildbot Date: Fri Dec 2 17:21:35 2016 New Revision: 1002044 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/simple.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 Fri Dec 2 17:21:35 2016 @@ -3966,11 +3966,11 @@ The tutorial has been designed in two pa While not actual tutorials you might find working through the source of the various <a shape="rect" href="examples.html">Examples</a> useful.</li></ul> <h2 id="BookInOnePage-TutorialonSpringRemotingwithJMS">Tutorial on Spring Remoting with JMS</h2><p> </p><div class="confluence-information-macro confluence-information-macro-information"><p class="title">Thanks</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>This tutorial was kindly donated to Apache Camel by Martin Gilday.</p></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.rbtoc1480544379014 {padding: 0px;} -div.rbtoc1480544379014 ul {list-style: disc;margin-left: 0px;} -div.rbtoc1480544379014 li {margin-left: 0px;padding-left: 0px;} +div.rbtoc1480699135605 {padding: 0px;} +div.rbtoc1480699135605 ul {list-style: disc;margin-left: 0px;} +div.rbtoc1480699135605 li {margin-left: 0px;padding-left: 0px;} -/*]]>*/</style></p><div class="toc-macro rbtoc1480544379014"> +/*]]>*/</style></p><div class="toc-macro rbtoc1480699135605"> <ul class="toc-indentation"><li><a shape="rect" href="#BookInOnePage-TutorialonSpringRemotingwithJMS">Tutorial on Spring Remoting with JMS</a></li><li><a shape="rect" href="#BookInOnePage-Preface">Preface</a></li><li><a shape="rect" href="#BookInOnePage-Prerequisites">Prerequisites</a></li><li><a shape="rect" href="#BookInOnePage-Distribution">Distribution</a></li><li><a shape="rect" href="#BookInOnePage-About">About</a></li><li><a shape="rect" href="#BookInOnePage-CreatetheCamelProject">Create the Camel Project</a> <ul class="toc-indentation"><li><a shape="rect" href="#BookInOnePage-UpdatethePOMwithDependencies">Update the POM with Dependencies</a></li></ul> </li><li><a shape="rect" href="#BookInOnePage-WritingtheServer">Writing the Server</a> @@ -6085,11 +6085,11 @@ So we completed the last piece in the pi <p>This example has been removed from <strong>Camel 2.9</strong> onwards. Apache Axis 1.4 is a very old and unsupported framework. We encourage users to use <a shape="rect" href="cxf.html">CXF</a> instead of Axis.</p></div></div> <style type="text/css">/*<![CDATA[*/ -div.rbtoc1480544379441 {padding: 0px;} -div.rbtoc1480544379441 ul {list-style: disc;margin-left: 0px;} -div.rbtoc1480544379441 li {margin-left: 0px;padding-left: 0px;} +div.rbtoc1480699135944 {padding: 0px;} +div.rbtoc1480699135944 ul {list-style: disc;margin-left: 0px;} +div.rbtoc1480699135944 li {margin-left: 0px;padding-left: 0px;} -/*]]>*/</style><div class="toc-macro rbtoc1480544379441"> +/*]]>*/</style><div class="toc-macro rbtoc1480699135944"> <ul class="toc-indentation"><li><a shape="rect" href="#BookInOnePage-TutorialusingAxis1.4withApacheCamel">Tutorial using Axis 1.4 with Apache Camel</a> <ul class="toc-indentation"><li><a shape="rect" href="#BookInOnePage-Prerequisites">Prerequisites</a></li><li><a shape="rect" href="#BookInOnePage-Distribution">Distribution</a></li><li><a shape="rect" href="#BookInOnePage-Introduction">Introduction</a></li><li><a shape="rect" href="#BookInOnePage-SettinguptheprojecttorunAxis">Setting up the project to run Axis</a> <ul class="toc-indentation"><li><a shape="rect" href="#BookInOnePage-Maven2">Maven 2</a></li><li><a shape="rect" href="#BookInOnePage-wsdl">wsdl</a></li><li><a shape="rect" href="#BookInOnePage-ConfiguringAxis">Configuring Axis</a></li><li><a shape="rect" href="#BookInOnePage-RunningtheExample">Running the Example</a></li></ul> @@ -8489,7 +8489,7 @@ simple("There are ${body.length} li </div></div><h3 id="BookInOnePage-OperatorSupport">Operator Support</h3><p>The parser is limited to only support a single operator. To enable it the left value must be enclosed in <strong><code>${ }</code></strong>.</p><p>The syntax is:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[${leftValue} OP rightValue ]]></script> -</div></div><p>Where the <strong><code>rightValue</code></strong> can be a <strong><code>String</code></strong> literal enclosed in <strong><code>' '</code></strong>, <strong><code>null</code></strong>, a constant value or another expression enclosed in<strong><code> ${}</code></strong>.</p><div class="confluence-information-macro confluence-information-macro-information"><p class="title">Important</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>There <em><strong>must</strong></em> be spaces around the operator.</p></div></div><p>Camel will automatically type convert the <strong><code>rightValue</code></strong> type to the <strong><code>leftValue</code></strong> type, so it is possible to for example, convert a string into a numeric so you can use <strong><code>></code></strong> comparison for numeric values.</p><p>The following operators are support ed:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Operator</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>==</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Equals.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>=~</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.16:</strong> equals ignore case (will ignore case when comparing <strong><code>String</code></strong> values).</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>></code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Greater than.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>>=</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Greater than or equals.</p></td></tr><tr><td colspan ="1" rowspan="1" class="confluenceTd"><p><code><</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Less than.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code><=</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Less than or equals.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>!=</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Not equals.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>contains</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For testing if contains in a string based value.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>not contains</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For testing if not contains in a string based value.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>regex</code></p></td><td colspan="1" rowspan="1" class="co nfluenceTd"><p>For matching against a given regular expression pattern defined as a <strong><code>String</code></strong> value.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>not regex</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For not matching against a given regular expression pattern defined as a <strong><code>String</code></strong> value.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>in</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For matching if in a set of values, each element must be separated by comma.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>not in</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For matching if not in a set of values, each element must be separated by comma.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>is</code></p></td><td colspan="1" rowspan="1" class="confluence Td"><p>For matching if the left hand side type is an <strong><code>instanceof</code></strong> the value.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>not is</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For matching if the left hand side type is not an <strong><code>instanceof</code></strong> the value.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>range</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For matching if the left hand side is within a range of values defined as numbers: <strong><code>from..to</code></strong>.</p><p>From <strong>Camel 2.9</strong>: the range values must be enclosed in single quotes.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>not range</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For matching if the left hand side is not within a range of values defined as numbers: <strong><code>from..to</code>< /strong>.</p><p>From <strong>Camel 2.9</strong>: the range values must be enclosed in single quotes.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>starts with</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.17.1, 2.18</strong><span>: For testing if the left hand side string starts with the right hand string.</span></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>ends with</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.17.1, 2.18</strong>: For testing if the left hand side string ends with the right hand string.</p></td></tr></tbody></table></div><p>And the following unary operators can be used:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Operator</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <p><code>++</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9:</strong> To increment a number by one. The left hand side must be a function, otherwise parsed as literal.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>--</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9:</strong> To decrement a number by one. The left hand side must be a function, otherwise parsed as literal.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>\</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9.3 to 2.10.x</strong> To escape a value, e.g., <strong><code>\$</code></strong>, to indicate a <strong><code>$</code></strong> sign. Special: Use <strong><code>\n</code></strong> for new line, <strong><code>\t</code></strong> for tab, and <strong><code>\r</code></strong> for carriage return.</p><p><strong>Note:</strong> Escaping is <stron g>not</strong> supported using the <a shape="rect" href="file-language.html">File Language</a>.</p><p><span style="color: rgb(255,0,0);"> </span><strong><span style="color: rgb(255,0,0);">Note</span>:</strong> from Camel 2.11, <em>the escape character is no longer supported</em>. It has been replaced with the following three escape sequences.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>\n</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.11:</strong> To use newline character.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>\t</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.11:</strong> To use tab character.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>\r</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.11:</strong> To use carriage return character.</p></td></tr><tr><td colspan="1" rowspan="1 " class="confluenceTd"><p><code>\</code>}</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.18:</strong> To use the <strong><code>}</code></strong> character as text.</p></td></tr></tbody></table></div><p>And the following logical operators can be used to group expressions:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Operator</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>and</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><span style="color: rgb(255,0,0);"><strong>Deprecated</strong></span> use <strong><code>&&</code></strong> instead. The logical and operator is used to group two expressions.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>or</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><span styl e="color: rgb(255,0,0);"><strong>Deprecated</strong></span> use <strong><code>||</code></strong> instead. The logical or operator is used to group two expressions.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>&&</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9:</strong> The logical and operator is used to group two expressions.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>||</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9:</strong> The logical or operator is used to group two expressions.</p></td></tr></tbody></table></div><div class="confluence-information-macro confluence-information-macro-information"><p class="title">Using and,or operators</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>In <strong>Camel 2.4 and older</strong> the <stro ng><code>and</code></strong> or <strong><code>or</code></strong> can only be used <strong>once</strong> in a simple language expression. From <strong>Camel 2.5</strong>: you can use these operators multiple times.</p></div></div><p>The syntax for <strong><code>AND</code></strong> is:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +</div></div><p>Where the <strong><code>rightValue</code></strong> can be a <strong><code>String</code></strong> literal enclosed in <strong><code>' '</code></strong>, <strong><code>null</code></strong>, a constant value or another expression enclosed in<strong><code> ${}</code></strong>.</p><div class="confluence-information-macro confluence-information-macro-information"><p class="title">Important</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>There <em><strong>must</strong></em> be spaces around the operator.</p></div></div><p>Camel will automatically type convert the <strong><code>rightValue</code></strong> type to the <strong><code>leftValue</code></strong> type, so it is possible to for example, convert a string into a numeric so you can use <strong><code>></code></strong> comparison for numeric values.</p><p>The following operators are support ed:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Operator</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>==</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Equals.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>=~</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.16:</strong> equals ignore case (will ignore case when comparing <strong><code>String</code></strong> values).</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>></code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Greater than.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>>=</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Greater than or equals.</p></td></tr><tr><td colspan ="1" rowspan="1" class="confluenceTd"><p><code><</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Less than.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code><=</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Less than or equals.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>!=</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Not equals.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>contains</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For testing if contains in a string based value.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>not contains</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For testing if not contains in a string based value.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>regex</code></p></td><td colspan="1" rowspan="1" class="co nfluenceTd"><p>For matching against a given regular expression pattern defined as a <strong><code>String</code></strong> value.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>not regex</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For not matching against a given regular expression pattern defined as a <strong><code>String</code></strong> value.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>in</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For matching if in a set of values, each element must be separated by comma.</p><p>If you want to include an empty value, then it must be defined using double comma, eg ',,bronze,silver,gold', which<br clear="none">is a set of four values with an empty value and then the three medals.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>not in</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For matchi ng if not in a set of values, each element must be separated by comma.</p><p>If you want to include an empty value, then it must be defined using double comma, eg ',,bronze,silver,gold', which<br clear="none">is a set of four values with an empty value and then the three medals.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>is</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For matching if the left hand side type is an <strong><code>instanceof</code></strong> the value.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>not is</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For matching if the left hand side type is not an <strong><code>instanceof</code></strong> the value.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>range</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For matching if the left hand side is within a range of values de fined as numbers: <strong><code>from..to</code></strong>.</p><p>From <strong>Camel 2.9</strong>: the range values must be enclosed in single quotes.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>not range</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For matching if the left hand side is not within a range of values defined as numbers: <strong><code>from..to</code></strong>.</p><p>From <strong>Camel 2.9</strong>: the range values must be enclosed in single quotes.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>starts with</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.17.1, 2.18</strong><span>: For testing if the left hand side string starts with the right hand string.</span></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>ends with</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.17.1, 2.18</strong>: For testi ng if the left hand side string ends with the right hand string.</p></td></tr></tbody></table></div><p>And the following unary operators can be used:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Operator</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>++</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9:</strong> To increment a number by one. The left hand side must be a function, otherwise parsed as literal.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>--</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9:</strong> To decrement a number by one. The left hand side must be a function, otherwise parsed as literal.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>\</code></p></td><td colspan ="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9.3 to 2.10.x</strong> To escape a value, e.g., <strong><code>\$</code></strong>, to indicate a <strong><code>$</code></strong> sign. Special: Use <strong><code>\n</code></strong> for new line, <strong><code>\t</code></strong> for tab, and <strong><code>\r</code></strong> for carriage return.</p><p><strong>Note:</strong> Escaping is <strong>not</strong> supported using the <a shape="rect" href="file-language.html">File Language</a>.</p><p><span style="color: rgb(255,0,0);"> </span><strong><span style="color: rgb(255,0,0);">Note</span>:</strong> from Camel 2.11, <em>the escape character is no longer supported</em>. It has been replaced with the following three escape sequences.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>\n</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.11:</strong> To use newline character.</p></td></tr><tr><td colspan= "1" rowspan="1" class="confluenceTd"><p><code>\t</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.11:</strong> To use tab character.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>\r</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.11:</strong> To use carriage return character.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>\</code>}</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.18:</strong> To use the <strong><code>}</code></strong> character as text.</p></td></tr></tbody></table></div><p>And the following logical operators can be used to group expressions:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Operator</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><c ode>and</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><span style="color: rgb(255,0,0);"><strong>Deprecated</strong></span> use <strong><code>&&</code></strong> instead. The logical and operator is used to group two expressions.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>or</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><span style="color: rgb(255,0,0);"><strong>Deprecated</strong></span> use <strong><code>||</code></strong> instead. The logical or operator is used to group two expressions.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>&&</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9:</strong> The logical and operator is used to group two expressions.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>||</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9:</stron g> The logical or operator is used to group two expressions.</p></td></tr></tbody></table></div><div class="confluence-information-macro confluence-information-macro-information"><p class="title">Using and,or operators</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>In <strong>Camel 2.4 and older</strong> the <strong><code>and</code></strong> or <strong><code>or</code></strong> can only be used <strong>once</strong> in a simple language expression. From <strong>Camel 2.5</strong>: you can use these operators multiple times.</p></div></div><p>The syntax for <strong><code>AND</code></strong> is:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[${leftValue} OP rightValue and ${leftValue} OP rightValue ]]></script> </div></div><p>And the syntax for <strong><code>OR</code></strong> is:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> @@ -14323,8 +14323,8 @@ cometds://localhost:8443/service/mychann <div class="confluence-information-macro-body"> <p>When using CXF in streaming modes (see DataFormat option), then also read about <a shape="rect" href="stream-caching.html">Stream caching</a>.</p> </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">/**/ div.rbtoc1480544390924 {padding: 0px;} div.rbtoc1480544390924 ul {list-style: disc;margin-left: 0px;} div.rbtoc1480544390924 li {margin-left: 0px;padding-left: 0px;} /**/</style> - </p><div class="toc-macro rbtoc1480544390924"> +</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">/**/ div.rbtoc1480699179546 {padding: 0px;} div.rbtoc1480699179546 ul {list-style: disc;margin-left: 0px;} div.rbtoc1480699179546 li {margin-left: 0px;padding-left: 0px;} /**/</style> + </p><div class="toc-macro rbtoc1480699179546"> <ul class="toc-indentation"><li><a shape="rect" href="#BookInOnePage-CXFComponent">CXF Component</a> <ul class="toc-indentation"><li><a shape="rect" href="#BookInOnePage-URIformat">URI format</a></li><li><a shape="rect" href="#BookInOnePage-Options">Options</a> <ul class="toc-indentation"><li><a shape="rect" href="#BookInOnePage-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 Fri Dec 2 17:21:35 2016 @@ -949,7 +949,7 @@ simple("There are ${body.length} li </div></div><h3 id="BookLanguagesAppendix-OperatorSupport">Operator Support</h3><p>The parser is limited to only support a single operator. To enable it the left value must be enclosed in <strong><code>${ }</code></strong>.</p><p>The syntax is:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[${leftValue} OP rightValue ]]></script> -</div></div><p>Where the <strong><code>rightValue</code></strong> can be a <strong><code>String</code></strong> literal enclosed in <strong><code>' '</code></strong>, <strong><code>null</code></strong>, a constant value or another expression enclosed in<strong><code> ${}</code></strong>.</p><div class="confluence-information-macro confluence-information-macro-information"><p class="title">Important</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>There <em><strong>must</strong></em> be spaces around the operator.</p></div></div><p>Camel will automatically type convert the <strong><code>rightValue</code></strong> type to the <strong><code>leftValue</code></strong> type, so it is possible to for example, convert a string into a numeric so you can use <strong><code>></code></strong> comparison for numeric values.</p><p>The following operators are support ed:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Operator</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>==</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Equals.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>=~</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.16:</strong> equals ignore case (will ignore case when comparing <strong><code>String</code></strong> values).</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>></code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Greater than.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>>=</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Greater than or equals.</p></td></tr><tr><td colspan ="1" rowspan="1" class="confluenceTd"><p><code><</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Less than.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code><=</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Less than or equals.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>!=</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Not equals.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>contains</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For testing if contains in a string based value.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>not contains</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For testing if not contains in a string based value.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>regex</code></p></td><td colspan="1" rowspan="1" class="co nfluenceTd"><p>For matching against a given regular expression pattern defined as a <strong><code>String</code></strong> value.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>not regex</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For not matching against a given regular expression pattern defined as a <strong><code>String</code></strong> value.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>in</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For matching if in a set of values, each element must be separated by comma.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>not in</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For matching if not in a set of values, each element must be separated by comma.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>is</code></p></td><td colspan="1" rowspan="1" class="confluence Td"><p>For matching if the left hand side type is an <strong><code>instanceof</code></strong> the value.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>not is</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For matching if the left hand side type is not an <strong><code>instanceof</code></strong> the value.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>range</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For matching if the left hand side is within a range of values defined as numbers: <strong><code>from..to</code></strong>.</p><p>From <strong>Camel 2.9</strong>: the range values must be enclosed in single quotes.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>not range</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For matching if the left hand side is not within a range of values defined as numbers: <strong><code>from..to</code>< /strong>.</p><p>From <strong>Camel 2.9</strong>: the range values must be enclosed in single quotes.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>starts with</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.17.1, 2.18</strong><span>: For testing if the left hand side string starts with the right hand string.</span></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>ends with</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.17.1, 2.18</strong>: For testing if the left hand side string ends with the right hand string.</p></td></tr></tbody></table></div><p>And the following unary operators can be used:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Operator</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <p><code>++</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9:</strong> To increment a number by one. The left hand side must be a function, otherwise parsed as literal.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>--</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9:</strong> To decrement a number by one. The left hand side must be a function, otherwise parsed as literal.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>\</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9.3 to 2.10.x</strong> To escape a value, e.g., <strong><code>\$</code></strong>, to indicate a <strong><code>$</code></strong> sign. Special: Use <strong><code>\n</code></strong> for new line, <strong><code>\t</code></strong> for tab, and <strong><code>\r</code></strong> for carriage return.</p><p><strong>Note:</strong> Escaping is <stron g>not</strong> supported using the <a shape="rect" href="file-language.html">File Language</a>.</p><p><span style="color: rgb(255,0,0);"> </span><strong><span style="color: rgb(255,0,0);">Note</span>:</strong> from Camel 2.11, <em>the escape character is no longer supported</em>. It has been replaced with the following three escape sequences.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>\n</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.11:</strong> To use newline character.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>\t</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.11:</strong> To use tab character.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>\r</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.11:</strong> To use carriage return character.</p></td></tr><tr><td colspan="1" rowspan="1 " class="confluenceTd"><p><code>\</code>}</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.18:</strong> To use the <strong><code>}</code></strong> character as text.</p></td></tr></tbody></table></div><p>And the following logical operators can be used to group expressions:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Operator</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>and</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><span style="color: rgb(255,0,0);"><strong>Deprecated</strong></span> use <strong><code>&&</code></strong> instead. The logical and operator is used to group two expressions.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>or</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><span styl e="color: rgb(255,0,0);"><strong>Deprecated</strong></span> use <strong><code>||</code></strong> instead. The logical or operator is used to group two expressions.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>&&</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9:</strong> The logical and operator is used to group two expressions.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>||</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9:</strong> The logical or operator is used to group two expressions.</p></td></tr></tbody></table></div><div class="confluence-information-macro confluence-information-macro-information"><p class="title">Using and,or operators</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>In <strong>Camel 2.4 and older</strong> the <stro ng><code>and</code></strong> or <strong><code>or</code></strong> can only be used <strong>once</strong> in a simple language expression. From <strong>Camel 2.5</strong>: you can use these operators multiple times.</p></div></div><p>The syntax for <strong><code>AND</code></strong> is:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +</div></div><p>Where the <strong><code>rightValue</code></strong> can be a <strong><code>String</code></strong> literal enclosed in <strong><code>' '</code></strong>, <strong><code>null</code></strong>, a constant value or another expression enclosed in<strong><code> ${}</code></strong>.</p><div class="confluence-information-macro confluence-information-macro-information"><p class="title">Important</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>There <em><strong>must</strong></em> be spaces around the operator.</p></div></div><p>Camel will automatically type convert the <strong><code>rightValue</code></strong> type to the <strong><code>leftValue</code></strong> type, so it is possible to for example, convert a string into a numeric so you can use <strong><code>></code></strong> comparison for numeric values.</p><p>The following operators are support ed:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Operator</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>==</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Equals.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>=~</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.16:</strong> equals ignore case (will ignore case when comparing <strong><code>String</code></strong> values).</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>></code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Greater than.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>>=</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Greater than or equals.</p></td></tr><tr><td colspan ="1" rowspan="1" class="confluenceTd"><p><code><</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Less than.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code><=</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Less than or equals.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>!=</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Not equals.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>contains</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For testing if contains in a string based value.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>not contains</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For testing if not contains in a string based value.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>regex</code></p></td><td colspan="1" rowspan="1" class="co nfluenceTd"><p>For matching against a given regular expression pattern defined as a <strong><code>String</code></strong> value.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>not regex</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For not matching against a given regular expression pattern defined as a <strong><code>String</code></strong> value.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>in</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For matching if in a set of values, each element must be separated by comma.</p><p>If you want to include an empty value, then it must be defined using double comma, eg ',,bronze,silver,gold', which<br clear="none">is a set of four values with an empty value and then the three medals.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>not in</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For matchi ng if not in a set of values, each element must be separated by comma.</p><p>If you want to include an empty value, then it must be defined using double comma, eg ',,bronze,silver,gold', which<br clear="none">is a set of four values with an empty value and then the three medals.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>is</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For matching if the left hand side type is an <strong><code>instanceof</code></strong> the value.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>not is</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For matching if the left hand side type is not an <strong><code>instanceof</code></strong> the value.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>range</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For matching if the left hand side is within a range of values de fined as numbers: <strong><code>from..to</code></strong>.</p><p>From <strong>Camel 2.9</strong>: the range values must be enclosed in single quotes.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>not range</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For matching if the left hand side is not within a range of values defined as numbers: <strong><code>from..to</code></strong>.</p><p>From <strong>Camel 2.9</strong>: the range values must be enclosed in single quotes.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>starts with</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.17.1, 2.18</strong><span>: For testing if the left hand side string starts with the right hand string.</span></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>ends with</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.17.1, 2.18</strong>: For testi ng if the left hand side string ends with the right hand string.</p></td></tr></tbody></table></div><p>And the following unary operators can be used:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Operator</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>++</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9:</strong> To increment a number by one. The left hand side must be a function, otherwise parsed as literal.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>--</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9:</strong> To decrement a number by one. The left hand side must be a function, otherwise parsed as literal.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>\</code></p></td><td colspan ="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9.3 to 2.10.x</strong> To escape a value, e.g., <strong><code>\$</code></strong>, to indicate a <strong><code>$</code></strong> sign. Special: Use <strong><code>\n</code></strong> for new line, <strong><code>\t</code></strong> for tab, and <strong><code>\r</code></strong> for carriage return.</p><p><strong>Note:</strong> Escaping is <strong>not</strong> supported using the <a shape="rect" href="file-language.html">File Language</a>.</p><p><span style="color: rgb(255,0,0);"> </span><strong><span style="color: rgb(255,0,0);">Note</span>:</strong> from Camel 2.11, <em>the escape character is no longer supported</em>. It has been replaced with the following three escape sequences.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>\n</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.11:</strong> To use newline character.</p></td></tr><tr><td colspan= "1" rowspan="1" class="confluenceTd"><p><code>\t</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.11:</strong> To use tab character.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>\r</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.11:</strong> To use carriage return character.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>\</code>}</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.18:</strong> To use the <strong><code>}</code></strong> character as text.</p></td></tr></tbody></table></div><p>And the following logical operators can be used to group expressions:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Operator</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><c ode>and</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><span style="color: rgb(255,0,0);"><strong>Deprecated</strong></span> use <strong><code>&&</code></strong> instead. The logical and operator is used to group two expressions.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>or</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><span style="color: rgb(255,0,0);"><strong>Deprecated</strong></span> use <strong><code>||</code></strong> instead. The logical or operator is used to group two expressions.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>&&</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9:</strong> The logical and operator is used to group two expressions.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>||</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9:</stron g> The logical or operator is used to group two expressions.</p></td></tr></tbody></table></div><div class="confluence-information-macro confluence-information-macro-information"><p class="title">Using and,or operators</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>In <strong>Camel 2.4 and older</strong> the <strong><code>and</code></strong> or <strong><code>or</code></strong> can only be used <strong>once</strong> in a simple language expression. From <strong>Camel 2.5</strong>: you can use these operators multiple times.</p></div></div><p>The syntax for <strong><code>AND</code></strong> is:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[${leftValue} OP rightValue and ${leftValue} OP rightValue ]]></script> </div></div><p>And the syntax for <strong><code>OR</code></strong> is:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> Modified: websites/production/camel/content/cache/main.pageCache ============================================================================== Binary files - no diff available. Modified: websites/production/camel/content/simple.html ============================================================================== --- websites/production/camel/content/simple.html (original) +++ websites/production/camel/content/simple.html Fri Dec 2 17:21:35 2016 @@ -145,7 +145,7 @@ simple("There are ${body.length} li </div></div><h3 id="Simple-OperatorSupport">Operator Support</h3><p>The parser is limited to only support a single operator. To enable it the left value must be enclosed in <strong><code>${ }</code></strong>.</p><p>The syntax is:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[${leftValue} OP rightValue ]]></script> -</div></div><p>Where the <strong><code>rightValue</code></strong> can be a <strong><code>String</code></strong> literal enclosed in <strong><code>' '</code></strong>, <strong><code>null</code></strong>, a constant value or another expression enclosed in<strong><code> ${}</code></strong>.</p><div class="confluence-information-macro confluence-information-macro-information"><p class="title">Important</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>There <em><strong>must</strong></em> be spaces around the operator.</p></div></div><p>Camel will automatically type convert the <strong><code>rightValue</code></strong> type to the <strong><code>leftValue</code></strong> type, so it is possible to for example, convert a string into a numeric so you can use <strong><code>></code></strong> comparison for numeric values.</p><p>The following operators are support ed:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Operator</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>==</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Equals.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>=~</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.16:</strong> equals ignore case (will ignore case when comparing <strong><code>String</code></strong> values).</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>></code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Greater than.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>>=</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Greater than or equals.</p></td></tr><tr><td colspan ="1" rowspan="1" class="confluenceTd"><p><code><</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Less than.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code><=</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Less than or equals.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>!=</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Not equals.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>contains</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For testing if contains in a string based value.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>not contains</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For testing if not contains in a string based value.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>regex</code></p></td><td colspan="1" rowspan="1" class="co nfluenceTd"><p>For matching against a given regular expression pattern defined as a <strong><code>String</code></strong> value.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>not regex</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For not matching against a given regular expression pattern defined as a <strong><code>String</code></strong> value.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>in</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For matching if in a set of values, each element must be separated by comma.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>not in</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For matching if not in a set of values, each element must be separated by comma.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>is</code></p></td><td colspan="1" rowspan="1" class="confluence Td"><p>For matching if the left hand side type is an <strong><code>instanceof</code></strong> the value.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>not is</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For matching if the left hand side type is not an <strong><code>instanceof</code></strong> the value.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>range</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For matching if the left hand side is within a range of values defined as numbers: <strong><code>from..to</code></strong>.</p><p>From <strong>Camel 2.9</strong>: the range values must be enclosed in single quotes.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>not range</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For matching if the left hand side is not within a range of values defined as numbers: <strong><code>from..to</code>< /strong>.</p><p>From <strong>Camel 2.9</strong>: the range values must be enclosed in single quotes.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>starts with</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.17.1, 2.18</strong><span>: For testing if the left hand side string starts with the right hand string.</span></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>ends with</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.17.1, 2.18</strong>: For testing if the left hand side string ends with the right hand string.</p></td></tr></tbody></table></div><p>And the following unary operators can be used:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Operator</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <p><code>++</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9:</strong> To increment a number by one. The left hand side must be a function, otherwise parsed as literal.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>--</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9:</strong> To decrement a number by one. The left hand side must be a function, otherwise parsed as literal.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>\</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9.3 to 2.10.x</strong> To escape a value, e.g., <strong><code>\$</code></strong>, to indicate a <strong><code>$</code></strong> sign. Special: Use <strong><code>\n</code></strong> for new line, <strong><code>\t</code></strong> for tab, and <strong><code>\r</code></strong> for carriage return.</p><p><strong>Note:</strong> Escaping is <stron g>not</strong> supported using the <a shape="rect" href="file-language.html">File Language</a>.</p><p><span style="color: rgb(255,0,0);"> </span><strong><span style="color: rgb(255,0,0);">Note</span>:</strong> from Camel 2.11, <em>the escape character is no longer supported</em>. It has been replaced with the following three escape sequences.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>\n</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.11:</strong> To use newline character.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>\t</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.11:</strong> To use tab character.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>\r</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.11:</strong> To use carriage return character.</p></td></tr><tr><td colspan="1" rowspan="1 " class="confluenceTd"><p><code>\</code>}</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.18:</strong> To use the <strong><code>}</code></strong> character as text.</p></td></tr></tbody></table></div><p>And the following logical operators can be used to group expressions:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Operator</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>and</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><span style="color: rgb(255,0,0);"><strong>Deprecated</strong></span> use <strong><code>&&</code></strong> instead. The logical and operator is used to group two expressions.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>or</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><span styl e="color: rgb(255,0,0);"><strong>Deprecated</strong></span> use <strong><code>||</code></strong> instead. The logical or operator is used to group two expressions.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>&&</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9:</strong> The logical and operator is used to group two expressions.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>||</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9:</strong> The logical or operator is used to group two expressions.</p></td></tr></tbody></table></div><div class="confluence-information-macro confluence-information-macro-information"><p class="title">Using and,or operators</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>In <strong>Camel 2.4 and older</strong> the <stro ng><code>and</code></strong> or <strong><code>or</code></strong> can only be used <strong>once</strong> in a simple language expression. From <strong>Camel 2.5</strong>: you can use these operators multiple times.</p></div></div><p>The syntax for <strong><code>AND</code></strong> is:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +</div></div><p>Where the <strong><code>rightValue</code></strong> can be a <strong><code>String</code></strong> literal enclosed in <strong><code>' '</code></strong>, <strong><code>null</code></strong>, a constant value or another expression enclosed in<strong><code> ${}</code></strong>.</p><div class="confluence-information-macro confluence-information-macro-information"><p class="title">Important</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>There <em><strong>must</strong></em> be spaces around the operator.</p></div></div><p>Camel will automatically type convert the <strong><code>rightValue</code></strong> type to the <strong><code>leftValue</code></strong> type, so it is possible to for example, convert a string into a numeric so you can use <strong><code>></code></strong> comparison for numeric values.</p><p>The following operators are support ed:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Operator</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>==</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Equals.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>=~</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.16:</strong> equals ignore case (will ignore case when comparing <strong><code>String</code></strong> values).</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>></code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Greater than.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>>=</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Greater than or equals.</p></td></tr><tr><td colspan ="1" rowspan="1" class="confluenceTd"><p><code><</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Less than.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code><=</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Less than or equals.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>!=</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Not equals.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>contains</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For testing if contains in a string based value.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>not contains</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For testing if not contains in a string based value.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>regex</code></p></td><td colspan="1" rowspan="1" class="co nfluenceTd"><p>For matching against a given regular expression pattern defined as a <strong><code>String</code></strong> value.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>not regex</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For not matching against a given regular expression pattern defined as a <strong><code>String</code></strong> value.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>in</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For matching if in a set of values, each element must be separated by comma.</p><p>If you want to include an empty value, then it must be defined using double comma, eg ',,bronze,silver,gold', which<br clear="none">is a set of four values with an empty value and then the three medals.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>not in</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For matchi ng if not in a set of values, each element must be separated by comma.</p><p>If you want to include an empty value, then it must be defined using double comma, eg ',,bronze,silver,gold', which<br clear="none">is a set of four values with an empty value and then the three medals.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>is</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For matching if the left hand side type is an <strong><code>instanceof</code></strong> the value.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>not is</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For matching if the left hand side type is not an <strong><code>instanceof</code></strong> the value.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>range</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For matching if the left hand side is within a range of values de fined as numbers: <strong><code>from..to</code></strong>.</p><p>From <strong>Camel 2.9</strong>: the range values must be enclosed in single quotes.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>not range</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For matching if the left hand side is not within a range of values defined as numbers: <strong><code>from..to</code></strong>.</p><p>From <strong>Camel 2.9</strong>: the range values must be enclosed in single quotes.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>starts with</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.17.1, 2.18</strong><span>: For testing if the left hand side string starts with the right hand string.</span></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>ends with</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.17.1, 2.18</strong>: For testi ng if the left hand side string ends with the right hand string.</p></td></tr></tbody></table></div><p>And the following unary operators can be used:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Operator</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>++</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9:</strong> To increment a number by one. The left hand side must be a function, otherwise parsed as literal.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>--</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9:</strong> To decrement a number by one. The left hand side must be a function, otherwise parsed as literal.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>\</code></p></td><td colspan ="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9.3 to 2.10.x</strong> To escape a value, e.g., <strong><code>\$</code></strong>, to indicate a <strong><code>$</code></strong> sign. Special: Use <strong><code>\n</code></strong> for new line, <strong><code>\t</code></strong> for tab, and <strong><code>\r</code></strong> for carriage return.</p><p><strong>Note:</strong> Escaping is <strong>not</strong> supported using the <a shape="rect" href="file-language.html">File Language</a>.</p><p><span style="color: rgb(255,0,0);"> </span><strong><span style="color: rgb(255,0,0);">Note</span>:</strong> from Camel 2.11, <em>the escape character is no longer supported</em>. It has been replaced with the following three escape sequences.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>\n</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.11:</strong> To use newline character.</p></td></tr><tr><td colspan= "1" rowspan="1" class="confluenceTd"><p><code>\t</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.11:</strong> To use tab character.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>\r</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.11:</strong> To use carriage return character.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>\</code>}</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.18:</strong> To use the <strong><code>}</code></strong> character as text.</p></td></tr></tbody></table></div><p>And the following logical operators can be used to group expressions:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Operator</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><c ode>and</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><span style="color: rgb(255,0,0);"><strong>Deprecated</strong></span> use <strong><code>&&</code></strong> instead. The logical and operator is used to group two expressions.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>or</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><span style="color: rgb(255,0,0);"><strong>Deprecated</strong></span> use <strong><code>||</code></strong> instead. The logical or operator is used to group two expressions.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>&&</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9:</strong> The logical and operator is used to group two expressions.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>||</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9:</stron g> The logical or operator is used to group two expressions.</p></td></tr></tbody></table></div><div class="confluence-information-macro confluence-information-macro-information"><p class="title">Using and,or operators</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>In <strong>Camel 2.4 and older</strong> the <strong><code>and</code></strong> or <strong><code>or</code></strong> can only be used <strong>once</strong> in a simple language expression. From <strong>Camel 2.5</strong>: you can use these operators multiple times.</p></div></div><p>The syntax for <strong><code>AND</code></strong> is:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[${leftValue} OP rightValue and ${leftValue} OP rightValue ]]></script> </div></div><p>And the syntax for <strong><code>OR</code></strong> is:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">