diff options
| author | BMatajsz <90217645+BMatajsz@users.noreply.github.com> | 2024-12-02 17:25:26 -0500 |
|---|---|---|
| committer | BMatajsz <90217645+BMatajsz@users.noreply.github.com> | 2024-12-02 17:25:26 -0500 |
| commit | 06b85e583dd9242855b2ca9173a580c766733a25 (patch) | |
| tree | 3328857a43dae98d2d58157e5a01868f2abb8e7a /src/main/java/derms/Replica3pkg/ResponderClient.java | |
| parent | 6767d5b22d105cdbae568b4734c6835f2828118d (diff) | |
| download | soen423-06b85e583dd9242855b2ca9173a580c766733a25.zip | |
Added Replica4
Diffstat (limited to 'src/main/java/derms/Replica3pkg/ResponderClient.java')
| -rw-r--r-- | src/main/java/derms/Replica3pkg/ResponderClient.java | 154 |
1 files changed, 0 insertions, 154 deletions
diff --git a/src/main/java/derms/Replica3pkg/ResponderClient.java b/src/main/java/derms/Replica3pkg/ResponderClient.java deleted file mode 100644 index 85dfeaa..0000000 --- a/src/main/java/derms/Replica3pkg/ResponderClient.java +++ /dev/null @@ -1,154 +0,0 @@ -//ResponderClient.java -package derms.Replica3pkg; - - -import javax.xml.namespace.QName; -import javax.xml.ws.Service; -import java.io.*; -import java.net.URL; -import java.util.*; - -public class ResponderClient { - private String responderID; - private String serverName; - private Map<String, DERMSInterface> servers; - - public ResponderClient(String responderID) { - this.responderID = responderID; - this.serverName = responderID.substring(0, 3).toUpperCase(); - this.servers = new HashMap<>(); - } - - public void connectToServer() { - try { - String[] serverNames = {"MTL", "QUE", "SHE"}; - String[] endpoints = { - "http://localhost:8080/DERMS/MTL?wsdl", - "http://localhost:8081/DERMS/QUE?wsdl", - "http://localhost:8082/DERMS/SHE?wsdl" - }; - - int i = 0; - for (String name : serverNames) { - URL url = new URL(endpoints[i]); - QName qname = new QName("http://DERMS.org/", "ServerService"); - Service service = Service.create(url, qname); - servers.put(name, service.getPort(DERMSInterface.class)); - System.out.println("Connected to " + name + " server."); - i++; - } - - } catch (Exception e) { - e.printStackTrace(); - } - } - - public String addResource(String resourceID, String resourceName, int duration) { - try { - String serverCode = resourceID.substring(0, 3).toUpperCase(); - DERMSInterface targetServer = servers.get(serverCode); - if (targetServer == null) { - System.out.println("Invalid server code in resourceID."); - return "Error"; - } - String response = targetServer.addResource(resourceID, resourceName, duration); - log("addResource", response); - System.out.println(response); - return "OK"; - } catch (Exception e) { - e.printStackTrace(); - return "Error"; - } - } - - public String removeResource(String resourceID, int duration) { - try { - String serverCode = resourceID.substring(0, 3).toUpperCase(); - DERMSInterface targetServer = servers.get(serverCode); - if (targetServer == null) { - System.out.println("Invalid server code in resourceID."); - } - String response = targetServer.removeResource(resourceID, duration); - log("removeResource", response); - System.out.println(response); - } catch (Exception e) { - e.printStackTrace(); - } - return "OK"; - } - - public String listResourceAvailability(String resourceName) { - try { - String response = servers.get(serverName).listResourceAvailability(resourceName); - log("listResourceAvailability", response); - System.out.println("Available Resources:\n" + response); - } catch (Exception e) { - e.printStackTrace(); - } - return "OK"; - } - - private void log(String operation, String response) { - try (FileWriter fw = new FileWriter(responderID + "_log.txt", true); - BufferedWriter bw = new BufferedWriter(fw); - PrintWriter out = new PrintWriter(bw)) { - String logEntry = String.format("%s - Operation: %s, Response: %s", new Date(), operation, response); - out.println(logEntry); - } catch (IOException e) { - e.printStackTrace(); - } - } - - public void start() { - Scanner scanner = new Scanner(System.in); - connectToServer(); - - while (true) { - System.out.println("Responder menu:"); - System.out.println("1. Add Resource"); - System.out.println("2. Remove Resource"); - System.out.println("3. List Resource Availability"); - System.out.println("4. Exit"); - System.out.print("Enter choice (number): "); - int choice = Integer.parseInt(scanner.nextLine()); - - switch (choice) { - case 1: - System.out.print("Enter resourceID: "); - String resourceID = scanner.nextLine(); - System.out.print("Enter resourceName: "); - String resourceName = scanner.nextLine(); - System.out.print("Enter duration: "); - int duration = Integer.parseInt(scanner.nextLine()); - addResource(resourceID, resourceName, duration); - break; - case 2: - System.out.print("Enter resourceID: "); - resourceID = scanner.nextLine(); - System.out.print("Enter duration (removal): "); - duration = Integer.parseInt(scanner.nextLine()); - removeResource(resourceID, duration); - break; - case 3: - System.out.print("Enter resourceName: "); - resourceName = scanner.nextLine(); - listResourceAvailability(resourceName); - break; - case 4: - System.out.println("Exiting client"); - scanner.close(); - return; - default: - System.out.println("Invalid input"); - } - } - } - - public static void main(String[] args) { - Scanner scanner = new Scanner(System.in); - System.out.print("Enter responderID: "); - String responderID = scanner.nextLine(); - ResponderClient client = new ResponderClient(responderID); - client.start(); - } -}
\ No newline at end of file |