Added: websites/production/camel/content/elsql.html
==============================================================================
--- websites/production/camel/content/elsql.html (added)
+++ websites/production/camel/content/elsql.html Mon Oct  5 10:19:10 2015
@@ -0,0 +1,185 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<html>
+<head>
+    <link href="//camel.apache.org/styles/site.css" rel="stylesheet" 
type="text/css">
+    <link href="//camel.apache.org/styles/type-settings.css" rel="stylesheet" 
type="text/css">
+    <script src="//camel.apache.org/styles/prototype.js" 
type="text/javascript"></script>
+    <script src="//camel.apache.org/styles/rico.js" 
type="text/javascript"></script>    
+    <script src="//camel.apache.org/styles/site.js" 
type="text/javascript"></script>
+
+    <meta http-equiv="Content-type" content="text/html;charset=UTF-8">
+
+    <style type="text/css">
+      .maincontent { overflow:hidden; }
+    </style>
+    <!--[if IE]>
+    <style type="text/css">
+      .maincontent { width:100%; }
+    </style>
+    <![endif]-->
+
+
+  <link href='//camel.apache.org/styles/highlighter/styles/shCoreCamel.css' 
rel='stylesheet' type='text/css' />
+  <link href='//camel.apache.org/styles/highlighter/styles/shThemeCamel.css' 
rel='stylesheet' type='text/css' />
+  <script src='//camel.apache.org/styles/highlighter/scripts/shCore.js' 
type='text/javascript'></script>
+  <script src='//camel.apache.org/styles/highlighter/scripts/shBrushJava.js' 
type='text/javascript'></script>
+  <script src='//camel.apache.org/styles/highlighter/scripts/shBrushXml.js' 
type='text/javascript'></script>
+  
+  <script type="text/javascript">
+  SyntaxHighlighter.defaults['toolbar'] = false;
+  SyntaxHighlighter.all();
+  </script>
+
+    <title>
+    Apache Camel: ElSql
+    </title>
+</head>
+<body>
+<div class="white_box">
+<div class="header">
+  <div class="header_l">
+    <div class="header_r">
+    </div>
+  </div>
+</div>
+<div class="content">
+  <div class="content_l">
+    <div class="content_r">
+      <div>
+          <!-- Banner -->
+<div id="banner-content"><div id="asf_logo">
+       <div id="activemq_logo" style="height:108px; background:transparent 
url(banner.data/apache-camel-7.png) no-repeat scroll left top;">
+            <a shape="rect" style="float:left; 
width:310px;display:block;text-indent:-5000px;text-decoration:none;line-height:140px;
 margin-top:20px; margin-left:18px;" href="http://camel.apache.org/";>Camel</a>
+            <a shape="rect" style="float:right; 
width:180px;display:block;text-indent:-5000px;text-decoration:none;line-height:80px;
 margin-top:45px; margin-right:10px;" href="http://www.apache.org";>Apache</a>
