spring boot 3.1.12 upgrade 32/142032/2
authortushar.mohanty@t-systems.com <tushar.mohanty@t-systems.com>
Wed, 10 Sep 2025 06:25:57 +0000 (08:25 +0200)
committertushar.mohanty@t-systems.com <tushar.mohanty@t-systems.com>
Wed, 10 Sep 2025 10:30:32 +0000 (12:30 +0200)
Issue-ID: AAI-4204
Change-Id: Id716e050643d93b8ed645f2b0d2521cd82792216
Signed-off-by: tushar.mohanty@t-systems.com <tushar.mohanty@t-systems.com>
39 files changed:
pom.xml
src/main/java/org/onap/aai/auth/AAIAuthException.java
src/main/java/org/onap/aai/auth/AAIMicroServiceAuth.java
src/main/java/org/onap/aai/auth/AAIMicroServiceAuthCore.java
src/main/java/org/onap/aai/babel/JerseyConfiguration.java
src/main/java/org/onap/aai/babel/csar/CsarConverterException.java
src/main/java/org/onap/aai/babel/csar/extractor/InvalidArchiveException.java
src/main/java/org/onap/aai/babel/csar/vnfcatalog/InvalidNumberOfNodesException.java
src/main/java/org/onap/aai/babel/csar/vnfcatalog/ToscaToCatalogException.java
src/main/java/org/onap/aai/babel/csar/vnfcatalog/VnfVendorImageExtractor.java
src/main/java/org/onap/aai/babel/filters/AuthenticationRequestFilter.java
src/main/java/org/onap/aai/babel/filters/LoggingRequestFilter.java
src/main/java/org/onap/aai/babel/logging/ApplicationMsgs.java
src/main/java/org/onap/aai/babel/logging/LogHelper.java
src/main/java/org/onap/aai/babel/parser/ArtifactGeneratorToscaParser.java
src/main/java/org/onap/aai/babel/request/RequestHeaders.java
src/main/java/org/onap/aai/babel/service/GenerateArtifactsController.java
src/main/java/org/onap/aai/babel/service/GenerateArtifactsControllerImpl.java
src/main/java/org/onap/aai/babel/service/InfoService.java
src/main/java/org/onap/aai/babel/util/RequestValidationException.java
src/main/java/org/onap/aai/babel/xml/generator/ModelGenerator.java
src/main/java/org/onap/aai/babel/xml/generator/XmlArtifactGenerationException.java
src/main/java/org/onap/aai/babel/xml/generator/api/AaiArtifactGenerator.java
src/main/java/org/onap/aai/babel/xml/generator/api/AaiModelGenerator.java
src/main/java/org/onap/aai/babel/xml/generator/error/IllegalAccessException.java
src/main/java/org/onap/aai/babel/xml/generator/model/Resource.java
src/main/java/org/onap/aai/babel/xml/generator/model/Widget.java
src/main/resources/application.properties
src/main/resources/logback.xml
src/test/java/org/onap/aai/babel/filters/AuthenticationRequestFilterTest.java
src/test/java/org/onap/aai/babel/logging/LogReader.java
src/test/java/org/onap/aai/babel/logging/TestApplicationLogger.java
src/test/java/org/onap/aai/babel/service/TestGenerateArtifactsServiceImpl.java
src/test/java/org/onap/aai/babel/service/TestRequestHeaders.java
src/test/java/org/onap/aai/babel/util/ArtifactTestUtils.java
src/test/resources/application.properties
src/test/resources/response/response.json
src/test/resources/response/responseWithVersionLessThan1.json
src/test/resources/response/validNoVnfConfigurationResponse.json

diff --git a/pom.xml b/pom.xml
index 13fbcb0..9bffd77 100644 (file)
--- a/pom.xml
+++ b/pom.xml
     ============LICENSE_END=========================================================
 -->
 
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
 
        <parent>
                <groupId>org.onap.aai.aai-common</groupId>
                <artifactId>aai-parent</artifactId>
-               <version>1.15.5</version>
+               <version>1.16.1</version>
        </parent>
 
        <groupId>org.onap.aai</groupId>
        <artifactId>babel</artifactId>
-       <version>1.13.7-SNAPSHOT</version>
+       <version>1.13.8-SNAPSHOT</version>
        <packaging>jar</packaging>
 
        <name>aai-babel</name>
        <description>ONAP AAI Babel Microservice</description>
 
        <properties>
+               <jakarta-servlet.version>5.0.0</jakarta-servlet.version>
+               <maven.compiler.release>17</maven.compiler.release>
                <!-- Spring boot version -->
 
                <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -58,7 +61,7 @@
                <sonar.jacoco.itReportPath />
                <sonar.jacoco.reportMissing.force.zero />
 
-               <jacoco-maven-plugin.version>0.8.11</jacoco-maven-plugin.version>
+               <jacoco-maven-plugin.version>0.8.13</jacoco-maven-plugin.version>
 
                <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
                <sonar.coverage.jacoco.xmlReportPaths>${project.reporting.outputDirectory}/jacoco-ut/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths>
@@ -68,7 +71,7 @@
 
                <!-- java 11 related properties -->
                <maven-javadoc-plugin.version>3.2.0</maven-javadoc-plugin.version>
-               <maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
+               <maven-compiler-plugin.version>3.14.0</maven-compiler-plugin.version>
                <maven-compiler-plugin.source>17</maven-compiler-plugin.source>
                <maven-compiler-plugin.target>17</maven-compiler-plugin.target>
                <maven-compiler-plugin.test.source>17</maven-compiler-plugin.test.source>
 
                <aai.common.version>1.9.4</aai.common.version>
                <groovy.version>3.0.13</groovy.version>
-               <spring-cloud.version>2021.0.9</spring-cloud.version>
 
                <commons.compress.version>1.27.0</commons.compress.version>
                <commons.io.version>2.16.1</commons.io.version>
                <commons.codec.version>1.15</commons.codec.version>
-               <jaxb.version>2.3.0</jaxb.version>
                <javax.ws.rs.version>2.1.1</javax.ws.rs.version>
                <mvn.jaxb2.version>0.15.1</mvn.jaxb2.version>
                <aai-schema.group.id>org.onap.aai.schema-service</aai-schema.group.id>
 
-               <aai-schema.version>1.12.10</aai-schema.version>
+               <aai-schema.version>1.13.1-SNAPSHOT</aai-schema.version>
                <commons.lang3.version>3.12.0</commons.lang3.version>
                <aai.rest.client.version>1.6.4</aai.rest.client.version>
                <common.logging.version>1.13.0</common.logging.version>
                <jakarta.activation.version>1.2.2</jakarta.activation.version>
                <!-- This will be used for the docker images as the default format of maven build has issues -->
                <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
-               <jakarta.xml.bind-api.version>3.0.1</jakarta.xml.bind-api.version>
-               <jaxb-runtime.version>3.0.1</jaxb-runtime.version>
+               <jakarta.xml.bind-api.version>4.0.2</jakarta.xml.bind-api.version>
+               <jaxb-runtime.version>3.0.2</jaxb-runtime.version>
+               <jaxb.plugin.version>4.0.8</jaxb.plugin.version>
+               <logback.version>1.4.14</logback.version>
+               <logstash.logback.encoder.version>6.6</logstash.logback.encoder.version>
+               <slf4j.api.version>2.0.9</slf4j.api.version>
        </properties>
 
        <profiles>
                                        <groupId>org.springframework.boot</groupId>
                                        <artifactId>spring-boot-starter-tomcat</artifactId>
                                </exclusion>
+                               <exclusion>
+                                       <groupId>org.springframework.boot</groupId>
+                                       <artifactId>spring-boot-starter-tomcat</artifactId>
+                               </exclusion>
                        </exclusions>
                </dependency>
                <dependency>
                <dependency>
                        <groupId>ch.qos.logback</groupId>
                        <artifactId>logback-classic</artifactId>
+                       <version>${logback.version}</version>
                        <scope>compile</scope>
                </dependency>
-               <dependency>
-                       <groupId>ch.qos.logback</groupId>
-                       <artifactId>logback-core</artifactId>
-               </dependency>
                <dependency>
                        <groupId>commons-codec</groupId>
                        <artifactId>commons-codec</artifactId>
                        <artifactId>commons-lang3</artifactId>
                </dependency>
                <dependency>
-                       <groupId>javax.ws.rs</groupId>
-                       <artifactId>javax.ws.rs-api</artifactId>
+                       <groupId>net.logstash.logback</groupId>
+                       <artifactId>logstash-logback-encoder</artifactId>
+                       <version>${logstash.logback.encoder.version}</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.httpcomponents.client5</groupId>
+                       <artifactId>httpclient5</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.codehaus.janino</groupId>
+                       <artifactId>janino</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>jakarta.ws.rs</groupId>
+                       <artifactId>jakarta.ws.rs-api</artifactId>
                </dependency>
                <dependency>
                        <groupId>org.codehaus.groovy</groupId>
                        <artifactId>rest-client</artifactId>
                        <version>${aai.rest.client.version}</version>
                </dependency>
+               <dependency>
+                       <groupId>jakarta.servlet</groupId>
+                       <artifactId>jakarta.servlet-api</artifactId>
+                       <version>6.0.0</version>
+                       <scope>provided</scope>
+               </dependency>
+
 
                <!-- Testing -->
                <dependency>
                        <scope>test</scope>
                </dependency>
                <dependency>
