Author: buildbot Date: Thu Oct 29 19:24:04 2015 New Revision: 970673 Log: Production update by buildbot for camel
Modified: websites/production/camel/content/cache/main.pageCache websites/production/camel/content/weather.html Modified: websites/production/camel/content/cache/main.pageCache ============================================================================== Binary files - no diff available. Modified: websites/production/camel/content/weather.html ============================================================================== --- websites/production/camel/content/weather.html (original) +++ websites/production/camel/content/weather.html Thu Oct 29 19:24:04 2015 @@ -85,86 +85,32 @@ <tbody> <tr> <td valign="top" width="100%"> -<div class="wiki-content maincontent"><h2 id="Weather-WeatherComponent">Weather Component</h2> -<p><strong>Available as of Camel 2.12</strong></p> - -<p>The <strong>weather:</strong> component is used for polling weather information from <a shape="rect" class="external-link" href="http://openweathermap.org" rel="nofollow">Open Weather Map</a> - a site that provides free global weather and forecast information. The information is returned as a json String object.</p> - -<p>Camel will poll for updates to the current weather and forecasts once per hour by default.</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[ -<dependency> +<div class="wiki-content maincontent"><h2 id="Weather-WeatherComponent">Weather Component</h2><p><strong>Available as of Camel 2.12</strong></p><p>The <strong>weather:</strong> component is used for polling weather information from <a shape="rect" class="external-link" href="http://openweathermap.org" rel="nofollow">Open Weather Map</a> - a site that provides free global weather and forecast information. The information is returned as a json String object.</p><p>Camel will poll for updates to the current weather and forecasts once per hour by default. It can also be used to query the weather api based on the parameters defined on the endpoint which is used as producer.</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[<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-weather</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel core version --> </dependency> ]]></script> -</div></div> - -<h3 id="Weather-URIformat">URI format</h3> - -<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[ -weather://<unused name>[?options] -]]></script> -</div></div> - - -<h3 id="Weather-Options">Options</h3> -<div class="confluenceTableSmall"> -<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> Property </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"><p> <code>location</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> If null Camel will try and determine your current location using the geolocation of your ip address, else specify the city,country. For well known city names, Open Weather Map will determine the best fit, but multiple results may be returned. Hence specifying and country as well will return more accurate data. If you specify "current" as the location then the component will try to get the current latitude and longitude and use that to get the weather details. You can use lat and lon o ptions instead of location. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>lat</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Latitude of location. You can use lat and lon options instead of location. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>lon</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Longitude of location. You can use lat and lon options instead of location. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>period</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> If null, the current weather will be returned, else use values of 5, 7, 14 days. Only the numeric value for the forecast peri od is actually parsed, so spelling, capitalisation of the time period is up to you (its ignored) </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>headerName</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> To store the weather result in this header instead of the message body. This is useable if you want to keep current message body as-is. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>mode</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>JSON</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The output format of the weather data. The possible values are <code>HTML</code>, <code>JSON</code> or <code>XML</code> </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>units</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>METRIC</code> </p> </td><td colspan="1" rowspan="1" class="confluenceTd"><p> The units for temperature measurement. The possible values are <code>IMPERIAL</code> or <code>METRIC</code> </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>3600000</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Delay in millis between each poll (default is 1 hour) </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>consumer.initialDelay</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>1000</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Millis before polling starts. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>consumer.userFixedDelay</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 < code>true</code>, 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></tbody></table></div> -</div> - -<p>You can append query options to the URI in the following format, <code>?option=value&option=value&...</code></p> - -<h3 id="Weather-Exchangedataformat">Exchange data format</h3> - -<p>Camel will deliver the body as a json formatted java.lang.String (see the <code>mode</code> option above).</p> - - -<h3 id="Weather-MessageHeaders">Message Headers</h3> -<div class="confluenceTableSmall"> -<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>CamelWeatherQuery</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The original query URL sent to the Open Weather Map site </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>CamelWeatherLocation</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Used by the producer to override the endpoint location and use the location from this header instead. </p></td></tr></tbody></table></div> -</div> - -<h3 id="Weather-Samples">Samples</h3> -<p>In this sample we find the 7 day weather forecast for Madrid, Spain:</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("weather:foo?location=Madrid,Spain&period=7 days").to("jms:queue:weather"); -]]></script> -</div></div> - -<p>To just find the current weather for your current location you can use this:</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("weather:foo").to("jms:queue:weather"); -]]></script> -</div></div> - -<p>And to find the weather using the producer we do:</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("direct:start") - .to("weather:foo?location=Madrid,Spain"); -]]></script> -</div></div> - -<p>And we can send in a message with a header to get the weather for any location as shown:</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[ - String json = template.requestBodyAndHeader("direct:start", "", "CamelWeatherLocation", "Paris,France", String.class); -]]></script> -</div></div> - -<p>And to get the weather at the current location, then:</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[ - String json = template.requestBodyAndHeader("direct:start", "", "CamelWeatherLocation", "current", String.class); +</div></div><h3 id="Weather-URIformat">URI format</h3><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[weather://<unused name>[?options] +]]></script> +</div></div><h3 id="Weather-REMARK">REMARK</h3><p>Since the 9th of October, an Api Key is required to access the openweather service. This key is passed as parameter to the URI definition of the weather endpoint using the appid param !</p><h3 id="Weather-Options">Options</h3><div class="confluenceTableSmall"><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Property</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">appid</td><td colspan="1" rowspan="1" class="confluenceTd">null</td><td colspan="1" rowspan="1" class="confluenceTd">The user Api Key to be used to call the API Weather service. This key is MANDATORY</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>location</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><c ode>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If null Camel will try and determine your current location using the geolocation of your ip address, else specify the city,country. For well known city names, Open Weather Map will determine the best fit, but multiple results may be returned. Hence specifying and country as well will return more accurate data. If you specify "current" as the location then the component will try to get the current latitude and longitude and use that to get the weather details. You can use lat and lon options instead of location.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>lat</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Latitude of location. You can use lat and lon options instead of location.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>lon</code></p></td><td colspan ="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Longitude of location. You can use lat and lon options instead of location.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>period</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If null, the current weather will be returned, else use values of 5, 7, 14 days. Only the numeric value for the forecast period is actually parsed, so spelling, capitalisation of the time period is up to you (its ignored)</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>headerName</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To store the weather result in this header instead of the message body. This is useable if you want to keep current messag e body as-is.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>mode</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>JSON</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The output format of the weather data. The possible values are <code>HTML</code>, <code>JSON</code> or <code>XML</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>units</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>METRIC</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The units for temperature measurement. The possible values are <code>IMPERIAL</code> or <code>METRIC</code></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>3600000</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Delay in millis between each poll (default is 1 hour)</p></td></ tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>consumer.initialDelay</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>1000</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Millis before polling starts.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>consumer.userFixedDelay</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 <code>true</code>, 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></tbody></table></div></div><p>You can append query options to the URI in the following format, <code>?option=value&option=value&...</code></p><h3 id="Weather-Exchangedataformat">Exc hange data format</h3><p>Camel will deliver the body as a json formatted java.lang.String (see the <code>mode</code> option above).</p><h3 id="Weather-MessageHeaders">Message Headers</h3><div class="confluenceTableSmall"><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>CamelWeatherQuery</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The original query URL sent to the Open Weather Map site</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelWeatherLocation</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Used by the producer to override the endpoint location and use the location from this header instead.</p></td></tr></tbody></table></div></div><h3 id="Weather-Samples">Samples</h3><p>In this sample w e find the 7 day weather forecast for Madrid, Spain:</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("weather:foo?location=Madrid,Spain&period=7 days&appid=APIKEY").to("jms:queue:weather"); +]]></script> +</div></div><p>To just find the current weather for your current location you can use this:</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("weather:foo?appid=APIKEY").to("jms:queue:weather"); +]]></script> +</div></div><p>And to find the weather using the producer we do:</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("direct:start") + .to("weather:foo?location=Madrid,Spain&appid=APIKEY"); +]]></script> +</div></div><p>And we can send in a message with a header to get the weather for any location as shown:</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[ String json = template.requestBodyAndHeader("direct:start", "", "CamelWeatherLocation", "Paris,France&appid=APIKEY", String.class); +]]></script> +</div></div><p>And to get the weather at the current location, then:</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[ String json = template.requestBodyAndHeader("direct:start", "", "CamelWeatherLocation", "current&appid=APIKEY", String.class); ]]></script> </div></div></div> </td>