+       </div>
+</div></div>
+          <!-- Banner -->
+        <div class="top_red_bar">
+          <div id="site-breadcrumbs">
+                <!-- Breadcrumbs -->
+<a href="index.html">Apache Camel</a>&nbsp;&gt;&nbsp;<a 
href="documentation.html">Documentation</a>&nbsp;&gt;&nbsp;<a 
href="components.html">Components</a>&nbsp;&gt;&nbsp;<a 
href="elsql.html">ElSql</a>
+          </div>
+          <!-- Quicklinks -->
+<div id="site-quicklinks"><p><a shape="rect" href="download.html">Download</a> 
| <a shape="rect" href="javadoc.html">JavaDoc</a> | <a shape="rect" 
href="source.html">Source</a> | <a shape="rect" 
href="discussion-forums.html">Forums</a> | <a shape="rect" 
href="support.html">Support</a></p></div>
+          <!-- Quicklinks -->
+        </div>
+
+       <table border="0">
+       <tbody>
+        <tr>
+        <td valign="top" width="100%">
+<div class="wiki-content maincontent"><h2 id="ElSql-ElSqlComponent">ElSql 
Component</h2><p>The <strong>elsql:</strong> component is an extension to the 
existing <a shape="rect" href="sql-component.html">SQL Component</a> that uses 
<a shape="rect" class="external-link" href="https://github.com/OpenGamma/ElSql"; 
rel="nofollow">ElSql</a> to define the SQL queries.&#160;</p><p>This component 
uses <code><strong>spring-jdbc</strong></code> behind the scenes for the actual 
SQL handling.</p><p>Maven users will need to add the following dependency to 
their <code>pom.xml</code> for this component:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="brush: xml; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[&lt;dependency&gt;
+    &lt;groupId&gt;org.apache.camel&lt;/groupId&gt;
+    &lt;artifactId&gt;camel-elsql&lt;/artifactId&gt;
+    &lt;version&gt;x.x.x&lt;/version&gt;
+    &lt;!-- use the same version as your Camel core version --&gt;
+&lt;/dependency&gt;
+]]></script>
+</div></div><div class="confluence-information-macro 
confluence-information-macro-information"><span class="aui-icon aui-icon-small 
aui-iconfont-info confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>This component can be used as a <a 
shape="rect" class="external-link" 
href="http://camel.apache.org/transactional-client.html";>Transactional 
Client</a>.</p></div></div><p>The SQL component uses the following endpoint URI 
notation:</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[sql:elSqlName:resourceUri[?options]
+]]></script>
+</div></div><p>You can append query options to the URI in the following 
format,&#160;<code style="line-height: 
1.42857;">?option=value&amp;option=value&amp;...</code></p><p>The parameters to 
the SQL queries are named parameters in the elsql mapping files, and maps to 
corresponding keys from the Camel message,&#160;in the given 
precedence:</p><p>1. from message body if its a <code>java.util.Map</code><br 
clear="none"> 2. from message headers</p><p>If a named parameter cannot be 
resolved, then an exception is thrown.</p><h3 
id="ElSql-Options">Options</h3><div class="confluenceTableSmall"><div 
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Option</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><code>re
 sourceUri</code></td><td colspan="1" rowspan="1" 
class="confluenceTd">String</td><td colspan="1" rowspan="1" 
class="confluenceTd">null</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Required</strong> The resource file which contains 
the elsql SQL statements to use. Notice you can set this option on the 
component and then you do not have to configure this on the 
endpoint.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><code>elSqlConfig</code></td><td colspan="1" rowspan="1" 
class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" 
class="confluenceTd">null</td><td colspan="1" rowspan="1" 
class="confluenceTd">To use a specific configured ElSqlConfig. It may be better 
to use the databaseVendor option instead.</td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><code>databaseVendor</code></td><td 
colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" 
rowspan="1" class="confluenceTd">Default</td><td colspan="1" rowspan="1" class="
 confluenceTd">To use a vendor specific ElSqlConfig. The possible values are: 
Default, Postgres, HSql, MySql, Oracle, SqlServer2008, Veritca</td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>batch</code></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>boolean</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Execute SQL batch update statements. See 
notes below on how the treatment of the inbound message body changes if this is 
set to <code>true</code>.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>dataSource</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Reference to a <code>DataSource</code> to 
look up in the registry.</p></td></tr><tr><td colspan
 ="1" rowspan="1" 
class="confluenceTd"><p><code>template.&lt;xxx&gt;</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Sets additional options on the Spring 
NamedParameterJdbcTemplate that is used behind the scenes to execute the 
queries. For instance, <code>template.maxRows=10</code>. For detailed 
documentation, see the NamedParameterJdbcTemplate javadoc 
documentation.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>consumer.delay</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>long</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>500</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Delay in milliseconds between each 
poll.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>consumer.initialDelay</code></p></t
 d><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>long</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>1000</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Milliseconds before polling 
starts.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>consumer.useFixedDelay</code></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>boolean</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Set to <code>true</code> to use fixed delay 
between polls, otherwise fixed rate is used. See <a shape="rect" 
class="external-link" 
href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/ScheduledExecutorService.html";
 rel="nofollow">ScheduledExecutorService</a> in JDK for 
details.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>maxMessagesPerPoll</code></p></td><td colspan="1" 
rowspan=
 "1" class="confluenceTd"><p><code>int</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>An integer value to define the maximum 