-                       <groupId>javax.xml.bind</groupId>
-                       <artifactId>jaxb-api</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>javax.xml.ws</groupId>
-                       <artifactId>jaxws-api</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>com.sun.xml.bind</groupId>
-                       <artifactId>jaxb-core</artifactId>
-                       <version>${jaxb.version}</version>
+                       <groupId>jakarta.xml.bind</groupId>
+                       <artifactId>jakarta.xml.bind-api</artifactId>
                </dependency>
                <dependency>
-                       <groupId>com.sun.xml.bind</groupId>
-                       <artifactId>jaxb-impl</artifactId>
-                       <version>${jaxb.version}</version>
+                       <groupId>jakarta.xml.ws</groupId>
+                       <artifactId>jakarta.xml.ws-api</artifactId>
+                       <scope>provided</scope>
                </dependency>
                <dependency>
                        <groupId>jakarta.activation</groupId>
                        <artifactId>jakarta.activation-api</artifactId>
                </dependency>
                <dependency>
-                       <groupId>org.springframework.cloud</groupId>
-                       <artifactId>spring-cloud-starter-sleuth</artifactId>
+                       <groupId>io.micrometer</groupId>
+                       <artifactId>micrometer-tracing-bridge-otel</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>com.sun.xml.ws</groupId>
+                       <artifactId>jaxws-rt</artifactId>
+                       <version>4.0.3</version>
+                       <scope>provided</scope>
                </dependency>
                <dependency>
-                       <groupId>org.springframework.cloud</groupId>
-                       <artifactId>spring-cloud-sleuth-zipkin</artifactId>
+                       <groupId>io.opentelemetry</groupId>
+                       <artifactId>opentelemetry-exporter-zipkin</artifactId>
                </dependency>
                <dependency>
                        <groupId>org.projectlombok</groupId>
                        <artifactId>lombok</artifactId>
-                       <version>1.18.32</version>
                        <scope>provided</scope>
                </dependency>
-       <dependency>
-               <groupId>org.slf4j</groupId>
-               <artifactId>slf4j-api</artifactId>
-               <version>2.0.9</version>
-       </dependency>
-       <dependency>
-               <groupId>jakarta.xml.bind</groupId>
-               <artifactId>jakarta.xml.bind-api</artifactId>
-               <version>${jakarta.xml.bind-api.version}</version>
-       </dependency>
-       <dependency>
-               <groupId>org.glassfish.jaxb</groupId>
-               <artifactId>jaxb-runtime</artifactId>
-               <version>${jaxb-runtime.version}</version>
-       </dependency>
+               <dependency>
+                       <groupId>org.slf4j</groupId>
+                       <artifactId>slf4j-api</artifactId>
+                       <version>${slf4j.api.version}</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.glassfish.jaxb</groupId>
+                       <artifactId>jaxb-runtime</artifactId>
+                       <version>${jaxb-runtime.version}</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.jvnet.jaxb</groupId>
+                       <artifactId>jaxb-plugins-runtime</artifactId>
+                       <version>${jaxb.plugin.version}</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.jvnet.jaxb</groupId>
+                       <artifactId>jaxb-plugin-annotate</artifactId>
+                       <version>${jaxb.plugin.version}</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.onap.aai.schema-service</groupId>
+                       <artifactId>aai-annotations</artifactId>
+                       <version>${aai-schema.version}</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.eclipse.jetty</groupId>
+                       <artifactId>jetty-server</artifactId>
+               </dependency>
        </dependencies>
-       <dependencyManagement>
-               <dependencies>
-                       <dependency>
-                               <groupId>org.springframework.cloud</groupId>
-                               <artifactId>spring-cloud-dependencies</artifactId>
-                               <version>${spring-cloud.version}</version>
-                               <type>pom</type>
-                               <scope>import</scope>
-                       </dependency>
-               </dependencies>
-       </dependencyManagement>
        <build>
                <plugins>
                        <plugin>
                                </executions>
                        </plugin>
                        <plugin>
-                               <groupId>org.jvnet.jaxb2.maven2</groupId>
-                               <artifactId>maven-jaxb2-plugin</artifactId>
-                               <version>${mvn.jaxb2.version}</version>
+                               <groupId>org.jvnet.jaxb</groupId>
+                               <artifactId>jaxb-maven-plugin</artifactId>
+                               <version>${jaxb.plugin.version}</version>
                                <executions>
                                        <execution>
                                                <phase>process-sources</phase>
                                                <arg>-Xannotate</arg>
                                        </args>
                                        <plugins>
+                                               <!--      JAXB4 plugins for Jakarta compatibility -->
                                                <plugin>
-                                                       <groupId>org.jvnet.jaxb2_commons</groupId>
-                                                       <artifactId>jaxb2-basics-annotate</artifactId>
-                                                       <version>0.6.4</version>
-                                               </plugin>
-                                               <!-- Add the dependencies with your annotations as 'plugins' below -->
-                                               <plugin>
-                                                       <groupId>org.jvnet.jaxb2_commons</groupId>
-                                                       <artifactId>jaxb2-annotate-plugin-test-annox-annotations</artifactId>
-                                                       <version>1.0.0</version>
+                                                       <groupId>org.jvnet.jaxb</groupId>
+                                                       <artifactId>jaxb-plugins</artifactId>
+                                                       <version>4.0.8</version>
                                                </plugin>
                                        </plugins>
                                </configuration>
                                <version>${maven-compiler-plugin.version}</version>
                                <inherited>true</inherited>
                                <configuration>
-                                       <source>${maven-compiler-plugin.source}</source>
-                                       <target>${maven-compiler-plugin.target}</target>
                                        <testSource>${maven-compiler-plugin.test.source}</testSource>
                                        <testTarget>${maven-compiler-plugin.test.target}</testTarget>
                                </configuration>
                        <plugin>
                                <groupId>org.jacoco</groupId>
                                <artifactId>jacoco-maven-plugin</artifactId>
-                               <version>${jacoco-maven-plugin.version}</version>
                                <configuration>
                                        <!-- Note: This exclusion list should match <sonar.exclusions> property
                      above -->
                        <plugin>
                                <groupId>org.apache.maven.plugins</groupId>
                                <artifactId>maven-surefire-plugin</artifactId>
-                               <version>3.1.2</version>
                                <configuration>
                                        <!-- Sets the VM argument line used when unit tests are run. -->
                                        <reuseForks>false</reuseForks>
index 35adb5a..a7020c4 100644 (file)
 
 package org.onap.aai.auth;
 
