summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/main/java/de/bwlehrpool/bwlp_guac/ConnectionManager.java12
-rw-r--r--src/main/java/de/bwlehrpool/bwlp_guac/JsonClient.java2
-rw-r--r--src/main/java/de/bwlehrpool/bwlp_guac/JsonLocation.java13
-rw-r--r--src/main/java/de/bwlehrpool/bwlp_guac/JsonRoot.java9
4 files changed, 35 insertions, 1 deletions
diff --git a/src/main/java/de/bwlehrpool/bwlp_guac/ConnectionManager.java b/src/main/java/de/bwlehrpool/bwlp_guac/ConnectionManager.java
index 0132e43..f1ad057 100644
--- a/src/main/java/de/bwlehrpool/bwlp_guac/ConnectionManager.java
+++ b/src/main/java/de/bwlehrpool/bwlp_guac/ConnectionManager.java
@@ -131,13 +131,23 @@ public class ConnectionManager {
private static void populateList(byte[] data) {
ObjectMapper mapper = new ObjectMapper();
JsonClient[] list;
+ JsonRoot root;
try {
- list = mapper.readValue(data, JsonClient[].class);
+ root = mapper.readValue(data, JsonRoot.class);
} catch (Exception e) {
LOGGER.warn("Could not deserialize JSON from Connection Pool", e);
LOGGER.warn("Not updating local list");
return;
}
+ list = root.clients;
+ if (list == null) {
+ LOGGER.info("Client list null");
+ }
+ if (root.locations != null) {
+ for (JsonLocation l : root.locations) {
+ LOGGER.info("Location " + l.name + " with pw " + l.password);
+ }
+ }
synchronized (clientPool) {
for (JsonClient cnew : list) {
if (cnew.password == null || cnew.clientip == null)
diff --git a/src/main/java/de/bwlehrpool/bwlp_guac/JsonClient.java b/src/main/java/de/bwlehrpool/bwlp_guac/JsonClient.java
index dee8fae..09a80e4 100644
--- a/src/main/java/de/bwlehrpool/bwlp_guac/JsonClient.java
+++ b/src/main/java/de/bwlehrpool/bwlp_guac/JsonClient.java
@@ -6,6 +6,8 @@ public class JsonClient {
public String password;
+ public int locationid;
+
public State state;
public boolean wol_in_progress;
diff --git a/src/main/java/de/bwlehrpool/bwlp_guac/JsonLocation.java b/src/main/java/de/bwlehrpool/bwlp_guac/JsonLocation.java
new file mode 100644
index 0000000..6bf9d1c
--- /dev/null
+++ b/src/main/java/de/bwlehrpool/bwlp_guac/JsonLocation.java
@@ -0,0 +1,13 @@
+package de.bwlehrpool.bwlp_guac;
+
+public class JsonLocation {
+
+ public int id;
+
+ public int[] locationids;
+
+ public String name;
+
+ public String password;
+
+}
diff --git a/src/main/java/de/bwlehrpool/bwlp_guac/JsonRoot.java b/src/main/java/de/bwlehrpool/bwlp_guac/JsonRoot.java
new file mode 100644
index 0000000..e89eb64
--- /dev/null
+++ b/src/main/java/de/bwlehrpool/bwlp_guac/JsonRoot.java
@@ -0,0 +1,9 @@
+package de.bwlehrpool.bwlp_guac;
+
+public class JsonRoot {
+
+ public JsonClient[] clients;
+
+ public JsonLocation[] locations;
+
+}