From bc93e370e800d37a27217b7511f4ac64a15d9e94 Mon Sep 17 00:00:00 2001
From: Luca Keidel <info@lucakeidel.de>
Date: Sat, 9 Jul 2016 14:25:43 +0200
Subject: [PATCH] Reduced log message spam, callback added for when a random
 transactions are finished

---
 .../fucoin/actions/join/ActionJoinAnswer.java   |  2 +-
 ...ctionCommitDistributedCommittedTransfer.java |  3 +--
 ...ctionInvokeDistributedCommittedTransfer.java |  4 ++--
 ...epareDistributedCommittedTransferAnswer.java |  2 +-
 .../configurations/AbstractConfiguration.java   | 17 ++++++++++++++++-
 .../configurations/MassWalletConfiguration.java |  2 +-
 src/main/java/fucoin/wallet/WalletImpl.java     |  2 +-
 7 files changed, 23 insertions(+), 9 deletions(-)

diff --git a/src/main/java/fucoin/actions/join/ActionJoinAnswer.java b/src/main/java/fucoin/actions/join/ActionJoinAnswer.java
index 89c4aad..4b6cdd2 100644
--- a/src/main/java/fucoin/actions/join/ActionJoinAnswer.java
+++ b/src/main/java/fucoin/actions/join/ActionJoinAnswer.java
@@ -28,7 +28,7 @@ public class ActionJoinAnswer extends ClientAction {
     protected void onAction(ActorRef sender, ActorRef self,
                             UntypedActorContext context, AbstractWallet wallet) {
 
-        wallet.addLogMsg("Addressed to " + self.path().name() + " from " + sender.path().name() + ": someNeighbors:" + someNeighbors);
+        //wallet.addLogMsg("Addressed to " + self.path().name() + " from " + sender.path().name() + ": someNeighbors:" + someNeighbors);
 
         // your neighbours? my neighbours!
         for (Entry<String, ActorRef> neighbor : someNeighbors.entrySet()) {
diff --git a/src/main/java/fucoin/actions/transaction/ActionCommitDistributedCommittedTransfer.java b/src/main/java/fucoin/actions/transaction/ActionCommitDistributedCommittedTransfer.java
index 641fc12..30c236c 100644
--- a/src/main/java/fucoin/actions/transaction/ActionCommitDistributedCommittedTransfer.java
+++ b/src/main/java/fucoin/actions/transaction/ActionCommitDistributedCommittedTransfer.java
@@ -43,7 +43,7 @@ public class ActionCommitDistributedCommittedTransfer extends ClientAction {
     @Override
     protected void onAction(ActorRef sender, ActorRef self,
                             UntypedActorContext context, AbstractWallet wallet) {
-        wallet.addLogMsg("ActionCommitDistributedCommittedTransfer is granted? " + granted);
+        //wallet.addLogMsg("ActionCommitDistributedCommittedTransfer is granted? " + granted);
         if (granted) {
 
             if (source.compareTo(self) == 0) {
@@ -75,7 +75,6 @@ public class ActionCommitDistributedCommittedTransfer extends ClientAction {
             }
 
         }
-        //wallet.addLogMsg("wallet.amounts:" + wallet.amounts);
     }
 
 }
diff --git a/src/main/java/fucoin/actions/transaction/ActionInvokeDistributedCommittedTransfer.java b/src/main/java/fucoin/actions/transaction/ActionInvokeDistributedCommittedTransfer.java
index b277c64..82490ee 100644
--- a/src/main/java/fucoin/actions/transaction/ActionInvokeDistributedCommittedTransfer.java
+++ b/src/main/java/fucoin/actions/transaction/ActionInvokeDistributedCommittedTransfer.java
@@ -28,9 +28,9 @@ public class ActionInvokeDistributedCommittedTransfer extends CoordinatorTransac
     @Override
     protected void onAction(ActorRef sender, ActorRef self,
                             UntypedActorContext context, SuperVisorImpl superVisor) {
-        superVisor.addLogMsg("invoke transaction " + source.path().name() +
+        /*superVisor.addLogMsg("invoke transaction " + source.path().name() +
                 " sends " + amount +
-                " to " + target.path().name());
+                " to " + target.path().name());*/
 
         long timeout = System.currentTimeMillis() + 500;
 
diff --git a/src/main/java/fucoin/actions/transaction/ActionPrepareDistributedCommittedTransferAnswer.java b/src/main/java/fucoin/actions/transaction/ActionPrepareDistributedCommittedTransferAnswer.java
index db21831..d7c9f45 100644
--- a/src/main/java/fucoin/actions/transaction/ActionPrepareDistributedCommittedTransferAnswer.java
+++ b/src/main/java/fucoin/actions/transaction/ActionPrepareDistributedCommittedTransferAnswer.java
@@ -28,7 +28,7 @@ public class ActionPrepareDistributedCommittedTransferAnswer extends Coordinator
     protected void onAction(ActorRef sender, ActorRef self,
                             UntypedActorContext context, SuperVisorImpl superVisor) {
 
-        superVisor.addLogMsg("granted?" + granted);
+        //superVisor.addLogMsg("granted?" + granted);
 
         DistributedCommittedTransferRequest request = superVisor.getRequest(id);
 
diff --git a/src/main/java/fucoin/configurations/AbstractConfiguration.java b/src/main/java/fucoin/configurations/AbstractConfiguration.java
index 2672665..c136b21 100644
--- a/src/main/java/fucoin/configurations/AbstractConfiguration.java
+++ b/src/main/java/fucoin/configurations/AbstractConfiguration.java
@@ -38,6 +38,7 @@ public abstract class AbstractConfiguration extends AbstractNode {
     private Timeout timeout = new Timeout(Duration.create(10, "seconds"));
 
     private int remainingTransactions;
+    private Callback callback;
 
     private ActorRef lastWallet = null;
 
@@ -117,7 +118,11 @@ public abstract class AbstractConfiguration extends AbstractNode {
     }
 
     protected void randomTransactions(int number, int maxTransactionsAtTheSameTime) {
+        randomTransactions(number, maxTransactionsAtTheSameTime, null);
+    }
 
+    protected void randomTransactions(int number, int maxTransactionsAtTheSameTime, Callback callback) {
+        this.callback = callback;
         remainingTransactions = number;
 
         for (int i = 0; i < Math.min(number, maxTransactionsAtTheSameTime); i++) {
@@ -131,8 +136,9 @@ public abstract class AbstractConfiguration extends AbstractNode {
         try {
             randomTransaction();
         } catch (Exception e) {
-            System.err.println("Error while trying to perform a random transaction: "+e.getMessage());
+            System.err.println("Error while trying to perform a random transaction: " + e.getMessage());
             remainingTransactions = 0;
+            callback = null;
         }
     }
 
@@ -184,6 +190,11 @@ public abstract class AbstractConfiguration extends AbstractNode {
 
             if (remainingTransactions > 0) {
                 nextRandomTransaction();
+            } else {
+                if (callback != null) {
+                    callback.transactionsFinished();
+                }
+                callback = null;
             }
         }
     }
@@ -223,4 +234,8 @@ public abstract class AbstractConfiguration extends AbstractNode {
             wallet.tell(new ActionAddOverlayNeighbours(overlayNeighbours), self());
         });
     }
+
+    interface Callback {
+        public void transactionsFinished();
+    }
 }
diff --git a/src/main/java/fucoin/configurations/MassWalletConfiguration.java b/src/main/java/fucoin/configurations/MassWalletConfiguration.java
index fcaaadf..aa71371 100644
--- a/src/main/java/fucoin/configurations/MassWalletConfiguration.java
+++ b/src/main/java/fucoin/configurations/MassWalletConfiguration.java
@@ -17,7 +17,7 @@ public class MassWalletConfiguration extends AbstractConfiguration {
             System.out.println("Wallet spawning timed out!");
         }
 
-        randomTransactions(100, 10);
+        randomTransactions(10, 2, () -> System.out.println("All random transactions finished!"));
     }
 
     @Override
diff --git a/src/main/java/fucoin/wallet/WalletImpl.java b/src/main/java/fucoin/wallet/WalletImpl.java
index 951a151..d77d6fd 100644
--- a/src/main/java/fucoin/wallet/WalletImpl.java
+++ b/src/main/java/fucoin/wallet/WalletImpl.java
@@ -61,7 +61,7 @@ public class WalletImpl extends AbstractWallet {
     @Override
     public void onReceive(Object message) {
 
-        addLogMsg(getSender().path().name() + " invokes " + getSelf().path().name() + " to do " + message.getClass().getSimpleName());
+        //addLogMsg(getSender().path().name() + " invokes " + getSelf().path().name() + " to do " + message.getClass().getSimpleName());
         if (message instanceof ActionInvokeRevive) {
             ((ActionInvokeRevive) message).doAction(this);
         }
-- 
GitLab