package eu.leads.processor.utils.math;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.util.StdConverter;
/**
* Created with IntelliJ IDEA.
* User: vagvaz
* Date: 11/3/13
* Time: 10:57 PM
* To change this template use File | Settings | File Templates.
*/
public class MathTreeOperatorNodeConverter extends StdConverter<JsonNode, MathOperatorTreeNode> {
@Override
public MathOperatorTreeNode convert(JsonNode jsonNode) {
MathOperatorTreeNode left;
MathOperatorTreeNode right;
if (jsonNode.path("type").asText().equals("EXPRESSION")) {
MathTreeOperatorNodeConverter converter = new MathTreeOperatorNodeConverter();
left = converter.convert(jsonNode.path("left"));
right = converter.convert(jsonNode.path("right"));
return new MathOperatorTreeNode(left, right, jsonNode.path("not").asBoolean(), jsonNode.path("expressionFunction").asText());
} else {
// ObjectMapper mapper = new ObjectMapper();
return new MathOperatorTreeNode(jsonNode.path("operand").asText());
}
}
}