Extend service model 22/96222/4
authorwsliwka <wojciech.sliwka@nokia.com>
Wed, 25 Sep 2019 11:13:32 +0000 (13:13 +0200)
committerBartosz Gardziejewski <bartosz.gardziejewski@nokia.com>
Tue, 23 Jun 2020 05:57:02 +0000 (07:57 +0200)
extend service model by adding orchestrationType

Issue-ID: AAI-2594
Signed-off-by: wsliwka <wojciech.sliwka@nokia.com>
Signed-off-by: Bartosz Gardziejewski <bartosz.gardziejewski@nokia.com>
Change-Id: I34de40005b6ddad0cd71ccb20fae94f7f45c6257

src/main/java/org/onap/aai/babel/xml/generator/api/AaiModelGenerator.java
src/main/java/org/onap/aai/babel/xml/generator/model/Model.java
src/test/java/org/onap/aai/babel/xml/generator/api/AaiModelGeneratorTest.java [new file with mode: 0644]
src/test/resources/generatedXml/AAI-Grouping Service for Test-service-1.0.xml
src/test/resources/generatedXml/AAI-Port Mirror_Test-service-1.0.xml
src/test/resources/generatedXml/AAI-groupingservicefortest..ResourceInstanceGroup..0-resource-1.xml

index 0aaf8fc..384d87d 100644 (file)
@@ -101,6 +101,7 @@ public class AaiModelGenerator {
         modelVer.setModelVersion(model.getModelVersion());
         modelVer.setModelVersionId(model.getModelNameVersionId());
         modelVer.setModelElements(new ModelElements());
+        modelVer.setOrchestrationType(model.getInstantiationType());
         return modelVer;
     }
 
index 84b5489..c33127e 100644 (file)
@@ -67,6 +67,12 @@ public abstract class Model {
                 model.modelDescription = value;
             }
         },
+        ORCHESTRATION_TYPE("instantiationType"){
+            @Override
+            public void populate(Model model, String value) {
+                model.instantiationType = value;
+            }
+        },
         NAME_AND_DESCRIPTION("providing_service_name") {
             @Override
             public void populate(Model model, String value) {
@@ -103,7 +109,7 @@ public abstract class Model {
     private String modelNameVersionId; // model-version-id
     private String modelVersion;
     private String modelDescription;
-
+    private String instantiationType;
     protected Set<Resource> resources = new HashSet<>();
     protected Set<Widget> widgets = new HashSet<>();
 
@@ -208,6 +214,10 @@ public abstract class Model {
         return modelNameVersionId;
     }
 
+    public String getInstantiationType() {
+        return instantiationType;
+    }
+
     /**
      * Gets widget version id.
      *
diff --git a/src/test/java/org/onap/aai/babel/xml/generator/api/AaiModelGeneratorTest.java b/src/test/java/org/onap/aai/babel/xml/generator/api/AaiModelGeneratorTest.java
new file mode 100644 (file)
index 0000000..db01cb6
--- /dev/null
@@ -0,0 +1,52 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright (c) 2019 Nokia. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.aai.babel.xml.generator.api;
+
+
+import org.apache.groovy.util.Maps;
+import org.junit.Test;
+import org.onap.aai.babel.util.ArtifactTestUtils;
+import org.onap.aai.babel.xml.generator.XmlArtifactGenerationException;
+import org.onap.aai.babel.xml.generator.model.Model;
+import org.onap.aai.babel.xml.generator.model.Service;
+
+import java.io.IOException;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+public class AaiModelGeneratorTest {
+
+    private AaiModelGenerator generator = new AaiModelGenerator();
+
+    @Test
+    public void shouldGenerateModelWithInstantiationType() throws XmlArtifactGenerationException, IOException {
+        new ArtifactTestUtils().loadWidgetMappings();
+        Model model = new Service();
+        model.populateModelIdentificationInformation(Maps.of("instantiationType", "macro"));
+
+
+        String generatedXml = generator.generateModelFor(model);
+
+        assertThat(generatedXml).containsSubsequence("   <model-vers>\n" +
+                "        <model-ver>\n" +
+                "            <orchestration-type>macro</orchestration-type>");
+    }
+}
index 4133aa3..81cd94d 100644 (file)
@@ -7,6 +7,7 @@
             <model-name>Grouping Service for Test</model-name>
             <model-version>1.0</model-version>
             <model-description>xxx</model-description>
+            <orchestration-type>A-la-carte</orchestration-type>
             <model-elements>
                 <model-element>
                     <new-data-del-flag>T</new-data-del-flag>
@@ -66,4 +67,4 @@
             </model-elements>
         </model-ver>
     </model-vers>
-</model>
\ No newline at end of file
+</model>
index f66e638..9c841ac 100644 (file)
@@ -7,6 +7,7 @@
             <model-name>Port Mirror_Test</model-name>
             <model-version>1.0</model-version>
             <model-description>Port Mirror_Test</model-description>
+            <orchestration-type>A-la-carte</orchestration-type>
             <model-elements>
                 <model-element>
                     <new-data-del-flag>T</new-data-del-flag>
@@ -48,4 +49,4 @@
             </model-elements>
         </model-ver>
     </model-vers>
-</model>
\ No newline at end of file
+</model>