From 9e9e96d91d175fb61f813c5d51c53128fdae88f2 Mon Sep 17 00:00:00 2001 From: Voronsky Date: Fri, 30 Aug 2024 00:11:41 -0400 Subject: [PATCH] New method to retrieve list of devices --- src/main/java/com/voronsky/unifi4j/Unifi.java | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/voronsky/unifi4j/Unifi.java b/src/main/java/com/voronsky/unifi4j/Unifi.java index 7895e75..12a3def 100644 --- a/src/main/java/com/voronsky/unifi4j/Unifi.java +++ b/src/main/java/com/voronsky/unifi4j/Unifi.java @@ -57,7 +57,6 @@ public class Unifi { UnifiResponse ur = mapper.readValue(jsonObject.toString(), UnifiResponse.class); List data = ur.data(); log.info("List: "+ur); - log.info("REEE: "+data); for(Data itr: data){ log.info("RS: "+itr.reportedState().hardware()); hardwares.add(itr.reportedState().hardware().name()); @@ -66,4 +65,23 @@ public class Unifi { return hardwares; } + public List getDevices() throws Exception{ + List devices = new ArrayList<>(); + ResponseEntity json = this.restClient.get().uri("/devices").retrieve().toEntity(String.class); + log.debug("JSON response: "+ json); + + //Convert to Json Node Object to do POJO + JsonNode jsonObject = new ObjectMapper().readTree(json.getBody()); + ObjectMapper mapper = new ObjectMapper(); + UnifiResponse ur = mapper.readValue(jsonObject.toString(), UnifiResponse.class); + List data = ur.data(); + log.info("List: "+ur); + // Polynomial O(N^2) , it was a list within a list in the JSON response + for (Data dataItr: data){ + devices.addAll(dataItr.devices()); + } + log.debug("Devices: "+devices); + return devices; + } + }