Repository: servicemix Updated Branches: refs/heads/servicemix-6.x bd52c6b30 -> 1edb03086
[SM-3222] ServiceMix should not use non-free json.org Project: http://git-wip-us.apache.org/repos/asf/servicemix/repo Commit: http://git-wip-us.apache.org/repos/asf/servicemix/commit/1edb0308 Tree: http://git-wip-us.apache.org/repos/asf/servicemix/tree/1edb0308 Diff: http://git-wip-us.apache.org/repos/asf/servicemix/diff/1edb0308 Branch: refs/heads/servicemix-6.x Commit: 1edb0308674f4818470f0cbc7cdc68e54ecf01b6 Parents: bd52c6b Author: Krzysztof Sobkowiak <[email protected]> Authored: Sun May 21 02:18:53 2017 +0200 Committer: Krzysztof Sobkowiak <[email protected]> Committed: Sun May 21 02:28:54 2017 +0200 ---------------------------------------------------------------------- NOTICE | 4 --- logging/jms-appender/pom.xml | 12 ++++--- .../logging/jms/LogstashEventFormat.java | 35 ++++++++++---------- .../logging/jms/LogstashEventFormatTest.java | 19 ++++++----- parent/pom.xml | 14 ++++++++ 5 files changed, 51 insertions(+), 33 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/servicemix/blob/1edb0308/NOTICE ---------------------------------------------------------------------- diff --git a/NOTICE b/NOTICE index ebed9ab..a33720d 100644 --- a/NOTICE +++ b/NOTICE @@ -18,7 +18,3 @@ which is dual licensed and available under the (unmodified) CDDL 1.1 (Common Development and Distribution License) or under the (unmodified) GPL v2 (GNU General Public License). An original copy of the license agreement can be found at: http://glassfish.java.net/public/CDDL+GPL_1_1.html - - This product uses software from http://www.json.org. - Copyright (c) 2002 JSON.org - Licensed under the JSON License http://git-wip-us.apache.org/repos/asf/servicemix/blob/1edb0308/logging/jms-appender/pom.xml ---------------------------------------------------------------------- diff --git a/logging/jms-appender/pom.xml b/logging/jms-appender/pom.xml index 2d69746..92f6f2e 100644 --- a/logging/jms-appender/pom.xml +++ b/logging/jms-appender/pom.xml @@ -45,9 +45,12 @@ <artifactId>activemq-broker</artifactId> </dependency> <dependency> - <groupId>org.json</groupId> - <artifactId>json</artifactId> - <version>20090211</version> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>geronimo-json_1.0_spec</artifactId> + </dependency> + <dependency> + <groupId>org.apache.johnzon</groupId> + <artifactId>johnzon-core</artifactId> </dependency> <dependency> @@ -83,7 +86,8 @@ org.apache.servicemix.logging.jms </Private-Package> <Embed-Dependency> - json + johnzon-core, + geronimo-json_1.0_spec </Embed-Dependency> </instructions> </configuration> http://git-wip-us.apache.org/repos/asf/servicemix/blob/1edb0308/logging/jms-appender/src/main/java/org/apache/servicemix/logging/jms/LogstashEventFormat.java ---------------------------------------------------------------------- diff --git a/logging/jms-appender/src/main/java/org/apache/servicemix/logging/jms/LogstashEventFormat.java b/logging/jms-appender/src/main/java/org/apache/servicemix/logging/jms/LogstashEventFormat.java index b9af5be..c7acb2e 100644 --- a/logging/jms-appender/src/main/java/org/apache/servicemix/logging/jms/LogstashEventFormat.java +++ b/logging/jms-appender/src/main/java/org/apache/servicemix/logging/jms/LogstashEventFormat.java @@ -16,15 +16,16 @@ */ package org.apache.servicemix.logging.jms; -import org.json.JSONArray; -import org.json.JSONException; -import org.json.JSONObject; -import org.ops4j.pax.logging.spi.PaxLoggingEvent; - import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Map; +import javax.json.Json; +import javax.json.JsonArrayBuilder; +import javax.json.JsonException; +import javax.json.JsonObjectBuilder; + +import org.ops4j.pax.logging.spi.PaxLoggingEvent; /** * Creates a log message in Logstash' internal message format, @@ -41,28 +42,28 @@ public class LogstashEventFormat implements LoggingEventFormat { protected static final String TIMESTAMP = "@timestamp"; public String toString(PaxLoggingEvent event) { - JSONObject object = new JSONObject(); + JsonObjectBuilder object = Json.createObjectBuilder(); try { - object.put(MESSAGE, event.getMessage()); - object.put(SOURCE, event.getLoggerName()); - object.put(TIMESTAMP, TIMESTAMP_FORMAT.format(new Date(event.getTimeStamp()))); + object.add(MESSAGE, event.getMessage()); + object.add(SOURCE, event.getLoggerName()); + object.add(TIMESTAMP, TIMESTAMP_FORMAT.format(new Date(event.getTimeStamp()))); - JSONObject fields = new JSONObject(); + JsonObjectBuilder fields = Json.createObjectBuilder(); for (Object property : event.getProperties().entrySet()) { Map.Entry<String, Object> entry = (Map.Entry<String, Object>) property; - fields.put(entry.getKey(), entry.getValue().toString()); + fields.add(entry.getKey(), entry.getValue().toString()); } - object.put(FIELDS, fields); + object.add(FIELDS, fields); - JSONArray tags = new JSONArray(); - tags.put(event.getLevel().toString()); - object.put(TAGS, tags); - } catch (JSONException e) { + JsonArrayBuilder tags = Json.createArrayBuilder(); + tags.add(event.getLevel().toString()); + object.add(TAGS, tags); + } catch (JsonException e) { // let's return a minimal, String-based message representation instead return "{ \"" + MESSAGE + "\" : " + event.getMessage() + "}"; } - return object.toString(); + return object.build().toString(); } } http://git-wip-us.apache.org/repos/asf/servicemix/blob/1edb0308/logging/jms-appender/src/test/java/org/apache/servicemix/logging/jms/LogstashEventFormatTest.java ---------------------------------------------------------------------- diff --git a/logging/jms-appender/src/test/java/org/apache/servicemix/logging/jms/LogstashEventFormatTest.java b/logging/jms-appender/src/test/java/org/apache/servicemix/logging/jms/LogstashEventFormatTest.java index 0f2fd7b..15d65b6 100644 --- a/logging/jms-appender/src/test/java/org/apache/servicemix/logging/jms/LogstashEventFormatTest.java +++ b/logging/jms-appender/src/test/java/org/apache/servicemix/logging/jms/LogstashEventFormatTest.java @@ -16,8 +16,11 @@ */ package org.apache.servicemix.logging.jms; -import org.json.JSONException; -import org.json.JSONObject; +import java.io.StringReader; +import javax.json.Json; +import javax.json.JsonException; +import javax.json.JsonObject; + import org.junit.Test; import org.ops4j.pax.logging.spi.PaxLoggingEvent; @@ -32,15 +35,15 @@ public class LogstashEventFormatTest { private final LoggingEventFormat format = new LogstashEventFormat(); @Test - public void testBasicLogstashFormat() throws JSONException { + public void testBasicLogstashFormat() throws JsonException { PaxLoggingEvent event = MockEvents.createInfoEvent(); - JSONObject object = new JSONObject(format.toString(event)); - assertEquals(MockEvents.LOG_MESSAGE, object.get(LogstashEventFormat.MESSAGE)); - assertEquals(MockEvents.LOGGER_NAME, object.get(LogstashEventFormat.SOURCE)); - assertEquals("INFO", object.getJSONArray(LogstashEventFormat.TAGS).get(0)); + JsonObject object = Json.createReader(new StringReader(format.toString(event))).readObject(); + assertEquals(MockEvents.LOG_MESSAGE, object.getString(LogstashEventFormat.MESSAGE)); + assertEquals(MockEvents.LOGGER_NAME, object.getString(LogstashEventFormat.SOURCE)); + assertEquals("INFO", object.getJsonArray(LogstashEventFormat.TAGS).getString(0)); assertEquals(MockEvents.LOG_PROPERTY_VALUE, - object.getJSONObject(LogstashEventFormat.FIELDS).get(MockEvents.LOG_PROPERTY_ID)); + object.getJsonObject(LogstashEventFormat.FIELDS).getString(MockEvents.LOG_PROPERTY_ID)); assertNotNull(object.get(LogstashEventFormat.TIMESTAMP)); System.out.println(object); http://git-wip-us.apache.org/repos/asf/servicemix/blob/1edb0308/parent/pom.xml ---------------------------------------------------------------------- diff --git a/parent/pom.xml b/parent/pom.xml index 432bef0..4c78413 100644 --- a/parent/pom.xml +++ b/parent/pom.xml @@ -74,6 +74,8 @@ <jaxb.api.version>2.2</jaxb.api.version> <jodatime2.bundle.version>2.9</jodatime2.bundle.version> <jpa.version>2.1.0</jpa.version> + <johnzon.version>0.9.4</johnzon.version> + <json-p.spec.version>1.0-alpha-1</json-p.spec.version> <json4s.bundle.version>3.2.11_1</json4s.bundle.version> <karaf.version>3.0.8</karaf.version> <mvel2.version>2.2.1.Final</mvel2.version> @@ -527,6 +529,18 @@ <version>${commons-httpclient.bundle.version}</version> </dependency> + <!-- json --> + <dependency> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>geronimo-json_1.0_spec</artifactId> + <version>${json-p.spec.version}</version> + </dependency> + <dependency> + <groupId>org.apache.johnzon</groupId> + <artifactId>johnzon-core</artifactId> + <version>${johnzon.version}</version> + </dependency> + <!-- Pax Url --> <dependency> <groupId>org.ops4j.pax.url</groupId>
