CAMEL-10696: Use the patched json-simple-order parser and test its ordered

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

Branch: refs/heads/json-simple
Commit: d59d7a6d36b2e3fd99f7127b94c067c20b314a37
Parents: 5cf67b3
Author: Claus Ibsen <davscl...@apache.org>
Authored: Sun Sep 24 13:34:01 2017 +0200
Committer: Claus Ibsen <davscl...@apache.org>
Committed: Sun Sep 24 13:37:34 2017 +0200

----------------------------------------------------------------------
 camel-core/pom.xml                              |  9 +--
 .../runtimecatalog/JSonSchemaHelperTest.java    | 61 ++++++++++++++++++++
 platforms/camel-catalog/pom.xml                 | 10 ++--
 tooling/apt/pom.xml                             |  8 +--
 .../maven/camel-package-maven-plugin/pom.xml    |  8 +--
 5 files changed, 79 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/d59d7a6d/camel-core/pom.xml
----------------------------------------------------------------------
diff --git a/camel-core/pom.xml b/camel-core/pom.xml
index e2d95ad..9f3ea68 100644
--- a/camel-core/pom.xml
+++ b/camel-core/pom.xml
@@ -134,10 +134,11 @@
       <groupId>com.github.ben-manes.caffeine</groupId>
       <artifactId>caffeine</artifactId>
     </dependency>
+    <!-- we shade our patched ordered json-simple parser -->
     <dependency>
-      <groupId>com.github.cliftonlabs</groupId>
-      <artifactId>json-simple</artifactId>
-      <version>${json-simple2-version}</version>
+      <groupId>org.apache.camel</groupId>
+      <artifactId>json-simple-ordered</artifactId>
+      <version>${project.version}</version>
     </dependency>
 
     <!-- required dependencies by camel-core -->
@@ -266,7 +267,7 @@
               <artifactSet>
                 <includes>
                   <include>com.github.ben-manes.caffeine:caffeine</include>
-                  <include>com.github.cliftonlabs:json-simple</include>
+                  <include>org.apache.camel:json-simple-ordered</include>
                   <include>org.apache.camel:spi-annotations</include>
                 </includes>
                 <excludes>

http://git-wip-us.apache.org/repos/asf/camel/blob/d59d7a6d/camel-core/src/test/java/org/apache/camel/runtimecatalog/JSonSchemaHelperTest.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/test/java/org/apache/camel/runtimecatalog/JSonSchemaHelperTest.java
 
