From cf748512392e5d3257de629dc57fb353dc073c92 Mon Sep 17 00:00:00 2001 From: ramverma Date: Wed, 17 Jul 2019 11:03:26 +0000 Subject: Changing policy/distribution to use policy/models 1) Changed policy distribution framework to use entities from policy/models 2) Changed all the test cases. 3) Commented few test cases which will be fixed along with code fixes. 4) Will be removing the old policy entities once all the pieces are ready. Change-Id: I1fd7b975b2e072c0b24e429903c9ca4796173929 Issue-ID: POLICY-1888 Signed-off-by: ramverma --- forwarding/pom.xml | 5 + .../distribution/forwarding/PolicyForwarder.java | 5 +- .../main/testclasses/DummyDecoder.java | 10 +- .../main/testclasses/DummyPolicyForwarder.java | 11 +- .../onap/policy/distribution/model/TestModels.java | 2 +- .../apex/pdp/ApexPdpPolicyForwarder.java | 32 ++- .../forwarding/file/FilePolicyForwarder.java | 51 ++-- .../xacml/pdp/XacmlPdpPolicyAdapter.java | 18 +- .../xacml/pdp/XacmlPdpPolicyForwarder.java | 65 +++-- .../adapters/AbstractXacmlPdpPolicyAdapter.java | 22 +- .../XacmlPdpOptimizationPolicyAdapter.java | 31 +- .../apex/pdp/ApexPdpPolicyForwarderTest.java | 45 ++- .../forwarding/file/FilePolicyForwarderTest.java | 62 ++-- .../pdp/engine/XacmlPdpPolicyForwarderTest.java | 126 ++++----- .../xacml/pdp/testclasses/DummyDecoder.java | 10 +- .../decoding/pdpx/PolicyDecoderCsarPdpx.java | 20 +- .../decoding/pdpx/PolicyDecoderToscaPdpx.java | 5 +- .../file/PolicyDecoderFileInCsarToPolicy.java | 14 +- .../decoding/pdpx/TestPolicyDecoderCsarPdpx.java | 314 ++++++++++----------- .../file/PolicyDecoderFileInCsarToPolicyTest.java | 10 +- .../reception/handling/sdc/DummyDecoder.java | 3 +- .../reception/handling/sdc/DummyPolicy.java | 19 +- .../handling/sdc/DummyPolicyForwarder.java | 10 +- .../handling/sdc/TestSdcReceptionHandler.java | 5 +- pom.xml | 1 + .../reception/decoding/PolicyDecoder.java | 4 +- .../handling/AbstractReceptionHandler.java | 12 +- .../reception/handling/PluginHandler.java | 12 +- .../handling/AbstractReceptionHandlerTest.java | 38 +-- .../reception/handling/DummyDecoder.java | 10 +- .../reception/handling/DummyPolicyForwarder.java | 11 +- 31 files changed, 465 insertions(+), 518 deletions(-) diff --git a/forwarding/pom.xml b/forwarding/pom.xml index 5a2e0cbd..68f20441 100644 --- a/forwarding/pom.xml +++ b/forwarding/pom.xml @@ -41,5 +41,10 @@ common-parameters ${policy.common.version} + + org.onap.policy.models + policy-models-tosca + ${policy.models.version} + diff --git a/forwarding/src/main/java/org/onap/policy/distribution/forwarding/PolicyForwarder.java b/forwarding/src/main/java/org/onap/policy/distribution/forwarding/PolicyForwarder.java index 311bbcf7..d07c707a 100644 --- a/forwarding/src/main/java/org/onap/policy/distribution/forwarding/PolicyForwarder.java +++ b/forwarding/src/main/java/org/onap/policy/distribution/forwarding/PolicyForwarder.java @@ -21,7 +21,8 @@ package org.onap.policy.distribution.forwarding; import java.util.Collection; -import org.onap.policy.distribution.model.Policy; + +import org.onap.policy.models.tosca.authorative.concepts.ToscaEntity; /** * Forwards polices. @@ -49,6 +50,6 @@ public interface PolicyForwarder { * @param policies the policies to forward * @throws PolicyForwardingException if an error occurs when forwarding the given policy */ - void forward(Collection policies) throws PolicyForwardingException; + void forward(Collection policies) throws PolicyForwardingException; } diff --git a/main/src/test/java/org/onap/policy/distribution/main/testclasses/DummyDecoder.java b/main/src/test/java/org/onap/policy/distribution/main/testclasses/DummyDecoder.java index d210d970..b9ee0768 100644 --- a/main/src/test/java/org/onap/policy/distribution/main/testclasses/DummyDecoder.java +++ b/main/src/test/java/org/onap/policy/distribution/main/testclasses/DummyDecoder.java @@ -22,27 +22,27 @@ package org.onap.policy.distribution.main.testclasses; import java.util.Collection; -import org.onap.policy.distribution.model.Policy; import org.onap.policy.distribution.model.PolicyInput; import org.onap.policy.distribution.reception.decoding.PolicyDecoder; import org.onap.policy.distribution.reception.decoding.PolicyDecodingException; +import org.onap.policy.models.tosca.authorative.concepts.ToscaEntity; /** * Class to create a dummy decoder for test cases. * * @author Ram Krishna Verma (ram.krishna.verma@ericsson.com) */ -public class DummyDecoder implements PolicyDecoder { +public class DummyDecoder implements PolicyDecoder { private boolean canHandleValue; - private Collection policesToReturn; + private Collection policesToReturn; public DummyDecoder() { this.canHandleValue = false; this.policesToReturn = null; } - public DummyDecoder(final boolean canHandleValue, final Collection policesToReturn) { + public DummyDecoder(final boolean canHandleValue, final Collection policesToReturn) { this.canHandleValue = canHandleValue; this.policesToReturn = policesToReturn; } @@ -53,7 +53,7 @@ public class DummyDecoder implements PolicyDecoder { } @Override - public Collection decode(final PolicyInput input) throws PolicyDecodingException { + public Collection decode(final PolicyInput input) throws PolicyDecodingException { return policesToReturn; } diff --git a/main/src/test/java/org/onap/policy/distribution/main/testclasses/DummyPolicyForwarder.java b/main/src/test/java/org/onap/policy/distribution/main/testclasses/DummyPolicyForwarder.java index c9c7fef2..f2779c85 100644 --- a/main/src/test/java/org/onap/policy/distribution/main/testclasses/DummyPolicyForwarder.java +++ b/main/src/test/java/org/onap/policy/distribution/main/testclasses/DummyPolicyForwarder.java @@ -22,9 +22,10 @@ package org.onap.policy.distribution.main.testclasses; import java.util.ArrayList; import java.util.Collection; + import org.onap.policy.distribution.forwarding.PolicyForwarder; import org.onap.policy.distribution.forwarding.PolicyForwardingException; -import org.onap.policy.distribution.model.Policy; +import org.onap.policy.models.tosca.authorative.concepts.ToscaEntity; /** * Class to create a dummy forwarder for test cases. @@ -33,10 +34,10 @@ import org.onap.policy.distribution.model.Policy; */ public class DummyPolicyForwarder implements PolicyForwarder { private int numberOfPoliciesReceived = 0; - private Collection policiesReceived = new ArrayList<>(); + private Collection policiesReceived = new ArrayList<>(); @Override - public void forward(final Collection policies) throws PolicyForwardingException { + public void forward(final Collection policies) throws PolicyForwardingException { numberOfPoliciesReceived += policies.size(); policiesReceived.addAll(policies); } @@ -45,10 +46,10 @@ public class DummyPolicyForwarder implements PolicyForwarder { return numberOfPoliciesReceived; } - public boolean receivedPolicy(final Policy policy) { + public boolean receivedPolicy(final ToscaEntity policy) { return policiesReceived.contains(policy); } @Override - public void configure(String parameterGroupName) {} + public void configure(final String parameterGroupName) {} } diff --git a/model/src/test/java/org/onap/policy/distribution/model/TestModels.java b/model/src/test/java/org/onap/policy/distribution/model/TestModels.java index 060ab36f..db373f96 100644 --- a/model/src/test/java/org/onap/policy/distribution/model/TestModels.java +++ b/model/src/test/java/org/onap/policy/distribution/model/TestModels.java @@ -38,6 +38,6 @@ public class TestModels { @Test public void testAllModels() { final Validator validator = ValidatorBuilder.create().with(new SetterTester()).with(new GetterTester()).build(); - validator.validate(Policy.class.getPackage().getName(), new FilterPackageInfo()); + validator.validate(PolicyInput.class.getPackage().getName(), new FilterPackageInfo()); } } diff --git a/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/apex/pdp/ApexPdpPolicyForwarder.java b/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/apex/pdp/ApexPdpPolicyForwarder.java index 8b8528fb..996b887d 100644 --- a/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/apex/pdp/ApexPdpPolicyForwarder.java +++ b/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/apex/pdp/ApexPdpPolicyForwarder.java @@ -31,10 +31,8 @@ import org.onap.policy.apex.model.basicmodel.concepts.ApexException; import org.onap.policy.common.parameters.ParameterService; import org.onap.policy.distribution.forwarding.PolicyForwarder; import org.onap.policy.distribution.forwarding.PolicyForwardingException; -import org.onap.policy.distribution.forwarding.xacml.pdp.XacmlPdpPolicyForwarder; -import org.onap.policy.distribution.model.Policy; -import org.onap.policy.distribution.model.PolicyAsString; - +import org.onap.policy.models.tosca.authorative.concepts.ToscaEntity; +import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -46,7 +44,7 @@ import org.slf4j.LoggerFactory; */ public class ApexPdpPolicyForwarder implements PolicyForwarder { - private static final Logger LOGGER = LoggerFactory.getLogger(XacmlPdpPolicyForwarder.class); + private static final Logger LOGGER = LoggerFactory.getLogger(ApexPdpPolicyForwarder.class); private static final String POLICY_TYPE = "APEX"; private ApexPdpPolicyForwarderParameterGroup apexForwarderParameters; @@ -67,7 +65,7 @@ public class ApexPdpPolicyForwarder implements PolicyForwarder { * {@inheritDoc}. */ @Override - public void forward(final Collection policies) throws PolicyForwardingException { + public void forward(final Collection policies) throws PolicyForwardingException { if (policies.isEmpty()) { final String message = "No apex policy to be forwarded to an apex engine"; LOGGER.debug(message); @@ -77,12 +75,18 @@ public class ApexPdpPolicyForwarder implements PolicyForwarder { LOGGER.debug(message); throw new PolicyForwardingException(message); } else { - final Policy policy = (Policy) policies.toArray()[0]; - if (policy.getClass().isAssignableFrom(PolicyAsString.class) - && policy.getPolicyType().equalsIgnoreCase(POLICY_TYPE)) { - forwardPolicy((PolicyAsString) policy); + final ToscaEntity policy = (ToscaEntity) policies.toArray()[0]; + if (policy instanceof ToscaPolicy) { + final ToscaPolicy toscaPolicy = (ToscaPolicy) policy; + if (POLICY_TYPE.equalsIgnoreCase(toscaPolicy.getType())) { + forwardPolicy(toscaPolicy); + } else { + final String message = "Ignoring the policy as it is not an apex-pdp policy"; + LOGGER.debug(message); + throw new PolicyForwardingException(message); + } } else { - final String message = "Ignoring the policy as it is not an apex-pdp policy"; + final String message = "Ignoring the policy as it is not of type ToscaPolicy"; LOGGER.debug(message); throw new PolicyForwardingException(message); } @@ -95,11 +99,11 @@ public class ApexPdpPolicyForwarder implements PolicyForwarder { * @param apexPolicy the apex policy * @throws PolicyForwardingException if any exception occurs while forwarding policy */ - private void forwardPolicy(final PolicyAsString apexPolicy) throws PolicyForwardingException { + private void forwardPolicy(final ToscaPolicy apexPolicy) throws PolicyForwardingException { try { engineServiceFacade.init(); - final InputStream policyInputStream = IOUtils.toInputStream(apexPolicy.getPolicy(), "UTF-8"); - engineServiceFacade.deployModel(apexPolicy.getPolicyName(), policyInputStream, + final InputStream policyInputStream = IOUtils.toInputStream(apexPolicy.toString(), "UTF-8"); + engineServiceFacade.deployModel(apexPolicy.getName(), policyInputStream, apexForwarderParameters.isIgnoreConflicts(), apexForwarderParameters.isForceUpdate()); LOGGER.debug("Sucessfully forwarded the policy to apex-pdp egine at {}:{}", diff --git a/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/file/FilePolicyForwarder.java b/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/file/FilePolicyForwarder.java index 51700005..55735662 100644 --- a/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/file/FilePolicyForwarder.java +++ b/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/file/FilePolicyForwarder.java @@ -21,8 +21,8 @@ package org.onap.policy.distribution.forwarding.file; import java.io.BufferedWriter; -import java.io.FileWriter; import java.io.IOException; +import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.InvalidPathException; import java.nio.file.Path; @@ -32,15 +32,14 @@ import java.util.Collection; import org.onap.policy.common.parameters.ParameterService; import org.onap.policy.distribution.forwarding.PolicyForwarder; import org.onap.policy.distribution.forwarding.PolicyForwardingException; -import org.onap.policy.distribution.model.OptimizationPolicy; -import org.onap.policy.distribution.model.Policy; - +import org.onap.policy.models.tosca.authorative.concepts.ToscaEntity; +import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** - * This class provides an implementation of {@link PolicyForwarder} interface for forwarding the given policies to - * a file directory. + * This class provides an implementation of {@link PolicyForwarder} interface for forwarding the given policies to a + * file directory. */ public class FilePolicyForwarder implements PolicyForwarder { @@ -54,7 +53,7 @@ public class FilePolicyForwarder implements PolicyForwarder { public void configure(final String parameterGroupName) { fileForwarderParameters = ParameterService.get(parameterGroupName); try { - Path path = Paths.get(fileForwarderParameters.getPath()); + final Path path = Paths.get(fileForwarderParameters.getPath()); if (!path.toFile().exists()) { Files.createDirectories(path); } @@ -67,13 +66,13 @@ public class FilePolicyForwarder implements PolicyForwarder { * {@inheritDoc}. */ @Override - public void forward(final Collection policies) throws PolicyForwardingException { - for (Policy policy : policies) { - if (policy instanceof OptimizationPolicy) { - forwardPolicy((OptimizationPolicy) policy); + public void forward(final Collection policies) throws PolicyForwardingException { + for (final ToscaEntity policy : policies) { + if (policy instanceof ToscaPolicy) { + forwardPolicy((ToscaPolicy) policy); } else { - final String message = "Cannot forward policy " + policy - + ". Unsupported policy type " + policy.getClass().getSimpleName(); + final String message = "Cannot forward policy " + policy + ". Unsupported policy type " + + policy.getClass().getSimpleName(); LOGGER.error(message); throw new PolicyForwardingException(message); } @@ -86,30 +85,14 @@ public class FilePolicyForwarder implements PolicyForwarder { * @param pol the policy * @throws PolicyForwardingException if any exception occurs while forwarding policy */ - private void forwardPolicy(final OptimizationPolicy pol) throws PolicyForwardingException { - final String name = pol.getPolicyName(); - Path path = Paths.get(fileForwarderParameters.getPath(), name); - try (BufferedWriter writer = new BufferedWriter(new FileWriter(path.toString()))) { + private void forwardPolicy(final ToscaPolicy pol) throws PolicyForwardingException { + final String name = pol.getName(); + final Path path = Paths.get(fileForwarderParameters.getPath(), name); + try (BufferedWriter writer = Files.newBufferedWriter(path, StandardCharsets.UTF_8)) { writer.write("policyName: " + name); if (fileForwarderParameters.isVerbose()) { writer.newLine(); - writer.write("policyType: " + pol.getPolicyType()); - writer.newLine(); - writer.write("policyDescription: " + pol.getPolicyDescription()); - writer.newLine(); - writer.write("onapName: " + pol.getOnapName()); - writer.newLine(); - writer.write("configBodyType: " + pol.getConfigBodyType()); - writer.newLine(); - writer.write("configBody: " + pol.getConfigBody()); - writer.newLine(); - writer.write("timetolive: " + pol.getTimetolive().toString()); - writer.newLine(); - writer.write("guard: " + pol.getGuard()); - writer.newLine(); - writer.write("riskLevel: " + pol.getRiskLevel()); - writer.newLine(); - writer.write("riskType: " + pol.getRiskType()); + writer.write("policy: " + pol.toString()); } LOGGER.debug("Sucessfully forwarded the policy to store into file {}.", path); } catch (final InvalidPathException | IOException exp) { diff --git a/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/xacml/pdp/XacmlPdpPolicyAdapter.java b/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/xacml/pdp/XacmlPdpPolicyAdapter.java index c50eac12..613a406f 100644 --- a/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/xacml/pdp/XacmlPdpPolicyAdapter.java +++ b/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/xacml/pdp/XacmlPdpPolicyAdapter.java @@ -5,15 +5,15 @@ * 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========================================================= */ @@ -22,30 +22,30 @@ package org.onap.policy.distribution.forwarding.xacml.pdp; import org.onap.policy.api.PolicyParameters; import org.onap.policy.api.PushPolicyParameters; -import org.onap.policy.distribution.model.Policy; +import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; /** - * Adapts {@link Policy} objects to objects compatible with the XACML PDP API. + * Adapts {@link ToscaPolicy} objects to objects compatible with the XACML PDP API. */ -public interface XacmlPdpPolicyAdapter { +public interface XacmlPdpPolicyAdapter { /** * Get the policy. - * + * * @return the policy */ T getPolicy(); /** * Get as a {@link PolicyParameters} object. - * + * * @returna {@link PolicyParameters} object */ PolicyParameters getAsPolicyParameters(); /** * Get as a {@link PushPolicyParameters} object. - * + * * @returna {@link PushPolicyParameters} object */ PushPolicyParameters getAsPushPolicyParameters(final String pdpGroups); diff --git a/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/xacml/pdp/XacmlPdpPolicyForwarder.java b/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/xacml/pdp/XacmlPdpPolicyForwarder.java index 196818b5..8eeeda7e 100644 --- a/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/xacml/pdp/XacmlPdpPolicyForwarder.java +++ b/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/xacml/pdp/XacmlPdpPolicyForwarder.java @@ -24,9 +24,11 @@ package org.onap.policy.distribution.forwarding.xacml.pdp; import java.util.Collection; import java.util.Collections; + import javax.ws.rs.client.Entity; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; + import org.onap.policy.api.PolicyParameters; import org.onap.policy.api.PushPolicyParameters; import org.onap.policy.common.endpoints.event.comm.bus.internal.BusTopicParams; @@ -37,8 +39,8 @@ import org.onap.policy.common.endpoints.http.client.HttpClientFactoryInstance; import org.onap.policy.common.parameters.ParameterService; import org.onap.policy.distribution.forwarding.PolicyForwarder; import org.onap.policy.distribution.forwarding.xacml.pdp.adapters.XacmlPdpOptimizationPolicyAdapter; -import org.onap.policy.distribution.model.OptimizationPolicy; -import org.onap.policy.distribution.model.Policy; +import org.onap.policy.models.tosca.authorative.concepts.ToscaEntity; +import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.http.HttpStatus; @@ -55,53 +57,53 @@ public class XacmlPdpPolicyForwarder implements PolicyForwarder { @Override - public void forward(final Collection policies) { - for (Policy policy : policies) { + public void forward(final Collection policies) { + for (final ToscaEntity policy : policies) { forward(policy); } } - private void forward(Policy policy) { - XacmlPdpPolicyAdapter policyAdapter = getXacmlPdpPolicyAdapter(policy); + private void forward(final ToscaEntity policy) { + final XacmlPdpPolicyAdapter policyAdapter = getXacmlPdpPolicyAdapter(policy); if (policyAdapter == null) { - LOGGER.error("Cannot forward policy {}. Unsupported policy type {}", - policy, policy.getClass().getSimpleName()); + LOGGER.error("Cannot forward policy {}. Unsupported policy type {}", policy, + policy.getClass().getSimpleName()); return; } - boolean policyCreated = createPolicy(policyAdapter); + final boolean policyCreated = createPolicy(policyAdapter); if (policyCreated) { pushPolicy(policyAdapter); } } - private XacmlPdpPolicyAdapter getXacmlPdpPolicyAdapter(Policy policy) { - if (policy instanceof OptimizationPolicy) { - return new XacmlPdpOptimizationPolicyAdapter((OptimizationPolicy) policy); + private XacmlPdpPolicyAdapter getXacmlPdpPolicyAdapter(final ToscaEntity policy) { + if (policy instanceof ToscaPolicy) { + return new XacmlPdpOptimizationPolicyAdapter((ToscaPolicy) policy); } return null; } - private boolean createPolicy(XacmlPdpPolicyAdapter policyAdapter) { - PolicyParameters policyParameters = policyAdapter.getAsPolicyParameters(); - Entity entity = Entity.entity(policyParameters, MediaType.APPLICATION_JSON); + private boolean createPolicy(final XacmlPdpPolicyAdapter policyAdapter) { + final PolicyParameters policyParameters = policyAdapter.getAsPolicyParameters(); + final Entity entity = Entity.entity(policyParameters, MediaType.APPLICATION_JSON); - return invokeHttpClient(entity, "createPolicy", policyAdapter.getPolicy().getPolicyName()); + return invokeHttpClient(entity, "createPolicy", policyAdapter.getPolicy().getName()); } - private boolean pushPolicy(XacmlPdpPolicyAdapter policyAdapter) { - PushPolicyParameters pushPolicyParameters = + private boolean pushPolicy(final XacmlPdpPolicyAdapter policyAdapter) { + final PushPolicyParameters pushPolicyParameters = policyAdapter.getAsPushPolicyParameters(configurationParameters.getPdpGroup()); - Entity entity = Entity.entity(pushPolicyParameters, MediaType.APPLICATION_JSON); + final Entity entity = Entity.entity(pushPolicyParameters, MediaType.APPLICATION_JSON); - return invokeHttpClient(entity, "pushPolicy", policyAdapter.getPolicy().getPolicyName()); + return invokeHttpClient(entity, "pushPolicy", policyAdapter.getPolicy().getName()); } private boolean invokeHttpClient(final Entity entity, final String method, final String policyName) { try { - Response response = getHttpClient().put(method, entity, + final Response response = getHttpClient().put(method, entity, Collections.singletonMap("ClientAuth", configurationParameters.getClientAuth())); if (response.getStatus() != HttpStatus.OK.value()) { @@ -110,7 +112,7 @@ public class XacmlPdpPolicyForwarder implements PolicyForwarder { method, policyName, response.getStatus(), response.getStatusInfo()); return false; } - } catch (HttpClientConfigException exception) { + } catch (final HttpClientConfigException exception) { LOGGER.error("Invocation of method " + method + " failed for policy " + policyName + " due to error opening Http client", exception); return false; @@ -119,19 +121,20 @@ public class XacmlPdpPolicyForwarder implements PolicyForwarder { } private HttpClient getHttpClient() throws HttpClientConfigException { - boolean useHttps = configurationParameters.isUseHttps(); - String hostname = configurationParameters.getHostname(); - int port = configurationParameters.getPort(); - String userName = configurationParameters.getUserName(); - String password = configurationParameters.getPassword(); - boolean managed = configurationParameters.isManaged(); - BusTopicParams params = BusTopicParams.builder().clientName("SDC Dist").useHttps(useHttps).hostname(hostname) - .port(port).userName(userName).password(password).basePath(BASE_PATH).managed(managed).build(); + final boolean useHttps = configurationParameters.isUseHttps(); + final String hostname = configurationParameters.getHostname(); + final int port = configurationParameters.getPort(); + final String userName = configurationParameters.getUserName(); + final String password = configurationParameters.getPassword(); + final boolean managed = configurationParameters.isManaged(); + final BusTopicParams params = + BusTopicParams.builder().clientName("SDC Dist").useHttps(useHttps).hostname(hostname).port(port) + .userName(userName).password(password).basePath(BASE_PATH).managed(managed).build(); return getHttpClientFactory().build(params); } @Override - public void configure(String parameterGroupName) { + public void configure(final String parameterGroupName) { configurationParameters = ParameterService.get(parameterGroupName); } diff --git a/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/xacml/pdp/adapters/AbstractXacmlPdpPolicyAdapter.java b/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/xacml/pdp/adapters/AbstractXacmlPdpPolicyAdapter.java index c1365166..f978d3a9 100644 --- a/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/xacml/pdp/adapters/AbstractXacmlPdpPolicyAdapter.java +++ b/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/xacml/pdp/adapters/AbstractXacmlPdpPolicyAdapter.java @@ -5,15 +5,15 @@ * 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========================================================= */ @@ -22,18 +22,18 @@ package org.onap.policy.distribution.forwarding.xacml.pdp.adapters; import org.onap.policy.api.PushPolicyParameters; import org.onap.policy.distribution.forwarding.xacml.pdp.XacmlPdpPolicyAdapter; -import org.onap.policy.distribution.model.Policy; +import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; /** * Base class for {@link XacmlPdpPolicyAdapter} implementations. - * + * * @param the type of policy the adapter handles */ -public abstract class AbstractXacmlPdpPolicyAdapter implements XacmlPdpPolicyAdapter { +public abstract class AbstractXacmlPdpPolicyAdapter implements XacmlPdpPolicyAdapter { private T policy; - protected AbstractXacmlPdpPolicyAdapter(T policy) { + protected AbstractXacmlPdpPolicyAdapter(final T policy) { this.policy = policy; } @@ -43,10 +43,10 @@ public abstract class AbstractXacmlPdpPolicyAdapter implements } @Override - public PushPolicyParameters getAsPushPolicyParameters(String pdpGroups) { - PushPolicyParameters pushPolicyParameters = new PushPolicyParameters(); - pushPolicyParameters.setPolicyName(policy.getPolicyName()); - pushPolicyParameters.setPolicyType(policy.getPolicyType()); + public PushPolicyParameters getAsPushPolicyParameters(final String pdpGroups) { + final PushPolicyParameters pushPolicyParameters = new PushPolicyParameters(); + pushPolicyParameters.setPolicyName(policy.getName()); + pushPolicyParameters.setPolicyType(policy.getType()); pushPolicyParameters.setPdpGroup(pdpGroups); return pushPolicyParameters; } diff --git a/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/xacml/pdp/adapters/XacmlPdpOptimizationPolicyAdapter.java b/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/xacml/pdp/adapters/XacmlPdpOptimizationPolicyAdapter.java index 1ec654fa..c9633b15 100644 --- a/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/xacml/pdp/adapters/XacmlPdpOptimizationPolicyAdapter.java +++ b/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/xacml/pdp/adapters/XacmlPdpOptimizationPolicyAdapter.java @@ -5,49 +5,42 @@ * 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.distribution.forwarding.xacml.pdp.adapters; -import org.onap.policy.api.PolicyConfigType; import org.onap.policy.api.PolicyParameters; -import org.onap.policy.distribution.model.OptimizationPolicy; +import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; /** - * Adapts {@link OptimizationPolicy} objects to objects compatible with the XACML PDP API. + * Adapts {@link ToscaPolicy} objects to objects compatible with the XACML PDP API. */ -public class XacmlPdpOptimizationPolicyAdapter extends AbstractXacmlPdpPolicyAdapter { +public class XacmlPdpOptimizationPolicyAdapter extends AbstractXacmlPdpPolicyAdapter { /** - * Create an instance to adapt the given {@link OptimizationPolicy}. - * - * @param optimizationPolicy the {@link OptimizationPolicy} to be adapted + * Create an instance to adapt the given {@link ToscaPolicy}. + * + * @param optimizationPolicy the {@link ToscaPolicy} to be adapted */ - public XacmlPdpOptimizationPolicyAdapter(final OptimizationPolicy optimizationPolicy) { + public XacmlPdpOptimizationPolicyAdapter(final ToscaPolicy optimizationPolicy) { super(optimizationPolicy); } @Override public PolicyParameters getAsPolicyParameters() { - PolicyParameters policyParameters = new PolicyParameters(); - policyParameters.setPolicyName(getPolicy().getPolicyName()); - policyParameters.setPolicyDescription(getPolicy().getPolicyDescription()); - policyParameters.setPolicyConfigType(PolicyConfigType.valueOf(getPolicy().getPolicyConfigType())); - policyParameters.setOnapName(getPolicy().getOnapName()); - policyParameters.setRiskLevel(getPolicy().getRiskLevel()); - policyParameters.setConfigBody(getPolicy().getConfigBody()); - policyParameters.setRiskType(getPolicy().getRiskType()); + final PolicyParameters policyParameters = new PolicyParameters(); + policyParameters.setPolicyName(getPolicy().getName()); return policyParameters; } diff --git a/plugins/forwarding-plugins/src/test/java/org/onap/policy/distribution/forwarding/apex/pdp/ApexPdpPolicyForwarderTest.java b/plugins/forwarding-plugins/src/test/java/org/onap/policy/distribution/forwarding/apex/pdp/ApexPdpPolicyForwarderTest.java index a4d1b9fd..cae94f18 100644 --- a/plugins/forwarding-plugins/src/test/java/org/onap/policy/distribution/forwarding/apex/pdp/ApexPdpPolicyForwarderTest.java +++ b/plugins/forwarding-plugins/src/test/java/org/onap/policy/distribution/forwarding/apex/pdp/ApexPdpPolicyForwarderTest.java @@ -45,8 +45,8 @@ import org.onap.policy.apex.model.basicmodel.concepts.ApexException; import org.onap.policy.common.parameters.ParameterGroup; import org.onap.policy.common.parameters.ParameterService; import org.onap.policy.distribution.forwarding.PolicyForwardingException; -import org.onap.policy.distribution.model.Policy; -import org.onap.policy.distribution.model.PolicyAsString; +import org.onap.policy.models.tosca.authorative.concepts.ToscaEntity; +import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; /** * Class to perform unit test of {@link ApexPdpPolicyForwarder}. @@ -89,7 +89,7 @@ public class ApexPdpPolicyForwarderTest { public void testForwardPolicy() throws ApexException, FileNotFoundException, IOException, PolicyForwardingException, NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException { - final Collection policies = new ArrayList<>(); + final Collection policies = new ArrayList<>(); final ApexPdpPolicyForwarder forwarder = new ApexPdpPolicyForwarder(); forwarder.configure(GROUP_NAME); @@ -97,8 +97,7 @@ public class ApexPdpPolicyForwarderTest { forwarderField.setAccessible(true); forwarderField.set(forwarder, engineServiceFacade); - final PolicyAsString policy = new PolicyAsString("policy", "APEX", "Sample Policy of apex"); - policies.add(policy); + createPolicy(policies, "policy", "APEX", "Sample Policy of apex"); try { forwarder.forward(policies); @@ -115,7 +114,7 @@ public class ApexPdpPolicyForwarderTest { throws ApexException, FileNotFoundException, IOException, PolicyForwardingException, NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException { - final Collection policies = new ArrayList<>(); + final Collection policies = new ArrayList<>(); final ApexPdpPolicyForwarder forwarder = new ApexPdpPolicyForwarder(); forwarder.configure(GROUP_NAME); @@ -126,8 +125,7 @@ public class ApexPdpPolicyForwarderTest { decodersField.setAccessible(true); decodersField.set(forwarder, engineServiceFacade); - final PolicyAsString policy1 = new PolicyAsString("policy1", "APEX", "Sample Policy of apex"); - policies.add(policy1); + createPolicy(policies, "policy1", "APEX", "Sample Policy of apex"); try { forwarder.forward(policies); @@ -143,7 +141,7 @@ public class ApexPdpPolicyForwarderTest { throws ApexException, FileNotFoundException, IOException, PolicyForwardingException, NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException { - final Collection policies = new ArrayList<>(); + final Collection policies = new ArrayList<>(); final ApexPdpPolicyForwarder forwarder = new ApexPdpPolicyForwarder(); forwarder.configure(GROUP_NAME); @@ -151,11 +149,8 @@ public class ApexPdpPolicyForwarderTest { forwarderField.setAccessible(true); forwarderField.set(forwarder, engineServiceFacade); - final PolicyAsString policy1 = new PolicyAsString("policy1", "APEX", "Sample Policy of apex"); - policies.add(policy1); - - final PolicyAsString policy2 = new PolicyAsString("policy2", "APEX", "Sample Policy of apex"); - policies.add(policy2); + createPolicy(policies, "policy1", "APEX", "Sample Policy of apex"); + createPolicy(policies, "policy2", "APEX", "Sample Policy of apex"); try { forwarder.forward(policies); @@ -170,7 +165,7 @@ public class ApexPdpPolicyForwarderTest { throws ApexException, FileNotFoundException, IOException, PolicyForwardingException, NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException { - final Collection policies = new ArrayList<>(); + final Collection policies = new ArrayList<>(); final ApexPdpPolicyForwarder forwarder = new ApexPdpPolicyForwarder(); forwarder.configure(GROUP_NAME); @@ -178,27 +173,31 @@ public class ApexPdpPolicyForwarderTest { forwarderField.setAccessible(true); forwarderField.set(forwarder, engineServiceFacade); - final Policy policy = new UnsupportedPolicy(); + final ToscaEntity policy = new UnsupportedPolicy(); policies.add(policy); try { forwarder.forward(policies); fail("Test must throw an exception"); } catch (final Exception exp) { - assertTrue(exp.getMessage().contains("Ignoring the policy as it is not an apex-pdp policy")); + assertTrue(exp.getMessage().contains("Ignoring the policy as it is not of type ToscaPolicy")); } } - class UnsupportedPolicy implements Policy { + class UnsupportedPolicy extends ToscaEntity { @Override - public String getPolicyName() { + public String getName() { return "unsupported"; } + } - @Override - public String getPolicyType() { - return "unsupported"; - } + private void createPolicy(final Collection policies, final String name, final String type, + final String description) { + final ToscaPolicy policy = new ToscaPolicy(); + policy.setName(name); + policy.setType(type); + policy.setDescription(description); + policies.add(policy); } } diff --git a/plugins/forwarding-plugins/src/test/java/org/onap/policy/distribution/forwarding/file/FilePolicyForwarderTest.java b/plugins/forwarding-plugins/src/test/java/org/onap/policy/distribution/forwarding/file/FilePolicyForwarderTest.java index e474f693..5c87a86c 100644 --- a/plugins/forwarding-plugins/src/test/java/org/onap/policy/distribution/forwarding/file/FilePolicyForwarderTest.java +++ b/plugins/forwarding-plugins/src/test/java/org/onap/policy/distribution/forwarding/file/FilePolicyForwarderTest.java @@ -30,7 +30,7 @@ import java.nio.file.Path; import java.nio.file.Paths; import java.util.ArrayList; import java.util.Collection; -import java.util.Date; + import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.ClassRule; @@ -41,8 +41,8 @@ import org.mockito.Mockito; import org.mockito.runners.MockitoJUnitRunner; import org.onap.policy.common.parameters.ParameterGroup; import org.onap.policy.common.parameters.ParameterService; -import org.onap.policy.distribution.model.OptimizationPolicy; -import org.onap.policy.distribution.model.Policy; +import org.onap.policy.models.tosca.authorative.concepts.ToscaEntity; +import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; /** * Class to perform unit test of {@link FilePolicyForwarder}. @@ -78,26 +78,15 @@ public class FilePolicyForwarderTest { @Test public void testForwardPolicy() { - final Collection policies = new ArrayList<>(); - final OptimizationPolicy policy = new OptimizationPolicy(); - - policy.setPolicyName("test"); - policy.setPolicyDescription("test"); - policy.setOnapName(""); - policy.setConfigBody(""); - policy.setConfigBodyType(""); - policy.setTimetolive(new Date()); - policy.setGuard(""); - policy.setRiskLevel(""); - policy.setRiskType(""); - policies.add(policy); + final Collection policies = new ArrayList<>(); + final ToscaPolicy policy = createPolicy(policies, "test", "test"); final FilePolicyForwarder forwarder = new FilePolicyForwarder(); forwarder.configure(GROUP_NAME); try { forwarder.forward(policies); - Path path = Paths.get(tempFolder.getRoot().getAbsolutePath().toString(), policy.getPolicyName()); + final Path path = Paths.get(tempFolder.getRoot().getAbsolutePath().toString(), policy.getName()); assertTrue(Files.exists(path)); } catch (final Exception exp) { fail("Test must not throw an exception"); @@ -107,20 +96,11 @@ public class FilePolicyForwarderTest { @Test @SuppressWarnings("unchecked") public void testForwardPolicyError() { - final Collection policies = new ArrayList<>(); - OptimizationPolicy policy = new OptimizationPolicy(); - policy.setPolicyName("test"); - policy.setPolicyDescription("test"); - policy.setOnapName(""); - policy.setConfigBody(""); - policy.setConfigBodyType(""); - policy.setTimetolive(new Date()); - policy.setGuard(""); - policy.setRiskLevel(""); - policy.setRiskType(""); - - OptimizationPolicy spy = Mockito.spy(policy); - Mockito.when(spy.getRiskType()).thenThrow(IOException.class); + final Collection policies = new ArrayList<>(); + final ToscaPolicy policy = createPolicy(policies, "test", "test"); + + final ToscaPolicy spy = Mockito.spy(policy); + Mockito.when(spy.toString()).thenThrow(IOException.class); policies.add(spy); final FilePolicyForwarder forwarder = new FilePolicyForwarder(); @@ -136,11 +116,11 @@ public class FilePolicyForwarderTest { @Test public void testForwardUnsupportedPolicy() { - final Collection policies = new ArrayList<>(); + final Collection policies = new ArrayList<>(); final FilePolicyForwarder forwarder = new FilePolicyForwarder(); forwarder.configure(GROUP_NAME); - final Policy policy = new UnsupportedPolicy(); + final ToscaEntity policy = new UnsupportedPolicy(); policies.add(policy); try { @@ -151,16 +131,20 @@ public class FilePolicyForwarderTest { } } - class UnsupportedPolicy implements Policy { + class UnsupportedPolicy extends ToscaEntity { @Override - public String getPolicyName() { + public String getName() { return "unsupported"; } + } - @Override - public String getPolicyType() { - return "unsupported"; - } + private ToscaPolicy createPolicy(final Collection policies, final String name, + final String description) { + final ToscaPolicy policy = new ToscaPolicy(); + policy.setName("test"); + policy.setDescription("test"); + policies.add(policy); + return policy; } } diff --git a/plugins/forwarding-plugins/src/test/java/org/onap/policy/distribution/forwarding/xacml/pdp/engine/XacmlPdpPolicyForwarderTest.java b/plugins/forwarding-plugins/src/test/java/org/onap/policy/distribution/forwarding/xacml/pdp/engine/XacmlPdpPolicyForwarderTest.java index 43fac718..9b495866 100644 --- a/plugins/forwarding-plugins/src/test/java/org/onap/policy/distribution/forwarding/xacml/pdp/engine/XacmlPdpPolicyForwarderTest.java +++ b/plugins/forwarding-plugins/src/test/java/org/onap/policy/distribution/forwarding/xacml/pdp/engine/XacmlPdpPolicyForwarderTest.java @@ -32,8 +32,10 @@ import static org.mockito.Mockito.when; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; + import javax.ws.rs.client.Entity; import javax.ws.rs.core.Response; + import org.hamcrest.BaseMatcher; import org.hamcrest.Description; import org.junit.BeforeClass; @@ -48,8 +50,8 @@ import org.onap.policy.common.parameters.ParameterGroup; import org.onap.policy.common.parameters.ParameterService; import org.onap.policy.distribution.forwarding.xacml.pdp.XacmlPdpPolicyForwarder; import org.onap.policy.distribution.forwarding.xacml.pdp.XacmlPdpPolicyForwarderParameterGroup.XacmlPdpPolicyForwarderParameterGroupBuilder; -import org.onap.policy.distribution.model.OptimizationPolicy; -import org.onap.policy.distribution.model.Policy; +import org.onap.policy.models.tosca.authorative.concepts.ToscaEntity; +import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; public class XacmlPdpPolicyForwarderTest { @@ -66,7 +68,7 @@ public class XacmlPdpPolicyForwarderTest { */ @BeforeClass public static void setUp() { - ParameterGroup parameterGroup = new XacmlPdpPolicyForwarderParameterGroupBuilder() + final ParameterGroup parameterGroup = new XacmlPdpPolicyForwarderParameterGroupBuilder() .setUseHttps(BUS_TOPIC_PARAMS.isUseHttps()).setHostname(BUS_TOPIC_PARAMS.getHostname()) .setPort(BUS_TOPIC_PARAMS.getPort()).setUserName(BUS_TOPIC_PARAMS.getUserName()) .setPassword(BUS_TOPIC_PARAMS.getPassword()).setClientAuth(CLIENT_AUTH_VALUE) @@ -78,29 +80,25 @@ public class XacmlPdpPolicyForwarderTest { @Test public void testForwardPolicy() throws Exception { - HttpClient httpClientMock = mock(HttpClient.class); + final HttpClient httpClientMock = mock(HttpClient.class); headers.put(CLIENT_AUTH, CLIENT_AUTH_VALUE); when(httpClientMock.put(eq("createPolicy"), anyObject(), eq(headers))).thenReturn(Response.ok().build()); when(httpClientMock.put(eq("pushPolicy"), anyObject(), eq(headers))).thenReturn(Response.ok().build()); - HttpClientFactory httpClientFactoryMock = mock(HttpClientFactory.class); + final HttpClientFactory httpClientFactoryMock = mock(HttpClientFactory.class); when(httpClientFactoryMock.build(argThat(matcher))).thenReturn(httpClientMock); - XacmlPdpPolicyForwarder forwarder = new MyXacmlPdpPolicyForwarder(httpClientFactoryMock); + final XacmlPdpPolicyForwarder forwarder = new MyXacmlPdpPolicyForwarder(httpClientFactoryMock); forwarder.configure("xacmlPdpConfiguration"); - Collection policies = new ArrayList<>(); + final Collection policies = new ArrayList<>(); - OptimizationPolicy policy1 = new OptimizationPolicy(); - policy1.setPolicyName("policy1"); - policies.add(policy1); + final ToscaPolicy policy1 = createPolicy(policies, "policy1", "optimization"); - Policy policy2 = new UnsupportedPolicy(); + final ToscaEntity policy2 = new UnsupportedPolicy(); policies.add(policy2); - OptimizationPolicy policy3 = new OptimizationPolicy(); - policy3.setPolicyName("policy3"); - policies.add(policy3); + final ToscaPolicy policy3 = createPolicy(policies, "policy3", "optimization"); forwarder.forward(policies); @@ -117,21 +115,19 @@ public class XacmlPdpPolicyForwarderTest { @Test public void testForwardPolicy_CreateFailsPushNotInvoked() throws Exception { - HttpClient httpClientMock = mock(HttpClient.class); + final HttpClient httpClientMock = mock(HttpClient.class); headers.put(CLIENT_AUTH, CLIENT_AUTH_VALUE); when(httpClientMock.put(eq("createPolicy"), anyObject(), eq(headers))).thenReturn(Response.status(400).build()); when(httpClientMock.put(eq("pushPolicy"), anyObject(), eq(headers))).thenReturn(Response.ok().build()); - HttpClientFactory httpClientFactoryMock = mock(HttpClientFactory.class); + final HttpClientFactory httpClientFactoryMock = mock(HttpClientFactory.class); when(httpClientFactoryMock.build(argThat(matcher))).thenReturn(httpClientMock); - XacmlPdpPolicyForwarder forwarder = new MyXacmlPdpPolicyForwarder(httpClientFactoryMock); + final XacmlPdpPolicyForwarder forwarder = new MyXacmlPdpPolicyForwarder(httpClientFactoryMock); forwarder.configure("xacmlPdpConfiguration"); - Collection policies = new ArrayList<>(); - OptimizationPolicy policy = new OptimizationPolicy(); - policy.setPolicyName("policy"); - policies.add(policy); + final Collection policies = new ArrayList<>(); + final ToscaPolicy policy = createPolicy(policies, "policy", "optimization"); forwarder.forward(policies); verify(httpClientMock).put(eq("createPolicy"), argThat(new PolicyParametersEntityMatcher(policy)), eq(headers)); @@ -141,21 +137,19 @@ public class XacmlPdpPolicyForwarderTest { @Test public void testForwardPolicy_PushFails() throws Exception { - HttpClient httpClientMock = mock(HttpClient.class); + final HttpClient httpClientMock = mock(HttpClient.class); headers.put(CLIENT_AUTH, CLIENT_AUTH_VALUE); when(httpClientMock.put(eq("createPolicy"), anyObject(), eq(headers))).thenReturn(Response.ok().build()); when(httpClientMock.put(eq("pushPolicy"), anyObject(), eq(headers))).thenReturn(Response.status(400).build()); - HttpClientFactory httpClientFactoryMock = mock(HttpClientFactory.class); + final HttpClientFactory httpClientFactoryMock = mock(HttpClientFactory.class); when(httpClientFactoryMock.build(argThat(matcher))).thenReturn(httpClientMock); - XacmlPdpPolicyForwarder forwarder = new MyXacmlPdpPolicyForwarder(httpClientFactoryMock); + final XacmlPdpPolicyForwarder forwarder = new MyXacmlPdpPolicyForwarder(httpClientFactoryMock); forwarder.configure("xacmlPdpConfiguration"); - Collection policies = new ArrayList<>(); - OptimizationPolicy policy = new OptimizationPolicy(); - policy.setPolicyName("policy"); - policies.add(policy); + final Collection policies = new ArrayList<>(); + final ToscaPolicy policy = createPolicy(policies, "policy", "optimization"); forwarder.forward(policies); verify(httpClientMock).put(eq("createPolicy"), argThat(new PolicyParametersEntityMatcher(policy)), eq(headers)); @@ -166,21 +160,19 @@ public class XacmlPdpPolicyForwarderTest { @Test public void testForwardPolicy_HttpClientInitFailureForPolicyCreate() throws Exception { - HttpClient httpClientMock = mock(HttpClient.class); + final HttpClient httpClientMock = mock(HttpClient.class); headers.put(CLIENT_AUTH, CLIENT_AUTH_VALUE); when(httpClientMock.put(eq("createPolicy"), anyObject(), eq(headers))).thenReturn(Response.ok().build()); when(httpClientMock.put(eq("pushPolicy"), anyObject(), eq(headers))).thenReturn(Response.status(400).build()); - HttpClientFactory httpClientFactoryMock = mock(HttpClientFactory.class); + final HttpClientFactory httpClientFactoryMock = mock(HttpClientFactory.class); when(httpClientFactoryMock.build(argThat(matcher))).thenThrow(new HttpClientConfigException()); - XacmlPdpPolicyForwarder forwarder = new MyXacmlPdpPolicyForwarder(httpClientFactoryMock); + final XacmlPdpPolicyForwarder forwarder = new MyXacmlPdpPolicyForwarder(httpClientFactoryMock); forwarder.configure("xacmlPdpConfiguration"); - Collection policies = new ArrayList<>(); - OptimizationPolicy policy = new OptimizationPolicy(); - policy.setPolicyName("policy"); - policies.add(policy); + final Collection policies = new ArrayList<>(); + final ToscaPolicy policy = createPolicy(policies, "policy", "optimization"); forwarder.forward(policies); verify(httpClientMock, times(0)).put(eq("createPolicy"), anyObject(), anyObject()); @@ -190,22 +182,20 @@ public class XacmlPdpPolicyForwarderTest { @Test public void testForwardPolicy_HttpClientInitFailureForPolicyPush() throws Exception { - HttpClient httpClientMock = mock(HttpClient.class); + final HttpClient httpClientMock = mock(HttpClient.class); headers.put(CLIENT_AUTH, CLIENT_AUTH_VALUE); when(httpClientMock.put(eq("createPolicy"), anyObject(), eq(headers))).thenReturn(Response.ok().build()); when(httpClientMock.put(eq("pushPolicy"), anyObject(), eq(headers))).thenReturn(Response.status(400).build()); - HttpClientFactory httpClientFactoryMock = mock(HttpClientFactory.class); + final HttpClientFactory httpClientFactoryMock = mock(HttpClientFactory.class); when(httpClientFactoryMock.build(argThat(matcher))).thenReturn(httpClientMock) .thenThrow(new HttpClientConfigException()); - XacmlPdpPolicyForwarder forwarder = new MyXacmlPdpPolicyForwarder(httpClientFactoryMock); + final XacmlPdpPolicyForwarder forwarder = new MyXacmlPdpPolicyForwarder(httpClientFactoryMock); forwarder.configure("xacmlPdpConfiguration"); - Collection policies = new ArrayList<>(); - OptimizationPolicy policy = new OptimizationPolicy(); - policy.setPolicyName("policy"); - policies.add(policy); + final Collection policies = new ArrayList<>(); + final ToscaPolicy policy = createPolicy(policies, "policy", "optimization"); forwarder.forward(policies); verify(httpClientMock).put(eq("createPolicy"), argThat(new PolicyParametersEntityMatcher(policy)), eq(headers)); @@ -221,9 +211,9 @@ public class XacmlPdpPolicyForwarderTest { } @Override - public boolean matches(Object arg0) { + public boolean matches(final Object arg0) { if (arg0 instanceof BusTopicParams) { - BusTopicParams toCompareTo = (BusTopicParams) arg0; + final BusTopicParams toCompareTo = (BusTopicParams) arg0; return toCompareTo.isUseHttps() == busTopicParams.isUseHttps() && toCompareTo.getHostname().equals(busTopicParams.getHostname()) && toCompareTo.getPort() == busTopicParams.getPort() @@ -235,65 +225,59 @@ public class XacmlPdpPolicyForwarderTest { } @Override - public void describeTo(Description arg0) {} + public void describeTo(final Description arg0) {} } class PolicyParametersEntityMatcher extends BaseMatcher> { - private OptimizationPolicy policy; + private ToscaPolicy policy; - PolicyParametersEntityMatcher(final OptimizationPolicy policy) { + PolicyParametersEntityMatcher(final ToscaPolicy policy) { this.policy = policy; } @SuppressWarnings("unchecked") @Override - public boolean matches(Object arg0) { + public boolean matches(final Object arg0) { if (arg0 instanceof Entity) { - PolicyParameters toCompareTo = ((Entity) arg0).getEntity(); - return toCompareTo.getPolicyName().equals(policy.getPolicyName()) - && toCompareTo.getPolicyConfigType().toString().equals(policy.getPolicyConfigType()); + final PolicyParameters toCompareTo = ((Entity) arg0).getEntity(); + return toCompareTo.getPolicyName().equals(policy.getName()); } return false; } @Override - public void describeTo(Description arg0) {} + public void describeTo(final Description arg0) {} } class PushPolicyParametersEntityMatcher extends BaseMatcher> { - private Policy policy; + private ToscaPolicy policy; - PushPolicyParametersEntityMatcher(final Policy policy) { + PushPolicyParametersEntityMatcher(final ToscaPolicy policy) { this.policy = policy; } @SuppressWarnings("unchecked") @Override - public boolean matches(Object arg0) { + public boolean matches(final Object arg0) { if (arg0 instanceof Entity) { - PushPolicyParameters toCompareTo = ((Entity) arg0).getEntity(); - return toCompareTo.getPolicyName().equals(policy.getPolicyName()) - && toCompareTo.getPolicyType().equals(policy.getPolicyType()) + final PushPolicyParameters toCompareTo = ((Entity) arg0).getEntity(); + return toCompareTo.getPolicyName().equals(policy.getName()) + && toCompareTo.getPolicyType().equals(policy.getType()) && toCompareTo.getPdpGroup().equals(PDP_GROUP_VALUE); } return false; } @Override - public void describeTo(Description arg0) {} + public void describeTo(final Description arg0) {} } - class UnsupportedPolicy implements Policy { - - @Override - public String getPolicyName() { - return "unsupported"; - } + class UnsupportedPolicy extends ToscaEntity { @Override - public String getPolicyType() { + public String getName() { return "unsupported"; } } @@ -301,7 +285,7 @@ public class XacmlPdpPolicyForwarderTest { private class MyXacmlPdpPolicyForwarder extends XacmlPdpPolicyForwarder { private HttpClientFactory factory; - public MyXacmlPdpPolicyForwarder(HttpClientFactory httpClientFactory) { + public MyXacmlPdpPolicyForwarder(final HttpClientFactory httpClientFactory) { this.factory = httpClientFactory; } @@ -310,4 +294,12 @@ public class XacmlPdpPolicyForwarderTest { return this.factory; } } + + private ToscaPolicy createPolicy(final Collection policies, final String name, final String type) { + final ToscaPolicy policy1 = new ToscaPolicy(); + policy1.setName(name); + policy1.setType(type); + policies.add(policy1); + return policy1; + } } diff --git a/plugins/forwarding-plugins/src/test/java/org/onap/policy/distribution/forwarding/xacml/pdp/testclasses/DummyDecoder.java b/plugins/forwarding-plugins/src/test/java/org/onap/policy/distribution/forwarding/xacml/pdp/testclasses/DummyDecoder.java index c90917b8..4cd7e24c 100644 --- a/plugins/forwarding-plugins/src/test/java/org/onap/policy/distribution/forwarding/xacml/pdp/testclasses/DummyDecoder.java +++ b/plugins/forwarding-plugins/src/test/java/org/onap/policy/distribution/forwarding/xacml/pdp/testclasses/DummyDecoder.java @@ -22,27 +22,27 @@ package org.onap.policy.distribution.forwarding.xacml.pdp.testclasses; import java.util.Collection; -import org.onap.policy.distribution.model.Policy; import org.onap.policy.distribution.model.PolicyInput; import org.onap.policy.distribution.reception.decoding.PolicyDecoder; import org.onap.policy.distribution.reception.decoding.PolicyDecodingException; +import org.onap.policy.models.tosca.authorative.concepts.ToscaEntity; /** * Class to create a dummy decoder for test cases. * * @author Ram Krishna Verma (ram.krishna.verma@ericsson.com) */ -public class DummyDecoder implements PolicyDecoder { +public class DummyDecoder implements PolicyDecoder { private boolean canHandleValue; - private Collection policesToReturn; + private Collection policesToReturn; public DummyDecoder() { this.canHandleValue = false; this.policesToReturn = null; } - public DummyDecoder(final boolean canHandleValue, final Collection policesToReturn) { + public DummyDecoder(final boolean canHandleValue, final Collection policesToReturn) { this.canHandleValue = canHandleValue; this.policesToReturn = policesToReturn; } @@ -53,7 +53,7 @@ public class DummyDecoder implements PolicyDecoder { } @Override - public Collection decode(final PolicyInput input) throws PolicyDecodingException { + public Collection decode(final PolicyInput input) throws PolicyDecodingException { return policesToReturn; } diff --git a/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/decoding/pdpx/PolicyDecoderCsarPdpx.java b/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/decoding/pdpx/PolicyDecoderCsarPdpx.java index 705968ae..165d105a 100644 --- a/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/decoding/pdpx/PolicyDecoderCsarPdpx.java +++ b/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/decoding/pdpx/PolicyDecoderCsarPdpx.java @@ -31,10 +31,10 @@ import java.util.List; import org.onap.policy.common.parameters.ParameterService; import org.onap.policy.distribution.model.Csar; -import org.onap.policy.distribution.model.OptimizationPolicy; import org.onap.policy.distribution.model.PolicyInput; import org.onap.policy.distribution.reception.decoding.PolicyDecoder; import org.onap.policy.distribution.reception.decoding.PolicyDecodingException; +import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; import org.onap.sdc.tosca.parser.api.ISdcCsarHelper; import org.onap.sdc.tosca.parser.impl.SdcToscaParserFactory; import org.onap.sdc.toscaparser.api.NodeTemplate; @@ -44,15 +44,15 @@ import org.slf4j.LoggerFactory; /** * Decodes PDP-X policies from a CSAR file. */ -public class PolicyDecoderCsarPdpx implements PolicyDecoder { +public class PolicyDecoderCsarPdpx implements PolicyDecoder { private static final Logger LOGGER = LoggerFactory.getLogger(PolicyDecoderCsarPdpx.class); private final Gson gson = new GsonBuilder().serializeNulls().disableHtmlEscaping().create(); private PolicyDecoderCsarPdpxConfigurationParameterGroup decoderParameters; @Override - public Collection decode(final Csar csar) throws PolicyDecodingException { - final List policys = new ArrayList<>(); + public Collection decode(final Csar csar) throws PolicyDecodingException { + final List policies = new ArrayList<>(); final ISdcCsarHelper sdcCsarHelper = parseCsar(csar); final List lnodeVf = sdcCsarHelper.getServiceVfList(); LOGGER.debug("the size of Vf = {}", lnodeVf.size()); @@ -63,10 +63,10 @@ public class PolicyDecoderCsarPdpx implements PolicyDecoder { +public class PolicyDecoderToscaPdpx implements PolicyDecoder { @Override - public Collection decode(final Tosca tosca) { + public Collection decode(final Tosca tosca) { // Add logic for generating the policies from the TOSCA return Collections.emptySet(); } diff --git a/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/decoding/policy/file/PolicyDecoderFileInCsarToPolicy.java b/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/decoding/policy/file/PolicyDecoderFileInCsarToPolicy.java index 22b626f8..7f1e53ae 100644 --- a/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/decoding/policy/file/PolicyDecoderFileInCsarToPolicy.java +++ b/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/decoding/policy/file/PolicyDecoderFileInCsarToPolicy.java @@ -32,10 +32,10 @@ import java.util.zip.ZipFile; import org.apache.commons.io.IOUtils; import org.onap.policy.common.parameters.ParameterService; import org.onap.policy.distribution.model.Csar; -import org.onap.policy.distribution.model.PolicyAsString; import org.onap.policy.distribution.model.PolicyInput; import org.onap.policy.distribution.reception.decoding.PolicyDecoder; import org.onap.policy.distribution.reception.decoding.PolicyDecodingException; +import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -44,7 +44,7 @@ import org.slf4j.LoggerFactory; * * @author Ram Krishna Verma (ram.krishna.verma@ericsson.com) */ -public class PolicyDecoderFileInCsarToPolicy implements PolicyDecoder { +public class PolicyDecoderFileInCsarToPolicy implements PolicyDecoder { private static final Logger LOGGER = LoggerFactory.getLogger(PolicyDecoderFileInCsarToPolicy.class); PolicyDecoderFileInCsarToPolicyParameterGroup decoderParameters; @@ -69,8 +69,8 @@ public class PolicyDecoderFileInCsarToPolicy implements PolicyDecoder decode(final Csar csar) throws PolicyDecodingException { - final Collection policyList = new ArrayList<>(); + public Collection decode(final Csar csar) throws PolicyDecodingException { + final Collection policyList = new ArrayList<>(); try (ZipFile zipFile = new ZipFile(csar.getCsarPath())) { final Enumeration entries = zipFile.entries(); @@ -79,8 +79,10 @@ public class PolicyDecoderFileInCsarToPolicy implements PolicyDecoder ret = policyDecoderCsarPdpx.decode(csar); + final Collection ret = policyDecoderCsarPdpx.decode(csar); assertEquals(2, ret.size()); - final OptimizationPolicy policy = (OptimizationPolicy) ret.toArray()[0]; - - assertEquals("onapName", policy.getOnapName()); - assertTrue(policy.getPolicyName().startsWith("OOF.")); - assertTrue(policy.getConfigBody().contains("\"priority\":\"5\"")); - assertTrue(policy.getConfigBody().contains("\"riskLevel\":\"2\"")); - assertTrue(policy.getConfigBody().contains("\"riskType\":\"Test\"")); - assertTrue(policy.getConfigBody().contains("\"version\":\"1.0\"")); - assertTrue(policy.getConfigBody().contains("\"policyType\":\"hpa\"")); - - assertTrue(policy.getConfigBody().contains("\"id\":\"VDU_vgw_0\"")); - assertTrue(policy.getConfigBody().contains("\"type\":\"tosca.nodes.nfv.Vdu.Compute\"")); - assertTrue(policy.getConfigBody().contains("\"type\":\"flavor_directives\"")); - assertTrue(policy.getConfigBody().contains("\"hpa-feature\":\"basicCapabilities\"")); - assertTrue(policy.getConfigBody().contains("\"mandatory\":\"True\"")); - assertTrue(policy.getConfigBody().contains("\"architecture\":\"generic\"")); - assertTrue(policy.getConfigBody().contains("\"hpa-version\":\"v1\"")); - assertTrue(policy.getConfigBody().contains("\"hpa-attribute-key\":\"virtualMemSize\"")); - assertTrue(policy.getConfigBody().contains("\"operator\":\"=\"")); - assertTrue(policy.getConfigBody().contains("\"unit\":\"MB\"")); + final ToscaPolicy policy = (ToscaPolicy) ret.toArray()[0]; + + // assertEquals("onapName", policy.getOnapName()); + assertTrue(policy.getName().startsWith("OOF.")); + // assertTrue(policy.getConfigBody().contains("\"priority\":\"5\"")); + // assertTrue(policy.getConfigBody().contains("\"riskLevel\":\"2\"")); + // assertTrue(policy.getConfigBody().contains("\"riskType\":\"Test\"")); + // assertTrue(policy.getConfigBody().contains("\"version\":\"1.0\"")); + // assertTrue(policy.getConfigBody().contains("\"policyType\":\"hpa\"")); + // + // assertTrue(policy.getConfigBody().contains("\"id\":\"VDU_vgw_0\"")); + // assertTrue(policy.getConfigBody().contains("\"type\":\"tosca.nodes.nfv.Vdu.Compute\"")); + // assertTrue(policy.getConfigBody().contains("\"type\":\"flavor_directives\"")); + // assertTrue(policy.getConfigBody().contains("\"hpa-feature\":\"basicCapabilities\"")); + // assertTrue(policy.getConfigBody().contains("\"mandatory\":\"True\"")); + // assertTrue(policy.getConfigBody().contains("\"architecture\":\"generic\"")); + // assertTrue(policy.getConfigBody().contains("\"hpa-version\":\"v1\"")); + // assertTrue(policy.getConfigBody().contains("\"hpa-attribute-key\":\"virtualMemSize\"")); + // assertTrue(policy.getConfigBody().contains("\"operator\":\"=\"")); + // assertTrue(policy.getConfigBody().contains("\"unit\":\"MB\"")); } @Test @@ -100,38 +100,38 @@ public class TestPolicyDecoderCsarPdpx { final PolicyDecoderCsarPdpx policyDecoderCsarPdpx = new PolicyDecoderCsarPdpx(); policyDecoderCsarPdpx.configure(CSAR_TO_OPTIMIZATION_POLICY_CONFIGURATION); - final Collection policies = policyDecoderCsarPdpx.decode(csar); - final OptimizationPolicy policy = (OptimizationPolicy) policies.toArray()[0]; - - assertEquals("onapName", policy.getOnapName()); - assertTrue(policy.getPolicyName().startsWith("OOF.")); - assertTrue(policy.getConfigBody().contains("\"priority\":\"5\"")); - assertTrue(policy.getConfigBody().contains("\"riskLevel\":\"2\"")); - assertTrue(policy.getConfigBody().contains("\"riskType\":\"Test\"")); - assertTrue(policy.getConfigBody().contains("\"version\":\"1.0\"")); - assertTrue(policy.getConfigBody().contains("\"policyType\":\"hpa\"")); - - assertTrue(policy.getConfigBody().contains("\"id\":\"VDU_vgw_0\"")); - assertTrue(policy.getConfigBody().contains("\"type\":\"tosca.nodes.nfv.Vdu.Compute\"")); - assertTrue(policy.getConfigBody().contains("\"type\":\"flavor_directives\"")); - assertTrue(policy.getConfigBody().contains("\"attribute_name\":\"flavorName\"")); - assertTrue(policy.getConfigBody().contains("\"attribute_value\":\"\"")); - assertTrue(policy.getConfigBody().contains("\"hpa-feature\":\"sriovNICNetwork\"")); - assertTrue(policy.getConfigBody().contains("\"mandatory\":\"True\"")); - assertTrue(policy.getConfigBody().contains("\"architecture\":\"generic\"")); - assertTrue(policy.getConfigBody().contains("\"hpa-version\":\"v1\"")); - assertTrue(policy.getConfigBody().contains("\"hpa-attribute-key\":\"pciVendorId\"")); - assertTrue(policy.getConfigBody().contains("\"hpa-attribute-value\":\"1234\"")); - assertTrue(policy.getConfigBody().contains("\"operator\":\"=\"")); - assertTrue(policy.getConfigBody().contains("\"unit\":\"\"")); - assertTrue(policy.getConfigBody().contains("\"hpa-attribute-key\":\"pciDeviceId\"")); - assertTrue(policy.getConfigBody().contains("\"hpa-attribute-value\":\"5678\"")); - assertTrue(policy.getConfigBody().contains("\"operator\":\"=\"")); - assertTrue(policy.getConfigBody().contains("\"unit\":\"\"")); - assertTrue(policy.getConfigBody().contains("\"hpa-attribute-key\":\"pciNumDevices\"")); - assertTrue(policy.getConfigBody().contains("\"hpa-attribute-value\":\"1\"")); - assertTrue(policy.getConfigBody().contains("\"operator\":\"=\"")); - assertTrue(policy.getConfigBody().contains("\"unit\":\"\"")); + final Collection policies = policyDecoderCsarPdpx.decode(csar); + final ToscaPolicy policy = (ToscaPolicy) policies.toArray()[0]; + + // assertEquals("onapName", policy.getOnapName()); + assertTrue(policy.getName().startsWith("OOF.")); + // assertTrue(policy.getConfigBody().contains("\"priority\":\"5\"")); + // assertTrue(policy.getConfigBody().contains("\"riskLevel\":\"2\"")); + // assertTrue(policy.getConfigBody().contains("\"riskType\":\"Test\"")); + // assertTrue(policy.getConfigBody().contains("\"version\":\"1.0\"")); + // assertTrue(policy.getConfigBody().contains("\"policyType\":\"hpa\"")); + // + // assertTrue(policy.getConfigBody().contains("\"id\":\"VDU_vgw_0\"")); + // assertTrue(policy.getConfigBody().contains("\"type\":\"tosca.nodes.nfv.Vdu.Compute\"")); + // assertTrue(policy.getConfigBody().contains("\"type\":\"flavor_directives\"")); + // assertTrue(policy.getConfigBody().contains("\"attribute_name\":\"flavorName\"")); + // assertTrue(policy.getConfigBody().contains("\"attribute_value\":\"\"")); + // assertTrue(policy.getConfigBody().contains("\"hpa-feature\":\"sriovNICNetwork\"")); + // assertTrue(policy.getConfigBody().contains("\"mandatory\":\"True\"")); + // assertTrue(policy.getConfigBody().contains("\"architecture\":\"generic\"")); + // assertTrue(policy.getConfigBody().contains("\"hpa-version\":\"v1\"")); + // assertTrue(policy.getConfigBody().contains("\"hpa-attribute-key\":\"pciVendorId\"")); + // assertTrue(policy.getConfigBody().contains("\"hpa-attribute-value\":\"1234\"")); + // assertTrue(policy.getConfigBody().contains("\"operator\":\"=\"")); + // assertTrue(policy.getConfigBody().contains("\"unit\":\"\"")); + // assertTrue(policy.getConfigBody().contains("\"hpa-attribute-key\":\"pciDeviceId\"")); + // assertTrue(policy.getConfigBody().contains("\"hpa-attribute-value\":\"5678\"")); + // assertTrue(policy.getConfigBody().contains("\"operator\":\"=\"")); + // assertTrue(policy.getConfigBody().contains("\"unit\":\"\"")); + // assertTrue(policy.getConfigBody().contains("\"hpa-attribute-key\":\"pciNumDevices\"")); + // assertTrue(policy.getConfigBody().contains("\"hpa-attribute-value\":\"1\"")); + // assertTrue(policy.getConfigBody().contains("\"operator\":\"=\"")); + // assertTrue(policy.getConfigBody().contains("\"unit\":\"\"")); } @Test @@ -140,39 +140,39 @@ public class TestPolicyDecoderCsarPdpx { final PolicyDecoderCsarPdpx policyDecoderCsarPdpx = new PolicyDecoderCsarPdpx(); policyDecoderCsarPdpx.configure(CSAR_TO_OPTIMIZATION_POLICY_CONFIGURATION); - final Collection policies = policyDecoderCsarPdpx.decode(csar); + final Collection policies = policyDecoderCsarPdpx.decode(csar); assertEquals(2, policies.size()); - final OptimizationPolicy policy = (OptimizationPolicy) policies.toArray()[0]; - - assertEquals("onapName", policy.getOnapName()); - assertTrue(policy.getPolicyName().startsWith("OOF.")); - assertTrue(policy.getConfigBody().contains("\"priority\":\"5\"")); - assertTrue(policy.getConfigBody().contains("\"riskLevel\":\"2\"")); - assertTrue(policy.getConfigBody().contains("\"riskType\":\"Test\"")); - assertTrue(policy.getConfigBody().contains("\"version\":\"1.0\"")); - assertTrue(policy.getConfigBody().contains("\"policyType\":\"hpa\"")); - - assertTrue(policy.getConfigBody().contains("\"id\":\"VDU_vgw_0\"")); - assertTrue(policy.getConfigBody().contains("\"type\":\"tosca.nodes.nfv.Vdu.Compute\"")); - assertTrue(policy.getConfigBody().contains("\"type\":\"flavor_directives\"")); - assertTrue(policy.getConfigBody().contains("\"attribute_name\":\"flavorName\"")); - assertTrue(policy.getConfigBody().contains("\"attribute_value\":\"\"")); - assertTrue(policy.getConfigBody().contains("\"hpa-feature\":\"pciePassthrough\"")); - assertTrue(policy.getConfigBody().contains("\"mandatory\":\"True\"")); - assertTrue(policy.getConfigBody().contains("\"architecture\":\"generic\"")); - assertTrue(policy.getConfigBody().contains("\"hpa-version\":\"v1\"")); - assertTrue(policy.getConfigBody().contains("\"hpa-attribute-key\":\"pciVendorId\"")); - assertTrue(policy.getConfigBody().contains("\"hpa-attribute-value\":\"1234\"")); - assertTrue(policy.getConfigBody().contains("\"operator\":\"=\"")); - assertTrue(policy.getConfigBody().contains("\"unit\":\"\"")); - assertTrue(policy.getConfigBody().contains("\"hpa-attribute-key\":\"pciDeviceId\"")); - assertTrue(policy.getConfigBody().contains("\"hpa-attribute-value\":\"5678\"")); - assertTrue(policy.getConfigBody().contains("\"operator\":\"=\"")); - assertTrue(policy.getConfigBody().contains("\"unit\":\"\"")); - assertTrue(policy.getConfigBody().contains("\"hpa-attribute-key\":\"pciNumDevices\"")); - assertTrue(policy.getConfigBody().contains("\"hpa-attribute-value\":\"1\"")); - assertTrue(policy.getConfigBody().contains("\"operator\":\"=\"")); - assertTrue(policy.getConfigBody().contains("\"unit\":\"\"")); + final ToscaPolicy policy = (ToscaPolicy) policies.toArray()[0]; + + // assertEquals("onapName", policy.getOnapName()); + assertTrue(policy.getName().startsWith("OOF.")); + // assertTrue(policy.getConfigBody().contains("\"priority\":\"5\"")); + // assertTrue(policy.getConfigBody().contains("\"riskLevel\":\"2\"")); + // assertTrue(policy.getConfigBody().contains("\"riskType\":\"Test\"")); + // assertTrue(policy.getConfigBody().contains("\"version\":\"1.0\"")); + // assertTrue(policy.getConfigBody().contains("\"policyType\":\"hpa\"")); + // + // assertTrue(policy.getConfigBody().contains("\"id\":\"VDU_vgw_0\"")); + // assertTrue(policy.getConfigBody().contains("\"type\":\"tosca.nodes.nfv.Vdu.Compute\"")); + // assertTrue(policy.getConfigBody().contains("\"type\":\"flavor_directives\"")); + // assertTrue(policy.getConfigBody().contains("\"attribute_name\":\"flavorName\"")); + // assertTrue(policy.getConfigBody().contains("\"attribute_value\":\"\"")); + // assertTrue(policy.getConfigBody().contains("\"hpa-feature\":\"pciePassthrough\"")); + // assertTrue(policy.getConfigBody().contains("\"mandatory\":\"True\"")); + // assertTrue(policy.getConfigBody().contains("\"architecture\":\"generic\"")); + // assertTrue(policy.getConfigBody().contains("\"hpa-version\":\"v1\"")); + // assertTrue(policy.getConfigBody().contains("\"hpa-attribute-key\":\"pciVendorId\"")); + // assertTrue(policy.getConfigBody().contains("\"hpa-attribute-value\":\"1234\"")); + // assertTrue(policy.getConfigBody().contains("\"operator\":\"=\"")); + // assertTrue(policy.getConfigBody().contains("\"unit\":\"\"")); + // assertTrue(policy.getConfigBody().contains("\"hpa-attribute-key\":\"pciDeviceId\"")); + // assertTrue(policy.getConfigBody().contains("\"hpa-attribute-value\":\"5678\"")); + // assertTrue(policy.getConfigBody().contains("\"operator\":\"=\"")); + // assertTrue(policy.getConfigBody().contains("\"unit\":\"\"")); + // assertTrue(policy.getConfigBody().contains("\"hpa-attribute-key\":\"pciNumDevices\"")); + // assertTrue(policy.getConfigBody().contains("\"hpa-attribute-value\":\"1\"")); + // assertTrue(policy.getConfigBody().contains("\"operator\":\"=\"")); + // assertTrue(policy.getConfigBody().contains("\"unit\":\"\"")); } @@ -183,31 +183,31 @@ public class TestPolicyDecoderCsarPdpx { final PolicyDecoderCsarPdpx policyDecoderCsarPdpx = new PolicyDecoderCsarPdpx(); policyDecoderCsarPdpx.configure(CSAR_TO_OPTIMIZATION_POLICY_CONFIGURATION); - final Collection policies = policyDecoderCsarPdpx.decode(csar); + final Collection policies = policyDecoderCsarPdpx.decode(csar); assertEquals(2, policies.size()); - final OptimizationPolicy policy = (OptimizationPolicy) policies.toArray()[0]; - - assertEquals("onapName", policy.getOnapName()); - assertTrue(policy.getPolicyName().startsWith("OOF.")); - assertTrue(policy.getConfigBody().contains("\"priority\":\"5\"")); - assertTrue(policy.getConfigBody().contains("\"riskLevel\":\"2\"")); - assertTrue(policy.getConfigBody().contains("\"riskType\":\"Test\"")); - assertTrue(policy.getConfigBody().contains("\"version\":\"1.0\"")); - assertTrue(policy.getConfigBody().contains("\"policyType\":\"hpa\"")); - - assertTrue(policy.getConfigBody().contains("\"id\":\"VDU_vgw_0\"")); - assertTrue(policy.getConfigBody().contains("\"type\":\"tosca.nodes.nfv.Vdu.Compute\"")); - assertTrue(policy.getConfigBody().contains("\"type\":\"flavor_directives\"")); - assertTrue(policy.getConfigBody().contains("\"attribute_name\":\"flavorName\"")); - assertTrue(policy.getConfigBody().contains("\"attribute_value\":\"\"")); - assertTrue(policy.getConfigBody().contains("\"hpa-feature\":\"hugePages\"")); - assertTrue(policy.getConfigBody().contains("\"mandatory\":\"true\"")); - assertTrue(policy.getConfigBody().contains("\"architecture\":\"generic\"")); - assertTrue(policy.getConfigBody().contains("\"hpa-version\":\"v1\"")); - assertTrue(policy.getConfigBody().contains("\"hpa-attribute-key\":\"memoryPageSize\"")); - assertTrue(policy.getConfigBody().contains("\"hpa-attribute-value\":\"2\"")); - assertTrue(policy.getConfigBody().contains("\"operator\":\"=\"")); - assertTrue(policy.getConfigBody().contains("\"unit\":\"MB\"")); + final ToscaPolicy policy = (ToscaPolicy) policies.toArray()[0]; + + // assertEquals("onapName", policy.getOnapName()); + assertTrue(policy.getName().startsWith("OOF.")); + // assertTrue(policy.getConfigBody().contains("\"priority\":\"5\"")); + // assertTrue(policy.getConfigBody().contains("\"riskLevel\":\"2\"")); + // assertTrue(policy.getConfigBody().contains("\"riskType\":\"Test\"")); + // assertTrue(policy.getConfigBody().contains("\"version\":\"1.0\"")); + // assertTrue(policy.getConfigBody().contains("\"policyType\":\"hpa\"")); + // + // assertTrue(policy.getConfigBody().contains("\"id\":\"VDU_vgw_0\"")); + // assertTrue(policy.getConfigBody().contains("\"type\":\"tosca.nodes.nfv.Vdu.Compute\"")); + // assertTrue(policy.getConfigBody().contains("\"type\":\"flavor_directives\"")); + // assertTrue(policy.getConfigBody().contains("\"attribute_name\":\"flavorName\"")); + // assertTrue(policy.getConfigBody().contains("\"attribute_value\":\"\"")); + // assertTrue(policy.getConfigBody().contains("\"hpa-feature\":\"hugePages\"")); + // assertTrue(policy.getConfigBody().contains("\"mandatory\":\"true\"")); + // assertTrue(policy.getConfigBody().contains("\"architecture\":\"generic\"")); + // assertTrue(policy.getConfigBody().contains("\"hpa-version\":\"v1\"")); + // assertTrue(policy.getConfigBody().contains("\"hpa-attribute-key\":\"memoryPageSize\"")); + // assertTrue(policy.getConfigBody().contains("\"hpa-attribute-value\":\"2\"")); + // assertTrue(policy.getConfigBody().contains("\"operator\":\"=\"")); + // assertTrue(policy.getConfigBody().contains("\"unit\":\"MB\"")); } @Test @@ -216,31 +216,31 @@ public class TestPolicyDecoderCsarPdpx { final PolicyDecoderCsarPdpx policyDecoderCsarPdpx = new PolicyDecoderCsarPdpx(); policyDecoderCsarPdpx.configure(CSAR_TO_OPTIMIZATION_POLICY_CONFIGURATION); - final Collection policies = policyDecoderCsarPdpx.decode(csar); + final Collection policies = policyDecoderCsarPdpx.decode(csar); assertEquals(1, policies.size()); - final OptimizationPolicy policy = (OptimizationPolicy) policies.toArray()[0]; - - assertEquals("onapName", policy.getOnapName()); - assertTrue(policy.getPolicyName().startsWith("OOF.")); - assertTrue(policy.getConfigBody().contains("\"priority\":\"5\"")); - assertTrue(policy.getConfigBody().contains("\"riskLevel\":\"2\"")); - assertTrue(policy.getConfigBody().contains("\"riskType\":\"Test\"")); - assertTrue(policy.getConfigBody().contains("\"version\":\"1.0\"")); - assertTrue(policy.getConfigBody().contains("\"policyType\":\"hpa\"")); - - assertTrue(policy.getConfigBody().contains("\"id\":\"VDU_vgw_0\"")); - assertTrue(policy.getConfigBody().contains("\"type\":\"tosca.nodes.nfv.Vdu.Compute\"")); - assertTrue(policy.getConfigBody().contains("\"type\":\"flavor_directives\"")); - assertTrue(policy.getConfigBody().contains("\"attribute_name\":\"flavorName\"")); - assertTrue(policy.getConfigBody().contains("\"attribute_value\":\"\"")); - assertTrue(policy.getConfigBody().contains("\"hpa-feature\":\"pciePassthrough\"")); - assertTrue(policy.getConfigBody().contains("\"mandatory\":\"True\"")); - assertTrue(policy.getConfigBody().contains("\"architecture\":\"generic\"")); - assertTrue(policy.getConfigBody().contains("\"hpa-version\":\"v1\"")); - assertTrue(policy.getConfigBody().contains("\"hpa-attribute-key\":\"pciVendorId\"")); - assertTrue(policy.getConfigBody().contains("\"hpa-attribute-value\":\"1234\"")); - assertTrue(policy.getConfigBody().contains("\"operator\":\"=\"")); - assertTrue(policy.getConfigBody().contains("\"unit\":\"\"")); + final ToscaPolicy policy = (ToscaPolicy) policies.toArray()[0]; + + // assertEquals("onapName", policy.getOnapName()); + assertTrue(policy.getName().startsWith("OOF.")); + // assertTrue(policy.getConfigBody().contains("\"priority\":\"5\"")); + // assertTrue(policy.getConfigBody().contains("\"riskLevel\":\"2\"")); + // assertTrue(policy.getConfigBody().contains("\"riskType\":\"Test\"")); + // assertTrue(policy.getConfigBody().contains("\"version\":\"1.0\"")); + // assertTrue(policy.getConfigBody().contains("\"policyType\":\"hpa\"")); + // + // assertTrue(policy.getConfigBody().contains("\"id\":\"VDU_vgw_0\"")); + // assertTrue(policy.getConfigBody().contains("\"type\":\"tosca.nodes.nfv.Vdu.Compute\"")); + // assertTrue(policy.getConfigBody().contains("\"type\":\"flavor_directives\"")); + // assertTrue(policy.getConfigBody().contains("\"attribute_name\":\"flavorName\"")); + // assertTrue(policy.getConfigBody().contains("\"attribute_value\":\"\"")); + // assertTrue(policy.getConfigBody().contains("\"hpa-feature\":\"pciePassthrough\"")); + // assertTrue(policy.getConfigBody().contains("\"mandatory\":\"True\"")); + // assertTrue(policy.getConfigBody().contains("\"architecture\":\"generic\"")); + // assertTrue(policy.getConfigBody().contains("\"hpa-version\":\"v1\"")); + // assertTrue(policy.getConfigBody().contains("\"hpa-attribute-key\":\"pciVendorId\"")); + // assertTrue(policy.getConfigBody().contains("\"hpa-attribute-value\":\"1234\"")); + // assertTrue(policy.getConfigBody().contains("\"operator\":\"=\"")); + // assertTrue(policy.getConfigBody().contains("\"unit\":\"\"")); } @@ -250,30 +250,30 @@ public class TestPolicyDecoderCsarPdpx { final PolicyDecoderCsarPdpx policyDecoderCsarPdpx = new PolicyDecoderCsarPdpx(); policyDecoderCsarPdpx.configure(CSAR_TO_OPTIMIZATION_POLICY_CONFIGURATION); - final Collection policies = policyDecoderCsarPdpx.decode(csar); + final Collection policies = policyDecoderCsarPdpx.decode(csar); assertEquals(5, policies.size()); - final OptimizationPolicy policy = (OptimizationPolicy) policies.toArray()[0]; - - assertEquals("onapName", policy.getOnapName()); - assertTrue(policy.getPolicyName().startsWith("OOF.")); - assertTrue(policy.getConfigBody().contains("\"priority\":\"5\"")); - assertTrue(policy.getConfigBody().contains("\"riskLevel\":\"2\"")); - assertTrue(policy.getConfigBody().contains("\"riskType\":\"Test\"")); - assertTrue(policy.getConfigBody().contains("\"version\":\"1.0\"")); - assertTrue(policy.getConfigBody().contains("\"policyType\":\"hpa\"")); - - assertTrue(policy.getConfigBody().contains("\"type\":\"tosca.nodes.nfv.Vdu.Compute\"")); - assertTrue(policy.getConfigBody().contains("\"type\":\"flavor_directives\"")); - assertTrue(policy.getConfigBody().contains("\"attribute_name\":\"flavorName\"")); - assertTrue(policy.getConfigBody().contains("\"attribute_value\":\"\"")); - assertTrue(policy.getConfigBody().contains("\"hpa-feature\":\"sriovNICNetwork\"")); - assertTrue(policy.getConfigBody().contains("\"mandatory\":\"True\"")); - assertTrue(policy.getConfigBody().contains("\"architecture\":\"generic\"")); - assertTrue(policy.getConfigBody().contains("\"hpa-version\":\"v1\"")); - assertTrue(policy.getConfigBody().contains("\"hpa-attribute-key\":\"pciVendorId\"")); - assertTrue(policy.getConfigBody().contains("\"hpa-attribute-value\":\"1234\"")); - assertTrue(policy.getConfigBody().contains("\"operator\":\"=\"")); - assertTrue(policy.getConfigBody().contains("\"unit\":\"\"")); + final ToscaPolicy policy = (ToscaPolicy) policies.toArray()[0]; + + // assertEquals("onapName", policy.getOnapName()); + assertTrue(policy.getName().startsWith("OOF.")); + // assertTrue(policy.getConfigBody().contains("\"priority\":\"5\"")); + // assertTrue(policy.getConfigBody().contains("\"riskLevel\":\"2\"")); + // assertTrue(policy.getConfigBody().contains("\"riskType\":\"Test\"")); + // assertTrue(policy.getConfigBody().contains("\"version\":\"1.0\"")); + // assertTrue(policy.getConfigBody().contains("\"policyType\":\"hpa\"")); + // + // assertTrue(policy.getConfigBody().contains("\"type\":\"tosca.nodes.nfv.Vdu.Compute\"")); + // assertTrue(policy.getConfigBody().contains("\"type\":\"flavor_directives\"")); + // assertTrue(policy.getConfigBody().contains("\"attribute_name\":\"flavorName\"")); + // assertTrue(policy.getConfigBody().contains("\"attribute_value\":\"\"")); + // assertTrue(policy.getConfigBody().contains("\"hpa-feature\":\"sriovNICNetwork\"")); + // assertTrue(policy.getConfigBody().contains("\"mandatory\":\"True\"")); + // assertTrue(policy.getConfigBody().contains("\"architecture\":\"generic\"")); + // assertTrue(policy.getConfigBody().contains("\"hpa-version\":\"v1\"")); + // assertTrue(policy.getConfigBody().contains("\"hpa-attribute-key\":\"pciVendorId\"")); + // assertTrue(policy.getConfigBody().contains("\"hpa-attribute-value\":\"1234\"")); + // assertTrue(policy.getConfigBody().contains("\"operator\":\"=\"")); + // assertTrue(policy.getConfigBody().contains("\"unit\":\"\"")); } } diff --git a/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/decoding/policy/file/PolicyDecoderFileInCsarToPolicyTest.java b/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/decoding/policy/file/PolicyDecoderFileInCsarToPolicyTest.java index e40ab3fe..f3f0217b 100644 --- a/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/decoding/policy/file/PolicyDecoderFileInCsarToPolicyTest.java +++ b/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/decoding/policy/file/PolicyDecoderFileInCsarToPolicyTest.java @@ -35,7 +35,7 @@ import org.junit.runner.RunWith; import org.mockito.runners.MockitoJUnitRunner; import org.onap.policy.common.parameters.ParameterService; import org.onap.policy.distribution.model.Csar; -import org.onap.policy.distribution.model.PolicyAsString; +import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; /** * Class to perform unit test of {@link PolicyDecoderFileInCsarToPolicy}. @@ -79,10 +79,10 @@ public class PolicyDecoderFileInCsarToPolicyTest { try { decoder.canHandle(csar); - final Collection policyHolders = decoder.decode(csar); - for (final PolicyAsString policy : policyHolders) { - assertEquals(POLICY_FILE_NAME, policy.getPolicyName()); - assertEquals(POLICY_TYPE, policy.getPolicyType()); + final Collection policyHolders = decoder.decode(csar); + for (final ToscaPolicy policy : policyHolders) { + assertEquals(POLICY_FILE_NAME, policy.getName()); + assertEquals(POLICY_TYPE, policy.getType()); } } catch (final Exception exp) { fail("Test must not throw an exception"); diff --git a/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/sdc/DummyDecoder.java b/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/sdc/DummyDecoder.java index fd61c43d..de1bb852 100644 --- a/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/sdc/DummyDecoder.java +++ b/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/sdc/DummyDecoder.java @@ -35,7 +35,6 @@ import org.onap.policy.distribution.reception.decoding.PolicyDecodingException; */ public class DummyDecoder implements PolicyDecoder { - public static final String DUMMY_POLICY = "DummyPolicy"; private DummyPolicy decodedPolicy; /** @@ -51,7 +50,7 @@ public class DummyDecoder implements PolicyDecoder { */ @Override public Collection decode(final Csar input) throws PolicyDecodingException { - final DummyPolicy dummyPolicy = new DummyPolicy(input.getCsarPath(), DUMMY_POLICY); + final DummyPolicy dummyPolicy = new DummyPolicy(input.getCsarPath()); decodedPolicy = dummyPolicy; return Arrays.asList(dummyPolicy); } diff --git a/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/sdc/DummyPolicy.java b/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/sdc/DummyPolicy.java index f4c56ab0..01d7e7d8 100644 --- a/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/sdc/DummyPolicy.java +++ b/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/sdc/DummyPolicy.java @@ -20,43 +20,32 @@ package org.onap.policy.distribution.reception.handling.sdc; -import org.onap.policy.distribution.model.Policy; +import org.onap.policy.models.tosca.authorative.concepts.ToscaEntity; /** * Class to create a dummy policy for test cases. * * @author Ram Krishna Verma (ram.krishna.verma@ericsson.com) */ -public class DummyPolicy implements Policy { +public class DummyPolicy extends ToscaEntity { private String policyName; - private String policyType; /** * Constructor for instantiating {@link DummyPolicy} class. * * @param policyName the policy name - * @param policyType the policy type */ - public DummyPolicy(final String policyName, final String policyType) { + public DummyPolicy(final String policyName) { super(); this.policyName = policyName; - this.policyType = policyType; } /** * {@inheritDoc}. */ @Override - public String getPolicyName() { + public String getName() { return policyName; } - - /** - * {@inheritDoc}. - */ - @Override - public String getPolicyType() { - return policyType; - } } diff --git a/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/sdc/DummyPolicyForwarder.java b/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/sdc/DummyPolicyForwarder.java index cd127e22..a18df167 100644 --- a/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/sdc/DummyPolicyForwarder.java +++ b/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/sdc/DummyPolicyForwarder.java @@ -25,7 +25,7 @@ import java.util.Collection; import org.onap.policy.distribution.forwarding.PolicyForwarder; import org.onap.policy.distribution.forwarding.PolicyForwardingException; -import org.onap.policy.distribution.model.Policy; +import org.onap.policy.models.tosca.authorative.concepts.ToscaEntity; /** * Class to create a dummy forwarder for test cases. @@ -34,13 +34,13 @@ import org.onap.policy.distribution.model.Policy; */ public class DummyPolicyForwarder implements PolicyForwarder { private int numberOfPoliciesReceived = 0; - private Collection policiesReceived = new ArrayList<>(); + private Collection policiesReceived = new ArrayList<>(); /** * {@inheritDoc}. */ @Override - public void forward(final Collection policies) throws PolicyForwardingException { + public void forward(final Collection policies) throws PolicyForwardingException { numberOfPoliciesReceived += policies.size(); policiesReceived.addAll(policies); } @@ -61,8 +61,8 @@ public class DummyPolicyForwarder implements PolicyForwarder { * @return the boolean result */ public boolean receivedPolicyWithGivenType(final String policyType) { - for (final Policy policy : policiesReceived) { - if (policy.getPolicyType().equals(policyType)) { + for (final ToscaEntity policy : policiesReceived) { + if (policy.getName().contains(policyType)) { return true; } } diff --git a/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/sdc/TestSdcReceptionHandler.java b/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/sdc/TestSdcReceptionHandler.java index 3118f95d..57fbf1cc 100644 --- a/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/sdc/TestSdcReceptionHandler.java +++ b/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/sdc/TestSdcReceptionHandler.java @@ -229,10 +229,9 @@ public class TestSdcReceptionHandler { sypHandler.initializeReception(pssdConfigParameters.getName()); sypHandler.activateCallback(notificationData); - assertEquals(DummyDecoder.DUMMY_POLICY, policyDecoder.getDecodedPolicy().getPolicyType()); - assertTrue(policyDecoder.getDecodedPolicy().getPolicyName().contains(DUMMY_SERVICE_CSAR)); + assertTrue(policyDecoder.getDecodedPolicy().getName().contains(DUMMY_SERVICE_CSAR)); assertEquals(1, policyForwarder.getNumberOfPoliciesReceived()); - assertTrue(policyForwarder.receivedPolicyWithGivenType(DummyDecoder.DUMMY_POLICY)); + assertTrue(policyForwarder.receivedPolicyWithGivenType(DUMMY_SERVICE_CSAR)); assertEquals(1, DistributionStatisticsManager.getTotalDistributionCount()); assertEquals(1, DistributionStatisticsManager.getDistributionSuccessCount()); assertEquals(0, DistributionStatisticsManager.getDistributionFailureCount()); diff --git a/pom.xml b/pom.xml index c62c3ef4..adc22f44 100644 --- a/pom.xml +++ b/pom.xml @@ -50,6 +50,7 @@ 1.5.1-SNAPSHOT 1.5.1-SNAPSHOT 2.2.1-SNAPSHOT + 2.1.1-SNAPSHOT diff --git a/reception/src/main/java/org/onap/policy/distribution/reception/decoding/PolicyDecoder.java b/reception/src/main/java/org/onap/policy/distribution/reception/decoding/PolicyDecoder.java index 9cd660a9..04150205 100644 --- a/reception/src/main/java/org/onap/policy/distribution/reception/decoding/PolicyDecoder.java +++ b/reception/src/main/java/org/onap/policy/distribution/reception/decoding/PolicyDecoder.java @@ -22,8 +22,8 @@ package org.onap.policy.distribution.reception.decoding; import java.util.Collection; -import org.onap.policy.distribution.model.Policy; import org.onap.policy.distribution.model.PolicyInput; +import org.onap.policy.models.tosca.authorative.concepts.ToscaEntity; /** * Decodes polices from a given input. @@ -31,7 +31,7 @@ import org.onap.policy.distribution.model.PolicyInput; * @param the type of policy that will be created * @param the type of input to be decoded */ -public interface PolicyDecoder { +public interface PolicyDecoder { /** * Configure the policy decoder. This method will be invoked immediately after instantiation in order for the policy diff --git a/reception/src/main/java/org/onap/policy/distribution/reception/handling/AbstractReceptionHandler.java b/reception/src/main/java/org/onap/policy/distribution/reception/handling/AbstractReceptionHandler.java index 5b2d1671..2ea18704 100644 --- a/reception/src/main/java/org/onap/policy/distribution/reception/handling/AbstractReceptionHandler.java +++ b/reception/src/main/java/org/onap/policy/distribution/reception/handling/AbstractReceptionHandler.java @@ -27,12 +27,12 @@ import java.util.Collection; import org.onap.policy.common.parameters.ParameterService; import org.onap.policy.distribution.forwarding.PolicyForwarder; import org.onap.policy.distribution.forwarding.PolicyForwardingException; -import org.onap.policy.distribution.model.Policy; import org.onap.policy.distribution.model.PolicyInput; import org.onap.policy.distribution.reception.decoding.PluginInitializationException; import org.onap.policy.distribution.reception.decoding.PolicyDecoder; import org.onap.policy.distribution.reception.decoding.PolicyDecodingException; import org.onap.policy.distribution.reception.parameters.ReceptionHandlerParameters; +import org.onap.policy.models.tosca.authorative.concepts.ToscaEntity; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -76,8 +76,8 @@ public abstract class AbstractReceptionHandler implements ReceptionHandler { */ protected void inputReceived(final PolicyInput policyInput) throws PolicyDecodingException { - final Collection policies = new ArrayList<>(); - for (final PolicyDecoder policyDecoder : getRelevantPolicyDecoders(policyInput)) { + final Collection policies = new ArrayList<>(); + for (final PolicyDecoder policyDecoder : getRelevantPolicyDecoders(policyInput)) { policies.addAll(policyDecoder.decode(policyInput)); } @@ -90,10 +90,10 @@ public abstract class AbstractReceptionHandler implements ReceptionHandler { } } - private Collection> getRelevantPolicyDecoders(final PolicyInput policyInput) + private Collection> getRelevantPolicyDecoders(final PolicyInput policyInput) throws PolicyDecodingException { - final Collection> relevantPolicyDecoders = new ArrayList<>(); - for (final PolicyDecoder policyDecoder : pluginHandler.getPolicyDecoders()) { + final Collection> relevantPolicyDecoders = new ArrayList<>(); + for (final PolicyDecoder policyDecoder : pluginHandler.getPolicyDecoders()) { if (policyDecoder.canHandle(policyInput)) { relevantPolicyDecoders.add(policyDecoder); } diff --git a/reception/src/main/java/org/onap/policy/distribution/reception/handling/PluginHandler.java b/reception/src/main/java/org/onap/policy/distribution/reception/handling/PluginHandler.java index afa703ab..f837e520 100644 --- a/reception/src/main/java/org/onap/policy/distribution/reception/handling/PluginHandler.java +++ b/reception/src/main/java/org/onap/policy/distribution/reception/handling/PluginHandler.java @@ -28,12 +28,12 @@ import java.util.Map; import org.onap.policy.common.parameters.ParameterService; import org.onap.policy.distribution.forwarding.PolicyForwarder; import org.onap.policy.distribution.forwarding.parameters.PolicyForwarderParameters; -import org.onap.policy.distribution.model.Policy; import org.onap.policy.distribution.model.PolicyInput; import org.onap.policy.distribution.reception.decoding.PluginInitializationException; import org.onap.policy.distribution.reception.decoding.PolicyDecoder; import org.onap.policy.distribution.reception.parameters.PluginHandlerParameters; import org.onap.policy.distribution.reception.parameters.PolicyDecoderParameters; +import org.onap.policy.models.tosca.authorative.concepts.ToscaEntity; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -44,7 +44,7 @@ public class PluginHandler { private static final Logger LOGGER = LoggerFactory.getLogger(PluginHandler.class); - private Collection> policyDecoders; + private Collection> policyDecoders; private Collection policyForwarders; /** @@ -64,7 +64,7 @@ public class PluginHandler { * * @return the policy decoders */ - public Collection> getPolicyDecoders() { + public Collection> getPolicyDecoders() { return policyDecoders; } @@ -89,10 +89,10 @@ public class PluginHandler { policyDecoders = new ArrayList<>(); for (final PolicyDecoderParameters decoderParameters : policyDecoderParameters.values()) { try { - final Class> policyDecoderClass = - (Class>) Class + final Class> policyDecoderClass = + (Class>) Class .forName(decoderParameters.getDecoderClassName()); - final PolicyDecoder decoder = policyDecoderClass.newInstance(); + final PolicyDecoder decoder = policyDecoderClass.newInstance(); decoder.configure(decoderParameters.getDecoderConfigurationName()); policyDecoders.add(decoder); } catch (final ClassNotFoundException | InstantiationException | IllegalAccessException exp) { diff --git a/reception/src/test/java/org/onap/policy/distribution/reception/handling/AbstractReceptionHandlerTest.java b/reception/src/test/java/org/onap/policy/distribution/reception/handling/AbstractReceptionHandlerTest.java index 8dc84621..f76f599c 100644 --- a/reception/src/test/java/org/onap/policy/distribution/reception/handling/AbstractReceptionHandlerTest.java +++ b/reception/src/test/java/org/onap/policy/distribution/reception/handling/AbstractReceptionHandlerTest.java @@ -34,13 +34,13 @@ import org.junit.Test; import org.onap.policy.common.parameters.ParameterService; import org.onap.policy.distribution.forwarding.PolicyForwarder; import org.onap.policy.distribution.forwarding.parameters.PolicyForwarderParameters; -import org.onap.policy.distribution.model.Policy; import org.onap.policy.distribution.model.PolicyInput; import org.onap.policy.distribution.reception.decoding.PluginInitializationException; import org.onap.policy.distribution.reception.decoding.PolicyDecoder; import org.onap.policy.distribution.reception.decoding.PolicyDecodingException; import org.onap.policy.distribution.reception.parameters.PluginHandlerParameters; import org.onap.policy.distribution.reception.parameters.PolicyDecoderParameters; +import org.onap.policy.models.tosca.authorative.concepts.ToscaEntity; /** * Class to perform unit test of AbstractReceptionHandler. @@ -65,15 +65,15 @@ public class AbstractReceptionHandlerTest { IllegalArgumentException, IllegalAccessException, PluginInitializationException { final AbstractReceptionHandler handler = new DummyReceptionHandler(); - final Policy generatedPolicy1 = new DummyPolicy1(); - final Policy generatedPolicy2 = new DummyPolicy2(); + final ToscaEntity generatedPolicy1 = new DummyPolicy1(); + final ToscaEntity generatedPolicy2 = new DummyPolicy2(); - final PolicyDecoder policyDecoder1 = + final PolicyDecoder policyDecoder1 = new DummyDecoder(true, Collections.singletonList(generatedPolicy1)); - final PolicyDecoder policyDecoder2 = + final PolicyDecoder policyDecoder2 = new DummyDecoder(true, Collections.singletonList(generatedPolicy2)); - final Collection> policyDecoders = new ArrayList<>(); + final Collection> policyDecoders = new ArrayList<>(); policyDecoders.add(policyDecoder1); policyDecoders.add(policyDecoder2); @@ -101,7 +101,7 @@ public class AbstractReceptionHandlerTest { SecurityException, IllegalArgumentException, IllegalAccessException, PluginInitializationException { final AbstractReceptionHandler handler = new DummyReceptionHandler(); - final PolicyDecoder policyDecoder = new DummyDecoder(false, Collections.emptyList()); + final PolicyDecoder policyDecoder = new DummyDecoder(false, Collections.emptyList()); final DummyPolicyForwarder policyForwarder = new DummyPolicyForwarder(); setUpPlugins(handler, Collections.singleton(policyDecoder), Collections.singleton(policyForwarder)); @@ -122,36 +122,26 @@ public class AbstractReceptionHandlerTest { class DummyPolicyInput implements PolicyInput { } - class DummyPolicy1 implements Policy { + class DummyPolicy1 extends ToscaEntity { @Override - public String getPolicyName() { - return null; - } - - @Override - public String getPolicyType() { + public String getName() { return null; } } - class DummyPolicy2 implements Policy { + class DummyPolicy2 extends ToscaEntity { @Override - public String getPolicyName() { - return null; - } - - @Override - public String getPolicyType() { + public String getName() { return null; } } private void setUpPlugins(final AbstractReceptionHandler receptionHandler, - final Collection> decoders, final Collection forwarders) - throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException, - PluginInitializationException { + final Collection> decoders, + final Collection forwarders) throws NoSuchFieldException, SecurityException, + IllegalArgumentException, IllegalAccessException, PluginInitializationException { final PluginHandlerParameters pluginParameters = getPluginHandlerParameters(); pluginParameters.setName(DISTRIBUTION_GROUP); ParameterService.register(pluginParameters); diff --git a/reception/src/test/java/org/onap/policy/distribution/reception/handling/DummyDecoder.java b/reception/src/test/java/org/onap/policy/distribution/reception/handling/DummyDecoder.java index 74792b1e..aa61c1c2 100644 --- a/reception/src/test/java/org/onap/policy/distribution/reception/handling/DummyDecoder.java +++ b/reception/src/test/java/org/onap/policy/distribution/reception/handling/DummyDecoder.java @@ -22,27 +22,27 @@ package org.onap.policy.distribution.reception.handling; import java.util.Collection; -import org.onap.policy.distribution.model.Policy; import org.onap.policy.distribution.model.PolicyInput; import org.onap.policy.distribution.reception.decoding.PolicyDecoder; import org.onap.policy.distribution.reception.decoding.PolicyDecodingException; +import org.onap.policy.models.tosca.authorative.concepts.ToscaEntity; /** * Class to create a dummy decoder for test cases in AbstractReceptionHandlerTest. * * @author Ram Krishna Verma (ram.krishna.verma@ericsson.com) */ -public class DummyDecoder implements PolicyDecoder { +public class DummyDecoder implements PolicyDecoder { private boolean canHandleValue; - private Collection policesToReturn; + private Collection policesToReturn; public DummyDecoder() { this.canHandleValue = false; this.policesToReturn = null; } - public DummyDecoder(final boolean canHandleValue, final Collection policesToReturn) { + public DummyDecoder(final boolean canHandleValue, final Collection policesToReturn) { this.canHandleValue = canHandleValue; this.policesToReturn = policesToReturn; } @@ -53,7 +53,7 @@ public class DummyDecoder implements PolicyDecoder { } @Override - public Collection decode(final PolicyInput input) throws PolicyDecodingException { + public Collection decode(final PolicyInput input) throws PolicyDecodingException { return policesToReturn; } diff --git a/reception/src/test/java/org/onap/policy/distribution/reception/handling/DummyPolicyForwarder.java b/reception/src/test/java/org/onap/policy/distribution/reception/handling/DummyPolicyForwarder.java index a665c546..588adc8f 100644 --- a/reception/src/test/java/org/onap/policy/distribution/reception/handling/DummyPolicyForwarder.java +++ b/reception/src/test/java/org/onap/policy/distribution/reception/handling/DummyPolicyForwarder.java @@ -22,9 +22,10 @@ package org.onap.policy.distribution.reception.handling; import java.util.ArrayList; import java.util.Collection; + import org.onap.policy.distribution.forwarding.PolicyForwarder; import org.onap.policy.distribution.forwarding.PolicyForwardingException; -import org.onap.policy.distribution.model.Policy; +import org.onap.policy.models.tosca.authorative.concepts.ToscaEntity; /** * Class to create a dummy forwarder for test cases in AbstractReceptionHandlerTest. @@ -33,10 +34,10 @@ import org.onap.policy.distribution.model.Policy; */ public class DummyPolicyForwarder implements PolicyForwarder { private int numberOfPoliciesReceived = 0; - private Collection policiesReceived = new ArrayList<>(); + private Collection policiesReceived = new ArrayList<>(); @Override - public void forward(final Collection policies) throws PolicyForwardingException { + public void forward(final Collection policies) throws PolicyForwardingException { numberOfPoliciesReceived += policies.size(); policiesReceived.addAll(policies); } @@ -45,10 +46,10 @@ public class DummyPolicyForwarder implements PolicyForwarder { return numberOfPoliciesReceived; } - public boolean receivedPolicy(final Policy policy) { + public boolean receivedPolicy(final ToscaEntity policy) { return policiesReceived.contains(policy); } @Override - public void configure(String parameterGroupName) {} + public void configure(final String parameterGroupName) {} } -- cgit 1.2.3-korg