diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8ea78d6c6187dd518ec9fb389aae2a666ba82c86..bb7d754baa751630b25598e182a30f062e9b6ebd 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -15,13 +15,21 @@ include: rules: - if: '$CI_COMMIT_REF_NAME == "develop"' + - project: osl/code/org.etsi.osl.main + ref: $CI_COMMIT_REF_NAME + file: + - ci-templates/default.yml + - ci-templates/build.yml + rules: + - if: '$CI_COMMIT_REF_PROTECTED && $CI_COMMIT_REF_NAME != "main" && $CI_COMMIT_REF_NAME != "develop"' + - project: osl/code/org.etsi.osl.main ref: develop file: - ci-templates/default.yml - ci-templates/build_unprotected.yml rules: - - if: '$CI_COMMIT_REF_NAME != "main" && $CI_COMMIT_REF_NAME != "develop"' + - if: '$CI_COMMIT_REF_NAME != "main" && $CI_COMMIT_REF_NAME != "develop" && !$CI_COMMIT_REF_PROTECTED' maven_build: extends: .maven_build diff --git a/Dockerfile b/Dockerfile index 335aae1e16060d8deccb3ed305120b5789514452..7480c2bfc2f7a4b68aad66c6be3501d476badae5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,5 +2,5 @@ FROM ibm-semeru-runtimes:open-17.0.7_7-jdk MAINTAINER openslice.io RUN mkdir /opt/shareclasses RUN mkdir -p /opt/openslice/lib/ -COPY target/org.etsi.osl.manoclient-1.0.0-SNAPSHOT.jar /opt/openslice/lib/ -CMD ["java", "-Xshareclasses:cacheDir=/opt/shareclasses","-jar", "/opt/openslice/lib/org.etsi.osl.manoclient-1.0.0-SNAPSHOT.jar"] \ No newline at end of file +COPY target/org.etsi.osl.manoclient-1.0.0.jar /opt/openslice/lib/ +CMD ["java", "-Xshareclasses:cacheDir=/opt/shareclasses","-jar", "/opt/openslice/lib/org.etsi.osl.manoclient-1.0.0.jar"] \ No newline at end of file diff --git a/pom.xml b/pom.xml index c5660ff17ddac621e20260f37ec0548f2932515c..35d5ac7114ee1995a9d87f00ae2956cf1ffeff03 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ org.etsi.osl org.etsi.osl.main - 1.0.0-SNAPSHOT + 1.0.0 ../org.etsi.osl.main diff --git a/src/main/java/org/etsi/osl/mano/MANOController.java b/src/main/java/org/etsi/osl/mano/MANOController.java index 11a1d7410aa698b2bfa5d1ff0f84a4b940b5ce77..a0cfb3f998d086bb4dcc0fa0bea46f76ab81f1fe 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); @@ -1394,20 +1401,18 @@ public class MANOController { try { // Parse the json list of objects org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Nsd[] nsd_array = (org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Nsd[]) mapper.readValue(nsds_list_entity.getBody(), org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Nsd[].class); - // For each object - for(org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Nsd nsd : nsd_array) - { - String jsonInString=null; + + JSONArray array = new JSONArray(nsds_list_entity.getBody()); + // For each object + for (Object object : array) { + JSONObject jobj = (JSONObject) object; + org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Nsd nsd = + mapper.readValue( jobj.toString() , org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Nsd.class); + + String jsonInString=jobj.toString(); ObjectMapper mapper2 = new ObjectMapper(); - mapper2.setSerializationInclusion(Include.NON_NULL); - try { - jsonInString = mapper2.writerWithDefaultPrettyPrinter().writeValueAsString(nsd); - } catch (JsonProcessingException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - // Εδώ θα συγκρίνουμε αυτό που λάβαμε απο τη βάση με αυτό που λάβαμε απο το osm και θα το ανανεώσουμε στη βάση. + // compare the one from OSM with the one locally saved logger.debug("NSD to JSON:"+jsonInString); logger.info("NSD " + nsd.getInvariantId() + " added"); @@ -1455,7 +1460,7 @@ public class MANOController { // Store the requirements in HTML newExperimentMetadata.setDescriptorHTML(nsdreq.toHTML()); // Store the YAML file - newExperimentMetadata.setDescriptor(nsds_list_entity.getBody()); + newExperimentMetadata.setDescriptor( jobj.toString() ); for (Df v : nsd.getDf().values()) { for( VnfProfile q : v.getVnfProfile().values()) @@ -1530,20 +1535,17 @@ public class MANOController { try { // Parse the json list of objects org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Nsd[] nsd_array = (org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Nsd[]) mapper.readValue(nsds_list_entity.getBody(), org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Nsd[].class); - // For each object - for(org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Nsd nsd : nsd_array) - { - String jsonInString=null; + + JSONArray array = new JSONArray(nsds_list_entity.getBody()); + // For each object + for (Object object : array) { + JSONObject jobj = (JSONObject) object; + org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Nsd nsd = + mapper.readValue( jobj.toString() , org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Nsd.class); + + String jsonInString=jobj.toString(); ObjectMapper mapper2 = new ObjectMapper(); - mapper2.setSerializationInclusion(Include.NON_NULL); - try { - jsonInString = mapper2.writerWithDefaultPrettyPrinter().writeValueAsString(nsd); - } catch (JsonProcessingException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - // Compare the received from the osm with the database entry and update the database. + // compare the one from OSM with the one locally saved logger.debug("NSD to JSON:"+jsonInString); logger.info("NSD " + nsd.getInvariantId() + " added"); @@ -1591,7 +1593,7 @@ public class MANOController { // Store the requirements in HTML newExperimentMetadata.setDescriptorHTML(nsdreq.toHTML()); // Store the YAML file - newExperimentMetadata.setDescriptor(nsds_list_entity.getBody()); + newExperimentMetadata.setDescriptor( jobj.toString() ); for (Df v : nsd.getDf().values()) { for( VnfProfile q : v.getVnfProfile().values()) @@ -1663,20 +1665,20 @@ public class MANOController { { ObjectMapper mapper = new ObjectMapper(); try { - // Parse the json list of objects - org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Nsd[] nsd_array = (org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Nsd[]) mapper.readValue(nsds_list_entity.getBody(), org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Nsd[].class); - // For each object - for(org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Nsd nsd : nsd_array) - { - String jsonInString=null; + // Parse the json list of objects + org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Nsd[] nsd_array = (org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Nsd[]) mapper.readValue(nsds_list_entity.getBody(), org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Nsd[].class); + + JSONArray array = new JSONArray(nsds_list_entity.getBody()); + // For each object + for (Object object : array) { + JSONObject jobj = (JSONObject) object; + org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Nsd nsd = + mapper.readValue( jobj.toString() , org.opendaylight.yang.gen.v1.urn.etsi.nfv.yang.etsi.nfv.descriptors.rev190425.Nsd.class); + + String jsonInString=jobj.toString(); ObjectMapper mapper2 = new ObjectMapper(); mapper2.setSerializationInclusion(Include.NON_NULL); - try { - jsonInString = mapper2.writerWithDefaultPrettyPrinter().writeValueAsString(nsd); - } catch (JsonProcessingException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } + // Compare the received from the osm with the database entry and update the database. logger.debug("NSD to JSON:"+jsonInString); @@ -1726,7 +1728,7 @@ public class MANOController { // Store the requirements in HTML newExperimentMetadata.setDescriptorHTML(nsdreq.toHTML()); // Store the YAML file - newExperimentMetadata.setDescriptor(nsds_list_entity.getBody()); + newExperimentMetadata.setDescriptor( jobj.toString() ); for (Df v : nsd.getDf().values()) { for( VnfProfile q : v.getVnfProfile().values())