diff --git a/process-worker/src/main/java/org/ceskaexpedice/processplatform/worker/config/ProcessConfiguration.java b/process-worker/src/main/java/org/ceskaexpedice/processplatform/worker/config/ProcessConfiguration.java index 1eebdc5..250fc57 100644 --- a/process-worker/src/main/java/org/ceskaexpedice/processplatform/worker/config/ProcessConfiguration.java +++ b/process-worker/src/main/java/org/ceskaexpedice/processplatform/worker/config/ProcessConfiguration.java @@ -16,6 +16,10 @@ */ package org.ceskaexpedice.processplatform.worker.config; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.ObjectMapper; + import java.nio.charset.StandardCharsets; import java.util.Base64; import java.util.HashMap; @@ -85,10 +89,11 @@ public String getOrDefault(String key, String defaultValue) { return props.getProperty(key, defaultValue); } - public static Map getPluginPayload(ProcessConfiguration processConfig) { + public static Map getPluginPayload(ProcessConfiguration processConfig) throws JsonProcessingException { String payloadBase64 = processConfig.get(PLUGIN_PAYLOAD_BASE64_KEY); String payloadJson = new String(Base64.getDecoder().decode(payloadBase64), StandardCharsets.UTF_8); - Map pluginPayload = parseSimpleJson(payloadJson); + ObjectMapper mapper = new ObjectMapper(); + Map pluginPayload = mapper.readValue(payloadJson, new TypeReference>() {}); return pluginPayload; } diff --git a/process-worker/src/main/java/org/ceskaexpedice/processplatform/worker/plugin/executor/PluginStarter.java b/process-worker/src/main/java/org/ceskaexpedice/processplatform/worker/plugin/executor/PluginStarter.java index 7b52441..553d6b3 100644 --- a/process-worker/src/main/java/org/ceskaexpedice/processplatform/worker/plugin/executor/PluginStarter.java +++ b/process-worker/src/main/java/org/ceskaexpedice/processplatform/worker/plugin/executor/PluginStarter.java @@ -16,6 +16,7 @@ */ package org.ceskaexpedice.processplatform.worker.plugin.executor; +import com.fasterxml.jackson.core.JsonProcessingException; import org.ceskaexpedice.processplatform.api.context.PluginContext; import org.ceskaexpedice.processplatform.api.context.PluginContextHolder; import org.ceskaexpedice.processplatform.common.ApplicationException; @@ -150,7 +151,7 @@ private static void updatePID(ProcessConfiguration processConfiguration, Manager } private static void runPlugin(ProcessConfiguration processConfig, WorkerConfiguration workerConfig) - throws ClassNotFoundException, IllegalAccessException, InvocationTargetException { + throws ClassNotFoundException, IllegalAccessException, InvocationTargetException, JsonProcessingException { Map pluginPayload = getPluginPayload(processConfig); String pluginId = processConfig.get(PLUGIN_ID_KEY); String mainClass = processConfig.get(MAIN_CLASS_KEY);