Repository: incubator-gossip
Updated Branches:
  refs/heads/master f1935beb6 -> 0bdf2f692


GOSSIP-34 remove json that makes ASF sad


Project: http://git-wip-us.apache.org/repos/asf/incubator-gossip/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-gossip/commit/0bdf2f69
Tree: http://git-wip-us.apache.org/repos/asf/incubator-gossip/tree/0bdf2f69
Diff: http://git-wip-us.apache.org/repos/asf/incubator-gossip/diff/0bdf2f69

Branch: refs/heads/master
Commit: 0bdf2f69207ef87f44531b640dc1d29a077750e6
Parents: f1935be
Author: Edward Capriolo <[email protected]>
Authored: Tue Jan 3 14:12:21 2017 -0500
Committer: Edward Capriolo <[email protected]>
Committed: Tue Jan 3 14:12:21 2017 -0500

----------------------------------------------------------------------
 pom.xml                                         | 13 ++++--
 .../java/org/apache/gossip/GossipRunner.java    |  4 +-
 .../java/org/apache/gossip/StartupSettings.java | 42 ++++++++++----------
 .../gossip/manager/ActiveGossipThread.java      |  4 +-
 .../org/apache/gossip/manager/GossipCore.java   |  5 ++-
 .../gossip/manager/PassiveGossipThread.java     |  3 +-
 .../manager/random/RandomGossipManager.java     |  1 -
 src/main/java/org/apache/gossip/model/Base.java |  8 ++--
 .../org/apache/gossip/StartupSettingsTest.java  |  3 +-
 9 files changed, 45 insertions(+), 38 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-gossip/blob/0bdf2f69/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index fc0a11c..7c30e20 100644
--- a/pom.xml
+++ b/pom.xml
@@ -38,7 +38,7 @@
                <java.version>1.8</java.version>
                
                <!-- dependecy versions -->
-               
<jackson-datatype-json-org.version>1.8.0</jackson-datatype-json-org.version>
+               <jackson.version>2.8.5</jackson.version>
                <junit.jupiter.version>5.0.0-M2</junit.jupiter.version>
                <junit.platform.version>1.0.0-M2</junit.platform.version>
                <junit.vintage.version>4.12.0-M2</junit.vintage.version>
@@ -74,9 +74,14 @@
        
        <dependencies>
                <dependency>
-                       <groupId>com.fasterxml.jackson</groupId>
-                       <artifactId>jackson-datatype-json-org</artifactId>
-                       <version>${jackson-datatype-json-org.version}</version>
+                       <groupId>com.fasterxml.jackson.core</groupId>
+                       <artifactId>jackson-core</artifactId>
+                       <version>${jackson.version}</version>
+               </dependency>
+               <dependency>
+                       <groupId>com.fasterxml.jackson.core</groupId>
+                       <artifactId>jackson-databind</artifactId>
+                       <version>${jackson.version}</version>
                </dependency>
                <dependency>
                        <groupId>org.junit.jupiter</groupId>

http://git-wip-us.apache.org/repos/asf/incubator-gossip/blob/0bdf2f69/src/main/java/org/apache/gossip/GossipRunner.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/gossip/GossipRunner.java 
b/src/main/java/org/apache/gossip/GossipRunner.java
index c765ed6..1ae609c 100644
--- a/src/main/java/org/apache/gossip/GossipRunner.java
+++ b/src/main/java/org/apache/gossip/GossipRunner.java
@@ -22,7 +22,7 @@ import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.net.URISyntaxException;
 
