package eu.leads.processor.plan; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.util.StdConverter; import eu.leads.processor.execute.operators.OutputOperator; import java.io.IOException; import java.util.List; import java.util.Map; /** * Created with IntelliJ IDEA. * User: vagvaz * Date: 11/5/13 * Time: 4:11 PM * To change this template use File | Settings | File Templates. */ // public class ExecutionPlanConverter extends StdConverter<JsonNode, ExecutionPlan> { @Override public ExecutionPlan convert(JsonNode jsonNode) { ObjectMapper mapper = new ObjectMapper(); try { // OutputOperator output = mapper.readValue(jsonNode.path("output").toString(), OutputOperator.class); Map<String, ExecutionPlanNode> graph = mapper.readValue(jsonNode.path("graph").toString(), new TypeReference<Map<String, ExecutionPlanNode>>() { }); List<String> sources = mapper.readValue(jsonNode.path("sources").toString(), new TypeReference<List<String>>() { }); return new ExecutionPlan(new OutputOperator("nana"), graph, sources); } catch (IOException e) { e.printStackTrace(); } return new ExecutionPlan(); } }