b/camel-core/src/test/java/org/apache/camel/runtimecatalog/JSonSchemaHelperTest.java
new file mode 100644
index 0000000..d273057
--- /dev/null
+++ 
b/camel-core/src/test/java/org/apache/camel/runtimecatalog/JSonSchemaHelperTest.java
@@ -0,0 +1,61 @@
+/**
+ * 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
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
+ * 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.runtimecatalog;
+
+import java.util.List;
+import java.util.Map;
+
+import org.apache.camel.ContextTestSupport;
+
+public class JSonSchemaHelperTest extends ContextTestSupport {
+
+    public void testParseJsonSchemaMustBeOrdered() throws Exception {
+        String json = 
context.getRuntimeCamelCatalog().componentJSonSchema("bean");
+        assertNotNull(json);
+
+        List<Map<String, String>> rows = 
JSonSchemaHelper.parseJsonSchema("component", json, false);
+        assertEquals(17, rows.size());
+
+        // should preserve order
+        assertEquals("kind", rows.get(0).keySet().iterator().next());
+        assertEquals("scheme", rows.get(1).keySet().iterator().next());
+        assertEquals("syntax", rows.get(2).keySet().iterator().next());
+        assertEquals("title", rows.get(3).keySet().iterator().next());
+        assertEquals("description", rows.get(4).keySet().iterator().next());
+        assertEquals("label", rows.get(5).keySet().iterator().next());
+        assertEquals("deprecated", rows.get(6).keySet().iterator().next());
+        assertEquals("deprecationNote", 
rows.get(7).keySet().iterator().next());
+        assertEquals("async", rows.get(8).keySet().iterator().next());
+        assertEquals("consumerOnly", rows.get(9).keySet().iterator().next());
+        assertEquals("producerOnly", rows.get(10).keySet().iterator().next());
+        assertEquals("lenientProperties", 
rows.get(11).keySet().iterator().next());
+        assertEquals("javaType", rows.get(12).keySet().iterator().next());
+        assertEquals("firstVersion", rows.get(13).keySet().iterator().next());
+        assertEquals("groupId", rows.get(14).keySet().iterator().next());
+        assertEquals("artifactId", rows.get(15).keySet().iterator().next());
+        assertEquals("version", rows.get(16).keySet().iterator().next());
+
+        rows = JSonSchemaHelper.parseJsonSchema("properties", json, true);
+        assertEquals(6, rows.size());
+        assertEquals("beanName", rows.get(0).values().iterator().next());
+        assertEquals("method", rows.get(1).values().iterator().next());
+        assertEquals("cache", rows.get(2).values().iterator().next());
+        assertEquals("multiParameterArray", 
rows.get(3).values().iterator().next());
+        assertEquals("parameters", rows.get(4).values().iterator().next());
+        assertEquals("synchronous", rows.get(5).values().iterator().next());
+    }
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/d59d7a6d/platforms/camel-catalog/pom.xml
----------------------------------------------------------------------
diff --git a/platforms/camel-catalog/pom.xml b/platforms/camel-catalog/pom.xml
index 0357fde..d19f665 100644
--- a/platforms/camel-catalog/pom.xml
+++ b/platforms/camel-catalog/pom.xml
@@ -35,11 +35,11 @@
   <dependencies>
 
     <!-- required dependencies by camel-catalog -->
-    <!-- which we shade into camel-catalog so its available for everybody out 
of the box -->
+    <!-- we shade our patched ordered json-simple parser -->
     <dependency>
-      <groupId>com.github.cliftonlabs</groupId>
-      <artifactId>json-simple</artifactId>
-      <version>${json-simple2-version}</version>
+      <groupId>org.apache.camel</groupId>
+      <artifactId>json-simple-ordered</artifactId>
+      <version>${project.version}</version>
     </dependency>
 
     <!-- testing -->
@@ -182,7 +182,7 @@
             <configuration>
               <artifactSet>
                 <includes>
-                  <include>com.github.cliftonlabs:json-simple</include>
+                  <include>org.apache.camel:json-simple-ordered</include>
                 </includes>
               </artifactSet>
               <relocations>

http://git-wip-us.apache.org/repos/asf/camel/blob/d59d7a6d/tooling/apt/pom.xml
----------------------------------------------------------------------
diff --git a/tooling/apt/pom.xml b/tooling/apt/pom.xml
index 7e75194..f868104 100644
--- a/tooling/apt/pom.xml
+++ b/tooling/apt/pom.xml
@@ -44,11 +44,11 @@
       <version>${project.version}</version>
     </dependency>
 
-    <!-- json parser -->
+    <!-- use our patched ordered json-simple parser -->
     <dependency>
-      <groupId>com.github.cliftonlabs</groupId>
-      <artifactId>json-simple</artifactId>
-      <version>${json-simple2-version}</version>
+      <groupId>org.apache.camel</groupId>
+      <artifactId>json-simple-ordered</artifactId>
+      <version>${project.version}</version>
     </dependency>
 
     <!-- logging -->

http://git-wip-us.apache.org/repos/asf/camel/blob/d59d7a6d/tooling/maven/camel-package-maven-plugin/pom.xml
----------------------------------------------------------------------
diff --git a/tooling/maven/camel-package-maven-plugin/pom.xml 
b/tooling/maven/camel-package-maven-plugin/pom.xml
index 7405c23..7a81ec7 100644
--- a/tooling/maven/camel-package-maven-plugin/pom.xml
+++ b/tooling/maven/camel-package-maven-plugin/pom.xml
@@ -46,11 +46,11 @@
 
   <dependencies>
 
-    <!-- json parser -->
+    <!-- use our patched ordered json-simple parser -->
     <dependency>
-      <groupId>com.github.cliftonlabs</groupId>
-      <artifactId>json-simple</artifactId>
-      <version>${json-simple2-version}</version>
+      <groupId>org.apache.camel</groupId>
+      <artifactId>json-simple-ordered</artifactId>
+      <version>${project.version}</version>
     </dependency>
 
     <dependency>

Reply via email to