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>