summaryrefslogtreecommitdiffstats
path: root/artifactbroker
diff options
context:
space:
mode:
Diffstat (limited to 'artifactbroker')
-rw-r--r--artifactbroker/forwarding/src/main/java/org/onap/policy/distribution/forwarding/ArtifactForwarder.java3
-rw-r--r--artifactbroker/main/pom.xml8
-rw-r--r--artifactbroker/main/src/main/java/org/onap/policy/distribution/main/parameters/ArtifactForwarderConfigurationParameterGroup.java43
-rw-r--r--artifactbroker/main/src/main/java/org/onap/policy/distribution/main/parameters/ArtifactForwarderConfigurationParametersJsonAdapter.java81
-rw-r--r--artifactbroker/main/src/main/java/org/onap/policy/distribution/main/parameters/DistributionParameterGroup.java87
-rw-r--r--artifactbroker/main/src/main/java/org/onap/policy/distribution/main/parameters/DistributionParameterHandler.java6
-rw-r--r--artifactbroker/main/src/test/java/org/onap/policy/distribution/main/testclasses/DummyArtifactForwarder.java49
-rw-r--r--artifactbroker/main/src/test/java/org/onap/policy/distribution/main/testclasses/DummyArtifactForwarderParameterGroup.java132
-rw-r--r--artifactbroker/main/src/test/java/org/onap/policy/distribution/main/testclasses/DummyReceptionHandler.java38
-rw-r--r--artifactbroker/main/src/test/java/org/onap/policy/distribution/main/testclasses/DummyReceptionHandlerParameterGroup.java99
-rw-r--r--artifactbroker/main/src/test/resources/parameters/BadParameters.json3
-rw-r--r--artifactbroker/main/src/test/resources/parameters/DistributionConfigParameters.json39
-rw-r--r--artifactbroker/main/src/test/resources/parameters/DistributionConfigParameters_EmptyReceptionHandler.json34
-rw-r--r--artifactbroker/main/src/test/resources/parameters/DistributionConfigParameters_Https.json41
-rw-r--r--artifactbroker/main/src/test/resources/parameters/DistributionConfigParameters_NoPolicyForwarder.json28
-rw-r--r--artifactbroker/main/src/test/resources/parameters/DistributionConfigParameters_NoReceptionHandler.json19
-rw-r--r--artifactbroker/main/src/test/resources/parameters/EmptyParameters.json0
-rw-r--r--artifactbroker/main/src/test/resources/parameters/InvalidParameters.json3
-rw-r--r--artifactbroker/main/src/test/resources/parameters/NoParameters.json8
-rw-r--r--artifactbroker/model/pom.xml13
-rw-r--r--artifactbroker/model/src/main/java/org/onap/policy/distribution/model/CloudArtifact.java16
-rw-r--r--artifactbroker/model/src/main/java/org/onap/policy/distribution/model/VfModuleModel.java (renamed from artifactbroker/model/src/main/java/org/onap/policy/distribution/model/VfModuelModel.java)12
-rw-r--r--artifactbroker/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/handling/sdc/SdcReceptionHandler.java12
-rw-r--r--artifactbroker/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/sdc/DummyArtifactForwarder.java34
-rw-r--r--artifactbroker/pom.xml1
-rw-r--r--artifactbroker/reception/src/main/java/org/onap/policy/distribution/reception/handling/AbstractReceptionHandler.java3
-rw-r--r--artifactbroker/reception/src/test/java/org/onap/policy/distribution/reception/handling/DummyArtifactForwarder.java11
27 files changed, 764 insertions, 59 deletions
diff --git a/artifactbroker/forwarding/src/main/java/org/onap/policy/distribution/forwarding/ArtifactForwarder.java b/artifactbroker/forwarding/src/main/java/org/onap/policy/distribution/forwarding/ArtifactForwarder.java
index 7e0d42b..ff6d97e 100644
--- a/artifactbroker/forwarding/src/main/java/org/onap/policy/distribution/forwarding/ArtifactForwarder.java
+++ b/artifactbroker/forwarding/src/main/java/org/onap/policy/distribution/forwarding/ArtifactForwarder.java
@@ -22,6 +22,7 @@ package org.onap.policy.distribution.forwarding;
import java.util.Collection;
import org.onap.sdc.api.notification.IArtifactInfo;
+import org.onap.policy.distribution.model.PolicyInput;
/**
* Forwards polices.
@@ -49,6 +50,6 @@ public interface ArtifactForwarder {
* @param policies the policies to forward
* @throws ArtifactForwardingException if an error occurs when forwarding the given Artifact
*/
- void forward(Collection<IArtifactInfo> artifacts) throws ArtifactForwardingException;
+ void forward(PolicyInput policyInput) throws ArtifactForwardingException;
}
diff --git a/artifactbroker/main/pom.xml b/artifactbroker/main/pom.xml
index db1c855..4e0ecc0 100644
--- a/artifactbroker/main/pom.xml
+++ b/artifactbroker/main/pom.xml
@@ -29,6 +29,14 @@
<name>${project.artifactId}</name>
<description>The main module of Policy Distribution that handles startup, lifecycle management, and parameters.</description>
+ <dependencies>
+ <dependency>
+ <groupId>org.onap.multicloud.framework</groupId>
+ <artifactId>multicloud-framework-artifactbroker-reception</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+
<build>
<resources>
<!-- Output the version of the distribution service -->
diff --git a/artifactbroker/main/src/main/java/org/onap/policy/distribution/main/parameters/ArtifactForwarderConfigurationParameterGroup.java b/artifactbroker/main/src/main/java/org/onap/policy/distribution/main/parameters/ArtifactForwarderConfigurationParameterGroup.java
new file mode 100644
index 0000000..6a1fe79
--- /dev/null
+++ b/artifactbroker/main/src/main/java/org/onap/policy/distribution/main/parameters/ArtifactForwarderConfigurationParameterGroup.java
@@ -0,0 +1,43 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. All rights reserved.
+ * Copyright (C) 2019 Intel. All rights reserved.
+ * ================================================================================
+ * 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.main.parameters;
+
+import org.onap.policy.common.parameters.ParameterGroup;
+
+/**
+ * Base class of all {@link ParameterGroup} classes for configuration parameters for
+ * {@link ArtifactForwarder} classes.
+ */
+public abstract class ArtifactForwarderConfigurationParameterGroup implements ParameterGroup {
+
+ private String name;
+
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+}
diff --git a/artifactbroker/main/src/main/java/org/onap/policy/distribution/main/parameters/ArtifactForwarderConfigurationParametersJsonAdapter.java b/artifactbroker/main/src/main/java/org/onap/policy/distribution/main/parameters/ArtifactForwarderConfigurationParametersJsonAdapter.java
new file mode 100644
index 0000000..c63056d
--- /dev/null
+++ b/artifactbroker/main/src/main/java/org/onap/policy/distribution/main/parameters/ArtifactForwarderConfigurationParametersJsonAdapter.java
@@ -0,0 +1,81 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ * Copyright (C) 2019-2020 Intel. All rights reserved.
+ * ================================================================================
+ * 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.main.parameters;
+
+import com.google.gson.JsonDeserializationContext;
+import com.google.gson.JsonDeserializer;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
+import com.google.gson.JsonPrimitive;
+import java.lang.reflect.Type;
+import org.slf4j.ext.XLogger;
+import org.slf4j.ext.XLoggerFactory;
+
+/**
+ * This class deserialises policy forwarder parameters from JSON.
+ */
+public class ArtifactForwarderConfigurationParametersJsonAdapter
+ implements JsonDeserializer<ArtifactForwarderConfigurationParameterGroup> {
+ private static final XLogger LOGGER =
+ XLoggerFactory.getXLogger(ArtifactForwarderConfigurationParametersJsonAdapter.class);
+
+ private static final String PARAMETER_CLASS_NAME = "parameterClassName";
+ private static final String Artifact_FORWARDER_PARAMETERS = "parameters";
+
+ @Override
+ public ArtifactForwarderConfigurationParameterGroup deserialize(final JsonElement json, final Type typeOfT,
+ final JsonDeserializationContext context) {
+ final JsonObject jsonObject = json.getAsJsonObject();
+
+ final String artifactForwarderParameterClassName = getParameterGroupClassName(jsonObject);
+ Class<?> artifactForwarderParameterClass = getParameterGroupClass(artifactForwarderParameterClassName);
+
+ return context.deserialize(jsonObject.get(Artifact_FORWARDER_PARAMETERS), artifactForwarderParameterClass);
+ }
+
+ private String getParameterGroupClassName(final JsonObject jsonObject) {
+ final JsonPrimitive classNameJsonPrimitive = ((JsonPrimitive) jsonObject.get(PARAMETER_CLASS_NAME));
+
+ if (classNameJsonPrimitive == null || classNameJsonPrimitive.getAsString().length() == 0) {
+ final String errorMessage = "parameter \"" + PARAMETER_CLASS_NAME + "\" value \""
+ + (classNameJsonPrimitive != null ? classNameJsonPrimitive.getAsString() : "null")
+ + "\" invalid in JSON file";
+ LOGGER.warn(errorMessage);
+ throw new IllegalArgumentException(errorMessage);
+ }
+ return classNameJsonPrimitive.getAsString().replaceAll("\\s+", "");
+ }
+
+ private Class<?> getParameterGroupClass(final String artifactForwarderParameterClassName) {
+ Class<?> artifactForwarderParameterClass = null;
+ try {
+ artifactForwarderParameterClass = Class.forName(artifactForwarderParameterClassName);
+ } catch (final ClassNotFoundException e) {
+ final String errorMessage = "parameter \"" + PARAMETER_CLASS_NAME + "\" value \""
+ + artifactForwarderParameterClassName + "\", could not find class";
+ LOGGER.warn(errorMessage, e);
+ throw new IllegalArgumentException(errorMessage, e);
+ }
+ return artifactForwarderParameterClass;
+ }
+
+}
diff --git a/artifactbroker/main/src/main/java/org/onap/policy/distribution/main/parameters/DistributionParameterGroup.java b/artifactbroker/main/src/main/java/org/onap/policy/distribution/main/parameters/DistributionParameterGroup.java
index d034e5e..5a588f8 100644
--- a/artifactbroker/main/src/main/java/org/onap/policy/distribution/main/parameters/DistributionParameterGroup.java
+++ b/artifactbroker/main/src/main/java/org/onap/policy/distribution/main/parameters/DistributionParameterGroup.java
@@ -28,6 +28,8 @@ import org.onap.policy.common.parameters.GroupValidationResult;
import org.onap.policy.common.parameters.ParameterGroup;
import org.onap.policy.common.parameters.ValidationStatus;
import org.onap.policy.common.utils.validation.ParameterValidationUtils;
+import org.onap.policy.distribution.reception.parameters.ReceptionHandlerConfigurationParameterGroup;
+import org.onap.policy.distribution.reception.parameters.ReceptionHandlerParameters;
/**
* Class to hold all parameters needed for Distribution component.
@@ -38,6 +40,11 @@ public class DistributionParameterGroup implements ParameterGroup {
// @formatter:off
private String name;
private RestServerParameters restServerParameters;
+ private Map<String, ReceptionHandlerParameters> receptionHandlerParameters;
+ private Map<String, ReceptionHandlerConfigurationParameterGroup> receptionHandlerConfigurationParameters
+ = new LinkedHashMap<>();
+ private Map<String, ArtifactForwarderConfigurationParameterGroup> artifactForwarderConfigurationParameters
+ = new LinkedHashMap<>();
// @formatter:on
/**
@@ -45,9 +52,15 @@ public class DistributionParameterGroup implements ParameterGroup {
*
* @param name the parameter group name
*/
- public DistributionParameterGroup(final String name, final RestServerParameters restServerParameters) {
+ public DistributionParameterGroup(final String name, final RestServerParameters restServerParameters,
+ final Map<String, ReceptionHandlerParameters> receptionHandlerParameters,
+ final Map<String, ReceptionHandlerConfigurationParameterGroup> receptionHandlerConfigurationParameters,
+ final Map<String, ArtifactForwarderConfigurationParameterGroup> artifactForwarderConfigurationParameters) {
this.name = name;
this.restServerParameters = restServerParameters;
+ this.receptionHandlerParameters = receptionHandlerParameters;
+ this.receptionHandlerConfigurationParameters = receptionHandlerConfigurationParameters;
+ this.artifactForwarderConfigurationParameters = artifactForwarderConfigurationParameters;
}
/**
@@ -71,6 +84,15 @@ public class DistributionParameterGroup implements ParameterGroup {
}
/**
+ * Return the receptionHandlerParameters of this parameter group instance.
+ *
+ * @return the receptionHandlerParameters
+ */
+ public Map<String, ReceptionHandlerParameters> getReceptionHandlerParameters() {
+ return receptionHandlerParameters;
+ }
+
+ /**
* Return the restServerParameters of this parameter group instance.
*
* @return the restServerParameters
@@ -80,6 +102,44 @@ public class DistributionParameterGroup implements ParameterGroup {
}
/**
+ * Gets the reception handler configuration parameter map.
+ *
+ * @return the reception handler configuration parameter map
+ */
+ public Map<String, ReceptionHandlerConfigurationParameterGroup> getReceptionHandlerConfigurationParameters() {
+ return receptionHandlerConfigurationParameters;
+ }
+
+ /**
+ * Sets the reception handler configuration parameter map.
+ *
+ * @param receptionHandlerConfigurationParameters the reception handler configuration parameters
+ */
+ public void setReceptionHandlerConfigurationParameters(
+ final Map<String, ReceptionHandlerConfigurationParameterGroup> receptionHandlerConfigurationParameters) {
+ this.receptionHandlerConfigurationParameters = receptionHandlerConfigurationParameters;
+ }
+
+ /**
+ * Gets the policy forwarder configuration parameter map.
+ *
+ * @return the policy forwarder configuration parameter map
+ */
+ public Map<String, ArtifactForwarderConfigurationParameterGroup> getArtifactForwarderConfigurationParameters() {
+ return artifactForwarderConfigurationParameters;
+ }
+
+ /**
+ * Sets the policy forwarder configuration parameter map.
+ *
+ * @param artifactForwarderConfigurationParameters the policy forwarder configuration parameters
+ */
+ public void setArtifactForwarderConfigurationParameters(
+ final Map<String, ArtifactForwarderConfigurationParameterGroup> artifactForwarderConfigurationParameters) {
+ this.artifactForwarderConfigurationParameters = artifactForwarderConfigurationParameters;
+ }
+
+ /**
* Validate the parameter group.
*
* @return the result of the validation
@@ -96,7 +156,32 @@ public class DistributionParameterGroup implements ParameterGroup {
} else {
validationResult.setResult("restServerParameters", restServerParameters.validate());
}
+ validateReceptionHandlers(validationResult);
+ validateForwarderConfigurations(validationResult);
return validationResult;
}
+ private void validateReceptionHandlers(final GroupValidationResult validationResult) {
+ if (receptionHandlerParameters == null || receptionHandlerParameters.size() == 0) {
+ validationResult.setResult("receptionHandlerParameters", ValidationStatus.INVALID,
+ "must have at least one reception handler");
+ } else {
+ for (final Entry<String, ReceptionHandlerParameters> nestedGroupEntry : receptionHandlerParameters
+ .entrySet()) {
+ validationResult.setResult("receptionHandlerParameters", nestedGroupEntry.getKey(),
+ nestedGroupEntry.getValue().validate());
+ }
+ }
+ }
+
+ private void validateForwarderConfigurations(final GroupValidationResult validationResult) {
+ // @formatter:off
+ for (final Entry<String, ArtifactForwarderConfigurationParameterGroup> configurationParameters :
+ artifactForwarderConfigurationParameters.entrySet()) {
+ validationResult.setResult("artifactForwarderConfigurationParameters", configurationParameters.getKey(),
+ configurationParameters.getValue().validate());
+ }
+ // @formatter:on
+ }
+
}
diff --git a/artifactbroker/main/src/main/java/org/onap/policy/distribution/main/parameters/DistributionParameterHandler.java b/artifactbroker/main/src/main/java/org/onap/policy/distribution/main/parameters/DistributionParameterHandler.java
index dc72978..839d46d 100644
--- a/artifactbroker/main/src/main/java/org/onap/policy/distribution/main/parameters/DistributionParameterHandler.java
+++ b/artifactbroker/main/src/main/java/org/onap/policy/distribution/main/parameters/DistributionParameterHandler.java
@@ -30,6 +30,8 @@ import org.onap.policy.common.logging.flexlogger.Logger;
import org.onap.policy.common.parameters.GroupValidationResult;
import org.onap.policy.distribution.main.PolicyDistributionException;
import org.onap.policy.distribution.main.startstop.DistributionCommandLineArguments;
+import org.onap.policy.distribution.reception.parameters.ReceptionHandlerConfigurationParameterGroup;
+import org.onap.policy.distribution.reception.parameters.ReceptionHandlerConfigurationParametersJsonAdapter;
/**
* This class handles reading, parsing and validating of policy distribution parameters from JSON files.
@@ -52,6 +54,10 @@ public class DistributionParameterHandler {
try {
// Read the parameters from JSON using Gson
final Gson gson = new GsonBuilder()
+ .registerTypeAdapter(ArtifactForwarderConfigurationParameterGroup.class,
+ new ArtifactForwarderConfigurationParametersJsonAdapter())
+ .registerTypeAdapter(ReceptionHandlerConfigurationParameterGroup.class,
+ new ReceptionHandlerConfigurationParametersJsonAdapter())
.create();
distributionParameterGroup = gson.fromJson(new FileReader(arguments.getFullConfigurationFilePath()),
DistributionParameterGroup.class);
diff --git a/artifactbroker/main/src/test/java/org/onap/policy/distribution/main/testclasses/DummyArtifactForwarder.java b/artifactbroker/main/src/test/java/org/onap/policy/distribution/main/testclasses/DummyArtifactForwarder.java
new file mode 100644
index 0000000..bb4e2fc
--- /dev/null
+++ b/artifactbroker/main/src/test/java/org/onap/policy/distribution/main/testclasses/DummyArtifactForwarder.java
@@ -0,0 +1,49 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. All rights reserved.
+ * Copyright (C) 2019 Intel. All rights reserved.
+ * ================================================================================
+ * 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.main.testclasses;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import org.onap.policy.distribution.forwarding.ArtifactForwarder;
+import org.onap.policy.distribution.forwarding.ArtifactForwardingException;
+import org.onap.policy.distribution.model.PolicyInput;
+
+/**
+ * Class to create a dummy forwarder for test cases.
+ *
+ * @author Ram Krishna Verma (ram.krishna.verma@ericsson.com)
+ */
+public class DummyArtifactForwarder implements ArtifactForwarder {
+ private int numberOfPoliciesReceived = 0;
+
+ @Override
+ public void forward(final PolicyInput policy) throws ArtifactForwardingException {
+ numberOfPoliciesReceived += 1;
+ }
+
+ public int getNumberOfPoliciesReceived() {
+ return numberOfPoliciesReceived;
+ }
+
+ @Override
+ public void configure(String parameterGroupName) {}
+}
diff --git a/artifactbroker/main/src/test/java/org/onap/policy/distribution/main/testclasses/DummyArtifactForwarderParameterGroup.java b/artifactbroker/main/src/test/java/org/onap/policy/distribution/main/testclasses/DummyArtifactForwarderParameterGroup.java
new file mode 100644
index 0000000..e0e99b5
--- /dev/null
+++ b/artifactbroker/main/src/test/java/org/onap/policy/distribution/main/testclasses/DummyArtifactForwarderParameterGroup.java
@@ -0,0 +1,132 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. All rights reserved.
+ * Copyright (C) 2019 Intel. All rights reserved.
+ * ================================================================================
+ * 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.main.testclasses;
+
+import org.onap.policy.common.parameters.GroupValidationResult;
+import org.onap.policy.distribution.main.parameters.ArtifactForwarderConfigurationParameterGroup;
+
+/**
+ * Dummy policy forwarder parameter group.
+ */
+public class DummyArtifactForwarderParameterGroup extends ArtifactForwarderConfigurationParameterGroup {
+
+ private boolean useHttps;
+ private String hostname;
+ private int port;
+ private String userName;
+ private String password;
+ private boolean isManaged;
+
+ public boolean isUseHttps() {
+ return useHttps;
+ }
+
+ public String getHostname() {
+ return hostname;
+ }
+
+ public int getPort() {
+ return port;
+ }
+
+ public String getUserName() {
+ return userName;
+ }
+
+ public String getPassword() {
+ return password;
+ }
+
+ public boolean isManaged() {
+ return isManaged;
+ }
+
+ /**
+ * Builder for DummyArtifactForwarderParameterGroup.
+ */
+ public static class DummyArtifactForwarderParameterGroupBuilder {
+ private boolean useHttps;
+ private String hostname;
+ private int port;
+ private String userName;
+ private String password;
+ private boolean isManaged;
+
+ public DummyArtifactForwarderParameterGroupBuilder setUseHttps(final boolean useHttps) {
+ this.useHttps = useHttps;
+ return this;
+ }
+
+ public DummyArtifactForwarderParameterGroupBuilder setHostname(final String hostname) {
+ this.hostname = hostname;
+ return this;
+ }
+
+ public DummyArtifactForwarderParameterGroupBuilder setPort(final int port) {
+ this.port = port;
+ return this;
+ }
+
+ public DummyArtifactForwarderParameterGroupBuilder setUserName(final String userName) {
+ this.userName = userName;
+ return this;
+ }
+
+ public DummyArtifactForwarderParameterGroupBuilder setPassword(final String password) {
+ this.password = password;
+ return this;
+ }
+
+ public DummyArtifactForwarderParameterGroupBuilder setIsManaged(final boolean isManaged) {
+ this.isManaged = isManaged;
+ return this;
+ }
+
+ /**
+ * Creates a new DummyArtifactForwarderParameterGroup instance.
+ */
+ public DummyArtifactForwarderParameterGroup build() {
+ return new DummyArtifactForwarderParameterGroup(this);
+ }
+ }
+
+ /**
+ * Construct an instance.
+ *
+ * @param builder the builder create the instance from
+ */
+ private DummyArtifactForwarderParameterGroup(final DummyArtifactForwarderParameterGroupBuilder builder) {
+ this.useHttps = builder.useHttps;
+ this.hostname = builder.hostname;
+ this.port = builder.port;
+ this.userName = builder.userName;
+ this.password = builder.password;
+ this.isManaged = builder.isManaged;
+ }
+
+ @Override
+ public GroupValidationResult validate() {
+ final GroupValidationResult validationResult = new GroupValidationResult(this);
+ return validationResult;
+ }
+
+}
diff --git a/artifactbroker/main/src/test/java/org/onap/policy/distribution/main/testclasses/DummyReceptionHandler.java b/artifactbroker/main/src/test/java/org/onap/policy/distribution/main/testclasses/DummyReceptionHandler.java
new file mode 100644
index 0000000..1540776
--- /dev/null
+++ b/artifactbroker/main/src/test/java/org/onap/policy/distribution/main/testclasses/DummyReceptionHandler.java
@@ -0,0 +1,38 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. All rights reserved.
+ * Copyright (C) 2019 Intel. All rights reserved.
+ * ================================================================================
+ * 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.main.testclasses;
+
+import org.onap.policy.distribution.reception.handling.AbstractReceptionHandler;
+
+/**
+ * Class to create a dummy reception handler for test cases.
+ *
+ * @author Ram Krishna Verma (ram.krishna.verma@ericsson.com)
+ */
+public class DummyReceptionHandler extends AbstractReceptionHandler {
+
+ @Override
+ public void initializeReception(final String parameterGroupName) {}
+
+ @Override
+ public void destroy() {}
+}
diff --git a/artifactbroker/main/src/test/java/org/onap/policy/distribution/main/testclasses/DummyReceptionHandlerParameterGroup.java b/artifactbroker/main/src/test/java/org/onap/policy/distribution/main/testclasses/DummyReceptionHandlerParameterGroup.java
new file mode 100644
index 0000000..9fbcae8
--- /dev/null
+++ b/artifactbroker/main/src/test/java/org/onap/policy/distribution/main/testclasses/DummyReceptionHandlerParameterGroup.java
@@ -0,0 +1,99 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. All rights reserved.
+ * Copyright (C) 2019 Intel. All rights reserved.
+ * ================================================================================
+ * 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.main.testclasses;
+
+import org.onap.policy.common.parameters.GroupValidationResult;
+import org.onap.policy.distribution.reception.parameters.ReceptionHandlerConfigurationParameterGroup;
+
+public class DummyReceptionHandlerParameterGroup extends ReceptionHandlerConfigurationParameterGroup {
+
+ private String myStringParameter;
+ private int myIntegerParameter;
+ private boolean myBooleanParameter;
+
+ /**
+ * Inner static class is to used as a Builder.
+ *
+ */
+ public static class DummyReceptionHandlerParameterGroupBuilder {
+ private String myStringParameter;
+ private int myIntegerParameter;
+ private boolean myBooleanParameter;
+
+ public DummyReceptionHandlerParameterGroupBuilder setMyStringParameter(final String val) {
+ myStringParameter = val;
+ return this;
+ }
+
+ public DummyReceptionHandlerParameterGroupBuilder setMyIntegerParameter(final int val) {
+ myIntegerParameter = val;
+ return this;
+ }
+
+ public DummyReceptionHandlerParameterGroupBuilder setMyBooleanParameter(final boolean val) {
+ myBooleanParameter = val;
+ return this;
+ }
+
+ /**
+ * Creates a new DummyReceptionHandlerConfigurationParameterGroup instance.
+ */
+ public DummyReceptionHandlerParameterGroup build() {
+ return new DummyReceptionHandlerParameterGroup(this);
+ }
+ }
+
+ /**
+ * The constructor for instantiating PssdConfigurationParameterGroup. It is kept private so that
+ * it could only be called by PssdConfigurationBuilder.
+ *
+ * @param builder stores all the values used by PssdConfigurationParametersGroup
+ */
+ private DummyReceptionHandlerParameterGroup(final DummyReceptionHandlerParameterGroupBuilder builder) {
+ myStringParameter = builder.myStringParameter;
+ myIntegerParameter = builder.myIntegerParameter;
+ myBooleanParameter = builder.myBooleanParameter;
+ }
+
+ public String getMyStringParameter() {
+ return myStringParameter;
+ }
+
+ public int getMyIntegerParameter() {
+ return myIntegerParameter;
+ }
+
+ public boolean isMyBooleanParameter() {
+ return myBooleanParameter;
+ }
+
+
+ /**
+ * {@inheritDoc}.
+ */
+ @Override
+ public GroupValidationResult validate() {
+ return new GroupValidationResult(this);
+ }
+
+}
+
diff --git a/artifactbroker/main/src/test/resources/parameters/BadParameters.json b/artifactbroker/main/src/test/resources/parameters/BadParameters.json
new file mode 100644
index 0000000..de2040c
--- /dev/null
+++ b/artifactbroker/main/src/test/resources/parameters/BadParameters.json
@@ -0,0 +1,3 @@
+{
+ "name" : []
+} \ No newline at end of file
diff --git a/artifactbroker/main/src/test/resources/parameters/DistributionConfigParameters.json b/artifactbroker/main/src/test/resources/parameters/DistributionConfigParameters.json
index 9e20224..3808d7e 100644
--- a/artifactbroker/main/src/test/resources/parameters/DistributionConfigParameters.json
+++ b/artifactbroker/main/src/test/resources/parameters/DistributionConfigParameters.json
@@ -5,5 +5,44 @@
"port":6969,
"userName":"healthcheck",
"password":"zb!XztG34"
+ },
+ "receptionHandlerParameters":{
+ "DummyReceptionHandler":{
+ "receptionHandlerType":"DummyReceptionHandler",
+ "receptionHandlerClassName":"org.onap.policy.distribution.main.testclasses.DummyReceptionHandler",
+ "receptionHandlerConfigurationName":"dummyReceptionHandlerConfiguration",
+ "pluginHandlerParameters":{
+ "artifactForwarders":{
+ "DummyForwarder":{
+ "forwarderType":"DummyForwarder",
+ "forwarderClassName":"org.onap.policy.distribution.main.testclasses.DummyArtifactForwarder",
+ "forwarderConfigurationParameters": "dummyConfiguration"
+ }
+ }
+ }
+ }
+ },
+ "receptionHandlerConfigurationParameters":{
+ "dummyReceptionHandlerConfiguration":{
+ "parameterClassName":"org.onap.policy.distribution.main.testclasses.DummyReceptionHandlerParameterGroup",
+ "parameters":{
+ "myStringParameter": "stringValue",
+ "myIntegerParameter":20,
+ "myBooleanParameter": true
+ }
+ }
+ },
+ "artifactForwarderConfigurationParameters":{
+ "dummyConfiguration":{
+ "parameterClassName":"org.onap.policy.distribution.main.testclasses.DummyArtifactForwarderParameterGroup",
+ "parameters":{
+ "useHttps": false,
+ "hostname": "192.168.99.100",
+ "port": 8081,
+ "userName": "user",
+ "password": "pw123",
+ "isManaged": true
+ }
+ }
}
}
diff --git a/artifactbroker/main/src/test/resources/parameters/DistributionConfigParameters_EmptyReceptionHandler.json b/artifactbroker/main/src/test/resources/parameters/DistributionConfigParameters_EmptyReceptionHandler.json
new file mode 100644
index 0000000..c1535e0
--- /dev/null
+++ b/artifactbroker/main/src/test/resources/parameters/DistributionConfigParameters_EmptyReceptionHandler.json
@@ -0,0 +1,34 @@
+{
+ "name":"SDCDistributionGroup",
+ "restServerParameters":{
+ "host":"0.0.0.0",
+ "port":6969,
+ "userName":"healthcheck",
+ "password":"zb!XztG34"
+ },
+ "receptionHandlerParameters":{
+ },
+ "receptionHandlerConfigurationParameters":{
+ "dummyReceptionHandlerConfiguration":{
+ "parameterClassName":"org.onap.policy.distribution.main.testclasses.DummyReceptionHandlerParameterGroup",
+ "parameters":{
+ "myStringParameter": "stringValue",
+ "myIntegerParameter":20,
+ "myBooleanParameter": true
+ }
+ }
+ },
+ "policyForwarderConfigurationParameters":{
+ "dummyConfiguration":{
+ "parameterClassName":"org.onap.policy.distribution.main.testclasses.DummyPolicyForwarderParameterGroup",
+ "parameters":{
+ "useHttps": false,
+ "hostname": "192.168.99.100",
+ "port": 8081,
+ "userName": "user",
+ "password": "pw123",
+ "isManaged": true
+ }
+ }
+ }
+}
diff --git a/artifactbroker/main/src/test/resources/parameters/DistributionConfigParameters_Https.json b/artifactbroker/main/src/test/resources/parameters/DistributionConfigParameters_Https.json
index 6aa6116..78a7e11 100644
--- a/artifactbroker/main/src/test/resources/parameters/DistributionConfigParameters_Https.json
+++ b/artifactbroker/main/src/test/resources/parameters/DistributionConfigParameters_Https.json
@@ -6,5 +6,44 @@
"userName":"healthcheck",
"password":"zb!XztG34",
"https":true
- }
+ },
+ "receptionHandlerParameters":{
+ "DummyReceptionHandler":{
+ "receptionHandlerType":"DummyReceptionHandler",
+ "receptionHandlerClassName":"org.onap.policy.distribution.main.testclasses.DummyReceptionHandler",
+ "receptionHandlerConfigurationName":"dummyReceptionHandlerConfiguration",
+ "pluginHandlerParameters":{
+ "artifactForwarders":{
+ "DummyForwarder":{
+ "forwarderType":"DummyForwarder",
+ "forwarderClassName":"org.onap.policy.distribution.main.testclasses.DummyArtifactForwarder",
+ "forwarderConfigurationParameters": "dummyConfiguration"
+ }
+ }
+ }
+ }
+ },
+ "receptionHandlerConfigurationParameters":{
+ "dummyReceptionHandlerConfiguration":{
+ "parameterClassName":"org.onap.policy.distribution.main.testclasses.DummyReceptionHandlerParameterGroup",
+ "parameters":{
+ "myStringParameter": "stringValue",
+ "myIntegerParameter":20,
+ "myBooleanParameter": true
+ }
+ }
+ },
+ "artifactForwarderConfigurationParameters":{
+ "dummyConfiguration":{
+ "parameterClassName":"org.onap.policy.distribution.main.testclasses.DummyArtifactForwarderParameterGroup",
+ "parameters":{
+ "useHttps": false,
+ "hostname": "192.168.99.100",
+ "port": 8081,
+ "userName": "user",
+ "password": "pw123",
+ "isManaged": true
+ }
+ }
+ },
}
diff --git a/artifactbroker/main/src/test/resources/parameters/DistributionConfigParameters_NoPolicyForwarder.json b/artifactbroker/main/src/test/resources/parameters/DistributionConfigParameters_NoPolicyForwarder.json
new file mode 100644
index 0000000..abd0d6d
--- /dev/null
+++ b/artifactbroker/main/src/test/resources/parameters/DistributionConfigParameters_NoPolicyForwarder.json
@@ -0,0 +1,28 @@
+{
+ "name":"SDCDistributionGroup",
+ "restServerParameters":{
+ "host":"0.0.0.0",
+ "port":6969,
+ "userName":"healthcheck",
+ "password":"zb!XztG34"
+ },
+ "receptionHandlerParameters":{
+ "DummyReceptionHandler":{
+ "receptionHandlerType":"DummyReceptionHandler",
+ "receptionHandlerClassName":"org.onap.policy.distribution.main.testclasses.DummyReceptionHandler",
+ "receptionHandlerConfigurationName":"dummyReceptionHandlerConfiguration",
+ "pluginHandlerParameters":{
+ }
+ }
+ },
+ "receptionHandlerConfigurationParameters":{
+ "dummyReceptionHandlerConfiguration":{
+ "parameterClassName":"org.onap.policy.distribution.main.testclasses.DummyReceptionHandlerParameterGroup",
+ "parameters":{
+ "myStringParameter": "stringValue",
+ "myIntegerParameter":20,
+ "myBooleanParameter": true
+ }
+ }
+ }
+}
diff --git a/artifactbroker/main/src/test/resources/parameters/DistributionConfigParameters_NoReceptionHandler.json b/artifactbroker/main/src/test/resources/parameters/DistributionConfigParameters_NoReceptionHandler.json
new file mode 100644
index 0000000..7a9ecd1
--- /dev/null
+++ b/artifactbroker/main/src/test/resources/parameters/DistributionConfigParameters_NoReceptionHandler.json
@@ -0,0 +1,19 @@
+{
+ "name":"SDCDistributionGroup",
+ "restServerParameters":{
+ "host":"0.0.0.0",
+ "port":6969,
+ "userName":"healthcheck",
+ "password":"zb!XztG34"
+ },
+ "receptionHandlerConfigurationParameters":{
+ "dummyReceptionHandlerConfiguration":{
+ "parameterClassName":"org.onap.policy.distribution.main.testclasses.DummyReceptionHandlerParameterGroup",
+ "parameters":{
+ "myStringParameter": "stringValue",
+ "myIntegerParameter":20,
+ "myBooleanParameter": true
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/artifactbroker/main/src/test/resources/parameters/EmptyParameters.json b/artifactbroker/main/src/test/resources/parameters/EmptyParameters.json
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/artifactbroker/main/src/test/resources/parameters/EmptyParameters.json
diff --git a/artifactbroker/main/src/test/resources/parameters/InvalidParameters.json b/artifactbroker/main/src/test/resources/parameters/InvalidParameters.json
new file mode 100644
index 0000000..de2040c
--- /dev/null
+++ b/artifactbroker/main/src/test/resources/parameters/InvalidParameters.json
@@ -0,0 +1,3 @@
+{
+ "name" : []
+} \ No newline at end of file
diff --git a/artifactbroker/main/src/test/resources/parameters/NoParameters.json b/artifactbroker/main/src/test/resources/parameters/NoParameters.json
new file mode 100644
index 0000000..6b0805d
--- /dev/null
+++ b/artifactbroker/main/src/test/resources/parameters/NoParameters.json
@@ -0,0 +1,8 @@
+{
+ "restServerParameters":{
+ "host":"0.0.0.0",
+ "port":6969,
+ "userName":"healthcheck",
+ "password":"zb!XztG34"
+ }
+} \ No newline at end of file
diff --git a/artifactbroker/model/pom.xml b/artifactbroker/model/pom.xml
index 21f0ba4..f2c2850 100644
--- a/artifactbroker/model/pom.xml
+++ b/artifactbroker/model/pom.xml
@@ -29,4 +29,17 @@
<name>${project.artifactId}</name>
<description>[${project.parent.artifactId}] module provides the model for policy distribution</description>
+ <dependencies>
+ <dependency>
+ <groupId>org.onap.sdc.sdc-distribution-client</groupId>
+ <artifactId>sdc-distribution-client</artifactId>
+ <version>1.3.0</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ </dependencies>
</project>
diff --git a/artifactbroker/model/src/main/java/org/onap/policy/distribution/model/CloudArtifact.java b/artifactbroker/model/src/main/java/org/onap/policy/distribution/model/CloudArtifact.java
index 2447c68..834bbcf 100644
--- a/artifactbroker/model/src/main/java/org/onap/policy/distribution/model/CloudArtifact.java
+++ b/artifactbroker/model/src/main/java/org/onap/policy/distribution/model/CloudArtifact.java
@@ -23,17 +23,19 @@ package org.onap.policy.distribution.model;
import java.util.List;
import java.util.Map;
+import org.onap.sdc.api.notification.IArtifactInfo;
+
/**
* Represents a CloudArtifact that a {@link Policy} can be decoded from.
*/
public class CloudArtifact implements PolicyInput {
- List<VfModuelModel> vfModulePayload;
- Map<String, String> artifactTypeMap;
+ List<VfModuleModel> vfModulePayload;
+ Map<String, IArtifactInfo> artifactMap;
- public CloudArtifact(List<VfModuelModel> vfModulePayload, Map<String, String> artifactTypeMap) {
+ public CloudArtifact(List<VfModuleModel> vfModulePayload, Map<String, IArtifactInfo> artifactMap) {
this.vfModulePayload = vfModulePayload;
- this.artifactTypeMap = artifactTypeMap;
+ this.artifactMap = artifactMap;
}
/**
@@ -41,7 +43,7 @@ public class CloudArtifact implements PolicyInput {
*
* @return the path of the TOSCA file
*/
- List<VfModuelModel> getVfModulePayload() {
+ public List<VfModuleModel> getVfModulePayload() {
return vfModulePayload;
}
@@ -50,8 +52,8 @@ public class CloudArtifact implements PolicyInput {
*
* @return the path of the TOSCA file
*/
- Map<String, String> getArtifactTypeMap() {
- return artifactTypeMap;
+ public Map<String, IArtifactInfo> getArtifactTypeMap() {
+ return artifactMap;
}
}
diff --git a/artifactbroker/model/src/main/java/org/onap/policy/distribution/model/VfModuelModel.java b/artifactbroker/model/src/main/java/org/onap/policy/distribution/model/VfModuleModel.java
index e774b89..220dc57 100644
--- a/artifactbroker/model/src/main/java/org/onap/policy/distribution/model/VfModuelModel.java
+++ b/artifactbroker/model/src/main/java/org/onap/policy/distribution/model/VfModuleModel.java
@@ -1,6 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2018 Ericsson. All rights reserved.
+ * Copyright (C) 2019 Intel. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -25,10 +26,11 @@ import java.util.Map;
/**
- * Represents a VfModuleModel that a {@link VfModuleModel} can be parsed.
+ * Represents a VfModuleModel that a {@link Policy} can be decoded from.
*/
-public class VfModuelModel {
+@SuppressWarnings("unchecked")
+public class VfModuleModel {
private String vfModuleModelName;
private String vfModuleModelInvariantUUID;
@@ -44,6 +46,10 @@ public class VfModuelModel {
return vfModuleModelName;
}
+ public String getVfModuleModelVersion() {
+ return vfModuleModelVersion;
+ }
+
public String getVfModuleModelCustomizationUUID() {
return vfModuleModelCustomizationUUID;
}
@@ -55,7 +61,7 @@ public class VfModuelModel {
public List<String> getArtifacts() {
return artifacts;
}
-
+
public Map<String, Object> getProperties() {
return properties;
}
diff --git a/artifactbroker/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/handling/sdc/SdcReceptionHandler.java b/artifactbroker/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/handling/sdc/SdcReceptionHandler.java
index fc2211b..998527b 100644
--- a/artifactbroker/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/handling/sdc/SdcReceptionHandler.java
+++ b/artifactbroker/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/handling/sdc/SdcReceptionHandler.java
@@ -36,7 +36,7 @@ import org.onap.policy.common.parameters.ParameterService;
import org.onap.policy.distribution.model.CloudArtifact;
import org.onap.policy.distribution.model.Csar;
import org.onap.policy.distribution.model.GsonUtil;
-import org.onap.policy.distribution.model.VfModuelModel;
+import org.onap.policy.distribution.model.VfModuleModel;
import org.onap.policy.distribution.reception.decoding.PolicyDecodingException;
import org.onap.policy.distribution.reception.handling.AbstractReceptionHandler;
import org.onap.policy.distribution.reception.handling.sdc.SdcClientHandler.SdcClientOperationType;
@@ -220,13 +220,11 @@ public class SdcReceptionHandler extends AbstractReceptionHandler implements INo
DistributionStatisticsManager.updateTotalDistributionCount();
List<String> relevantArtifactTypes = sdcConfig.getRelevantArtifactTypes();
Path path = Paths.get("/data");
- List<VfModuelModel> vfModuelModels = null;
- Map<String, String> artifactTypeMap = null; //key is UUID, value is type for k8s plugin
+ List<VfModuleModel> vfModuleModels = null;
Map<String, IArtifactInfo> artifactMap = null;//key is UUID, value is artifact for shared folder
String vfArtifactData = null;
for (final IArtifactInfo artifact : resource.getArtifacts()) {
- artifactTypeMap.put(artifact.getArtifactUUID(),artifact.getArtifactType());
artifactMap.put(artifact.getArtifactUUID(),artifact);
//extract the artifactlist and write them into MongoDB
@@ -235,7 +233,7 @@ public class SdcReceptionHandler extends AbstractReceptionHandler implements INo
final IDistributionClientDownloadResult resultArtifact =
downloadTheArtifact(artifact,notificationData);
vfArtifactData = new String(resultArtifact.getArtifactPayload());
- vfModuelModels= GsonUtil.parseJsonArrayWithGson(vfArtifactData,VfModuelModel.class);
+ vfModuleModels= GsonUtil.parseJsonArrayWithGson(vfArtifactData,VfModuleModel.class);
} catch (final ArtifactDownloadException exp) {
LOGGER.error("Failed to process csar service artifacts ", exp);
artifactsProcessedSuccessfully = false;
@@ -251,7 +249,7 @@ public class SdcReceptionHandler extends AbstractReceptionHandler implements INo
// 2. put the vfmodule-meta.json into it
// 3. put the service-meta.json into it
// 3. go through each aritfact uuid under artifact_list of vf_module and download
- for (final VfModuelModel vfModule : vfModuelModels) {
+ for (final VfModuleModel vfModule : vfModuleModels) {
try {
//create the new dir
Path temp = Paths.get("/data",vfModule.getVfModuleModelCustomizationUUID());
@@ -283,7 +281,7 @@ public class SdcReceptionHandler extends AbstractReceptionHandler implements INo
//for subplug work
try {
- final CloudArtifact cloudArtifact = new CloudArtifact(vfModuelModels, artifactTypeMap);
+ final CloudArtifact cloudArtifact = new CloudArtifact(vfModuleModels, artifactMap);
inputReceived(cloudArtifact);
} catch ( final PolicyDecodingException exp) {
LOGGER.error("Failed to process cloud artifacts ", exp);
diff --git a/artifactbroker/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/sdc/DummyArtifactForwarder.java b/artifactbroker/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/sdc/DummyArtifactForwarder.java
index 445d47c..e3bafc5 100644
--- a/artifactbroker/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/sdc/DummyArtifactForwarder.java
+++ b/artifactbroker/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/sdc/DummyArtifactForwarder.java
@@ -18,14 +18,13 @@
* ============LICENSE_END=========================================================
*/
-package org.onap.policy.distribution.reception.handling.sdc;
+package org.onap.policy.distribution.main.testclasses;
import java.util.ArrayList;
import java.util.Collection;
-
import org.onap.policy.distribution.forwarding.ArtifactForwarder;
import org.onap.policy.distribution.forwarding.ArtifactForwardingException;
-import org.onap.sdc.api.notification.IArtifactInfo;
+import org.onap.policy.distribution.model.PolicyInput;
/**
* Class to create a dummy forwarder for test cases.
@@ -34,39 +33,16 @@ import org.onap.sdc.api.notification.IArtifactInfo;
*/
public class DummyArtifactForwarder implements ArtifactForwarder {
private int numberOfPoliciesReceived = 0;
- private Collection<IArtifactInfo> policiesReceived = new ArrayList<>();
- /**
- * {@inheritDoc}.
- */
@Override
- public void forward(final Collection<IArtifactInfo> policies) throws ArtifactForwardingException {
- numberOfPoliciesReceived += policies.size();
- policiesReceived.addAll(policies);
+ public void forward(final PolicyInput policy) throws ArtifactForwardingException {
+ numberOfPoliciesReceived += 1;
}
- /**
- * Returns the number of policies received by this forwarder.
- *
- * @return the integer value
- */
public int getNumberOfPoliciesReceived() {
return numberOfPoliciesReceived;
}
- /**
- * Checks if the forwarder has received a policy with given policy type.
- *
- * @param policyType the policy type
- * @return the boolean result
- */
- public boolean receivedPolicyWithGivenType(final String policyType) {
- return true;
- }
-
- /**
- * {@inheritDoc}.
- */
@Override
- public void configure(final String parameterGroupName) {}
+ public void configure(String parameterGroupName) {}
}
diff --git a/artifactbroker/pom.xml b/artifactbroker/pom.xml
index da6b1d3..11d3903 100644
--- a/artifactbroker/pom.xml
+++ b/artifactbroker/pom.xml
@@ -33,6 +33,7 @@
<nexusproxy>https://nexus.onap.org</nexusproxy>
<version.logback>1.2.3</version.logback>
<policy.common.version>1.3.4</policy.common.version>
+ <policy.engine.version>1.3.5</policy.engine.version>
</properties>
<modules>
<module>model</module>
diff --git a/artifactbroker/reception/src/main/java/org/onap/policy/distribution/reception/handling/AbstractReceptionHandler.java b/artifactbroker/reception/src/main/java/org/onap/policy/distribution/reception/handling/AbstractReceptionHandler.java
index 7081dc7..c00bfa1 100644
--- a/artifactbroker/reception/src/main/java/org/onap/policy/distribution/reception/handling/AbstractReceptionHandler.java
+++ b/artifactbroker/reception/src/main/java/org/onap/policy/distribution/reception/handling/AbstractReceptionHandler.java
@@ -74,11 +74,10 @@ public abstract class AbstractReceptionHandler implements ReceptionHandler {
*/
protected void inputReceived(final PolicyInput policyInput) throws PolicyDecodingException {
- final Collection<IArtifactInfo> policies = new ArrayList<>();
for (final ArtifactForwarder policyForwarder : pluginHandler.getArtifactForwarders()) {
try {
- policyForwarder.forward(policies);
+ policyForwarder.forward(policyInput);
} catch (final ArtifactForwardingException policyForwardingException) {
LOGGER.error("Error when forwarding policies to " + policyForwarder, policyForwardingException);
}
diff --git a/artifactbroker/reception/src/test/java/org/onap/policy/distribution/reception/handling/DummyArtifactForwarder.java b/artifactbroker/reception/src/test/java/org/onap/policy/distribution/reception/handling/DummyArtifactForwarder.java
index 5785927..ee3d166 100644
--- a/artifactbroker/reception/src/test/java/org/onap/policy/distribution/reception/handling/DummyArtifactForwarder.java
+++ b/artifactbroker/reception/src/test/java/org/onap/policy/distribution/reception/handling/DummyArtifactForwarder.java
@@ -24,7 +24,7 @@ import java.util.ArrayList;
import java.util.Collection;
import org.onap.policy.distribution.forwarding.ArtifactForwarder;
import org.onap.policy.distribution.forwarding.ArtifactForwardingException;
-import org.onap.sdc.api.notification.IArtifactInfo;
+import org.onap.policy.distribution.model.PolicyInput;
/**
* Class to create a dummy forwarder for test cases in AbstractReceptionHandlerTest.
@@ -33,21 +33,16 @@ import org.onap.sdc.api.notification.IArtifactInfo;
*/
public class DummyArtifactForwarder implements ArtifactForwarder {
private int numberOfPoliciesReceived = 0;
- private Collection<IArtifactInfo> policiesReceived = new ArrayList<>();
@Override
- public void forward(final Collection<IArtifactInfo> policies) throws ArtifactForwardingException {
- numberOfPoliciesReceived += policies.size();
- policiesReceived.addAll(policies);
+ public void forward(final PolicyInput policy) throws ArtifactForwardingException {
+ numberOfPoliciesReceived += 1;
}
public int getNumberOfPoliciesReceived() {
return numberOfPoliciesReceived;
}
- public boolean receivedPolicy(final IArtifactInfo policy) {
- return policiesReceived.contains(policy);
- }
@Override
public void configure(String parameterGroupName) {}