summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/onap/sdc/dcae/composition/restmodels/ruleeditor/ConditionDeserializer.java
diff options
context:
space:
mode:
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.java17
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);
+ }
+}