* ONAP Policy API\r
* ================================================================================\r
* Copyright (C) 2019-2020 AT&T Intellectual Property. All rights reserved.\r
- * Modifications Copyright (C) 2020 Nordix Foundation.\r
+ * Modifications Copyright (C) 2020-2021 Nordix Foundation.\r
* ================================================================================\r
* Licensed under the Apache License, Version 2.0 (the "License");\r
* you may not use this file except in compliance with the License.\r
\r
import org.onap.policy.api.main.rest.PolicyFetchMode;\r
import org.onap.policy.models.base.PfModelException;\r
-import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyFilter;\r
+import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy;\r
import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate;\r
+import org.onap.policy.models.tosca.authorative.concepts.ToscaTypedEntityFilter;\r
\r
/**\r
* Class to provide all kinds of policy operations.\r
* @throws PfModelException the PfModel parsing exception\r
*/\r
public ToscaServiceTemplate fetchPolicies(final String policyTypeId, final String policyTypeVersion,\r
- final String policyId, final String policyVersion, final PolicyFetchMode mode) throws PfModelException {\r
+ final String policyId, final String policyVersion, final PolicyFetchMode mode) throws PfModelException {\r
\r
return getFilteredPolicies(policyTypeId, policyTypeVersion, policyId, policyVersion, mode);\r
}\r
* @throws PfModelException the PfModel parsing exception\r
*/\r
public ToscaServiceTemplate fetchLatestPolicies(final String policyTypeId, final String policyTypeVersion,\r
- final String policyId, final PolicyFetchMode mode) throws PfModelException {\r
+ final String policyId, final PolicyFetchMode mode) throws PfModelException {\r
\r
- return getFilteredPolicies(policyTypeId, policyTypeVersion, policyId, ToscaPolicyFilter.LATEST_VERSION, mode);\r
+ return getFilteredPolicies(policyTypeId, policyTypeVersion, policyId, ToscaTypedEntityFilter.LATEST_VERSION,\r
+ mode);\r
}\r
\r
/**\r
* @throws PfModelException the PfModel parsing exception\r
*/\r
public ToscaServiceTemplate createPolicy(String policyTypeId, String policyTypeVersion, ToscaServiceTemplate body)\r
- throws PfModelException {\r
+ throws PfModelException {\r
\r
return modelsProvider.createPolicies(body);\r
}\r
* @throws PfModelException the PfModel parsing exception\r
*/\r
public ToscaServiceTemplate deletePolicy(String policyTypeId, String policyTypeVersion, String policyId,\r
- String policyVersion) throws PfModelException {\r
+ String policyVersion) throws PfModelException {\r
\r
return modelsProvider.deletePolicy(policyId, policyVersion);\r
}\r
* @throws PfModelException the PfModel parsing exception\r
*/\r
private ToscaServiceTemplate getFilteredPolicies(final String policyTypeName, final String policyTypeVersion,\r
- final String policyName, final String policyVersion, final PolicyFetchMode mode) throws PfModelException {\r
+ final String policyName, final String policyVersion, final PolicyFetchMode mode) throws PfModelException {\r
\r
- ToscaPolicyFilter policyFilter = ToscaPolicyFilter.builder().name(policyName).version(policyVersion)\r
- .type(policyTypeName).typeVersion(policyTypeVersion).build();\r
+ ToscaTypedEntityFilter<ToscaPolicy> policyFilter = ToscaTypedEntityFilter.<ToscaPolicy>builder()\r
+ .name(policyName).version(policyVersion).type(policyTypeName).typeVersion(policyTypeVersion).build();\r
\r
ToscaServiceTemplate serviceTemplate = modelsProvider.getFilteredPolicies(policyFilter);\r
\r
* ONAP Policy API\r
* ================================================================================\r
* Copyright (C) 2019-2020 AT&T Intellectual Property. All rights reserved.\r
- * Modifications Copyright (C) 2020 Nordix Foundation.\r
+ * Modifications Copyright (C) 2020-2021 Nordix Foundation.\r
* ================================================================================\r
* Licensed under the Apache License, Version 2.0 (the "License");\r
* you may not use this file except in compliance with the License.\r
package org.onap.policy.api.main.rest.provider;\r
\r
import org.onap.policy.models.base.PfModelException;\r
-import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyTypeFilter;\r
+import org.onap.policy.models.tosca.authorative.concepts.ToscaEntityFilter;\r
+import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyType;\r
import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate;\r
\r
/**\r
*/\r
public ToscaServiceTemplate fetchLatestPolicyTypes(String policyTypeId) throws PfModelException {\r
\r
- return getFilteredPolicyTypes(policyTypeId, ToscaPolicyTypeFilter.LATEST_VERSION);\r
+ return getFilteredPolicyTypes(policyTypeId, ToscaEntityFilter.LATEST_VERSION);\r
}\r
\r
/**\r
private ToscaServiceTemplate getFilteredPolicyTypes(String policyTypeName, String policyTypeVersion)\r
throws PfModelException {\r
\r
- ToscaPolicyTypeFilter policyTypeFilter =\r
- ToscaPolicyTypeFilter.builder().name(policyTypeName).version(policyTypeVersion).build();\r
+ ToscaEntityFilter<ToscaPolicyType> policyTypeFilter =\r
+ ToscaEntityFilter.<ToscaPolicyType>builder().name(policyTypeName).version(policyTypeVersion).build();\r
return modelsProvider.getFilteredPolicyTypes(policyTypeFilter);\r
}\r
}\r
* ONAP Policy API
* ================================================================================
* Copyright (C) 2019-2020 AT&T Intellectual Property. All rights reserved.
- * Modifications Copyright (C) 2019-2020 Nordix Foundation.
+ * Modifications Copyright (C) 2019-2021 Nordix Foundation.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
import org.onap.policy.models.base.PfModelRuntimeException;
import org.onap.policy.models.provider.PolicyModelsProvider;
import org.onap.policy.models.provider.PolicyModelsProviderFactory;
-import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyTypeFilter;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaEntityFilter;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyType;
import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate;
import org.onap.policy.models.tosca.authorative.concepts.ToscaTopologyTemplate;
import org.slf4j.Logger;
ToscaServiceTemplate createdPolicyTypes = preloadServiceTemplate(serviceTemplate,
apiParameterGroup.getPreloadPolicyTypes(), databaseProvider::createPolicyTypes);
- preloadServiceTemplate(createdPolicyTypes,
- apiParameterGroup.getPreloadPolicies(), databaseProvider::createPolicies);
+ preloadServiceTemplate(createdPolicyTypes, apiParameterGroup.getPreloadPolicies(),
+ databaseProvider::createPolicies);
} catch (final PolicyApiException | PfModelException | CoderException exp) {
throw new PolicyApiException(exp);
}
private boolean alreadyExists(PolicyModelsProvider databaseProvider) throws PfModelException {
try {
ToscaServiceTemplate serviceTemplate =
- databaseProvider.getFilteredPolicyTypes(ToscaPolicyTypeFilter.builder().build());
+ databaseProvider.getFilteredPolicyTypes(ToscaEntityFilter.<ToscaPolicyType>builder().build());
if (!serviceTemplate.getPolicyTypes().isEmpty()) {
return true;
}
return false;
}
- private ToscaServiceTemplate preloadServiceTemplate(ToscaServiceTemplate serviceTemplate,
- List<String> entities, FunctionWithEx<ToscaServiceTemplate, ToscaServiceTemplate> getter)
- throws PolicyApiException, CoderException, PfModelException {
+ private ToscaServiceTemplate preloadServiceTemplate(ToscaServiceTemplate serviceTemplate, List<String> entities,
+ FunctionWithEx<ToscaServiceTemplate, ToscaServiceTemplate> getter)
+ throws PolicyApiException, CoderException, PfModelException {
for (String entity : entities) {
String entityAsStringYaml = ResourceUtils.getResourceAsString(entity);
continue;
}
- ToscaServiceTemplate singleEntity =
- coder.decode(entityAsStringYaml, ToscaServiceTemplate.class);
+ ToscaServiceTemplate singleEntity = coder.decode(entityAsStringYaml, ToscaServiceTemplate.class);
if (singleEntity == null) {
throw new PolicyApiException("Error deserializaing entity from file: " + entity);
}
serviceTemplate.setToscaTopologyTemplate(new ToscaTopologyTemplate());
serviceTemplate.getToscaTopologyTemplate().setPolicies(new LinkedList<>());
serviceTemplate.getToscaTopologyTemplate().getPolicies()
- .addAll(singleEntity.getToscaTopologyTemplate().getPolicies());
+ .addAll(singleEntity.getToscaTopologyTemplate().getPolicies());
}
}
// Preload the specified entities
* ONAP Policy API
* ================================================================================
* Copyright (C) 2019-2020 AT&T Intellectual Property. All rights reserved.
- * Modifications Copyright (C) 2019-2020 Nordix Foundation.
+ * Modifications Copyright (C) 2019-2021 Nordix Foundation.
* Modifications Copyright (C) 2020 Bell Canada. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
assertThatThrownBy(() -> {
policyTypeProvider.fetchPolicyTypes("dummy", null);
- }).hasMessage("policy types for filter ToscaPolicyTypeFilter(name=dummy, version=null) do not exist");
+ }).hasMessage("policy types for filter ToscaEntityFilter(name=dummy, version=null) do not exist");
assertThatThrownBy(() -> {
policyTypeProvider.fetchPolicyTypes("dummy", "dummy");
- }).hasMessage("policy types for filter ToscaPolicyTypeFilter(name=dummy, version=dummy) do not exist");
+ }).hasMessage("policy types for filter ToscaEntityFilter(name=dummy, version=dummy) do not exist");
}
@Test
assertThatThrownBy(() -> {
policyTypeProvider.fetchLatestPolicyTypes("dummy");
- }).hasMessage("policy types for filter ToscaPolicyTypeFilter(name=dummy, version=LATEST) do not exist");
+ }).hasMessage("policy types for filter ToscaEntityFilter(name=dummy, version=LATEST) do not exist");
}
@Test