Repository: incubator-gossip
Updated Branches:
  refs/heads/master 2622248e7 -> 4eafd58ec


GOSSIP-73 gcounter to example app


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

Branch: refs/heads/master
Commit: 4eafd58eccad3223000567b5c8ef1ce75575dec7
Parents: 2622248
Author: Edward Capriolo <[email protected]>
Authored: Fri Mar 10 18:57:51 2017 -0500
Committer: Edward Capriolo <[email protected]>
Committed: Fri Mar 10 18:57:51 2017 -0500

----------------------------------------------------------------------
 .../org/apache/gossip/crdt/GrowOnlyCounter.java |  2 +-
 .../examples/StandAloneNodeCrdtOrSet.java       | 24 +++++++++++++++++++-
 src/test/java/org/apache/gossip/DataTest.java   |  8 +++----
 .../java/org/apache/gossip/crdt/OrSetTest.java  |  2 +-
 4 files changed, 29 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-gossip/blob/4eafd58e/src/main/java/org/apache/gossip/crdt/GrowOnlyCounter.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/gossip/crdt/GrowOnlyCounter.java 
b/src/main/java/org/apache/gossip/crdt/GrowOnlyCounter.java
index 9156142..dd1505a 100644
--- a/src/main/java/org/apache/gossip/crdt/GrowOnlyCounter.java
+++ b/src/main/java/org/apache/gossip/crdt/GrowOnlyCounter.java
@@ -111,7 +111,7 @@ public class GrowOnlyCounter implements CrdtCounter<Long, 
GrowOnlyCounter> {
       counter = 0L;
     }
     
-    public GrowOnlyCounter.Builder increment(Integer count) {
+    public GrowOnlyCounter.Builder increment(Long count) {
       counter += count;
       return this;
     }

http://git-wip-us.apache.org/repos/asf/incubator-gossip/blob/4eafd58e/src/main/java/org/apache/gossip/examples/StandAloneNodeCrdtOrSet.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/gossip/examples/StandAloneNodeCrdtOrSet.java 
b/src/main/java/org/apache/gossip/examples/StandAloneNodeCrdtOrSet.java
index 00f1279..0c5c0d5 100644
--- a/src/main/java/org/apache/gossip/examples/StandAloneNodeCrdtOrSet.java
+++ b/src/main/java/org/apache/gossip/examples/StandAloneNodeCrdtOrSet.java
@@ -24,6 +24,7 @@ import java.net.URI;
 import java.util.Arrays;
 import org.apache.gossip.GossipSettings;
 import org.apache.gossip.RemoteMember;
+import org.apache.gossip.crdt.GrowOnlyCounter;
 import org.apache.gossip.crdt.OrSet;
 import org.apache.gossip.manager.GossipManager;
 import org.apache.gossip.manager.GossipManagerBuilder;
@@ -51,6 +52,9 @@ public class StandAloneNodeCrdtOrSet {
       System.out.println("---------- " + (gossipService.findCrdt("abc") == 
null ? "": 
           gossipService.findCrdt("abc").value()));
       System.out.println("********** " + gossipService.findCrdt("abc"));
+      System.out.println("^^^^^^^^^^ " + (gossipService.findCrdt("def") == 
null ? "": 
+        gossipService.findCrdt("def").value()));
+      System.out.println("$$$$$$$$$$ " + gossipService.findCrdt("def"));
       try {
         Thread.sleep(2000);
       } catch (Exception e) {}
@@ -65,13 +69,31 @@ public class StandAloneNodeCrdtOrSet {
         String val = line.substring(2);
         if (op == 'a'){
           addData(val, gossipService);
-        } else {
+        } else if (op == 'r') {
           removeData(val, gossipService);
+        } else if (op == 'g'){
+          gcount(val, gossipService);
         }
       }
     }
   }
   
