summaryrefslogtreecommitdiffstats
path: root/src/main/java/derms/replica/replica1/ResponderClient.java
diff options
context:
space:
mode:
authorSam Anthony <sam@samanthony.xyz>2024-11-23 13:51:12 -0500
committerSam Anthony <sam@samanthony.xyz>2024-11-23 13:51:12 -0500
commit3c62b863509131e78c18ed13c6b83e4fc508848f (patch)
treecf246e91da283edf704af936b9cef7eb8e09a6f8 /src/main/java/derms/replica/replica1/ResponderClient.java
parente3b72053e8b04f2df013da0d7d49fe33927461a9 (diff)
downloadsoen423-3c62b863509131e78c18ed13c6b83e4fc508848f.zip
import replica code from assignment
Diffstat (limited to 'src/main/java/derms/replica/replica1/ResponderClient.java')
-rw-r--r--src/main/java/derms/replica/replica1/ResponderClient.java34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/main/java/derms/replica/replica1/ResponderClient.java b/src/main/java/derms/replica/replica1/ResponderClient.java
new file mode 100644
index 0000000..b21b67e
--- /dev/null
+++ b/src/main/java/derms/replica/replica1/ResponderClient.java
@@ -0,0 +1,34 @@
+package derms.replica.replica1;
+
+import java.net.MalformedURLException;
+import java.net.UnknownHostException;
+import java.util.HashMap;
+import java.util.Map;
+
+public class ResponderClient extends Client<Responder, ResponderServer> {
+ public ResponderID id;
+
+ public ResponderClient(ResponderID id) {
+ super(Responder.class, ResponderServer.class);
+ this.id = id;
+ }
+
+ public ResponderClient(City city, short idNum) {
+ this(new ResponderID(city, idNum));
+ }
+
+ public void add(ResourceID rid, ResourceName name, int duration) throws UnknownHostException, MalformedURLException {
+ Responder server = connect(new City(rid.city));
+ server.addResource(new Resource(rid, name, duration));
+ }
+
+ public void remove(ResourceID rid, int duration) throws UnknownHostException, MalformedURLException, NoSuchResourceException {
+ Responder server = connect(new City(rid.city));
+ server.removeResource(rid, duration);
+ }
+
+ public Resource[] listResources(ResourceName name) throws UnknownHostException, MalformedURLException, ServerCommunicationError {
+ Responder server = connect(id.city);
+ return server.listResourceAvailability(name);
+ }
+}