diff options
| author | Sam Anthony <sam@samanthony.xyz> | 2024-12-02 18:56:40 -0500 |
|---|---|---|
| committer | Sam Anthony <sam@samanthony.xyz> | 2024-12-02 18:56:40 -0500 |
| commit | b9a3af628b1a6fd5903324b578940f25b2613032 (patch) | |
| tree | af356472e2984c46b823b19231bf01266dd5a55a | |
| parent | 51d3b7fe05fac5d42445d73e7ec047d523bdfbb5 (diff) | |
| download | soen423-b9a3af628b1a6fd5903324b578940f25b2613032.zip | |
pass city name to RM
| -rw-r--r-- | src/main/java/derms/ReplicaManager.java | 24 | ||||
| -rw-r--r-- | src/main/java/derms/replica2/Replica2.java | 4 | ||||
| -rw-r--r-- | src/main/java/derms/replica3/Replica3.java | 4 |
3 files changed, 21 insertions, 11 deletions
diff --git a/src/main/java/derms/ReplicaManager.java b/src/main/java/derms/ReplicaManager.java index 85cdbe8..93819a3 100644 --- a/src/main/java/derms/ReplicaManager.java +++ b/src/main/java/derms/ReplicaManager.java @@ -21,8 +21,9 @@ import java.io.ObjectInputStream; import java.util.logging.Logger; public class ReplicaManager { - public static final String usage = "Usage: java ReplicaManager <replicaId> <frontEndIP>"; + public static final String usage = "Usage: java ReplicaManager <replicaId> <city> <frontEndIP>"; private final int replicaId; + private final String city; private Replica replica; private Response response; private final Logger log; @@ -30,8 +31,9 @@ public class ReplicaManager { private ReliableUnicastSender<Response> unicastSender; private TotalOrderMulticastReceiver multicastReceiver; - public ReplicaManager(int replicaId, InetAddress frontEndIP) throws IOException { + public ReplicaManager(int replicaId, String city, InetAddress frontEndIP) throws IOException { this.replicaId = replicaId; + this.city = city; this.log = Logger.getLogger(getClass().getName()); initUnicastSender(frontEndIP); initReplica(); @@ -48,16 +50,16 @@ public class ReplicaManager { private void initReplica() throws IOException { switch (replicaId) { case 1: - replica = new derms.replica2.Replica2(new derms.replica2.City(), this); + replica = new derms.replica2.Replica2(city, this); break; case 2: - replica = new derms.replica2.Replica2(new derms.replica2.City(), this); + replica = new derms.replica2.Replica2(city, this); break; case 3: - replica = new derms.replica3.Replica3(new derms.replica3.City(), this); + replica = new derms.replica3.Replica3(city, this); break; case 4: - replica = new derms.replica2.Replica2(new derms.replica2.City(), this); + replica = new derms.replica2.Replica2(city, this); break; } replica.startProcess(); @@ -135,16 +137,16 @@ public class ReplicaManager { } public static void main(String[] args) { - if (args.length < 2) { + if (args.length < 3) { System.err.println(usage); System.exit(1); } - int replicaId = Integer.parseInt(args[0]); - try { - InetAddress frontEndIP = InetAddress.getByName(args[1]); - ReplicaManager replicaManager = new ReplicaManager(replicaId, frontEndIP); + int replicaId = Integer.parseInt(args[0]); + String city = args[1]; + InetAddress frontEndIP = InetAddress.getByName(args[2]); + ReplicaManager replicaManager = new ReplicaManager(replicaId, city, frontEndIP); System.out.println("ReplicaManager " + replicaId + " is running."); } catch (IOException e) { System.err.println("Failed to start ReplicaManager: " + e.getMessage()); diff --git a/src/main/java/derms/replica2/Replica2.java b/src/main/java/derms/replica2/Replica2.java index 251754d..4815f5f 100644 --- a/src/main/java/derms/replica2/Replica2.java +++ b/src/main/java/derms/replica2/Replica2.java @@ -52,6 +52,10 @@ public class Replica2 implements Replica { log.info("Created CoordinatorServer"); } + public Replica2(String city, ReplicaManager replicaManager) throws IOException { + this(new City(city), replicaManager); + } + @Override public boolean isAlive() { return alive; } diff --git a/src/main/java/derms/replica3/Replica3.java b/src/main/java/derms/replica3/Replica3.java index 34891f7..bf2597a 100644 --- a/src/main/java/derms/replica3/Replica3.java +++ b/src/main/java/derms/replica3/Replica3.java @@ -47,6 +47,10 @@ public class Replica3 implements Replica{ this.alive = true; } + public Replica3(String city, ReplicaManager replicaManager) throws IOException { + this(new City(city), replicaManager); + } + @Override public boolean isAlive() { return alive; } |