From c7c99b605baec62fc77ec8540f695814fb4c5c6a Mon Sep 17 00:00:00 2001 From: Luca Keidel <info@lucakeidel.de> Date: Sat, 18 Jun 2016 13:47:23 +0200 Subject: [PATCH] Implemented option to spawn wallets without a GUI --- src/main/java/fucoin/Main.java | 5 +++-- src/main/java/fucoin/MainRemote.java | 2 +- src/main/java/fucoin/wallet/WalletCreator.java | 12 +++++++++--- src/main/java/fucoin/wallet/WalletImpl.java | 4 ++-- 4 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/main/java/fucoin/Main.java b/src/main/java/fucoin/Main.java index c715d6f..be9fc41 100644 --- a/src/main/java/fucoin/Main.java +++ b/src/main/java/fucoin/Main.java @@ -18,6 +18,7 @@ import java.util.List; public class Main { private static int numberOfWallets = 2; + private static boolean createGUI = false; private static ActorSystem cSystem; @@ -56,9 +57,9 @@ public class Main { if (i > 0) { //chain the wallets. wallet2 knows wallet1, wallet3 knows wallet2 and so on. - props = WalletImpl.props(cActiveActors.get(i - 1), nameOfTheWallet); + props = WalletImpl.props(cActiveActors.get(i - 1), nameOfTheWallet, createGUI); } else { - props = WalletImpl.props(null, nameOfTheWallet); + props = WalletImpl.props(null, nameOfTheWallet, createGUI); } ActorRef actorRef = cSystem.actorOf(props, nameOfTheWallet); diff --git a/src/main/java/fucoin/MainRemote.java b/src/main/java/fucoin/MainRemote.java index 67c8520..dd1c1aa 100644 --- a/src/main/java/fucoin/MainRemote.java +++ b/src/main/java/fucoin/MainRemote.java @@ -91,7 +91,7 @@ public class MainRemote { } // spawn wallet - system.actorOf(WalletImpl.props(preknownNeighbour, walletName), walletName); + system.actorOf(WalletImpl.props(preknownNeighbour, walletName, true), walletName); } } diff --git a/src/main/java/fucoin/wallet/WalletCreator.java b/src/main/java/fucoin/wallet/WalletCreator.java index 2a512b9..f8f6e4d 100644 --- a/src/main/java/fucoin/wallet/WalletCreator.java +++ b/src/main/java/fucoin/wallet/WalletCreator.java @@ -7,18 +7,24 @@ import fucoin.gui.WalletGuiControlImpl; public class WalletCreator implements Creator<AbstractWallet> { private ActorRef preKnownNeighbour; private String walletName; + private boolean createGUI; - public WalletCreator(ActorRef preKnownNeighbour, String walletName) { + public WalletCreator(ActorRef preKnownNeighbour, String walletName, boolean createGUI) { this.preKnownNeighbour = preKnownNeighbour; this.walletName = walletName; + this.createGUI = createGUI; } @Override public WalletImpl create() throws Exception { + WalletImpl wallet = new WalletImpl(preKnownNeighbour, walletName); - WalletGuiControlImpl gui = new WalletGuiControlImpl(wallet); - wallet.setGui(gui); + if (createGUI) { + WalletGuiControlImpl gui = new WalletGuiControlImpl(wallet); + wallet.setGui(gui); + } + return wallet; } } diff --git a/src/main/java/fucoin/wallet/WalletImpl.java b/src/main/java/fucoin/wallet/WalletImpl.java index 4a46881..e2cdbef 100644 --- a/src/main/java/fucoin/wallet/WalletImpl.java +++ b/src/main/java/fucoin/wallet/WalletImpl.java @@ -32,8 +32,8 @@ public class WalletImpl extends AbstractWallet { } } - public static Props props(ActorRef preKnownNeighbour, String walletName) { - return Props.create(new WalletCreator(preKnownNeighbour, walletName)); + public static Props props(ActorRef preKnownNeighbour, String walletName, boolean createGUI) { + return Props.create(new WalletCreator(preKnownNeighbour, walletName, createGUI)); } /** -- GitLab