Add persistence test for all policy examples 97/83297/2
authorliamfallon <liam.fallon@est.tech>
Tue, 26 Mar 2019 15:42:42 +0000 (15:42 +0000)
committerliamfallon <liam.fallon@est.tech>
Tue, 26 Mar 2019 15:42:42 +0000 (15:42 +0000)
The test checks the TOSCA policy examples and ensures they can be
persisted and read back from persistence.

Test against the expected outcome will be added in later reviews.
Tests for legacy and PDP-A policies willbe added in later reviews.

Issue-ID: POLICY-1095
Change-Id: Ie06bbd477ff63618f126b01c9ab49bfc45b19ae9
Signed-off-by: liamfallon <liam.fallon@est.tech>
models-examples/src/main/resources/policies/vDNS.policy.monitoring.input.tosca.json
models-examples/src/main/resources/policies/vFirewall.policy.monitoring.input.tosca.json
models-provider/src/test/java/org/onap/policy/models/provider/impl/DatabasePolicyModelsProviderTest.java
models-provider/src/test/java/org/onap/policy/models/provider/impl/MonitoringPolicyPersistenceTest.java [deleted file]
models-provider/src/test/java/org/onap/policy/models/provider/impl/PolicyPersistenceTest.java [new file with mode: 0644]
models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/ToscaProperty.java
models-tosca/src/main/java/org/onap/policy/models/tosca/simple/serialization/ToscaServiceTemplateJsonAdapter.java
models-tosca/src/test/java/org/onap/policy/models/tosca/authorative/concepts/TestPojos.java
models-tosca/src/test/java/org/onap/policy/models/tosca/authorative/mapping/PlainToscaServiceTemplateMapperTest.java
models-tosca/src/test/java/org/onap/policy/models/tosca/simple/serialization/MonitoringPolicySerializationTest.java

