Author: krasserm
Date: Thu Nov 19 13:48:14 2009
New Revision: 882143

URL: http://svn.apache.org/viewvc?rev=882143&view=rev
Log:
initial commit of camel-example-gae

Added:
    camel/trunk/examples/camel-example-gae/   (with props)
    camel/trunk/examples/camel-example-gae/pom.xml   (with props)
    camel/trunk/examples/camel-example-gae/src/
    camel/trunk/examples/camel-example-gae/src/main/
    camel/trunk/examples/camel-example-gae/src/main/java/
    camel/trunk/examples/camel-example-gae/src/main/java/org/
    camel/trunk/examples/camel-example-gae/src/main/java/org/apache/
    camel/trunk/examples/camel-example-gae/src/main/java/org/apache/camel/
    
camel/trunk/examples/camel-example-gae/src/main/java/org/apache/camel/example/
    
camel/trunk/examples/camel-example-gae/src/main/java/org/apache/camel/example/gae/
    
camel/trunk/examples/camel-example-gae/src/main/java/org/apache/camel/example/gae/TutorialRouteBuilder.java
   (with props)
    
camel/trunk/examples/camel-example-gae/src/main/java/org/apache/camel/example/gae/WeatherProcessor.java
   (with props)
    camel/trunk/examples/camel-example-gae/src/main/resources/
    camel/trunk/examples/camel-example-gae/src/main/resources/context.xml   
(with props)
    camel/trunk/examples/camel-example-gae/src/main/webapp/
    camel/trunk/examples/camel-example-gae/src/main/webapp/META-INF/
    camel/trunk/examples/camel-example-gae/src/main/webapp/WEB-INF/
    
camel/trunk/examples/camel-example-gae/src/main/webapp/WEB-INF/appengine-web.xml
   (with props)
    camel/trunk/examples/camel-example-gae/src/main/webapp/WEB-INF/lib/
    
camel/trunk/examples/camel-example-gae/src/main/webapp/WEB-INF/lib/datanucleus-appengine-1.0.3.jar
   (with props)
    
camel/trunk/examples/camel-example-gae/src/main/webapp/WEB-INF/lib/datanucleus-core-1.1.5.jar
   (with props)
    
camel/trunk/examples/camel-example-gae/src/main/webapp/WEB-INF/lib/datanucleus-jpa-1.1.5.jar
   (with props)
    
camel/trunk/examples/camel-example-gae/src/main/webapp/WEB-INF/lib/geronimo-jpa_3.0_spec-1.1.1.jar
   (with props)
    
camel/trunk/examples/camel-example-gae/src/main/webapp/WEB-INF/lib/geronimo-jta_1.1_spec-1.1.1.jar
   (with props)
    
camel/trunk/examples/camel-example-gae/src/main/webapp/WEB-INF/lib/jdo2-api-2.3-eb.jar
   (with props)
    
camel/trunk/examples/camel-example-gae/src/main/webapp/WEB-INF/logging.properties
   (with props)
    camel/trunk/examples/camel-example-gae/src/main/webapp/WEB-INF/web.xml   
(with props)
    camel/trunk/examples/camel-example-gae/src/main/webapp/index.html   (with 
props)
    camel/trunk/examples/camel-example-gae/src/test/
    camel/trunk/examples/camel-example-gae/src/test/java/
    camel/trunk/examples/camel-example-gae/src/test/resources/
Modified:
    camel/trunk/examples/pom.xml
    camel/trunk/parent/pom.xml

Propchange: camel/trunk/examples/camel-example-gae/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Thu Nov 19 13:48:14 2009
@@ -0,0 +1,8 @@
+.checkstyle
+.pmd
+eclipse-classes
+target
+.classpath
+.project
+.settings
+*.i??