+  private static void gcount(String val, GossipManager gossipManager){
+    GrowOnlyCounter c = (GrowOnlyCounter) gossipManager.findCrdt("def");
+    Long l = Long.valueOf(val);
+    if (c == null){
+      c = new GrowOnlyCounter(new 
GrowOnlyCounter.Builder(gossipManager).increment((l)));
+    } else {
+      c = new GrowOnlyCounter(c, new 
GrowOnlyCounter.Builder(gossipManager).increment((l)));
+    }
+    SharedDataMessage m = new SharedDataMessage();
+    m.setExpireAt(Long.MAX_VALUE);
+    m.setKey("def");
+    m.setPayload(c);
+    m.setTimestamp(System.currentTimeMillis());
+    gossipManager.merge(m);
+  }
+  
   private static void removeData(String val, GossipManager gossipService){
     @SuppressWarnings("unchecked")
     OrSet<String> s = (OrSet<String>) gossipService.findCrdt("abc");

http://git-wip-us.apache.org/repos/asf/incubator-gossip/blob/4eafd58e/src/test/java/org/apache/gossip/DataTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/gossip/DataTest.java 
b/src/test/java/org/apache/gossip/DataTest.java
index 5ca7be7..f0c2186 100644
--- a/src/test/java/org/apache/gossip/DataTest.java
+++ b/src/test/java/org/apache/gossip/DataTest.java
@@ -115,7 +115,7 @@ public class DataTest extends AbstractIntegrationBase {
     {
       SharedDataMessage d = new SharedDataMessage();
       d.setKey(gCounterKey);
-      d.setPayload(new GrowOnlyCounter(new 
GrowOnlyCounter.Builder(clients.get(0)).increment(1)));
+      d.setPayload(new GrowOnlyCounter(new 
GrowOnlyCounter.Builder(clients.get(0)).increment(1L)));
       d.setExpireAt(Long.MAX_VALUE);
       d.setTimestamp(System.currentTimeMillis());
       clients.get(0).merge(d);
@@ -123,7 +123,7 @@ public class DataTest extends AbstractIntegrationBase {
     {
       SharedDataMessage d = new SharedDataMessage();
       d.setKey(gCounterKey);
-      d.setPayload(new GrowOnlyCounter(new 
GrowOnlyCounter.Builder(clients.get(1)).increment(2)));
+      d.setPayload(new GrowOnlyCounter(new 
GrowOnlyCounter.Builder(clients.get(1)).increment(2L)));
       d.setExpireAt(Long.MAX_VALUE);
       d.setTimestamp(System.currentTimeMillis());
       clients.get(1).merge(d);
@@ -133,7 +133,7 @@ public class DataTest extends AbstractIntegrationBase {
   private void givenIncreaseOther(final List<GossipManager> clients) {
     GrowOnlyCounter gc = (GrowOnlyCounter) 
clients.get(1).findCrdt(gCounterKey);
     GrowOnlyCounter gc2 = new GrowOnlyCounter(gc,
-            new GrowOnlyCounter.Builder(clients.get(1)).increment(4));
+            new GrowOnlyCounter.Builder(clients.get(1)).increment(4L));
 
     SharedDataMessage d = new SharedDataMessage();
     d.setKey(gCounterKey);
@@ -195,7 +195,7 @@ public class DataTest extends AbstractIntegrationBase {
   }
   
 
-  private void assertThatCountIsUpdated(final List<GossipManager> clients, int 
finalCount) {
+  private void assertThatCountIsUpdated(final List<GossipManager> clients, 
long finalCount) {
     TUnit.assertThat(() -> {
       return clients.get(0).findCrdt(gCounterKey);
     }).afterWaitingAtMost(10, TimeUnit.SECONDS).isEqualTo(new GrowOnlyCounter(

http://git-wip-us.apache.org/repos/asf/incubator-gossip/blob/4eafd58e/src/test/java/org/apache/gossip/crdt/OrSetTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/gossip/crdt/OrSetTest.java 
b/src/test/java/org/apache/gossip/crdt/OrSetTest.java
index b3d8af3..b19f221 100644
--- a/src/test/java/org/apache/gossip/crdt/OrSetTest.java
+++ b/src/test/java/org/apache/gossip/crdt/OrSetTest.java
@@ -37,7 +37,7 @@ public class OrSetTest {
     OrSet<Integer> i = new OrSet<>(new 
OrSet.Builder<Integer>().add(4).add(5).add(6).remove(5));
     Assert.assertArrayEquals(Arrays.asList(4, 6).toArray(), 
i.value().toArray());
   }
-  
+    
   @Test
   public void mergeTest(){
     OrSet<Integer> i = new OrSet<>(new 
OrSet.Builder<Integer>().add(4).add(5).add(6).remove(5));

Reply via email to