index bd4bdc4..56c49d0 100644 (file)
@@ -1,50 +1,50 @@
 {
-  "tosca_definitions_version": "tosca_simple_yaml_1_0_0",
-  "topology_template": {
-    "policies": [
-      {
-        "onap.scaleout.tca": {
-          "type": "onap.policies.monitoring.cdap.tca.hi.lo.app",
-          "version": "1.0.0",
-          "metadata": {
-            "policy-id": "onap.scaleout.tca"
-          },
-          "properties": {
-            "tca_policy": {
-              "domain": "measurementsForVfScaling",
-              "metricsPerEventName": [
-                {
-                  "eventName": "vLoadBalancer",
-                  "controlLoopSchemaType": "VNF",
-                  "policyScope": "type=configuration",
-                  "policyName": "onap.scaleout.tca",
-                  "policyVersion": "v0.0.1",
-                  "thresholds": [
-                    {
-                      "closedLoopControlName": "ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3",
-                      "closedLoopEventStatus": "ONSET",
-                      "version": "1.0.2",
-                      "fieldPath": "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated",
-                      "thresholdValue": 500,
-                      "direction": "LESS_OR_EQUAL",
-                      "severity": "MAJOR"
-                    },
-                    {
-                      "closedLoopControlName": "ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3",
-                      "closedLoopEventStatus": "ONSET",
-                      "version": "1.0.2",
-                      "fieldPath": "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated",
-                      "thresholdValue": 5000,
-                      "direction": "GREATER_OR_EQUAL",
-                      "severity": "CRITICAL"
-                    }
-                  ]
-                }
-              ]
-            }
-          }
-        }
-      }
-    ]
-  }
-}
\ No newline at end of file
+       "tosca_definitions_version": "tosca_simple_yaml_1_0_0",
+       "topology_template": {
+               "policies": [
+                       {
+                               "onap.scaleout.tca": {
+                                       "type": "onap.policies.monitoring.cdap.tca.hi.lo.app",
+                                       "version": "1.0.0",
+                                       "metadata": {
+                                               "policy-id": "onap.scaleout.tca"
+                                       },
+                                       "properties": {
+                                               "tca_policy": {
+                                                       "domain": "measurementsForVfScaling",
+                                                       "metricsPerEventName": [
+                                                               {
+                                                                       "eventName": "vLoadBalancer",
+                                                                       "controlLoopSchemaType": "VNF",
+                                                                       "policyScope": "type=configuration",
+                                                                       "policyName": "onap.scaleout.tca",
+                                                                       "policyVersion": "v0.0.1",
+                                                                       "thresholds": [
+                                                                               {
+                                                                                       "closedLoopControlName": "ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3",
+                                                                                       "closedLoopEventStatus": "ONSET",
+                                                                                       "version": "1.0.2",
+                                                                                       "fieldPath": "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated",
+                                                                                       "thresholdValue": 500,
+                                                                                       "direction": "LESS_OR_EQUAL",
+                                                                                       "severity": "MAJOR"
+                                                                               },
+                                                                               {
+                                                                                       "closedLoopControlName": "ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3",
+                                                                                       "closedLoopEventStatus": "ONSET",
+                                                                                       "version": "1.0.2",
+                                                                                       "fieldPath": "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated",
+                                                                                       "thresholdValue": 5000,
+                                                                                       "direction": "GREATER_OR_EQUAL",
+                                                                                       "severity": "CRITICAL"
+                                                                               }
+                                                                       ]
+                                                               }
+                                                       ]
+                                               }
+                                       }
+                               }
+                       }
+               ]
+       }
+}
index dc3131d..29c29b8 100644 (file)
@@ -1,50 +1,50 @@
 {
-  "tosca_definitions_version": "tosca_simple_yaml_1_0_0",
-  "topology_template": {
-    "policies": [
-      {
-        "onap.vfirewall.tca": {
-          "type": "onap.policy.monitoring.cdap.tca.hi.lo.app",
-          "version": "1.0.0",
-          "metadata": {
-            "policy-id": "onap.vfirewall.tca"
-          },
-          "properties": {
-            "tca_policy": {
-              "domain": "measurementsForVfScaling",
-              "metricsPerEventName": [
-                {
-                  "eventName": "vLoadBalancer",
-                  "controlLoopSchemaType": "VNF",
-                  "policyScope": "resource=vLoadBalancer;type=configuration",
-                  "policyName": "onap.vfirewall.tca",
-                  "policyVersion": "v0.0.1",
-                  "thresholds": [
-                    {
-                      "closedLoopControlName": "ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a",
-                      "closedLoopEventStatus": "ONSET",
-                      "version": "1.0.2",
-                      "fieldPath": "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated",
-                      "thresholdValue": 500,
-                      "direction": "LESS_OR_EQUAL",
-                      "severity": "MAJOR"
+       "tosca_definitions_version": "tosca_simple_yaml_1_0_0",
+       "topology_template": {
+               "policies": [
+                       {
+                               "onap.vfirewall.tca": {
+                                       "type": "onap.policy.monitoring.cdap.tca.hi.lo.app",
+                                       "version": "1.0.0",
+                    "metadata": {
+                        "policy-id": "onap.vfirewall.tca"
                     },
-                    {
-                      "closedLoopControlName": "ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a",
-                      "closedLoopEventStatus": "ONSET",
-                      "version": "1.0.2",
-                      "fieldPath": "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated",
-                      "thresholdValue": 5000,
-                      "direction": "GREATER_OR_EQUAL",
-                      "severity": "CRITICAL"
-                    }
-                  ]
-                }
-              ]
-            }
-          }
-        }
-      }
-    ]
-  }
-}
\ No newline at end of file
+                                       "properties": {
+                                               "tca_policy": {
+                                                       "domain": "measurementsForVfScaling",
+                                                       "metricsPerEventName": [
+                                                               {
+                                                                       "eventName": "vLoadBalancer",
+                                                                       "controlLoopSchemaType": "VNF",
+                                                                       "policyScope": "resource=vLoadBalancer;type=configuration",
+                                                                       "policyName": "onap.vfirewall.tca",
+                                                                       "policyVersion": "v0.0.1",
+                                                                       "thresholds": [
+                                                                               {
+                                                                                       "closedLoopControlName": "ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a",
+                                                                                       "closedLoopEventStatus": "ONSET",
+                                                                                       "version": "1.0.2",
+                                                                                       "fieldPath": "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated",
+                                                                                       "thresholdValue": 500,
+                                                                                       "direction": "LESS_OR_EQUAL",
+                                                                                       "severity": "MAJOR"
+                                                                               },
+                                                                               {
+                                                                                       "closedLoopControlName": "ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a",
+                                                                                       "closedLoopEventStatus": "ONSET",
+                                                                                       "version": "1.0.2",
+                                                                                       "fieldPath": "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated",
+                                                                                       "thresholdValue": 5000,
+                                                                                       "direction": "GREATER_OR_EQUAL",
+                                                                                       "severity": "CRITICAL"
+                                                                               }
+                                                                       ]
+                                                               }
+                                                       ]
+                                               }
+                                       }
+                               }
+                       }
+               ]
+       }
+}
index 498000a..c5dd8f0 100644 (file)
@@ -37,7 +37,6 @@ import org.onap.policy.models.provider.PolicyModelsProviderParameters;
 import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicy;
 import org.onap.policy.models.tosca.legacy.concepts.LegacyOperationalPolicy;
 import org.onap.policy.models.tosca.simple.concepts.ToscaServiceTemplate;
