Modified: websites/production/camel/content/properties.html
==============================================================================
--- websites/production/camel/content/properties.html (original)
+++ websites/production/camel/content/properties.html Tue Sep 22 14:26:24 2015
@@ -203,7 +203,8 @@ from("direct:start")
<jmxAgent id="agent" registryPort="{{myjmx.port}}"
disabled="{{myjmx.disabled}}"
usePlatformMBeanServer="{{myjmx.usePlatform}}"
createConnector="true"
- statisticsLevel="RoutesOnly"/>
+ statisticsLevel="RoutesOnly"
+ useHostIPAddress="true"/>
<route id="foo" autoStartup="false">
<from uri="seda:start"/>
@@ -372,7 +373,7 @@ from("direct:start")
</div></div><p>Each location is separated by comma.</p><h4
id="Properties-OverridingBlueprintpropertyplaceholdersoutsideCamelContext">Overriding
Blueprint property placeholders outside CamelContext</h4><p><strong>Available
as of Camel 2.10.4</strong></p><p>When using Blueprint property placeholder in
the Blueprint XML file, you can declare the properties directly in the XML file
as shown below:</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[
<!-- blueprint property placeholders -->
-<cm:property-placeholder persistent-id="my-placeholders">
+<cm:property-placeholder persistent-id="my-placeholders"
update-strategy="reload">
<cm:default-properties>
<cm:property name="greeting" value="Hello"/>
<cm:property name="destination"
value="mock:result"/>
@@ -408,7 +409,7 @@ protected String useOverridePropertiesWi
</div></div><p>To do this we override and implement the
<code>useOverridePropertiesWithConfigAdmin</code> method. We can then put the
properties we want to override on the given props parameter. And the return
value <strong>must</strong> be the persistence-id of the
<cm:property-placeholder> tag, which you define in the blueprint XML
file.</p><h4
id="Properties-Using.cfgor.propertiesfileforBlueprintpropertyplaceholders">Using
.cfg or .properties file for Blueprint property
placeholders</h4><p><strong>Available as of Camel 2.10.4</strong></p><p>When
using Blueprint property placeholder in the Blueprint XML file, you can declare
the properties in a .properties or .cfg file. If you use Apache ServieMix /
Karaf then this container has a convention that it loads the properties from a
file in the etc directory with the naming etc/pid.cfg, where pid is the
persistence-id.</p><p>For example in the blueprint XML file we have the
persistence-id="stuff", which mean it will load the confi
guration file as etc/stuff.cfg.</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[
<!-- blueprint property placeholders, that will use etc/stuff.cfg as the
properties file -->
-<cm:property-placeholder persistent-id="stuff"/>
+<cm:property-placeholder persistent-id="stuff"
update-strategy="reload"/>
<!-- a bean that uses a blueprint property placeholder -->
<bean id="myCoolBean"
class="org.apache.camel.test.blueprint.MyCoolBean">
@@ -442,13 +443,17 @@ greeting=Bye
<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-
xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0"
+
xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0"
xsi:schemaLocation="
- http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0
http://aries.apache.org/schemas/blueprint-cm/blueprint-cm-1.0.0.xsd
+ http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0
http://aries.apache.org/schemas/blueprint-cm/blueprint-cm-1.1.0.xsd
http://www.osgi.org/xmlns/blueprint/v1.0.0
http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd">
<!-- blueprint property placeholders, that will use etc/stuff.cfg as the
properties file -->
- <cm:property-placeholder persistent-id="stuff"/>
+ <cm:property-placeholder persistent-id="stuff"
update-strategy="reload">
+ <cm:default-properties>
+ <cm:property name="destination"
value="to-be-replaced" />
+ </cm:default-properties>
+ </cm:property-placeholder>
<!-- a bean that uses a blueprint property placeholder -->
<bean id="myCoolBean"
class="org.apache.camel.test.blueprint.MyCoolBean">
Modified: websites/production/camel/content/property.html
==============================================================================
--- websites/production/camel/content/property.html (original)
+++ websites/production/camel/content/property.html Tue Sep 22 14:26:24 2015
@@ -91,7 +91,7 @@
<route>
<from uri="direct:a" />
<recipientList>
- <property>myProperty</property>
+ <exchangeProperty>myProperty</exchangeProperty>
</recipientList>
</route>
]]></script>
Modified:
websites/production/camel/content/running-camel-standalone-and-have-it-keep-running.html
==============================================================================
---
websites/production/camel/content/running-camel-standalone-and-have-it-keep-running.html
(original)
+++
websites/production/camel/content/running-camel-standalone-and-have-it-keep-running.html
Tue Sep 22 14:26:24 2015
@@ -119,6 +119,8 @@ public class MainExample {
main.bind("foo", new MyBean());
// add routes
main.addRouteBuilder(new MyRouteBuilder());
+ // add event listener
+ main.addMainListener(new Events());
// run until you terminate the JVM
System.out.println("Starting Camel. Use ctrl + c to terminate the
JVM.\n");
@@ -134,7 +136,7 @@ public class MainExample {
System.out.println("Invoked timer at " + new
Date());
}
})
- .beanRef("foo");
+ .bean("foo");
}
}
@@ -143,6 +145,19 @@ public class MainExample {
System.out.println("MyBean.calleMe method has been
called");
}
}
+
+ public static class Events extends MainListenerSupport {
+
+ @Override
+ public void afterStart(MainSupport main) {
+ System.out.println("MainExample with Camel is now
started!");
+ }
+
+ @Override
+ public void beforeStop(MainSupport main) {
+ System.out.println("MainExample with Camel is now being
stopped!");
+ }
+ }
}
]]></script>
</div></div>
Modified: websites/production/camel/content/running-camel-standalone.html
==============================================================================
--- websites/production/camel/content/running-camel-standalone.html (original)
+++ websites/production/camel/content/running-camel-standalone.html Tue Sep 22
14:26:24 2015
@@ -99,7 +99,7 @@
<div class="navigation">
<div class="navigation_top">
<!-- NavigationBar -->
-<div class="navigation_bottom" id="navigation_bottom"><h3
id="Navigation-Overviewhttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=49132"><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-Documentationhttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=49534"><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 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">
@@ -107,7 +107,7 @@
<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&lang=en"></script><h3
id="Navigation-Communityhttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=49115"><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-Developershttps://cwi
ki.apache.org/confluence/pages/viewpage.action?pageId=49124"><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>
+<script type="text/javascript"
src="http://www.google.com/coop/cse/brand?form=cse-search-box&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>
Modified: websites/production/camel/content/salesforce.html
==============================================================================
--- websites/production/camel/content/salesforce.html (original)
+++ websites/production/camel/content/salesforce.html Tue Sep 22 14:26:24 2015
@@ -86,38 +86,38 @@
<tr>
<td valign="top" width="100%">
<div class="wiki-content maincontent"><h2
id="Salesforce-Salesforcecomponent">Salesforce
component</h2><p><strong>Available as of Camel 2.12</strong></p><p>This
component supports producer and consumer endpoints to communicate with
Salesforce using Java DTOs. <br clear="none"> There is a companion maven plugin
Camel Salesforce Plugin that generates these DTOs (see further
below).</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">
-<pre class="brush: xml; gutter: false; theme: Default"
style="font-size:12px;"><dependency>
+<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-salesforce</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel core version -->
</dependency>
-</pre>
+]]></script>
</div></div><h3 id="Salesforce-URIformat">URI format</h3><p>The URI scheme for
a salesforce component is as follows</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default"
style="font-size:12px;">salesforce:topic?options
-</pre>
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[salesforce:topic?options
+]]></script>
</div></div><p>You can append query options to the URI in the following
format, <code>?option=value&option=value&...</code></p><h3
id="Salesforce-SupportedSalesforceAPIs">Supported Salesforce APIs</h3><p>The
component supports the following Salesforce APIs</p><p>Producer endpoints can
use the following APIs. Most of the APIs process one record at a time, the
Query API can retrieve multiple Records.</p><h4 id="Salesforce-RestAPI">Rest
API</h4><ul><li>getVersions - Gets supported Salesforce REST API
versions</li><li>getResources - Gets available Salesforce REST Resource
endpoints</li><li>getGlobalObjects - Gets metadata for all available SObject
types</li><li>getBasicInfo - Gets basic metadata for a specific SObject
type</li><li>getDescription - Gets comprehensive metadata for a specific
SObject type</li><li>getSObject - Gets an SObject using its Salesforce
Id</li><li>createSObject - Creates an SObject</li><li>updateSObject - Updates
an SObject using Id</li><li>deleteSObject -
Deletes an SObject using Id</li><li>getSObjectWithId - Gets an SObject using
an external (user defined) id field</li><li>upsertSObject - Updates or inserts
an SObject using an external id</li><li>deleteSObjectWithId - Deletes an
SObject using an external id</li><li>query - Runs a Salesforce SOQL
query</li><li>queryMore - Retrieves more results (in case of large number of
results) using result link returned from the 'query' API</li><li>search - Runs
a Salesforce SOSL query</li></ul><p>For example, the following producer
endpoint uses the upsertSObject API, with the sObjectIdName parameter
specifying 'Name' as the external id field. <br clear="none"> The request
message body should be an SObject DTO generated using the maven plugin. <br
clear="none"> The response message will either be <code>null</code> if an
existing record was updated, or <code>CreateSObjectResult</code> with an id of
the new record, or a list of errors while creating the new object.</p><div
class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default"
style="font-size:12px;">
...to("salesforce:upsertSObject?sObjectIdName=Name")...
-</pre>
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
...to("salesforce:upsertSObject?sObjectIdName=Name")...
+]]></script>
</div></div><h4 id="Salesforce-RestBulkAPI">Rest Bulk API</h4><p>Producer
endpoints can use the following APIs. All Job data formats, i.e. xml, csv,
zip/xml, and zip/csv are supported. <br clear="none"> The request and response
have to be marshalled/unmarshalled by the route. Usually the request will be
some stream source like a CSV file, <br clear="none"> and the response may also
be saved to a file to be correlated with the request.</p><ul><li>createJob -
Creates a Salesforce Bulk Job</li><li>getJob - Gets a Job using its Salesforce
Id</li><li>closeJob - Closes a Job</li><li>abortJob - Aborts a
Job</li><li>createBatch - Submits a Batch within a Bulk Job</li><li>getBatch -
Gets a Batch using Id</li><li>getAllBatches - Gets all Batches for a Bulk Job
Id</li><li>getRequest - Gets Request data (XML/CSV) for a
Batch</li><li>getResults - Gets the results of the Batch when its
complete</li><li>createBatchQuery - Creates a Batch from an SOQL
query</li><li>getQueryResultIds - Gets a list o
f Result Ids for a Batch Query</li><li>getQueryResult - Gets results for a
Result Id</li></ul><p>For example, the following producer endpoint uses the
createBatch API to create a Job Batch. <br clear="none"> The in message must
contain a body that can be converted into an <code>InputStream</code> (usually
UTF-8 CSV or XML content from a file, etc.) and header fields 'jobId' for the
Job and 'contentType' for the Job content type, which can be XML, CSV, ZIP_XML
or ZIP_CSV. The put message body will contain <code>BatchInfo</code> on
success, or throw a <code>SalesforceException</code> on error.</p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default"
style="font-size:12px;"> ...to("salesforce:createBatchJob")..
-</pre>
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
...to("salesforce:createBatchJob")..
+]]></script>
</div></div><h4 id="Salesforce-RestStreamingAPI">Rest Streaming
API</h4><p>Consumer endpoints can use the following sytax for streaming
endpoints to receive Salesforce notifications on create/update.</p><p>To create
and subscribe to a topic</p><div class="code panel pdl" style="border-width:
1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default"
style="font-size:12px;">
from("salesforce:CamelTestTopic?notifyForFields=ALL&notifyForOperations=ALL&sObjectName=Merchandise__c&updateTopic=true&sObjectQuery=SELECT
Id, Name FROM Merchandise__c")...
-</pre>
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
from("salesforce:CamelTestTopic?notifyForFields=ALL&notifyForOperations=ALL&sObjectName=Merchandise__c&updateTopic=true&sObjectQuery=SELECT
Id, Name FROM Merchandise__c")...
+]]></script>
</div></div><p>To subscribe to an existing topic</p><div class="code panel
pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default"
style="font-size:12px;">
from("salesforce:CamelTestTopic&sObjectName=Merchandise__c")...
-</pre>
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
from("salesforce:CamelTestTopic&sObjectName=Merchandise__c")...
+]]></script>
</div></div><h2 id="Salesforce-Examples">Examples</h2><h3
id="Salesforce-UploadingadocumenttoaContentWorkspace">Uploading a document to a
ContentWorkspace</h3><p>Create the ContentVersion in Java, using a Processor
instance:</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default"
style="font-size:12px;">public class ContentProcessor implements Processor {
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[public class ContentProcessor implements
Processor {
public void process(Exchange exchange) throws Exception {
Message message = exchange.getIn();
ContentVersion cv = new ContentVersion();
ContentWorkspace cw = getWorkspace(exchange);
cv.setFirstPublishLocationId(cw.getId());
- cv.setTitle("test document");
- cv.setPathOnClient("test_doc.html");
+ cv.setTitle("test document");
+ cv.setPathOnClient("test_doc.html");
byte[] document = message.getBody(byte[].class);
ObjectMapper mapper = new ObjectMapper();
String enc = mapper.convertValue(document, String.class);
@@ -130,15 +130,15 @@
// header that can be extracted here
....
}
-} </pre>
+} ]]></script>
</div></div><p>Give the output from the processor to the Salesforce
component:</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default"
style="font-size:12px;"> from("file:///home/camel/library")
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[ from("file:///home/camel/library")
.to(new ContentProcessor()) // convert bytes from the file
into a ContentVersion SObject
// for the salesforce component
- .to("salesforce:createSObject"); </pre>
+ .to("salesforce:createSObject"); ]]></script>
</div></div><h2 id="Salesforce-CamelSalesforceMavenPlugin">Camel Salesforce
Maven Plugin</h2><p>This Maven plugin generates DTOs for the Camel <a
shape="rect" href="salesforce.html">Salesforce</a>.</p><h3
id="Salesforce-Usage">Usage</h3><p>The plugin configuration has the following
properties.</p><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>Description</p></th></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p>clientId</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Salesforce client Id for Remote API
access</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>clientSecret</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>Salesforce client secret for Remote API
access</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>userName</p></td><td colspan=
"1" rowspan="1" class="confluenceTd"><p>Salesforce account user
name</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>password</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>Salesforce account password (including secret
token)</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>version</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>Salesforce Rest API version, defaults to
25.0</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>outputDirectory</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>Directory where to place generated DTOs, defaults to
${project.build.directory}/generated-sources/camel-salesforce</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>includes</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>List of SObject types to
include</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>excludes</p></td><td colspan="1" rowspan="1" class="co
nfluenceTd"><p>List of SObject types to exclude</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>includePattern</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Java RegEx for SObject types to
include</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>excludePattern</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>Java RegEx for SObject types to
exclude</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>packageName</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>Java package name for generated DTOs, defaults to
org.apache.camel.salesforce.dto.</p></td></tr></tbody></table></div></div><p>For
obvious security reasons it is recommended that the clientId, clientSecret,
userName and password fields be not set in the pom.xml. <br clear="none"> The
plugin should be configured for the rest of the properties, and can be executed
using the following command:</p><div class="code panel pdl" style="border-w
idth: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default"
style="font-size:12px;"> mvn camel-salesforce:generate
-DclientId=<clientid> -DclientSecret=<clientsecret>
-DuserName=<username> -Dpassword=<password>
-</pre>
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[ mvn camel-salesforce:generate
-DclientId=<clientid> -DclientSecret=<clientsecret>
-DuserName=<username> -Dpassword=<password>
+]]></script>
</div></div><p>The generated DTOs use Jackson and XStream annotations. All
Salesforce field types are supported. Date and time fields are mapped to Joda
DateTime, and picklist fields are mapped to generated Java
Enumerations.</p><p></p><h3 id="Salesforce-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></div>
</td>
@@ -146,7 +146,7 @@
<div class="navigation">
<div class="navigation_top">
<!-- NavigationBar -->
-<div class="navigation_bottom" id="navigation_bottom"><h3
id="Navigation-Overviewhttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=49132"><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-Documentationhttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=49534"><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 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">
@@ -154,7 +154,7 @@
<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&lang=en"></script><h3
id="Navigation-Communityhttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=49115"><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-Developershttps://cwi
ki.apache.org/confluence/pages/viewpage.action?pageId=49124"><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>
+<script type="text/javascript"
src="http://www.google.com/coop/cse/brand?form=cse-search-box&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>
Modified: websites/production/camel/content/scheduledroutepolicy.html
==============================================================================
--- websites/production/camel/content/scheduledroutepolicy.html (original)
+++ websites/production/camel/content/scheduledroutepolicy.html Tue Sep 22
14:26:24 2015
@@ -93,7 +93,7 @@
<div class="navigation">
<div class="navigation_top">
<!-- NavigationBar -->
-<div class="navigation_bottom" id="navigation_bottom"><h3
id="Navigation-Overviewhttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=49132"><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-Documentationhttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=49534"><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 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">
@@ -101,7 +101,7 @@
<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&lang=en"></script><h3
id="Navigation-Communityhttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=49115"><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-Developershttps://cwi
ki.apache.org/confluence/pages/viewpage.action?pageId=49124"><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>
+<script type="text/javascript"
src="http://www.google.com/coop/cse/brand?form=cse-search-box&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>
Modified: websites/production/camel/content/servlet-tomcat-example.html
==============================================================================
--- websites/production/camel/content/servlet-tomcat-example.html (original)
+++ websites/production/camel/content/servlet-tomcat-example.html Tue Sep 22
14:26:24 2015
@@ -134,7 +134,7 @@
<camelContext xmlns="http://camel.apache.org/schema/spring">
- <route>
+ <route id="helloRoute">
<!-- incoming requests from the servlet is routed -->
<from uri="servlet:///hello"/>
<choice>
@@ -143,7 +143,7 @@
<header>name</header>
<!-- yes so return back a message to the user -->
<transform>
- <simple>Hello ${header.name} how are you?</simple>
+ <simple>Hi I am ${sysenv.HOSTNAME}. Hello ${header.name} how
are you today?</simple>
</transform>
</when>
<otherwise>
Modified: websites/production/camel/content/servletlistener-component.html
==============================================================================
--- websites/production/camel/content/servletlistener-component.html (original)
+++ websites/production/camel/content/servletlistener-component.html Tue Sep 22
14:26:24 2015
@@ -226,6 +226,16 @@ public class MyLifecycle implements Came
// unbind our bean when Camel has been stopped
registry.remove("myBean");
}
+
+ @Override
+ public void beforeAddRoutes(ServletCamelContext camelContext,
SimpleRegistry registry) throws Exception {
+ // noop
+ }
+
+ @Override
+ public void afterAddRoutes(ServletCamelContext camelContext,
SimpleRegistry registry) throws Exception {
+ // noop
+ }
}
]]></script>
</div></div><p>Then we need to register this class in the web.xml file as
shown below, using the parameter name "CamelContextLifecycle". The value must
be a FQN which refers to the class implementing the
<code>org.apache.camel.component.servletlistener.CamelContextLifecycle</code>
interface.</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
Modified: websites/production/camel/content/shiro-security.html
==============================================================================
--- websites/production/camel/content/shiro-security.html (original)
+++ websites/production/camel/content/shiro-security.html Tue Sep 22 14:26:24
2015
@@ -86,113 +86,113 @@
<tr>
<td valign="top" width="100%">
<div class="wiki-content maincontent"><h2
id="ShiroSecurity-ShiroSecurityComponent">Shiro Security
Component</h2><p><strong>Available as of Camel 2.5</strong></p><p>The
<strong>shiro-security</strong> component in Camel is a security focused
component, based on the Apache Shiro security project.</p><p>Apache Shiro is a
powerful and flexible open-source security framework that cleanly handles
authentication, authorization, enterprise session management and cryptography.
The objective of the Apache Shiro project is to provide the most robust and
comprehensive application security framework available while also being very
easy to understand and extremely simple to use.</p><p>This camel shiro-security
component allows authentication and authorization support to be applied to
different segments of a camel route.</p><p>Shiro security is applied on a route
using a Camel Policy. A Policy in Camel utilizes a strategy pattern for
applying interceptors on Camel Processors. It offering the abil
ity to apply cross-cutting concerns (for example. security, transactions etc)
on sections/segments of a camel route.</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">
-<pre class="brush: xml; gutter: false; theme: Default"
style="font-size:12px;"><dependency>
+<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-shiro</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel core version -->
</dependency>
-</pre>
+]]></script>
</div></div><h3 id="ShiroSecurity-ShiroSecurityBasics">Shiro Security
Basics</h3><p>To employ Shiro security on a camel route, a ShiroSecurityPolicy
object must be instantiated with security configuration details (including
users, passwords, roles etc). This object must then be applied to a camel
route. This ShiroSecurityPolicy Object may also be registered in the Camel
registry (JNDI or ApplicationContextRegistry) and then utilized on other routes
in the Camel Context.</p><p>Configuration details are provided to the
ShiroSecurityPolicy using an Ini file (properties file) or an Ini object. The
Ini file is a standard Shiro configuration file containing user/role details as
shown below</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default"
style="font-size:12px;">[users]
-# user 'ringo' with password 'starr' and the 'sec-level1' role
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[[users]
+# user 'ringo' with password 'starr' and the
'sec-level1' role
ringo = starr, sec-level1
george = harrison, sec-level2
john = lennon, sec-level3
paul = mccartney, sec-level3
[roles]
-# 'sec-level3' role has all permissions, indicated by the
-# wildcard '*'
+# 'sec-level3' role has all permissions, indicated by the
+# wildcard '*'
sec-level3 = *
-# The 'sec-level2' role can do anything with access of permission
+# The 'sec-level2' role can do anything with access of permission
# readonly (*) to help
sec-level2 = zone1:*
-# The 'sec-level1' role can do anything with access of permission
+# The 'sec-level1' role can do anything with access of permission
# readonly
sec-level1 = zone1:readonly:*
-</pre>
+]]></script>
</div></div><h3
id="ShiroSecurity-InstantiatingaShiroSecurityPolicyObject">Instantiating a
ShiroSecurityPolicy Object</h3><p>A ShiroSecurityPolicy object is instantiated
as follows</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default"
style="font-size:12px;"> private final String iniResourcePath =
"classpath:shiro.ini";
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[ private final String iniResourcePath
= "classpath:shiro.ini";
private final byte[] passPhrase = {
(byte) 0x08, (byte) 0x09, (byte) 0x0A, (byte) 0x0B,
(byte) 0x0C, (byte) 0x0D, (byte) 0x0E, (byte) 0x0F,
(byte) 0x10, (byte) 0x11, (byte) 0x12, (byte) 0x13,
(byte) 0x14, (byte) 0x15, (byte) 0x16, (byte) 0x17};
List<permission> permissionsList = new
ArrayList<permission>();
- Permission permission = new WildcardPermission("zone1:readwrite:*");
+ Permission permission = new
WildcardPermission("zone1:readwrite:*");
permissionsList.add(permission);
final ShiroSecurityPolicy securityPolicy =
new ShiroSecurityPolicy(iniResourcePath, passPhrase, true,
permissionsList);
-</pre>
+]]></script>
</div></div><h3
id="ShiroSecurity-ShiroSecurityPolicyOptions">ShiroSecurityPolicy
Options</h3><div class="confluenceTableSmall">
<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th
colspan="1" rowspan="1" class="confluenceTh"><p> Name </p></th><th colspan="1"
rowspan="1" class="confluenceTh"><p> Default Value </p></th><th colspan="1"
rowspan="1" class="confluenceTh"><p> Type </p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p> Description </p></th></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p> <code>iniResourcePath or ini</code>
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>none</code>
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Resource String
or Ini Object </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> A
mandatory Resource String for the iniResourcePath or an instance of an Ini
object must be passed to the security policy. Resources can be acquired from
the file system, classpath, or URLs when prefixed with "file:, classpath:, or
url:" respectively. For e.g "classpath:shiro.ini" </p></td></tr><tr><td
colspan="1"
rowspan="1" class="confluenceTd"><p> <code>passPhrase</code> </p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p> <code>An AES 128 based
key</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> byte[]
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> A passPhrase to
decrypt ShiroSecurityToken(s) sent along with Message Exchanges
</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>
<code>alwaysReauthenticate</code> </p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p> <code>true</code> </p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p> boolean </p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p> Setting to ensure re-authentication on every
individual request. If set to false, the user is authenticated and locked such
than only requests from the same user going forward are authenticated.
</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>
<code>permissionsList</code> </p></td><td col
span="1" rowspan="1" class="confluenceTd"><p> <code>none</code> </p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p> List<Permission>
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> A List of
permissions required in order for an authenticated user to be authorized to
perform further action i.e continue further on the route. If no Permissions
list or Roles List (see below) is provided to the ShiroSecurityPolicy object,
then authorization is deemed as not required. Note that the default is that
authorization is granted if any of the Permission Objects in the list are
applicable. </p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p> <code>rolesList</code> </p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p> <code>none</code> </p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p> List<String> </p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.13:</strong> A
List of roles required in order for
an authenticated user to be authorized to perform further action i.e continue
further on the route. If no roles list or permissions list (see above) is
provided to the ShiroSecurityPolicy object, then authorization is deemed as not
required. Note that the default is that authorization is granted if any of the
roles in the list are applicable. </p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p> <code>cipherService</code> </p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p> <code>AES</code> </p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p> org.apache.shiro.crypto.CipherService
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Shiro ships with
AES & Blowfish based CipherServices. You may use one these or pass in your
own Cipher implementation </p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p> <code>base64</code> </p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p> <code>false</code> </p></td><td colspa
n="1" rowspan="1" class="confluenceTd"><p> <code>boolean</code> </p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.12:</strong>
To use base64 encoding for the security token header, which allows transferring
the header over <a shape="rect" href="jms.html">JMS</a> etc. This option must
also be set on <code>ShiroSecurityTokenInjector</code> as well.
</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>
<code>allPermissionsRequired</code> </p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p> <code>false</code> </p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p> <code>boolean</code> </p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.13:</strong>
The default is that authorization is granted if any of the Permission Objects
in the permissionsList parameter are applicable. Set this to true to require
all of the Permissions to be met. </p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p
> <code>allRolesRequired</code> </p></td><td colspan="1" rowspan="1"
> class="confluenceTd"><p> <code>false</code> </p></td><td colspan="1"
> rowspan="1" class="confluenceTd"><p> <code>boolean</code> </p></td><td
> colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel
> 2.13:</strong> The default is that authorization is granted if any of the
> roles in the rolesList parameter are applicable. Set this to true to require
> all of the roles to be met. </p></td></tr></tbody></table></div>
</div><h3 id="ShiroSecurity-ApplyingShiroAuthenticationonaCamelRoute">Applying
Shiro Authentication on a Camel Route</h3><p>The ShiroSecurityPolicy, tests and
permits incoming message exchanges containing a encrypted SecurityToken in the
Message Header to proceed further following proper authentication. The
SecurityToken object contains a Username/Password details that are used to
determine where the user is a valid user.</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default"
style="font-size:12px;"> protected RouteBuilder createRouteBuilder() throws
Exception {
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[ protected RouteBuilder
createRouteBuilder() throws Exception {
final ShiroSecurityPolicy securityPolicy =
- new ShiroSecurityPolicy("classpath:shiro.ini", passPhrase);
+ new ShiroSecurityPolicy("classpath:shiro.ini",
passPhrase);
return new RouteBuilder() {
public void configure() {
onException(UnknownAccountException.class).
- to("mock:authenticationException");
+ to("mock:authenticationException");
onException(IncorrectCredentialsException.class).
- to("mock:authenticationException");
+ to("mock:authenticationException");
onException(LockedAccountException.class).
- to("mock:authenticationException");
+ to("mock:authenticationException");
onException(AuthenticationException.class).
- to("mock:authenticationException");
+ to("mock:authenticationException");
- from("direct:secureEndpoint").
- to("log:incoming payload").
+ from("direct:secureEndpoint").
+ to("log:incoming payload").
policy(securityPolicy).
- to("mock:success");
+ to("mock:success");
}
};
}
-</pre>
+]]></script>
</div></div><h3
id="ShiroSecurity-ApplyingShiroAuthorizationonaCamelRoute">Applying Shiro
Authorization on a Camel Route</h3><p>Authorization can be applied on a camel
route by associating a Permissions List with the ShiroSecurityPolicy. The
Permissions List specifies the permissions necessary for the user to proceed
with the execution of the route segment. If the user does not have the proper
permission set, the request is not authorized to continue any further.</p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default"
style="font-size:12px;"> protected RouteBuilder createRouteBuilder() throws
Exception {
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[ protected RouteBuilder
createRouteBuilder() throws Exception {
final ShiroSecurityPolicy securityPolicy =
- new ShiroSecurityPolicy("./src/test/resources/securityconfig.ini",
passPhrase);
+ new
ShiroSecurityPolicy("./src/test/resources/securityconfig.ini",
passPhrase);
return new RouteBuilder() {
public void configure() {
onException(UnknownAccountException.class).
- to("mock:authenticationException");
+ to("mock:authenticationException");
onException(IncorrectCredentialsException.class).
- to("mock:authenticationException");
+ to("mock:authenticationException");
onException(LockedAccountException.class).
- to("mock:authenticationException");
+ to("mock:authenticationException");
onException(AuthenticationException.class).
- to("mock:authenticationException");
+ to("mock:authenticationException");
- from("direct:secureEndpoint").
- to("log:incoming payload").
+ from("direct:secureEndpoint").
+ to("log:incoming payload").
policy(securityPolicy).
- to("mock:success");
+ to("mock:success");
}
};
}
-</pre>
+]]></script>
</div></div><h3
id="ShiroSecurity-CreatingaShiroSecurityTokenandinjectingitintoaMessageExchange">Creating
a ShiroSecurityToken and injecting it into a Message Exchange</h3><p>A
ShiroSecurityToken object may be created and injected into a Message Exchange
using a Shiro Processor called ShiroSecurityTokenInjector. An example of
injecting a ShiroSecurityToken using a ShiroSecurityTokenInjector in the client
is shown below</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default"
style="font-size:12px;"> ShiroSecurityToken shiroSecurityToken = new
ShiroSecurityToken("ringo", "starr");
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[ ShiroSecurityToken shiroSecurityToken =
new ShiroSecurityToken("ringo", "starr");
ShiroSecurityTokenInjector shiroSecurityTokenInjector =
new ShiroSecurityTokenInjector(shiroSecurityToken, passPhrase);
- from("direct:client").
+ from("direct:client").
process(shiroSecurityTokenInjector).
- to("direct:secureEndpoint");
-</pre>
+ to("direct:secureEndpoint");
+]]></script>
</div></div><h3
id="ShiroSecurity-SendingMessagestoroutessecuredbyaShiroSecurityPolicy">Sending
Messages to routes secured by a ShiroSecurityPolicy</h3><p>Messages and Message
Exchanges sent along the camel route where the security policy is applied need
to be accompanied by a SecurityToken in the Exchange Header. The SecurityToken
is an encrypted object that holds a Username and Password. The SecurityToken is
encrypted using AES 128 bit security by default and can be changed to any
cipher of your choice.</p><p>Given below is an example of how a request may be
sent using a ProducerTemplate in Camel along with a SecurityToken</p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default"
style="font-size:12px;">
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
@Test
public void testSuccessfulShiroAuthenticationWithNoAuthorization() throws
Exception {
//Incorrect password
- ShiroSecurityToken shiroSecurityToken = new
ShiroSecurityToken("ringo", "stirr");
+ ShiroSecurityToken shiroSecurityToken = new
ShiroSecurityToken("ringo", "stirr");
// TestShiroSecurityTokenInjector extends ShiroSecurityTokenInjector
TestShiroSecurityTokenInjector shiroSecurityTokenInjector =
@@ -201,30 +201,30 @@ sec-level1 = zone1:readonly:*
successEndpoint.expectedMessageCount(1);
failureEndpoint.expectedMessageCount(0);
- template.send("direct:secureEndpoint", shiroSecurityTokenInjector);
+ template.send("direct:secureEndpoint",
shiroSecurityTokenInjector);
successEndpoint.assertIsSatisfied();
failureEndpoint.assertIsSatisfied();
}
-</pre>
+]]></script>
</div></div><h3
id="ShiroSecurity-SendingMessagestoroutessecuredbyaShiroSecurityPolicy(mucheasierfromCamel2.12onwards)">Sending
Messages to routes secured by a ShiroSecurityPolicy (much easier from Camel
2.12 onwards)</h3><p>From <strong>Camel 2.12</strong> onwards its even easier
as you can provide the subject in two different ways.</p><h4
id="ShiroSecurity-UsingShiroSecurityToken">Using ShiroSecurityToken</h4><p>You
can send a message to a Camel route with a header of key
<code>ShiroSecurityConstants.SHIRO_SECURITY_TOKEN</code> of the type
<code>org.apache.camel.component.shiro.security.ShiroSecurityToken</code> that
contains the username and password. For example:</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default"
style="font-size:12px;"> ShiroSecurityToken shiroSecurityToken = new
ShiroSecurityToken("ringo", "starr");
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[ ShiroSecurityToken shiroSecurityToken
= new ShiroSecurityToken("ringo", "starr");
- template.sendBodyAndHeader("direct:secureEndpoint", "Beatle Mania",
ShiroSecurityConstants.SHIRO_SECURITY_TOKEN, shiroSecurityToken);
-</pre>
+ template.sendBodyAndHeader("direct:secureEndpoint",
"Beatle Mania", ShiroSecurityConstants.SHIRO_SECURITY_TOKEN,
shiroSecurityToken);
+]]></script>
</div></div><p>You can also provide the username and password in two different
headers as shown below:</p><div class="code panel pdl" style="border-width:
1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default"
style="font-size:12px;"> Map<String, Object> headers = new
HashMap<String, Object>();
- headers.put(ShiroSecurityConstants.SHIRO_SECURITY_USERNAME, "ringo");
- headers.put(ShiroSecurityConstants.SHIRO_SECURITY_PASSWORD, "starr");
- template.sendBodyAndHeaders("direct:secureEndpoint", "Beatle Mania",
headers);
-</pre>
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[ Map<String, Object> headers =
new HashMap<String, Object>();
+ headers.put(ShiroSecurityConstants.SHIRO_SECURITY_USERNAME,
"ringo");
+ headers.put(ShiroSecurityConstants.SHIRO_SECURITY_PASSWORD,
"starr");
+ template.sendBodyAndHeaders("direct:secureEndpoint",
"Beatle Mania", headers);
+]]></script>
</div></div><p>When you use the username and password headers, then the
ShiroSecurityPolicy in the Camel route will automatic transform those into a
single header with key ShiroSecurityConstants.SHIRO_SECURITY_TOKEN with the
token. Then token is either a <code>ShiroSecurityToken</code> instance, or a
base64 representation as a String (the latter is when you have set
base64=true).</p></div>
</td>
<td valign="top">
<div class="navigation">
<div class="navigation_top">
<!-- NavigationBar -->
-<div class="navigation_bottom" id="navigation_bottom"><h3
id="Navigation-Overviewhttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=49132"><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-Documentationhttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=49534"><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 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">
@@ -232,7 +232,7 @@ sec-level1 = zone1:readonly:*
<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&lang=en"></script><h3
id="Navigation-Communityhttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=49115"><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-Developershttps://cwi
ki.apache.org/confluence/pages/viewpage.action?pageId=49124"><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>
+<script type="text/javascript"
src="http://www.google.com/coop/cse/brand?form=cse-search-box&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>
Modified: websites/production/camel/content/site.html
==============================================================================
--- websites/production/camel/content/site.html (original)
+++ websites/production/camel/content/site.html Tue Sep 22 14:26:24 2015
@@ -83,7 +83,7 @@
<div class="navigation">
<div class="navigation_top">
<!-- NavigationBar -->
-<div class="navigation_bottom" id="navigation_bottom"><h3
id="Navigation-Overviewhttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=49132"><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-Documentationhttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=49534"><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 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">
@@ -91,7 +91,7 @@
<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&lang=en"></script><h3
id="Navigation-Communityhttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=49115"><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-Developershttps://cwi
ki.apache.org/confluence/pages/viewpage.action?pageId=49124"><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>
+<script type="text/javascript"
src="http://www.google.com/coop/cse/brand?form=cse-search-box&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>