CAMEL-8218 Updated the camel-example-restlet-jdbc with the REST-DSL
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/c23c4c15 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/c23c4c15 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/c23c4c15 Branch: refs/heads/camel-2.14.x Commit: c23c4c1583aaab6509308b108b6f3dbca658e3db Parents: 52fb5f1 Author: Willem Jiang <willem.ji...@gmail.com> Authored: Thu Jan 8 14:44:12 2015 +0800 Committer: Willem Jiang <willem.ji...@gmail.com> Committed: Thu Jan 8 14:50:36 2015 +0800 ---------------------------------------------------------------------- examples/camel-example-restlet-jdbc/README.txt | 2 + .../src/main/resources/camel-context.xml | 2 +- .../src/main/resources/xml-rest-dsl.xml | 98 ++++++++++++++++++++ 3 files changed, 101 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/c23c4c15/examples/camel-example-restlet-jdbc/README.txt ---------------------------------------------------------------------- diff --git a/examples/camel-example-restlet-jdbc/README.txt b/examples/camel-example-restlet-jdbc/README.txt index 0f281b0..d0725fd 100644 --- a/examples/camel-example-restlet-jdbc/README.txt +++ b/examples/camel-example-restlet-jdbc/README.txt @@ -9,6 +9,8 @@ Run the application using XML-DSL: mvn jetty:run To run with Java-DSL use: mvn jetty:run -Dimpl=java-dsl +To run with XML-REST-DSL use: mvn jetty:run -Dimpl=xml-rest-dsl + To create an person, make a http POST request with firstName and lastName parameters: curl -d "firstName=test&lastName=person" http://localhost:8080/rs/persons/ http://git-wip-us.apache.org/repos/asf/camel/blob/c23c4c15/examples/camel-example-restlet-jdbc/src/main/resources/camel-context.xml ---------------------------------------------------------------------- diff --git a/examples/camel-example-restlet-jdbc/src/main/resources/camel-context.xml b/examples/camel-example-restlet-jdbc/src/main/resources/camel-context.xml index f76cf8a..f3e24a6 100755 --- a/examples/camel-example-restlet-jdbc/src/main/resources/camel-context.xml +++ b/examples/camel-example-restlet-jdbc/src/main/resources/camel-context.xml @@ -20,5 +20,5 @@ limitations under the License. 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.xsd"> - <import resource="${impl?:xml-dsl}.xml" /> + <import resource="${impl:xml-dsl}.xml" /> </beans> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/camel/blob/c23c4c15/examples/camel-example-restlet-jdbc/src/main/resources/xml-rest-dsl.xml ---------------------------------------------------------------------- diff --git a/examples/camel-example-restlet-jdbc/src/main/resources/xml-rest-dsl.xml b/examples/camel-example-restlet-jdbc/src/main/resources/xml-rest-dsl.xml new file mode 100644 index 0000000..afe1759 --- /dev/null +++ b/examples/camel-example-restlet-jdbc/src/main/resources/xml-rest-dsl.xml @@ -0,0 +1,98 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +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. +--> + +<beans xmlns="http://www.springframework.org/schema/beans" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:jdbc="http://www.springframework.org/schema/jdbc" + + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd + http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd + http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc.xsd"> + + <import resource="common.xml" /> + + <camelContext xmlns="http://camel.apache.org/schema/spring"> + + <restConfiguration bindingMode="auto" component="restlet"/> + + <rest> + <post uri="/persons"> + <to uri="direct:postPersons"/> + </post> + <get uri="/persons"> + <to uri="direct:getPersons"/> + </get> + <get uri="/persons/{personId}"> + <to uri="direct:getPersionId"/> + </get> + <put uri="/persons/{personId}"> + <to uri="direct:putPersionId"/> + </put> + <delete uri="/persons/{personId}"> + <to uri="direct:deletePersionId"/> + </delete> + </rest> + + <route> + <from uri="direct:postPersons"/> + <setBody> + <simple>insert into person(firstName, lastName) values('${header.firstName}','${header.lastName}') + </simple> + </setBody> + <to uri="jdbc:dataSource"/> + + <setBody> + <!--<simple>select * from person ORDER BY id desc OFFSET 1 ROWS</simple>--> + <simple>select * from person where id in (select max(id) from person)</simple> + </setBody> + <to uri="jdbc:dataSource"/> + </route> + + <route> + <from uri="direct:getPersons"/> + <setBody> + <constant>select * from person</constant> + </setBody> + <to uri="jdbc:dataSource"/> + </route> + + <route> + <from uri="direct:getPersionId"/> + <setBody> + <simple>select * from person where id = ${header.personId}</simple> + </setBody> + <to uri="jdbc:dataSource"/> + </route> + + <route> + <from uri="direct:putPersionId"/> + <setBody> + <simple>update person set firstName='${header.firstName}', lastName='${header.lastName}' where id = ${header.personId}</simple> + </setBody> + <to uri="jdbc:dataSource"/> + </route> + + <route> + <from uri="direct:deletePersionId"/> + <setBody> + <simple>delete from person where id = ${header.personId}</simple> + </setBody> + <to uri="jdbc:dataSource"/> + </route> + </camelContext> +</beans> \ No newline at end of file