diff options
Diffstat (limited to 'models-tosca/src/main/java/org/onap/policy/models/tosca/simple/provider/SimpleToscaProvider.java')
-rw-r--r-- | models-tosca/src/main/java/org/onap/policy/models/tosca/simple/provider/SimpleToscaProvider.java | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/provider/SimpleToscaProvider.java b/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/provider/SimpleToscaProvider.java index cce6fd9ee..0a7983c47 100644 --- a/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/provider/SimpleToscaProvider.java +++ b/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/provider/SimpleToscaProvider.java @@ -29,6 +29,7 @@ import javax.ws.rs.core.Response; import lombok.NonNull; +import org.apache.commons.collections4.CollectionUtils; import org.onap.policy.models.base.PfConcept; import org.onap.policy.models.base.PfConceptFilter; import org.onap.policy.models.base.PfConceptKey; @@ -187,6 +188,14 @@ public class SimpleToscaProvider { List<JpaToscaPolicyType> jpaPolicyTypeList = dao.getFiltered(JpaToscaPolicyType.class, name, version); serviceTemplate.getPolicyTypes().getConceptMap().putAll(asConceptMap(jpaPolicyTypeList)); + // Return all data types + // TODO: In the next review, return just the data types used by the policy types on the policy type list + List<JpaToscaDataType> jpaDataTypeList = dao.getFiltered(JpaToscaDataType.class, null, null); + if (!CollectionUtils.isEmpty(jpaDataTypeList)) { + serviceTemplate.setDataTypes(new JpaToscaDataTypes()); + serviceTemplate.getDataTypes().getConceptMap().putAll(asConceptMap(jpaDataTypeList)); + } + LOGGER.debug("<-getPolicyTypes: name={}, version={}, serviceTemplate={}", name, version, serviceTemplate); return serviceTemplate; } @@ -205,6 +214,11 @@ public class SimpleToscaProvider { ToscaUtils.assertPolicyTypesExist(serviceTemplate); + // Create the data types on the policy type + if (ToscaUtils.doDataTypesExist(serviceTemplate)) { + createDataTypes(dao, serviceTemplate); + } + for (JpaToscaPolicyType policyType : serviceTemplate.getPolicyTypes().getAll(null)) { dao.create(policyType); } @@ -237,6 +251,11 @@ public class SimpleToscaProvider { ToscaUtils.assertPolicyTypesExist(serviceTemplate); + // Update the data types on the policy type + if (ToscaUtils.doDataTypesExist(serviceTemplate)) { + updateDataTypes(dao, serviceTemplate); + } + for (JpaToscaPolicyType policyType : serviceTemplate.getPolicyTypes().getAll(null)) { dao.update(policyType); } @@ -444,7 +463,7 @@ public class SimpleToscaProvider { // Policy type version is not specified, get the latest version from the database List<JpaToscaPolicyType> jpaPolicyTypeList = dao.getFiltered(JpaToscaPolicyType.class, policyTypeName, null); - if (jpaPolicyTypeList.isEmpty()) { + if (CollectionUtils.isEmpty(jpaPolicyTypeList)) { return null; } |