public class org.finos.legend.engine.protocol.pure.v.model.data.ModelStoreData$ModelStoreDeserializer extends com.fasterxml.jackson.databind.JsonDeserializer
{
private static com.fasterxml.jackson.databind.ObjectMapper objectMapper;
public void <init>()
{
org.finos.legend.engine.protocol.pure.v.model.data.ModelStoreData$ModelStoreDeserializer v;
v := @this: org.finos.legend.engine.protocol.pure.v.model.data.ModelStoreData$ModelStoreDeserializer;
specialinvoke v.<com.fasterxml.jackson.databind.JsonDeserializer: void <init>()>();
return;
}
public org.finos.legend.engine.protocol.pure.v.model.data.ModelStoreData deserialize(com.fasterxml.jackson.core.JsonParser, com.fasterxml.jackson.databind.DeserializationContext) throws java.io.IOException
{
org.finos.legend.engine.protocol.pure.v.model.data.ModelInstanceTestData v;
org.finos.legend.engine.protocol.pure.v.model.data.ModelStoreData v;
com.fasterxml.jackson.core.ObjectCodec v;
org.eclipse.collections.api.factory.list.MutableListFactory v;
org.eclipse.collections.api.list.MutableList v;
com.fasterxml.jackson.databind.JsonNode v, v, v;
boolean v, v, v, v;
org.finos.legend.engine.protocol.pure.v.model.data.ModelStoreData$ModelStoreDeserializer v;
com.fasterxml.jackson.core.TreeNode v;
com.fasterxml.jackson.databind.DeserializationContext v;
com.fasterxml.jackson.core.JsonParser v;
java.util.Iterator v, v;
com.fasterxml.jackson.databind.ObjectMapper v, v;
java.io.IOException v;
java.util.List v, v;
java.lang.Object v, v, v, v, v;
v := @this: org.finos.legend.engine.protocol.pure.v.model.data.ModelStoreData$ModelStoreDeserializer;
v := @parameter: com.fasterxml.jackson.core.JsonParser;
v := @parameter: com.fasterxml.jackson.databind.DeserializationContext;
v = virtualinvoke v.<com.fasterxml.jackson.core.JsonParser: com.fasterxml.jackson.core.ObjectCodec getCodec()>();
v = virtualinvoke v.<com.fasterxml.jackson.core.ObjectCodec: com.fasterxml.jackson.core.TreeNode readTree(com.fasterxml.jackson.core.JsonParser)>(v);
v = virtualinvoke v.<com.fasterxml.jackson.databind.JsonNode: com.fasterxml.jackson.databind.JsonNode get(java.lang.String)>("instances");
v = virtualinvoke v.<com.fasterxml.jackson.databind.JsonNode: com.fasterxml.jackson.databind.JsonNode get(java.lang.String)>("modelData");
v = new org.finos.legend.engine.protocol.pure.v.model.data.ModelStoreData;
specialinvoke v.<org.finos.legend.engine.protocol.pure.v.model.data.ModelStoreData: void <init>()>();
v = <org.eclipse.collections.api.factory.Lists: org.eclipse.collections.api.factory.list.MutableListFactory mutable>;
v = interfaceinvoke v.<org.eclipse.collections.api.factory.list.MutableListFactory: org.eclipse.collections.api.list.MutableList empty()>();
v.<org.finos.legend.engine.protocol.pure.v.model.data.ModelStoreData: java.util.List modelData> = v;
if v == null goto label;
v = virtualinvoke v.<com.fasterxml.jackson.databind.JsonNode: boolean isArray()>();
if v == 0 goto label;
v = virtualinvoke v.<com.fasterxml.jackson.databind.node.ArrayNode: java.util.Iterator elements()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = v.<org.finos.legend.engine.protocol.pure.v.model.data.ModelStoreData: java.util.List modelData>;
v = <org.finos.legend.engine.protocol.pure.v.model.data.ModelStoreData$ModelStoreDeserializer: com.fasterxml.jackson.databind.ObjectMapper objectMapper>;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: java.lang.Object treeToValue(com.fasterxml.jackson.core.TreeNode,java.lang.Class)>(v, class "Lorg/finos/legend/engine/protocol/pure/v1/model/data/ModelTestData;");
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>("Model Store Data expects property \'modelData\' to be an array");
throw v;
label:
if v == null goto label;
v = virtualinvoke v.<com.fasterxml.jackson.databind.JsonNode: boolean isObject()>();
if v == 0 goto label;
v = virtualinvoke v.<com.fasterxml.jackson.databind.node.ObjectNode: java.util.Iterator fields()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = <org.finos.legend.engine.protocol.pure.v.model.data.ModelStoreData$ModelStoreDeserializer: com.fasterxml.jackson.databind.ObjectMapper objectMapper>;
v = virtualinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: java.lang.Object treeToValue(com.fasterxml.jackson.core.TreeNode,java.lang.Class)>(v, class "Lorg/finos/legend/engine/protocol/pure/v1/model/valueSpecification/ValueSpecification;");
v = new org.finos.legend.engine.protocol.pure.v.model.data.ModelInstanceTestData;
specialinvoke v.<org.finos.legend.engine.protocol.pure.v.model.data.ModelInstanceTestData: void <init>()>();
v.<org.finos.legend.engine.protocol.pure.v.model.data.ModelInstanceTestData: java.lang.String model> = v;
v.<org.finos.legend.engine.protocol.pure.v.model.data.ModelInstanceTestData: org.finos.legend.engine.protocol.pure.v.model.valueSpecification.ValueSpecification instances> = v;
v = v.<org.finos.legend.engine.protocol.pure.v.model.data.ModelStoreData: java.util.List modelData>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
return v;
}
static void <clinit>()
{
com.fasterxml.jackson.databind.ObjectMapper v;
v = staticinvoke <org.finos.legend.engine.protocol.pure.v.PureProtocolObjectMapperFactory: com.fasterxml.jackson.databind.ObjectMapper getNewObjectMapper()>();
<org.finos.legend.engine.protocol.pure.v.model.data.ModelStoreData$ModelStoreDeserializer: com.fasterxml.jackson.databind.ObjectMapper objectMapper> = v;
return;
}
}