You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2013/10/06 12:42:40 UTC

[3/3] git commit: CAMEL-6238: camel-jsonpath component.

CAMEL-6238: camel-jsonpath component.


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/969d8814
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/969d8814
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/969d8814

Branch: refs/heads/master
Commit: 969d88146d282c1ddaa6c7f8c9fb2ecc79379850
Parents: 794ee2c
Author: Claus Ibsen <da...@apache.org>
Authored: Sun Oct 6 12:41:10 2013 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Sun Oct 6 12:42:30 2013 +0200

----------------------------------------------------------------------
 apache-camel/pom.xml                            |  4 ++
 .../src/main/descriptors/common-bin.xml         |  1 +
 .../org/apache/camel/jsonpath/JSonPath.java     | 40 ++++++++++++++++++++
 parent/pom.xml                                  |  6 +++
 .../features/src/main/resources/features.xml    |  5 +++
 5 files changed, 56 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/969d8814/apache-camel/pom.xml
----------------------------------------------------------------------
diff --git a/apache-camel/pom.xml b/apache-camel/pom.xml
index f7c05c0..18c4d4a 100644
--- a/apache-camel/pom.xml
+++ b/apache-camel/pom.xml
@@ -313,6 +313,10 @@
     </dependency>
     <dependency>
       <groupId>org.apache.camel</groupId>
+      <artifactId>camel-jsonpath</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.camel</groupId>
       <artifactId>camel-juel</artifactId>
     </dependency>
     <dependency>

http://git-wip-us.apache.org/repos/asf/camel/blob/969d8814/apache-camel/src/main/descriptors/common-bin.xml
----------------------------------------------------------------------
diff --git a/apache-camel/src/main/descriptors/common-bin.xml b/apache-camel/src/main/descriptors/common-bin.xml
index db1a9c6..8083d23 100644
--- a/apache-camel/src/main/descriptors/common-bin.xml
+++ b/apache-camel/src/main/descriptors/common-bin.xml
@@ -91,6 +91,7 @@
         <include>org.apache.camel:camel-josql</include>
         <include>org.apache.camel:camel-jpa</include>
         <include>org.apache.camel:camel-jsch</include>
+        <include>org.apache.camel:camel-jsonpath</include>
         <include>org.apache.camel:camel-jt400</include>
         <include>org.apache.camel:camel-juel</include>
         <include>org.apache.camel:camel-jxpath</include>

http://git-wip-us.apache.org/repos/asf/camel/blob/969d8814/components/camel-jsonpath/src/main/java/org/apache/camel/jsonpath/JSonPath.java
----------------------------------------------------------------------
diff --git a/components/camel-jsonpath/src/main/java/org/apache/camel/jsonpath/JSonPath.java b/components/camel-jsonpath/src/main/java/org/apache/camel/jsonpath/JSonPath.java
new file mode 100644
index 0000000..601d64c
--- /dev/null
+++ b/components/camel-jsonpath/src/main/java/org/apache/camel/jsonpath/JSonPath.java
@@ -0,0 +1,40 @@
+/**
+ * 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.jsonpath;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import org.apache.camel.language.LanguageAnnotation;
+
+/**
+ * An annotation used to inject a <a href="http://commons.apache.org/jsonpath/">JSon Path</a>
+ * expression into a method parameter when using
+ * <a href="http://camel.apache.org/bean-integration.html">Bean Integration</a>
+ *
+ * @version
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+@Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER })
+@LanguageAnnotation(language = "jsonpath")
+public @interface JSonPath {
+    String value();
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/969d8814/parent/pom.xml
----------------------------------------------------------------------
diff --git a/parent/pom.xml b/parent/pom.xml
index 5f5c049..8c7ddb0 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -236,6 +236,7 @@
     <jsonlib-bundle-version>2.4_1</jsonlib-bundle-version>
     <jsonlib-version>2.4</jsonlib-version>
     <json-path-version>0.9.0</json-path-version>
+    <json-smart-version>1.2</json-smart-version>
     <jsp-api-2.1-version>1.0.1</jsp-api-2.1-version>
     <jsmpp-bundle-version>2.1.0_4</jsmpp-bundle-version>
     <jt400-version>6.7</jt400-version>
@@ -838,6 +839,11 @@
       </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId>
+        <artifactId>camel-jsonpath</artifactId>
+        <version>${project.version}</version>
+      </dependency>      
+      <dependency>
+        <groupId>org.apache.camel</groupId>
         <artifactId>camel-jt400</artifactId>
         <version>${project.version}</version>
       </dependency>

http://git-wip-us.apache.org/repos/asf/camel/blob/969d8814/platforms/karaf/features/src/main/resources/features.xml
----------------------------------------------------------------------
diff --git a/platforms/karaf/features/src/main/resources/features.xml b/platforms/karaf/features/src/main/resources/features.xml
index e7f59ed..c88f011 100644
--- a/platforms/karaf/features/src/main/resources/features.xml
+++ b/platforms/karaf/features/src/main/resources/features.xml
@@ -607,6 +607,11 @@
     <feature version='${project.version}'>camel-ftp</feature>
     <bundle>mvn:org.apache.camel/camel-jsch/${project.version}</bundle>
   </feature>
+  <feature name='camel-jsonpath' version='${project.version}' resolver='(obr)' start-level='50'>
+    <bundle>mvn:com.jayway.jsonpath/json-path/${json-path-version}</bundle>
+    <bundle>mvn:net.minidev/json-smart/${json-smart-version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-jsonpath/${project.version}</bundle>
+  </feature>
   <feature name='camel-jt400' version='${project.version}' resolver='(obr)' start-level='50'>
     <bundle dependency='true'>mvn:org.apache.geronimo.specs/geronimo-servlet_2.5_spec/${geronimo-servlet-25-spec-version}</bundle>
     <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jt400/${jt400-bundle-version}</bundle>