number of messages to gather per poll. By default, no maximum is 
set.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>consumer.useIterator</code></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>boolean</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>If <code>true</code> each row returned when 
polling will be processed individually. If <code>false</code> the entire 
<code>java.util.List</code> of data is set as the IN body.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>consumer.routeEmptyResultSet</code></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>boolean</code></p></td><td colspa
 n="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Whether to route a single empty 
<a shape="rect" href="exchange.html">Exchange</a> if there was no data to 
poll.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>consumer.onConsume</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>After processing each row then this query 
can be executed, if the <a shape="rect" href="exchange.html">Exchange</a> was 
processed successfully, for example to mark the row as processed. The query can 
have parameter.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>consumer.onConsumeFailed</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td 
colspan="1" rowspan="1" class=
 "confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>After processing each row then this query can be 
executed, if the <a shape="rect" href="exchange.html">Exchange</a> failed, for 
example to mark the row as failed. The query can have 
parameter.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>consumer.onConsumeBatchComplete</code></p></td><td
 colspan="1" rowspan="1" 
class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>After processing the entire batch, this query can be 
executed to bulk update rows etc. The query cannot have 
parameters.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>consumer.breakBatchOnConsumeFail</code></p></td><td
 colspan="1" rowspan="1" 
class="confluenceTd"><p><code>boolean</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p
 ><code>false</code></p></td><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p>If using <code>consumer.onConsume</code> and it 
 >fails, then this option controls whether to break out of the batch or 
 >continue processing the next row from the batch.</p></td></tr><tr><td 
 >colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>outputType</code></p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td 
 >colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>SelectList</code></p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p>Make the output of consumer or producer 
 >to <code>SelectList</code> as List of Map, or <code>SelectOne</code> as 
 >single Java object in the following way:<br clear="none"> a) If the query has 
 >only single column, then that JDBC Column object is returned. (such as 
 ><code>SELECT COUNT( * ) FROM PROJECT</code> will return a Long object.<br 
 >clear="none"> b) If the query has more than one column, then it will return a 
 >Map of that result.<
 br clear="none"> c) If the <code>outputClass</code> is set, then it will 
convert the query result into an Java bean object by calling all the setters 
that match the column names. It will assume your class has a default 
constructor to create instance with.<br clear="none"> d) If the query resulted 
in more than one rows, it throws an non-unique result exception.</p><p>Tthe 
SelectList also supports mapping each row to a Java object as the SelectOne 
does <span>(only step c)</span>.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>outputClass</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Specify the full package and class name to 
use as conversion when <code>outputType=SelectOne</code>.</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>outputHeader</code></p></t
 d><td colspan="1" rowspan="1" class="confluenceTd"><code>String</code></td><td 
colspan="1" rowspan="1" class="confluenceTd"><code>null</code></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>To store the result as a header 
instead of the message body. This allows to preserve the existing message body 
as-is.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>noop</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>boolean</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>If set, will ignore the results of the SQL 
query and use the existing IN message as the OUT message for the continuation 
of processing</p></td></tr></tbody></table></div></div><h3 
id="ElSql-Resultofthequery">Result of the query</h3><p>For <code>select</code> 
operations, the result is an instance of <code>List&lt;Map&lt;String, 
Object&gt;&gt;</code> type, as returned by th
 e JdbcTemplate.queryForList() method. For <code>update</code> operations, the 
result is the number of updated rows, returned as an 
<code>Integer</code>.</p><p>By default, the result is placed in the message 
body.&#160; If the outputHeader parameter is set, the result is placed in the 
header.&#160; This is an alternative to using a full message enrichment pattern 
to add headers, it provides a concise syntax for querying a sequence or some 
other small value into a header.&#160; It is convenient to use outputHeader and 
outputType together:</p><h3 id="ElSql-Headervalues">Header values</h3><p>When 
performing <code>update</code> operations, the SQL Component stores the update 
count in the following message headers:</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Header</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>Cam
 elSqlUpdateCount</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>The number of rows updated for <code>update</code> 
