You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@gossip.apache.org by ec...@apache.org on 2016/06/11 00:16:49 UTC

[12/12] incubator-gossip git commit: GOSSIP-2 merge

GOSSIP-2 merge


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

Branch: refs/heads/master
Commit: 2c1dc4375bb1123334468488db72062546a9a9f2
Parents: 496f299 fe196cd
Author: Edward Capriolo <ed...@gmail.com>
Authored: Tue Jun 7 23:10:14 2016 -0400
Committer: Edward Capriolo <ed...@gmail.com>
Committed: Tue Jun 7 23:10:14 2016 -0400

----------------------------------------------------------------------
 .../java/org/apache/gossip/GossipService.java   |  3 +-
 .../manager/random/RandomGossipManager.java     | 72 +++++++++++++++++++-
 .../manager/RandomGossipManagerBuilderTest.java | 16 ++---
 3 files changed, 79 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-gossip/blob/2c1dc437/src/main/java/org/apache/gossip/GossipService.java
----------------------------------------------------------------------
diff --cc src/main/java/org/apache/gossip/GossipService.java
index 866dc03,cf727a8..b149719
--- a/src/main/java/org/apache/gossip/GossipService.java
+++ b/src/main/java/org/apache/gossip/GossipService.java
@@@ -63,8 -62,8 +63,7 @@@ public class GossipService 
      gossipManager = RandomGossipManager.newBuilder()
          .withId(id)
          .cluster(cluster)
--        .address(ipAddress)
--        .port(port)
++        .uri(uri)
          .settings(settings)
          .gossipMembers(gossipMembers)
          .listener(listener)

http://git-wip-us.apache.org/repos/asf/incubator-gossip/blob/2c1dc437/src/main/java/org/apache/gossip/manager/random/RandomGossipManager.java
----------------------------------------------------------------------
diff --cc src/main/java/org/apache/gossip/manager/random/RandomGossipManager.java
index 7aa4435,d407d2a..1d2075e
--- a/src/main/java/org/apache/gossip/manager/random/RandomGossipManager.java
+++ b/src/main/java/org/apache/gossip/manager/random/RandomGossipManager.java
@@@ -23,13 -23,83 +23,81 @@@ import org.apache.gossip.event.GossipLi
  import org.apache.gossip.manager.GossipManager;
  import org.apache.gossip.manager.impl.OnlyProcessReceivedPassiveGossipThread;
  
 +import java.net.URI;
 +import java.util.List;
 +
