Openstack adapter can't resolve HEAT parameter 65/82165/1
authorBenjamin, Max (mb388a) <mb388a@us.att.com>
Wed, 13 Mar 2019 18:56:05 +0000 (14:56 -0400)
committerBenjamin, Max (mb388a) <mb388a@us.att.com>
Wed, 13 Mar 2019 19:04:18 +0000 (15:04 -0400)
only cast to Element if value is of that type
added XmlAccessorType annotations to classes
map of string, object now correctly maps with jaxb
Null comma delimited lists can convert to null as well
Handle null values all types in input parameters map.

Change-Id: Ic46ed31c05b8f8551d39b2267ae731829abfc1f0
Issue-ID: SO-1617
Signed-off-by: Benjamin, Max (mb388a) <mb388a@us.att.com>
31 files changed:
adapters/mso-adapter-utils/src/main/java/org/onap/so/openstack/utils/MsoHeatUtils.java
adapters/mso-adapter-utils/src/test/java/org/onap/so/cloud/authentication/KeystoneAuthHolderTest.java
adapters/mso-adapter-utils/src/test/java/org/onap/so/openstack/utils/MsoHeatUtilsUnitTest.java
adapters/mso-adapters-rest-interface/src/main/java/org/onap/so/adapters/vnfrest/CreateVfModuleRequest.java
adapters/mso-adapters-rest-interface/src/main/java/org/onap/so/adapters/vnfrest/CreateVolumeGroupRequest.java
adapters/mso-adapters-rest-interface/src/main/java/org/onap/so/adapters/vnfrest/UpdateVfModuleRequest.java
adapters/mso-adapters-rest-interface/src/main/java/org/onap/so/adapters/vnfrest/UpdateVolumeGroupRequest.java
adapters/mso-adapters-rest-interface/src/main/java/org/onap/so/openstack/mappers/MapAdapter.java [new file with mode: 0644]
adapters/mso-adapters-rest-interface/src/main/java/org/onap/so/openstack/mappers/MapElements.java [new file with mode: 0644]
adapters/mso-adapters-rest-interface/src/main/java/org/onap/so/openstack/mappers/MapEntry.java [new file with mode: 0644]
adapters/mso-adapters-rest-interface/src/test/java/org/onap/so/openstack/mappers/JAXBMarshallingTest.java [new file with mode: 0644]
adapters/mso-adapters-rest-interface/src/test/resources/createVfModuleRequest-with-params.xml [new file with mode: 0644]
bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/validation/Skip.java
bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/bbobjects/Tenant.java
bpmn/MSOCommonBPMN/src/main/java/org/onap/so/client/restproperties/CDSPropertiesImpl.java
bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/validations/CloudRegionOrchestrationValidator.java
bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/validations/CloudRegionOrchestrationValidatorTest.java
common/src/main/java/org/onap/so/client/cds/BasicAuthClientInterceptor.java
common/src/main/java/org/onap/so/client/cds/CDSProcessingClient.java
common/src/main/java/org/onap/so/client/cds/CDSProcessingHandler.java
common/src/main/java/org/onap/so/client/cds/CDSProcessingListener.java
common/src/main/java/org/onap/so/client/cds/CDSProperties.java
common/src/main/java/org/onap/so/client/graphinventory/GraphInventoryResourcesClient.java
common/src/main/java/org/onap/so/client/graphinventory/TransactionBuilder.java
common/src/main/java/org/onap/so/client/graphinventory/entities/Id.java
common/src/main/java/org/onap/so/client/graphinventory/entities/Pathed.java
common/src/main/java/org/onap/so/client/graphinventory/entities/Resource.java
common/src/main/java/org/onap/so/client/graphinventory/entities/ResourceAndUrl.java
common/src/test/java/org/onap/so/client/cds/CDSProcessingClientTest.java
common/src/test/java/org/onap/so/client/cds/TestCDSProcessingListener.java
common/src/test/java/org/onap/so/client/cds/TestCDSPropertiesImpl.java