operations, returned as an <code>Integer</code> object.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSqlRowCount</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>The number of rows returned for 
<code>select</code> operations, returned as an <code>Integer</code> 
object.</p></td></tr></tbody></table></div><h4 
id="ElSql-Sample">Sample</h4><p><span style="line-height: 1.42857;">In the 
given route below, we want to get all the projects from the projects table. 
Notice the SQL query has 2 named parameters, :#lic and 
:#min.</span></p><p>Camel will then lookup for these parameters from the 
message body or message headers. Notice in the example above we set two headers 
with constant value<br clear="none"> for the named parameters:</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeCont
 ent panelContent pdl">
+<script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[   from(&quot;direct:projects&quot;)
+     .setHeader(&quot;lic&quot;, constant(&quot;ASF&quot;))
+     .setHeader(&quot;min&quot;, constant(123))
+     .to(&quot;elsql:projects:com/foo/orders.elsql&quot;)
+]]></script>
+</div></div><p>And the <a shape="rect" class="external-link" 
href="https://github.com/OpenGamma/ElSql"; rel="nofollow">elsql</a> mapping 
file</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[@NAME(projects)
+  SELECT *
+  FROM projects
+  WHERE license = :lic AND id &gt; :min
+  ORDER BY id]]></script>
+</div></div><p>&#160;</p><p>Though if the message body is a 
<code>java.util.Map</code> then the named parameters will be taken from the 
body.</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[   from(&quot;direct:projects&quot;)
+     .to(&quot;elsql:projects:com/foo/orders.elsql&quot;)
+]]></script>
+</div></div><h4 
id="ElSql-SeeAlsoConfiguringCamelComponentEndpointGettingStarted"></h4><h3 
id="ElSql-SeeAlso">See Also</h3>
+<ul><li><a shape="rect" href="configuring-camel.html">Configuring 
Camel</a></li><li><a shape="rect" 
href="component.html">Component</a></li><li><a shape="rect" 
href="endpoint.html">Endpoint</a></li><li><a shape="rect" 
href="getting-started.html">Getting Started</a></li></ul><ul 
class="alternate"><li><a shape="rect" href="sql-component.html">SQL 
Component</a></li><li><a shape="rect" 
href="mybatis.html">MyBatis</a></li><li><a shape="rect" 
href="jdbc.html">JDBC</a></li></ul></div>
+        </td>
+        <td valign="top">
+          <div class="navigation">
+            <div class="navigation_top">
+                <!-- NavigationBar -->
+<div class="navigation_bottom" id="navigation_bottom"><h3 
id="Navigation-Overview"><a shape="rect" 
href="overview.html">Overview</a></h3><ul class="alternate"><li><a shape="rect" 
href="index.html">Home</a></li><li><a shape="rect" 
href="download.html">Download</a></li><li><a shape="rect" 
href="getting-started.html">Getting Started</a></li><li><a shape="rect" 
href="faq.html">FAQ</a></li></ul><h3 id="Navigation-Documentation"><a 
shape="rect" href="documentation.html">Documentation</a></h3><ul 
class="alternate"><li><a shape="rect" href="user-guide.html">User 
Guide</a></li><li><a shape="rect" href="manual.html">Manual</a></li><li><a 
shape="rect" href="books.html">Books</a></li><li><a shape="rect" 
href="tutorials.html">Tutorials</a></li><li><a shape="rect" 
href="examples.html">Examples</a></li><li><a shape="rect" 
href="cookbook.html">Cookbook</a></li><li><a shape="rect" 
href="architecture.html">Architecture</a></li><li><a shape="rect" 
href="enterprise-integration-patterns.html">Enterprise
  Integration Patterns</a></li><li><a shape="rect" 
href="dsl.html">DSL</a></li><li><a shape="rect" 
href="components.html">Components</a></li><li><a shape="rect" 
href="data-format.html">Data Format</a></li><li><a shape="rect" 
href="languages.html">Languages</a></li><li><a shape="rect" 
href="security.html">Security</a></li><li><a shape="rect" 
href="security-advisories.html">Security Advisories</a></li></ul><h3 
id="Navigation-Search">Search</h3><form 
enctype="application/x-www-form-urlencoded" method="get" id="cse-search-box" 
action="http://www.google.com/cse";>
+  <div>
+    <input type="hidden" name="cx" value="007878419884033443453:m5nhvy4hmyq">
+    <input type="hidden" name="ie" value="UTF-8">
+    <input type="text" name="q" size="21">
+    <input type="submit" name="sa" value="Search">
+  </div>
+</form>
+<script type="text/javascript" 
src="http://www.google.com/coop/cse/brand?form=cse-search-box&amp;lang=en";></script><h3
 id="Navigation-Community"><a shape="rect" 
