diff --git a/Main/pom.xml b/Main/pom.xml
index a383f5067..7264e4cf7 100644
--- a/Main/pom.xml
+++ b/Main/pom.xml
@@ -109,19 +109,19 @@
com.fasterxml.jackson.core
jackson-core
- 2.9.6
+ 2.10.0
com.fasterxml.jackson.core
jackson-annotations
- 2.9.6
+ 2.10.0
com.fasterxml.jackson.core
jackson-databind
- 2.9.6
+ 2.10.0
diff --git a/Main/src/main/java/com/chameleonvision/classabstraction/VisionManager.java b/Main/src/main/java/com/chameleonvision/classabstraction/VisionManager.java
index 2a3498027..e2a7ee2f3 100644
--- a/Main/src/main/java/com/chameleonvision/classabstraction/VisionManager.java
+++ b/Main/src/main/java/com/chameleonvision/classabstraction/VisionManager.java
@@ -57,22 +57,10 @@ public class VisionManager {
// Gson gson = new GsonBuilder().registerTypeAdapter(USBCameraProcess.class, new CameraDeserializer());
// }
}
- })
-
+ });
+ return true;
}
- public void PipelineSerializer(List list, Path path) throws IOException {
- File pipelineFile = new File(path.toString());
- ObjectMapper objectMapper = new ObjectMapper().enableDefaultTyping();
- objectMapper.writeValue(pipelineFile,list);
- }
-
- public List PipelineDESerializer(Path path) throws IOException {
- File pipelineFile = new File(path.toString());
- ObjectMapper objectMapper = new ObjectMapper().enableDefaultTyping();
- List list = Arrays.asList(objectMapper.readValue(pipelineFile, CVPipelineSettings[].class));
- return list;
- }
public static void initializeProcesses() {
diff --git a/Main/src/main/java/com/chameleonvision/util/FileHelper.java b/Main/src/main/java/com/chameleonvision/util/FileHelper.java
index 8f4628cbe..93320ca1b 100644
--- a/Main/src/main/java/com/chameleonvision/util/FileHelper.java
+++ b/Main/src/main/java/com/chameleonvision/util/FileHelper.java
@@ -1,5 +1,10 @@
package com.chameleonvision.util;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.json.JsonMapper;
+import com.fasterxml.jackson.databind.jsontype.BasicPolymorphicTypeValidator;
+import com.fasterxml.jackson.databind.jsontype.PolymorphicTypeValidator;
+import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
@@ -22,4 +27,18 @@ public class FileHelper {
}
}
}
+ public static void Serializer(Object object, Path path) throws IOException {
+ File file = new File(path.toString());
+ PolymorphicTypeValidator ptv = BasicPolymorphicTypeValidator.builder().allowIfBaseType(Object.class).build();
+ ObjectMapper objectMapper = JsonMapper.builder().activateDefaultTyping(ptv, ObjectMapper.DefaultTyping.JAVA_LANG_OBJECT).build();
+ objectMapper.writeValue(file,object);
+ }
+
+ public static Object DeSerializer(Path path,Class> ref) throws IOException {
+ File file = new File(path.toString());
+ PolymorphicTypeValidator ptv = BasicPolymorphicTypeValidator.builder().allowIfBaseType(Object.class).build();
+ ObjectMapper objectMapper = JsonMapper.builder().activateDefaultTyping(ptv, ObjectMapper.DefaultTyping.JAVA_LANG_OBJECT).build();
+ Object o = objectMapper.readValue(file, ref);
+ return o;
+ }
}