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>

Reply via email to