aboutsummaryrefslogtreecommitdiffstats
path: root/common/src/main/java/org/onap/so/beans/nsmf/SliceTaskParamsAdapter.java
diff options
context:
space:
mode:
Diffstat (limited to 'common/src/main/java/org/onap/so/beans/nsmf/SliceTaskParamsAdapter.java')
-rw-r--r--common/src/main/java/org/onap/so/beans/nsmf/SliceTaskParamsAdapter.java198
1 files changed, 195 insertions, 3 deletions
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/SliceTaskParamsAdapter.java b/common/src/main/java/org/onap/so/beans/nsmf/SliceTaskParamsAdapter.java
index 6ad752f047..dd73fdb76b 100644
--- a/common/src/main/java/org/onap/so/beans/nsmf/SliceTaskParamsAdapter.java
+++ b/common/src/main/java/org/onap/so/beans/nsmf/SliceTaskParamsAdapter.java
@@ -19,8 +19,14 @@
*/
package org.onap.so.beans.nsmf;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.google.gson.JsonObject;
import lombok.*;
import org.onap.so.beans.nsmf.oof.TemplateInfo;
+import java.io.IOException;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.util.HashMap;
import java.util.Map;
@@ -58,9 +64,195 @@ public class SliceTaskParamsAdapter {
private SliceTaskInfo<AnSliceProfile> anSliceTaskInfo;
+ @SuppressWarnings("unchecked")
+ public void convertFromJson(String jsonString) throws IOException {
+ ObjectMapper mapper = new ObjectMapper();
+ Map<String, String> paramMap = (Map<String, String>) mapper.readValue(jsonString, Map.class);
+
+ this.setServiceName(paramMap.get("ServiceName"));
+ this.setServiceId(paramMap.get("ServiceId"));
+ this.setNstId(paramMap.get("NSTId"));
+ this.setNstName(paramMap.get("NSTName"));
+ this.setSuggestNsiId(paramMap.get("suggestNSIId"));
+ this.setSuggestNsiName(paramMap.get("suggestNSIName"));
+
+ this.setServiceProfile(replaceHeader(paramMap, "ServiceProfile."));
+
+ TnSliceProfile tnBHSliceProfile = mapper.readValue(
+ mapper.writeValueAsString(replaceHeader(paramMap, "SliceProfile.TN.BH.")), TnSliceProfile.class);
+ this.tnBHSliceTaskInfo.setSliceProfile(tnBHSliceProfile);
+
+ TnSliceProfile tnMHSliceProfile = mapper.readValue(
+ mapper.writeValueAsString(replaceHeader(paramMap, "SliceProfile.TN.MH.")), TnSliceProfile.class);
+ this.tnMHSliceTaskInfo.setSliceProfile(tnMHSliceProfile);
+
+ TnSliceProfile tnFHSliceProfile = mapper.readValue(
+ mapper.writeValueAsString(replaceHeader(paramMap, "SliceProfile.TN.FH.")), TnSliceProfile.class);
+ this.tnFHSliceTaskInfo.setSliceProfile(tnFHSliceProfile);
+
+ CnSliceProfile cnSliceProfile = mapper.readValue(
+ mapper.writeValueAsString(replaceHeader(paramMap, "SliceProfile.CN.")), CnSliceProfile.class);
+ this.cnSliceTaskInfo.setSliceProfile(cnSliceProfile);
+
+ AnSliceProfile anSliceProfile = mapper.readValue(
+ mapper.writeValueAsString(replaceHeader(paramMap, "SliceProfile.AN.")), AnSliceProfile.class);
+ this.anSliceTaskInfo.setSliceProfile(anSliceProfile);
+
+ this.tnBHSliceTaskInfo.setSuggestNssiId(paramMap.get("TN.BH.SuggestNSSIId"));
+ this.tnBHSliceTaskInfo.setSuggestNssiName(paramMap.get("TN.BH.SuggestNSSIName"));
+ this.tnBHSliceTaskInfo.setProgress(paramMap.get("TN.BH.progress"));
+ this.tnBHSliceTaskInfo.setStatus(paramMap.get("TN.BH.status"));
+ this.tnBHSliceTaskInfo.setStatusDescription(paramMap.get("TN.BH.statusDescription"));
+ this.tnBHSliceTaskInfo.setScriptName(paramMap.get("TN.BH.ScriptName"));
+
+ this.tnMHSliceTaskInfo.setSuggestNssiId(paramMap.get("TN.MH.SuggestNSSIId"));
+ this.tnMHSliceTaskInfo.setSuggestNssiName(paramMap.get("TN.MH.SuggestNSSIName"));
+ this.tnMHSliceTaskInfo.setProgress(paramMap.get("TN.MH.progress"));
+ this.tnMHSliceTaskInfo.setStatus(paramMap.get("TN.MH.status"));
+ this.tnMHSliceTaskInfo.setStatusDescription(paramMap.get("TN.MH.statusDescription"));
+ this.tnMHSliceTaskInfo.setScriptName(paramMap.get("TN.MH.ScriptName"));
+
+ this.tnFHSliceTaskInfo.setSuggestNssiId(paramMap.get("TN.FH.SuggestNSSIId"));
+ this.tnFHSliceTaskInfo.setSuggestNssiName(paramMap.get("TN.FH.SuggestNSSIName"));
+ this.tnFHSliceTaskInfo.setProgress(paramMap.get("TN.FH.progress"));
+ this.tnFHSliceTaskInfo.setStatus(paramMap.get("TN.FH.status"));
+ this.tnFHSliceTaskInfo.setStatusDescription(paramMap.get("TN.FH.statusDescription"));
+ this.tnFHSliceTaskInfo.setScriptName(paramMap.get("TN.FH.ScriptName"));
+
+ this.cnSliceTaskInfo.setSuggestNssiId(paramMap.get("CN.SuggestNSSIId"));
+ this.cnSliceTaskInfo.setSuggestNssiName(paramMap.get("CN.SuggestNSSIName"));
+ this.cnSliceTaskInfo.setProgress(paramMap.get("CN.progress"));
+ this.cnSliceTaskInfo.setStatus(paramMap.get("CN.status"));
+ this.cnSliceTaskInfo.setStatusDescription(paramMap.get("CN.statusDescription"));
+ this.cnSliceTaskInfo.setScriptName(paramMap.get("CN.ScriptName"));
+
+ this.anSliceTaskInfo.setSuggestNssiId(paramMap.get("AN.SuggestNSSIId"));
+ this.anSliceTaskInfo.setSuggestNssiName(paramMap.get("AN.SuggestNSSIName"));
+ this.anSliceTaskInfo.setProgress(paramMap.get("AN.progress"));
+ this.anSliceTaskInfo.setStatus(paramMap.get("AN.status"));
+ this.anSliceTaskInfo.setStatusDescription(paramMap.get("AN.statusDescription"));
+ this.anSliceTaskInfo.setScriptName(paramMap.get("AN.ScriptName"));
+ }
+
public String convertToJson() {
- SliceTaskParams sliceTaskParams = new SliceTaskParams();
- sliceTaskParams.setServiceId(serviceId);
- return sliceTaskParams.convertToJson();
+ JsonObject jsonObject = new JsonObject();
+ jsonObject.addProperty("ServiceId", serviceId);
+ jsonObject.addProperty("ServiceName", serviceName);
+ jsonObject.addProperty("NSTId", nstId);
+ jsonObject.addProperty("NSTName", nstName);
+ jsonObject.addProperty("suggestNSIId", suggestNsiId);
+ jsonObject.addProperty("suggestNSIName", suggestNsiName);
+
+ for (Map.Entry<String, Object> entry : serviceProfile.entrySet()) {
+ jsonObject.addProperty("ServiceProfile." + entry.getKey(), entry.getValue().toString());
+ }
+
+ Map<String, Object> sliceProfileAn = bean2Map(anSliceTaskInfo.getSliceProfile());
+
+ for (Map.Entry<String, Object> entry : sliceProfileAn.entrySet()) {
+ jsonObject.addProperty("SliceProfile.AN." + entry.getKey(), entry.getValue().toString());
+ }
+
+ Map<String, Object> sliceProfileCn = bean2Map(cnSliceTaskInfo.getSliceProfile());
+ for (Map.Entry<String, Object> entry : sliceProfileCn.entrySet()) {
+ jsonObject.addProperty("SliceProfile.CN." + entry.getKey(), entry.getValue().toString());
+ }
+
+ Map<String, Object> sliceProfileTnBH = bean2Map(tnBHSliceTaskInfo.getSliceProfile());
+ for (Map.Entry<String, Object> entry : sliceProfileTnBH.entrySet()) {
+ jsonObject.addProperty("SliceProfile.TN.BH." + entry.getKey(), entry.getValue().toString());
+ }
+
+ Map<String, Object> sliceProfileTnMH = bean2Map(tnMHSliceTaskInfo.getSliceProfile());
+ for (Map.Entry<String, Object> entry : sliceProfileTnMH.entrySet()) {
+ jsonObject.addProperty("SliceProfile.TN.MH." + entry.getKey(), entry.getValue().toString());
+ }
+
+ Map<String, Object> sliceProfileTnFH = bean2Map(tnFHSliceTaskInfo.getSliceProfile());
+ for (Map.Entry<String, Object> entry : sliceProfileTnFH.entrySet()) {
+ jsonObject.addProperty("SliceProfile.TN.FH." + entry.getKey(), entry.getValue().toString());
+ }
+
+ jsonObject.addProperty("TN.BH.SuggestNSSIId", tnBHSliceTaskInfo.getSuggestNssiId());
+ jsonObject.addProperty("TN.BH.SuggestNSSIName", tnBHSliceTaskInfo.getSuggestNssiName());
+ jsonObject.addProperty("TN.BH.progress", tnBHSliceTaskInfo.getProgress());
+ jsonObject.addProperty("TN.BH.status", tnBHSliceTaskInfo.getStatus());
+ jsonObject.addProperty("TN.BH.statusDescription", tnBHSliceTaskInfo.getStatusDescription());
+ jsonObject.addProperty("TN.BH.ScriptName", tnBHSliceTaskInfo.getScriptName());
+
+
+ jsonObject.addProperty("TN.MH.SuggestNSSIId", tnMHSliceTaskInfo.getSuggestNssiId());
+ jsonObject.addProperty("TN.MH.SuggestNSSIName", tnMHSliceTaskInfo.getSuggestNssiName());
+ jsonObject.addProperty("TN.MH.progress", tnMHSliceTaskInfo.getProgress());
+ jsonObject.addProperty("TN.MH.status", tnMHSliceTaskInfo.getStatus());
+ jsonObject.addProperty("TN.MH.statusDescription", tnMHSliceTaskInfo.getStatusDescription());
+ jsonObject.addProperty("TN.MH.ScriptName", tnMHSliceTaskInfo.getScriptName());
+
+
+ jsonObject.addProperty("TN.FH.SuggestNSSIId", tnFHSliceTaskInfo.getSuggestNssiId());
+ jsonObject.addProperty("TN.FH.SuggestNSSIName", tnFHSliceTaskInfo.getSuggestNssiName());
+ jsonObject.addProperty("TN.FH.progress", tnFHSliceTaskInfo.getProgress());
+ jsonObject.addProperty("TN.FH.status", tnFHSliceTaskInfo.getStatus());
+ jsonObject.addProperty("TN.FH.statusDescription", tnFHSliceTaskInfo.getStatusDescription());
+ jsonObject.addProperty("TN.FH.ScriptName", tnFHSliceTaskInfo.getScriptName());
+
+
+ jsonObject.addProperty("CN.SuggestNSSIId", cnSliceTaskInfo.getSuggestNssiId());
+ jsonObject.addProperty("CN.SuggestNSSIName", cnSliceTaskInfo.getSuggestNssiName());
+ jsonObject.addProperty("CN.progress", cnSliceTaskInfo.getProgress());
+ jsonObject.addProperty("CN.status", cnSliceTaskInfo.getStatus());
+ jsonObject.addProperty("CN.statusDescription", cnSliceTaskInfo.getStatusDescription());
+ jsonObject.addProperty("CN.ScriptName", cnSliceTaskInfo.getScriptName());
+
+
+ jsonObject.addProperty("AN.SuggestNSSIId", anSliceTaskInfo.getSuggestNssiId());
+ jsonObject.addProperty("AN.SuggestNSSIName", anSliceTaskInfo.getSuggestNssiName());
+ jsonObject.addProperty("AN.progress", anSliceTaskInfo.getProgress());
+ jsonObject.addProperty("AN.status", anSliceTaskInfo.getStatus());
+ jsonObject.addProperty("AN.statusDescription", anSliceTaskInfo.getStatusDescription());
+ jsonObject.addProperty("AN.ScriptName", anSliceTaskInfo.getScriptName());
+
+ return jsonObject.toString();
+ }
+
+ /**
+ * change T t to {@link Map}
+ *
+ * @param t input
+ * @param <T> Object
+ * @return {@link Map}
+ */
+ private <T> Map<String, Object> bean2Map(T t) {
+ Map<String, Object> resMap = new HashMap<>();
+ try {
+ Field[] fields = t.getClass().getDeclaredFields();
+ for (Field field : fields) {
+ String name = field.getName();
+ Method method = t.getClass().getMethod("get" + name);
+ Object value = method.invoke(t);
+ resMap.put(name, value);
+ }
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return resMap;
+ }
+
+ /**
+ * replace of slice profile
+ *
+ * @param paramMap params map
+ * @param header starts of key
+ * @return Map
+ */
+ private Map<String, Object> replaceHeader(Map<String, String> paramMap, String header) {
+ Map<String, Object> sliceProfileMap = new HashMap<>();
+ for (Map.Entry<String, String> entry : paramMap.entrySet()) {
+ if (entry.getKey().startsWith(header)) {
+ sliceProfileMap.put(entry.getKey().replaceFirst("^" + header, ""), entry.getValue());
+ }
+ }
+ return sliceProfileMap;
}
}