diff options
Diffstat (limited to 'src/main/java/org/onap/sdc/dcae/composition/restmodels/ruleeditor/ConditionDeserializer.java')
-rw-r--r-- | src/main/java/org/onap/sdc/dcae/composition/restmodels/ruleeditor/ConditionDeserializer.java | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/main/java/org/onap/sdc/dcae/composition/restmodels/ruleeditor/ConditionDeserializer.java b/src/main/java/org/onap/sdc/dcae/composition/restmodels/ruleeditor/ConditionDeserializer.java new file mode 100644 index 0000000..b14c3b1 --- /dev/null +++ b/src/main/java/org/onap/sdc/dcae/composition/restmodels/ruleeditor/ConditionDeserializer.java @@ -0,0 +1,17 @@ +package org.onap.sdc.dcae.composition.restmodels.ruleeditor; + +import com.google.gson.*; + +import java.lang.reflect.Type; + +public class ConditionDeserializer implements JsonDeserializer<BaseCondition> { + + @Override + public BaseCondition deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { + Type clazz = Condition.class; + JsonElement type = json.getAsJsonObject().get("type"); + if(null != type && !type.isJsonNull()) + clazz = ConditionGroup.class; + return context.deserialize(json, clazz); + } +} |