Author: buildbot
Date: Wed Jan  2 14:18:35 2013
New Revision: 844623

Log:
Production update by buildbot for camel

Modified:
    websites/production/camel/content/cache/main.pageCache
    websites/production/camel/content/camel-2110-release.html
    websites/production/camel/content/groovy-dsl.html

Modified: websites/production/camel/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.

Modified: websites/production/camel/content/camel-2110-release.html
==============================================================================
--- websites/production/camel/content/camel-2110-release.html (original)
+++ websites/production/camel/content/camel-2110-release.html Wed Jan  2 
14:18:35 2013
@@ -144,7 +144,7 @@
 
 <h2><a shape="rect" 
name="Camel2.11.0Release-DependencyUpgrades"></a>Dependency Upgrades</h2>
 
-<ul><li>Aries Blueprint 0.3 to 1.0.0</li><li>Async Http Client 1.7.5 to 
1.7.9</li><li>Avro 1.6.2 to 1.7.2</li><li>AWS 1.3.10 to 1.3.14</li><li>Axiom 
1.2.10 to 1.2.12</li><li>BeanIO 2.0.0 to 2.0.2</li><li>Commons Exec 1.0.1 to 
1.1</li><li>ConcurrentLinkedHashMap 1.2 to 1.3.2</li><li>Ehcache 2.5.1 to 
2.6.0</li><li>Groovy 1.8.6 to 2.0.6</li><li>GSon 2.1 to 2.2.2</li><li>Hazelcast 
2.0.2 to 2.4</li><li>HTTP Client 4.1.3 to 4.2.2</li><li>Icu4j 4.0.1 to 
4.8.1.1</li><li>Jackson 1.9.7 to 1.9.10</li><li>Jaxen 1.1.3 to 
1.1.4</li><li>JClouds 1.4.0 to 1.5.4</li><li>Jettison 1.3.1 to 
1.3.2</li><li>Jetty 7.5.4 to 7.6.8</li><li>JRuby 1.6.7 to 1.7.1</li><li>JT400 
6.0 to 6.7</li><li>Krati 0.4.5 to 0.4.6</li><li>LevelDBJNI 1.2 to 
1.3</li><li>Lucene 3.6.0 to 3.6.1</li><li>Mina 2.0.4 to 2.0.7</li><li>MongoDB 
Java Driver 2.7.3 to 2.9.1</li><li>MQTTClient 1.2 to 1.4</li><li>Netty 3.5.1 to 
3.5.11</li><li>Ognl bundle 3.0.4_1 to 3.0.5_1</li><li>OSGi 4.2.0 to 
4.3.0</li><li>Pax Logging 1.5.3 to 1.6.10<
 /li><li>QPid 0.16 to 0.18</li><li>Quartz 1.8.5 to 1.8.6</li><li>Restlet 2.0.14 
to 2.0.15</li><li>Saxon 9.3.0.11 to 9.4.0.1</li><li>Scala 2.9.1 to 
2.9.2</li><li>Shiro 1.2.0 to 1.2.1</li><li>SLF4J 1.6.6 to 1.7.2</li><li>Solr 
3.6.0 to 3.6.1</li><li>Spring Batch 2.1.8 to 2.1.9</li><li>Spring Framework 
3.1.1 to 3.1.2</li><li>Spring Integration 2.1.2 to 2.1.4</li><li>Spring 
Security 3.1.0 to 3.1.3</li><li>SSHD 0.6.0 to 0.8.0</li><li>TestNG 6.0.1 to 
6.8</li><li>Woodstox 4.1.2 to 4.1.3</li><li>XStream 1.4.2 to 1.4.3</li></ul>
+<ul><li>Aries Blueprint 0.3 to 1.0.0</li><li>Async Http Client 1.7.5 to 
1.7.9</li><li>Avro 1.6.2 to 1.7.2</li><li>AWS 1.3.10 to 1.3.14</li><li>Axiom 
1.2.10 to 1.2.12</li><li>BeanIO 2.0.0 to 2.0.2</li><li>Commons Exec 1.0.1 to 
1.1</li><li>ConcurrentLinkedHashMap 1.2 to 1.3.2</li><li>Ehcache 2.5.1 to 
2.6.0</li><li>Groovy 1.8.6 to 2.0.6</li><li>GSon 2.1 to 2.2.2</li><li>Hazelcast 
2.0.2 to 2.4</li><li>HBase 0.90.5 to 0.94.2</li><li>HTTP Client 4.1.3 to 
4.2.2</li><li>Icu4j 4.0.1 to 4.8.1.1</li><li>Jackson 1.9.7 to 
1.9.10</li><li>Jaxen 1.1.3 to 1.1.4</li><li>JClouds 1.4.0 to 
1.5.4</li><li>Jettison 1.3.1 to 1.3.2</li><li>Jetty 7.5.4 to 
7.6.8</li><li>JRuby 1.6.7 to 1.7.1</li><li>JT400 6.0 to 6.7</li><li>Krati 0.4.5 
to 0.4.6</li><li>LevelDBJNI 1.2 to 1.3</li><li>Lucene 3.6.0 to 
3.6.1</li><li>Mina 2.0.4 to 2.0.7</li><li>MongoDB Java Driver 2.7.3 to 
2.9.1</li><li>MQTTClient 1.2 to 1.4</li><li>Netty 3.5.1 to 3.5.11</li><li>Ognl 
bundle 3.0.4_1 to 3.0.5_1</li><li>OSGi 4.2.0 to 4.3.0</li><
 li>Pax Logging 1.5.3 to 1.6.10</li><li>QPid 0.16 to 0.18</li><li>Quartz 1.8.5 
