diff options
| author | Sam Anthony <sam@samanthony.xyz> | 2024-12-02 19:47:19 -0500 |
|---|---|---|
| committer | Sam Anthony <sam@samanthony.xyz> | 2024-12-02 19:47:19 -0500 |
| commit | 57af33949782caffb4de26e36eb70fe4053e511b (patch) | |
| tree | e99ed643688291f9c8061c90333ac58397e24449 /src | |
| parent | 7eaca644d1632d15d684bbdfab4b9eda78e4a139 (diff) | |
| download | soen423-57af33949782caffb4de26e36eb70fe4053e511b.zip | |
replica2: implement findResource()
Diffstat (limited to 'src')
| -rw-r--r-- | src/main/java/derms/replica2/Replica2.java | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/src/main/java/derms/replica2/Replica2.java b/src/main/java/derms/replica2/Replica2.java index 7c9cebf..3c9f764 100644 --- a/src/main/java/derms/replica2/Replica2.java +++ b/src/main/java/derms/replica2/Replica2.java @@ -194,9 +194,8 @@ public class Replica2 implements Replica { ResourceType.parse(request.getResourceType())); StringBuilder result = new StringBuilder(); result.append(request.getResourceType()); - for (Resource resource : resources) { + for (Resource resource : resources) result.append(" " + resource.id + "-" + resource.duration); - } return result.toString(); } catch (ServerCommunicationError e) { String msg = "Error listing resources: " + e.getMessage(); @@ -220,8 +219,24 @@ public class Replica2 implements Replica { } private String findResource(Request request) { - // TODO - throw new NotImplementedException(); + try { + Resource[] resources = coordinatorServer.findResource( + CoordinatorID.parse(request.getClientID()), + ResourceType.parse(request.getResourceType())); + + if (resources.length < 1) + return "Resources of " + request.getResourceType() + " occupied by coordinator " + request.getClientID() + " are not found!"; + + StringBuilder result = new StringBuilder(); + result.append(request.getResourceType()); + for (Resource resource : resources) + result.append(" " + resource.id + "-" + resource.borrowDuration); + return result.toString(); + } catch (ServerCommunicationError e) { + String msg = "Error finding resources: " + e.getMessage(); + log.warning(msg); + return msg; + } } private String returnResource(Request request) { |