From cd21186bf798bb5294fd0d5ce5daf09962ed7d03 Mon Sep 17 00:00:00 2001 From: ori agranat Date: Tue, 12 Nov 2019 19:28:46 +0200 Subject: [PATCH] added json serializer and de serializer --- Main/pom.xml | 6 +++--- .../classabstraction/VisionManager.java | 16 ++-------------- .../com/chameleonvision/util/FileHelper.java | 19 +++++++++++++++++++ 3 files changed, 24 insertions(+), 17 deletions(-) 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; + } }