package org.onap.so.adapters.catalogdb.catalogrest;
+import java.io.IOException;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
return smartToJSON();
}
+
+ protected boolean isJSONValid(String jsonInString) {
+ try {
+ if (jsonInString == null) {
+ return false;
+ }
+ ObjectMapper mapper = new ObjectMapper();
+ mapper.readValue(jsonInString, String.class);
+ return true;
+ } catch (IOException e) {
+ return false;
+ }
+ }
}
put(valueMap, "PROVIDING_SERVICE_MODEL_INVARIANT_UUID", o.getProvidingServiceModelInvariantUUID());
put(valueMap, "PROVIDING_SERVICE_MODEL_UUID", o.getProvidingServiceModelUUID());
put(valueMap, "PROVIDING_SERVICE_MODEL_NAME", o.getProvidingServiceModelName());
- put(valueMap, "RESOURCE_INPUT", o.getResourceInput());
+
+ if (isJSONValid(o.getResourceInput())) {
+ put(valueMap, "RESOURCE_INPUT", o.getResourceInput());
+ }
sb.append(sep).append(this.setTemplate(TEMPLATE, valueMap));
sep = ",\n";
put(valueMap, "NETWORK_ROLE", o.getNetworkRole());
put(valueMap, "NETWORK_SCOPE", o.getNetworkScope());
put(valueMap, "NETWORK_TECHNOLOGY", o.getNetworkTechnology());
- put(valueMap, "RESOURCE_INPUT", o.getResourceInput());
+
+ if (isJSONValid(o.getResourceInput())) {
+ put(valueMap, "RESOURCE_INPUT", o.getResourceInput());
+ }
sb.append(sep).append(this.setTemplate(TEMPLATE, valueMap));
sep = ",\n";
package org.onap.so.adapters.catalogdb.catalogrest;
/* should be called QueryVnfResource.java */
+import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import org.onap.so.db.catalog.beans.VnfcInstanceGroupCustomization;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.fasterxml.jackson.databind.ObjectMapper;
@XmlRootElement(name = "serviceVnfs")
public class QueryServiceVnfs extends CatalogQuery {
put(valueMap, "NF_NAMING_CODE", o.getNfNamingCode());
put(valueMap, "VNFC_INSTANCE_GROUP_ORDER", o.getVnfcInstanceGroupOrder());
put(valueMap, "MULTI_STEP_DESIGN", o.getMultiStageDesign());
- put(valueMap, "RESOURCE_INPUT", o.getResourceInput());
+ if (isJSONValid(o.getResourceInput())) {
+ put(valueMap, "RESOURCE_INPUT", o.getResourceInput());
+ }
String subitem = new QueryVfModule(vrNull ? null : o.getVfModuleCustomizations()).JSON2(true, true);
valueMap.put("_VFMODULES_", subitem.replaceAll("(?m)^", "\t\t"));
sb.append("}");
return sb.toString();
}
+
}
package org.onap.so.adapters.catalogdb.catalogrest;
-import org.onap.so.db.catalog.beans.VnfcCustomization;
-import javax.xml.bind.annotation.XmlRootElement;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import javax.xml.bind.annotation.XmlRootElement;
+import org.onap.so.db.catalog.beans.VnfcCustomization;
@XmlRootElement(name = "vnfcs")
public class QueryVnfcs extends CatalogQuery {
put(valueMap, "MODEL_INVARIANT_ID", o.getModelInvariantUUID());
put(valueMap, "MODEL_VERSION", o.getModelVersion());
put(valueMap, "MODEL_CUSTOMIZATION_UUID", o.getModelCustomizationUUID());
- put(valueMap, "RESOURCE_INPUT", o.getResourceInput());
+ if (isJSONValid(o.getResourceInput())) {
+ put(valueMap, "RESOURCE_INPUT", o.getResourceInput());
+ }
sb.append(sep).append(this.setTemplate(TEMPLATE, valueMap));
sep = ",\n";
}
--- /dev/null
+package org.onap.so.adapters.catalogdb.catalogrest;
+
+import static org.junit.Assert.assertEquals;
+import org.json.JSONException;
+import org.junit.Test;
+
+
+public class QueryServiceVnfTest extends QueryServiceVnfs {
+
+ private QueryServiceVnfs queryServiceVnf = new QueryServiceVnfs();
+
+ private final String invalidJSON =
+ "\"{\\\\\\\"nf_function\\\\\\\":\\\\\\\"DO_STUFF\\\\\\\",\\\"_image_name\\\\\\\":\\\\\\\"test_image\\\"";
+
+ private final String validJSON = "\"{\"nf_function\":\"DO_STUFF\",\"image_name\":\"test_image\"}";
+
+ @Test
+ public void test_IsValidJsonTrue() throws JSONException {
+ boolean isValidJson = queryServiceVnf.isJSONValid(validJSON);
+ assertEquals(true, isValidJson);
+ }
+
+ @Test
+ public void test_IsValidJsonFalse() throws JSONException {
+ boolean isValidJson = queryServiceVnf.isJSONValid(invalidJSON);
+ assertEquals(false, isValidJson);
+ }
+
+ @Test
+ public void test_IsValidJsonNull() throws JSONException {
+ boolean isValidJson = queryServiceVnf.isJSONValid(null);
+ assertEquals(false, isValidJson);
+ }
+
+
+}