Added: camel/trunk/examples/camel-example-gae/pom.xml
URL: 
http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-gae/pom.xml?rev=882143&view=auto
==============================================================================
--- camel/trunk/examples/camel-example-gae/pom.xml (added)
+++ camel/trunk/examples/camel-example-gae/pom.xml Thu Nov 19 13:48:14 2009
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd";
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns="http://maven.apache.org/POM/4.0.0";>
+
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.camel</groupId>
+        <artifactId>examples</artifactId>
+        <version>2.1-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>camel-example-gae</artifactId>
+    <name>Camel :: Example :: GAE</name>
+    <description>Demonstrates how to get Camel running on Google App 
Engine</description>
+    <packaging>war</packaging>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-gae</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+    
+</project>

Propchange: camel/trunk/examples/camel-example-gae/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: 
camel/trunk/examples/camel-example-gae/src/main/java/org/apache/camel/example/gae/TutorialRouteBuilder.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-gae/src/main/java/org/apache/camel/example/gae/TutorialRouteBuilder.java?rev=882143&view=auto
==============================================================================
--- 
camel/trunk/examples/camel-example-gae/src/main/java/org/apache/camel/example/gae/TutorialRouteBuilder.java
 (added)
+++ 
camel/trunk/examples/camel-example-gae/src/main/java/org/apache/camel/example/gae/TutorialRouteBuilder.java
 Thu Nov 19 13:48:14 2009
