From 4cb34ef90b51ac2d488db454387d36db6a3d6f47 Mon Sep 17 00:00:00 2001 From: Luca Keidel <info@lucakeidel.de> Date: Tue, 14 Jun 2016 12:15:48 +0200 Subject: [PATCH] Unified logging (no more chaos on stdout) --- src/main/java/fucoin/AbstractNode.java | 8 +++++++- src/main/java/fucoin/Main.java | 2 +- src/main/java/fucoin/actions/Action.java | 5 ----- src/main/java/fucoin/actions/join/ActionJoinAnswer.java | 2 +- .../actions/search/ActionSearchWalletReference.java | 2 +- .../ActionCommitDistributedCommittedTransfer.java | 6 +++--- .../ActionInvokeDistributedCommittedTransfer.java | 2 +- .../actions/transaction/ActionInvokeSentMoney.java | 2 +- .../ActionPrepareDistributedCommittedTransferAnswer.java | 6 +++--- src/main/java/fucoin/gui/SuperVisorGuiControl.java | 2 ++ src/main/java/fucoin/gui/SuperVisorGuiControlImpl.java | 7 +++++++ src/main/java/fucoin/supervisor/SuperVisorImpl.java | 9 ++++++++- 12 files changed, 35 insertions(+), 18 deletions(-) diff --git a/src/main/java/fucoin/AbstractNode.java b/src/main/java/fucoin/AbstractNode.java index c57568b..9deab96 100644 --- a/src/main/java/fucoin/AbstractNode.java +++ b/src/main/java/fucoin/AbstractNode.java @@ -66,7 +66,13 @@ public abstract class AbstractNode extends UntypedActor implements Serializable } public void log(String string) { - System.out.println(getSelf().path().name() + ": " + string); + if (this instanceof AbstractWallet){ + System.out.println("Yes: "+string); + ((AbstractWallet) this).log(string); + }else{ + System.out.println("No: "+this.getClass()); + System.out.println(getSelf().path().name() + ": " + string); + } } } \ No newline at end of file diff --git a/src/main/java/fucoin/Main.java b/src/main/java/fucoin/Main.java index a0909bb..620d8d9 100644 --- a/src/main/java/fucoin/Main.java +++ b/src/main/java/fucoin/Main.java @@ -16,7 +16,7 @@ import java.util.List; public class Main { - private static int numberOfWallets = 4; + private static int numberOfWallets = 1; private static ActorSystem cSystem; diff --git a/src/main/java/fucoin/actions/Action.java b/src/main/java/fucoin/actions/Action.java index f51e4de..7bb94e8 100644 --- a/src/main/java/fucoin/actions/Action.java +++ b/src/main/java/fucoin/actions/Action.java @@ -15,9 +15,4 @@ public abstract class Action<T extends AbstractNode> { protected abstract void onAction(ActorRef sender, ActorRef self, UntypedActorContext context, T abstractNode); - - public void log(String string) { - System.out.println(self.path().name() + ": " + string); - } - } diff --git a/src/main/java/fucoin/actions/join/ActionJoinAnswer.java b/src/main/java/fucoin/actions/join/ActionJoinAnswer.java index 4a86c83..0f534a3 100644 --- a/src/main/java/fucoin/actions/join/ActionJoinAnswer.java +++ b/src/main/java/fucoin/actions/join/ActionJoinAnswer.java @@ -16,7 +16,7 @@ public class ActionJoinAnswer extends ClientAction { protected void onAction(ActorRef sender, ActorRef self, UntypedActorContext context, AbstractWallet wallet) { - log("Addressed to " + self.path().name() + " from " + sender.path().name() + ": someNeighbors:" + someNeighbors); + wallet.log("Addressed to " + self.path().name() + " from " + sender.path().name() + ": someNeighbors:" + someNeighbors); for (Entry<String, ActorRef> neighbor : someNeighbors.entrySet()) { wallet.addKnownNeighbor(neighbor.getKey(), neighbor.getValue()); } diff --git a/src/main/java/fucoin/actions/search/ActionSearchWalletReference.java b/src/main/java/fucoin/actions/search/ActionSearchWalletReference.java index 950b7fd..fe514e2 100644 --- a/src/main/java/fucoin/actions/search/ActionSearchWalletReference.java +++ b/src/main/java/fucoin/actions/search/ActionSearchWalletReference.java @@ -23,7 +23,7 @@ public class ActionSearchWalletReference extends Search { @Override protected void onAction(ActorRef sender, ActorRef self, UntypedActorContext context, AbstractWallet wallet) { - log(wallet.getKnownNeighbors() + "contains " + name + "?"); + wallet.log(wallet.getKnownNeighbors() + "contains " + name + "?"); ttl.add(self); ActionSearchWalletReferenceAnswer answer = null; if (this.name.equals(wallet.getName())) { diff --git a/src/main/java/fucoin/actions/transaction/ActionCommitDistributedCommittedTransfer.java b/src/main/java/fucoin/actions/transaction/ActionCommitDistributedCommittedTransfer.java index 0c3a622..92df3ff 100644 --- a/src/main/java/fucoin/actions/transaction/ActionCommitDistributedCommittedTransfer.java +++ b/src/main/java/fucoin/actions/transaction/ActionCommitDistributedCommittedTransfer.java @@ -39,7 +39,7 @@ public class ActionCommitDistributedCommittedTransfer extends ClientAction { @Override protected void onAction(ActorRef sender, ActorRef self, UntypedActorContext context, AbstractWallet wallet) { - System.out.println(self.path().name() + ": ActionCommitDistributedCommittedTransfer is granted?" + granted); + wallet.log("ActionCommitDistributedCommittedTransfer is granted? " + granted); if (granted) { Integer sourceAmount = wallet.amounts.getOrDefault(source, 0); @@ -56,9 +56,9 @@ public class ActionCommitDistributedCommittedTransfer extends ClientAction { } } else { - log("abort transaction with id" + id); + wallet.log("abort transaction with id" + id); } - log("wallet.amounts:" + wallet.amounts); + wallet.log("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 8279580..b754ec9 100644 --- a/src/main/java/fucoin/actions/transaction/ActionInvokeDistributedCommittedTransfer.java +++ b/src/main/java/fucoin/actions/transaction/ActionInvokeDistributedCommittedTransfer.java @@ -21,7 +21,7 @@ public class ActionInvokeDistributedCommittedTransfer extends CoordinatorTransac @Override protected void onAction(ActorRef sender, ActorRef self, UntypedActorContext context, SuperVisorImpl superVisor) { - log("invoke transaction " + source.path().name() + + superVisor.log("invoke transaction " + source.path().name() + " sends " + amount + " to " + target.path().name()); diff --git a/src/main/java/fucoin/actions/transaction/ActionInvokeSentMoney.java b/src/main/java/fucoin/actions/transaction/ActionInvokeSentMoney.java index 688b3f7..6f3bd3e 100644 --- a/src/main/java/fucoin/actions/transaction/ActionInvokeSentMoney.java +++ b/src/main/java/fucoin/actions/transaction/ActionInvokeSentMoney.java @@ -18,7 +18,7 @@ public class ActionInvokeSentMoney extends Transaction { @Override protected void onAction(ActorRef sender, ActorRef self, UntypedActorContext context, AbstractWallet wallet) { - log(wallet.getKnownNeighbors() + ""); + wallet.log(wallet.getKnownNeighbors() + ""); if (wallet.getKnownNeighbors().containsKey(name)) { wallet.getRemoteSuperVisorActor().tell( new ActionInvokeDistributedCommittedTransfer(self, wallet.getKnownNeighbors().get(name), amount), sender); diff --git a/src/main/java/fucoin/actions/transaction/ActionPrepareDistributedCommittedTransferAnswer.java b/src/main/java/fucoin/actions/transaction/ActionPrepareDistributedCommittedTransferAnswer.java index 6c0c473..7fc3c79 100644 --- a/src/main/java/fucoin/actions/transaction/ActionPrepareDistributedCommittedTransferAnswer.java +++ b/src/main/java/fucoin/actions/transaction/ActionPrepareDistributedCommittedTransferAnswer.java @@ -27,14 +27,14 @@ public class ActionPrepareDistributedCommittedTransferAnswer extends Coordinator @Override protected void onAction(ActorRef sender, ActorRef self, UntypedActorContext context, SuperVisorImpl superVisor) { - log(""+superVisor.getKnownNeighbors()); - log("granted?"+granted); + superVisor.log(""+superVisor.getKnownNeighbors()); + superVisor.log("granted?"+granted); DistributedCommittedTransferRequest request = superVisor.getRequest(id); if(granted){ if(request==null)//unknown DistributedCommittedTransferRequest ignore return; int newCount = request.addPositiveAnswer(sender); - System.out.println(newCount+" have agreed on request"+id); + if(newCount == superVisor.getKnownNeighbors().size()){ ActionCommitDistributedCommittedTransfer acdct = new ActionCommitDistributedCommittedTransfer(source,target,amount,true,timestamp,id); for(ActorRef neighbor : request.getAnswers()){ diff --git a/src/main/java/fucoin/gui/SuperVisorGuiControl.java b/src/main/java/fucoin/gui/SuperVisorGuiControl.java index d27cf2c..bea5e7a 100644 --- a/src/main/java/fucoin/gui/SuperVisorGuiControl.java +++ b/src/main/java/fucoin/gui/SuperVisorGuiControl.java @@ -5,4 +5,6 @@ public interface SuperVisorGuiControl { * Call from SuperVisorImpl after poison pill or kill */ void onLeave(); + + void log(String message); } diff --git a/src/main/java/fucoin/gui/SuperVisorGuiControlImpl.java b/src/main/java/fucoin/gui/SuperVisorGuiControlImpl.java index 1ca6922..992a851 100644 --- a/src/main/java/fucoin/gui/SuperVisorGuiControlImpl.java +++ b/src/main/java/fucoin/gui/SuperVisorGuiControlImpl.java @@ -59,4 +59,11 @@ public class SuperVisorGuiControlImpl implements SuperVisorGuiControl { public void onLeave() { frame.dispose(); } + + @Override + public void log(String message) { + // One day, we may have a server log GUI as well.. + // Until then, we just print it to the console + System.out.println(message); + } } diff --git a/src/main/java/fucoin/supervisor/SuperVisorImpl.java b/src/main/java/fucoin/supervisor/SuperVisorImpl.java index 4f708ef..9249ec4 100644 --- a/src/main/java/fucoin/supervisor/SuperVisorImpl.java +++ b/src/main/java/fucoin/supervisor/SuperVisorImpl.java @@ -69,7 +69,6 @@ public class SuperVisorImpl extends AbstractNode { public void addDistributedCommitedTransferRequest( DistributedCommittedTransferRequest request) { - System.out.println("Add request to queue: " + request.getId()); requestQueue.put(request.getId(), request); } @@ -116,4 +115,12 @@ public class SuperVisorImpl extends AbstractNode { public void setAmountTableModel(AmountTableModel amountTableModel) { this.amountTableModel = amountTableModel; } + + public void log(String message){ + if (this.gui != null){ + this.gui.log(message); + } else { + System.out.println(message); + } + } } -- GitLab