-import org.onap.policy.models.tosca.simple.provider.SimpleToscaProvider;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -47,7 +46,7 @@ import org.slf4j.LoggerFactory;
  * @author Liam Fallon (liam.fallon@est.tech)
  */
 public class DatabasePolicyModelsProviderTest {
-    private static final Logger LOGGER = LoggerFactory.getLogger(SimpleToscaProvider.class);
+    private static final Logger LOGGER = LoggerFactory.getLogger(DatabasePolicyModelsProviderTest.class);
 
     PolicyModelsProviderParameters parameters;
 
diff --git a/models-provider/src/test/java/org/onap/policy/models/provider/impl/MonitoringPolicyPersistenceTest.java b/models-provider/src/test/java/org/onap/policy/models/provider/impl/MonitoringPolicyPersistenceTest.java
deleted file mode 100644 (file)
index b26e762..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- *  Copyright (C) 2019 Nordix Foundation.
- * ================================================================================
- * 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.models.provider.impl;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import com.google.gson.Gson;
-import com.google.gson.JsonSyntaxException;
-
-import java.io.IOException;
-import java.sql.Connection;
-import java.sql.DriverManager;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.onap.policy.common.utils.resources.ResourceUtils;
-import org.onap.policy.models.base.PfConceptKey;
-import org.onap.policy.models.base.PfValidationResult;
-import org.onap.policy.models.dao.DaoParameters;
-import org.onap.policy.models.dao.PfDao;
-import org.onap.policy.models.dao.PfDaoFactory;
-import org.onap.policy.models.dao.impl.DefaultPfDao;
-import org.onap.policy.models.tosca.simple.concepts.ToscaPolicy;
-import org.onap.policy.models.tosca.simple.concepts.ToscaServiceTemplate;
-import org.onap.policy.models.tosca.simple.serialization.ToscaServiceTemplateMessageBodyHandler;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Test persistence of monitoring policies to and from the database.
- *
- * @author Liam Fallon (liam.fallon@est.tech)
- */
-public class MonitoringPolicyPersistenceTest {
-    // Logger for this class
-    private static final Logger LOGGER = LoggerFactory.getLogger(MonitoringPolicyPersistenceTest.class);
-
-    private Gson gson;
-
-    private Connection connection;
-    private PfDao pfDao;
-
-    /**
-     * Set up the DAO towards the database.
-     *
-     * @throws Exception on database errors
-     */
-    @Before
-    public void setupDao() throws Exception {
-        // Use the JDBC UI "jdbc:h2:mem:testdb" to test towards the h2 database
-        // Use the JDBC UI "jdbc:mariadb://localhost:3306/policy" to test towards a locally installed mariadb instance
-        connection = DriverManager.getConnection("jdbc:h2:mem:testdb", "policy", "P01icY");
-
-        final DaoParameters daoParameters = new DaoParameters();
-        daoParameters.setPluginClass(DefaultPfDao.class.getCanonicalName());
-
-        // Use the persistence unit ToscaConceptTest to test towards the h2 database
-        // Use the persistence unit ToscaConceptMariaDBTest to test towards a locally installed mariadb instance
-        daoParameters.setPersistenceUnit("ToscaConceptTest");
-
-        pfDao = new PfDaoFactory().createPfDao(daoParameters);
-        pfDao.init(daoParameters);
-    }
-
-    /**
-     * Set up GSON.
-     */
-    @Before
-    public void setupGson() {
-        gson = new ToscaServiceTemplateMessageBodyHandler().getGson();
-    }
-
-    @After
-    public void teardown() throws Exception {
-        pfDao.close();
-        connection.close();
-    }
-
-    @Test
-    public void testJsonDeserialization() throws JsonSyntaxException, IOException {
-        ToscaServiceTemplate serviceTemplate =
-                gson.fromJson(ResourceUtils.getResourceAsString("policies/vCPE.policy.monitoring.input.tosca.json"),
-                        ToscaServiceTemplate.class);
-
-        assertNotNull(serviceTemplate);
-        LOGGER.info(serviceTemplate.validate(new PfValidationResult()).toString());
-        assertTrue(serviceTemplate.validate(new PfValidationResult()).isValid());
-
-        ToscaPolicy policyBeforeDb = serviceTemplate.getTopologyTemplate().getPolicies().get("onap.restart.tca");
-
-        pfDao.create(policyBeforeDb);
-
-        ToscaPolicy policyAfterDb = pfDao.get(ToscaPolicy.class, new PfConceptKey("onap.restart.tca:1.0.0"));
-
-        assertEquals(policyBeforeDb, policyAfterDb);
-    }
-}
diff --git a/models-provider/src/test/java/org/onap/policy/models/provider/impl/PolicyPersistenceTest.java b/models-provider/src/test/java/org/onap/policy/models/provider/impl/PolicyPersistenceTest.java
new file mode 100644 (file)
index 0000000..de29977
--- /dev/null
@@ -0,0 +1,159 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2019 Nordix Foundation.
+ * ================================================================================
+ * 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.models.provider.impl;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+
+import java.util.Base64;
+
+import lombok.NonNull;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.onap.policy.common.utils.resources.ResourceUtils;
+import org.onap.policy.models.base.PfConceptKey;
+import org.onap.policy.models.base.PfModelException;
+import org.onap.policy.models.base.PfValidationResult;
+import org.onap.policy.models.provider.PolicyModelsProvider;
+import org.onap.policy.models.provider.PolicyModelsProviderFactory;
+import org.onap.policy.models.provider.PolicyModelsProviderParameters;
+import org.onap.policy.models.tosca.simple.concepts.ToscaPolicy;
+import org.onap.policy.models.tosca.simple.concepts.ToscaServiceTemplate;
+import org.onap.policy.models.tosca.simple.serialization.ToscaServiceTemplateMessageBodyHandler;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.yaml.snakeyaml.Yaml;
+
+/**
+ * Test persistence of monitoring policies to and from the database.
+ *
+ * @author Liam Fallon (liam.fallon@est.tech)
+ */
+public class PolicyPersistenceTest {
+    // Logger for this class
+    private static final Logger LOGGER = LoggerFactory.getLogger(PolicyPersistenceTest.class);
+
+    private Gson gson;
+
+    private PolicyModelsProvider databaseProvider;
+
+    // @formatter:off
+    private String[] policyResourceNames = {
+        "policies/vCPE.policy.monitoring.input.tosca.json",
+        "policies/vCPE.policy.monitoring.input.tosca.yaml",
+        "policies/vCPE.policy.operational.input.tosca.yaml",
+        "policies/vDNS.policy.guard.frequency.input.tosca.json",
+        "policies/vDNS.policy.guard.frequency.input.tosca.yaml",
+        "policies/vDNS.policy.monitoring.input.tosca.json",
+        "policies/vDNS.policy.monitoring.input.tosca.yaml",
+        "policies/vDNS.policy.operational.input.tosca.yaml",
+        "policies/vFirewall.policy.monitoring.input.tosca.json",
+        "policies/vFirewall.policy.monitoring.input.tosca.yaml",
+        "policies/vFirewall.policy.operational.input.tosca.json",
+        "policies/vFirewall.policy.operational.input.tosca.yaml"
+    };
+    // @formatter:on
+
+    /**
+     * Initialize provider.
+     *
+     * @throws PfModelException on exceptions in the tests
+     */
+    @Before
+    public void setupParameters() throws PfModelException {
+        PolicyModelsProviderParameters parameters = new PolicyModelsProviderParameters();
+        parameters.setDatabaseUrl("jdbc:h2:mem:testdb");
+        parameters.setDatabaseUser("policy");
+        parameters.setDatabasePassword(Base64.getEncoder().encodeToString("P01icY".getBytes()));
+        parameters.setPersistenceUnit("ToscaConceptTest");
+
+        databaseProvider = new PolicyModelsProviderFactory().createPolicyModelsProvider(parameters);
+        databaseProvider.init();
+    }
+
+    /**
+     * Set up GSON.
+     */
+    @Before
+    public void setupGson() {
+        gson = new ToscaServiceTemplateMessageBodyHandler().getGson();
+    }
+
+    @After
+    public void teardown() throws Exception {
+        databaseProvider.close();
+    }
+
+    @Test
+    public void testPolicyPersistence() {
+        try {
+            for (String policyResourceName : policyResourceNames) {
+                String policyString = ResourceUtils.getResourceAsString(policyResourceName);
+
+                if (policyResourceName.endsWith("yaml")) {
+                    testYamlStringPolicyPersistence(policyString);
+                } else {
+                    testJsonStringPolicyPersistence(policyString);
+                }
+            }
+        } catch (Exception exc) {
+            LOGGER.warn("error processing policies", exc);
+            fail("test should not throw an exception");
+        }
+    }
+
+    private void testYamlStringPolicyPersistence(final String policyString) throws Exception {
+        Object yamlObject = new Yaml().load(policyString);
+        String yamlAsJsonString = new GsonBuilder().setPrettyPrinting().create().toJson(yamlObject);
+
+        testJsonStringPolicyPersistence(yamlAsJsonString);
+    }
+
+    /**
+     * Check persistence of a policy.
+     *
+     * @param policyString the policy as a string
+     * @throws Exception any exception thrown
+     */
+    public void testJsonStringPolicyPersistence(@NonNull final String policyString) throws Exception {
+        ToscaServiceTemplate serviceTemplate = gson.fromJson(policyString, ToscaServiceTemplate.class);
+
+        assertNotNull(serviceTemplate);
+        LOGGER.info(serviceTemplate.validate(new PfValidationResult()).toString());
+        assertTrue(serviceTemplate.validate(new PfValidationResult()).isValid());
+
+        databaseProvider.createPolicies(serviceTemplate);
+
+        for (PfConceptKey policyKey : serviceTemplate.getTopologyTemplate().getPolicies().getConceptMap().keySet()) {
+            ToscaPolicy incomingPolicy = serviceTemplate.getTopologyTemplate().getPolicies().get(policyKey);
+            ToscaPolicy databasePolicy =
+                    databaseProvider.getPolicies(policyKey).getTopologyTemplate().getPolicies().get(policyKey);
+            assertEquals(incomingPolicy, databasePolicy);
+        }
+    }
+}
index e25adfd..78f3153 100644 (file)
@@ -32,13 +32,10 @@ import java.lang.reflect.Type;
 
 import lombok.NonNull;
 
-import org.onap.policy.models.base.PfConceptKey;
 import org.onap.policy.models.tosca.simple.concepts.ToscaDataTypes;
 import org.onap.policy.models.tosca.simple.concepts.ToscaPolicyTypes;
 import org.onap.policy.models.tosca.simple.concepts.ToscaServiceTemplate;
 import org.onap.policy.models.tosca.simple.concepts.ToscaTopologyTemplate;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 /**
  * GSON type adapter for TOSCA policies.
@@ -49,8 +46,6 @@ import org.slf4j.LoggerFactory;
 public class ToscaServiceTemplateJsonAdapter
         implements JsonSerializer<ToscaServiceTemplate>, JsonDeserializer<ToscaServiceTemplate> {
 
-    private static final Logger LOGGER = LoggerFactory.getLogger(ToscaServiceTemplateJsonAdapter.class);
-
     private static final String TOPOLOGY_TEMPLATE = "topology_template";
     private static final String TOSCA_DEFINITIONS_VERSION = "tosca_definitions_version";
     private static final String POLICY_TYPES = "policy_types";
@@ -64,10 +59,7 @@ public class ToscaServiceTemplateJsonAdapter
         final JsonObject serviceTemplateJsonObject = serviceTemplateElement.getAsJsonObject();
 
         // The outgoing object
-        final PfConceptKey serviceTemplateKey = new PfConceptKey("IncomingServiceTemplate", "0.0.1");
-        final ToscaServiceTemplate serviceTemplate = new ToscaServiceTemplate(serviceTemplateKey);
-
-        // Set tosca_definitions_version
+        final ToscaServiceTemplate serviceTemplate = new ToscaServiceTemplate();
         serviceTemplate
                 .setToscaDefinitionsVersion(serviceTemplateJsonObject.get(TOSCA_DEFINITIONS_VERSION).getAsString());
 
@@ -75,19 +67,18 @@ public class ToscaServiceTemplateJsonAdapter
         if (serviceTemplateJsonObject.has(TOPOLOGY_TEMPLATE)) {
             serviceTemplate.setTopologyTemplate(new ToscaTopologyTemplateJsonAdapter().deserialize(
                     serviceTemplateJsonObject.get(TOPOLOGY_TEMPLATE), ToscaTopologyTemplate.class, context));
-            serviceTemplate.getTopologyTemplate().getKey().setParentConceptKey(serviceTemplateKey);
         }
 
         // Set policy_types
         if (serviceTemplateJsonObject.has(POLICY_TYPES)) {
-            serviceTemplate.setPolicyTypes(new ToscaPolicyTypesJsonAdapter().deserialize(
-                    serviceTemplateJsonObject.get(POLICY_TYPES), ToscaPolicyTypes.class, context));
+            serviceTemplate.setPolicyTypes(new ToscaPolicyTypesJsonAdapter()
+                    .deserialize(serviceTemplateJsonObject.get(POLICY_TYPES), ToscaPolicyTypes.class, context));
         }
 
         // Set data_types
         if (serviceTemplateJsonObject.has(DATA_TYPES)) {
-            serviceTemplate.setDataTypes(new ToscaDataTypesJsonAdapter().deserialize(
-                    serviceTemplateJsonObject.get(DATA_TYPES), ToscaDataTypes.class, context));
+            serviceTemplate.setDataTypes(new ToscaDataTypesJsonAdapter()
+                    .deserialize(serviceTemplateJsonObject.get(DATA_TYPES), ToscaDataTypes.class, context));
         }
 
         return serviceTemplate;
@@ -101,8 +92,8 @@ public class ToscaServiceTemplateJsonAdapter
 
         // Serialize tosca_definitions_version
         if (serviceTemplate.getToscaDefinitionsVersion() != null) {
-            serviceTemplateJsonObject.addProperty(
-                    TOSCA_DEFINITIONS_VERSION, serviceTemplate.getToscaDefinitionsVersion());
+            serviceTemplateJsonObject.addProperty(TOSCA_DEFINITIONS_VERSION,
+                    serviceTemplate.getToscaDefinitionsVersion());
         }
 
         // Serialize topoligy_template
@@ -114,15 +105,15 @@ public class ToscaServiceTemplateJsonAdapter
 
         // Serialize policy_types
         if (serviceTemplate.getPolicyTypes() != null) {
-            JsonElement policyTypesJsonElement = new ToscaPolicyTypesJsonAdapter()
-                    .serialize(serviceTemplate.getPolicyTypes(), type, context);
+            JsonElement policyTypesJsonElement =
+                    new ToscaPolicyTypesJsonAdapter().serialize(serviceTemplate.getPolicyTypes(), type, context);
             serviceTemplateJsonObject.add(POLICY_TYPES, policyTypesJsonElement);
         }
 
         // Serialize data_types
         if (serviceTemplate.getDataTypes() != null) {
-            JsonElement dataTypesJsonElement = new ToscaDataTypesJsonAdapter()
-                    .serialize(serviceTemplate.getDataTypes(), type, context);
+            JsonElement dataTypesJsonElement =
+                    new ToscaDataTypesJsonAdapter().serialize(serviceTemplate.getDataTypes(), type, context);
             serviceTemplateJsonObject.add(DATA_TYPES, dataTypesJsonElement);
         }
 
index 4dd55d5..7c813a6 100644 (file)
@@ -33,7 +33,7 @@ import org.junit.Test;
 import org.onap.policy.common.utils.validation.ToStringTester;
 
 /**
- * Class to perform unit tests of all pojos
+ * Class to perform unit tests of all pojos.
  *
  * @author Chenfei Gao (cgao@research.att.com)
  *
index bd6b26b..e9223b3 100644 (file)
@@ -37,7 +37,7 @@ import org.onap.policy.models.tosca.simple.concepts.ToscaServiceTemplate;
 import org.yaml.snakeyaml.Yaml;
 
 /**
- * This class performs unit test of {@link PlainToscaServiceTemplateMapper}}
+ * This class performs unit test of {@link PlainToscaServiceTemplateMapper}}.
  *
  * @author Chenfei Gao (cgao@research.att.com)
  */
index e491563..505e90e 100644 (file)
@@ -115,6 +115,7 @@ public class MonitoringPolicySerializationTest {
             verifyVfwMonitoringOutputserialization(serializedServiceTemplate);
 
         } catch (Exception e) {
+            LOGGER.warn("No exception should be thrown", e);
             fail("No exception should be thrown");
         }
     }