From 3180833e16aa64ed0134e9ce5227640f8c786afb Mon Sep 17 00:00:00 2001 From: Christos Tranoris <tranoris@ece.upatras.gr> Date: Fri, 28 Jun 2024 14:02:14 +0300 Subject: [PATCH] fix for https://labs.etsi.org/rep/osl/code/org.etsi.osl.mano/-/issues/8 --- .../org/etsi/osl/mano/MANOController.java | 77 ++++++++++--------- 1 file changed, 42 insertions(+), 35 deletions(-) diff --git a/src/main/java/org/etsi/osl/mano/MANOController.java b/src/main/java/org/etsi/osl/mano/MANOController.java index 0a4c31a..a0cfb3f 100644 --- a/src/main/java/org/etsi/osl/mano/MANOController.java +++ b/src/main/java/org/etsi/osl/mano/MANOController.java @@ -1011,18 +1011,20 @@ public class MANOController { try { // Parse the json list of objects org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Vnfd[] vnfd_array = (org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Vnfd[]) mapper.readValue(vnfds_list_entity.getBody(), org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Vnfd[].class); + + JSONArray array = new JSONArray(vnfds_list_entity.getBody()); + // For each object - for(org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Vnfd vnfd : vnfd_array) - { - String jsonInString=null; - ObjectMapper mapper2 = new ObjectMapper(); - mapper2.setSerializationInclusion(Include.NON_NULL); - try { - jsonInString = mapper2.writerWithDefaultPrettyPrinter().writeValueAsString(vnfd); - } catch (JsonProcessingException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } + // For each object + for (Object object : array) { + + + JSONObject jobj = (JSONObject) object; + org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Vnfd vnfd = + mapper.readValue( jobj.toString() , org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Vnfd.class ); + + String jsonInString=jobj.toString(); + ObjectMapper mapper2 = new ObjectMapper(); // Compare db derived data with osm derived data and update the database. logger.debug("VNFD to JSON:"+jsonInString); @@ -1072,7 +1074,7 @@ public class MANOController { // Store the requirements in HTML newVxFMetadata.setDescriptorHTML(vnfreq.toHTML()); // Store the YAML file - newVxFMetadata.setDescriptor(vnfds_list_entity.getBody()); + newVxFMetadata.setDescriptor( jobj.toString() ); //Add VxFMetadata object to db and get the generated object newVxFMetadata = aMANOClient.addVxFMetadata(newVxFMetadata); @@ -1128,18 +1130,20 @@ public class MANOController { try { // Parse the json list of objects org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Vnfd[] vnfd_array = (org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Vnfd[]) mapper.readValue(vnfds_list_entity.getBody(), org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Vnfd[].class); - // For each object - for(org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Vnfd vnfd : vnfd_array) - { - String jsonInString=null; - ObjectMapper mapper2 = new ObjectMapper(); - mapper2.setSerializationInclusion(Include.NON_NULL); - try { - jsonInString = mapper2.writerWithDefaultPrettyPrinter().writeValueAsString(vnfd); - } catch (JsonProcessingException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } +JSONArray array = new JSONArray(vnfds_list_entity.getBody()); + + // For each object + // For each object + for (Object object : array) { + + + JSONObject jobj = (JSONObject) object; + org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Vnfd vnfd = + mapper.readValue( jobj.toString() , org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Vnfd.class ); + + String jsonInString=jobj.toString(); + ObjectMapper mapper2 = new ObjectMapper(); + // Compare db derived data with osm derived data and update the database. logger.debug("VNFD to JSON:"+jsonInString); @@ -1245,17 +1249,20 @@ public class MANOController { // Parse the json list of objects org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Vnfd[] vnfd_array = (org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Vnfd[]) mapper.readValue(vnfds_list_entity.getBody(), org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Vnfd[].class); // For each object - for(org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Vnfd vnfd : vnfd_array) - { - String jsonInString=null; - ObjectMapper mapper2 = new ObjectMapper(); - mapper2.setSerializationInclusion(Include.NON_NULL); - try { - jsonInString = mapper2.writerWithDefaultPrettyPrinter().writeValueAsString(vnfd); - } catch (JsonProcessingException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } + JSONArray array = new JSONArray(vnfds_list_entity.getBody()); + + // For each object + // For each object + for (Object object : array) { + + + JSONObject jobj = (JSONObject) object; + org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Vnfd vnfd = + mapper.readValue( jobj.toString() , org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Vnfd.class ); + + String jsonInString=jobj.toString(); + ObjectMapper mapper2 = new ObjectMapper(); + // Compare db derived data with osm derived data and update the database. logger.debug("VNFD to JSON:"+jsonInString); -- GitLab