diff --git a/src/main/java/org/etsi/osl/tmf/scm633/reposervices/ServiceSpecificationRepoService.java b/src/main/java/org/etsi/osl/tmf/scm633/reposervices/ServiceSpecificationRepoService.java index 9fd5474732f67d7b8ff4724701b111ff376a59bb..3ebca01457fcad124c5d185d69b508d4b8b627f1 100644 --- a/src/main/java/org/etsi/osl/tmf/scm633/reposervices/ServiceSpecificationRepoService.java +++ b/src/main/java/org/etsi/osl/tmf/scm633/reposervices/ServiceSpecificationRepoService.java @@ -1144,7 +1144,7 @@ public class ServiceSpecificationRepoService { return null; } - logger.error("nsdid returned: " + nsd.getName()); + logger.debug("nsdid returned: " + nsd.getName()); List<ServiceSpecification> newRfservices = new ArrayList<>(); diff --git a/src/main/java/org/etsi/osl/tmf/util/PrimitivesParser.java b/src/main/java/org/etsi/osl/tmf/util/PrimitivesParser.java index 64557ad5e9fdda97daa56ba449b5232ee0e21740..645b2dbe0ad29faa388358b6624c7a97fdbd0a59 100644 --- a/src/main/java/org/etsi/osl/tmf/util/PrimitivesParser.java +++ b/src/main/java/org/etsi/osl/tmf/util/PrimitivesParser.java @@ -34,6 +34,7 @@ import org.yaml.snakeyaml.Yaml; import com.fasterxml.jackson.databind.ObjectMapper; import java.io.File; +import java.util.ArrayList; import java.util.HashMap; import java.util.Map; @@ -107,10 +108,20 @@ public class PrimitivesParser { public static JSONObject processNSD(NetworkServiceDescriptor nsd) { // Parse the NSD descriptor from string to YAML Yaml yaml = new Yaml(); - Map<String, Object> yamlMap = yaml.load(nsd.getDescriptor()); - - // Parse the NSD descriptor from YAML to JSONObject - JSONObject nsdJson = new JSONObject(yamlMap); + JSONObject nsdJson; + + Object obj = yaml.load(nsd.getDescriptor()); + + if ( obj instanceof ArrayList) { + // Parse the NSD descriptor from YAML to JSONObject + nsdJson = new JSONObject( (ArrayList<Object>)obj ); + + }else { + Map<String, Object> yamlMap = ( Map<String, Object> ) obj; + // Parse the NSD descriptor from YAML to JSONObject + nsdJson = new JSONObject(yamlMap); + } + return nsdJson; } @@ -164,8 +175,14 @@ public class PrimitivesParser { // Attach the empty array to the JSONObject under the key "vnfs" vnfs.put("vnfs", vnfsArray); - - JSONArray nsdArray = nsdJson.getJSONObject("nsd").getJSONArray("nsd"); + JSONArray nsdArray = null; + if ( nsdJson.has("nsd") ) { + nsdArray = nsdJson.getJSONObject("nsd").getJSONArray("nsd"); + } else { + nsdArray = new JSONArray(); + nsdArray.put(nsdJson); + } + // Assuming that there might be multiple 'nsd' entries, iterate over them processNSDEntries(nsdArray, vnfsArray);