DCAE-D be initial commit
[sdc/dcae-d/dt-be-main.git] / dcaedt_be / src / main / java / org / onap / sdc / dcae / rule / editor / utils / RulesPayloadUtils.java
1 package org.onap.sdc.dcae.rule.editor.utils;
2
3 import java.util.List;
4
5 import org.onap.sdc.dcae.composition.restmodels.sdc.Artifact;
6 import org.onap.sdc.dcae.composition.restmodels.ruleeditor.*;
7
8 import com.google.gson.Gson;
9 import com.google.gson.GsonBuilder;
10 import com.google.gson.JsonParseException;
11
12 public class RulesPayloadUtils {
13         private static Gson gson = new GsonBuilder().serializeNulls()
14                         .registerTypeAdapter(BaseAction.class, new ActionDeserializer())
15                         .registerTypeAdapter(BaseCondition.class, new ConditionDeserializer()).create();
16
17         public static Rule parsePayloadToRule(String payload) throws JsonParseException {
18                 return gson.fromJson(payload, Rule.class);
19         }
20
21         public static MappingRules parseMappingRulesArtifactPayload(String payload) throws JsonParseException {
22                 return gson.fromJson(payload, MappingRules.class);
23         }
24
25         public static SchemaInfo extractInfoFromDescription(Artifact rulesArtifact) {
26                 try {
27                         return gson.fromJson(rulesArtifact.getArtifactDescription(), SchemaInfo.class);
28                 }catch (JsonParseException e) {
29                         return null;
30                 }
31         }
32
33         public static String buildSchemaAndRulesResponse(String payload, List<EventTypeDefinitionUI> schema) {
34                 return  "{\"schema\":"+gson.toJson(schema)+","+payload.replaceFirst("\\{", "");
35         }
36
37
38 }