aboutsummaryrefslogtreecommitdiffstats
path: root/models-provider
diff options
context:
space:
mode:
authorliamfallon <liam.fallon@est.tech>2019-04-01 00:34:34 +0000
committerliamfallon <liam.fallon@est.tech>2019-04-01 00:34:34 +0000
commit2e9186e1eb441b3ec47cf2a959e34b9409134aba (patch)
treea83a9e904c767db38ffc3f7d34aca6ece395e0f6 /models-provider
parentfbed360c0acdc127fdf56a99401c1aea691ce57e (diff)
Refactor to authorative TOSCA serializtion
This review refactors the TOSCA support to use authorative serialization and mapping. It removes the JPA entities from the Proider interface It brings the mapping support from and to authorative concepts out of the JSON serialization classes directly into the JPA classes It adapts the unit tests to work with the refactored structure. Apologies for the review size but it all had to be done in a single block of work. Issue-ID: POLICY-1095 Change-Id: I4827d1dc67ef7aac98cba230ffcd79c6de71e805 Signed-off-by: liamfallon <liam.fallon@est.tech>
Diffstat (limited to 'models-provider')
-rw-r--r--models-provider/src/main/java/org/onap/policy/models/provider/PolicyModelsProvider.java38
-rw-r--r--models-provider/src/main/java/org/onap/policy/models/provider/impl/DatabasePolicyModelsProviderImpl.java40
-rw-r--r--models-provider/src/main/java/org/onap/policy/models/provider/impl/DummyPolicyModelsProviderImpl.java36
-rw-r--r--models-provider/src/test/java/org/onap/policy/models/provider/impl/DatabasePolicyModelsProviderTest.java76
-rw-r--r--models-provider/src/test/java/org/onap/policy/models/provider/impl/DummyBadProviderImpl.java19
-rw-r--r--models-provider/src/test/java/org/onap/policy/models/provider/impl/DummyPolicyModelsProviderSubImpl.java6
-rw-r--r--models-provider/src/test/java/org/onap/policy/models/provider/impl/DummyPolicyModelsProviderTest.java41
-rw-r--r--models-provider/src/test/java/org/onap/policy/models/provider/impl/PolicyPersistenceTest.java32
-rw-r--r--models-provider/src/test/java/org/onap/policy/models/provider/impl/PolicyToscaPersistenceTest.java33
9 files changed, 175 insertions, 146 deletions
diff --git a/models-provider/src/main/java/org/onap/policy/models/provider/PolicyModelsProvider.java b/models-provider/src/main/java/org/onap/policy/models/provider/PolicyModelsProvider.java
index e390a04f0..a8d8483e3 100644
--- a/models-provider/src/main/java/org/onap/policy/models/provider/PolicyModelsProvider.java
+++ b/models-provider/src/main/java/org/onap/policy/models/provider/PolicyModelsProvider.java
@@ -24,13 +24,12 @@ import java.util.Map;
import lombok.NonNull;
-import org.onap.policy.models.base.PfConceptKey;
import org.onap.policy.models.base.PfModelException;
import org.onap.policy.models.pdp.concepts.PdpGroups;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate;
import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicyInput;
import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicyOutput;
import org.onap.policy.models.tosca.legacy.concepts.LegacyOperationalPolicy;
-import org.onap.policy.models.tosca.simple.concepts.JpaToscaServiceTemplate;
/**
* This interface describes the operations that are provided to users and components for reading objects from and
@@ -49,12 +48,13 @@ public interface PolicyModelsProvider extends AutoCloseable {
/**
* Get policy types.
*
- * @param policyTypeKey the policy type key for the policy types to be retrieved. A null key name returns all policy
- * types. A null key version returns all versions of the policy type name specified in the key.
+ * @param name the name of the policy type to get.
+ * @param version the version of the policy type to get.
* @return the policy types found
* @throws PfModelException on errors getting policy types
*/
- public JpaToscaServiceTemplate getPolicyTypes(@NonNull final PfConceptKey policyTypeKey) throws PfModelException;
+ public ToscaServiceTemplate getPolicyTypes(@NonNull final String name, @NonNull final String version)
+ throws PfModelException;
/**
* Create policy types.
@@ -63,7 +63,7 @@ public interface PolicyModelsProvider extends AutoCloseable {
* @return the TOSCA service template containing the created policy types
* @throws PfModelException on errors creating policy types
*/
- public JpaToscaServiceTemplate createPolicyTypes(@NonNull final JpaToscaServiceTemplate serviceTemplate)
+ public ToscaServiceTemplate createPolicyTypes(@NonNull final ToscaServiceTemplate serviceTemplate)
throws PfModelException;
/**
@@ -73,28 +73,30 @@ public interface PolicyModelsProvider extends AutoCloseable {
* @return the TOSCA service template containing the modified policy types
* @throws PfModelException on errors updating policy types
*/
- public JpaToscaServiceTemplate updatePolicyTypes(@NonNull final JpaToscaServiceTemplate serviceTemplate)
+ public ToscaServiceTemplate updatePolicyTypes(@NonNull final ToscaServiceTemplate serviceTemplate)
throws PfModelException;
/**
* Delete policy types.
*
- * @param policyTypeKey the policy type key for the policy types to be deleted, if the version of the key is null,
- * all versions of the policy type are deleted.
+ * @param name the name of the policy type to delete.
+ * @param version the version of the policy type to delete.
* @return the TOSCA service template containing the policy types that were deleted
* @throws PfModelException on errors deleting policy types
*/
- public JpaToscaServiceTemplate deletePolicyTypes(@NonNull final PfConceptKey policyTypeKey) throws PfModelException;
+ public ToscaServiceTemplate deletePolicyTypes(@NonNull final String name, @NonNull final String version)
+ throws PfModelException;
/**
* Get policies.
*
- * @param policyKey the policy key for the policies to be retrieved. The parent name and version must be specified.
- * A null local name returns all policies for a parent policy type.
+ * @param name the name of the policy to get.
+ * @param version the version of the policy to get.
* @return the policies found
* @throws PfModelException on errors getting policies
*/
- public JpaToscaServiceTemplate getPolicies(@NonNull final PfConceptKey policyKey) throws PfModelException;
+ public ToscaServiceTemplate getPolicies(@NonNull final String name, @NonNull final String version)
+ throws PfModelException;
/**
* Create policies.
@@ -103,7 +105,7 @@ public interface PolicyModelsProvider extends AutoCloseable {
* @return the TOSCA service template containing the policy types that were created
* @throws PfModelException on errors creating policies
*/
- public JpaToscaServiceTemplate createPolicies(@NonNull final JpaToscaServiceTemplate serviceTemplate)
+ public ToscaServiceTemplate createPolicies(@NonNull final ToscaServiceTemplate serviceTemplate)
throws PfModelException;
@@ -114,17 +116,19 @@ public interface PolicyModelsProvider extends AutoCloseable {
* @return the TOSCA service template containing the policies that were updated
* @throws PfModelException on errors updating policies
*/
- public JpaToscaServiceTemplate updatePolicies(@NonNull final JpaToscaServiceTemplate serviceTemplate)
+ public ToscaServiceTemplate updatePolicies(@NonNull final ToscaServiceTemplate serviceTemplate)
throws PfModelException;
/**
* Delete policies.
*
- * @param policyKey the policy key
+ * @param name the name of the policy to delete.
+ * @param version the version of the policy to delete.
* @return the TOSCA service template containing the policy types that were deleted
* @throws PfModelException on errors deleting policies
*/
- public JpaToscaServiceTemplate deletePolicies(@NonNull final PfConceptKey policyKey) throws PfModelException;
+ public ToscaServiceTemplate deletePolicies(@NonNull final String name, @NonNull final String version)
+ throws PfModelException;
/**
* Get legacy operational policy.
diff --git a/models-provider/src/main/java/org/onap/policy/models/provider/impl/DatabasePolicyModelsProviderImpl.java b/models-provider/src/main/java/org/onap/policy/models/provider/impl/DatabasePolicyModelsProviderImpl.java
index 85c4d139c..9a32feb65 100644
--- a/models-provider/src/main/java/org/onap/policy/models/provider/impl/DatabasePolicyModelsProviderImpl.java
+++ b/models-provider/src/main/java/org/onap/policy/models/provider/impl/DatabasePolicyModelsProviderImpl.java
@@ -29,7 +29,6 @@ import javax.ws.rs.core.Response;
import lombok.NonNull;
-import org.onap.policy.models.base.PfConceptKey;
import org.onap.policy.models.base.PfModelException;
import org.onap.policy.models.base.PfModelRuntimeException;
import org.onap.policy.models.dao.DaoParameters;
@@ -40,12 +39,12 @@ import org.onap.policy.models.pdp.concepts.PdpGroups;
import org.onap.policy.models.pdp.persistence.provider.PdpProvider;
import org.onap.policy.models.provider.PolicyModelsProvider;
import org.onap.policy.models.provider.PolicyModelsProviderParameters;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate;
+import org.onap.policy.models.tosca.authorative.provider.AuthorativeToscaProvider;
import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicyInput;
import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicyOutput;
import org.onap.policy.models.tosca.legacy.concepts.LegacyOperationalPolicy;
import org.onap.policy.models.tosca.legacy.provider.LegacyProvider;
-import org.onap.policy.models.tosca.simple.concepts.JpaToscaServiceTemplate;
-import org.onap.policy.models.tosca.simple.provider.SimpleToscaProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -138,56 +137,59 @@ public class DatabasePolicyModelsProviderImpl implements PolicyModelsProvider {
}
@Override
- public JpaToscaServiceTemplate getPolicyTypes(@NonNull final PfConceptKey policyTypeKey) throws PfModelException {
+ public ToscaServiceTemplate getPolicyTypes(@NonNull final String name, @NonNull final String version)
+ throws PfModelException {
assertInitilized();
- return new SimpleToscaProvider().getPolicyTypes(pfDao, policyTypeKey);
+ return new AuthorativeToscaProvider().getPolicyTypes(pfDao, name, version);
}
@Override
- public JpaToscaServiceTemplate createPolicyTypes(@NonNull final JpaToscaServiceTemplate serviceTemplate)
+ public ToscaServiceTemplate createPolicyTypes(@NonNull final ToscaServiceTemplate serviceTemplate)
throws PfModelException {
assertInitilized();
- return new SimpleToscaProvider().createPolicyTypes(pfDao, serviceTemplate);
+ return new AuthorativeToscaProvider().createPolicyTypes(pfDao, serviceTemplate);
}
@Override
- public JpaToscaServiceTemplate updatePolicyTypes(@NonNull final JpaToscaServiceTemplate serviceTemplate)
+ public ToscaServiceTemplate updatePolicyTypes(@NonNull final ToscaServiceTemplate serviceTemplate)
throws PfModelException {
assertInitilized();
- return new SimpleToscaProvider().updatePolicyTypes(pfDao, serviceTemplate);
+ return new AuthorativeToscaProvider().updatePolicyTypes(pfDao, serviceTemplate);
}
@Override
- public JpaToscaServiceTemplate deletePolicyTypes(@NonNull final PfConceptKey policyTypeKey)
+ public ToscaServiceTemplate deletePolicyTypes(@NonNull final String name, @NonNull final String version)
throws PfModelException {
assertInitilized();
- return new SimpleToscaProvider().deletePolicyTypes(pfDao, policyTypeKey);
+ return new AuthorativeToscaProvider().deletePolicyTypes(pfDao, name, version);
}
@Override
- public JpaToscaServiceTemplate getPolicies(@NonNull final PfConceptKey policyKey) throws PfModelException {
+ public ToscaServiceTemplate getPolicies(@NonNull final String name, @NonNull final String version)
+ throws PfModelException {
assertInitilized();
- return new SimpleToscaProvider().getPolicies(pfDao, policyKey);
+ return new AuthorativeToscaProvider().getPolicies(pfDao, name, version);
}
@Override
- public JpaToscaServiceTemplate createPolicies(@NonNull final JpaToscaServiceTemplate serviceTemplate)
+ public ToscaServiceTemplate createPolicies(@NonNull final ToscaServiceTemplate serviceTemplate)
throws PfModelException {
assertInitilized();
- return new SimpleToscaProvider().createPolicies(pfDao, serviceTemplate);
+ return new AuthorativeToscaProvider().createPolicies(pfDao, serviceTemplate);
}
@Override
- public JpaToscaServiceTemplate updatePolicies(@NonNull final JpaToscaServiceTemplate serviceTemplate)
+ public ToscaServiceTemplate updatePolicies(@NonNull final ToscaServiceTemplate serviceTemplate)
throws PfModelException {
assertInitilized();
- return new SimpleToscaProvider().updatePolicies(pfDao, serviceTemplate);
+ return new AuthorativeToscaProvider().updatePolicies(pfDao, serviceTemplate);
}
@Override
- public JpaToscaServiceTemplate deletePolicies(@NonNull final PfConceptKey policyKey) throws PfModelException {
+ public ToscaServiceTemplate deletePolicies(@NonNull final String name, @NonNull final String version)
+ throws PfModelException {
assertInitilized();
- return new SimpleToscaProvider().deletePolicies(pfDao, policyKey);
+ return new AuthorativeToscaProvider().deletePolicies(pfDao, name, version);
}
@Override
diff --git a/models-provider/src/main/java/org/onap/policy/models/provider/impl/DummyPolicyModelsProviderImpl.java b/models-provider/src/main/java/org/onap/policy/models/provider/impl/DummyPolicyModelsProviderImpl.java
index e37b1d632..8881ed08e 100644
--- a/models-provider/src/main/java/org/onap/policy/models/provider/impl/DummyPolicyModelsProviderImpl.java
+++ b/models-provider/src/main/java/org/onap/policy/models/provider/impl/DummyPolicyModelsProviderImpl.java
@@ -21,25 +21,23 @@
package org.onap.policy.models.provider.impl;
-import com.google.gson.Gson;
-
import java.util.HashMap;
import java.util.Map;
import javax.ws.rs.core.Response;
import lombok.NonNull;
+
+import org.onap.policy.common.utils.coder.StandardCoder;
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.PfModelRuntimeException;
import org.onap.policy.models.pdp.concepts.PdpGroups;
import org.onap.policy.models.provider.PolicyModelsProvider;
import org.onap.policy.models.provider.PolicyModelsProviderParameters;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate;
import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicyInput;
import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicyOutput;
import org.onap.policy.models.tosca.legacy.concepts.LegacyOperationalPolicy;
-import org.onap.policy.models.tosca.simple.concepts.JpaToscaServiceTemplate;
-import org.onap.policy.models.tosca.simple.serialization.ToscaServiceTemplateMessageBodyHandler;
/**
* This class provides a dummy implementation of the Policy Models Provider for the ONAP Policy Framework.
@@ -66,47 +64,50 @@ public class DummyPolicyModelsProviderImpl implements PolicyModelsProvider {
}
@Override
- public JpaToscaServiceTemplate getPolicyTypes(@NonNull final PfConceptKey policyTypeKey) throws PfModelException {
+ public ToscaServiceTemplate getPolicyTypes(@NonNull final String name, @NonNull final String version)
+ throws PfModelException {
return getDummyResponse("dummyimpl/DummyToscaPolicyTypeGetResponse.json");
}
@Override
- public JpaToscaServiceTemplate createPolicyTypes(@NonNull final JpaToscaServiceTemplate serviceTemplate)
+ public ToscaServiceTemplate createPolicyTypes(@NonNull final ToscaServiceTemplate serviceTemplate)
throws PfModelException {
return serviceTemplate;
}
@Override
- public JpaToscaServiceTemplate updatePolicyTypes(@NonNull final JpaToscaServiceTemplate serviceTemplate)
+ public ToscaServiceTemplate updatePolicyTypes(@NonNull final ToscaServiceTemplate serviceTemplate)
throws PfModelException {
return serviceTemplate;
}
@Override
- public JpaToscaServiceTemplate deletePolicyTypes(@NonNull final PfConceptKey policyTypeKey)
+ public ToscaServiceTemplate deletePolicyTypes(@NonNull final String name, @NonNull final String version)
throws PfModelException {
return getDummyResponse("dummyimpl/DummyToscaPolicyTypeDeleteResponse.json");
}
@Override
- public JpaToscaServiceTemplate getPolicies(@NonNull final PfConceptKey policyKey) throws PfModelException {
+ public ToscaServiceTemplate getPolicies(@NonNull final String name, @NonNull final String version)
+ throws PfModelException {
return getDummyResponse("dummyimpl/DummyToscaPolicyGetResponse.json");
}
@Override
- public JpaToscaServiceTemplate createPolicies(@NonNull final JpaToscaServiceTemplate serviceTemplate)
+ public ToscaServiceTemplate createPolicies(@NonNull final ToscaServiceTemplate serviceTemplate)
throws PfModelException {
return serviceTemplate;
}
@Override
- public JpaToscaServiceTemplate updatePolicies(@NonNull final JpaToscaServiceTemplate serviceTemplate)
+ public ToscaServiceTemplate updatePolicies(@NonNull final ToscaServiceTemplate serviceTemplate)
throws PfModelException {
return serviceTemplate;
}
@Override
- public JpaToscaServiceTemplate deletePolicies(@NonNull final PfConceptKey policyKey) throws PfModelException {
+ public ToscaServiceTemplate deletePolicies(@NonNull final String name, @NonNull final String version)
+ throws PfModelException {
return getDummyResponse("dummyimpl/DummyToscaPolicyDeleteResponse.json");
}
@@ -182,12 +183,13 @@ public class DummyPolicyModelsProviderImpl implements PolicyModelsProvider {
* @param fileName the file name containing the dummy response
* @return the ToscaServiceTemplate with the dummy response
*/
- protected JpaToscaServiceTemplate getDummyResponse(@NonNull final String fileName) {
- Gson gson = new ToscaServiceTemplateMessageBodyHandler().getGson();
- JpaToscaServiceTemplate serviceTemplate;
+ protected ToscaServiceTemplate getDummyResponse(@NonNull final String fileName) {
+ StandardCoder standardCoder = new StandardCoder();
+ ToscaServiceTemplate serviceTemplate;
try {
- serviceTemplate = gson.fromJson(ResourceUtils.getResourceAsString(fileName), JpaToscaServiceTemplate.class);
+ serviceTemplate =
+ standardCoder.decode(ResourceUtils.getResourceAsString(fileName), ToscaServiceTemplate.class);
if (serviceTemplate == null) {
throw new PfModelException(Response.Status.INTERNAL_SERVER_ERROR, "error reading specified file");
}
diff --git a/models-provider/src/test/java/org/onap/policy/models/provider/impl/DatabasePolicyModelsProviderTest.java b/models-provider/src/test/java/org/onap/policy/models/provider/impl/DatabasePolicyModelsProviderTest.java
index 335233476..7eb712236 100644
--- a/models-provider/src/test/java/org/onap/policy/models/provider/impl/DatabasePolicyModelsProviderTest.java
+++ b/models-provider/src/test/java/org/onap/policy/models/provider/impl/DatabasePolicyModelsProviderTest.java
@@ -28,14 +28,13 @@ import java.util.Base64;
import org.junit.Before;
import org.junit.Test;
-import org.onap.policy.models.base.PfConceptKey;
import org.onap.policy.models.pdp.concepts.PdpGroups;
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.authorative.concepts.ToscaServiceTemplate;
import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicyInput;
import org.onap.policy.models.tosca.legacy.concepts.LegacyOperationalPolicy;
-import org.onap.policy.models.tosca.simple.concepts.JpaToscaServiceTemplate;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -120,9 +119,16 @@ public class DatabasePolicyModelsProviderTest {
databaseProvider.init();
assertThatThrownBy(() -> {
- databaseProvider.getPolicyTypes(null);
- }).hasMessage("policyTypeKey is marked @NonNull but is null");
+ databaseProvider.getPolicyTypes(null, null);
+ }).hasMessage("name is marked @NonNull but is null");
+ assertThatThrownBy(() -> {
+ databaseProvider.getPolicyTypes("aaa", null);
+ }).hasMessage("version is marked @NonNull but is null");
+
+ assertThatThrownBy(() -> {
+ databaseProvider.getPolicyTypes(null, "aaa");
+ }).hasMessage("name is marked @NonNull but is null");
assertThatThrownBy(() -> {
databaseProvider.createPolicyTypes(null);
@@ -133,12 +139,28 @@ public class DatabasePolicyModelsProviderTest {
}).hasMessage("serviceTemplate is marked @NonNull but is null");
assertThatThrownBy(() -> {
- databaseProvider.deletePolicyTypes(null);
- }).hasMessage("policyTypeKey is marked @NonNull but is null");
+ databaseProvider.deletePolicyTypes(null, null);
+ }).hasMessage("name is marked @NonNull but is null");
+
+ assertThatThrownBy(() -> {
+ databaseProvider.deletePolicyTypes("aaa", null);
+ }).hasMessage("version is marked @NonNull but is null");
+
+ assertThatThrownBy(() -> {
+ databaseProvider.deletePolicyTypes(null, "aaa");
+ }).hasMessage("name is marked @NonNull but is null");
assertThatThrownBy(() -> {
- databaseProvider.getPolicies(null);
- }).hasMessage("policyKey is marked @NonNull but is null");
+ databaseProvider.getPolicies(null, null);
+ }).hasMessage("name is marked @NonNull but is null");
+
+ assertThatThrownBy(() -> {
+ databaseProvider.getPolicies(null, "aaa");
+ }).hasMessage("name is marked @NonNull but is null");
+
+ assertThatThrownBy(() -> {
+ databaseProvider.getPolicies("aaa", null);
+ }).hasMessage("version is marked @NonNull but is null");
assertThatThrownBy(() -> {
databaseProvider.createPolicies(null);
@@ -149,8 +171,16 @@ public class DatabasePolicyModelsProviderTest {
}).hasMessage("serviceTemplate is marked @NonNull but is null");
assertThatThrownBy(() -> {
- databaseProvider.deletePolicies(null);
- }).hasMessage("policyKey is marked @NonNull but is null");
+ databaseProvider.deletePolicies(null, null);
+ }).hasMessage("name is marked @NonNull but is null");
+
+ assertThatThrownBy(() -> {
+ databaseProvider.deletePolicies(null, "aaa");
+ }).hasMessage("name is marked @NonNull but is null");
+
+ assertThatThrownBy(() -> {
+ databaseProvider.deletePolicies("aaa", null);
+ }).hasMessage("version is marked @NonNull but is null");
assertThatThrownBy(() -> {
databaseProvider.getOperationalPolicy(null);
@@ -210,7 +240,7 @@ public class DatabasePolicyModelsProviderTest {
new PolicyModelsProviderFactory().createPolicyModelsProvider(parameters);
assertThatThrownBy(() -> {
- databaseProvider.getPolicyTypes(new PfConceptKey());
+ databaseProvider.getPolicyTypes("name", "version");
}).hasMessage("policy models provider is not initilaized");
}
@@ -221,36 +251,36 @@ public class DatabasePolicyModelsProviderTest {
databaseProvider.init();
assertThatThrownBy(() -> {
- databaseProvider.getPolicyTypes(new PfConceptKey());
- }).hasMessage("policy type not found: NULL:0.0.0");
+ databaseProvider.getPolicyTypes("name", "version");
+ }).hasMessage("policy type not found: name:version");
assertThatThrownBy(() -> {
- databaseProvider.createPolicyTypes(new JpaToscaServiceTemplate());
+ databaseProvider.createPolicyTypes(new ToscaServiceTemplate());
}).hasMessage("no policy types specified on service template");
assertThatThrownBy(() -> {
- databaseProvider.updatePolicyTypes(new JpaToscaServiceTemplate());
+ databaseProvider.updatePolicyTypes(new ToscaServiceTemplate());
}).hasMessage("no policy types specified on service template");
assertThatThrownBy(() -> {
- databaseProvider.deletePolicyTypes(new PfConceptKey());
- }).hasMessage("policy type not found: NULL:0.0.0");
+ databaseProvider.deletePolicyTypes("name", "version");
+ }).hasMessage("policy type not found: name:version");
assertThatThrownBy(() -> {
- databaseProvider.getPolicies(new PfConceptKey());
- }).hasMessage("policy not found: NULL:0.0.0");
+ databaseProvider.getPolicies("name", "version");
+ }).hasMessage("policy not found: name:version");
assertThatThrownBy(() -> {
- databaseProvider.createPolicies(new JpaToscaServiceTemplate());
+ databaseProvider.createPolicies(new ToscaServiceTemplate());
}).hasMessage("topology template not specified on service template");
assertThatThrownBy(() -> {
- databaseProvider.updatePolicies(new JpaToscaServiceTemplate());
+ databaseProvider.updatePolicies(new ToscaServiceTemplate());
}).hasMessage("topology template not specified on service template");
assertThatThrownBy(() -> {
- databaseProvider.deletePolicies(new PfConceptKey());
- }).hasMessage("policy not found: NULL:0.0.0");
+ databaseProvider.deletePolicies("name", "version");
+ }).hasMessage("policy not found: name:version");
assertThatThrownBy(() -> {
databaseProvider.getOperationalPolicy("policy_id");
diff --git a/models-provider/src/test/java/org/onap/policy/models/provider/impl/DummyBadProviderImpl.java b/models-provider/src/test/java/org/onap/policy/models/provider/impl/DummyBadProviderImpl.java
index 2ee210c13..a9a0d13e3 100644
--- a/models-provider/src/test/java/org/onap/policy/models/provider/impl/DummyBadProviderImpl.java
+++ b/models-provider/src/test/java/org/onap/policy/models/provider/impl/DummyBadProviderImpl.java
@@ -26,15 +26,14 @@ import javax.ws.rs.core.Response;
import lombok.NonNull;
-import org.onap.policy.models.base.PfConceptKey;
import org.onap.policy.models.base.PfModelException;
import org.onap.policy.models.base.PfModelRuntimeException;
import org.onap.policy.models.pdp.concepts.PdpGroups;
import org.onap.policy.models.provider.PolicyModelsProvider;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate;
import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicyInput;
import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicyOutput;
import org.onap.policy.models.tosca.legacy.concepts.LegacyOperationalPolicy;
-import org.onap.policy.models.tosca.simple.concepts.JpaToscaServiceTemplate;
/**
* Dummy implementation of {@link PolicyModelsProvider} with bad constructor.
@@ -53,46 +52,46 @@ public class DummyBadProviderImpl implements PolicyModelsProvider {
public void init() throws PfModelException {}
@Override
- public JpaToscaServiceTemplate getPolicyTypes(@NonNull PfConceptKey policyTypeKey) throws PfModelException {
+ public ToscaServiceTemplate getPolicyTypes(final String name, final String version) throws PfModelException {
return null;
}
@Override
- public JpaToscaServiceTemplate createPolicyTypes(@NonNull JpaToscaServiceTemplate serviceTemplate)
+ public ToscaServiceTemplate createPolicyTypes(@NonNull ToscaServiceTemplate serviceTemplate)
throws PfModelException {
return null;
}
@Override
- public JpaToscaServiceTemplate updatePolicyTypes(@NonNull JpaToscaServiceTemplate serviceTemplate)
+ public ToscaServiceTemplate updatePolicyTypes(@NonNull ToscaServiceTemplate serviceTemplate)
throws PfModelException {
return null;
}
@Override
- public JpaToscaServiceTemplate deletePolicyTypes(@NonNull PfConceptKey policyTypeKey) throws PfModelException {
+ public ToscaServiceTemplate deletePolicyTypes(final String name, final String version) throws PfModelException {
return null;
}
@Override
- public JpaToscaServiceTemplate getPolicies(@NonNull PfConceptKey policyKey) throws PfModelException {
+ public ToscaServiceTemplate getPolicies(final String name, final String version) throws PfModelException {
return null;
}
@Override
- public JpaToscaServiceTemplate createPolicies(@NonNull JpaToscaServiceTemplate serviceTemplate)
+ public ToscaServiceTemplate createPolicies(@NonNull ToscaServiceTemplate serviceTemplate)
throws PfModelException {
return null;
}
@Override
- public JpaToscaServiceTemplate updatePolicies(@NonNull JpaToscaServiceTemplate serviceTemplate)
+ public ToscaServiceTemplate updatePolicies(@NonNull ToscaServiceTemplate serviceTemplate)
throws PfModelException {
return null;
}
@Override
- public JpaToscaServiceTemplate deletePolicies(@NonNull PfConceptKey policyKey) throws PfModelException {
+ public ToscaServiceTemplate deletePolicies(final String name, final String version) throws PfModelException {
return null;
}
diff --git a/models-provider/src/test/java/org/onap/policy/models/provider/impl/DummyPolicyModelsProviderSubImpl.java b/models-provider/src/test/java/org/onap/policy/models/provider/impl/DummyPolicyModelsProviderSubImpl.java
index 66c7762f8..797b1ac36 100644
--- a/models-provider/src/test/java/org/onap/policy/models/provider/impl/DummyPolicyModelsProviderSubImpl.java
+++ b/models-provider/src/test/java/org/onap/policy/models/provider/impl/DummyPolicyModelsProviderSubImpl.java
@@ -23,7 +23,7 @@ package org.onap.policy.models.provider.impl;
import lombok.NonNull;
import org.onap.policy.models.provider.PolicyModelsProviderParameters;
-import org.onap.policy.models.tosca.simple.concepts.JpaToscaServiceTemplate;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate;
/**
* Sub class to check getDummyResponse() method in base class.
@@ -40,11 +40,11 @@ public class DummyPolicyModelsProviderSubImpl extends DummyPolicyModelsProviderI
super(parameters);
}
- public JpaToscaServiceTemplate getBadDummyResponse1() {
+ public ToscaServiceTemplate getBadDummyResponse1() {
return super.getDummyResponse("/i/dont/exist");
}
- public JpaToscaServiceTemplate getBadDummyResponse2() {
+ public ToscaServiceTemplate getBadDummyResponse2() {
return super.getDummyResponse(null);
}
}
diff --git a/models-provider/src/test/java/org/onap/policy/models/provider/impl/DummyPolicyModelsProviderTest.java b/models-provider/src/test/java/org/onap/policy/models/provider/impl/DummyPolicyModelsProviderTest.java
index af76edbcb..3e13d854c 100644
--- a/models-provider/src/test/java/org/onap/policy/models/provider/impl/DummyPolicyModelsProviderTest.java
+++ b/models-provider/src/test/java/org/onap/policy/models/provider/impl/DummyPolicyModelsProviderTest.java
@@ -26,14 +26,13 @@ import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.fail;
import org.junit.Test;
-import org.onap.policy.models.base.PfConceptKey;
import org.onap.policy.models.pdp.concepts.PdpGroups;
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.authorative.concepts.ToscaServiceTemplate;
import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicyInput;
import org.onap.policy.models.tosca.legacy.concepts.LegacyOperationalPolicy;
-import org.onap.policy.models.tosca.simple.concepts.JpaToscaServiceTemplate;
/**
* Test the dummy models provider implementation.
@@ -53,10 +52,10 @@ public class DummyPolicyModelsProviderTest {
dummyProvider.init();
- JpaToscaServiceTemplate serviceTemplate = dummyProvider.getPolicies(new PfConceptKey());
+ ToscaServiceTemplate serviceTemplate = dummyProvider.getPolicies("onap.vcpe.tca", "1.0.0");
assertNotNull(serviceTemplate);
- assertEquals("onap.vcpe.tca:1.0.0",
- serviceTemplate.getTopologyTemplate().getPolicies().get("onap.vcpe.tca").getId());
+ assertEquals("onap.policies.monitoring.cdap.tca.hi.lo.app",
+ serviceTemplate.getToscaTopologyTemplate().getPolicies().get(0).get("onap.vcpe.tca").getType());
dummyProvider.close();
}
@@ -71,15 +70,15 @@ public class DummyPolicyModelsProviderTest {
PolicyModelsProvider dummyProvider = new PolicyModelsProviderFactory().createPolicyModelsProvider(parameters);
dummyProvider.init();
- assertNotNull(dummyProvider.getPolicyTypes(new PfConceptKey()));
- assertNotNull(dummyProvider.createPolicyTypes(new JpaToscaServiceTemplate()));
- assertNotNull(dummyProvider.updatePolicyTypes(new JpaToscaServiceTemplate()));
- assertNotNull(dummyProvider.deletePolicyTypes(new PfConceptKey()));
+ assertNotNull(dummyProvider.getPolicyTypes("name", "version"));
+ assertNotNull(dummyProvider.createPolicyTypes(new ToscaServiceTemplate()));
+ assertNotNull(dummyProvider.updatePolicyTypes(new ToscaServiceTemplate()));
+ assertNotNull(dummyProvider.deletePolicyTypes("name", "version"));
- assertNotNull(dummyProvider.getPolicies(new PfConceptKey()));
- assertNotNull(dummyProvider.createPolicies(new JpaToscaServiceTemplate()));
- assertNotNull(dummyProvider.updatePolicies(new JpaToscaServiceTemplate()));
- assertNotNull(dummyProvider.deletePolicies(new PfConceptKey()));
+ assertNotNull(dummyProvider.getPolicies("name", "version"));
+ assertNotNull(dummyProvider.createPolicies(new ToscaServiceTemplate()));
+ assertNotNull(dummyProvider.updatePolicies(new ToscaServiceTemplate()));
+ assertNotNull(dummyProvider.deletePolicies("name", "version"));
assertNotNull(dummyProvider.getOperationalPolicy("policy_id"));
assertNotNull(dummyProvider.createOperationalPolicy(new LegacyOperationalPolicy()));
@@ -97,8 +96,8 @@ public class DummyPolicyModelsProviderTest {
assertNotNull(dummyProvider.deletePdpGroups("filter"));
assertThatThrownBy(() -> {
- dummyProvider.getPolicyTypes(null);
- }).hasMessage("policyTypeKey is marked @NonNull but is null");
+ dummyProvider.getPolicyTypes(null, null);
+ }).hasMessage("name is marked @NonNull but is null");
assertThatThrownBy(() -> {
dummyProvider.createPolicyTypes(null);
}).hasMessage("serviceTemplate is marked @NonNull but is null");
@@ -106,12 +105,12 @@ public class DummyPolicyModelsProviderTest {
dummyProvider.updatePolicyTypes(null);
}).hasMessage("serviceTemplate is marked @NonNull but is null");
assertThatThrownBy(() -> {
- dummyProvider.deletePolicyTypes(null);
- }).hasMessage("policyTypeKey is marked @NonNull but is null");
+ dummyProvider.deletePolicyTypes(null, null);
+ }).hasMessage("name is marked @NonNull but is null");
assertThatThrownBy(() -> {
- dummyProvider.getPolicies(null);
- }).hasMessage("policyKey is marked @NonNull but is null");
+ dummyProvider.getPolicies(null, null);
+ }).hasMessage("name is marked @NonNull but is null");
assertThatThrownBy(() -> {
dummyProvider.createPolicies(null);
}).hasMessage("serviceTemplate is marked @NonNull but is null");
@@ -119,8 +118,8 @@ public class DummyPolicyModelsProviderTest {
dummyProvider.updatePolicies(null);
}).hasMessage("serviceTemplate is marked @NonNull but is null");
assertThatThrownBy(() -> {
- dummyProvider.deletePolicies(null);
- }).hasMessage("policyKey is marked @NonNull but is null");
+ dummyProvider.deletePolicies(null, null);
+ }).hasMessage("name is marked @NonNull but is null");
assertThatThrownBy(() -> {
dummyProvider.getOperationalPolicy(null);
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
index e0aba8a9e..b29e1d642 100644
--- 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
@@ -22,29 +22,26 @@ 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 java.util.Map;
import lombok.NonNull;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
+import org.onap.policy.common.utils.coder.StandardCoder;
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.JpaToscaPolicy;
-import org.onap.policy.models.tosca.simple.concepts.JpaToscaServiceTemplate;
-import org.onap.policy.models.tosca.simple.serialization.ToscaServiceTemplateMessageBodyHandler;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.yaml.snakeyaml.Yaml;
@@ -58,7 +55,7 @@ public class PolicyPersistenceTest {
// Logger for this class
private static final Logger LOGGER = LoggerFactory.getLogger(PolicyPersistenceTest.class);
- private Gson gson;
+ private StandardCoder standardCoder;
private PolicyModelsProvider databaseProvider;
@@ -101,7 +98,7 @@ public class PolicyPersistenceTest {
*/
@Before
public void setupGson() {
- gson = new ToscaServiceTemplateMessageBodyHandler().getGson();
+ standardCoder = new StandardCoder();
}
@After
@@ -141,19 +138,20 @@ public class PolicyPersistenceTest {
* @throws Exception any exception thrown
*/
public void testJsonStringPolicyPersistence(@NonNull final String policyString) throws Exception {
- JpaToscaServiceTemplate serviceTemplate = gson.fromJson(policyString, JpaToscaServiceTemplate.class);
+ ToscaServiceTemplate serviceTemplate = standardCoder.decode(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()) {
- JpaToscaPolicy incomingPolicy = serviceTemplate.getTopologyTemplate().getPolicies().get(policyKey);
- JpaToscaPolicy databasePolicy =
- databaseProvider.getPolicies(policyKey).getTopologyTemplate().getPolicies().get(policyKey);
- assertEquals(incomingPolicy, databasePolicy);
+ for (Map<String, ToscaPolicy> policyMap : serviceTemplate.getToscaTopologyTemplate().getPolicies()) {
+ for (ToscaPolicy policy : policyMap.values()) {
+ ToscaServiceTemplate goToscaServiceTemplate =
+ databaseProvider.getPolicies(policy.getName(), policy.getVersion());
+
+ assertEquals(goToscaServiceTemplate.getToscaTopologyTemplate().getPolicies().get(0)
+ .get(policy.getName()).getType(), policy.getType());
+ }
}
}
}
diff --git a/models-provider/src/test/java/org/onap/policy/models/provider/impl/PolicyToscaPersistenceTest.java b/models-provider/src/test/java/org/onap/policy/models/provider/impl/PolicyToscaPersistenceTest.java
index bd85358b3..f2b867604 100644
--- a/models-provider/src/test/java/org/onap/policy/models/provider/impl/PolicyToscaPersistenceTest.java
+++ b/models-provider/src/test/java/org/onap/policy/models/provider/impl/PolicyToscaPersistenceTest.java
@@ -22,10 +22,8 @@ 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;
@@ -35,16 +33,14 @@ import lombok.NonNull;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
+import org.onap.policy.common.utils.coder.StandardCoder;
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.JpaToscaPolicy;
-import org.onap.policy.models.tosca.simple.concepts.JpaToscaServiceTemplate;
-import org.onap.policy.models.tosca.simple.serialization.ToscaServiceTemplateMessageBodyHandler;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.yaml.snakeyaml.Yaml;
@@ -58,7 +54,7 @@ public class PolicyToscaPersistenceTest {
// Logger for this class
private static final Logger LOGGER = LoggerFactory.getLogger(PolicyToscaPersistenceTest.class);
- private Gson gson;
+ private StandardCoder standardCoder;
private PolicyModelsProvider databaseProvider;
@@ -97,11 +93,11 @@ public class PolicyToscaPersistenceTest {
}
/**
- * Set up GSON.
+ * Set up the standard coder.
*/
@Before
- public void setupGson() {
- gson = new ToscaServiceTemplateMessageBodyHandler().getGson();
+ public void setupStandardCoder() {
+ standardCoder = new StandardCoder();
}
@After
@@ -141,19 +137,18 @@ public class PolicyToscaPersistenceTest {
* @throws Exception any exception thrown
*/
public void testJsonStringPolicyPersistence(@NonNull final String policyString) throws Exception {
- JpaToscaServiceTemplate serviceTemplate = gson.fromJson(policyString, JpaToscaServiceTemplate.class);
+ ToscaServiceTemplate serviceTemplate = standardCoder.decode(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()) {
- JpaToscaPolicy incomingPolicy = serviceTemplate.getTopologyTemplate().getPolicies().get(policyKey);
- JpaToscaPolicy databasePolicy =
- databaseProvider.getPolicies(policyKey).getTopologyTemplate().getPolicies().get(policyKey);
- assertEquals(incomingPolicy, databasePolicy);
+ for (String policyKey : serviceTemplate.getToscaTopologyTemplate().getPolicies().get(0).keySet()) {
+ ToscaPolicy incomingPolicy = serviceTemplate.getToscaTopologyTemplate().getPolicies().get(0).get(policyKey);
+ ToscaPolicy databasePolicy =
+ databaseProvider.getPolicies(incomingPolicy.getName(), incomingPolicy.getVersion())
+ .getToscaTopologyTemplate().getPolicies().get(0).get(policyKey);
+ assertEquals(incomingPolicy.getType(), databasePolicy.getType());
}
}
}