From 43af83ecc1493f655462294382bbbef72abb4efd Mon Sep 17 00:00:00 2001 From: David Bohn <david@cancrisoft.net> Date: Thu, 16 Jun 2016 00:45:01 +0200 Subject: [PATCH] Fixed code styling of changed stuff and some small refactorings --- src/main/java/fucoin/Main.java | 14 +-- src/main/java/fucoin/MainRemote.java | 10 +-- src/main/java/fucoin/actions/Action.java | 2 +- .../fucoin/actions/join/ActionJoinAnswer.java | 3 +- .../java/fucoin/actions/persist/Persist.java | 4 +- ...ionCommitDistributedCommittedTransfer.java | 4 +- .../transaction/ActionGetAmountAnswer.java | 26 +++--- ...areDistributedCommittedTransferAnswer.java | 86 +++++++++---------- .../actions/transaction/SuperVisorAction.java | 2 - src/main/java/fucoin/gui/LogCellRenderer.java | 2 +- src/main/java/fucoin/gui/LogMessage.java | 4 +- src/main/java/fucoin/gui/WalletCoreGui.java | 47 ---------- .../fucoin/setup/NetworkInterfaceReader.java | 20 ++++- .../java/fucoin/setup/SetupDialogPanel.java | 4 +- .../fucoin/supervisor/AmountTableModel.java | 14 +-- .../DistributedCommittedTransferRequest.java | 2 +- .../fucoin/supervisor/SuperVisorImpl.java | 4 +- .../java/fucoin/wallet/AbstractWallet.java | 7 +- src/main/java/fucoin/wallet/WalletImpl.java | 4 +- 19 files changed, 105 insertions(+), 154 deletions(-) delete mode 100644 src/main/java/fucoin/gui/WalletCoreGui.java diff --git a/src/main/java/fucoin/Main.java b/src/main/java/fucoin/Main.java index 892daeb..c715d6f 100644 --- a/src/main/java/fucoin/Main.java +++ b/src/main/java/fucoin/Main.java @@ -6,12 +6,11 @@ import akka.actor.Props; import com.typesafe.config.Config; import com.typesafe.config.ConfigFactory; import fucoin.actions.join.ActionJoinAnswer; +import fucoin.setup.NetworkInterfaceReader; import fucoin.supervisor.SuperVisorImpl; import fucoin.wallet.WalletImpl; import java.io.File; -import java.net.InetAddress; -import java.net.UnknownHostException; import java.util.ArrayList; import java.util.List; @@ -27,13 +26,8 @@ public class Main { private static List<ActorRef> cActiveActors = new ArrayList<>(); static { - String hostname = "127.0.0.1"; - try { - // Fetch IP address to enable network connection - hostname = InetAddress.getLocalHost().getHostAddress(); - } catch (UnknownHostException e) { - e.printStackTrace(); - } + String hostname = NetworkInterfaceReader.readDefaultHostname(); + //Load configuration from current directory or from resources directory of jar File file = new File("application.conf"); Config config = ConfigFactory.parseFile(file); @@ -47,8 +41,6 @@ public class Main { //Init System Actor System cSystem = ActorSystem.create("Core", ConfigFactory.parseString("akka.remote.netty.tcp.hostname=" + hostname).withFallback(config)); cSuperVisorActor = cSystem.actorOf(SuperVisorImpl.props(), "SuperVisorImpl"); - System.out.print("Supervisor address: "); - System.out.println(cSuperVisorActor.path().toStringWithAddress(cSystem.provider().getDefaultAddress())); } public static void main(String[] args) throws InterruptedException { diff --git a/src/main/java/fucoin/MainRemote.java b/src/main/java/fucoin/MainRemote.java index 9eea194..67c8520 100644 --- a/src/main/java/fucoin/MainRemote.java +++ b/src/main/java/fucoin/MainRemote.java @@ -6,6 +6,7 @@ import akka.actor.ActorSystem; import akka.util.Timeout; import com.typesafe.config.Config; import com.typesafe.config.ConfigFactory; +import fucoin.setup.NetworkInterfaceReader; import fucoin.setup.SelectableNetworkInterface; import fucoin.setup.SetupDialogPanel; import fucoin.wallet.WalletImpl; @@ -14,20 +15,13 @@ import scala.concurrent.duration.FiniteDuration; import javax.swing.*; import java.io.File; -import java.net.*; import java.util.concurrent.TimeUnit; public class MainRemote { public static void main(String[] args) throws InterruptedException { - String hostname = "127.0.0.1"; - try { - // Fetch IP address to enable network connection - hostname = InetAddress.getLocalHost().getHostAddress(); - } catch (UnknownHostException e) { - e.printStackTrace(); - } + String hostname = NetworkInterfaceReader.readDefaultHostname(); //Load configuration from current directory or from resources directory of jar File file = new File("application.conf"); diff --git a/src/main/java/fucoin/actions/Action.java b/src/main/java/fucoin/actions/Action.java index cb4b42a..2704740 100644 --- a/src/main/java/fucoin/actions/Action.java +++ b/src/main/java/fucoin/actions/Action.java @@ -6,7 +6,7 @@ import fucoin.AbstractNode; import java.io.Serializable; -public abstract class Action<T extends AbstractNode> implements Serializable{ +public abstract class Action<T extends AbstractNode> implements Serializable { private ActorRef self; public final void doAction(T abstractNode) { diff --git a/src/main/java/fucoin/actions/join/ActionJoinAnswer.java b/src/main/java/fucoin/actions/join/ActionJoinAnswer.java index 09d48ac..49cecf1 100644 --- a/src/main/java/fucoin/actions/join/ActionJoinAnswer.java +++ b/src/main/java/fucoin/actions/join/ActionJoinAnswer.java @@ -5,13 +5,14 @@ import akka.actor.UntypedActorContext; import fucoin.actions.ClientAction; import fucoin.actions.persist.ActionSearchMyWallet; import fucoin.wallet.AbstractWallet; + import java.util.HashMap; import java.util.Map.Entry; /** * This action is the response from a wallet which is already in the network * to a wallet which wants to join the network. - * + * <p> * The node in the network sends all its known neighbours which then become * neighbours of the new node. This action also contains a reference to the * supervisor. If this is the first time the new node learned about the systems diff --git a/src/main/java/fucoin/actions/persist/Persist.java b/src/main/java/fucoin/actions/persist/Persist.java index 1a42e14..75574a7 100644 --- a/src/main/java/fucoin/actions/persist/Persist.java +++ b/src/main/java/fucoin/actions/persist/Persist.java @@ -2,6 +2,6 @@ package fucoin.actions.persist; import fucoin.actions.ClientAction; -public abstract class Persist extends ClientAction{ - +public abstract class Persist extends ClientAction { + } diff --git a/src/main/java/fucoin/actions/transaction/ActionCommitDistributedCommittedTransfer.java b/src/main/java/fucoin/actions/transaction/ActionCommitDistributedCommittedTransfer.java index 085dd2a..884c132 100644 --- a/src/main/java/fucoin/actions/transaction/ActionCommitDistributedCommittedTransfer.java +++ b/src/main/java/fucoin/actions/transaction/ActionCommitDistributedCommittedTransfer.java @@ -58,8 +58,8 @@ public class ActionCommitDistributedCommittedTransfer extends ClientAction { } else { wallet.log("abort transaction with id" + id); - if (source.compareTo(self) == 0){ - wallet.logTransactionFail("Failed to send "+amount+" FUC to "+target.path().name()+" (Commit has not been granted)"); + if (source.compareTo(self) == 0) { + wallet.logTransactionFail("Failed to send " + amount + " FUC to " + target.path().name() + " (Commit has not been granted)"); } } diff --git a/src/main/java/fucoin/actions/transaction/ActionGetAmountAnswer.java b/src/main/java/fucoin/actions/transaction/ActionGetAmountAnswer.java index 6113cde..272c8d6 100644 --- a/src/main/java/fucoin/actions/transaction/ActionGetAmountAnswer.java +++ b/src/main/java/fucoin/actions/transaction/ActionGetAmountAnswer.java @@ -7,20 +7,20 @@ import fucoin.wallet.WalletImpl; public class ActionGetAmountAnswer extends Transaction { - public String address; - public String name; - public int amount; + public String address; + public String name; + public int amount; - public ActionGetAmountAnswer(String address, String name, int amount) { - this.address=address; - this.name=name; - this.amount=amount; - } + public ActionGetAmountAnswer(String address, String name, int amount) { + this.address = address; + this.name = name; + this.amount = amount; + } - @Override - protected void onAction(ActorRef sender, ActorRef self, - UntypedActorContext context, AbstractWallet wallet) { - wallet.amounts.put(sender, amount); - } + @Override + protected void onAction(ActorRef sender, ActorRef self, + UntypedActorContext context, AbstractWallet wallet) { + wallet.amounts.put(sender, amount); + } } diff --git a/src/main/java/fucoin/actions/transaction/ActionPrepareDistributedCommittedTransferAnswer.java b/src/main/java/fucoin/actions/transaction/ActionPrepareDistributedCommittedTransferAnswer.java index a408f4f..3d2a0c0 100644 --- a/src/main/java/fucoin/actions/transaction/ActionPrepareDistributedCommittedTransferAnswer.java +++ b/src/main/java/fucoin/actions/transaction/ActionPrepareDistributedCommittedTransferAnswer.java @@ -7,51 +7,51 @@ import akka.actor.UntypedActorContext; public class ActionPrepareDistributedCommittedTransferAnswer extends CoordinatorTransaction { - private ActorRef source; - private ActorRef target; - private int amount; - private boolean granted; - private long timestamp; - private long id; + private ActorRef source; + private ActorRef target; + private int amount; + private boolean granted; + private long timestamp; + private long id; - public ActionPrepareDistributedCommittedTransferAnswer(ActorRef source, - ActorRef target, int amount, long timestamp, boolean granted, long id) { - this.source=source; - this.target=target; - this.amount=amount; - this.granted=granted; - this.timestamp=timestamp; - this.id=id; - } + public ActionPrepareDistributedCommittedTransferAnswer(ActorRef source, + ActorRef target, int amount, long timestamp, boolean granted, long id) { + this.source = source; + this.target = target; + this.amount = amount; + this.granted = granted; + this.timestamp = timestamp; + this.id = id; + } - @Override - protected void onAction(ActorRef sender, ActorRef self, - UntypedActorContext context, SuperVisorImpl superVisor) { - 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); + @Override + protected void onAction(ActorRef sender, ActorRef self, + UntypedActorContext context, SuperVisorImpl superVisor) { + 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); - if(newCount == superVisor.getKnownNeighbors().size()){ - ActionCommitDistributedCommittedTransfer acdct = new ActionCommitDistributedCommittedTransfer(source,target,amount,true,timestamp,id); - for(ActorRef neighbor : request.getAnswers()){ - neighbor.tell(acdct, self); - } - superVisor.deleteRequest(request); - } - }else{ - //A client wants to rollback - if(request!=null){ - superVisor.log("Client does not grant commit of "+amount+" FUC ("+source.path().name()+" -> "+target.path().name()+")"); - ActionCommitDistributedCommittedTransfer acdct = new ActionCommitDistributedCommittedTransfer(source,target,amount,false,timestamp,id); - for(ActorRef neighbor : request.getAnswers()){ - neighbor.tell(acdct, self); - } - } - } - } + if (newCount == superVisor.getKnownNeighbors().size()) { + ActionCommitDistributedCommittedTransfer acdct = new ActionCommitDistributedCommittedTransfer(source, target, amount, true, timestamp, id); + for (ActorRef neighbor : request.getAnswers()) { + neighbor.tell(acdct, self); + } + superVisor.deleteRequest(request); + } + } else { + //A client wants to rollback + if (request != null) { + superVisor.log("Client does not grant commit of " + amount + " FUC (" + source.path().name() + " -> " + target.path().name() + ")"); + ActionCommitDistributedCommittedTransfer acdct = new ActionCommitDistributedCommittedTransfer(source, target, amount, false, timestamp, id); + for (ActorRef neighbor : request.getAnswers()) { + neighbor.tell(acdct, self); + } + } + } + } } diff --git a/src/main/java/fucoin/actions/transaction/SuperVisorAction.java b/src/main/java/fucoin/actions/transaction/SuperVisorAction.java index d65efc0..19e93a8 100644 --- a/src/main/java/fucoin/actions/transaction/SuperVisorAction.java +++ b/src/main/java/fucoin/actions/transaction/SuperVisorAction.java @@ -1,7 +1,5 @@ package fucoin.actions.transaction; -import akka.actor.ActorRef; -import akka.actor.UntypedActorContext; import fucoin.actions.Action; import fucoin.supervisor.SuperVisorImpl; diff --git a/src/main/java/fucoin/gui/LogCellRenderer.java b/src/main/java/fucoin/gui/LogCellRenderer.java index 1c774a4..db7fb66 100644 --- a/src/main/java/fucoin/gui/LogCellRenderer.java +++ b/src/main/java/fucoin/gui/LogCellRenderer.java @@ -5,7 +5,7 @@ import java.awt.*; public class LogCellRenderer extends DefaultListCellRenderer { - private static final Color SUCCESS_COLOR = new Color(92, 184, 92); + private static final Color SUCCESS_COLOR = new Color(56, 127, 56); private static final Color FAIL_COLOR = new Color(217, 83, 79); @Override diff --git a/src/main/java/fucoin/gui/LogMessage.java b/src/main/java/fucoin/gui/LogMessage.java index 34b3000..9b04de4 100644 --- a/src/main/java/fucoin/gui/LogMessage.java +++ b/src/main/java/fucoin/gui/LogMessage.java @@ -5,12 +5,12 @@ public class LogMessage { public enum Context { TRANSACTION_SUCCESS, TRANSACTION_FAIL, DEBUG - }; + } private String message; private Context context; - public LogMessage(String message){ + public LogMessage(String message) { this(message, Context.DEBUG); } diff --git a/src/main/java/fucoin/gui/WalletCoreGui.java b/src/main/java/fucoin/gui/WalletCoreGui.java deleted file mode 100644 index 1f728d3..0000000 --- a/src/main/java/fucoin/gui/WalletCoreGui.java +++ /dev/null @@ -1,47 +0,0 @@ -package fucoin.gui; - -import akka.actor.Address; -import akka.actor.AddressFromURIString; - -import javax.swing.*; -import java.awt.*; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; - -public class WalletCoreGui { - public WalletCoreGui() { - JFrame frame = new JFrame("Manager"); - frame.setLayout(new GridLayout(3, 2)); - frame.add(new JLabel("Connect to:")); - JTextField input = new JTextField("akka://MySystem/user/main"); - frame.add(input); - frame.add(new JLabel("Name:")); - JTextField name = new JTextField("<Name>"); - frame.add(name); - JButton button = new JButton("connect"); - button.addActionListener(new ActionListener() { - - @Override - public void actionPerformed(ActionEvent e) { - /*MessageDispatcherConfigurator mc = null; - String id = input.getText()+"-dispatched"; - int hroughput = 1; - Duration d = Duration.ofSeconds(2); - - - Dispatcher d = new Dispatcher(mc,id, 1, d, Executors.newSingleThreadExecutor(),1000);*/ - String path = "akka.tcp://Test@127.0.0.1:1234/user/main"; - Address addr = AddressFromURIString.parse(path); - //RemoteScope remoteScope = new RemoteScope(addr); - //Deploy deploy = new Deploy(remoteScope); - //Props remoteWallet = Props.apply(deploy, WalletImpl.class, null); - - - } - }); - - frame.add(button); - frame.setSize(300, 300); - frame.setVisible(true); - } -} diff --git a/src/main/java/fucoin/setup/NetworkInterfaceReader.java b/src/main/java/fucoin/setup/NetworkInterfaceReader.java index 2aa5db4..47be4bd 100644 --- a/src/main/java/fucoin/setup/NetworkInterfaceReader.java +++ b/src/main/java/fucoin/setup/NetworkInterfaceReader.java @@ -1,9 +1,6 @@ package fucoin.setup; -import java.net.Inet6Address; -import java.net.InetAddress; -import java.net.NetworkInterface; -import java.net.SocketException; +import java.net.*; import java.util.*; public class NetworkInterfaceReader { @@ -34,4 +31,19 @@ public class NetworkInterfaceReader { return map; } + + /** + * Get the IP address, that is resolved by the system from the host name. + * As a fallback, we return 127.0.0.1, i.e. localhost + */ + public static String readDefaultHostname() { + String hostname = "127.0.0.1"; + try { + hostname = InetAddress.getLocalHost().getHostAddress(); + } catch (UnknownHostException e) { + e.printStackTrace(); + } + + return hostname; + } } diff --git a/src/main/java/fucoin/setup/SetupDialogPanel.java b/src/main/java/fucoin/setup/SetupDialogPanel.java index 96e2cc7..d5d1edc 100644 --- a/src/main/java/fucoin/setup/SetupDialogPanel.java +++ b/src/main/java/fucoin/setup/SetupDialogPanel.java @@ -44,11 +44,11 @@ public class SetupDialogPanel extends JPanel { walletNameField.addAncestorListener(new AncestorListener() { @Override public void ancestorAdded(AncestorEvent event) { - final AncestorListener al= this; + final AncestorListener al = this; SwingUtilities.invokeLater(() -> { JComponent component = event.getComponent(); component.requestFocusInWindow(); - component.removeAncestorListener( al ); + component.removeAncestorListener(al); }); } diff --git a/src/main/java/fucoin/supervisor/AmountTableModel.java b/src/main/java/fucoin/supervisor/AmountTableModel.java index 6c1d118..b25a22f 100644 --- a/src/main/java/fucoin/supervisor/AmountTableModel.java +++ b/src/main/java/fucoin/supervisor/AmountTableModel.java @@ -19,13 +19,13 @@ public class AmountTableModel extends DefaultTableModel { Vector rows = this.getDataVector(); for (int i = 0; i < rows.size(); i++) { - if (rows.get(i) instanceof Vector){ - Vector<Object> row = (Vector<Object>) rows.get(i); - if(row.get(0).equals(address)){ - setValueAt(amount, i, 2); - return; - } - } + if (rows.get(i) instanceof Vector) { + Vector<Object> row = (Vector<Object>) rows.get(i); + if (row.get(0).equals(address)) { + setValueAt(amount, i, 2); + return; + } + } } this.addRow(new Object[]{address, name, amount}); diff --git a/src/main/java/fucoin/supervisor/DistributedCommittedTransferRequest.java b/src/main/java/fucoin/supervisor/DistributedCommittedTransferRequest.java index a395849..d4ebd40 100644 --- a/src/main/java/fucoin/supervisor/DistributedCommittedTransferRequest.java +++ b/src/main/java/fucoin/supervisor/DistributedCommittedTransferRequest.java @@ -61,7 +61,7 @@ public class DistributedCommittedTransferRequest extends Transaction { return id; } - public int getAmount(){ + public int getAmount() { return amount; } } diff --git a/src/main/java/fucoin/supervisor/SuperVisorImpl.java b/src/main/java/fucoin/supervisor/SuperVisorImpl.java index 9249ec4..1252f1c 100644 --- a/src/main/java/fucoin/supervisor/SuperVisorImpl.java +++ b/src/main/java/fucoin/supervisor/SuperVisorImpl.java @@ -116,8 +116,8 @@ public class SuperVisorImpl extends AbstractNode { this.amountTableModel = amountTableModel; } - public void log(String message){ - if (this.gui != null){ + public void log(String message) { + if (this.gui != null) { this.gui.log(message); } else { System.out.println(message); diff --git a/src/main/java/fucoin/wallet/AbstractWallet.java b/src/main/java/fucoin/wallet/AbstractWallet.java index 2c7381e..bc44d05 100644 --- a/src/main/java/fucoin/wallet/AbstractWallet.java +++ b/src/main/java/fucoin/wallet/AbstractWallet.java @@ -8,7 +8,7 @@ import java.io.Serializable; /** * */ -public abstract class AbstractWallet extends AbstractNode implements Serializable{ +public abstract class AbstractWallet extends AbstractNode implements Serializable { /** * Currently amount of this wallet @@ -55,12 +55,14 @@ public abstract class AbstractWallet extends AbstractNode implements Serializabl /** * Set new Amount of the wallet. + * * @param amount New amount of the wallet */ public abstract void setAmount(int amount); /** * Add amount to current amount. + * * @param amount value to add to current account. */ public abstract void addAmount(int amount); @@ -88,7 +90,6 @@ public abstract class AbstractWallet extends AbstractNode implements Serializabl public abstract ActorRef getRemoteSuperVisorActor(); /** - * * @param remoteSuperVisorActor */ public abstract void setRemoteSuperVisorActor(ActorRef remoteSuperVisorActor); @@ -111,7 +112,7 @@ public abstract class AbstractWallet extends AbstractNode implements Serializabl * Sends amount FUCs to the wallet with the address adress * * @param address Recipients address - * @param amount Amount to send + * @param amount Amount to send */ public abstract void send(String address, int amount); } diff --git a/src/main/java/fucoin/wallet/WalletImpl.java b/src/main/java/fucoin/wallet/WalletImpl.java index b81619a..f35d620 100644 --- a/src/main/java/fucoin/wallet/WalletImpl.java +++ b/src/main/java/fucoin/wallet/WalletImpl.java @@ -26,7 +26,7 @@ public class WalletImpl extends AbstractWallet { public WalletImpl(ActorRef preKnownNeighbour, String walletName) { super(walletName); - if(preKnownNeighbour != null) { + if (preKnownNeighbour != null) { this.preKnownNeighbourName = preKnownNeighbour.path().name(); this.preKnownNeighbour = preKnownNeighbour; } @@ -147,7 +147,7 @@ public class WalletImpl extends AbstractWallet { @Override public void setRemoteSuperVisorActor(ActorRef remoteSuperVisorActor) { - if(this.remoteSuperVisorActor == null) { + if (this.remoteSuperVisorActor == null) { this.remoteSuperVisorActor = remoteSuperVisorActor; this.remoteSuperVisorActor.tell(new ServerActionJoin(getName()), getSelf()); } -- GitLab