-import org.json.JSONException;
+
 
 public class GossipRunner {
 
@@ -46,8 +46,6 @@ public class GossipRunner {
         gossipService.start();
       } catch (FileNotFoundException e) {
         System.err.println("The given file is not found!");
-      } catch (JSONException e) {
-        System.err.println("The given file is not in the correct JSON 
format!");
       } catch (IOException e) {
         System.err.println("Could not read the configuration file: " + 
e.getMessage());
       } catch (InterruptedException e) {

http://git-wip-us.apache.org/repos/asf/incubator-gossip/blob/0bdf2f69/src/main/java/org/apache/gossip/StartupSettings.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/gossip/StartupSettings.java 
b/src/main/java/org/apache/gossip/StartupSettings.java
index 93757bd..079aaa0 100644
--- a/src/main/java/org/apache/gossip/StartupSettings.java
+++ b/src/main/java/org/apache/gossip/StartupSettings.java
@@ -25,17 +25,18 @@ import java.io.IOException;
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.util.ArrayList;
+import java.util.Iterator;
 import java.util.List;
 
 import org.apache.log4j.Logger;
-import org.json.JSONArray;
-import org.json.JSONException;
-import org.json.JSONObject;
+
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
 
 /**
  * This object represents the settings used when starting the gossip service.
  * 
- * @author harmenw
  */
 public class StartupSettings {
   private static final Logger log = Logger.getLogger(StartupSettings.class);
@@ -160,7 +161,7 @@ public class StartupSettings {
    *           Thrown when reading the file gives problems.
    * @throws URISyntaxException 
    */
-  public static StartupSettings fromJSONFile(File jsonFile) throws 
JSONException,
+  public static StartupSettings fromJSONFile(File jsonFile) throws  
           FileNotFoundException, IOException, URISyntaxException {
     // Read the file to a String.
     StringBuffer buffer = new StringBuffer();
@@ -170,32 +171,31 @@ public class StartupSettings {
         buffer.append(line.trim());
       }
     }
-    
-    JSONObject jsonObject = new JSONArray(buffer.toString()).getJSONObject(0);
-    String uri = jsonObject.getString("uri");
-    String id = jsonObject.getString("id");
-    int gossipInterval = jsonObject.getInt("gossip_interval");
-    int cleanupInterval = jsonObject.getInt("cleanup_interval");
-    String cluster = jsonObject.getString("cluster");
+    ObjectMapper om = new ObjectMapper();
+    JsonNode root = om.readTree(jsonFile);
+    JsonNode jsonObject = root.get(0);
+    String uri = jsonObject.get("uri").textValue();
+    String id = jsonObject.get("id").textValue();
+    int gossipInterval = jsonObject.get("gossip_interval").intValue();
+    int cleanupInterval = jsonObject.get("cleanup_interval").intValue();
+    String cluster = jsonObject.get("cluster").textValue();
     if (cluster == null){
       throw new IllegalArgumentException("cluster was null. It is required");
     }
     URI uri2 = new URI(uri);
     StartupSettings settings = new StartupSettings(id, uri2, new 
GossipSettings(gossipInterval,
             cleanupInterval), cluster);
-
-    // Now iterate over the members from the config file and add them to the 
settings.
     String configMembersDetails = "Config-members [";
-    JSONArray membersJSON = jsonObject.getJSONArray("members");
-    for (int i = 0; i < membersJSON.length(); i++) {
-      JSONObject memberJSON = membersJSON.getJSONObject(i);
-      URI uri3 = new URI(memberJSON.getString("uri"));
-      RemoteGossipMember member = new 
RemoteGossipMember(memberJSON.getString("cluster"),
+    JsonNode membersJSON = jsonObject.get("members");
+    Iterator<JsonNode> it = membersJSON.iterator();
+    while (it.hasNext()){
+      JsonNode child = it.next();
+      URI uri3 = new URI(child.get("uri").textValue());
+      RemoteGossipMember member = new 
RemoteGossipMember(child.get("cluster").asText(),
               uri3, "", 0);
       settings.addGossipMember(member);
       configMembersDetails += member.getAddress();
-      if (i < (membersJSON.length() - 1))
-        configMembersDetails += ", ";
+      configMembersDetails += ", ";
     }
     log.info(configMembersDetails + "]");
 

http://git-wip-us.apache.org/repos/asf/incubator-gossip/blob/0bdf2f69/src/main/java/org/apache/gossip/manager/ActiveGossipThread.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/gossip/manager/ActiveGossipThread.java 
b/src/main/java/org/apache/gossip/manager/ActiveGossipThread.java
index 064df59..29f4688 100644
--- a/src/main/java/org/apache/gossip/manager/ActiveGossipThread.java
+++ b/src/main/java/org/apache/gossip/manager/ActiveGossipThread.java
@@ -39,7 +39,9 @@ import org.apache.gossip.udp.UdpActiveGossipMessage;
 import org.apache.gossip.udp.UdpGossipDataMessage;
 import org.apache.gossip.udp.UdpSharedGossipDataMessage;
 import org.apache.log4j.Logger;
-import org.codehaus.jackson.map.ObjectMapper;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+
 
 /**
  * [The active thread: periodically send gossip request.] The class handles 
gossiping the membership

http://git-wip-us.apache.org/repos/asf/incubator-gossip/blob/0bdf2f69/src/main/java/org/apache/gossip/manager/GossipCore.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/gossip/manager/GossipCore.java 
b/src/main/java/org/apache/gossip/manager/GossipCore.java
index 258a159..0ab56a0 100644
--- a/src/main/java/org/apache/gossip/manager/GossipCore.java
+++ b/src/main/java/org/apache/gossip/manager/GossipCore.java
@@ -31,7 +31,6 @@ import java.util.concurrent.Callable;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
 import java.util.concurrent.Future;
 import java.util.concurrent.ThreadPoolExecutor;
 import java.util.concurrent.ThreadPoolExecutor.DiscardPolicy;
@@ -52,7 +51,9 @@ import org.apache.gossip.udp.UdpGossipDataMessage;
 import org.apache.gossip.udp.UdpNotAMemberFault;
 import org.apache.gossip.udp.UdpSharedGossipDataMessage;
 import org.apache.log4j.Logger;
-import org.codehaus.jackson.map.ObjectMapper;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+
 
 public class GossipCore {
   

http://git-wip-us.apache.org/repos/asf/incubator-gossip/blob/0bdf2f69/src/main/java/org/apache/gossip/manager/PassiveGossipThread.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/gossip/manager/PassiveGossipThread.java 
b/src/main/java/org/apache/gossip/manager/PassiveGossipThread.java
index 2e1fd81..b54a963 100644
--- a/src/main/java/org/apache/gossip/manager/PassiveGossipThread.java
+++ b/src/main/java/org/apache/gossip/manager/PassiveGossipThread.java
@@ -27,7 +27,8 @@ import java.util.concurrent.atomic.AtomicBoolean;
 
 import org.apache.gossip.model.Base;
 import org.apache.log4j.Logger;
-import org.codehaus.jackson.map.ObjectMapper;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
 
 /**
  * [The passive thread: reply to incoming gossip request.] This class handles 
the passive cycle,

http://git-wip-us.apache.org/repos/asf/incubator-gossip/blob/0bdf2f69/src/main/java/org/apache/gossip/manager/random/RandomGossipManager.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/gossip/manager/random/RandomGossipManager.java 
b/src/main/java/org/apache/gossip/manager/random/RandomGossipManager.java
index e7e19da..26541ca 100644
--- a/src/main/java/org/apache/gossip/manager/random/RandomGossipManager.java
+++ b/src/main/java/org/apache/gossip/manager/random/RandomGossipManager.java
@@ -21,7 +21,6 @@ import org.apache.gossip.GossipMember;
 import org.apache.gossip.GossipSettings;
 import org.apache.gossip.event.GossipListener;
 import org.apache.gossip.manager.GossipManager;
-import org.apache.gossip.manager.impl.OnlyProcessReceivedPassiveGossipThread;
 
 import java.net.URI;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/incubator-gossip/blob/0bdf2f69/src/main/java/org/apache/gossip/model/Base.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/gossip/model/Base.java 
b/src/main/java/org/apache/gossip/model/Base.java
index 92b38cd..4551f2a 100644
--- a/src/main/java/org/apache/gossip/model/Base.java
+++ b/src/main/java/org/apache/gossip/model/Base.java
@@ -22,9 +22,11 @@ import org.apache.gossip.udp.UdpActiveGossipOk;
 import org.apache.gossip.udp.UdpGossipDataMessage;
 import org.apache.gossip.udp.UdpNotAMemberFault;
 import org.apache.gossip.udp.UdpSharedGossipDataMessage;
-import org.codehaus.jackson.annotate.JsonSubTypes;
-import org.codehaus.jackson.annotate.JsonSubTypes.Type;
-import org.codehaus.jackson.annotate.JsonTypeInfo;
+
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonSubTypes.Type;
+
 
 @JsonTypeInfo(  
         use = JsonTypeInfo.Id.CLASS,  

http://git-wip-us.apache.org/repos/asf/incubator-gossip/blob/0bdf2f69/src/test/java/org/apache/gossip/StartupSettingsTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/gossip/StartupSettingsTest.java 
b/src/test/java/org/apache/gossip/StartupSettingsTest.java
index 55c297b..1c0826b 100644
--- a/src/test/java/org/apache/gossip/StartupSettingsTest.java
+++ b/src/test/java/org/apache/gossip/StartupSettingsTest.java
@@ -18,7 +18,6 @@
 package org.apache.gossip;
 
 import org.apache.log4j.Logger;
-import org.json.JSONException;
 
 import io.teknek.tunit.TUnit;
 
@@ -47,7 +46,7 @@ public class StartupSettingsTest {
 
   
   @Test
-  public void testUsingSettingsFile() throws IOException, 
InterruptedException, JSONException, URISyntaxException {
+  public void testUsingSettingsFile() throws IOException, 
InterruptedException, URISyntaxException {
     File settingsFile = File.createTempFile("gossipTest",".json");
     log.debug( "Using settings file: " + settingsFile.getAbsolutePath() );
     settingsFile.deleteOnExit();

Reply via email to