href="community.html">Community</a></h3><ul class="alternate"><li><a 
shape="rect" href="support.html">Support</a></li><li><a shape="rect" 
href="contributing.html">Contributing</a></li><li><a shape="rect" 
href="discussion-forums.html">Discussion Forums</a></li><li><a shape="rect" 
href="mailing-lists.html">Mailing Lists</a></li><li><a shape="rect" 
href="user-stories.html">User Stories</a></li><li><a shape="rect" 
href="news.html">News</a></li><li><a shape="rect" 
href="articles.html">Articles</a></li><li><a shape="rect" 
href="site.html">Site</a></li><li><a shape="rect" 
href="team.html">Team</a></li><li><a shape="rect" class="external-link" 
href="http://camel-extra.googlecode.com/"; rel="nofollow">Camel 
Extra</a></li></ul><h3 id="Navigation-Developers"><a shape="rect" 
href="developers.html">Developers</a></h3><ul class="alternate"
 ><li><a shape="rect" href="developers.html">Developer Guide</a></li><li><a 
 >shape="rect" href="source.html">Source</a></li><li><a shape="rect" 
 >href="building.html">Building</a></li><li><a shape="rect" 
 >href="javadoc.html">JavaDoc</a></li><li><a shape="rect" 
 >href="irc-room.html">IRC Room</a></li></ul><h3 
 >id="Navigation-ApacheSoftwareFoundation">Apache Software Foundation</h3><ul 
 >class="alternate"><li><a shape="rect" class="external-link" 
 >href="http://www.apache.org/licenses/";>License</a></li><li><a shape="rect" 
 >class="external-link" 
 >href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a></li><li><a
 > shape="rect" class="external-link" 
 >href="http://www.apache.org/foundation/thanks.html";>Thanks</a></li><li><a 
 >shape="rect" class="external-link" 
 >href="http://www.apache.org/security/";>Security</a></li></ul></div>
+                <!-- NavigationBar -->
+            </div>
+          </div>
+        </td>
+        </tr>
+       </tbody>
+        </table>
+
+
+        <div class="bottom_red_bar"></div>
+      </div>
+    </div>
+  </div>
+</div>
+<div class="black_box">
+<div class="footer">
+  <div class="footer_l">
+    <div class="footer_r">
+      <div>
+        <a href="$base/privacy-policy.html">Privacy Policy</a> -
+        (<a 
href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=61322192";>edit
 page</a>)
+        (<a 
href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=61322192&amp;showComments=true&amp;showCommentArea=true#addcomment";>add
 comment</a>)
+      </div>
+    </div>
+  </div>
+</div>
+</div>
+</div>
+<div class="design_attribution">
+&copy; 2004-2015 The Apache Software Foundation.
+<br>          
+Apache Camel, Camel, Apache, the Apache feather logo, and the Apache Camel 
project logo are trademarks of The Apache Software Foundation.  All other marks 
mentioned may be trademarks or registered trademarks of their respective owners.
+<br>
+<a href="http://hiramchirino.com";>Graphic Design By Hiram</a>
+</div>
+
+<!-- Camel committers that would like access to the Analytics, send a note to 
priv...@camel.apache.org -->
+<script type="text/javascript">
+
+  var _gaq = _gaq || [];
+  _gaq.push(['_setAccount', 'UA-25976253-1']);
+  _gaq.push(['_trackPageview']);
+
+  (function() {
+    var ga = document.createElement('script'); ga.type = 'text/javascript'; 
ga.async = true;
+    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 
'http://www') + '.google-analytics.com/ga.js';
+    var s = document.getElementsByTagName('script')[0]; 
s.parentNode.insertBefore(ga, s);
+  })();
+
+</script>
+
+</body>
+</html>
+
+


Reply via email to