index 012c560..47ff6c1 100644 (file)
@@ -1330,13 +1330,13 @@ public class MsoHeatUtils extends MsoCommonUtils implements VduPlugin{
         logger.debug("Parameter: {} is of type {}", key, type);
         if ("string".equalsIgnoreCase(type)) {
                                // Easiest!
-                               String str = inputs.get(key).toString();
+                               String str = inputs.get(key) != null ? inputs.get(key).toString() : null;
                                if (alias)
                                        newInputs.put(realName, str);
                                else
                                        newInputs.put(key, str);
                        } else if ("number".equalsIgnoreCase(type)) {
-                               String integerString = inputs.get(key).toString();
+                               String integerString = inputs.get(key) != null ? inputs.get(key).toString() : null;
                                Integer anInteger = null;
                                try {
                                        anInteger = Integer.parseInt(integerString);
@@ -1375,7 +1375,7 @@ public class MsoHeatUtils extends MsoCommonUtils implements VduPlugin{
                        else
                                newInputs.put(key, json);
                        } else if ("comma_delimited_list".equalsIgnoreCase(type)) {
-                               String commaSeparated = inputs.get(key).toString();
+                               String commaSeparated = inputs.get(key) != null ? inputs.get(key).toString() : null;
                                try {
                                        List<String> anArrayList = this.convertCdlToArrayList(commaSeparated);
                                        if (alias)
@@ -1390,7 +1390,7 @@ public class MsoHeatUtils extends MsoCommonUtils implements VduPlugin{
                                                newInputs.put(key, commaSeparated);
                                }
                        } else if ("boolean".equalsIgnoreCase(type)) {
-                               String booleanString = inputs.get(key).toString();
+                               String booleanString = inputs.get(key) != null ? inputs.get(key).toString() : null;
                                Boolean aBool = Boolean.valueOf(booleanString);
                                if (alias)
                                        newInputs.put(realName, aBool);
index 70617fd..8469ad5 100644 (file)
@@ -1,3 +1,23 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2019 AT&T Intellectual Property. 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=========================================================
+ */
+
 /*
  * ============LICENSE_START==========================================
  *  ONAP - SO
index 66d6f59..9edc805 100644 (file)
@@ -1,12 +1,36 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2019 AT&T Intellectual Property. 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.so.openstack.utils;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 
 import java.io.IOException;
 import java.nio.file.Files;
 import java.nio.file.Paths;
+import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
@@ -71,6 +95,99 @@ public class MsoHeatUtilsUnitTest {
                JSONAssert.assertEquals(getJson("free-form.json"), mapper.writeValueAsString(output.get("my-json-escaped")), false);
        }
        
+       @Test
+       public final void convertInputMapValuesTest() {
+               MsoHeatUtils utils = new MsoHeatUtils();
+               Map<String, Object> inputs = new HashMap<>();
+               Set<HeatTemplateParam> params = new HashSet<>();
+               HeatTemplate ht = new HeatTemplate();
+               HeatTemplateParam htp = new HeatTemplateParam();
+               htp.setParamName("vnf_name");
+               htp.setParamType("string");
+               params.add(htp);
+               inputs.put("vnf_name", "a_vnf_name");
+               htp = new HeatTemplateParam();
+               htp.setParamName("image_size");
+               htp.setParamType("number");
+               params.add(htp);
+               inputs.put("image_size", "1024");
+               htp = new HeatTemplateParam();
+               htp.setParamName("external");
+               htp.setParamType("boolean");
+               params.add(htp);
+               inputs.put("external", "false");
+               htp = new HeatTemplateParam();
+               htp.setParamName("oam_ips");
+               htp.setParamType("comma_delimited_list");
+               params.add(htp);
+               inputs.put("oam_ips", "a,b");
+               htp = new HeatTemplateParam();
+               htp.setParamName("oam_prefixes");
+               htp.setParamType("json");
+               params.add(htp);
+               String jsonEscInput = "[{\"prefix\": \"aValue\"}, {\"prefix\": \"aValue2\"}]";
+               inputs.put("oam_prefixes", jsonEscInput);
+               ht.setParameters(params);
+               
+               Map<String, Object> output = utils.convertInputMap(inputs, ht);
+               
+               assertEquals("a_vnf_name", output.get("vnf_name"));
+               assertEquals(1024, output.get("image_size"));
+               assertEquals(false, output.get("external"));
+               List<String> cdl = new ArrayList<>();
+               cdl.add(0, "a");
+               cdl.add(1, "b");
+               assertEquals(cdl, output.get("oam_ips"));
+               ObjectMapper JSON_MAPPER = new ObjectMapper();
+               JsonNode jn = null;
+               try {
+                       jn = JSON_MAPPER.readTree(jsonEscInput);
+               } catch (Exception e) {
+               }
+               assertEquals(jn, output.get("oam_prefixes"));
+       }
+       
+       @Test
+       public final void convertInputMapNullsTest() {
+               MsoHeatUtils utils = new MsoHeatUtils();
+               Map<String, Object> inputs = new HashMap<>();
+               Set<HeatTemplateParam> params = new HashSet<>();
+               HeatTemplate ht = new HeatTemplate();
+               HeatTemplateParam htp = new HeatTemplateParam();
+               htp.setParamName("vnf_name");
+               htp.setParamType("string");
+               params.add(htp);
+               inputs.put("vnf_name", null);
+               htp = new HeatTemplateParam();
+               htp.setParamName("image_size");
+               htp.setParamType("number");
+               params.add(htp);
+               inputs.put("image_size", null);
+               htp = new HeatTemplateParam();
+               htp.setParamName("external");
+               htp.setParamType("boolean");
+               params.add(htp);
+               inputs.put("external", null);
+               htp = new HeatTemplateParam();
+               htp.setParamName("oam_ips");
+               htp.setParamType("comma_delimited_list");
+               params.add(htp);
+               inputs.put("oam_ips", null);
+               htp = new HeatTemplateParam();
+               htp.setParamName("oam_prefixes");
+               htp.setParamType("json");
+               params.add(htp);
+               inputs.put("oam_prefixes", null);
+               ht.setParameters(params);
+               
+               Map<String, Object> output = utils.convertInputMap(inputs, ht);
+               
+               assertNull(output.get("vnf_name"));
+               assertNull(output.get("image_size"));
+               assertEquals(false, output.get("external"));
+               assertNull(output.get("oam_ips"));
+               assertNull(output.get("oam_prefixes"));
+       }
        
        private String getJson(String filename) throws IOException {
                 return new String(Files.readAllBytes(Paths.get("src/test/resources/__files/MsoHeatUtils/" + filename)));
index c62dc0d..a136ff7 100644 (file)
@@ -23,9 +23,14 @@ package org.onap.so.adapters.vnfrest;
 import java.util.HashMap;
 import java.util.Map;
 
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAnyElement;
 import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
 import org.onap.so.entity.MsoRequest;
+import org.onap.so.openstack.mappers.MapAdapter;
 
 import com.fasterxml.jackson.annotation.JsonRootName;
 
@@ -35,6 +40,7 @@ import com.fasterxml.jackson.annotation.JsonRootName;
 */
 @JsonRootName("createVfModuleRequest")
 @XmlRootElement(name = "createVfModuleRequest")
+@XmlAccessorType(XmlAccessType.FIELD)
 public class CreateVfModuleRequest extends VfRequestCommon {
        private String cloudSiteId;
        private String tenantId;
@@ -57,7 +63,7 @@ public class CreateVfModuleRequest extends VfRequestCommon {
        private Boolean failIfExists = false;
        private Boolean backout = true;
        private Boolean enableBridge;
-
+       @XmlJavaTypeAdapter(MapAdapter.class)
        private Map<String, Object> vfModuleParams = new HashMap<>();
        private MsoRequest msoRequest = new MsoRequest();
 
index 214abd4..d402004 100644 (file)
@@ -24,14 +24,19 @@ package org.onap.so.adapters.vnfrest;
 import java.util.HashMap;
 import java.util.Map;
 
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
 import org.onap.so.entity.MsoRequest;
+import org.onap.so.openstack.mappers.MapAdapter;
 
 import com.fasterxml.jackson.annotation.JsonRootName;
 
 @JsonRootName("createVolumeGroupRequest")
 @XmlRootElement(name = "createVolumeGroupRequest")
+@XmlAccessorType(XmlAccessType.FIELD)
 public class CreateVolumeGroupRequest extends VfRequestCommon {
        private String cloudSiteId;
        private String tenantId;
@@ -41,6 +46,7 @@ public class CreateVolumeGroupRequest extends VfRequestCommon {
        private String vnfVersion;
        private String vfModuleType;
        private String modelCustomizationUuid;
+       @XmlJavaTypeAdapter(MapAdapter.class)
        private Map<String,Object> volumeGroupParams = new HashMap<>();
        private Boolean failIfExists;
        private Boolean enableBridge;
index 1c7696a..bac9eae 100644 (file)
@@ -24,14 +24,19 @@ package org.onap.so.adapters.vnfrest;
 import java.util.HashMap;
 import java.util.Map;
 
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
 import org.onap.so.entity.MsoRequest;
+import org.onap.so.openstack.mappers.MapAdapter;
 
 import com.fasterxml.jackson.annotation.JsonRootName;
 
 @JsonRootName("updateVfModuleRequest")
 @XmlRootElement(name = "updateVfModuleRequest")
+@XmlAccessorType(XmlAccessType.FIELD)
 public class UpdateVfModuleRequest extends VfRequestCommon {
 
        private String cloudSiteId;
@@ -57,7 +62,8 @@ public class UpdateVfModuleRequest extends VfRequestCommon {
        private String requestType;
        private Boolean failIfExists;
        private Boolean backout;
-
+       
+       @XmlJavaTypeAdapter(MapAdapter.class)
        private Map<String,Object> vfModuleParams = new HashMap<>();
        private MsoRequest msoRequest = new MsoRequest();
 
index 8ddef1e..d3b685a 100644 (file)
@@ -24,14 +24,19 @@ package org.onap.so.adapters.vnfrest;
 import java.util.HashMap;
 import java.util.Map;
 
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
 import org.onap.so.entity.MsoRequest;
+import org.onap.so.openstack.mappers.MapAdapter;
 
 import com.fasterxml.jackson.annotation.JsonRootName;
 
 @JsonRootName("updateVolumeGroupRequest")
 @XmlRootElement(name = "updateVolumeGroupRequest")
+@XmlAccessorType(XmlAccessType.FIELD)
 public class UpdateVolumeGroupRequest extends VfRequestCommon {
        private String cloudSiteId;
        private String tenantId;
@@ -41,6 +46,7 @@ public class UpdateVolumeGroupRequest extends VfRequestCommon {
        private String vnfVersion;
        private String vfModuleType;
        private String modelCustomizationUuid;
+       @XmlJavaTypeAdapter(MapAdapter.class)
        private Map<String,Object> volumeGroupParams = new HashMap<>();
        private MsoRequest msoRequest = new MsoRequest();
 
diff --git a/adapters/mso-adapters-rest-interface/src/main/java/org/onap/so/openstack/mappers/MapAdapter.java b/adapters/mso-adapters-rest-interface/src/main/java/org/onap/so/openstack/mappers/MapAdapter.java
new file mode 100644 (file)
index 0000000..e816646
--- /dev/null
@@ -0,0 +1,62 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2019 AT&T Intellectual Property. 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.so.openstack.mappers;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.xml.bind.annotation.adapters.XmlAdapter;
+
+import org.w3c.dom.Element;
+
+public class MapAdapter extends XmlAdapter<MapEntry, Map<String, Object>> {
+
+       @Override
+       public MapEntry marshal(Map<String, Object> v) throws Exception {
+
+               if (v == null || v.isEmpty()) {return null;}
+
+               MapEntry map = new MapEntry();
+
+               for (String key : v.keySet()) {
+                       map.addEntry(key, v.get(key));
+               }
+
+               return map;
+       }
+
+       @Override
+       public Map<String, Object> unmarshal(MapEntry v) throws Exception {
+               if (v == null) {return null;}
+
+               Map<String, Object> map = new HashMap<>(v.entry.size());
+
+               for(MapElements entry: v.entry) {
+                       if (entry.value instanceof Element) {
+                               map.put(entry.key, ((Element)entry.value).getTextContent());
+                       } else {
+                               map.put(entry.key, entry.value);
+                       }
+               }
+
+               return map;
+       }
+}
diff --git a/adapters/mso-adapters-rest-interface/src/main/java/org/onap/so/openstack/mappers/MapElements.java b/adapters/mso-adapters-rest-interface/src/main/java/org/onap/so/openstack/mappers/MapElements.java
new file mode 100644 (file)
index 0000000..709393b
--- /dev/null
@@ -0,0 +1,37 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2019 AT&T Intellectual Property. 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.so.openstack.mappers;
+
+import javax.xml.bind.annotation.XmlElement;
+
+public class MapElements
+{
+       @XmlElement public String  key;
+       @XmlElement public Object value;
+
+       public MapElements() {} //Required by JAXB
+
+       public MapElements(String key, Object value)
+       {
+               this.key   = key;
+               this.value = value;
+       }
+}
diff --git a/adapters/mso-adapters-rest-interface/src/main/java/org/onap/so/openstack/mappers/MapEntry.java b/adapters/mso-adapters-rest-interface/src/main/java/org/onap/so/openstack/mappers/MapEntry.java
new file mode 100644 (file)
index 0000000..e6dc0e0
--- /dev/null
@@ -0,0 +1,36 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2019 AT&T Intellectual Property. 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.so.openstack.mappers;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class MapEntry {
+       
+        public List<MapElements> entry = new ArrayList<>();
+       
+       public MapEntry() {} //Required by JAXB
+
+       public void addEntry(String key, Object value) {
+               entry.add(new MapElements(key, value));
+       }
+
+}
diff --git a/adapters/mso-adapters-rest-interface/src/test/java/org/onap/so/openstack/mappers/JAXBMarshallingTest.java b/adapters/mso-adapters-rest-interface/src/test/java/org/onap/so/openstack/mappers/JAXBMarshallingTest.java
new file mode 100644 (file)
index 0000000..038e883
--- /dev/null
@@ -0,0 +1,51 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2019 AT&T Intellectual Property. 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.so.openstack.mappers;
+
+import static org.junit.Assert.assertEquals;
+
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBException;
+
+import org.junit.Test;
+import org.onap.so.adapters.vnfrest.CreateVfModuleRequest;
+
+
+public class JAXBMarshallingTest {
+
+
+       @Test
+       public void xmlMarshalTest() throws IOException, JAXBException {
+               JAXBContext context = JAXBContext.newInstance(CreateVfModuleRequest.class);
+
+               CreateVfModuleRequest request = (CreateVfModuleRequest) context.createUnmarshaller().unmarshal(Files.newBufferedReader(Paths.get("src/test/resources/createVfModuleRequest-with-params.xml")));
+
+               assertEquals("ubuntu-16-04-cloud-amd64", request.getVfModuleParams().get("vcpe_image_name"));
+               assertEquals("10.2.0.0/24", request.getVfModuleParams().get("cpe_public_net_cidr"));
+               assertEquals("", request.getVfModuleParams().get("workload_context"));
+
+       }
+
+}
diff --git a/adapters/mso-adapters-rest-interface/src/test/resources/createVfModuleRequest-with-params.xml b/adapters/mso-adapters-rest-interface/src/test/resources/createVfModuleRequest-with-params.xml
new file mode 100644 (file)
index 0000000..76ba369
--- /dev/null
@@ -0,0 +1,206 @@
+<createVfModuleRequest>
+       <cloudSiteId>RegionOne</cloudSiteId>
+       <tenantId>09d8566ea45e43aa974cf447ed591d77</tenantId>
+       <vnfId>8daea639-82b9-4da6-aec9-5054f006a82d</vnfId>
+       <vnfName>vcpe_vnf_vcpe_infra_201903101808</vnfName>
+       <vfModuleName>vcpe_vfmodule_vcpeinfra53f27a6285bd_201903101808</vfModuleName>
+       <vfModuleId>1ea78add-a36c-4af4-959f-4c43292b3aac</vfModuleId>
+       <vnfType>demoVCPEInfra/vCPE_infra 53f27a62-85bd 0</vnfType>
+       <vfModuleType>VcpeInfra53f27a6285bd..base_vcpe_infra..module-0</vfModuleType>
+       <vnfVersion>1.0</vnfVersion>
+       <modelCustomizationUuid>76135970-0c64-4b62-a4d0-56606fc040b3</modelCustomizationUuid>
+       <requestType></requestType>
+       <volumeGroupId></volumeGroupId>
+       <volumeGroupStackId></volumeGroupStackId>
+       <baseVfModuleId></baseVfModuleId>
+       <baseVfModuleStackId></baseVfModuleStackId>
+       <skipAAI>true</skipAAI>
+       <backout>false</backout>
+       <failIfExists>true</failIfExists>
+       <vfModuleParams>
+               <entry>
+                       <key>vf_module_id</key>
+                       <value>1ea78add-a36c-4af4-959f-4c43292b3aac</value>
+               </entry>
+               <entry>
+                       <key>cpe_public_subnet_id</key>
+                       <value>vcpe_net_cpe_public_subnet_201903101808</value>
+               </entry>
+               <entry>
+                       <key>oof_directives</key>
+                       <value>{}</value>
+               </entry>
+               <entry>
+                       <key>cpe_signal_subnet_id</key>
+                       <value>vcpe_net_cpe_signal_subnet_201903101808</value>
+               </entry>
+               <entry>
+                       <key>onap_private_net_id</key>
+                       <value>oam_network_hkV9</value>
+               </entry>
+               <entry>
+                       <key>vnf_name</key>
+                       <value>vcpe_vnf_vcpe_infra_201903101808</value>
+               </entry>
+               <entry>
+                       <key>key_name</key>
+                       <value>vaaa_key</value>
+               </entry>
+               <entry>
+                       <key>workload_context</key>
+                       <value></value>
+               </entry>
+               <entry>
+                       <key>vweb_name_0</key>
+                       <value>zdcpe1cpe01web01_201903101808</value>
+               </entry>
+               <entry>
+                       <key>vf_module_name</key>
+                       <value>vcpe_vfmodule_vcpeinfra53f27a6285bd_201903101808</value>
+               </entry>
+               <entry>
+                       <key>vcpe_flavor_name</key>
+                       <value>m1.medium</value>
+               </entry>
+               <entry>
+                       <key>vdhcp_name_0</key>
+                       <value>zdcpe1cpe01dhcp01_201903101808</value>
+               </entry>
+               <entry>
+                       <key>vdhcp_private_ip_0</key>
+                       <value>10.4.0.1</value>
+               </entry>
+               <entry>
+                       <key>install_script_version</key>
+                       <value>1.3.0</value>
+               </entry>
+               <entry>
+                       <key>vdhcp_private_ip_1</key>
+                       <value>10.0.101.1</value>
+               </entry>
+               <entry>
+                       <key>vnf_id</key>
+                       <value>8daea639-82b9-4da6-aec9-5054f006a82d</value>
+               </entry>
+               <entry>
+                       <key>cloud_env</key>
+                       <value>openstack</value>
+               </entry>
+               <entry>
+                       <key>mr_ip_addr</key>
+                       <value>10.12.5.69</value>
+               </entry>
+               <entry>
+                       <key>repo_url_artifacts</key>
+                       <value>https://nexus.onap.org/content/repositories/releases</value>
+               </entry>
+               <entry>
+                       <key>dcae_collector_port</key>
+                       <value>8080</value>
+               </entry>
+               <entry>
+                       <key>repo_url_blob</key>
+                       <value>https://nexus.onap.org/content/sites/raw</value>
+               </entry>
+               <entry>
+                       <key>public_net_id</key>
+                       <value>971040b2-7059-49dc-b220-4fab50cb2ad4</value>
+               </entry>
+               <entry>
+                       <key>onap_private_net_cidr</key>
+                       <value>10.0.0.0/16</value>
+               </entry>
+               <entry>
+                       <key>cpe_signal_net_cidr</key>
+                       <value>10.4.0.0/24</value>
+               </entry>
+               <entry>
+                       <key>environment_context</key>
+                       <value></value>
+               </entry>
+               <entry>
+                       <key>onap_private_subnet_id</key>
+                       <value>oam_network_hkV9</value>
+               </entry>
+               <entry>
+                       <key>vweb_private_ip_0</key>
+                       <value>10.2.0.10</value>
+               </entry>
+               <entry>
+                       <key>vaaa_private_ip_1</key>
+                       <value>10.0.101.2</value>
+               </entry>
+               <entry>
+                       <key>cpe_public_net_id</key>
+                       <value>vcpe_net_cpe_public_201903101808</value>
+               </entry>
+               <entry>
+                       <key>vweb_private_ip_1</key>
+                       <value>10.0.101.40</value>
+               </entry>
+               <entry>
+                       <key>mr_ip_port</key>
+                       <value>30227</value>
+               </entry>
+               <entry>
+                       <key>vaaa_private_ip_0</key>
+                       <value>10.4.0.2</value>
+               </entry>
+               <entry>
+                       <key>pub_key</key>
+                       <value>ssh-rsa
+                               AAAAB3NzaC1yc2EAAAADAQABAAABAQDKXDgoo3+WOqcUG8/5uUbk81+yczgwC4Y8ywTmuQqbNxlY1oQ0YxdMUqUnhitSXs5S/yRuAVOYHwGg2mCs20oAINrP+mxBI544AMIb9itPjCtgqtE2EWo6MmnFGbHB4Sx3XioE7F4VPsh7japsIwzOjbrQe+Mua1TGQ5d4nfEOQaaglXLLPFfuc7WbhbJbK6Q7rHqZfRcOwAMXgDoBqlyqKeiKwnumddo2RyNT8ljYmvB6buz7KnMinzo7qB0uktVT05FH9Rg0CTWH5norlG5qXgP2aukL0gk1ph8iAt7uYLf1ktp+LJI2gaF6L0/qli9EmVCSLr1uJ38Q8CBflhkh</value>
+               </entry>
+               <entry>
+                       <key>sdnc_directives</key>
+                       <value>{}</value>
+               </entry>
+               <entry>
+                       <key>vdns_private_ip_0</key>
+                       <value>10.2.0.1</value>
+               </entry>
+               <entry>
+                       <key>cpe_signal_net_id</key>
+                       <value>vcpe_net_cpe_signal_201903101808</value>
+               </entry>
+               <entry>
+                       <key>vdns_private_ip_1</key>
+                       <value>10.0.101.3</value>
+               </entry>
+               <entry>
+                       <key>demo_artifacts_version</key>
+                       <value>1.3.0</value>
+               </entry>
+               <entry>
+                       <key>vdns_name_0</key>
+                       <value>zdcpe1cpe01dns01_201903101808</value>
+               </entry>
+               <entry>
+                       <key>cpe_public_net_cidr</key>
+                       <value>10.2.0.0/24</value>
+               </entry>
+               <entry>
+                       <key>vaaa_name_0</key>
+                       <value>zdcpe1cpe01aaa01_201903101808</value>
+               </entry>
+               <entry>
+                       <key>dcae_collector_ip</key>
+                       <value>10.0.4.102</value>
+               </entry>
+               <entry>
+                       <key>vcpe_image_name</key>
+                       <value>ubuntu-16-04-cloud-amd64</value>
+               </entry>
+               <entry>
+                       <key>vf_module_index</key>
+                       <value>0</value>
+               </entry>
+
+       </vfModuleParams>
+       <msoRequest>
+               <requestId>11c8ec20-a1f8-4aa2-926f-e55d67a30f8b</requestId>
+               <serviceInstanceId>807648fc-c84c-4662-bf23-23c7d8cbe0c8</serviceInstanceId>
+       </msoRequest>
+       <messageId>11c8ec20-a1f8-4aa2-926f-e55d67a30f8b-1552241542248</messageId>
+       <notificationUrl>http://so-bpmn-infra.onap:8081/mso/WorkflowMessage/VNFAResponse/11c8ec20-a1f8-4aa2-926f-e55d67a30f8b-1552241542248</notificationUrl>
+</createVfModuleRequest>
\ No newline at end of file
index 0148e8f..fe03a10 100644 (file)
@@ -1,3 +1,23 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2019 AT&T Intellectual Property. 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.so.bpmn.common.validation;
 
 import java.lang.annotation.Retention;
index a23f85b..d3f3dcd 100644 (file)
@@ -1,3 +1,23 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2019 AT&T Intellectual Property. 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.so.bpmn.servicedecomposition.bbobjects;
 
 import java.io.Serializable;
@@ -55,4 +75,4 @@ public class Tenant implements Serializable {
        }
 
        
-}
\ No newline at end of file
+}
index dfdef74..1967e5a 100644 (file)
@@ -1,18 +1,23 @@
-/*
- * Copyright (C) 2019 Bell Canada.
- *
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2019 Bell Canada.
+ * ================================================================================
  * 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.so.client.restproperties;
 
 import java.net.URL;
index c457034..3763fca 100644 (file)
@@ -1,3 +1,23 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2019 AT&T Intellectual Property. 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.so.bpmn.infrastructure.validations;
 
 import java.util.Optional;
index f6988fd..81ec388 100644 (file)
@@ -1,3 +1,23 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2019 AT&T Intellectual Property. 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.so.bpmn.infrastructure.validations;
 
 import static org.junit.Assert.assertEquals;
index 384d479..edd4e6d 100644 (file)
@@ -1,18 +1,23 @@
-/*
- * Copyright (C) 2019 Bell Canada.
- *
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2019 Bell Canada.
+ * ================================================================================
  * 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.so.client.cds;
 
 import io.grpc.CallOptions;
index 1e37211..756c26d 100644 (file)
@@ -1,18 +1,23 @@
-/*
- * Copyright (C) 2019 Bell Canada.
- *
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2019 Bell Canada.
+ * ================================================================================
  * 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.so.client.cds;
 
 import io.grpc.ManagedChannel;
@@ -110,4 +115,4 @@ public class CDSProcessingClient implements AutoCloseable {
         }
         log.info("CDSProcessingClient stopped");
     }
-}
\ No newline at end of file
+}
index 244b89a..1791be2 100644 (file)
@@ -1,18 +1,23 @@
-/*
- * Copyright (C) 2019 Bell Canada.
- *
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2019 Bell Canada.
+ * ================================================================================
  * 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.so.client.cds;
 
 import io.grpc.ManagedChannel;
@@ -79,4 +84,4 @@ class CDSProcessingHandler {
         }
         return finishLatch;
     }
-}
\ No newline at end of file
+}
index 2eae4ef..8c92a58 100644 (file)
@@ -1,18 +1,23 @@
-/*
- * Copyright (C) 2019 Bell Canada.
- *
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2019 Bell Canada.
+ * ================================================================================
  * 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.so.client.cds;
 
 import org.onap.ccsdk.apps.controllerblueprints.processing.api.ExecutionServiceOutput;
index 52d1d61..42a4b47 100644 (file)
@@ -1,18 +1,23 @@
-/*
- * Copyright (C) 2019 Bell Canada.
- *
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2019 Bell Canada.
+ * ================================================================================
  * 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.so.client.cds;
 
 import org.onap.so.client.RestProperties;
index 39d2d01..e1519d6 100644 (file)
@@ -1,3 +1,23 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2019 AT&T Intellectual Property. 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.so.client.graphinventory;
 
 import java.lang.reflect.InvocationTargetException;
@@ -303,4 +323,4 @@ public abstract class GraphInventoryResourcesClient<Self, Uri extends GraphInven
                return client.getRestProperties();
        }
 
-}
\ No newline at end of file
+}
index 2cab4b5..88a6228 100644 (file)
@@ -1,3 +1,23 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2019 AT&T Intellectual Property. 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.so.client.graphinventory;
 
 public interface TransactionBuilder {
index 76492dc..2951bc8 100644 (file)
@@ -1,3 +1,23 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2019 AT&T Intellectual Property. 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.so.client.graphinventory.entities;
 
 public class Id extends Resource {
index a53bdc0..b848f1c 100644 (file)
@@ -1,3 +1,23 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2019 AT&T Intellectual Property. 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.so.client.graphinventory.entities;
 
 public class Pathed extends Resource {
index 5c53f2c..8d49fb5 100644 (file)
@@ -1,3 +1,23 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2019 AT&T Intellectual Property. 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.so.client.graphinventory.entities;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
index e53fc02..6e7312c 100644 (file)
@@ -1,3 +1,23 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2019 AT&T Intellectual Property. 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.so.client.graphinventory.entities;
 
 import org.onap.so.client.graphinventory.GraphInventoryObjectType;
index 2bfa754..135277f 100644 (file)
@@ -1,18 +1,23 @@
-/*
- * Copyright (C) 2019 Bell Canada.
- *
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2019 Bell Canada.
+ * ================================================================================
  * 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.so.client.cds;
 
 
@@ -159,4 +164,4 @@ public class CDSProcessingClientTest {
         assertTrue(finishLatch.await(1, TimeUnit.SECONDS));
     }
 
-}
\ No newline at end of file
+}
index df302f6..977f1d4 100644 (file)
@@ -1,18 +1,23 @@
-/*
- * Copyright (C) 2019 Bell Canada.
- *
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2019 Bell Canada.
+ * ================================================================================
  * 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.so.client.cds;
 
 import io.grpc.Status;
index a293786..514c595 100644 (file)
@@ -1,18 +1,23 @@
-/*
- * Copyright (C) 2019 Bell Canada.
- *
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2019 Bell Canada.
+ * ================================================================================
  * 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.so.client.cds;
 
 import java.net.MalformedURLException;