+import java.io.Serial;
+
 public class AAIAuthException extends Exception {
 
+    @Serial
     private static final long serialVersionUID = 1L;
 
     public AAIAuthException(String string) {
index 5e4f3c4..2e2395f 100644 (file)
 package org.onap.aai.auth;
 
 import java.security.cert.X509Certificate;
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 import javax.security.auth.x500.X500Principal;
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.core.HttpHeaders;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.ws.rs.core.HttpHeaders;
 import org.onap.aai.babel.config.BabelAuthConfig;
 import org.onap.aai.babel.logging.LogHelper;
 import org.onap.aai.cl.api.Logger;
index f1b3549..a9acf12 100644 (file)
@@ -28,7 +28,6 @@ import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.nio.file.Path;
-import java.nio.file.Paths;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
@@ -129,15 +128,15 @@ public class AAIMicroServiceAuthCore {
     private static Optional<String> locateConfigFile(String authPolicyFile) throws IOException {
         if (authPolicyFile != null) {
             List<Path> paths = new ArrayList<>();
-            paths.add(Paths.get("."));
+            paths.add(Path.of("."));
 
             String configHome = System.getProperty("CONFIG_HOME");
             if (configHome == null) {
                 configHome = System.getProperty("APP_HOME") + "/appconfig";
             }
 
-            paths.add(Paths.get(configHome));
-            paths.add(Paths.get(configHome).resolve("auth"));
+            paths.add(Path.of(configHome));
+            paths.add(Path.of(configHome).resolve("auth"));
 
             for (Path path : paths) {
                 File authFile = path.resolve(authPolicyFile).toFile();
index ff8c5bb..bac441f 100644 (file)
@@ -20,7 +20,7 @@
  */
 package org.onap.aai.babel;
 
-import javax.ws.rs.ApplicationPath;
+import jakarta.ws.rs.ApplicationPath;
 import org.glassfish.jersey.server.ResourceConfig;
 import org.onap.aai.babel.service.GenerateArtifactsControllerImpl;
 import org.onap.aai.babel.service.InfoService;
index 12b324e..84bf4e2 100644 (file)
  */
 package org.onap.aai.babel.csar;
 
+import java.io.Serial;
+
 /**
  * This class represents an exception encountered when attempting to convert the YAML files in a CSAR archive into XML.
  */
 public class CsarConverterException extends Exception {
 
+    @Serial
     private static final long serialVersionUID = 1L;
 
     /**
index 97d72d4..5403aa5 100644 (file)
  */
 package org.onap.aai.babel.csar.extractor;
 
+import java.io.Serial;
+
 /** This class represents an exception encountered when processing an archive in memory. */
 public class InvalidArchiveException extends Exception {
 
+    @Serial
     private static final long serialVersionUID = 1L;
 
     /**
index 425982b..7d86010 100644 (file)
  */
 package org.onap.aai.babel.csar.vnfcatalog;
 
+import java.io.Serial;
+
 /**
  * This class represents a scenario when there are invalid number of Nodes found during processing.
  */
 class InvalidNumberOfNodesException extends Exception {
     /** Default ID */
+    @Serial
     private static final long serialVersionUID = 1L;
 
     InvalidNumberOfNodesException(String message) {
index 2ef9dc8..d781786 100644 (file)
  */
 package org.onap.aai.babel.csar.vnfcatalog;
 
+import java.io.Serial;
+
 /**
  * This class represents an exception raised when trying to extract VNFCatalog data out of a CSAR file.
  */
 public class ToscaToCatalogException extends Exception {
 
     /** Defaulted */
+    @Serial
     private static final long serialVersionUID = 1L;
 
     /**
index 8973f57..e3d104d 100644 (file)
@@ -44,7 +44,7 @@ import org.onap.sdc.tosca.parser.exceptions.SdcToscaParserException;
 import org.onap.sdc.tosca.parser.impl.SdcToscaParserFactory;
 import org.onap.sdc.toscaparser.api.NodeTemplate;
 
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response;
 
 /**
  * This class is responsible for extracting Virtual Network Function (VNF) information from a TOSCA 1.1 CSAR package.
@@ -212,7 +212,7 @@ public class VnfVendorImageExtractor {
             NodeTemplate vnfConfigurationNode = vnfConfigs.get(0);
 
             applicationLogger.info(ApplicationMsgs.DISTRIBUTION_EVENT,
-                    String.format("Found VNF Configuration node \"%s\"", vnfConfigurationNode));
+                    "Found VNF Configuration node \"%s\"".formatted(vnfConfigurationNode));
 
             if (vnfConfigs.size() > 1) {
                 throw new InvalidNumberOfNodesException("Only one VNF configuration node is allowed however "
index deeafb0..88e6f52 100644 (file)
@@ -29,13 +29,13 @@ import org.springframework.stereotype.Component;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.core.Response.Status;
-import javax.ws.rs.ext.Provider;
-import javax.ws.rs.core.PathSegment;
-import javax.ws.rs.core.Response;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.core.Response.Status;
+import jakarta.ws.rs.ext.Provider;
+import jakarta.ws.rs.core.PathSegment;
+import jakarta.ws.rs.core.Response;
 
 import java.io.IOException;
 import java.util.List;
index 9699be4..d8fec5c 100644 (file)
@@ -27,11 +27,11 @@ import org.onap.aai.babel.request.RequestHeaders;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.core.UriInfo;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.core.UriInfo;
+import jakarta.ws.rs.core.MultivaluedMap;
 
 import java.io.IOException;
 import java.util.UUID;
@@ -52,8 +52,7 @@ public class LoggingRequestFilter implements ContainerRequestFilter {
       applicationLogger.startAudit(headers, servletRequest);
       applicationLogger.info(ApplicationMsgs.BABEL_REQUEST_PAYLOAD,
               "Received request: " + headers + requestBody);
-      applicationLogger.debug(String.format(
-              "Received request. UriInfo \"%s\", HttpHeaders \"%s\", ServletRequest \"%s\", Request \"%s\"", uriInfo,
+      applicationLogger.debug("Received request. UriInfo \"%s\", HttpHeaders \"%s\", ServletRequest \"%s\", Request \"%s\"".formatted(uriInfo,
               headers, servletRequest, requestBody));
 
       // Additional name/value pairs according to EELF guidelines
index 7d18a40..6756994 100644 (file)
 package org.onap.aai.babel.logging;
 
 import com.att.eelf.i18n.EELFResourceManager;
+import com.att.eelf.i18n.EELFResolvableErrorEnum;
 import org.onap.aai.cl.eelf.LogMessageEnum;
 
-public enum ApplicationMsgs implements LogMessageEnum {
+public enum ApplicationMsgs implements LogMessageEnum, EELFResolvableErrorEnum {
 
     DISTRIBUTION_EVENT, //
     MESSAGE_AUDIT, //
index 406cdb8..e3c528b 100644 (file)
@@ -30,9 +30,9 @@ import java.util.Optional;
 import java.util.function.BiConsumer;
 import java.util.function.Consumer;
 
-import javax.servlet.ServletRequest;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response.Status;
+import jakarta.servlet.ServletRequest;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response.Status;
 
 import org.apache.commons.lang3.time.StopWatch;
 import org.onap.aai.babel.request.RequestHeaders;
@@ -181,7 +181,7 @@ public enum LogHelper implements Logger {
             clientHost = servletRequest.getRemoteHost();
             clientIPAddress = servletRequest.getRemoteAddr();
 
-            if (!partnerName.isPresent()) {
+            if (partnerName.isEmpty()) {
                 partnerName = Optional.ofNullable(clientHost);
             }
         }
index 2816cb5..4e897a1 100644 (file)
@@ -107,7 +107,7 @@ public class ArtifactGeneratorToscaParser {
         log.debug("Getting TOSCA Mappings Configuration");
         File file = new File(configLocation);
         if (!file.exists()) {
-            throw new IllegalArgumentException(String.format(GENERATOR_AAI_CONFIGFILE_NOT_FOUND, configLocation));
+            throw new IllegalArgumentException(GENERATOR_AAI_CONFIGFILE_NOT_FOUND.formatted(configLocation));
         }
 
         GroupConfiguration config;
@@ -269,7 +269,7 @@ public class ArtifactGeneratorToscaParser {
         }
 
         if (resourceModel.hasWidgetType("ALLOTTED_RESOURCE") && !foundProvidingService) {
-            throw new XmlArtifactGenerationException(String.format(GENERATOR_AAI_PROVIDING_SERVICE_MISSING,
+            throw new XmlArtifactGenerationException(GENERATOR_AAI_PROVIDING_SERVICE_MISSING.formatted(
                     Optional.ofNullable(resourceModel.getModelId()).orElse("<null ID>")));
         }
     }
@@ -313,7 +313,7 @@ public class ArtifactGeneratorToscaParser {
      */
     private List<Resource> generateResourcesAndWidgets(final ArrayList<NodeTemplate> memberNodes,
             final Resource groupModel) throws XmlArtifactGenerationException {
-        log.debug(String.format("Processing member nodes for Group %s (invariant UUID %s)", //
+        log.debug("Processing member nodes for Group %s (invariant UUID %s)".formatted( //
                 groupModel.getModelName(), groupModel.getModelId()));
 
         List<Resource> resources = new ArrayList<>();
@@ -322,13 +322,13 @@ public class ArtifactGeneratorToscaParser {
             String nodeTypeName = nodeTemplate.getType();
             final String metadataType = nodeTemplate.getMetaData().getValue("type");
 
-            log.debug(String.format("Get model for %s (metadata type %s)", nodeTypeName, metadataType));
+            log.debug("Get model for %s (metadata type %s)".formatted(nodeTypeName, metadataType));
             Resource memberModel = Model.getModelFor(nodeTypeName, metadataType);
 
             if (memberModel != null) {
                 memberModel.populateModelIdentificationInformation(nodeTemplate.getMetaData().getAllProperties());
 
-                log.debug(String.format("Generating grouped %s (%s) from TOSCA type %s",
+                log.debug("Generating grouped %s (%s) from TOSCA type %s".formatted(
                         memberModel.getClass().getSuperclass().getSimpleName(), memberModel.getClass(), nodeTypeName));
 
                 addRelatedModel(groupModel, memberModel);
@@ -493,7 +493,7 @@ public class ArtifactGeneratorToscaParser {
         if (nodeProperties == null || nodeProperties.get("providing_service_uuid") == null
                 || nodeProperties.get("providing_service_invariant_uuid") == null) {
             throw new IllegalArgumentException(
-                    String.format(GENERATOR_AAI_PROVIDING_SERVICE_METADATA_MISSING, resourceModel.getModelId()));
+                    GENERATOR_AAI_PROVIDING_SERVICE_METADATA_MISSING.formatted(resourceModel.getModelId()));
         }
         Map<String, String> properties = populateStringProperties(nodeProperties);
         properties.put(VERSION, "1.0");
index 19d5425..574ec3c 100644 (file)
@@ -22,8 +22,8 @@
 package org.onap.aai.babel.request;
 
 import java.util.Optional;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MultivaluedMap;
 
 /** Bean to represent the ECOMP request/transaction IDs required for EELF logging. */
 public class RequestHeaders {
index 520d4fb..f45d2cc 100644 (file)
  */
 package org.onap.aai.babel.service;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 import org.onap.aai.auth.AAIAuthException;
 import org.onap.aai.babel.service.data.BabelRequest;
 
index 8e06f38..544b2c4 100644 (file)
@@ -28,8 +28,8 @@ import lombok.RequiredArgsConstructor;
 
 import java.util.Base64;
 import java.util.List;
-import javax.ws.rs.core.*;
-import javax.ws.rs.core.Response.Status;
+import jakarta.ws.rs.core.*;
+import jakarta.ws.rs.core.Response.Status;
 
 import org.apache.commons.lang3.time.StopWatch;
 import org.onap.aai.babel.csar.CsarConverterException;
index 7c3e21e..4621bad 100644 (file)
@@ -26,11 +26,11 @@ import java.time.LocalTime;
 import java.time.format.DateTimeFormatter;
 import java.time.temporal.ChronoUnit;
 import java.time.temporal.Temporal;
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
 import org.springframework.stereotype.Service;
 
 /**
index cf5322a..6b8b3bb 100644 (file)
  */
 package org.onap.aai.babel.util;
 
+import java.io.Serial;
+
 /** This exception is thrown when the request fails validation. */
 public class RequestValidationException extends Exception {
 
+    @Serial
     private static final long serialVersionUID = 1L;
 
     /**
index ecc81fd..c8ef9de 100644 (file)
@@ -36,7 +36,7 @@ import org.onap.aai.babel.xml.generator.data.Artifact;
 import org.onap.aai.babel.xml.generator.data.GenerationData;
 import org.onap.aai.babel.xml.generator.data.GeneratorUtil;
 import org.onap.aai.babel.xml.generator.data.GroupType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response;
 
 /**
  * This class is responsible for generating XML model artifacts from a collection of CSAR artifacts.
index ebb6c47..8e25ede 100644 (file)
 
 package org.onap.aai.babel.xml.generator;
 
+import java.io.Serial;
+
 /**
  * This class represents a fatal exception encountered when generating an Artifact.
  *
  */
 public class XmlArtifactGenerationException extends Exception {
 
+    @Serial
     private static final long serialVersionUID = 1L;
 
     /**
index c42518d..71eb44d 100644 (file)
@@ -88,7 +88,7 @@ public class AaiArtifactGenerator implements ArtifactGenerator {
         String configLocation = System.getProperty(ArtifactGeneratorToscaParser.PROPERTY_TOSCA_MAPPING_FILE);
         if (configLocation == null) {
             throw new IllegalArgumentException(
-                    String.format(ArtifactGeneratorToscaParser.GENERATOR_AAI_CONFIGLOCATION_NOT_FOUND,
+                    ArtifactGeneratorToscaParser.GENERATOR_AAI_CONFIGLOCATION_NOT_FOUND.formatted(
                             ArtifactGeneratorToscaParser.PROPERTY_TOSCA_MAPPING_FILE));
         }
 
@@ -240,7 +240,7 @@ public class AaiArtifactGenerator implements ArtifactGenerator {
                 ArrayList<String> members = group.getMembers();
                 if (members != null && members.contains(nodeTemplate.getName())
                         && WidgetConfigurationUtil.isSupportedInstanceGroup(group.getType())) {
-                    log.debug(String.format("Adding group %s (type %s) with members %s", group.getName(),
+                    log.debug("Adding group %s (type %s) with members %s".formatted(group.getName(),
                             group.getType(), members));
 
                     Resource groupModel = parser.createInstanceGroupModel(
@@ -484,7 +484,7 @@ public class AaiArtifactGenerator implements ArtifactGenerator {
         } else {
             String versionRegex = "^\\d*\\.\\d*$";
             if (!(serviceVersion.matches(versionRegex))) {
-                throw new IllegalArgumentException(String.format(GENERATOR_AAI_INVALID_SERVICE_VERSION));
+                throw new IllegalArgumentException(GENERATOR_AAI_INVALID_SERVICE_VERSION.formatted());
             }
         }
         return serviceVersion;
index 69bbb80..1b8dfbd 100644 (file)
@@ -25,9 +25,9 @@ package org.onap.aai.babel.xml.generator.api;
 import java.io.StringWriter;
 import java.util.Collection;
 import java.util.List;
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Marshaller;
+import jakarta.xml.bind.JAXBContext;
+import jakarta.xml.bind.JAXBException;
+import jakarta.xml.bind.Marshaller;
 import org.onap.aai.babel.logging.ApplicationMsgs;
 import org.onap.aai.babel.logging.LogHelper;
 import org.onap.aai.babel.xml.generator.XmlArtifactGenerationException;
index 3c907cb..e3b33cc 100644 (file)
  */
 package org.onap.aai.babel.xml.generator.error;
 
+import java.io.Serial;
+
 public class IllegalAccessException extends RuntimeException {
 
+    @Serial
     private static final long serialVersionUID = 1L;
 
     public IllegalAccessException(String message) {
index 8c01a50..61eccb7 100644 (file)
@@ -65,8 +65,8 @@ public class Resource extends Model {
 
     @Override
     public boolean equals(Object obj) {
-        if (obj instanceof Resource) {
-            return getModelNameVersionId().equals(((Resource) obj).getModelNameVersionId());
+        if (obj instanceof Resource resource) {
+            return getModelNameVersionId().equals(resource.getModelNameVersionId());
         }
         return false;
     }
index 8f71f2b..38b0902 100644 (file)
@@ -140,8 +140,7 @@ public class Widget extends Model {
     @Override
     public boolean equals(Object obj) {
         boolean isEqual = false;
-        if (obj instanceof Widget) {
-            Widget other = (Widget) obj;
+        if (obj instanceof Widget other) {
             if (getId().equals(other.getId())) {
                 other.keys.addAll(this.keys);
                 isEqual = true;
index 77835f3..0632c62 100644 (file)
@@ -7,15 +7,15 @@ server.ssl.client-auth=need
 spring.main.allow-bean-definition-overriding=true
 server.servlet.context-path=/services/babel-service
 logging.config=${CONFIG_HOME}/logback.xml
+# Logging pattern containing traceId and spanId; no longer provided through Sleuth by default
+logging.pattern.level="%5p [${spring.application.name:},%X{traceId:-},%X{spanId:-}]"
 tosca.mappings.config=${CONFIG_HOME}/tosca-mappings.json
 
 spring.application.name=aai-babel
-spring.sleuth.enabled=true
+management.tracing.enabled=true
 spring.zipkin.baseUrl=http://jaeger-collector.istio-system:9411
 spring.sleuth.messaging.jms.enabled = false
-spring.sleuth.trace-id128=true
-spring.sleuth.sampler.probability=1.0
-spring.sleuth.propagation.type=w3c, b3
-spring.sleuth.supports-join=false
+management.tracing.sampling.probability=1.0
+management.tracing.propagation.type=w3c, b3
 
 management.endpoints.web.exposure.include=*
index d8c7771..6655276 100644 (file)
   <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
     <!-- allow only events with a level below INFO, that is TRACE and DEBUG -->
     <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
-      <evaluator class="ch.qos.logback.classic.boolex.GEventEvaluator">
-        <expression><![CDATA[e.level.toInt() < INFO.toInt()]]></expression>
-      </evaluator>
-      <OnMismatch>DENY</OnMismatch>
-      <OnMatch>NEUTRAL</OnMatch>
-    </filter>
+    <evaluator class="ch.qos.logback.classic.boolex.JaninoEventEvaluator">
+        <expression>throwable instanceof java.io.IOException</expression>
+    </evaluator>
+    <OnMatch>DENY</OnMatch>
+    <OnMismatch>NEUTRAL</OnMismatch>
+</filter>
     <queueSize>256</queueSize>
     <appender-ref ref="STDOUT" />
     <includeCallerData>false</includeCallerData>
index ac72b6d..122cc3a 100644 (file)
@@ -32,11 +32,11 @@ import org.onap.aai.auth.AAIMicroServiceAuthCore.HTTP_METHODS;
 import java.io.IOException;
 import java.util.List;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.PathSegment;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.PathSegment;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriInfo;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.mockito.Mockito.*;
index e841860..bb882f3 100644 (file)
@@ -27,7 +27,6 @@ import java.io.FileReader;
 import java.io.IOException;
 import java.nio.file.Files;
 import java.nio.file.Path;
-import java.nio.file.Paths;
 import java.util.Comparator;
 import java.util.HashMap;
 import java.util.Map;
@@ -73,7 +72,7 @@ public class LogReader {
         Path cachedLog = cachedLogMap.get(filenamePrefix);
 
         if (cachedLog == null) {
-            Optional<Path> latestFilePath = Files.list(Paths.get(logDirectory))
+            Optional<Path> latestFilePath = Files.list(Path.of(logDirectory))
                     .filter(f -> Files.isDirectory(f) == false && f.getFileName().toString().startsWith(filenamePrefix))
                     .max(Comparator.comparingLong(f -> f.toFile().lastModified()));
             if (latestFilePath.isPresent()) {
index c997e41..bdfe75d 100644 (file)
@@ -31,8 +31,8 @@ import com.att.eelf.configuration.EELFLogger.Level;
 import com.att.eelf.configuration.EELFManager;
 import java.io.IOException;
 import java.util.Arrays;
-import javax.servlet.ServletRequest;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.servlet.ServletRequest;
+import jakarta.ws.rs.core.MultivaluedMap;
 
 import org.apache.commons.lang3.time.StopWatch;
 import org.junit.jupiter.api.Assertions;
index 740d5e3..42414ce 100644 (file)
@@ -35,10 +35,10 @@ import java.util.List;
 import java.util.Map.Entry;
 import java.util.Optional;
 import javax.security.auth.x500.X500Principal;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriInfo;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
 import org.mockito.Mockito;
index 4828132..61f034e 100644 (file)
@@ -29,8 +29,8 @@ import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map.Entry;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MultivaluedHashMap;
 import org.junit.jupiter.api.Test;
 import org.mockito.Mockito;
 import org.onap.aai.babel.request.RequestHeaders;
index 2cf221d..de73fcc 100644 (file)
@@ -33,7 +33,7 @@ import java.net.URISyntaxException;
 import java.net.URL;
 import java.nio.charset.Charset;
 import java.nio.file.Files;
-import java.nio.file.Paths;
+import java.nio.file.Path;
 import java.util.Base64;
 import java.util.HashMap;
 import java.util.List;
@@ -143,7 +143,7 @@ public class ArtifactTestUtils {
     }
 
     public String readstringFromFile(String resourceFile) throws IOException, URISyntaxException {
-        return Files.lines(Paths.get(getResource(resourceFile).toURI())).collect(Collectors.joining());
+        return Files.lines(Path.of(getResource(resourceFile).toURI())).collect(Collectors.joining());
     }
 
     /**
index d4ab747..02aec7c 100644 (file)
@@ -1,3 +1,6 @@
-spring.sleuth.enabled=false
+# Logging pattern containing traceId and spanId; no longer provided through Sleuth by default
+logging.pattern.level="%5p [${spring.application.name:},%X{traceId:-},%X{spanId:-}]"
+management.tracing.enabled=false
 server.port= 0
 spring.main.allow-bean-definition-overriding= true
+logging.level.root=INFO
index 3ddc052..d7d6721 100644 (file)
@@ -1 +1 @@
-[{"name":"AAI-29NFOD_S-service-1.0.xml","type":"MODEL","payload":"<model xmlns=\"http://org.onap.aai.inventory/v30\">\n    <model-invariant-id>29NFOD_S-invariant-id</model-invariant-id>\n    <model-type>service</model-type>\n    <model-role>Network L1-3</model-role>\n    <model-vers>\n        <model-ver>\n            <model-version-id>29NFOD_S-version-id</model-version-id>\n            <model-name>29NFOD_S</model-name>\n            <model-version>1.0</model-version>\n            <model-description>29NFOD</model-description>\n            <model-elements>\n                <model-element>\n                    <new-data-del-flag>T</new-data-del-flag>\n                    <cardinality>unbounded</cardinality>\n                    <model-elements>\n                        <model-element>\n                            <new-data-del-flag>T</new-data-del-flag>\n                            <cardinality>unbounded</cardinality>\n                            <model-elements/>\n                            <relationship-list>\n                                <relationship>\n                                    <related-to>model-ver</related-to>\n                                    <relationship-data>\n                                        <relationship-key>model-ver.model-version-id</relationship-key>\n                                        <relationship-value>29NFOD 0-version-id</relationship-value>\n                                    </relationship-data>\n                                    <relationship-data>\n                                        <relationship-key>model.model-invariant-id</relationship-key>\n                                        <relationship-value>29NFOD 0-invariant-id</relationship-value>\n                                    </relationship-data>\n                                </relationship>\n                            </relationship-list>\n                        </model-element>\n                    </model-elements>\n                    <relationship-list>\n                        <relationship>\n                            <related-to>model-ver</related-to>\n                            <relationship-data>\n                                <relationship-key>model-ver.model-version-id</relationship-key>\n                                <relationship-value>service-instance-version-id</relationship-value>\n                            </relationship-data>\n                            <relationship-data>\n                                <relationship-key>model.model-invariant-id</relationship-key>\n                                <relationship-value>service-instance-invariant-id</relationship-value>\n                            </relationship-data>\n                        </relationship>\n                    </relationship-list>\n                </model-element>\n            </model-elements>\n        </model-ver>\n    </model-vers>\n</model>"},{"name":"AAI-29NFOD-resource-1.0.xml","type":"MODEL","payload":"<model xmlns=\"http://org.onap.aai.inventory/v30\">\n    <model-invariant-id>29NFOD 0-invariant-id</model-invariant-id>\n    <model-type>resource</model-type>\n    <model-vers>\n        <model-ver>\n            <model-version-id>29NFOD 0-version-id</model-version-id>\n            <model-name>29NFOD</model-name>\n            <model-version>1.0</model-version>\n            <model-description>29NFOD</model-description>\n            <model-elements>\n                <model-element>\n                    <new-data-del-flag>T</new-data-del-flag>\n                    <cardinality>unbounded</cardinality>\n                    <model-elements/>\n                    <relationship-list>\n                        <relationship>\n                            <related-to>model-ver</related-to>\n                            <relationship-data>\n                                <relationship-key>model-ver.model-version-id</relationship-key>\n                                <relationship-value>generic-vnf-version-id</relationship-value>\n                            </relationship-data>\n                            <relationship-data>\n                                <relationship-key>model.model-invariant-id</relationship-key>\n                                <relationship-value>generic-vnf-invariant-id</relationship-value>\n                            </relationship-data>\n                        </relationship>\n                    </relationship-list>\n                </model-element>\n            </model-elements>\n        </model-ver>\n    </model-vers>\n</model>"},{"name":"vnfVendorImageConfigurations","type":"VNFCATALOG","payload":"[{\"application\":\"VM00\",\"application-vendor\":\"29NFOD\",\"application-version\":\"3.16.1\"},{\"application\":\"VM00\",\"application-vendor\":\"29NFOD\",\"application-version\":\"3.16.9\"},{\"application\":\"VM01\",\"application-vendor\":\"29NFOD\",\"application-version\":\"3.16.1\"},{\"application\":\"VM01\",\"application-vendor\":\"29NFOD\",\"application-version\":\"3.16.9\"}]"}]
+[{"name":"AAI-29NFOD_S-service-1.0.xml","type":"MODEL","payload":"<model xmlns=\"http://org.onap.aai.inventory/v30\">\n    <model-invariant-id>29NFOD_S-invariant-id</model-invariant-id>\n    <model-type>service</model-type>\n    <model-role>Network L1-3</model-role>\n    <model-vers>\n        <model-ver>\n            <model-version-id>29NFOD_S-version-id</model-version-id>\n            <model-name>29NFOD_S</model-name>\n            <model-version>1.0</model-version>\n            <model-description>29NFOD</model-description>\n            <model-elements>\n                <model-element>\n                    <relationship-list>\n                        <relationship>\n                            <related-to>model-ver</related-to>\n                            <relationship-data>\n                                <relationship-key>model-ver.model-version-id</relationship-key>\n                                <relationship-value>service-instance-version-id</relationship-value>\n                            </relationship-data>\n                            <relationship-data>\n                                <relationship-key>model.model-invariant-id</relationship-key>\n                                <relationship-value>service-instance-invariant-id</relationship-value>\n                            </relationship-data>\n                        </relationship>\n                    </relationship-list>\n                    <new-data-del-flag>T</new-data-del-flag>\n                    <cardinality>unbounded</cardinality>\n                    <model-elements>\n                        <model-element>\n                            <relationship-list>\n                                <relationship>\n                                    <related-to>model-ver</related-to>\n                                    <relationship-data>\n                                        <relationship-key>model-ver.model-version-id</relationship-key>\n                                        <relationship-value>29NFOD 0-version-id</relationship-value>\n                                    </relationship-data>\n                                    <relationship-data>\n                                        <relationship-key>model.model-invariant-id</relationship-key>\n                                        <relationship-value>29NFOD 0-invariant-id</relationship-value>\n                                    </relationship-data>\n                                </relationship>\n                            </relationship-list>\n                            <new-data-del-flag>T</new-data-del-flag>\n                            <cardinality>unbounded</cardinality>\n                            <model-elements/>\n                        </model-element>\n                    </model-elements>\n                </model-element>\n            </model-elements>\n        </model-ver>\n    </model-vers>\n</model>"},{"name":"AAI-29NFOD-resource-1.0.xml","type":"MODEL","payload":"<model xmlns=\"http://org.onap.aai.inventory/v30\">\n    <model-invariant-id>29NFOD 0-invariant-id</model-invariant-id>\n    <model-type>resource</model-type>\n    <model-vers>\n        <model-ver>\n            <model-version-id>29NFOD 0-version-id</model-version-id>\n            <model-name>29NFOD</model-name>\n            <model-version>1.0</model-version>\n            <model-description>29NFOD</model-description>\n            <model-elements>\n                <model-element>\n                    <relationship-list>\n                        <relationship>\n                            <related-to>model-ver</related-to>\n                            <relationship-data>\n                                <relationship-key>model-ver.model-version-id</relationship-key>\n                                <relationship-value>generic-vnf-version-id</relationship-value>\n                            </relationship-data>\n                            <relationship-data>\n                                <relationship-key>model.model-invariant-id</relationship-key>\n                                <relationship-value>generic-vnf-invariant-id</relationship-value>\n                            </relationship-data>\n                        </relationship>\n                    </relationship-list>\n                    <new-data-del-flag>T</new-data-del-flag>\n                    <cardinality>unbounded</cardinality>\n                    <model-elements/>\n                </model-element>\n            </model-elements>\n        </model-ver>\n    </model-vers>\n</model>"},{"name":"vnfVendorImageConfigurations","type":"VNFCATALOG","payload":"[{\"application\":\"VM00\",\"application-vendor\":\"29NFOD\",\"application-version\":\"3.16.1\"},{\"application\":\"VM00\",\"application-vendor\":\"29NFOD\",\"application-version\":\"3.16.9\"},{\"application\":\"VM01\",\"application-vendor\":\"29NFOD\",\"application-version\":\"3.16.1\"},{\"application\":\"VM01\",\"application-vendor\":\"29NFOD\",\"application-version\":\"3.16.9\"}]"}]
\ No newline at end of file
index 9a22699..1349cef 100644 (file)
@@ -1 +1 @@
-[{"name":"AAI-29NFOD_S-service-0.1.xml","type":"MODEL","payload":"<model xmlns=\"http://org.onap.aai.inventory/v30\">\n    <model-invariant-id>29NFOD_S-invariant-id</model-invariant-id>\n    <model-type>service</model-type>\n    <model-role>Network L1-3</model-role>\n    <model-vers>\n        <model-ver>\n            <model-version-id>29NFOD_S-version-id</model-version-id>\n            <model-name>29NFOD_S</model-name>\n            <model-version>0.1</model-version>\n            <model-description>29NFOD</model-description>\n            <model-elements>\n                <model-element>\n                    <new-data-del-flag>T</new-data-del-flag>\n                    <cardinality>unbounded</cardinality>\n                    <model-elements>\n                        <model-element>\n                            <new-data-del-flag>T</new-data-del-flag>\n                            <cardinality>unbounded</cardinality>\n                            <model-elements/>\n                            <relationship-list>\n                                <relationship>\n                                    <related-to>model-ver</related-to>\n                                    <relationship-data>\n                                        <relationship-key>model-ver.model-version-id</relationship-key>\n                                        <relationship-value>29NFOD 0-version-id</relationship-value>\n                                    </relationship-data>\n                                    <relationship-data>\n                                        <relationship-key>model.model-invariant-id</relationship-key>\n                                        <relationship-value>29NFOD 0-invariant-id</relationship-value>\n                                    </relationship-data>\n                                </relationship>\n                            </relationship-list>\n                        </model-element>\n                    </model-elements>\n                    <relationship-list>\n                        <relationship>\n                            <related-to>model-ver</related-to>\n                            <relationship-data>\n                                <relationship-key>model-ver.model-version-id</relationship-key>\n                                <relationship-value>service-instance-version-id</relationship-value>\n                            </relationship-data>\n                            <relationship-data>\n                                <relationship-key>model.model-invariant-id</relationship-key>\n                                <relationship-value>service-instance-invariant-id</relationship-value>\n                            </relationship-data>\n                        </relationship>\n                    </relationship-list>\n                </model-element>\n            </model-elements>\n        </model-ver>\n    </model-vers>\n</model>"},{"name":"AAI-29NFOD-resource-1.0.xml","type":"MODEL","payload":"<model xmlns=\"http://org.onap.aai.inventory/v30\">\n    <model-invariant-id>29NFOD 0-invariant-id</model-invariant-id>\n    <model-type>resource</model-type>\n    <model-vers>\n        <model-ver>\n            <model-version-id>29NFOD 0-version-id</model-version-id>\n            <model-name>29NFOD</model-name>\n            <model-version>1.0</model-version>\n            <model-description>29NFOD</model-description>\n            <model-elements>\n                <model-element>\n                    <new-data-del-flag>T</new-data-del-flag>\n                    <cardinality>unbounded</cardinality>\n                    <model-elements/>\n                    <relationship-list>\n                        <relationship>\n                            <related-to>model-ver</related-to>\n                            <relationship-data>\n                                <relationship-key>model-ver.model-version-id</relationship-key>\n                                <relationship-value>generic-vnf-version-id</relationship-value>\n                            </relationship-data>\n                            <relationship-data>\n                                <relationship-key>model.model-invariant-id</relationship-key>\n                                <relationship-value>generic-vnf-invariant-id</relationship-value>\n                            </relationship-data>\n                        </relationship>\n                    </relationship-list>\n                </model-element>\n            </model-elements>\n        </model-ver>\n    </model-vers>\n</model>"},{"name":"vnfVendorImageConfigurations","type":"VNFCATALOG","payload":"[{\"application\":\"VM00\",\"application-vendor\":\"29NFOD\",\"application-version\":\"3.16.1\"},{\"application\":\"VM00\",\"application-vendor\":\"29NFOD\",\"application-version\":\"3.16.9\"},{\"application\":\"VM01\",\"application-vendor\":\"29NFOD\",\"application-version\":\"3.16.1\"},{\"application\":\"VM01\",\"application-vendor\":\"29NFOD\",\"application-version\":\"3.16.9\"}]"}]
+[{"name":"AAI-29NFOD_S-service-0.1.xml","type":"MODEL","payload":"<model xmlns=\"http://org.onap.aai.inventory/v30\">\n    <model-invariant-id>29NFOD_S-invariant-id</model-invariant-id>\n    <model-type>service</model-type>\n    <model-role>Network L1-3</model-role>\n    <model-vers>\n        <model-ver>\n            <model-version-id>29NFOD_S-version-id</model-version-id>\n            <model-name>29NFOD_S</model-name>\n            <model-version>0.1</model-version>\n            <model-description>29NFOD</model-description>\n            <model-elements>\n                <model-element>\n                    <relationship-list>\n                        <relationship>\n                            <related-to>model-ver</related-to>\n                            <relationship-data>\n                                <relationship-key>model-ver.model-version-id</relationship-key>\n                                <relationship-value>service-instance-version-id</relationship-value>\n                            </relationship-data>\n                            <relationship-data>\n                                <relationship-key>model.model-invariant-id</relationship-key>\n                                <relationship-value>service-instance-invariant-id</relationship-value>\n                            </relationship-data>\n                        </relationship>\n                    </relationship-list>\n                    <new-data-del-flag>T</new-data-del-flag>\n                    <cardinality>unbounded</cardinality>\n                    <model-elements>\n                        <model-element>\n                            <relationship-list>\n                                <relationship>\n                                    <related-to>model-ver</related-to>\n                                    <relationship-data>\n                                        <relationship-key>model-ver.model-version-id</relationship-key>\n                                        <relationship-value>29NFOD 0-version-id</relationship-value>\n                                    </relationship-data>\n                                    <relationship-data>\n                                        <relationship-key>model.model-invariant-id</relationship-key>\n                                        <relationship-value>29NFOD 0-invariant-id</relationship-value>\n                                    </relationship-data>\n                                </relationship>\n                            </relationship-list>\n                            <new-data-del-flag>T</new-data-del-flag>\n                            <cardinality>unbounded</cardinality>\n                            <model-elements/>\n                        </model-element>\n                    </model-elements>\n                </model-element>\n            </model-elements>\n        </model-ver>\n    </model-vers>\n</model>"},{"name":"AAI-29NFOD-resource-1.0.xml","type":"MODEL","payload":"<model xmlns=\"http://org.onap.aai.inventory/v30\">\n    <model-invariant-id>29NFOD 0-invariant-id</model-invariant-id>\n    <model-type>resource</model-type>\n    <model-vers>\n        <model-ver>\n            <model-version-id>29NFOD 0-version-id</model-version-id>\n            <model-name>29NFOD</model-name>\n            <model-version>1.0</model-version>\n            <model-description>29NFOD</model-description>\n            <model-elements>\n                <model-element>\n                    <relationship-list>\n                        <relationship>\n                            <related-to>model-ver</related-to>\n                            <relationship-data>\n                                <relationship-key>model-ver.model-version-id</relationship-key>\n                                <relationship-value>generic-vnf-version-id</relationship-value>\n                            </relationship-data>\n                            <relationship-data>\n                                <relationship-key>model.model-invariant-id</relationship-key>\n                                <relationship-value>generic-vnf-invariant-id</relationship-value>\n                            </relationship-data>\n                        </relationship>\n                    </relationship-list>\n                    <new-data-del-flag>T</new-data-del-flag>\n                    <cardinality>unbounded</cardinality>\n                    <model-elements/>\n                </model-element>\n            </model-elements>\n        </model-ver>\n    </model-vers>\n</model>"},{"name":"vnfVendorImageConfigurations","type":"VNFCATALOG","payload":"[{\"application\":\"VM00\",\"application-vendor\":\"29NFOD\",\"application-version\":\"3.16.1\"},{\"application\":\"VM00\",\"application-vendor\":\"29NFOD\",\"application-version\":\"3.16.9\"},{\"application\":\"VM01\",\"application-vendor\":\"29NFOD\",\"application-version\":\"3.16.1\"},{\"application\":\"VM01\",\"application-vendor\":\"29NFOD\",\"application-version\":\"3.16.9\"}]"}]
\ No newline at end of file
index c6b4dd8..4b73ec8 100644 (file)
@@ -1 +1 @@
-[{"name":"AAI-Vscpaas_Test-service-1.0.xml","type":"MODEL","payload":"<model xmlns=\"http://org.onap.aai.inventory/v30\">\n    <model-invariant-id>a8db6285-20ca-4fd3-9c85-e267bdb013f9</model-invariant-id>\n    <model-type>service</model-type>\n    <model-role>Network L4+</model-role>\n    <model-vers>\n        <model-ver>\n            <model-version-id>7f7f6fa4-275a-488f-8b3e-691a0765d57e</model-version-id>\n            <model-name>Vscpaas_Test</model-name>\n            <model-version>1.0</model-version>\n            <model-description>Vscpaas_Test</model-description>\n            <model-elements>\n                <model-element>\n                    <new-data-del-flag>T</new-data-del-flag>\n                    <cardinality>unbounded</cardinality>\n                    <model-elements>\n                        <model-element>\n                            <new-data-del-flag>T</new-data-del-flag>\n                            <cardinality>unbounded</cardinality>\n                            <model-elements/>\n                            <relationship-list>\n                                <relationship>\n                                    <related-to>model-ver</related-to>\n                                    <relationship-data>\n                                        <relationship-key>model-ver.model-version-id</relationship-key>\n                                        <relationship-value>2e42bac2-318a-410c-b8ff-3b3a31351be7</relationship-value>\n                                    </relationship-data>\n                                    <relationship-data>\n                                        <relationship-key>model.model-invariant-id</relationship-key>\n                                        <relationship-value>b2b88a73-5c55-4984-99dd-a35c55935d14</relationship-value>\n                                    </relationship-data>\n                                </relationship>\n                            </relationship-list>\n                        </model-element>\n                    </model-elements>\n                    <relationship-list>\n                        <relationship>\n                            <related-to>model-ver</related-to>\n                            <relationship-data>\n                                <relationship-key>model-ver.model-version-id</relationship-key>\n                                <relationship-value>service-instance-version-id</relationship-value>\n                            </relationship-data>\n                            <relationship-data>\n                                <relationship-key>model.model-invariant-id</relationship-key>\n                                <relationship-value>service-instance-invariant-id</relationship-value>\n                            </relationship-data>\n                        </relationship>\n                    </relationship-list>\n                </model-element>\n            </model-elements>\n        </model-ver>\n    </model-vers>\n</model>"},{"name":"AAI-ScpTestVsp..asc_heat-int2..module-0-resource-1.xml","type":"MODEL","payload":"<model xmlns=\"http://org.onap.aai.inventory/v30\">\n    <model-invariant-id>6f288081-b321-47c9-b038-6de70079a3bf</model-invariant-id>\n    <model-type>resource</model-type>\n    <model-vers>\n        <model-ver>\n            <model-version-id>06258c44-ab48-4b4b-a5db-16892f7d1e76</model-version-id>\n            <model-name>ScpTestVsp..asc_heat-int2..module-0</model-name>\n            <model-version>1</model-version>\n            <model-description></model-description>\n            <model-elements>\n                <model-element>\n                    <new-data-del-flag>T</new-data-del-flag>\n                    <cardinality>unbounded</cardinality>\n                    <model-elements>\n                        <model-element>\n                            <new-data-del-flag>T</new-data-del-flag>\n                            <cardinality>unbounded</cardinality>\n                            <model-elements>\n                                <model-element>\n                                    <new-data-del-flag>F</new-data-del-flag>\n                                    <cardinality>unbounded</cardinality>\n                                    <model-elements/>\n                                    <relationship-list>\n                                        <relationship>\n                                            <related-to>model-ver</related-to>\n                                            <relationship-data>\n                                                <relationship-key>model-ver.model-version-id</relationship-key>\n                                                <relationship-value>image-version-id</relationship-value>\n                                            </relationship-data>\n                                            <relationship-data>\n                                                <relationship-key>model.model-invariant-id</relationship-key>\n                                                <relationship-value>image-invariant-id</relationship-value>\n                                            </relationship-data>\n                                        </relationship>\n                                    </relationship-list>\n                                </model-element>\n                                <model-element>\n                                    <new-data-del-flag>F</new-data-del-flag>\n                                    <cardinality>unbounded</cardinality>\n                                    <model-elements/>\n                                    <relationship-list>\n                                        <relationship>\n                                            <related-to>model-ver</related-to>\n                                            <relationship-data>\n                                                <relationship-key>model-ver.model-version-id</relationship-key>\n                                                <relationship-value>flavor-version-id</relationship-value>\n                                            </relationship-data>\n                                            <relationship-data>\n                                                <relationship-key>model.model-invariant-id</relationship-key>\n                                                <relationship-value>flavor-invariant-id</relationship-value>\n                                            </relationship-data>\n                                        </relationship>\n                                    </relationship-list>\n                                </model-element>\n                                <model-element>\n                                    <new-data-del-flag>T</new-data-del-flag>\n                                    <cardinality>unbounded</cardinality>\n                                    <model-elements/>\n                                    <relationship-list>\n                                        <relationship>\n                                            <related-to>model-ver</related-to>\n                                            <relationship-data>\n                                                <relationship-key>model-ver.model-version-id</relationship-key>\n                                                <relationship-value>vnfc-version-id</relationship-value>\n                                            </relationship-data>\n                                            <relationship-data>\n                                                <relationship-key>model.model-invariant-id</relationship-key>\n                                                <relationship-value>vnfc-invariant-id</relationship-value>\n                                            </relationship-data>\n                                        </relationship>\n                                    </relationship-list>\n                                </model-element>\n                                <model-element>\n                                    <new-data-del-flag>F</new-data-del-flag>\n                                    <cardinality>unbounded</cardinality>\n                                    <model-elements/>\n                                    <relationship-list>\n                                        <relationship>\n                                            <related-to>model-ver</related-to>\n                                            <relationship-data>\n                                                <relationship-key>model-ver.model-version-id</relationship-key>\n                                                <relationship-value>tenant-version-id</relationship-value>\n                                            </relationship-data>\n                                            <relationship-data>\n                                                <relationship-key>model.model-invariant-id</relationship-key>\n                                                <relationship-value>tenant-invariant-id</relationship-value>\n                                            </relationship-data>\n                                        </relationship>\n                                    </relationship-list>\n                                </model-element>\n                            </model-elements>\n                            <relationship-list>\n                                <relationship>\n                                    <related-to>model-ver</related-to>\n                                    <relationship-data>\n                                        <relationship-key>model-ver.model-version-id</relationship-key>\n                                        <relationship-value>vserver-version-id</relationship-value>\n                                    </relationship-data>\n                                    <relationship-data>\n                                        <relationship-key>model.model-invariant-id</relationship-key>\n                                        <relationship-value>vserver-invariant-id</relationship-value>\n                                    </relationship-data>\n                                </relationship>\n                            </relationship-list>\n                        </model-element>\n                        <model-element>\n                            <new-data-del-flag>T</new-data-del-flag>\n                            <cardinality>unbounded</cardinality>\n                            <model-elements/>\n                            <relationship-list>\n                                <relationship>\n                                    <related-to>model-ver</related-to>\n                                    <relationship-data>\n                                        <relationship-key>model-ver.model-version-id</relationship-key>\n                                        <relationship-value>l3-network-version-id</relationship-value>\n                                    </relationship-data>\n                                    <relationship-data>\n                                        <relationship-key>model.model-invariant-id</relationship-key>\n                                        <relationship-value>l3-network-invariant-id</relationship-value>\n                                    </relationship-data>\n                                </relationship>\n                            </relationship-list>\n                        </model-element>\n                    </model-elements>\n                    <relationship-list>\n                        <relationship>\n                            <related-to>model-ver</related-to>\n                            <relationship-data>\n                                <relationship-key>model-ver.model-version-id</relationship-key>\n                                <relationship-value>vf-module-version-id</relationship-value>\n                            </relationship-data>\n                            <relationship-data>\n                                <relationship-key>model.model-invariant-id</relationship-key>\n                                <relationship-value>vf-module-invariant-id</relationship-value>\n                            </relationship-data>\n                        </relationship>\n                    </relationship-list>\n                </model-element>\n            </model-elements>\n        </model-ver>\n    </model-vers>\n</model>"},{"name":"AAI-SCP-Test-VSP-resource-1.0.xml","type":"MODEL","payload":"<model xmlns=\"http://org.onap.aai.inventory/v30\">\n    <model-invariant-id>b2b88a73-5c55-4984-99dd-a35c55935d14</model-invariant-id>\n    <model-type>resource</model-type>\n    <model-vers>\n        <model-ver>\n            <model-version-id>2e42bac2-318a-410c-b8ff-3b3a31351be7</model-version-id>\n            <model-name>SCP-Test-VSP</model-name>\n            <model-version>1.0</model-version>\n            <model-description>SCP Test VSP</model-description>\n            <model-elements>\n                <model-element>\n                    <new-data-del-flag>T</new-data-del-flag>\n                    <cardinality>unbounded</cardinality>\n                    <model-elements>\n                        <model-element>\n                            <new-data-del-flag>T</new-data-del-flag>\n                            <cardinality>unbounded</cardinality>\n                            <model-elements/>\n                            <relationship-list>\n                                <relationship>\n                                    <related-to>model-ver</related-to>\n                                    <relationship-data>\n                                        <relationship-key>model-ver.model-version-id</relationship-key>\n                                        <relationship-value>06258c44-ab48-4b4b-a5db-16892f7d1e76</relationship-value>\n                                    </relationship-data>\n                                    <relationship-data>\n                                        <relationship-key>model.model-invariant-id</relationship-key>\n                                        <relationship-value>6f288081-b321-47c9-b038-6de70079a3bf</relationship-value>\n                                    </relationship-data>\n                                </relationship>\n                            </relationship-list>\n                        </model-element>\n                    </model-elements>\n                    <relationship-list>\n                        <relationship>\n                            <related-to>model-ver</related-to>\n                            <relationship-data>\n                                <relationship-key>model-ver.model-version-id</relationship-key>\n                                <relationship-value>generic-vnf-version-id</relationship-value>\n                            </relationship-data>\n                            <relationship-data>\n                                <relationship-key>model.model-invariant-id</relationship-key>\n                                <relationship-value>generic-vnf-invariant-id</relationship-value>\n                            </relationship-data>\n                        </relationship>\n                    </relationship-list>\n                </model-element>\n            </model-elements>\n        </model-ver>\n    </model-vers>\n</model>"}]
+[{"name":"AAI-Vscpaas_Test-service-1.0.xml","type":"MODEL","payload":"<model xmlns=\"http://org.onap.aai.inventory/v30\">\n    <model-invariant-id>a8db6285-20ca-4fd3-9c85-e267bdb013f9</model-invariant-id>\n    <model-type>service</model-type>\n    <model-role>Network L4+</model-role>\n    <model-vers>\n        <model-ver>\n            <model-version-id>7f7f6fa4-275a-488f-8b3e-691a0765d57e</model-version-id>\n            <model-name>Vscpaas_Test</model-name>\n            <model-version>1.0</model-version>\n            <model-description>Vscpaas_Test</model-description>\n            <model-elements>\n                <model-element>\n                    <relationship-list>\n                        <relationship>\n                            <related-to>model-ver</related-to>\n                            <relationship-data>\n                                <relationship-key>model-ver.model-version-id</relationship-key>\n                                <relationship-value>service-instance-version-id</relationship-value>\n                            </relationship-data>\n                            <relationship-data>\n                                <relationship-key>model.model-invariant-id</relationship-key>\n                                <relationship-value>service-instance-invariant-id</relationship-value>\n                            </relationship-data>\n                        </relationship>\n                    </relationship-list>\n                    <new-data-del-flag>T</new-data-del-flag>\n                    <cardinality>unbounded</cardinality>\n                    <model-elements>\n                        <model-element>\n                            <relationship-list>\n                                <relationship>\n                                    <related-to>model-ver</related-to>\n                                    <relationship-data>\n                                        <relationship-key>model-ver.model-version-id</relationship-key>\n                                        <relationship-value>2e42bac2-318a-410c-b8ff-3b3a31351be7</relationship-value>\n                                    </relationship-data>\n                                    <relationship-data>\n                                        <relationship-key>model.model-invariant-id</relationship-key>\n                                        <relationship-value>b2b88a73-5c55-4984-99dd-a35c55935d14</relationship-value>\n                                    </relationship-data>\n                                </relationship>\n                            </relationship-list>\n                            <new-data-del-flag>T</new-data-del-flag>\n                            <cardinality>unbounded</cardinality>\n                            <model-elements/>\n                        </model-element>\n                    </model-elements>\n                </model-element>\n            </model-elements>\n        </model-ver>\n    </model-vers>\n</model>"},{"name":"AAI-ScpTestVsp..asc_heat-int2..module-0-resource-1.xml","type":"MODEL","payload":"<model xmlns=\"http://org.onap.aai.inventory/v30\">\n    <model-invariant-id>6f288081-b321-47c9-b038-6de70079a3bf</model-invariant-id>\n    <model-type>resource</model-type>\n    <model-vers>\n        <model-ver>\n            <model-version-id>06258c44-ab48-4b4b-a5db-16892f7d1e76</model-version-id>\n            <model-name>ScpTestVsp..asc_heat-int2..module-0</model-name>\n            <model-version>1</model-version>\n            <model-description></model-description>\n            <model-elements>\n                <model-element>\n                    <relationship-list>\n                        <relationship>\n                            <related-to>model-ver</related-to>\n                            <relationship-data>\n                                <relationship-key>model-ver.model-version-id</relationship-key>\n                                <relationship-value>vf-module-version-id</relationship-value>\n                            </relationship-data>\n                            <relationship-data>\n                                <relationship-key>model.model-invariant-id</relationship-key>\n                                <relationship-value>vf-module-invariant-id</relationship-value>\n                            </relationship-data>\n                        </relationship>\n                    </relationship-list>\n                    <new-data-del-flag>T</new-data-del-flag>\n                    <cardinality>unbounded</cardinality>\n                    <model-elements>\n                        <model-element>\n                            <relationship-list>\n                                <relationship>\n                                    <related-to>model-ver</related-to>\n                                    <relationship-data>\n                                        <relationship-key>model-ver.model-version-id</relationship-key>\n                                        <relationship-value>vserver-version-id</relationship-value>\n                                    </relationship-data>\n                                    <relationship-data>\n                                        <relationship-key>model.model-invariant-id</relationship-key>\n                                        <relationship-value>vserver-invariant-id</relationship-value>\n                                    </relationship-data>\n                                </relationship>\n                            </relationship-list>\n                            <new-data-del-flag>T</new-data-del-flag>\n                            <cardinality>unbounded</cardinality>\n                            <model-elements>\n                                <model-element>\n                                    <relationship-list>\n                                        <relationship>\n                                            <related-to>model-ver</related-to>\n                                            <relationship-data>\n                                                <relationship-key>model-ver.model-version-id</relationship-key>\n                                                <relationship-value>image-version-id</relationship-value>\n                                            </relationship-data>\n                                            <relationship-data>\n                                                <relationship-key>model.model-invariant-id</relationship-key>\n                                                <relationship-value>image-invariant-id</relationship-value>\n                                            </relationship-data>\n                                        </relationship>\n                                    </relationship-list>\n                                    <new-data-del-flag>F</new-data-del-flag>\n                                    <cardinality>unbounded</cardinality>\n                                    <model-elements/>\n                                </model-element>\n                                <model-element>\n                                    <relationship-list>\n                                        <relationship>\n                                            <related-to>model-ver</related-to>\n                                            <relationship-data>\n                                                <relationship-key>model-ver.model-version-id</relationship-key>\n                                                <relationship-value>flavor-version-id</relationship-value>\n                                            </relationship-data>\n                                            <relationship-data>\n                                                <relationship-key>model.model-invariant-id</relationship-key>\n                                                <relationship-value>flavor-invariant-id</relationship-value>\n                                            </relationship-data>\n                                        </relationship>\n                                    </relationship-list>\n                                    <new-data-del-flag>F</new-data-del-flag>\n                                    <cardinality>unbounded</cardinality>\n                                    <model-elements/>\n                                </model-element>\n                                <model-element>\n                                    <relationship-list>\n                                        <relationship>\n                                            <related-to>model-ver</related-to>\n                                            <relationship-data>\n                                                <relationship-key>model-ver.model-version-id</relationship-key>\n                                                <relationship-value>vnfc-version-id</relationship-value>\n                                            </relationship-data>\n                                            <relationship-data>\n                                                <relationship-key>model.model-invariant-id</relationship-key>\n                                                <relationship-value>vnfc-invariant-id</relationship-value>\n                                            </relationship-data>\n                                        </relationship>\n                                    </relationship-list>\n                                    <new-data-del-flag>T</new-data-del-flag>\n                                    <cardinality>unbounded</cardinality>\n                                    <model-elements/>\n                                </model-element>\n                                <model-element>\n                                    <relationship-list>\n                                        <relationship>\n                                            <related-to>model-ver</related-to>\n                                            <relationship-data>\n                                                <relationship-key>model-ver.model-version-id</relationship-key>\n                                                <relationship-value>tenant-version-id</relationship-value>\n                                            </relationship-data>\n                                            <relationship-data>\n                                                <relationship-key>model.model-invariant-id</relationship-key>\n                                                <relationship-value>tenant-invariant-id</relationship-value>\n                                            </relationship-data>\n                                        </relationship>\n                                    </relationship-list>\n                                    <new-data-del-flag>F</new-data-del-flag>\n                                    <cardinality>unbounded</cardinality>\n                                    <model-elements/>\n                                </model-element>\n                            </model-elements>\n                        </model-element>\n                        <model-element>\n                            <relationship-list>\n                                <relationship>\n                                    <related-to>model-ver</related-to>\n                                    <relationship-data>\n                                        <relationship-key>model-ver.model-version-id</relationship-key>\n                                        <relationship-value>l3-network-version-id</relationship-value>\n                                    </relationship-data>\n                                    <relationship-data>\n                                        <relationship-key>model.model-invariant-id</relationship-key>\n                                        <relationship-value>l3-network-invariant-id</relationship-value>\n                                    </relationship-data>\n                                </relationship>\n                            </relationship-list>\n                            <new-data-del-flag>T</new-data-del-flag>\n                            <cardinality>unbounded</cardinality>\n                            <model-elements/>\n                        </model-element>\n                    </model-elements>\n                </model-element>\n            </model-elements>\n        </model-ver>\n    </model-vers>\n</model>"},{"name":"AAI-SCP-Test-VSP-resource-1.0.xml","type":"MODEL","payload":"<model xmlns=\"http://org.onap.aai.inventory/v30\">\n    <model-invariant-id>b2b88a73-5c55-4984-99dd-a35c55935d14</model-invariant-id>\n    <model-type>resource</model-type>\n    <model-vers>\n        <model-ver>\n            <model-version-id>2e42bac2-318a-410c-b8ff-3b3a31351be7</model-version-id>\n            <model-name>SCP-Test-VSP</model-name>\n            <model-version>1.0</model-version>\n            <model-description>SCP Test VSP</model-description>\n            <model-elements>\n                <model-element>\n                    <relationship-list>\n                        <relationship>\n                            <related-to>model-ver</related-to>\n                            <relationship-data>\n                                <relationship-key>model-ver.model-version-id</relationship-key>\n                                <relationship-value>generic-vnf-version-id</relationship-value>\n                            </relationship-data>\n                            <relationship-data>\n                                <relationship-key>model.model-invariant-id</relationship-key>\n                                <relationship-value>generic-vnf-invariant-id</relationship-value>\n                            </relationship-data>\n                        </relationship>\n                    </relationship-list>\n                    <new-data-del-flag>T</new-data-del-flag>\n                    <cardinality>unbounded</cardinality>\n                    <model-elements>\n                        <model-element>\n                            <relationship-list>\n                                <relationship>\n                                    <related-to>model-ver</related-to>\n                                    <relationship-data>\n                                        <relationship-key>model-ver.model-version-id</relationship-key>\n                                        <relationship-value>06258c44-ab48-4b4b-a5db-16892f7d1e76</relationship-value>\n                                    </relationship-data>\n                                    <relationship-data>\n                                        <relationship-key>model.model-invariant-id</relationship-key>\n                                        <relationship-value>6f288081-b321-47c9-b038-6de70079a3bf</relationship-value>\n                                    </relationship-data>\n                                </relationship>\n                            </relationship-list>\n                            <new-data-del-flag>T</new-data-del-flag>\n                            <cardinality>unbounded</cardinality>\n                            <model-elements/>\n                        </model-element>\n                    </model-elements>\n                </model-element>\n            </model-elements>\n        </model-ver>\n    </model-vers>\n</model>"}]
\ No newline at end of file