Repository: servicemix Updated Branches: refs/heads/master c583569e0 -> 42dd6c70f
[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/42dd6c70 Tree: http://git-wip-us.apache.org/repos/asf/servicemix/tree/42dd6c70 Diff: http://git-wip-us.apache.org/repos/asf/servicemix/diff/42dd6c70 Branch: refs/heads/master Commit: 42dd6c70fccaf272f32efa2456110505fe67ba6b Parents: c583569 Author: Krzysztof Sobkowiak <[email protected]> Authored: Sun May 21 02:18:53 2017 +0200 Committer: Krzysztof Sobkowiak <[email protected]> Committed: Sun May 21 02:18:53 2017 +0200 ---------------------------------------------------------------------- NOTICE | 4 --- logging/jms-appender/pom.xml | 12 ++++--- .../logging/jms/LogstashEventFormat.java | 35 ++++++++++---------- .../logging/jms/LogstashEventFormatTest.java | 19 ++++++----- parent/features-parent/pom.xml | 14 ++++++++ 5 files changed, 51 insertions(+), 33 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/servicemix/blob/42dd6c70/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/42dd6c70/logging/jms-appender/pom.xml ---------------------------------------------------------------------- diff --git a/logging/jms-appender/pom.xml b/logging/jms-appender/pom.xml index d8ee63a..b12a929 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/42dd6c70/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/42dd6c70/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/42dd6c70/parent/features-parent/pom.xml ---------------------------------------------------------------------- diff --git a/parent/features-parent/pom.xml b/parent/features-parent/pom.xml index cc35d36..4663867 100644 --- a/parent/features-parent/pom.xml +++ b/parent/features-parent/pom.xml @@ -67,6 +67,8 @@ <jaxb.api.version>2.2</jaxb.api.version> <javassist.bundle.version>3.12.1.GA_3</javassist.bundle.version> <javax-inject.bundle.version>1_2</javax-inject.bundle.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> <mvel2.version>2.2.1.Final</mvel2.version> <mybatis.version>3.3.0</mybatis.version> @@ -381,6 +383,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>