to 1.8.6</li><li>Restlet 2.0.14 to 2.0.15</li><li>Saxon 9.3.0.11 to 
9.4.0.1</li><li>Scala 2.9.1 to 2.9.2</li><li>Shiro 1.2.0 to 1.2.1</li><li>SLF4J 
1.6.6 to 1.7.2</li><li>Solr 3.6.0 to 3.6.1</li><li>Spring Batch 2.1.8 to 
2.1.9</li><li>Spring Framework 3.1.1 to 3.1.2</li><li>Spring Integration 2.1.2 
to 2.1.4</li><li>Spring Security 3.1.0 to 3.1.3</li><li>SSHD 0.6.0 to 
0.8.0</li><li>StringTemplate 3.2.1 to 4.0.2</li><li>TestNG 6.0.1 to 
6.8</li><li>TWitter4j 2.2.5 to 3.0.3</li><li>Woodstox 4.1.2 to 
4.1.3</li><li>XStream 1.4.2 to 1.4.3</li></ul>
 
 
 <h2><a shape="rect" 
name="Camel2.11.0Release-Importantchangestoconsiderwhenupgrading"></a>Important 
changes to consider when upgrading</h2>

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  2 14:18:35 2013
@@ -300,7 +300,78 @@ def x = <span class="code-quote">"It is 
 <p>Because GStrings aren't Strings, camel-groovy adds the necessary <a 
shape="rect" href="type-converter.html" title="Type 
Converter">TypeConverter</a> to automatically turn them into the required 
type.</p>
 
 
-<h4><a shape="rect" name="GroovyDSL-CustomDSLextensions"></a>Custom DSL 
extensions</h4></div>
+<h4><a shape="rect" name="GroovyDSL-CustomDSLextensions"></a>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" style="border-width: 1px;"><div class="codeHeader 
panelHeader" style="border-bottom-width: 
1px;"><b>MyExtension.java</b></div><div class="codeContent panelContent">
+<pre class="code-java">
+
+<span class="code-keyword">import</span> org.apache.camel.Endpoint;
+<span class="code-keyword">import</span> org.apache.camel.Predicate;
+
+<span class="code-keyword">public</span> <span 
class="code-keyword">final</span> class MyExtension {
+    <span class="code-keyword">private</span> MyExtension() {
+        <span class="code-comment">// Utility <span 
class="code-object">Class</span>
+</span>    }
+
+    <span class="code-comment">// Set the id of a route to its consumer URI
+</span>    <span class="code-keyword">public</span> <span 
class="code-keyword">static</span> RouteDefinition fromId(RouteDefinition 
delegate, <span class="code-object">String</span> uri) {
+       <span class="code-keyword">return</span> 
delegate.from(uri).routeId(uri);
+    }
+
+    <span class="code-keyword">public</span> <span 
class="code-keyword">static</span> RouteDefinition fromId(RouteDefinition 
delegate, Endpoint endpoint) {
+       <span class="code-keyword">return</span> 
delegate.from(endpoint).routeId(endpoint.getEndpointUri());
+    }
+
+    <span class="code-comment">// Make common choice pattern more concise
+</span>
+    <span class="code-keyword">public</span> <span 
class="code-keyword">static</span> ProcessorDefinition&lt;?&gt; 
fork(ProcessorDefinition&lt;?&gt; delegate, <span 
class="code-object">String</span> uri1, <span class="code-object">String</span> 
uri2, Predicate predicate) {
+       <span class="code-keyword">return</span> 
delegate.choice().when(predicate).to(uri1).otherwise().to(uri2);
+    }
+
+}
+</pre>
+</div></div>
+
+<p>Add a corresponding extension module descriptor to 
<tt>META-INF/services</tt>:</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeHeader 
panelHeader" style="border-bottom-width: 
1px;"><b>META-INF/services/org.codehaus.groovy.runtime.ExtensionModule</b></div><div
 class="codeContent panelContent">
+<pre class="code-java">
+moduleName=my-extension
+moduleVersion=2.11
+extensionClasses=MyExtension
+staticExtensionClasses=
+</pre>
+</div></div>
+
+<p>And now your Groovy route can look like this:</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeHeader 
panelHeader" style="border-bottom-width: 1px;"><b>MyRoute.groovy</b></div><div 
class="codeContent panelContent">
+<pre class="code-java">
+...
+   fromId('direct:test1')
+      .fork('direct:<span class="code-keyword">null</span>','direct:not-<span 
class="code-keyword">null</span>',body().isNull())
+...
+</pre>
+</div></div>
+
+<p>Using the plain Java DSL, the route would look something like this:</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeHeader 
panelHeader" style="border-bottom-width: 1px;"><b>MyRoute.java</b></div><div 
class="codeContent panelContent">
+<pre class="code-java">
+...
+   from(<span class="code-quote">"direct:test1"</span>)
+      .routeId(<span class="code-quote">"direct:test1"</span>)
+      .choice()
+         .when(body().isNull())
+            .to(<span class="code-quote">"direct:<span 
class="code-keyword">null</span>"</span>)
+         .otherwise()
+            .to(<span class="code-quote">"direct:not-<span 
class="code-keyword">null</span>"</span>);
+...
+</pre>
+</div></div></div>
         </td>
         <td valign="top">
           <div class="navigation">


Reply via email to