X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=main%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fpolicy%2Fapi%2Fmain%2Fstartstop%2FApiDatabaseInitializer.java;h=aee283032012df24b063034cb0f9221edb4d6ec6;hb=86571f2d2b289edad0210d16ff7815578a118190;hp=6ac2f0fc0a77793bc2bb887007558fb74535d08e;hpb=c7bd8dbbfc3427485bbc6a69262de3b46079467e;p=policy%2Fapi.git diff --git a/main/src/main/java/org/onap/policy/api/main/startstop/ApiDatabaseInitializer.java b/main/src/main/java/org/onap/policy/api/main/startstop/ApiDatabaseInitializer.java index 6ac2f0fc..aee28303 100644 --- a/main/src/main/java/org/onap/policy/api/main/startstop/ApiDatabaseInitializer.java +++ b/main/src/main/java/org/onap/policy/api/main/startstop/ApiDatabaseInitializer.java @@ -3,7 +3,7 @@ * ONAP Policy API * ================================================================================ * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. - * Modifications Copyright (C) 2019 Nordix Foundation. + * Modifications Copyright (C) 2019-2020 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,6 +24,7 @@ package org.onap.policy.api.main.startstop; import java.util.LinkedHashMap; + import org.onap.policy.api.main.exception.PolicyApiException; import org.onap.policy.api.main.parameters.ApiParameterGroup; import org.onap.policy.common.utils.coder.CoderException; @@ -32,6 +33,7 @@ import org.onap.policy.common.utils.resources.ResourceUtils; import org.onap.policy.models.base.PfModelException; import org.onap.policy.models.provider.PolicyModelsProvider; import org.onap.policy.models.provider.PolicyModelsProviderFactory; +import org.onap.policy.models.tosca.authorative.concepts.ToscaDataType; import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyType; import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate; import org.slf4j.Logger; @@ -64,12 +66,12 @@ public class ApiDatabaseInitializer { * @param apiParameterGroup the apiParameterGroup parameters * @throws PolicyApiException in case of errors. */ - public void initializeApiDatabase(final ApiParameterGroup apiParameterGroup) - throws PolicyApiException { + public void initializeApiDatabase(final ApiParameterGroup apiParameterGroup) throws PolicyApiException { try (PolicyModelsProvider databaseProvider = factory.createPolicyModelsProvider(apiParameterGroup.getDatabaseProviderParameters())) { ToscaServiceTemplate serviceTemplate = new ToscaServiceTemplate(); + serviceTemplate.setDataTypes(new LinkedHashMap()); serviceTemplate.setPolicyTypes(new LinkedHashMap()); serviceTemplate.setToscaDefinitionsVersion("tosca_simple_yaml_1_0_0"); for (String pt : apiParameterGroup.getPreloadPolicyTypes()) { @@ -86,7 +88,10 @@ public class ApiDatabaseInitializer { if (singlePolicyType == null) { throw new PolicyApiException("Error deserializing policy type from file: " + pt); } - // Consolidate policy types + // Consolidate data types and policy types + if (singlePolicyType.getDataTypes() != null) { + serviceTemplate.getDataTypes().putAll(singlePolicyType.getDataTypes()); + } serviceTemplate.getPolicyTypes().putAll(singlePolicyType.getPolicyTypes()); } ToscaServiceTemplate createdPolicyTypes = databaseProvider.createPolicyTypes(serviceTemplate);