From 92c8eae71fd662c2b7e76b17309c1b2f91c38d41 Mon Sep 17 00:00:00 2001 From: Sam Anthony Date: Mon, 2 Dec 2024 17:12:19 -0500 Subject: client cli --- src/main/java/derms/client/ResponderClientCLI.java | 53 ++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 src/main/java/derms/client/ResponderClientCLI.java (limited to 'src/main/java/derms/client/ResponderClientCLI.java') diff --git a/src/main/java/derms/client/ResponderClientCLI.java b/src/main/java/derms/client/ResponderClientCLI.java new file mode 100644 index 0000000..3b41bf9 --- /dev/null +++ b/src/main/java/derms/client/ResponderClientCLI.java @@ -0,0 +1,53 @@ +package derms.client; + +import java.net.MalformedURLException; + +public class ResponderClientCLI extends CLI { + public static final String usage = "Usage: java derms.client.ResponderClientCLI "; + + private final ResponderClient client; + + private ResponderClientCLI(String FEhost) throws MalformedURLException { + client = new ResponderClient(FEhost); + + commands.put("add", new Add()); + cmdDescriptions.add(new Description( + "add ", + "Add ad resource to the server")); + } + + public static void main(String[] args) { + if (args.length < 1) { + System.err.println("Missing argument 'FE host'"); + System.exit(1); + } + + String FEhost = args[0]; + + try { + (new ResponderClientCLI(FEhost)).run(); + } catch (MalformedURLException e) { + e.printStackTrace(); + } + } + + private class Add implements Command { + @Override + public void exec(String[] args) { + if (args.length < 3) { + System.out.println("invalid arguments for 'add'"); + } else { + add(args[0], args[1], args[2]); + } + } + + private void add(String resourceID, String resourceName, String durationStr) { + int duration = Integer.parseInt(durationStr); + if (duration < 0) { + throw new NumberFormatException("duration less than 0"); + } + String response = client.addResource(resourceID, resourceName, duration); + System.out.println(response); + } + } +} -- cgit v1.2.3