@@ -0,0 +1,41 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.example.gae;
+
+import org.apache.camel.Exchange;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.gae.mail.GMailBinding;
+
+public class TutorialRouteBuilder extends RouteBuilder {
+
+    @Override
+    public void configure() throws Exception {
+        from("ghttp:///weather";)
+            .to("gtask://default")
+            .setHeader(Exchange.CONTENT_TYPE, constant("text/plain"))
+            .transform(constant("Weather report will be sent to 
").append(header("mailto")));
+      
+        from("gtask://default")
+            .setHeader(Exchange.HTTP_QUERY, 
constant("weather=").append(header("city")))
+            .to("ghttp://www.google.com/ig/api";)
+            .process(new WeatherProcessor())        
+            .setHeader(GMailBinding.GMAIL_SUBJECT, constant("Weather report"))
+            .setHeader(GMailBinding.GMAIL_TO, header("mailto"))
+            .to("gmail://krass...@googlemail.com");
+    }
+
+}

Propchange: 
camel/trunk/examples/camel-example-gae/src/main/java/org/apache/camel/example/gae/TutorialRouteBuilder.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: 
camel/trunk/examples/camel-example-gae/src/main/java/org/apache/camel/example/gae/WeatherProcessor.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-gae/src/main/java/org/apache/camel/example/gae/WeatherProcessor.java?rev=882143&view=auto
==============================================================================
--- 
camel/trunk/examples/camel-example-gae/src/main/java/org/apache/camel/example/gae/WeatherProcessor.java
 (added)
+++ 
camel/trunk/examples/camel-example-gae/src/main/java/org/apache/camel/example/gae/WeatherProcessor.java
 Thu Nov 19 13:48:14 2009
@@ -0,0 +1,55 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.example.gae;
+
+import javax.xml.xpath.XPath;
+import javax.xml.xpath.XPathFactory;
+
+import org.w3c.dom.Document;
+
+import org.apache.camel.Exchange;
+import org.apache.camel.Processor;
+
+public class WeatherProcessor implements Processor {
+
+    @Override
+    public void process(Exchange exchange) throws Exception {
+        // convert XML body to DOM tree
+        Document doc = exchange.getIn().getBody(Document.class);
+
+        XPathFactory xpfactory = XPathFactory.newInstance();
+        XPath xpath = xpfactory.newXPath();
+
+        // Extract result values via XPath
+        String city = xpath.evaluate("//forecast_information/city/@data", doc);
+        String cond = xpath.evaluate("//current_conditions/condition/@data", 
doc);
+        String temp = xpath.evaluate("//current_conditions/temp_c/@data", doc);
+
+        String msg = null;
+        if (city != null && city.length() > 0) {
+            msg = new StringBuffer()
+                .append("\n").append("Weather report for:  ").append(city)
+                .append("\n").append("Current condition:   ").append(cond)
+                .append("\n").append("Current temperature: 
").append(temp).append(" (Celsius)").toString();
+        } else {
+            // create an error message
+            msg = "Error getting weather report for " + 
exchange.getIn().getHeader("city", String.class);
+        }
+        exchange.getIn().setBody(msg);
+    }
+
+}

Propchange: 
camel/trunk/examples/camel-example-gae/src/main/java/org/apache/camel/example/gae/WeatherProcessor.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/examples/camel-example-gae/src/main/resources/context.xml
URL: 
http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-gae/src/main/resources/context.xml?rev=882143&view=auto
==============================================================================
--- camel/trunk/examples/camel-example-gae/src/main/resources/context.xml 
(added)
+++ camel/trunk/examples/camel-example-gae/src/main/resources/context.xml Thu 
Nov 19 13:48:14 2009
@@ -0,0 +1,16 @@
+<beans xmlns="http://www.springframework.org/schema/beans";
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+       xsi:schemaLocation="
+http://www.springframework.org/schema/beans
+http://www.springframework.org/schema/beans/spring-beans-2.5.xsd";>
+    
+    <bean id="camelContext" 
+        class="org.apache.camel.component.gae.context.GaeSpringCamelContext">
+        <property name="routeBuilder" ref="tutorialRouteBuilder" />
+    </bean>
+    
+    <bean id="tutorialRouteBuilder"
+        class="org.apache.camel.example.gae.TutorialRouteBuilder">
+    </bean>
+    
+</beans>

Propchange: 
camel/trunk/examples/camel-example-gae/src/main/resources/context.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: 
camel/trunk/examples/camel-example-gae/src/main/webapp/WEB-INF/appengine-web.xml
URL: 
http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-gae/src/main/webapp/WEB-INF/appengine-web.xml?rev=882143&view=auto
==============================================================================
--- 
camel/trunk/examples/camel-example-gae/src/main/webapp/WEB-INF/appengine-web.xml
 (added)
+++ 
camel/trunk/examples/camel-example-gae/src/main/webapp/WEB-INF/appengine-web.xml
 Thu Nov 19 13:48:14 2009
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<appengine-web-app xmlns="http://appengine.google.com/ns/1.0";>
+       <application>replaceme</application>
+       <version>1</version>
+       
+       <!-- Configure java.util.logging -->
+       <system-properties>
+               <property name="java.util.logging.config.file" 
value="WEB-INF/logging.properties"/>
+       </system-properties>
+       
+</appengine-web-app>
\ No newline at end of file

Propchange: 
camel/trunk/examples/camel-example-gae/src/main/webapp/WEB-INF/appengine-web.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: 
camel/trunk/examples/camel-example-gae/src/main/webapp/WEB-INF/lib/datanucleus-appengine-1.0.3.jar
URL: 
http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-gae/src/main/webapp/WEB-INF/lib/datanucleus-appengine-1.0.3.jar?rev=882143&view=auto
==============================================================================
Binary file - no diff available.

Propchange: 
camel/trunk/examples/camel-example-gae/src/main/webapp/WEB-INF/lib/datanucleus-appengine-1.0.3.jar
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: 
camel/trunk/examples/camel-example-gae/src/main/webapp/WEB-INF/lib/datanucleus-core-1.1.5.jar
URL: 
http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-gae/src/main/webapp/WEB-INF/lib/datanucleus-core-1.1.5.jar?rev=882143&view=auto
==============================================================================
Binary file - no diff available.

Propchange: 
camel/trunk/examples/camel-example-gae/src/main/webapp/WEB-INF/lib/datanucleus-core-1.1.5.jar
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: 
camel/trunk/examples/camel-example-gae/src/main/webapp/WEB-INF/lib/datanucleus-jpa-1.1.5.jar
URL: 
http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-gae/src/main/webapp/WEB-INF/lib/datanucleus-jpa-1.1.5.jar?rev=882143&view=auto
==============================================================================
Binary file - no diff available.

Propchange: 
camel/trunk/examples/camel-example-gae/src/main/webapp/WEB-INF/lib/datanucleus-jpa-1.1.5.jar
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: 
camel/trunk/examples/camel-example-gae/src/main/webapp/WEB-INF/lib/geronimo-jpa_3.0_spec-1.1.1.jar
URL: 
http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-gae/src/main/webapp/WEB-INF/lib/geronimo-jpa_3.0_spec-1.1.1.jar?rev=882143&view=auto
==============================================================================
Binary file - no diff available.

Propchange: 
camel/trunk/examples/camel-example-gae/src/main/webapp/WEB-INF/lib/geronimo-jpa_3.0_spec-1.1.1.jar
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: 
camel/trunk/examples/camel-example-gae/src/main/webapp/WEB-INF/lib/geronimo-jta_1.1_spec-1.1.1.jar
URL: 
http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-gae/src/main/webapp/WEB-INF/lib/geronimo-jta_1.1_spec-1.1.1.jar?rev=882143&view=auto
==============================================================================
Binary file - no diff available.

Propchange: 
camel/trunk/examples/camel-example-gae/src/main/webapp/WEB-INF/lib/geronimo-jta_1.1_spec-1.1.1.jar
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: 
camel/trunk/examples/camel-example-gae/src/main/webapp/WEB-INF/lib/jdo2-api-2.3-eb.jar
URL: 
http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-gae/src/main/webapp/WEB-INF/lib/jdo2-api-2.3-eb.jar?rev=882143&view=auto
==============================================================================
Binary file - no diff available.

Propchange: 
camel/trunk/examples/camel-example-gae/src/main/webapp/WEB-INF/lib/jdo2-api-2.3-eb.jar
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: 
camel/trunk/examples/camel-example-gae/src/main/webapp/WEB-INF/logging.properties
URL: 
http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-gae/src/main/webapp/WEB-INF/logging.properties?rev=882143&view=auto
==============================================================================
--- 
camel/trunk/examples/camel-example-gae/src/main/webapp/WEB-INF/logging.properties
 (added)
+++ 
camel/trunk/examples/camel-example-gae/src/main/webapp/WEB-INF/logging.properties
 Thu Nov 19 13:48:14 2009
@@ -0,0 +1,32 @@
+## ---------------------------------------------------------------------------
+## Licensed to the Apache Software Foundation (ASF) under one or more
+## contributor license agreements.  See the NOTICE file distributed with
+## this work for additional information regarding copyright ownership.
+## The ASF licenses this file to You under the Apache License, Version 2.0
+## (the "License"); you may not use this file except in compliance with
+## the License.  You may obtain a copy of the License at
+##
+## http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing, software
+## distributed under the License is distributed on an "AS IS" BASIS,
+## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+## See the License for the specific language governing permissions and
+## limitations under the License.
+## ---------------------------------------------------------------------------
+
+.level = WARNING
+org.apache.camel.example.gae.level=INFO
+DataNucleus.JDO.level=WARNING
+DataNucleus.Persistence.level=WARNING
+DataNucleus.Cache.level=WARNING
+DataNucleus.MetaData.level=WARNING
+DataNucleus.General.level=WARNING
+DataNucleus.Utility.level=WARNING
+DataNucleus.Transaction.level=WARNING
+DataNucleus.Datastore.level=WARNING
+DataNucleus.ClassLoading.level=WARNING
+DataNucleus.Plugin.level=WARNING
+DataNucleus.ValueGeneration.level=WARNING
+DataNucleus.Enhancer.level=WARNING
+DataNucleus.SchemaTool.level=WARNING

Propchange: 
camel/trunk/examples/camel-example-gae/src/main/webapp/WEB-INF/logging.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/examples/camel-example-gae/src/main/webapp/WEB-INF/web.xml
URL: 
http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-gae/src/main/webapp/WEB-INF/web.xml?rev=882143&view=auto
==============================================================================
--- camel/trunk/examples/camel-example-gae/src/main/webapp/WEB-INF/web.xml 
(added)
+++ camel/trunk/examples/camel-example-gae/src/main/webapp/WEB-INF/web.xml Thu 
Nov 19 13:48:14 2009
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<web-app 
+xmlns="http://java.sun.com/xml/ns/javaee";
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd";
+xsi:schemaLocation="
+http://java.sun.com/xml/ns/javaee
+http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"; version="2.5">
+    
+    <servlet>
+        <servlet-name>CamelServlet</servlet-name>
+        
<servlet-class>org.apache.camel.component.servlet.CamelHttpTransportServlet</servlet-class>
+        <init-param>
+            <param-name>contextConfigLocation</param-name>
+            <param-value>context.xml</param-value>
+        </init-param>
+    </servlet>
+
+    <servlet-mapping>
+        <servlet-name>CamelServlet</servlet-name>
+        <url-pattern>/camel/*</url-pattern>
+    </servlet-mapping>
+    
+    <servlet-mapping>
+        <servlet-name>CamelServlet</servlet-name>
+        <url-pattern>/worker/*</url-pattern>
+    </servlet-mapping>
+    
+    <welcome-file-list>
+        <welcome-file>index.html</welcome-file>
+    </welcome-file-list>
+</web-app>
+

Propchange: 
camel/trunk/examples/camel-example-gae/src/main/webapp/WEB-INF/web.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/examples/camel-example-gae/src/main/webapp/index.html
URL: 
http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-gae/src/main/webapp/index.html?rev=882143&view=auto
==============================================================================
--- camel/trunk/examples/camel-example-gae/src/main/webapp/index.html (added)
+++ camel/trunk/examples/camel-example-gae/src/main/webapp/index.html Thu Nov 
19 13:48:14 2009
@@ -0,0 +1,27 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="content-type" content="text/html; charset=UTF-8">
+<title>Weather Report</title>
+</head>
+
+<body>
+<h1>Weather Report</h1>
+<form action="camel/weather" method="post">
+<table>
+    <tr>
+        <td>City:</td>
+        <td><input type="text" name="city"></td>
+    </tr>
+    <tr>
+        <td>Mailto:</td>
+        <td><input type="text" name="mailto"></td>
+    </tr>
+    <tr>
+        <td></td>
+        <td align="right"><input type="submit" value="Submit" /></td>
+    </tr>
+</table>
+</form>
+</body>
+</html>

Propchange: camel/trunk/examples/camel-example-gae/src/main/webapp/index.html
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: camel/trunk/examples/pom.xml
URL: 
http://svn.apache.org/viewvc/camel/trunk/examples/pom.xml?rev=882143&r1=882142&r2=882143&view=diff
==============================================================================
--- camel/trunk/examples/pom.xml (original)
+++ camel/trunk/examples/pom.xml Thu Nov 19 13:48:14 2009
@@ -54,6 +54,7 @@
     <module>camel-example-cxf-async</module>
     <module>camel-example-docs</module>
     <module>camel-example-etl</module>
+    <module>camel-example-gae</module>
     <module>camel-example-guice-jms</module>
     <module>camel-example-http-async</module>
     <module>camel-example-jms-file</module>

Modified: camel/trunk/parent/pom.xml
URL: 
http://svn.apache.org/viewvc/camel/trunk/parent/pom.xml?rev=882143&r1=882142&r2=882143&view=diff
==============================================================================
--- camel/trunk/parent/pom.xml (original)
+++ camel/trunk/parent/pom.xml Thu Nov 19 13:48:14 2009
@@ -245,6 +245,11 @@
       </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId>
+        <artifactId>camel-gae</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.camel</groupId>
         <artifactId>camel-guice</artifactId>
         <version>${project.version}</version>
       </dependency>


Reply via email to