summaryrefslogtreecommitdiffstats
path: root/src/main/java/derms/replica1/DERMSServer.java
diff options
context:
space:
mode:
authorBMatajsz <90217645+BMatajsz@users.noreply.github.com>2024-12-03 10:27:54 -0500
committerBMatajsz <90217645+BMatajsz@users.noreply.github.com>2024-12-03 10:27:54 -0500
commit298eb839a8ccdd625978cf51476a6c412d11902b (patch)
tree99571b2234f546b6a5b536d27dac086d1ec99433 /src/main/java/derms/replica1/DERMSServer.java
parentd0b0b50f18c4713814c565af2f3146ec82aa6b0f (diff)
parent1a2c519e5e70cc1e31eaef5cd770da75d75d6654 (diff)
downloadsoen423-298eb839a8ccdd625978cf51476a6c412d11902b.zip
Merge branch 'test' of https://github.com/sam-rba/soen423 into test
Diffstat (limited to 'src/main/java/derms/replica1/DERMSServer.java')
-rw-r--r--src/main/java/derms/replica1/DERMSServer.java23
1 files changed, 12 insertions, 11 deletions
diff --git a/src/main/java/derms/replica1/DERMSServer.java b/src/main/java/derms/replica1/DERMSServer.java
index 72849a1..585a946 100644
--- a/src/main/java/derms/replica1/DERMSServer.java
+++ b/src/main/java/derms/replica1/DERMSServer.java
@@ -22,17 +22,22 @@ public class DERMSServer implements DERMSInterface {
private static List<String> cities = Arrays.asList("MTL", "QUE", "SHE");
private static List<String> resourceNames = Arrays.asList("AMBULANCE", "FIRETRUCK", "PERSONNEL");
+ private final Random r = new Random();
+ private final Map<String, Integer> portsMap = new HashMap<String, Integer>() {{
+ put("MTL", r.nextInt(60000-8000) + 8000);
+ put("QUE", r.nextInt(60000-8000) + 8000);
+ put("SHE", r.nextInt(60000-8000) + 8000);
+ }};
public DERMSServer() {
// Default constructor to support JAX-WS
- super();
- this.serverID = "MTL";
- resources = new HashMap<>();
- new Thread(this::listenForMessages).start();
+// super();
+// this.serverID = "MTL";
+// resources = new HashMap<>();
+// new Thread(this::listenForMessages).start();
}
public DERMSServer(String serverID) throws InterruptedException {
- super();
this.serverID = serverID;
resources = new HashMap<>();
new Thread(this::listenForMessages).start();
@@ -40,7 +45,7 @@ public class DERMSServer implements DERMSInterface {
}
private void listenForMessages() {
- try (DatagramSocket socket = new DatagramSocket()) {
+ try (DatagramSocket socket = new DatagramSocket(getServerPortsFromCentralRepo().get(serverID))) {
this.serverPort.set(socket.getLocalPort());
byte[] buffer = new byte[1024];
@@ -216,11 +221,7 @@ public class DERMSServer implements DERMSInterface {
private Map<String, Integer> getServerPortsFromCentralRepo() {
// Mocking response as web services since no derms.CentralRepoInterface.
- return new HashMap<String, Integer>() {{
- put("MTL", 4321);
- put("QUE", 4322);
- put("SHE", 4323);
- }};
+ return new HashMap<>(portsMap);
}
@Override