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>

Reply via email to