diff --git a/Main/pom.xml b/Main/pom.xml
index 48e6dace0..f268f5079 100644
--- a/Main/pom.xml
+++ b/Main/pom.xml
@@ -186,5 +186,10 @@
3.4.4-5
linuxraspbian
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ 2.10.0.pr1
+
diff --git a/Main/src/main/java/com/chameleonvision/settings/SettingsManager.java b/Main/src/main/java/com/chameleonvision/settings/SettingsManager.java
index 39b27c28f..cd922368f 100644
--- a/Main/src/main/java/com/chameleonvision/settings/SettingsManager.java
+++ b/Main/src/main/java/com/chameleonvision/settings/SettingsManager.java
@@ -153,6 +153,7 @@ public class SettingsManager {
Cameras.put(CameraName, cam);
CreateNewPipeline(null, CameraName);
+ CreateNewPipeline(null, CameraName);//Created 2 pipeline for testing TODO add a create pipeline button
}
diff --git a/Main/src/main/java/com/chameleonvision/web/Server.java b/Main/src/main/java/com/chameleonvision/web/Server.java
index c899419bf..06729c5b4 100644
--- a/Main/src/main/java/com/chameleonvision/web/Server.java
+++ b/Main/src/main/java/com/chameleonvision/web/Server.java
@@ -49,13 +49,11 @@ public class Server {
case "curr_camera":
SettingsManager.getInstance().SetCurrentCamera((String) value);
//broadcastMessage((Map) new HashMap(){}.put("port",SettingsManager.CameraPorts.get(SettingsManager.GeneralSettings.curr_camera)));
- //broadcastMessage(SettingsManager.getInstance().GetCurrentCamera());//TODO CHECK JSON FOR CAMERA CHANGE
+// broadcastMessage(ctx, SettingsManager.getInstance().GetCurrentCamera());//TODO CHECK JSON FOR CAMERA CHANGE
break;
case "curr_pipeline":
- System.out.println("change pipeline");
SettingsManager.getInstance().SetCurrentPipeline((String) value);
SettingsManager.CamerasCurrentPipeline.put(SettingsManager.GeneralSettings.curr_camera, (String) value);
-// broadcastMessage(SettingsManager.getInstance().GetCurrentPipeline());//TODO CHECK JSON FOR PIPELINE CHANGE
break;
case "resolution":
System.out.println("change res");
@@ -118,21 +116,20 @@ public class Server {
return successful;
}
- private static void broadcastMessage(WsContext sendingUser, String message) {
+ private static void broadcastMessage(WsContext sendingUser, Object obj) {//TODO chekc if session id is a good way to differentiate users
for (var user : users) {
- if (user != sendingUser) {
- user.send(message);
+ if (sendingUser!=null&&user.getSessionId()==sendingUser.getSessionId()) {
+ continue;
}
+ if (obj.getClass() == String.class)
+ user.send((String) obj);
+ else if (obj.getClass() == HashMap.class)
+ user.send(new JSONObject((HashMap) obj).toString());
+ else
+ user.send(new JSONObject(obj).toString());
}
}
- private static void broadcastMessage(Map map) {
- for (var user : users) {
- user.send(new JSONObject(map).toString());
- }
-
- }
-
private static void addAllFieldsToMap(Map map, Object obj) {
try {
Field[] fields = obj.getClass().getFields();
@@ -159,7 +156,7 @@ public class Server {
System.err.println("No camera found!");
//TODO: add message to ui to inform that there are no cameras
}
- broadcastMessage(fullSettings);
+ broadcastMessage(null, fullSettings);
}