+ import java.util.ArrayList;
+ import java.util.List;
+ 
  public class RandomGossipManager extends GossipManager {
-   public RandomGossipManager(String cluster, URI uri, String id,
-                              GossipSettings settings, List<GossipMember> gossipMembers, GossipListener listener) {
+ 
+   public static ManagerBuilder newBuilder() {
+     return new ManagerBuilder();
+   }
+ 
+   public static final class ManagerBuilder {
+     private String cluster;
 -    private String address;
 -    private int port;
++    private URI uri;
+     private String id;
+     private GossipSettings settings;
+     private List<GossipMember> gossipMembers;
+     private GossipListener listener;
+ 
+     private ManagerBuilder() {}
+ 
+     private void checkArgument(boolean check, String msg) {
+       if (!check) {
+         throw new IllegalArgumentException(msg);
+       }
+     }
+ 
+     public ManagerBuilder cluster(String cluster) {
+       this.cluster = cluster;
+       return this;
+     }
+ 
 -    public ManagerBuilder address(String address) {
 -      this.address = address;
 -      return this;
 -    }
 -
 -    public ManagerBuilder port(int port) {
 -      this.port = port;
 -      return this;
 -    }
 -
+     public ManagerBuilder withId(String id) {
+       this.id = id;
+       return this;
+     }
+ 
+     public ManagerBuilder settings(GossipSettings settings) {
+       this.settings = settings;
+       return this;
+     }
+ 
+     public ManagerBuilder gossipMembers(List<GossipMember> members) {
+       this.gossipMembers = members;
+       return this;
+     }
+ 
+     public ManagerBuilder listener(GossipListener listener) {
+       this.listener = listener;
+       return this;
+     }
+ 
++    public ManagerBuilder uri(URI uri){
++      this.uri = uri;
++      return this;
++    }
++    
+     public RandomGossipManager build() {
+       checkArgument(id != null, "You must specify an id");
+       checkArgument(cluster != null, "You must specify a cluster name");
+       checkArgument(settings != null, "You must specify gossip settings");
++      checkArgument(uri != null, "You must specify a uri");
+ 
+       if (this.gossipMembers == null) {
+         this.gossipMembers = new ArrayList<>();
+       }
+ 
 -      return new RandomGossipManager(cluster, address, port, id, settings, gossipMembers, listener);
++      return new RandomGossipManager(cluster, uri, id, settings, gossipMembers, listener);
+     }
+   }
+ 
 -  private RandomGossipManager(String cluster, String address, int port, String id,
 -                             GossipSettings settings, List<GossipMember> gossipMembers, GossipListener listener) {
++  private RandomGossipManager(String cluster, URI uri, String id, GossipSettings settings, 
++          List<GossipMember> gossipMembers, GossipListener listener) {
      super(OnlyProcessReceivedPassiveGossipThread.class, RandomActiveGossipThread.class, cluster,
 -            address, port, id, settings, gossipMembers, listener);
 +            uri, id, settings, gossipMembers, listener);
    }
  }

http://git-wip-us.apache.org/repos/asf/incubator-gossip/blob/2c1dc437/src/test/java/org/apache/gossip/manager/RandomGossipManagerBuilderTest.java
----------------------------------------------------------------------
diff --cc src/test/java/org/apache/gossip/manager/RandomGossipManagerBuilderTest.java
index 38b8ab4,38b8ab4..d753676
--- a/src/test/java/org/apache/gossip/manager/RandomGossipManagerBuilderTest.java
+++ b/src/test/java/org/apache/gossip/manager/RandomGossipManagerBuilderTest.java
@@@ -28,6 -28,6 +28,9 @@@ import org.junit.Test
  
  import javax.management.Notification;
  import javax.management.NotificationListener;
++
++import java.net.URI;
++import java.net.URISyntaxException;
  import java.util.ArrayList;
  import java.util.List;
  
@@@ -63,12 -63,12 +66,11 @@@ public class RandomGossipManagerBuilder
    }
  
    @Test
--  public void createMembersListIfNull() {
++  public void createMembersListIfNull() throws URISyntaxException {
      RandomGossipManager gossipManager = RandomGossipManager.newBuilder()
          .withId("id")
          .cluster("aCluster")
--        .port(8080)
--        .address("localhost")
++        .uri(new URI("udp://localhost:2000"))
          .settings(new GossipSettings())
          .gossipMembers(null).build();
  
@@@ -76,19 -76,19 +78,17 @@@
    }
  
    @Test
--  public void useMemberListIfProvided() {
--    LocalGossipMember member = new LocalGossipMember("aCluster", "localhost", 2000, "aGossipMember",
++  public void useMemberListIfProvided() throws URISyntaxException {
++    LocalGossipMember member = new LocalGossipMember("aCluster", new URI("udp://localhost:2000"), "aGossipMember",
          System.currentTimeMillis(), new TestNotificationListener(), 60000);
--
      List<GossipMember> memberList = new ArrayList<>();
      memberList.add(member);
--
      RandomGossipManager gossipManager = RandomGossipManager.newBuilder()
          .withId("id")
          .cluster("aCluster")
          .settings(new GossipSettings())
++        .uri(new URI("udp://localhost:8000"))
          .gossipMembers(memberList).build();
--
      Assert.assertEquals(1, gossipManager.getMemberList().size());
      Assert.assertEquals(member.getId(), gossipManager.getMemberList().get(0).getId());
    }