aboutsummaryrefslogtreecommitdiffstats
path: root/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src
diff options
context:
space:
mode:
Diffstat (limited to 'tosca-controlloop/participant/participant-impl/participant-impl-simulator/src')
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/main/parameters/ParticipantSimulatorParameterHandler.java78
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/main/parameters/ParticipantSimulatorParameters.java51
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/main/rest/ParticipantSimulatorAafFilter.java38
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/main/rest/RestController.java130
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/main/startstop/Main.java141
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/main/startstop/ParticipantSimulatorActivator.java75
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/main/startstop/ParticipantSimulatorCommandLineArguments.java151
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/simulation/SimulationHandler.java81
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/simulation/SimulationProvider.java129
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/simulation/rest/SimulationElementController.java195
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/simulation/rest/SimulationParticipantController.java192
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/resources/config/CDSParticipantConfig.json31
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/resources/config/DCAEParticipantConfig.json31
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/resources/config/PolicyParticipantConfig.json31
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/resources/version.txt4
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/intermediary/TestControlLoopUpdateListener.java91
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/parameters/CommonTestData.java249
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/parameters/TestParticipantSimulatorParameterHandler.java120
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/parameters/TestParticipantSimulatorParameters.java110
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/rest/CommonParticipantRestServer.java227
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/rest/RestControllerTest.java95
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/rest/TestListenerUtils.java258
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/rest/TestSimulationRestController.java186
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/startstop/TestMain.java117
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/startstop/TestParticipantSimulatorActivator.java89
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/resources/parameters/EmptyParameters.json0
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/resources/parameters/InvalidParameters.json3
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/resources/parameters/NoParameters.json2
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/resources/parameters/TestParameters.json61
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/resources/parameters/TestParametersStd.json61
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/resources/parameters/Unreadable.json81
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/resources/rest/servicetemplates/pm_control_loop_tosca.yaml452
32 files changed, 0 insertions, 3560 deletions
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/main/parameters/ParticipantSimulatorParameterHandler.java b/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/main/parameters/ParticipantSimulatorParameterHandler.java
deleted file mode 100644
index 42f458602..000000000
--- a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/main/parameters/ParticipantSimulatorParameterHandler.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2021 Nordix Foundation.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * 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.clamp.controlloop.participant.simulator.main.parameters;
-
-import java.io.File;
-import javax.ws.rs.core.Response;
-import org.onap.policy.clamp.controlloop.common.exception.ControlLoopException;
-import org.onap.policy.clamp.controlloop.participant.simulator.main.startstop.ParticipantSimulatorCommandLineArguments;
-import org.onap.policy.common.parameters.ValidationResult;
-import org.onap.policy.common.utils.coder.Coder;
-import org.onap.policy.common.utils.coder.CoderException;
-import org.onap.policy.common.utils.coder.StandardCoder;
-
-/**
- * This class handles reading, parsing and validating of participant simulator parameters from JSON files.
- */
-public class ParticipantSimulatorParameterHandler {
-
- private static final Coder CODER = new StandardCoder();
-
- /**
- * Read the parameters from the parameter file.
- *
- * @param arguments the arguments passed to simulator
- * @return the parameters read from the configuration file
- * @throws ControlLoopException on parameter exceptions
- */
- public ParticipantSimulatorParameters getParameters(final ParticipantSimulatorCommandLineArguments arguments)
- throws ControlLoopException {
- ParticipantSimulatorParameters parameters = null;
-
- // Read the parameters
- try {
- // Read the parameters from JSON
- File file = new File(arguments.getFullConfigurationFilePath());
- parameters = CODER.decode(file, ParticipantSimulatorParameters.class);
- } catch (final CoderException e) {
- final String errorMessage = "error reading parameters from \"" + arguments.getConfigurationFilePath()
- + "\"\n" + "(" + e.getClass().getSimpleName() + ")";
- throw new ControlLoopException(Response.Status.NOT_ACCEPTABLE, errorMessage, e);
- }
-
- // The JSON processing returns null if there is an empty file
- if (parameters == null) {
- final String errorMessage = "no parameters found in \"" + arguments.getConfigurationFilePath() + "\"";
- throw new ControlLoopException(Response.Status.NOT_ACCEPTABLE, errorMessage);
- }
-
- // validate the parameters
- final ValidationResult validationResult = parameters.validate();
- if (!validationResult.isValid()) {
- String returnMessage =
- "validation error(s) on parameters from \"" + arguments.getConfigurationFilePath() + "\"\n";
- returnMessage += validationResult.getResult();
- throw new ControlLoopException(Response.Status.NOT_ACCEPTABLE, returnMessage);
- }
-
- return parameters;
- }
-}
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/main/parameters/ParticipantSimulatorParameters.java b/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/main/parameters/ParticipantSimulatorParameters.java
deleted file mode 100644
index a4e62b446..000000000
--- a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/main/parameters/ParticipantSimulatorParameters.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2021 Nordix Foundation.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * 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.clamp.controlloop.participant.simulator.main.parameters;
-
-import javax.validation.constraints.NotBlank;
-import lombok.Getter;
-import org.onap.policy.clamp.controlloop.participant.intermediary.parameters.ParticipantIntermediaryParameters;
-import org.onap.policy.common.endpoints.parameters.RestServerParameters;
-import org.onap.policy.common.parameters.ParameterGroupImpl;
-import org.onap.policy.common.parameters.annotations.NotNull;
-import org.onap.policy.models.provider.PolicyModelsProviderParameters;
-
-/**
- * Class to hold all parameters needed for the participant simulator.
- *
- */
-@NotNull
-@NotBlank
-@Getter
-public class ParticipantSimulatorParameters extends ParameterGroupImpl {
- private RestServerParameters restServerParameters;
- private ParticipantIntermediaryParameters intermediaryParameters;
- private PolicyModelsProviderParameters databaseProviderParameters;
-
- /**
- * Create the participant simulator parameter group.
- *
- * @param name the parameter group name
- */
- public ParticipantSimulatorParameters(final String name) {
- super(name);
- }
-}
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/main/rest/ParticipantSimulatorAafFilter.java b/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/main/rest/ParticipantSimulatorAafFilter.java
deleted file mode 100644
index f200f975a..000000000
--- a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/main/rest/ParticipantSimulatorAafFilter.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2021 Nordix Foundation.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * 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.clamp.controlloop.participant.simulator.main.rest;
-
-import org.onap.policy.common.endpoints.http.server.aaf.AafGranularAuthFilter;
-import org.onap.policy.common.utils.resources.MessageConstants;
-
-/**
- * Class to manage AAF filters for the participant simulator component.
- */
-public class ParticipantSimulatorAafFilter extends AafGranularAuthFilter {
-
- public static final String AAF_NODETYPE = MessageConstants.POLICY_CLAMP + "-participant-simulator";
- public static final String AAF_ROOT_PERMISSION = DEFAULT_NAMESPACE + "." + AAF_NODETYPE;
-
- @Override
- public String getPermissionTypeRoot() {
- return AAF_ROOT_PERMISSION;
- }
-}
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/main/rest/RestController.java b/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/main/rest/RestController.java
deleted file mode 100644
index 444f37889..000000000
--- a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/main/rest/RestController.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2021 Nordix Foundation.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * 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.clamp.controlloop.participant.simulator.main.rest;
-
-import io.swagger.annotations.Api;
-import io.swagger.annotations.BasicAuthDefinition;
-import io.swagger.annotations.Info;
-import io.swagger.annotations.SecurityDefinition;
-import io.swagger.annotations.SwaggerDefinition;
-import io.swagger.annotations.Tag;
-import java.net.HttpURLConnection;
-import java.util.UUID;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response.ResponseBuilder;
-import lombok.AccessLevel;
-import lombok.Getter;
-import org.onap.policy.clamp.controlloop.participant.simulator.simulation.SimulationHandler;
-import org.onap.policy.clamp.controlloop.participant.simulator.simulation.SimulationProvider;
-
-/**
- * Common superclass to provide REST endpoints for the participant simulator.
- */
-// @formatter:off
-@Path("/onap/participantsim/v2")
-@Api(value = "Participant Simulator API")
-@Produces({MediaType.APPLICATION_JSON, RestController.APPLICATION_YAML})
-@SwaggerDefinition(
- info = @Info(description =
- "Participant Simulator", version = "v1.0",
- title = "Participant Simulator"),
- consumes = {MediaType.APPLICATION_JSON, RestController.APPLICATION_YAML},
- produces = {MediaType.APPLICATION_JSON, RestController.APPLICATION_YAML},
- schemes = {SwaggerDefinition.Scheme.HTTP, SwaggerDefinition.Scheme.HTTPS},
- tags = {@Tag(name = "participantsim", description = "Participant Simulator")},
- securityDefinition = @SecurityDefinition(basicAuthDefinitions = {@BasicAuthDefinition(key = "basicAuth")}))
-// @formatter:on
-public class RestController {
- public static final String APPLICATION_YAML = "application/yaml";
-
- public static final String EXTENSION_NAME = "interface info";
-
- public static final String API_VERSION_NAME = "api-version";
- public static final String API_VERSION = "1.0.0";
-
- public static final String LAST_MOD_NAME = "last-mod-release";
- public static final String LAST_MOD_RELEASE = "Dublin";
-
- public static final String VERSION_MINOR_NAME = "X-MinorVersion";
- public static final String VERSION_MINOR_DESCRIPTION =
- "Used to request or communicate a MINOR version back from the client"
- + " to the server, and from the server back to the client";
-
- public static final String VERSION_PATCH_NAME = "X-PatchVersion";
- public static final String VERSION_PATCH_DESCRIPTION = "Used only to communicate a PATCH version in a response for"
- + " troubleshooting purposes only, and will not be provided by" + " the client on request";
-
- public static final String VERSION_LATEST_NAME = "X-LatestVersion";
- public static final String VERSION_LATEST_DESCRIPTION = "Used only to communicate an API's latest version";
-
- public static final String REQUEST_ID_NAME = "X-ONAP-RequestID";
- public static final String REQUEST_ID_HDR_DESCRIPTION = "Used to track REST transactions for logging purpose";
- public static final String REQUEST_ID_PARAM_DESCRIPTION = "RequestID for http transaction";
-
- public static final String AUTHORIZATION_TYPE = "basicAuth";
-
- public static final int AUTHENTICATION_ERROR_CODE = HttpURLConnection.HTTP_UNAUTHORIZED;
- public static final int AUTHORIZATION_ERROR_CODE = HttpURLConnection.HTTP_FORBIDDEN;
- public static final int SERVER_ERROR_CODE = HttpURLConnection.HTTP_INTERNAL_ERROR;
-
- public static final String AUTHENTICATION_ERROR_MESSAGE = "Authentication Error";
- public static final String AUTHORIZATION_ERROR_MESSAGE = "Authorization Error";
- public static final String SERVER_ERROR_MESSAGE = "Internal Server Error";
- @Getter(AccessLevel.PROTECTED)
- // The provider for simulation requests
- private SimulationProvider simulationProvider;
-
-
- /**
- * create a Rest Controller.
- */
- public RestController() {
- simulationProvider = SimulationHandler.getInstance().getSimulationProvider();
- }
-
- /**
- * Adds version headers to the response.
- *
- * @param respBuilder response builder
- * @return the response builder, with version headers
- */
- public ResponseBuilder addVersionControlHeaders(ResponseBuilder respBuilder) {
- return respBuilder.header(VERSION_MINOR_NAME, "0").header(VERSION_PATCH_NAME, "0").header(VERSION_LATEST_NAME,
- API_VERSION);
- }
-
- /**
- * Adds logging headers to the response.
- *
- * @param respBuilder response builder
- * @return the response builder, with version logging
- */
- public ResponseBuilder addLoggingHeaders(ResponseBuilder respBuilder, UUID requestId) {
- if (requestId == null) {
- // Generate a random uuid if client does not embed requestId in rest request
- return respBuilder.header(REQUEST_ID_NAME, UUID.randomUUID());
- }
-
- return respBuilder.header(REQUEST_ID_NAME, requestId);
- }
-}
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/main/startstop/Main.java b/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/main/startstop/Main.java
deleted file mode 100644
index e6c93d55d..000000000
--- a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/main/startstop/Main.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2021 Nordix Foundation.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * 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.clamp.controlloop.participant.simulator.main.startstop;
-
-import java.util.Arrays;
-import javax.ws.rs.core.Response;
-import lombok.Getter;
-import org.onap.policy.clamp.controlloop.common.exception.ControlLoopException;
-import org.onap.policy.clamp.controlloop.common.exception.ControlLoopRuntimeException;
-import org.onap.policy.clamp.controlloop.participant.simulator.main.parameters.ParticipantSimulatorParameterHandler;
-import org.onap.policy.clamp.controlloop.participant.simulator.main.parameters.ParticipantSimulatorParameters;
-import org.onap.policy.common.utils.resources.MessageConstants;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * This class initiates participant simulator.
- */
-public class Main {
-
- private static final Logger LOGGER = LoggerFactory.getLogger(Main.class);
-
- private ParticipantSimulatorActivator activator;
-
- @Getter
- private ParticipantSimulatorParameters parameterGroup;
-
- /**
- * Instantiates the control loop participant service.
- *
- * @param args the command line arguments
- */
- public Main(final String[] args) {
- final String argumentString = Arrays.toString(args);
- LOGGER.info("Starting the participant service with arguments - {}", argumentString);
-
- // Check the arguments
- final ParticipantSimulatorCommandLineArguments arguments = new ParticipantSimulatorCommandLineArguments();
- try {
- // The arguments return a string if there is a message to print and we should exit
- final String argumentMessage = arguments.parse(args);
- if (argumentMessage != null) {
- LOGGER.info(argumentMessage);
- return;
- }
- // Validate that the arguments are sane
- arguments.validate();
-
- // Read the parameters
- parameterGroup = new ParticipantSimulatorParameterHandler().getParameters(arguments);
-
- // Now, create the activator for the service
- activator = new ParticipantSimulatorActivator(parameterGroup);
-
- // Start the activator
- activator.start();
- } catch (Exception exp) {
- throw new ControlLoopRuntimeException(Response.Status.BAD_REQUEST,
- String.format(MessageConstants.START_FAILURE_MSG, MessageConstants.POLICY_CLAMP), exp);
- }
-
- // Add a shutdown hook to shut everything down in an orderly manner
- Runtime.getRuntime().addShutdownHook(new ClParticipantSimulatorShutdownHookClass());
- String successMsg = String.format(MessageConstants.START_SUCCESS_MSG, MessageConstants.POLICY_CLAMP);
- LOGGER.info(successMsg);
- }
-
- /**
- * Check if main is running.
- */
- public boolean isRunning() {
- return activator != null && activator.isAlive();
- }
-
- /**
- * Shut down Execution.
- *
- * @throws ControlLoopException on shutdown errors
- */
- public void shutdown() throws ControlLoopException {
- // clear the parameterGroup variable
- parameterGroup = null;
-
- // clear the cl participant activator
- if (activator != null) {
- activator.stop();
- }
- }
-
- /**
- * The Class ClParticipantSimulatorShutdownHookClass terminates the control loop participant service
- * when its run method is called.
- */
- private class ClParticipantSimulatorShutdownHookClass extends Thread {
- /*
- * (non-Javadoc)
- *
- * @see java.lang.Runnable#run()
- */
- @Override
- public void run() {
- try {
- // Shutdown the participant simulator and wait for everything to stop
- shutdown();
- } catch (final RuntimeException | ControlLoopException e) {
- LOGGER.warn("error occured during shut down of the participant simulator", e);
- }
- }
- }
-
- /**
- * The main method.
- *
- * @param args the arguments
- */
- public static void main(final String[] args) { // NOSONAR
- /*
- * NOTE: arguments are validated by the constructor, thus sonar is disabled.
- */
-
- new Main(args);
- }
-}
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/main/startstop/ParticipantSimulatorActivator.java b/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/main/startstop/ParticipantSimulatorActivator.java
deleted file mode 100644
index 4daa0393f..000000000
--- a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/main/startstop/ParticipantSimulatorActivator.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2021 Nordix Foundation.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * 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.clamp.controlloop.participant.simulator.main.startstop;
-
-import java.util.Set;
-import java.util.concurrent.atomic.AtomicReference;
-import lombok.Getter;
-import org.onap.policy.clamp.controlloop.participant.simulator.main.parameters.ParticipantSimulatorParameters;
-import org.onap.policy.clamp.controlloop.participant.simulator.main.rest.ParticipantSimulatorAafFilter;
-import org.onap.policy.clamp.controlloop.participant.simulator.simulation.SimulationHandler;
-import org.onap.policy.common.endpoints.http.server.RestServer;
-import org.onap.policy.common.utils.services.ServiceManagerContainer;
-
-/**
- * This class activates the participant simulator component as a complete service together with all its controllers,
- * listeners and handlers.
- */
-public class ParticipantSimulatorActivator extends ServiceManagerContainer {
- @Getter
- private final ParticipantSimulatorParameters parameters;
-
- /**
- * Instantiate the activator for the simulator as a complete service.
- *
- * @param parameters the parameters for the participant service
- */
- public ParticipantSimulatorActivator(final ParticipantSimulatorParameters parameters) {
- this.parameters = parameters;
-
- final AtomicReference<SimulationHandler> simulationHandler = new AtomicReference<>();
- final AtomicReference<RestServer> restServer = new AtomicReference<>();
-
- // @formatter:off
- addAction("Simulation Handler",
- () -> simulationHandler.set(new SimulationHandler(parameters)),
- () -> simulationHandler.get().close());
-
- addAction("Simulation Providers",
- () -> simulationHandler.get().startProviders(),
- () -> simulationHandler.get().stopProviders());
-
- parameters.getRestServerParameters().setName(parameters.getName());
-
- addAction("REST server",
- () -> {
- Set<Class<?>> providerClasses = simulationHandler.get().getProviderClasses();
-
- RestServer server = new RestServer(parameters.getRestServerParameters(),
- ParticipantSimulatorAafFilter.class,
- providerClasses.toArray(new Class<?>[providerClasses.size()]));
- restServer.set(server);
- restServer.get().start();
- },
- () -> restServer.get().stop());
- // @formatter:on
- }
-}
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/main/startstop/ParticipantSimulatorCommandLineArguments.java b/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/main/startstop/ParticipantSimulatorCommandLineArguments.java
deleted file mode 100644
index 51ac3a4d5..000000000
--- a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/main/startstop/ParticipantSimulatorCommandLineArguments.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2021 Nordix Foundation.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * 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.clamp.controlloop.participant.simulator.main.startstop;
-
-import java.io.File;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.net.URL;
-import java.util.Arrays;
-import javax.ws.rs.core.Response;
-import lombok.Getter;
-import lombok.Setter;
-import org.apache.commons.cli.CommandLine;
-import org.apache.commons.cli.DefaultParser;
-import org.apache.commons.cli.HelpFormatter;
-import org.apache.commons.cli.Option;
-import org.apache.commons.cli.Options;
-import org.apache.commons.cli.ParseException;
-import org.apache.commons.lang3.StringUtils;
-import org.onap.policy.clamp.controlloop.common.exception.ControlLoopException;
-import org.onap.policy.clamp.controlloop.common.exception.ControlLoopRuntimeException;
-import org.onap.policy.clamp.controlloop.common.startstop.CommonCommandLineArguments;
-import org.onap.policy.common.utils.resources.ResourceUtils;
-
-/**
- * This class reads and handles command line parameters for the participant simulator service.
- *
- */
-public class ParticipantSimulatorCommandLineArguments {
- private static final String FILE_MESSAGE_PREAMBLE = " file \"";
- private static final int HELP_LINE_LENGTH = 120;
-
- private final Options options;
- private final CommonCommandLineArguments commonCommandLineArguments;
-
- @Getter()
- @Setter()
- private String configurationFilePath = null;
-
- /**
- * Construct the options for the participant component.
- */
- public ParticipantSimulatorCommandLineArguments() {
- options = new Options();
- commonCommandLineArguments = new CommonCommandLineArguments(options);
- }
-
- /**
- * Construct the options for the participant component and parse in the given arguments.
- *
- * @param args The command line arguments
- */
- public ParticipantSimulatorCommandLineArguments(final String[] args) {
- // Set up the options with the default constructor
- this();
-
- // Parse the arguments
- try {
- parse(args);
- } catch (final ControlLoopException e) {
- throw new ControlLoopRuntimeException(Response.Status.NOT_ACCEPTABLE,
- "parse error on participant parameters", e);
- }
- }
-
- /**
- * Parse the command line options.
- *
- * @param args The command line arguments
- * @return a string with a message for help and version, or null if there is no message
- * @throws ControlLoopException on command argument errors
- */
- public String parse(final String[] args) throws ControlLoopException {
- // Clear all our arguments
- setConfigurationFilePath(null);
- CommandLine commandLine = null;
- try {
- commandLine = new DefaultParser().parse(options, args);
- } catch (final ParseException e) {
- throw new ControlLoopException(Response.Status.NOT_ACCEPTABLE,
- "invalid command line arguments specified : " + e.getMessage());
- }
-
- // Arguments left over after Commons CLI does its stuff
- final String[] remainingArgs = commandLine.getArgs();
-
- if (remainingArgs.length > 0) {
- throw new ControlLoopException(Response.Status.NOT_ACCEPTABLE,
- "too many command line arguments specified : " + Arrays.toString(args));
- }
-
- if (commandLine.hasOption('h')) {
- return commonCommandLineArguments.help(Main.class.getName(), options);
- }
-
- if (commandLine.hasOption('v')) {
- return commonCommandLineArguments.version();
- }
-
- if (commandLine.hasOption('c')) {
- setConfigurationFilePath(commandLine.getOptionValue('c'));
- }
-
- return null;
- }
-
- /**
- * Validate the command line options.
- *
- * @throws ControlLoopException on command argument validation errors
- */
- public void validate() throws ControlLoopException {
- commonCommandLineArguments.validate(configurationFilePath);
- }
-
- /**
- * Gets the full expanded configuration file path.
- *
- * @return the configuration file path
- */
- public String getFullConfigurationFilePath() {
- return ResourceUtils.getFilePath4Resource(getConfigurationFilePath());
- }
-
- /**
- * Check set configuration file path.
- *
- * @return true, if check set configuration file path
- */
- public boolean checkSetConfigurationFilePath() {
- return !StringUtils.isEmpty(configurationFilePath);
- }
-}
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/simulation/SimulationHandler.java b/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/simulation/SimulationHandler.java
deleted file mode 100644
index df7f2a611..000000000
--- a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/simulation/SimulationHandler.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2021 Nordix Foundation.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * 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.clamp.controlloop.participant.simulator.simulation;
-
-import java.io.IOException;
-import java.util.List;
-import java.util.Set;
-import javax.ws.rs.core.Response;
-import lombok.Getter;
-import org.onap.policy.clamp.controlloop.common.handler.ControlLoopHandler;
-import org.onap.policy.clamp.controlloop.participant.intermediary.parameters.ParticipantIntermediaryParameters;
-import org.onap.policy.clamp.controlloop.participant.simulator.main.parameters.ParticipantSimulatorParameters;
-import org.onap.policy.clamp.controlloop.participant.simulator.simulation.rest.SimulationElementController;
-import org.onap.policy.clamp.controlloop.participant.simulator.simulation.rest.SimulationParticipantController;
-import org.onap.policy.common.endpoints.event.comm.TopicSink;
-import org.onap.policy.common.endpoints.listeners.MessageTypeDispatcher;
-import org.onap.policy.common.utils.services.Registry;
-import org.onap.policy.models.base.PfModelRuntimeException;
-
-/**
- * This class handles simulation of participants and control loop elements.
- *
- * <p/>It is effectively a singleton that is started at system start.
- */
-public class SimulationHandler extends ControlLoopHandler {
- private final ParticipantIntermediaryParameters participantParameters;
-
- @Getter
- private SimulationProvider simulationProvider;
-
- /**
- * Create a handler.
- *
- * @param parameters the parameters for access to the database
- */
- public SimulationHandler(ParticipantSimulatorParameters parameters) {
- super(parameters.getDatabaseProviderParameters());
- participantParameters = parameters.getIntermediaryParameters();
- }
-
- public static SimulationHandler getInstance() {
- return Registry.get(SimulationHandler.class.getName());
- }
-
- @Override
- public Set<Class<?>> getProviderClasses() {
- return Set.of(SimulationElementController.class, SimulationParticipantController.class);
- }
-
- @Override
- public void startProviders() {
- simulationProvider = new SimulationProvider(participantParameters);
- }
-
- @Override
- public void stopProviders() {
- try {
- simulationProvider.close();
- } catch (IOException e) {
- throw new PfModelRuntimeException(Response.Status.INTERNAL_SERVER_ERROR, "Stop providers failed ", e);
- }
- }
-}
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/simulation/SimulationProvider.java b/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/simulation/SimulationProvider.java
deleted file mode 100644
index 1fcbba3af..000000000
--- a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/simulation/SimulationProvider.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2021 Nordix Foundation.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * 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.clamp.controlloop.participant.simulator.simulation;
-
-import java.io.Closeable;
-import java.io.IOException;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
-import lombok.Getter;
-import org.onap.policy.clamp.controlloop.common.exception.ControlLoopException;
-import org.onap.policy.clamp.controlloop.common.exception.ControlLoopRuntimeException;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ControlLoop;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ControlLoopElement;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ControlLoops;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.Participant;
-import org.onap.policy.clamp.controlloop.models.messages.rest.TypedSimpleResponse;
-import org.onap.policy.clamp.controlloop.participant.intermediary.api.ParticipantIntermediaryApi;
-import org.onap.policy.clamp.controlloop.participant.intermediary.api.ParticipantIntermediaryFactory;
-import org.onap.policy.clamp.controlloop.participant.intermediary.parameters.ParticipantIntermediaryParameters;
-
-/**
- * This provider class simulation of participants and control loop elements.
- */
-public class SimulationProvider implements Closeable {
- @Getter
- private final ParticipantIntermediaryApi intermediaryApi;
-
- /**
- * Create a participant simulation provider.
- *
- * @throws ControlLoopRuntimeException on errors creating the provider
- */
- public SimulationProvider(ParticipantIntermediaryParameters participantParameters)
- throws ControlLoopRuntimeException {
- intermediaryApi = new ParticipantIntermediaryFactory().createApiImplementation();
- intermediaryApi.init(participantParameters);
- }
-
- @Override
- public void close() throws IOException {
- intermediaryApi.close();
- }
-
- /**
- * Get the control loops.
- *
- * @param name the controlLoop, null to get all
- * @param version the controlLoop, null to get all
- * @return the control loops
- * @throws ControlLoopException on errors getting the control loops
- */
- public ControlLoops getControlLoops(String name, String version) throws ControlLoopException {
- return intermediaryApi.getControlLoops(name, version);
- }
-
- /**
- * Get the simulated control loop elements.
- *
- * @param name the controlLoopElement, null to get all
- * @param version the controlLoopElement, null to get all
- * @return the control loop elements
- * @throws ControlLoopException on errors getting the control loop elements
- */
- public Map<UUID, ControlLoopElement> getControlLoopElements(String name, String version)
- throws ControlLoopException {
- return intermediaryApi.getControlLoopElements(name, version);
- }
-
- /**
- * Update the given control loop element in the simulator.
- *
- * @param element the control loop element to update
- * @return response simple response returned
- * @throws ControlLoopException on errors updating the control loop element
- */
- public TypedSimpleResponse<ControlLoopElement> updateControlLoopElement(ControlLoopElement element)
- throws ControlLoopException {
- TypedSimpleResponse<ControlLoopElement> response = new TypedSimpleResponse<>();
- response.setResponse(intermediaryApi.updateControlLoopElementState(
- element.getId(), element.getOrderedState(), element.getState()));
- return response;
- }
-
- /**
- * Get the current simulated participants.
- *
- * @param name the participant, null to get all
- * @param version the participant, null to get all
- * @return the list of participants
- * @throws ControlLoopException on errors getting the participants
- */
- public List<Participant> getParticipants(String name, String version) throws ControlLoopException {
- return intermediaryApi.getParticipants(name, version);
- }
-
- /**
- * Update a simulated participant.
- *
- * @param participant the participant to update
- * @return TypedSimpleResponse simple response
- * @throws ControlLoopException on errors updating the participant
- */
-
- public TypedSimpleResponse<Participant> updateParticipant(Participant participant) throws ControlLoopException {
- TypedSimpleResponse<Participant> response = new TypedSimpleResponse<>();
- response.setResponse(intermediaryApi.updateParticipantState(
- participant.getDefinition(), participant.getParticipantState()));
- return response;
- }
-}
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/simulation/rest/SimulationElementController.java b/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/simulation/rest/SimulationElementController.java
deleted file mode 100644
index 1869047c9..000000000
--- a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/simulation/rest/SimulationElementController.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2021 Nordix Foundation.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * 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.clamp.controlloop.participant.simulator.simulation.rest;
-
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
-import io.swagger.annotations.ApiResponse;
-import io.swagger.annotations.ApiResponses;
-import io.swagger.annotations.Authorization;
-import io.swagger.annotations.Extension;
-import io.swagger.annotations.ExtensionProperty;
-import io.swagger.annotations.ResponseHeader;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
-import org.onap.policy.clamp.controlloop.common.exception.ControlLoopException;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ControlLoopElement;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ControlLoops;
-import org.onap.policy.clamp.controlloop.models.messages.rest.SimpleResponse;
-import org.onap.policy.clamp.controlloop.models.messages.rest.TypedSimpleResponse;
-import org.onap.policy.clamp.controlloop.participant.simulator.main.rest.RestController;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Class to provide REST end points for participant simulator to query/update details of controlLoopElements.
- */
-public class SimulationElementController extends RestController {
- private static final Logger LOGGER = LoggerFactory.getLogger(SimulationElementController.class);
-
- /**
- * Queries details of all control loop element within the simulator.
- *
- * @param requestId request ID used in ONAP logging
- * @param name the name of the Control Loop element to get, null to get all
- * @param version the version of the Control Loop element to get, null to get all
- * @return the control loop elements
- */
- // @formatter:off
- @GET
- @Path("/elements/{name}/{version}")
- @ApiOperation(value = "Query details of the requested simulated control loop elements",
- notes = "Queries details of the requested simulated control loop elements, "
- + "returning all control loop element details",
- response = ControlLoops.class,
- tags = {
- "Clamp Control Loop Participant Simulator API"
- },
- authorizations = @Authorization(value = AUTHORIZATION_TYPE),
- responseHeaders = {
- @ResponseHeader(
- name = VERSION_MINOR_NAME, description = VERSION_MINOR_DESCRIPTION,
- response = String.class),
- @ResponseHeader(name = VERSION_PATCH_NAME, description = VERSION_PATCH_DESCRIPTION,
- response = String.class),
- @ResponseHeader(name = VERSION_LATEST_NAME, description = VERSION_LATEST_DESCRIPTION,
- response = String.class),
- @ResponseHeader(name = REQUEST_ID_NAME, description = REQUEST_ID_HDR_DESCRIPTION,
- response = UUID.class)},
- extensions = {
- @Extension(
- name = EXTENSION_NAME,
- properties = {
- @ExtensionProperty(name = API_VERSION_NAME, value = API_VERSION),
- @ExtensionProperty(name = LAST_MOD_NAME, value = LAST_MOD_RELEASE)
- }
- )
- }
- )
- @ApiResponses(
- value = {
- @ApiResponse(code = AUTHENTICATION_ERROR_CODE, message = AUTHENTICATION_ERROR_MESSAGE),
- @ApiResponse(code = AUTHORIZATION_ERROR_CODE, message = AUTHORIZATION_ERROR_MESSAGE),
- @ApiResponse(code = SERVER_ERROR_CODE, message = SERVER_ERROR_MESSAGE)
- }
- )
- // @formatter:on
- public Response elements(@HeaderParam(REQUEST_ID_NAME) @ApiParam(REQUEST_ID_PARAM_DESCRIPTION) UUID requestId,
- @ApiParam(value = "Control loop element name", required = true) @PathParam("name") String name,
- @ApiParam(value = "Control loop element version", required = true) @PathParam("version") String version) {
-
- try {
- Map<UUID, ControlLoopElement> response = getSimulationProvider().getControlLoopElements(name, version);
- return addLoggingHeaders(addVersionControlHeaders(Response.status(Status.OK)), requestId).entity(response)
- .build();
-
- } catch (ControlLoopException cle) {
- LOGGER.warn("get of control loop elements failed", cle);
- SimpleResponse resp = new SimpleResponse();
- resp.setErrorDetails(cle.getErrorResponse().getErrorMessage());
- return addLoggingHeaders(
- addVersionControlHeaders(Response.status(cle.getErrorResponse().getResponseCode())), requestId)
- .entity(resp).build();
- }
-
- }
-
- /**
- * Updates a control loop element in the simulator.
- *
- * @param requestId request ID used in ONAP logging
- * @param body the body of a control loop element
- * @return a response
- */
- // @formatter:off
- @PUT
- @Path("/elements")
- @ApiOperation(
- value = "Updates simulated control loop elements",
- notes = "Updates simulated control loop elements, returning the updated control loop definition IDs",
- response = TypedSimpleResponse.class,
- tags = {
- "Clamp Control Loop Participant Simulator API"
- },
- authorizations = @Authorization(value = AUTHORIZATION_TYPE),
- responseHeaders = {
- @ResponseHeader(
- name = VERSION_MINOR_NAME,
- description = VERSION_MINOR_DESCRIPTION,
- response = String.class),
- @ResponseHeader(
- name = VERSION_PATCH_NAME,
- description = VERSION_PATCH_DESCRIPTION,
- response = String.class),
- @ResponseHeader(
- name = VERSION_LATEST_NAME,
- description = VERSION_LATEST_DESCRIPTION,
- response = String.class),
- @ResponseHeader(
- name = REQUEST_ID_NAME,
- description = REQUEST_ID_HDR_DESCRIPTION,
- response = UUID.class)
- },
- extensions = {
- @Extension(
- name = EXTENSION_NAME,
- properties = {
- @ExtensionProperty(name = API_VERSION_NAME, value = API_VERSION),
- @ExtensionProperty(name = LAST_MOD_NAME, value = LAST_MOD_RELEASE)
- }
- )
- }
- )
- @ApiResponses(
- value = {
- @ApiResponse(code = AUTHENTICATION_ERROR_CODE, message = AUTHENTICATION_ERROR_MESSAGE),
- @ApiResponse(code = AUTHORIZATION_ERROR_CODE, message = AUTHORIZATION_ERROR_MESSAGE),
- @ApiResponse(code = SERVER_ERROR_CODE, message = SERVER_ERROR_MESSAGE)
- }
- )
- // @formatter:on
- public Response update(@HeaderParam(REQUEST_ID_NAME) @ApiParam(REQUEST_ID_PARAM_DESCRIPTION) UUID requestId,
- @ApiParam(value = "Body of a control loop element", required = true) ControlLoopElement body) {
-
- try {
- TypedSimpleResponse<ControlLoopElement> response =
- getSimulationProvider().updateControlLoopElement(body);
- return addLoggingHeaders(addVersionControlHeaders(Response.status(Status.OK)), requestId).entity(response)
- .build();
-
- } catch (ControlLoopException cle) {
- LOGGER.warn("update of control loop element failed", cle);
- TypedSimpleResponse<ControlLoopElement> resp = new TypedSimpleResponse<>();
- resp.setErrorDetails(cle.getErrorResponse().getErrorMessage());
- return addLoggingHeaders(
- addVersionControlHeaders(Response.status(cle.getErrorResponse().getResponseCode())), requestId)
- .entity(resp).build();
- }
- }
-}
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/simulation/rest/SimulationParticipantController.java b/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/simulation/rest/SimulationParticipantController.java
deleted file mode 100644
index d6ca6d0d1..000000000
--- a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/java/org/onap/policy/clamp/controlloop/participant/simulator/simulation/rest/SimulationParticipantController.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2021 Nordix Foundation.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * 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.clamp.controlloop.participant.simulator.simulation.rest;
-
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
-import io.swagger.annotations.ApiResponse;
-import io.swagger.annotations.ApiResponses;
-import io.swagger.annotations.Authorization;
-import io.swagger.annotations.Extension;
-import io.swagger.annotations.ExtensionProperty;
-import io.swagger.annotations.ResponseHeader;
-import java.util.List;
-import java.util.UUID;
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
-import org.onap.policy.clamp.controlloop.common.exception.ControlLoopException;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.Participant;
-import org.onap.policy.clamp.controlloop.models.messages.rest.SimpleResponse;
-import org.onap.policy.clamp.controlloop.models.messages.rest.TypedSimpleResponse;
-import org.onap.policy.clamp.controlloop.participant.simulator.main.rest.RestController;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Class to provide REST end points for participant simulator to query/update details of all participants.
- */
-public class SimulationParticipantController extends RestController {
- private static final Logger LOGGER = LoggerFactory.getLogger(SimulationParticipantController.class);
-
- /**
- * Queries details of all participants within the simulator.
- *
- * @param requestId request ID used in ONAP logging
- * @param name the name of the participant to get, null to get all
- * @param version the version of the participant to get, null to get all
- * @return the participants
- */
- // @formatter:off
- @GET
- @Path("/participants/{name}/{version}")
- @ApiOperation(value = "Query details of the requested simulated participants",
- notes = "Queries details of the requested simulated participants, "
- + "returning all participant details",
- response = List.class,
- tags = {
- "Clamp Control Loop Participant Simulator API"
- },
- authorizations = @Authorization(value = AUTHORIZATION_TYPE),
- responseHeaders = {
- @ResponseHeader(
- name = VERSION_MINOR_NAME, description = VERSION_MINOR_DESCRIPTION,
- response = String.class),
- @ResponseHeader(name = VERSION_PATCH_NAME, description = VERSION_PATCH_DESCRIPTION,
- response = String.class),
- @ResponseHeader(name = VERSION_LATEST_NAME, description = VERSION_LATEST_DESCRIPTION,
- response = String.class),
- @ResponseHeader(name = REQUEST_ID_NAME, description = REQUEST_ID_HDR_DESCRIPTION,
- response = UUID.class)},
- extensions = {
- @Extension(
- name = EXTENSION_NAME,
- properties = {
- @ExtensionProperty(name = API_VERSION_NAME, value = API_VERSION),
- @ExtensionProperty(name = LAST_MOD_NAME, value = LAST_MOD_RELEASE)
- }
- )
- }
- )
- @ApiResponses(
- value = {
- @ApiResponse(code = AUTHENTICATION_ERROR_CODE, message = AUTHENTICATION_ERROR_MESSAGE),
- @ApiResponse(code = AUTHORIZATION_ERROR_CODE, message = AUTHORIZATION_ERROR_MESSAGE),
- @ApiResponse(code = SERVER_ERROR_CODE, message = SERVER_ERROR_MESSAGE)
- }
- )
- // @formatter:on
- public Response participants(@HeaderParam(REQUEST_ID_NAME) @ApiParam(REQUEST_ID_PARAM_DESCRIPTION) UUID requestId,
- @ApiParam(value = "Participant name", required = true) @PathParam("name") String name,
- @ApiParam(value = "Participant version", required = true) @PathParam("version") String version) {
-
- try {
- List<Participant> response = getSimulationProvider().getParticipants(name, version);
- return addLoggingHeaders(addVersionControlHeaders(Response.status(Status.OK)), requestId).entity(response)
- .build();
-
- } catch (ControlLoopException cle) {
- LOGGER.warn("get of participants failed", cle);
- SimpleResponse resp = new SimpleResponse();
- resp.setErrorDetails(cle.getErrorResponse().getErrorMessage());
- return addLoggingHeaders(
- addVersionControlHeaders(Response.status(cle.getErrorResponse().getResponseCode())), requestId)
- .entity(resp).build();
- }
-
- }
-
- /**
- * Updates a participant in the simulator.
- *
- * @param requestId request ID used in ONAP logging
- * @param body the body of a participant
- * @return a response
- */
- // @formatter:off
- @PUT
- @Path("/participants")
- @ApiOperation(
- value = "Updates simulated participants",
- notes = "Updates simulated participants, returning the updated control loop definition IDs",
- response = TypedSimpleResponse.class,
- tags = {
- "Clamp Control Loop Participant Simulator API"
- },
- authorizations = @Authorization(value = AUTHORIZATION_TYPE),
- responseHeaders = {
- @ResponseHeader(
- name = VERSION_MINOR_NAME,
- description = VERSION_MINOR_DESCRIPTION,
- response = String.class),
- @ResponseHeader(
- name = VERSION_PATCH_NAME,
- description = VERSION_PATCH_DESCRIPTION,
- response = String.class),
- @ResponseHeader(
- name = VERSION_LATEST_NAME,
- description = VERSION_LATEST_DESCRIPTION,
- response = String.class),
- @ResponseHeader(
- name = REQUEST_ID_NAME,
- description = REQUEST_ID_HDR_DESCRIPTION,
- response = UUID.class)
- },
- extensions = {
- @Extension(
- name = EXTENSION_NAME,
- properties = {
- @ExtensionProperty(name = API_VERSION_NAME, value = API_VERSION),
- @ExtensionProperty(name = LAST_MOD_NAME, value = LAST_MOD_RELEASE)
- }
- )
- }
- )
- @ApiResponses(
- value = {
- @ApiResponse(code = AUTHENTICATION_ERROR_CODE, message = AUTHENTICATION_ERROR_MESSAGE),
- @ApiResponse(code = AUTHORIZATION_ERROR_CODE, message = AUTHORIZATION_ERROR_MESSAGE),
- @ApiResponse(code = SERVER_ERROR_CODE, message = SERVER_ERROR_MESSAGE)
- }
- )
- // @formatter:on
- public Response update(@HeaderParam(REQUEST_ID_NAME) @ApiParam(REQUEST_ID_PARAM_DESCRIPTION) UUID requestId,
- @ApiParam(value = "Body of a participant", required = true) Participant body) {
-
- try {
- TypedSimpleResponse<Participant> response = getSimulationProvider().updateParticipant(body);
- return addLoggingHeaders(addVersionControlHeaders(Response.status(Status.OK)), requestId).entity(response)
- .build();
-
- } catch (ControlLoopException cle) {
- LOGGER.warn("update of participant failed", cle);
- TypedSimpleResponse<Participant> resp = new TypedSimpleResponse<>();
- resp.setErrorDetails(cle.getErrorResponse().getErrorMessage());
- return addLoggingHeaders(
- addVersionControlHeaders(Response.status(cle.getErrorResponse().getResponseCode())), requestId)
- .entity(resp).build();
- }
- }
-}
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/resources/config/CDSParticipantConfig.json b/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/resources/config/CDSParticipantConfig.json
deleted file mode 100644
index 3eca87678..000000000
--- a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/resources/config/CDSParticipantConfig.json
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- "name":"ParticipantParameterGroup",
- "participantStatusParameters":{
- "timeIntervalMs": 10000,
- "description":"Participant Status",
- "participantType":{
- "name": "org.onap.ccsdk.cds.controlloop.CdsControlLoopParticipant",
- "version":"2.2.1"
- },
- "participantId":{
- "name": "CDSParticipant0",
- "version":"1.0.0"
- },
- "participantDefinition":{
- "name": "org.onap.ccsdk.cds.controlloop.CdsControlLoopParticipant",
- "version":"3.2.1"
- }
- },
- "topicParameterGroup": {
- "topicSources" : [{
- "topic" : "POLICY-CLRUNTIME-PARTICIPANT",
- "servers" : [ "127.0.0.1:3904" ],
- "topicCommInfrastructure" : "dmaap"
- }],
- "topicSinks" : [{
- "topic" : "POLICY-CLRUNTIME-PARTICIPANT",
- "servers" : [ "127.0.0.1:3904" ],
- "topicCommInfrastructure" : "dmaap"
- }]
- }
-}
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/resources/config/DCAEParticipantConfig.json b/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/resources/config/DCAEParticipantConfig.json
deleted file mode 100644
index e80570f93..000000000
--- a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/resources/config/DCAEParticipantConfig.json
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- "name":"ParticipantParameterGroup",
- "participantStatusParameters":{
- "timeIntervalMs": 10000,
- "description":"Participant Status",
- "participantType":{
- "name": "org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant",
- "version":"2.3.4"
- },
- "participantId":{
- "name": "DCAEParticipant0",
- "version":"1.0.0"
- },
- "participantDefinition":{
- "name": "org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant",
- "version":"2.3.4"
- }
- },
- "topicParameterGroup": {
- "topicSources" : [{
- "topic" : "POLICY-CLRUNTIME-PARTICIPANT",
- "servers" : [ "127.0.0.1:3904" ],
- "topicCommInfrastructure" : "dmaap"
- }],
- "topicSinks" : [{
- "topic" : "POLICY-CLRUNTIME-PARTICIPANT",
- "servers" : [ "127.0.0.1:3904" ],
- "topicCommInfrastructure" : "dmaap"
- }]
- }
-}
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/resources/config/PolicyParticipantConfig.json b/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/resources/config/PolicyParticipantConfig.json
deleted file mode 100644
index 8c8fa33cb..000000000
--- a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/resources/config/PolicyParticipantConfig.json
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- "name":"ParticipantParameterGroup",
- "participantStatusParameters":{
- "timeIntervalMs":10000,
- "description":"Participant Status",
- "participantType":{
- "name": "org.onap.policy.controlloop.PolicyControlLoopParticipant",
- "version":"2.3.1"
- },
- "participantId":{
- "name": "PolicyParticipant0",
- "version":"1.0.0"
- },
- "participantDefinition":{
- "name": "org.onap.policy.controlloop.PolicyControlLoopParticipant",
- "version":"2.3.1"
- }
- },
- "topicParameterGroup": {
- "topicSources" : [{
- "topic" : "POLICY-CLRUNTIME-PARTICIPANT",
- "servers" : [ "127.0.0.1:3904" ],
- "topicCommInfrastructure" : "dmaap"
- }],
- "topicSinks" : [{
- "topic" : "POLICY-CLRUNTIME-PARTICIPANT",
- "servers" : [ "127.0.0.1:3904" ],
- "topicCommInfrastructure" : "dmaap"
- }]
- }
-}
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/resources/version.txt b/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/resources/version.txt
deleted file mode 100644
index dbd67585f..000000000
--- a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/main/resources/version.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-ONAP Tosca defined control loop Participant
-Version: ${project.version}
-Built (UTC): ${maven.build.timestamp}
-ONAP https://wiki.onap.org
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/intermediary/TestControlLoopUpdateListener.java b/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/intermediary/TestControlLoopUpdateListener.java
deleted file mode 100644
index a307d3457..000000000
--- a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/intermediary/TestControlLoopUpdateListener.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2021 Nordix Foundation.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * 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.clamp.controlloop.participant.simulator.main.intermediary;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotEquals;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.onap.policy.clamp.controlloop.common.exception.ControlLoopException;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ControlLoopOrderedState;
-import org.onap.policy.clamp.controlloop.models.messages.dmaap.participant.ParticipantControlLoopUpdate;
-import org.onap.policy.clamp.controlloop.participant.intermediary.comm.ControlLoopUpdateListener;
-import org.onap.policy.clamp.controlloop.participant.simulator.main.parameters.CommonTestData;
-import org.onap.policy.clamp.controlloop.participant.simulator.main.rest.TestListenerUtils;
-import org.onap.policy.common.endpoints.event.comm.Topic.CommInfrastructure;
-import org.onap.policy.common.utils.coder.CoderException;
-
-/**
- * Class to perform unit test of {@link ControlLoopUpdateListener}.
- */
-public class TestControlLoopUpdateListener {
- private static ControlLoopUpdateListener clUpdateListener;
- private static final CommInfrastructure INFRA = CommInfrastructure.NOOP;
- private static final String TOPIC = "my-topic";
- static CommonTestData commonTestData = new CommonTestData();
-
- /**
- * Method for setup.
- *
- * @throws ParticipantException if some error occurs while starting up the participant
- * @throws FileNotFoundException if the file is missing
- * @throws IOException if IO exception occurs
- */
- @BeforeClass
- public static void setUp() throws ControlLoopException, FileNotFoundException, IOException {
- TestListenerUtils.initParticipantHandler();
- clUpdateListener = new ControlLoopUpdateListener(TestListenerUtils.getParticipantHandler());
- }
-
- @Test
- public void testControlLoopUpdateListener_ParticipantIdNoMatch() throws CoderException {
- ParticipantControlLoopUpdate participantControlLoopUpdateMsg = prepareMsg("DummyName");
- clUpdateListener.onTopicEvent(INFRA, TOPIC, null, participantControlLoopUpdateMsg);
-
- // Verify the content in participantHandler
- assertNotEquals(participantControlLoopUpdateMsg.getParticipantId().getName(),
- TestListenerUtils.getParticipantHandler().getParticipantId().getName());
- }
-
- @Test
- public void testControlLoopUpdateListener() throws CoderException {
- ParticipantControlLoopUpdate participantControlLoopUpdateMsg = prepareMsg("org.onap.PM_CDS_Blueprint");
- clUpdateListener.onTopicEvent(INFRA, TOPIC, null, participantControlLoopUpdateMsg);
-
- // Verify the content in participantHandler
- assertEquals(TestListenerUtils.getParticipantHandler().getParticipantId(),
- participantControlLoopUpdateMsg.getParticipantId());
- assertThat(TestListenerUtils.getParticipantHandler().getControlLoopHandler().getControlLoops()
- .getControlLoopList()).hasSize(1);
- }
-
- private ParticipantControlLoopUpdate prepareMsg(final String participantName) {
- ParticipantControlLoopUpdate participantControlLoopUpdateMsg;
- participantControlLoopUpdateMsg = TestListenerUtils.createControlLoopUpdateMsg();
- participantControlLoopUpdateMsg.getParticipantId().setName(participantName);
- participantControlLoopUpdateMsg.getControlLoop().setOrderedState(ControlLoopOrderedState.PASSIVE);
- return participantControlLoopUpdateMsg;
- }
-}
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/parameters/CommonTestData.java b/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/parameters/CommonTestData.java
deleted file mode 100644
index 0a8754256..000000000
--- a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/parameters/CommonTestData.java
+++ /dev/null
@@ -1,249 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2021 Nordix Foundation.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * 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.clamp.controlloop.participant.simulator.main.parameters;
-
-import java.io.File;
-import java.io.IOException;
-import java.nio.charset.StandardCharsets;
-import java.nio.file.Files;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-import java.util.TreeMap;
-import javax.ws.rs.core.Response;
-import org.onap.policy.clamp.controlloop.common.exception.ControlLoopRuntimeException;
-import org.onap.policy.common.endpoints.parameters.TopicParameters;
-import org.onap.policy.common.parameters.ParameterGroup;
-import org.onap.policy.common.utils.coder.Coder;
-import org.onap.policy.common.utils.coder.CoderException;
-import org.onap.policy.common.utils.coder.StandardCoder;
-import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier;
-
-/**
- * Class to hold/create all parameters for test cases.
- */
-public class CommonTestData {
- public static final String PARTICIPANT_GROUP_NAME = "ControlLoopParticipantGroup";
- public static final String DESCRIPTION = "Participant description";
- public static final long TIME_INTERVAL = 2000;
- public static final List<TopicParameters> TOPIC_PARAMS = Arrays.asList(getTopicParams());
- private static final String REST_SERVER_PASSWORD = "zb!XztG34";
- private static final String REST_SERVER_USER = "healthcheck";
- private static final int REST_SERVER_PORT = 6969;
- private static final String REST_SERVER_HOST = "0.0.0.0";
- private static final boolean REST_SERVER_HTTPS = true;
- private static final boolean REST_SERVER_AAF = false;
-
- public static final Coder coder = new StandardCoder();
-
- /**
- * Converts the contents of a map to a parameter class.
- *
- * @param source property map
- * @param clazz class of object to be created from the map
- * @return a new object represented by the map
- */
- public <T extends ParameterGroup> T toObject(final Map<String, Object> source, final Class<T> clazz) {
- try {
- return coder.convert(source, clazz);
- } catch (final CoderException e) {
- throw new RuntimeException("cannot create " + clazz.getName() + " from map", e);
- }
- }
-
- /**
- * Returns a property map for a ApexStarterParameterGroup map for test cases.
- *
- * @param name name of the parameters
- *
- * @return a property map suitable for constructing an object
- */
- public Map<String, Object> getParticipantParameterGroupMap(final String name) {
- final Map<String, Object> map = new TreeMap<>();
-
- map.put("name", name);
- map.put("restServerParameters", getRestServerParametersMap(false));
- map.put("intermediaryParameters", getIntermediaryParametersMap(false));
- map.put("databaseProviderParameters", getDatabaseProviderParametersMap(false));
- return map;
- }
-
- /**
- * Returns a property map for a RestServerParameters map for test cases.
- *
- * @param isEmpty boolean value to represent that object created should be empty or not
- * @return a property map suitable for constructing an object
- */
- public Map<String, Object> getRestServerParametersMap(final boolean isEmpty) {
- final Map<String, Object> map = new TreeMap<>();
- map.put("https", REST_SERVER_HTTPS);
- map.put("aaf", REST_SERVER_AAF);
-
- if (!isEmpty) {
- map.put("host", REST_SERVER_HOST);
- map.put("port", REST_SERVER_PORT);
- map.put("userName", REST_SERVER_USER);
- map.put("password", REST_SERVER_PASSWORD);
- }
-
- return map;
- }
-
- /**
- * Returns a property map for a databaseProviderParameters map for test cases.
- *
- * @param isEmpty boolean value to represent that object created should be empty or not
- * @return a property map suitable for constructing an object
- */
- public Map<String, Object> getDatabaseProviderParametersMap(final boolean isEmpty) {
- final Map<String, Object> map = new TreeMap<>();
- if (!isEmpty) {
- map.put("name", "PolicyProviderParameterGroup");
- map.put("implementation", "org.onap.policy.models.provider.impl.DatabasePolicyModelsProviderImpl");
- map.put("databaseDriver", "org.h2.Driver");
- map.put("databaseUrl", "jdbc:h2:mem:testdb");
- map.put("databaseUser", "policy");
- map.put("databasePassword", "P01icY");
- map.put("persistenceUnit", "ToscaConceptTest");
- }
-
- return map;
- }
-
- /**
- * Returns a property map for a intermediaryParameters map for test cases.
- *
- * @param isEmpty boolean value to represent that object created should be empty or not
- * @return a property map suitable for constructing an object
- */
- public Map<String, Object> getIntermediaryParametersMap(final boolean isEmpty) {
- final Map<String, Object> map = new TreeMap<>();
- if (!isEmpty) {
- map.put("name", "Participant parameters");
- map.put("reportingTimeInterval", TIME_INTERVAL);
- map.put("description", DESCRIPTION);
- map.put("participantId", getParticipantId());
- map.put("participantType", getParticipantId());
- map.put("clampControlLoopTopics", getTopicParametersMap(false));
- }
-
- return map;
- }
-
- /**
- * Returns a property map for a TopicParameters map for test cases.
- *
- * @param isEmpty boolean value to represent that object created should be empty or not
- * @return a property map suitable for constructing an object
- */
- public Map<String, Object> getTopicParametersMap(final boolean isEmpty) {
- final Map<String, Object> map = new TreeMap<>();
- if (!isEmpty) {
- map.put("topicSources", TOPIC_PARAMS);
- map.put("topicSinks", TOPIC_PARAMS);
- }
- return map;
- }
-
- /**
- * Returns topic parameters for test cases.
- *
- * @return topic parameters
- */
- public static TopicParameters getTopicParams() {
- final TopicParameters topicParams = new TopicParameters();
- topicParams.setTopic("POLICY-CLRUNTIME-PARTICIPANT");
- topicParams.setTopicCommInfrastructure("dmaap");
- topicParams.setServers(Arrays.asList("localhost"));
- return topicParams;
- }
-
- /**
- * Returns participantId for test cases.
- *
- * @return participant Id
- */
- public static ToscaConceptIdentifier getParticipantId() {
- final ToscaConceptIdentifier participantId = new ToscaConceptIdentifier("org.onap.PM_CDS_Blueprint", "1.0.0");
- return participantId;
- }
-
- /**
- * Gets the standard participant parameters.
- *
- * @param port port to be inserted into the parameters
- * @return the standard participant parameters
- */
- public ParticipantSimulatorParameters getParticipantParameterGroup(int port) {
- try {
- return coder.decode(getParticipantParameterGroupAsString(port), ParticipantSimulatorParameters.class);
-
- } catch (CoderException e) {
- throw new ControlLoopRuntimeException(Response.Status.NOT_ACCEPTABLE,
- "cannot read participant parameters", e);
- }
- }
-
- /**
- * Gets the standard participant parameters, as a String.
- *
- * @param port port to be inserted into the parameters
- * @return the standard participant parameters
- */
- public static String getParticipantParameterGroupAsString(int port) {
-
- try {
- File file = new File(getParamFile());
- String json = new String(Files.readAllBytes(file.toPath()), StandardCharsets.UTF_8);
-
- json = json.replace("${port}", String.valueOf(port));
- json = json.replace("${dbName}", "jdbc:h2:mem:testdb");
-
- return json;
-
- } catch (IOException e) {
- throw new ControlLoopRuntimeException(Response.Status.NOT_ACCEPTABLE,
- "cannot read participant parameters", e);
-
- }
- }
-
- /**
- * Gets the full path to the parameter file, which may vary depending on whether or
- * not this is an end-to-end test.
- *
- * @return the parameter file name
- */
- private static String getParamFile() {
- String paramFile = "src/test/resources/parameters/TestParametersStd.json";
- return paramFile;
- }
-
- /**
- * Nulls out a field within a JSON string.
- * @param json JSON string
- * @param field field to be nulled out
- * @return a new JSON string with the field nulled out
- */
- public String nullifyField(String json, String field) {
- return json.replace(field + "\"", field + "\":null, \"" + field + "Xxx\"");
- }
-}
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/parameters/TestParticipantSimulatorParameterHandler.java b/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/parameters/TestParticipantSimulatorParameterHandler.java
deleted file mode 100644
index e94939af8..000000000
--- a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/parameters/TestParticipantSimulatorParameterHandler.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2021 Nordix Foundation.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * 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.clamp.controlloop.participant.simulator.main.parameters;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.assertj.core.api.Assertions.assertThatThrownBy;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-import java.io.FileNotFoundException;
-import org.apache.commons.io.DirectoryWalker.CancelException;
-import org.junit.Test;
-import org.onap.policy.clamp.controlloop.common.exception.ControlLoopException;
-import org.onap.policy.clamp.controlloop.participant.simulator.main.startstop.ParticipantSimulatorCommandLineArguments;
-import org.onap.policy.common.utils.coder.CoderException;
-
-/**
- * Class to perform unit test of {@link ParticipantParameterHandler}.
- */
-public class TestParticipantSimulatorParameterHandler {
-
- @Test
- public void testParameterHandlerNoParameterFile() throws ControlLoopException {
- final String[] emptyArgumentString = { "-c", "src/test/resources/parameters/NoParametersFile.json" };
-
- final ParticipantSimulatorCommandLineArguments emptyArguments = new ParticipantSimulatorCommandLineArguments();
- emptyArguments.parse(emptyArgumentString);
-
- assertThatThrownBy(() -> new ParticipantSimulatorParameterHandler().getParameters(emptyArguments))
- .hasCauseInstanceOf(CoderException.class)
- .hasRootCauseInstanceOf(FileNotFoundException.class);
- }
-
- @Test
- public void testParameterHandlerInvalidParameters() throws ControlLoopException {
- final String[] invalidArgumentString = { "-c", "src/test/resources/parameters/InvalidParameters.json" };
-
- final ParticipantSimulatorCommandLineArguments invalidArguments =
- new ParticipantSimulatorCommandLineArguments();
- invalidArguments.parse(invalidArgumentString);
-
- assertThatThrownBy(() -> new ParticipantSimulatorParameterHandler().getParameters(invalidArguments))
- .hasMessageStartingWith("error reading parameters from")
- .hasCauseInstanceOf(CoderException.class);
- }
-
- @Test
- public void testParameterHandlerNoParameters() throws CancelException, ControlLoopException {
- final String[] noArgumentString = { "-c", "src/test/resources/parameters/EmptyParameters.json" };
-
- final ParticipantSimulatorCommandLineArguments noArguments = new ParticipantSimulatorCommandLineArguments();
- noArguments.parse(noArgumentString);
-
- assertThatThrownBy(() -> new ParticipantSimulatorParameterHandler().getParameters(noArguments))
- .hasMessageContaining("no parameters found");
- }
-
- @Test
- public void testParticipantParameterGroup() throws ControlLoopException {
- final String[] participantConfigParameters = { "-c", "src/test/resources/parameters/TestParameters.json"};
-
- final ParticipantSimulatorCommandLineArguments arguments = new ParticipantSimulatorCommandLineArguments();
- arguments.parse(participantConfigParameters);
-
- final ParticipantSimulatorParameters parGroup = new ParticipantSimulatorParameterHandler()
- .getParameters(arguments);
- assertTrue(arguments.checkSetConfigurationFilePath());
- assertEquals(CommonTestData.PARTICIPANT_GROUP_NAME, parGroup.getName());
- }
-
- @Test
- public void testParticipantVersion() throws ControlLoopException {
- final String[] participantConfigParameters = { "-v" };
- final ParticipantSimulatorCommandLineArguments arguments = new ParticipantSimulatorCommandLineArguments();
- assertThat(arguments.parse(participantConfigParameters)).startsWith(
- "ONAP Tosca defined control loop Participant");
- }
-
- @Test
- public void testParticipantHelp() throws ControlLoopException {
- final String[] participantConfigParameters = { "-h" };
- final ParticipantSimulatorCommandLineArguments arguments = new ParticipantSimulatorCommandLineArguments();
- assertThat(arguments.parse(participantConfigParameters)).startsWith("usage:");
- }
-
- @Test
- public void testParticipant_TooManyArguments() throws ControlLoopException {
- final String[] participantConfigParameters = { "-c", "src/test/resources/parameters/TestParameters.json",
- "TooMany"};
- final ParticipantSimulatorCommandLineArguments arguments = new ParticipantSimulatorCommandLineArguments();
- assertThatThrownBy(() -> arguments.parse(participantConfigParameters))
- .hasMessageStartingWith("too many command line arguments specified");
- }
-
- @Test
- public void testParticipantInvalidOption() throws ControlLoopException {
- final String[] participantConfigParameters = { "-d" };
- final ParticipantSimulatorCommandLineArguments arguments = new ParticipantSimulatorCommandLineArguments();
- assertThatThrownBy(() -> arguments.parse(participantConfigParameters))
- .hasMessageStartingWith("invalid command line arguments specified");
- }
-}
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/parameters/TestParticipantSimulatorParameters.java b/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/parameters/TestParticipantSimulatorParameters.java
deleted file mode 100644
index 8027d6f08..000000000
--- a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/parameters/TestParticipantSimulatorParameters.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2021 Nordix Foundation.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * 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.clamp.controlloop.participant.simulator.main.parameters;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNull;
-
-import java.util.Map;
-import org.junit.Test;
-import org.onap.policy.common.parameters.ValidationResult;
-
-/**
- * Class to perform unit test of {@link ParticipantParameterGroup}.
- */
-public class TestParticipantSimulatorParameters {
- CommonTestData commonTestData = new CommonTestData();
-
- @Test
- public void testParticipantParameterGroup_Named() {
- final ParticipantSimulatorParameters participantParameters = new ParticipantSimulatorParameters("my-name");
- assertEquals("my-name", participantParameters.getName());
- }
-
- @Test
- public void testParticipantParameterGroup() {
- final ParticipantSimulatorParameters participantParameters = commonTestData.toObject(
- commonTestData.getParticipantParameterGroupMap(CommonTestData.PARTICIPANT_GROUP_NAME),
- ParticipantSimulatorParameters.class);
- assertThat(participantParameters.validate().isValid()).isTrue();
- assertEquals(CommonTestData.PARTICIPANT_GROUP_NAME, participantParameters.getName());
- }
-
- @Test
- public void testParticipantParameterGroup_NullName() {
- final ParticipantSimulatorParameters participantParameters = commonTestData
- .toObject(commonTestData.getParticipantParameterGroupMap(null),
- ParticipantSimulatorParameters.class);
- final ValidationResult validationResult = participantParameters.validate();
- assertFalse(validationResult.isValid());
- assertEquals(null, participantParameters.getName());
- assertThat(validationResult.getResult()).contains("is null");
- }
-
- @Test
- public void testParticipantParameterGroup_EmptyName() {
- final ParticipantSimulatorParameters participantParameters = commonTestData
- .toObject(commonTestData.getParticipantParameterGroupMap(""),
- ParticipantSimulatorParameters.class);
- final ValidationResult validationResult = participantParameters.validate();
- assertFalse(validationResult.isValid());
- assertEquals("", participantParameters.getName());
- assertThat(validationResult.getResult()).contains(
- "item \"name\" value \"\" INVALID, " + "is blank");
- }
-
- @Test
- public void testParticipantParameterGroup_SetName() {
- final ParticipantSimulatorParameters participantParameters = commonTestData.toObject(
- commonTestData.getParticipantParameterGroupMap(CommonTestData.PARTICIPANT_GROUP_NAME),
- ParticipantSimulatorParameters.class);
- participantParameters.setName("ParticipantNewGroup");
- assertThat(participantParameters.validate().isValid()).isTrue();
- assertEquals("ParticipantNewGroup", participantParameters.getName());
- }
-
- @Test
- public void testParticipantParameterGroup_EmptyParticipantIntermediaryParameters() {
- final Map<String, Object> map =
- commonTestData.getParticipantParameterGroupMap(CommonTestData.PARTICIPANT_GROUP_NAME);
- map.replace("intermediaryParameters", commonTestData.getIntermediaryParametersMap(true));
- final ParticipantSimulatorParameters participantParameters =
- commonTestData.toObject(map, ParticipantSimulatorParameters.class);
- final ValidationResult validationResult = participantParameters.validate();
- assertNull(validationResult.getResult());
- }
-
- @Test
- public void testParticipantParameterGroupp_EmptyTopicParameters() {
- final Map<String, Object> map =
- commonTestData.getParticipantParameterGroupMap(CommonTestData.PARTICIPANT_GROUP_NAME);
- final Map<String, Object> intermediaryParametersMap = commonTestData.getIntermediaryParametersMap(false);
- intermediaryParametersMap.put("clampControlLoopTopics", commonTestData.getTopicParametersMap(true));
- map.replace("intermediaryParameters", intermediaryParametersMap);
-
- final ParticipantSimulatorParameters participantParameters =
- commonTestData.toObject(map, ParticipantSimulatorParameters.class);
- final ValidationResult validationResult = participantParameters.validate();
- assertNull(validationResult.getResult());
- }
-}
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/rest/CommonParticipantRestServer.java b/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/rest/CommonParticipantRestServer.java
deleted file mode 100644
index ae004de49..000000000
--- a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/rest/CommonParticipantRestServer.java
+++ /dev/null
@@ -1,227 +0,0 @@
-
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2021 Nordix Foundation.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * 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.clamp.controlloop.participant.simulator.main.rest;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.nio.charset.StandardCharsets;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.MediaType;
-import org.glassfish.jersey.client.ClientProperties;
-import org.glassfish.jersey.client.authentication.HttpAuthenticationFeature;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.onap.policy.clamp.controlloop.common.exception.ControlLoopException;
-import org.onap.policy.clamp.controlloop.participant.simulator.main.parameters.CommonTestData;
-import org.onap.policy.clamp.controlloop.participant.simulator.main.startstop.Main;
-import org.onap.policy.common.endpoints.event.comm.TopicEndpointManager;
-import org.onap.policy.common.endpoints.http.server.HttpServletServerFactoryInstance;
-import org.onap.policy.common.gson.GsonMessageBodyHandler;
-import org.onap.policy.common.utils.network.NetworkUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Class to perform Rest unit tests.
- *
- */
-
-public class CommonParticipantRestServer {
-
- private static final String CONFIG_FILE = "src/test/resources/parameters/TestConfigParameters.json";
- private static final Logger LOGGER = LoggerFactory.getLogger(CommonParticipantRestServer.class);
- public static final String SELF = NetworkUtil.getHostname();
- public static final String ENDPOINT_PREFIX = "onap/participantsim/v2/";
- private static int port;
- private static String httpPrefix;
- private static Main main;
-
- /**
- * Allocates a port for the server, writes a config file, and then starts Main.
- *
- * @throws Exception if an error occurs
- */
- @BeforeClass
- public static void setUpBeforeClass() throws Exception {
- setUpBeforeClass(true);
- }
-
- /**
- * Allocates a port for the server, writes a config file, and then starts Main, if
- * specified.
- *
- * @param shouldStart {@code true} if Main should be started, {@code false} otherwise
- * @throws Exception if an error occurs
- */
- public static void setUpBeforeClass(boolean shouldStart) throws Exception {
- port = NetworkUtil.allocPort();
- httpPrefix = "http://localhost:" + port + "/";
-
- makeConfigFile();
- HttpServletServerFactoryInstance.getServerFactory().destroy();
- TopicEndpointManager.getManager().shutdown();
-
- if (shouldStart) {
- startMain();
- }
- }
-
- /**
- * Stops Main.
- */
- @AfterClass
- public static void teardownAfterClass() {
- try {
- stopMain();
-
- } catch (ControlLoopException exp) {
- LOGGER.error("cannot stop main", exp);
- }
- }
-
- /**
- * Set up.
- *
- * @throws Exception if an error occurs
- */
- @Before
- public void setUp() throws Exception {
- // restart, if not currently running
- if (main == null) {
- startMain();
- }
- }
-
- /**
- * Verifies that an endpoint appears within the swagger response.
- *
- * @param endpoint the endpoint of interest
- * @throws Exception if an error occurs
- */
- protected void testSwagger(final String endpoint) throws Exception {
- final Invocation.Builder invocationBuilder = sendFqeRequest(httpPrefix + "swagger.yaml", true);
- assertThat(invocationBuilder.get(String.class)).contains(ENDPOINT_PREFIX + endpoint + ":");
- }
-
- /**
- * Makes a parameter configuration file.
- *
- * @throws IOException if an error occurs writing the configuration file
- * @throws FileNotFoundException if an error occurs writing the configuration file
- *
- * @throws Exception if an error occurs
- */
- private static void makeConfigFile() throws FileNotFoundException, IOException {
- String json = CommonTestData.getParticipantParameterGroupAsString(port);
- File file = new File(String.format(CONFIG_FILE, port));
- file.deleteOnExit();
- try (FileOutputStream output = new FileOutputStream(file)) {
- output.write(json.getBytes(StandardCharsets.UTF_8));
- }
- }
-
- /**
- * Starts the "Main".
- *
- * @throws InterruptedException
- *
- * @throws Exception if an error occurs
- */
- protected static void startMain() throws InterruptedException {
- // make sure port is available
- if (NetworkUtil.isTcpPortOpen("localhost", port, 1, 1L)) {
- throw new IllegalStateException("port " + port + " is still in use");
- }
-
- final String[] configParameters = { "-c", CONFIG_FILE };
-
- main = new Main(configParameters);
-
- if (!NetworkUtil.isTcpPortOpen("localhost", port, 40, 250L)) {
- throw new IllegalStateException("server is not listening on port " + port);
- }
- }
-
- /**
- * Stops the "Main".
- *
- * @throws ControlLoopException
- *
- * @throws Exception if an error occurs
- */
- private static void stopMain() throws ControlLoopException {
- if (main != null) {
- main.shutdown();
- main = null;
- }
- }
-
- /**
- * Sends a request to an endpoint.
- *
- * @param endpoint the target endpoint
- * @return a request builder
- * @throws Exception if an error occurs
- */
- protected Invocation.Builder sendRequest(final String endpoint) throws Exception {
- return sendFqeRequest(httpPrefix + ENDPOINT_PREFIX + endpoint, true);
- }
-
- /**
- * Sends a request to an endpoint, without any authorization header.
- *
- * @param endpoint the target endpoint
- * @return a request builder
- * @throws Exception if an error occurs
- */
- protected Invocation.Builder sendNoAuthRequest(final String endpoint) throws Exception {
- return sendFqeRequest(httpPrefix + ENDPOINT_PREFIX + endpoint, false);
- }
-
- /**
- * Sends a request to a fully qualified endpoint.
- *
- * @param fullyQualifiedEndpoint the fully qualified target endpoint
- * @param includeAuth if authorization header should be included
- * @return a request builder
- * @throws Exception if an error occurs
- */
- protected Invocation.Builder sendFqeRequest(final String fullyQualifiedEndpoint, boolean includeAuth)
- throws Exception {
- final Client client = ClientBuilder.newBuilder().build();
- client.property(ClientProperties.METAINF_SERVICES_LOOKUP_DISABLE, "true");
- client.register(GsonMessageBodyHandler.class);
- if (includeAuth) {
- client.register(HttpAuthenticationFeature.basic("healthcheck", "zb!XztG34"));
- }
- final WebTarget webTarget = client.target(fullyQualifiedEndpoint);
- return webTarget.request(MediaType.APPLICATION_JSON);
- }
-}
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/rest/RestControllerTest.java b/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/rest/RestControllerTest.java
deleted file mode 100644
index 1311eee35..000000000
--- a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/rest/RestControllerTest.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * Copyright (C) 2021 Nordix Foundation.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.clamp.controlloop.participant.simulator.main.rest;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
-import java.util.UUID;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.ResponseBuilder;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.mockito.Mockito;
-import org.onap.policy.clamp.controlloop.participant.simulator.simulation.SimulationHandler;
-import org.onap.policy.common.utils.services.Registry;
-
-public class RestControllerTest {
-
- private RestController ctlr;
- private ResponseBuilder bldr;
-
- /**
- * Setup before class, instantiate SimulationHandler.
- *
- */
- @BeforeClass
- public static void setUpBeforeClass() throws Exception {
- Registry.newRegistry();
- Registry.register(SimulationHandler.class.getName(), Mockito.mock(SimulationHandler.class));
- }
-
- @AfterClass
- public static void teardownAfterClass() throws Exception {
- Registry.unregister(SimulationHandler.class.getName());
- }
-
- /**
- * set Up.
- */
- @Before
- public void setUp() {
- ctlr = new RestController();
- bldr = Response.status(Response.Status.OK);
- }
-
- @Test
- public void testProduces() {
- Produces annotation = RestController.class.getAnnotation(Produces.class);
- assertNotNull(annotation);
- assertThat(annotation.value()).contains(MediaType.APPLICATION_JSON)
- .contains(RestController.APPLICATION_YAML);
- }
-
- @Test
- public void testAddVersionControlHeaders() {
- Response resp = ctlr.addVersionControlHeaders(bldr).build();
- assertEquals("0", resp.getHeaderString(RestController.VERSION_MINOR_NAME));
- assertEquals("0", resp.getHeaderString(RestController.VERSION_PATCH_NAME));
- assertEquals("1.0.0", resp.getHeaderString(RestController.VERSION_LATEST_NAME));
- }
-
- @Test
- public void testAddLoggingHeaders_Null() {
- Response resp = ctlr.addLoggingHeaders(bldr, null).build();
- assertNotNull(resp.getHeaderString(RestController.REQUEST_ID_NAME));
- }
-
- @Test
- public void testAddLoggingHeaders_NonNull() {
- UUID uuid = UUID.randomUUID();
- Response resp = ctlr.addLoggingHeaders(bldr, uuid).build();
- assertEquals(uuid.toString(), resp.getHeaderString(RestController.REQUEST_ID_NAME));
- }
-}
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/rest/TestListenerUtils.java b/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/rest/TestListenerUtils.java
deleted file mode 100644
index 9c20ffe22..000000000
--- a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/rest/TestListenerUtils.java
+++ /dev/null
@@ -1,258 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2021 Nordix Foundation.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * 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.clamp.controlloop.participant.simulator.main.rest;
-
-import static org.junit.Assert.assertTrue;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.time.Instant;
-import java.util.ArrayList;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.UUID;
-import lombok.Getter;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ControlLoop;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ControlLoopElement;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ControlLoopOrderedState;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ControlLoopState;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ParticipantState;
-import org.onap.policy.clamp.controlloop.models.messages.dmaap.participant.ParticipantControlLoopStateChange;
-import org.onap.policy.clamp.controlloop.models.messages.dmaap.participant.ParticipantControlLoopUpdate;
-import org.onap.policy.clamp.controlloop.models.messages.dmaap.participant.ParticipantStateChange;
-import org.onap.policy.clamp.controlloop.participant.intermediary.handler.ParticipantHandler;
-import org.onap.policy.clamp.controlloop.participant.simulator.main.parameters.CommonTestData;
-import org.onap.policy.clamp.controlloop.participant.simulator.main.parameters.ParticipantSimulatorParameters;
-import org.onap.policy.clamp.controlloop.participant.simulator.simulation.SimulationProvider;
-import org.onap.policy.common.utils.coder.Coder;
-import org.onap.policy.common.utils.coder.CoderException;
-import org.onap.policy.common.utils.coder.StandardCoder;
-import org.onap.policy.common.utils.coder.YamlJsonTranslator;
-import org.onap.policy.common.utils.resources.ResourceUtils;
-import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier;
-import org.onap.policy.models.tosca.authorative.concepts.ToscaNodeTemplate;
-import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class TestListenerUtils {
-
- private static final YamlJsonTranslator yamlTranslator = new YamlJsonTranslator();
- private static final Coder CODER = new StandardCoder();
- static CommonTestData commonTestData = new CommonTestData();
- private static final Logger LOGGER = LoggerFactory.getLogger(TestListenerUtils.class);
-
- private TestListenerUtils() {}
-
- @Getter
- private static ParticipantHandler participantHandler;
-
- /**
- * Method to initialize participantHandler.
- */
- public static void initParticipantHandler() {
-
- final ParticipantSimulatorParameters participantParameters = commonTestData.toObject(
- commonTestData.getParticipantParameterGroupMap(CommonTestData.PARTICIPANT_GROUP_NAME),
- ParticipantSimulatorParameters.class);
-
- SimulationProvider simulationProvider =
- new SimulationProvider(participantParameters.getIntermediaryParameters());
-
- participantHandler = simulationProvider.getIntermediaryApi().getParticipantHandler();
- }
-
- /**
- * Method to create a controlLoop from a yaml file.
- *
- * @return ControlLoop controlloop
- */
- public static ControlLoop createControlLoop() {
- ControlLoop controlLoop = new ControlLoop();
- Map<UUID, ControlLoopElement> elements = new LinkedHashMap<>();
- ToscaServiceTemplate toscaServiceTemplate = testControlLoopRead();
- Map<String, ToscaNodeTemplate> nodeTemplatesMap =
- toscaServiceTemplate.getToscaTopologyTemplate().getNodeTemplates();
- for (Map.Entry<String, ToscaNodeTemplate> toscaInputEntry : nodeTemplatesMap.entrySet()) {
- ControlLoopElement clElement = new ControlLoopElement();
- clElement.setId(UUID.randomUUID());
-
- ToscaConceptIdentifier clElementParticipantId = new ToscaConceptIdentifier();
- clElementParticipantId.setName(toscaInputEntry.getKey());
- clElementParticipantId.setVersion(toscaInputEntry.getValue().getVersion());
- clElement.setParticipantId(clElementParticipantId);
- clElement.setParticipantType(clElementParticipantId);
-
- clElement.setDefinition(clElementParticipantId);
- clElement.setState(ControlLoopState.UNINITIALISED);
- clElement.setDescription(toscaInputEntry.getValue().getDescription());
- clElement.setOrderedState(ControlLoopOrderedState.UNINITIALISED);
- elements.put(clElement.getId(), clElement);
- }
- controlLoop.setElements(elements);
- controlLoop.setName("PMSHInstance0");
- controlLoop.setVersion("1.0.0");
-
- ToscaConceptIdentifier definition = new ToscaConceptIdentifier();
- definition.setName("PMSHInstance0");
- definition.setVersion("1.0.0");
- controlLoop.setDefinition(definition);
-
- return controlLoop;
- }
-
- /**
- * Method to create ParticipantStateChange message from the arguments passed.
- *
- * @param participantState participant State
- *
- * @return ParticipantStateChange message
- */
- public static ParticipantStateChange createParticipantStateChangeMsg(final ParticipantState participantState) {
- final ParticipantStateChange participantStateChangeMsg = new ParticipantStateChange();
- ToscaConceptIdentifier participantId = new ToscaConceptIdentifier("org.onap.PM_CDS_Blueprint", "1.0.0");
-
- participantStateChangeMsg.setParticipantId(participantId);
- participantStateChangeMsg.setTimestamp(Instant.now());
- participantStateChangeMsg.setState(participantState);
-
- return participantStateChangeMsg;
- }
-
- /**
- * Method to create ControlLoopStateChange message from the arguments passed.
- *
- * @param controlLoopOrderedState controlLoopOrderedState
- *
- * @return ParticipantControlLoopStateChange message
- */
- public static ParticipantControlLoopStateChange createControlLoopStateChangeMsg(
- final ControlLoopOrderedState controlLoopOrderedState) {
- final ParticipantControlLoopStateChange participantClStateChangeMsg = new ParticipantControlLoopStateChange();
-
- ToscaConceptIdentifier controlLoopId = new ToscaConceptIdentifier("PMSHInstance0", "1.0.0");
- ToscaConceptIdentifier participantId = new ToscaConceptIdentifier("org.onap.PM_CDS_Blueprint", "1.0.0");
-
- participantClStateChangeMsg.setControlLoopId(controlLoopId);
- participantClStateChangeMsg.setParticipantId(participantId);
- participantClStateChangeMsg.setTimestamp(Instant.now());
- participantClStateChangeMsg.setOrderedState(controlLoopOrderedState);
-
- return participantClStateChangeMsg;
- }
-
- /**
- * Method to create ControlLoopUpdateMsg.
- *
- * @return ParticipantControlLoopUpdate message
- */
- public static ParticipantControlLoopUpdate createControlLoopUpdateMsg() {
- final ParticipantControlLoopUpdate clUpdateMsg = new ParticipantControlLoopUpdate();
- ToscaConceptIdentifier controlLoopId = new ToscaConceptIdentifier("PMSHInstance0", "1.0.0");
- ToscaConceptIdentifier participantId = new ToscaConceptIdentifier("org.onap.PM_CDS_Blueprint", "1.0.0");
-
- clUpdateMsg.setControlLoopId(controlLoopId);
- clUpdateMsg.setParticipantId(participantId);
- clUpdateMsg.setParticipantType(participantId);
-
- ControlLoop controlLoop = new ControlLoop();
- Map<UUID, ControlLoopElement> elements = new LinkedHashMap<>();
- ToscaServiceTemplate toscaServiceTemplate = testControlLoopRead();
- Map<String, ToscaNodeTemplate> nodeTemplatesMap =
- toscaServiceTemplate.getToscaTopologyTemplate().getNodeTemplates();
- for (Map.Entry<String, ToscaNodeTemplate> toscaInputEntry : nodeTemplatesMap.entrySet()) {
- ControlLoopElement clElement = new ControlLoopElement();
- clElement.setId(UUID.randomUUID());
-
- ToscaConceptIdentifier clElementParticipantId = new ToscaConceptIdentifier();
- clElementParticipantId.setName(toscaInputEntry.getKey());
- clElementParticipantId.setVersion(toscaInputEntry.getValue().getVersion());
- clElement.setParticipantId(clElementParticipantId);
- clElement.setParticipantType(clElementParticipantId);
-
- clElement.setDefinition(clElementParticipantId);
- clElement.setState(ControlLoopState.UNINITIALISED);
- clElement.setDescription(toscaInputEntry.getValue().getDescription());
- clElement.setOrderedState(ControlLoopOrderedState.UNINITIALISED);
- elements.put(clElement.getId(), clElement);
- }
- controlLoop.setElements(elements);
- controlLoop.setName("PMSHInstance0");
- controlLoop.setVersion("1.0.0");
- controlLoop.setDefinition(controlLoopId);
- clUpdateMsg.setControlLoop(controlLoop);
- clUpdateMsg.setControlLoopDefinition(toscaServiceTemplate);
-
- return clUpdateMsg;
- }
-
- /**
- * Method to create ParticipantControlLoopUpdate using the arguments passed.
- *
- * @param jsonFilePath the path of the controlloop content
- *
- * @return ParticipantControlLoopUpdate message
- * @throws CoderException exception while reading the file to object
- */
- public static ParticipantControlLoopUpdate createParticipantClUpdateMsgFromJson(String jsonFilePath)
- throws CoderException {
- ParticipantControlLoopUpdate participantControlLoopUpdateMsg =
- CODER.decode(new File(jsonFilePath), ParticipantControlLoopUpdate.class);
- return participantControlLoopUpdateMsg;
- }
-
- private static ToscaServiceTemplate testControlLoopRead() {
- Set<String> controlLoopDirectoryContents =
- ResourceUtils.getDirectoryContents("src/test/resources/rest/servicetemplates");
-
- boolean atLeastOneControlLoopTested = false;
- ToscaServiceTemplate toscaServiceTemplate = null;
-
- for (String controlLoopFilePath : controlLoopDirectoryContents) {
- if (!controlLoopFilePath.endsWith(".yaml")) {
- continue;
- }
- atLeastOneControlLoopTested = true;
- toscaServiceTemplate = testControlLoopYamlSerialization(controlLoopFilePath);
- }
-
- assertTrue(atLeastOneControlLoopTested);
- return toscaServiceTemplate;
- }
-
- private static ToscaServiceTemplate testControlLoopYamlSerialization(String controlLoopFilePath) {
- try {
- String controlLoopString = ResourceUtils.getResourceAsString(controlLoopFilePath);
- if (controlLoopString == null) {
- throw new FileNotFoundException(controlLoopFilePath);
- }
-
- ToscaServiceTemplate serviceTemplate = yamlTranslator.fromYaml(
- controlLoopString, ToscaServiceTemplate.class);
- return serviceTemplate;
- } catch (FileNotFoundException e) {
- LOGGER.error("cannot find YAML file", controlLoopFilePath);
- throw new IllegalArgumentException(e);
- }
- }
-}
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/rest/TestSimulationRestController.java b/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/rest/TestSimulationRestController.java
deleted file mode 100644
index 472b4beee..000000000
--- a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/rest/TestSimulationRestController.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2021 Nordix Foundation.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * 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.clamp.controlloop.participant.simulator.main.rest;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ControlLoop;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ControlLoopElement;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ControlLoopOrderedState;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.Participant;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ParticipantState;
-import org.onap.policy.clamp.controlloop.models.messages.dmaap.participant.ParticipantControlLoopUpdate;
-import org.onap.policy.clamp.controlloop.models.messages.rest.TypedSimpleResponse;
-import org.onap.policy.clamp.controlloop.participant.intermediary.comm.ControlLoopUpdateListener;
-import org.onap.policy.clamp.controlloop.participant.simulator.main.parameters.CommonTestData;
-import org.onap.policy.clamp.controlloop.participant.simulator.simulation.SimulationHandler;
-import org.onap.policy.clamp.controlloop.participant.simulator.simulation.SimulationProvider;
-import org.onap.policy.common.endpoints.event.comm.Topic.CommInfrastructure;
-import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier;
-import org.onap.policy.models.tosca.authorative.concepts.ToscaNodeTemplate;
-
-/**
- * Class to perform unit test of {@link TestSimulationRestController}.
- */
-public class TestSimulationRestController extends CommonParticipantRestServer {
-
- private static ControlLoopUpdateListener clUpdateListener;
- private static final String PARTICIPANTS_ENDPOINT = "participants";
- private static final String ELEMENTS_ENDPOINT = "elements";
- private static final CommInfrastructure INFRA = CommInfrastructure.NOOP;
- private static final String TOPIC = "my-topic";
- static CommonTestData commonTestData = new CommonTestData();
-
- /**
- * Setup before class.
- *
- */
- @BeforeClass
- public static void setUpBeforeClass() throws Exception {
- CommonParticipantRestServer.setUpBeforeClass();
- clUpdateListener = new ControlLoopUpdateListener(
- SimulationHandler.getInstance()
- .getSimulationProvider()
- .getIntermediaryApi()
- .getParticipantHandler());
- ParticipantControlLoopUpdate participantControlLoopUpdateMsg =
- TestListenerUtils.createControlLoopUpdateMsg();
- participantControlLoopUpdateMsg.getControlLoop().setOrderedState(ControlLoopOrderedState.PASSIVE);
- clUpdateListener.onTopicEvent(INFRA, TOPIC, null, participantControlLoopUpdateMsg);
- }
-
- @AfterClass
- public static void teardownAfterClass() {
- CommonParticipantRestServer.teardownAfterClass();
- }
-
- @Test
- public void testSwagger() throws Exception {
- super.testSwagger(ELEMENTS_ENDPOINT);
- }
-
- @Test
- public void testQuery_Unauthorized() throws Exception {
- Invocation.Builder invocationBuilder = super.sendNoAuthRequest(ELEMENTS_ENDPOINT);
- Response rawresp = invocationBuilder.buildGet().invoke();
- assertEquals(Response.Status.UNAUTHORIZED.getStatusCode(), rawresp.getStatus());
- }
-
- @Test
- public void testQueryParticipants() throws Exception {
- Participant participant = new Participant();
- ToscaConceptIdentifier participantId = CommonTestData.getParticipantId();
- participant.setDefinition(participantId);
- participant.setName(participantId.getName());
- participant.setVersion(participantId.getVersion());
-
- // GET REST call for querying the participants
- Invocation.Builder invocationBuilder =
- super.sendRequest(PARTICIPANTS_ENDPOINT + "/" + participant.getKey().getName()
- + "/" + participant.getVersion());
-
- Response rawresp = invocationBuilder.buildGet().invoke();
- assertEquals(Response.Status.OK.getStatusCode(), rawresp.getStatus());
- List<Participant> returnValue = rawresp.readEntity(new GenericType<List<Participant>>() {});
- assertNotNull(returnValue);
- assertThat(returnValue).hasSize(1);
- // Verify the result of GET participants with what is stored
- assertEquals(participant.getDefinition(), returnValue.get(0).getDefinition());
- }
-
- @Test
- public void testQueryControlLoopElements() throws Exception {
- // GET REST call for querying the controlLoop elements
- Invocation.Builder invocationBuilder = super.sendRequest(ELEMENTS_ENDPOINT + "/"
- + "PMSHInstance0" + "/" + "1.0.0");
-
- Response rawresp = invocationBuilder.buildGet().invoke();
- assertEquals(Response.Status.OK.getStatusCode(), rawresp.getStatus());
- Map<UUID, ControlLoopElement> returnValue =
- rawresp.readEntity(new GenericType<Map<UUID, ControlLoopElement>>() {});
- assertNotNull(returnValue);
- // Verify the result of GET controlloop elements with what is stored
- assertThat(returnValue).hasSize(1);
- returnValue.values().forEach(element -> assertEquals("org.onap.PM_CDS_Blueprint",
- element.getDefinition().getName()));
- }
-
- @Test
- public void testUpdateParticipant() throws Exception {
- SimulationProvider provider = SimulationHandler.getInstance().getSimulationProvider();
- List<Participant> participants = provider.getParticipants(CommonTestData.getParticipantId().getName(),
- CommonTestData.getParticipantId().getVersion());
- assertEquals(ParticipantState.UNKNOWN, participants.get(0).getParticipantState());
- // Change the state of the participant to PASSIVE from UNKNOWN
- participants.get(0).setParticipantState(ParticipantState.PASSIVE);
- Entity<Participant> entParticipant = Entity.entity(participants.get(0), MediaType.APPLICATION_JSON);
-
- // PUT REST call for updating Participant
- Invocation.Builder invocationBuilder = sendRequest(PARTICIPANTS_ENDPOINT);
- Response rawresp = invocationBuilder.put(entParticipant);
- TypedSimpleResponse<Participant> resp = rawresp.readEntity(TypedSimpleResponse.class);
- assertEquals(Response.Status.OK.getStatusCode(), rawresp.getStatus());
- assertNotNull(resp.getResponse());
- // Verify the response and state returned by PUT REST call for updating participants
- assertThat(resp.toString()).contains("definition={name=org.onap.PM_CDS_Blueprint, version=1.0.0}");
- assertThat(resp.toString()).contains("participantState=PASSIVE");
- }
-
- @Test
- public void testUpdateControlLoopElement() throws Exception {
- ControlLoop controlLoop = TestListenerUtils.createControlLoop();
- SimulationProvider provider = SimulationHandler.getInstance().getSimulationProvider();
- Map<UUID, ControlLoopElement> controlLoopElements = provider.getControlLoopElements(
- controlLoop.getDefinition().getName(), controlLoop.getDefinition().getVersion());
-
- for (Map.Entry<UUID, ControlLoopElement> clElement : controlLoopElements.entrySet()) {
- // Check the initial state on the ControlLoopElement, which is UNINITIALISED
- assertEquals(ControlLoopOrderedState.UNINITIALISED, clElement.getValue().getOrderedState());
- // Change the state of the ControlLoopElement to PASSIVE from UNINITIALISED
- clElement.getValue().setOrderedState(ControlLoopOrderedState.PASSIVE);
- Entity<ControlLoopElement> entClElement = Entity.entity(clElement.getValue(), MediaType.APPLICATION_JSON);
-
- // PUT REST call for updating ControlLoopElement
- Invocation.Builder invocationBuilder = sendRequest(ELEMENTS_ENDPOINT);
- Response rawresp = invocationBuilder.put(entClElement);
- TypedSimpleResponse<ControlLoopElement> resp = rawresp.readEntity(TypedSimpleResponse.class);
- assertEquals(Response.Status.OK.getStatusCode(), rawresp.getStatus());
- assertNotNull(resp.getResponse());
- // Verify the response and state returned by PUT REST call for updating participants
- assertThat(resp.toString()).contains("definition={name=org.onap.PM_CDS_Blueprint, version=1.0.0}");
- assertThat(resp.toString()).contains("orderedState=PASSIVE");
- }
- }
-}
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/startstop/TestMain.java b/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/startstop/TestMain.java
deleted file mode 100644
index 5a5ad8931..000000000
--- a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/startstop/TestMain.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2021 Nordix Foundation.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * 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.clamp.controlloop.participant.simulator.main.startstop;
-
-import static org.assertj.core.api.Assertions.assertThatCode;
-import static org.assertj.core.api.Assertions.assertThatThrownBy;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import org.junit.Test;
-import org.onap.policy.clamp.controlloop.common.exception.ControlLoopRuntimeException;
-import org.onap.policy.common.utils.resources.MessageConstants;
-
-/**
- * Class to perform unit test of {@link Main}}.
- */
-public class TestMain {
-
- @Test
- public void testMain_Help() {
- final String[] configParameters = {"-h"};
- Main main = new Main(configParameters);
- assertFalse(main.isRunning());
- }
-
- @Test
- public void testMain_Version() {
- final String[] configParameters = {"-v"};
- Main main = new Main(configParameters);
- assertFalse(main.isRunning());
- }
-
- @Test
- public void testMain_Valid() {
- final String[] configParameters = {"-c", "src/test/resources/parameters/TestParameters.json"};
- Main main = new Main(configParameters);
- assertTrue(main.isRunning());
-
- assertThatCode(() -> main.shutdown()).doesNotThrowAnyException();
-
- assertFalse(main.isRunning());
- }
-
- @Test
- public void testMain_NoParameter() {
- assertThatConfigParameterThrownException(new String[] {});
- }
-
- @Test
- public void testMain_FilePathNotDefined() {
- assertThatConfigParameterThrownException(new String[] {"-c"});
- }
-
- @Test
- public void testMain_TooManyCommand() {
- assertThatConfigParameterThrownException(new String[] {"-h", "d"});
- }
-
- @Test
- public void testMain_WrongParameter() {
- assertThatConfigParameterThrownException(new String[] {"-d"});
- }
-
- private void assertThatConfigParameterThrownException(final String[] configParameters) {
- assertThatThrownBy(() -> Main.main(configParameters)).isInstanceOf(ControlLoopRuntimeException.class)
- .hasMessage(String.format(MessageConstants.START_FAILURE_MSG, MessageConstants.POLICY_CLAMP));
- }
-
- @Test
- public void testParticipant_NoFileWithThisName() {
- assertThatConfigFileThrownException("src/test/resources/parameters/NoFileWithThisName.json");
- }
-
- @Test
- public void testParticipant_NotValidFile() {
- assertThatConfigFileThrownException("src/test/resources/parameters");
- }
-
- @Test
- public void testParticipant_FileEmpty() {
- assertThatConfigFileThrownException("src/test/resources/parameters/EmptyParameters.json");
- }
-
- @Test
- public void testParticipant_NoParameters() {
- assertThatConfigFileThrownException("src/test/resources/parameters/NoParameters.json");
- }
-
- @Test
- public void testParticipant_InvalidParameters() {
- assertThatConfigFileThrownException("src/test/resources/parameters/InvalidParameters.json");
- }
-
- private void assertThatConfigFileThrownException(final String configFilePath) {
- final String[] configParameters = new String[] {"-c", configFilePath};
- assertThatThrownBy(() -> new Main(configParameters)).isInstanceOf(ControlLoopRuntimeException.class)
- .hasMessage(String.format(MessageConstants.START_FAILURE_MSG, MessageConstants.POLICY_CLAMP));
- }
-}
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/startstop/TestParticipantSimulatorActivator.java b/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/startstop/TestParticipantSimulatorActivator.java
deleted file mode 100644
index c695d5f24..000000000
--- a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/startstop/TestParticipantSimulatorActivator.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2021 Nordix Foundation.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * 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.clamp.controlloop.participant.simulator.main.startstop;
-
-import static org.assertj.core.api.Assertions.assertThatIllegalStateException;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.onap.policy.clamp.controlloop.participant.simulator.main.parameters.CommonTestData;
-import org.onap.policy.clamp.controlloop.participant.simulator.main.parameters.ParticipantSimulatorParameterHandler;
-import org.onap.policy.clamp.controlloop.participant.simulator.main.parameters.ParticipantSimulatorParameters;
-
-/**
- * Class to perform unit test of {@link ParticipantActivator}}.
- */
-public class TestParticipantSimulatorActivator {
-
- private static ParticipantSimulatorActivator activator;
-
- /**
- * Initializes an activator.
- *
- * @throws Exception if an error occurs
- */
- @BeforeClass
- public static void setUp() throws Exception {
- final String[] participantConfigParameters = { "-c", "src/test/resources/parameters/TestParameters.json"};
- final ParticipantSimulatorCommandLineArguments arguments =
- new ParticipantSimulatorCommandLineArguments(participantConfigParameters);
- final ParticipantSimulatorParameters parGroup =
- new ParticipantSimulatorParameterHandler().getParameters(arguments);
- activator = new ParticipantSimulatorActivator(parGroup);
- }
-
- /**
- * Method for cleanup after each test.
- *
- * @throws Exception if an error occurs
- */
- @AfterClass
- public static void teardown() throws Exception {
- // shut down activator
- if (activator != null && activator.isAlive()) {
- activator.shutdown();
- }
- }
-
- @Test
- public void testParticipantActivator() {
- activator.start();
- assertTrue(activator.isAlive());
- assertTrue(activator.getParameters().isValid());
- assertEquals(CommonTestData.PARTICIPANT_GROUP_NAME, activator.getParameters().getName());
-
- // repeat - should throw an exception
- assertThatIllegalStateException().isThrownBy(() -> activator.start());
- assertTrue(activator.isAlive());
- assertTrue(activator.getParameters().isValid());
-
- activator.shutdown();
- assertFalse(activator.isAlive());
-
- // repeat - should throw an exception
- assertThatIllegalStateException().isThrownBy(() -> activator.shutdown());
- assertFalse(activator.isAlive());
- }
-}
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/resources/parameters/EmptyParameters.json b/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/resources/parameters/EmptyParameters.json
deleted file mode 100644
index e69de29bb..000000000
--- a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/resources/parameters/EmptyParameters.json
+++ /dev/null
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/resources/parameters/InvalidParameters.json b/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/resources/parameters/InvalidParameters.json
deleted file mode 100644
index 1035ccb67..000000000
--- a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/resources/parameters/InvalidParameters.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "name": "
-}
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/resources/parameters/NoParameters.json b/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/resources/parameters/NoParameters.json
deleted file mode 100644
index 7a73a41bf..000000000
--- a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/resources/parameters/NoParameters.json
+++ /dev/null
@@ -1,2 +0,0 @@
-{
-} \ No newline at end of file
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/resources/parameters/TestParameters.json b/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/resources/parameters/TestParameters.json
deleted file mode 100644
index 8c594044b..000000000
--- a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/resources/parameters/TestParameters.json
+++ /dev/null
@@ -1,61 +0,0 @@
-{
- "name": "ControlLoopParticipantGroup",
- "restServerParameters": {
- "host": "0.0.0.0",
- "port": 6969,
- "userName": "healthcheck",
- "password": "zb!XztG34",
- "https": false,
- "aaf": false
- },
- "intermediaryParameters": {
- "name": "Participant parameters",
- "reportingTimeInterval": 120000,
- "description": "Participant Description",
- "participantId": {
- "name": "org.onap.PM_CDS_Blueprint",
- "version": "1.0.0"
- },
- "participantType": {
- "name": "org.onap.PM_CDS_Blueprint",
- "version": "1.0.0"
- },
- "clampControlLoopTopics": {
- "topicSources": [
- {
- "topic": "POLICY-CLRUNTIME-PARTICIPANT",
- "servers": [
- "localhost"
- ],
- "topicCommInfrastructure": "dmaap",
- "fetchTimeout": 15000
- }
- ],
- "topicSinks": [
- {
- "topic": "POLICY-CLRUNTIME-PARTICIPANT",
- "servers": [
- "localhost"
- ],
- "topicCommInfrastructure": "dmaap"
- },
- {
- "topic": "POLICY-NOTIFICATION",
- "servers": [
- "localhost"
- ],
- "topicCommInfrastructure": "dmaap"
- }
- ]
- }
- },
- "databaseProviderParameters": {
- "name": "PolicyProviderParameterGroup",
- "implementation": "org.onap.policy.models.provider.impl.DatabasePolicyModelsProviderImpl",
- "databaseDriver": "org.h2.Driver",
- "databaseUrl": "jdbc:h2:mem:testdb",
- "databaseUser": "policy",
- "databasePassword": "P01icY",
- "persistenceUnit": "ToscaConceptTest"
- }
-}
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/resources/parameters/TestParametersStd.json b/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/resources/parameters/TestParametersStd.json
deleted file mode 100644
index 0295a8f91..000000000
--- a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/resources/parameters/TestParametersStd.json
+++ /dev/null
@@ -1,61 +0,0 @@
-{
- "name": "ControlLoopParticipantGroup",
- "restServerParameters": {
- "host": "0.0.0.0",
- "port": ${port},
- "userName": "healthcheck",
- "password": "zb!XztG34",
- "https": false,
- "aaf": false
- },
- "intermediaryParameters": {
- "name": "Participant parameters",
- "reportingTimeInterval": 120000,
- "description": "Participant Description",
- "participantId": {
- "name": "org.onap.PM_CDS_Blueprint",
- "version": "1.0.0"
- },
- "participantType": {
- "name": "org.onap.PM_CDS_Blueprint",
- "version": "1.0.0"
- },
- "clampControlLoopTopics": {
- "topicSources": [
- {
- "topic": "POLICY-CLRUNTIME-PARTICIPANT",
- "servers": [
- "localhost"
- ],
- "topicCommInfrastructure": "dmaap",
- "fetchTimeout": 15000
- }
- ],
- "topicSinks": [
- {
- "topic": "POLICY-CLRUNTIME-PARTICIPANT",
- "servers": [
- "localhost"
- ],
- "topicCommInfrastructure": "dmaap"
- },
- {
- "topic": "POLICY-NOTIFICATION",
- "servers": [
- "localhost"
- ],
- "topicCommInfrastructure": "dmaap"
- }
- ]
- }
- },
- "databaseProviderParameters": {
- "name": "PolicyProviderParameterGroup",
- "implementation": "org.onap.policy.models.provider.impl.DatabasePolicyModelsProviderImpl",
- "databaseDriver": "org.h2.Driver",
- "databaseUrl": "jdbc:h2:mem:testdb",
- "databaseUser": "policy",
- "databasePassword": "P01icY",
- "persistenceUnit": "ToscaConceptTest"
- }
-}
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/resources/parameters/Unreadable.json b/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/resources/parameters/Unreadable.json
deleted file mode 100644
index f11bd8c95..000000000
--- a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/resources/parameters/Unreadable.json
+++ /dev/null
@@ -1,81 +0,0 @@
-{
- "name": "ControlLoopRuntimeGroup",
- "restServerParameters": {
- "host": "0.0.0.0",
- "port": 6969,
- "userName": "healthcheck",
- "password": "zb!XztG34",
- "https": false,
- "aaf": false
- },
- "participantParameters": {
- "heartBeatMs": 120000,
- "updateParameters": {
- "maxRetryCount": 1,
- "maxWaitMs": 30000
- },
- "stateChangeParameters": {
- "maxRetryCount": 1,
- "maxWaitMs": 30000
- }
- },
- "databaseProviderParameters": {
- "name": "PolicyProviderParameterGroup",
- "implementation": "org.onap.policy.models.provider.impl.DatabasePolicyModelsProviderImpl",
- "databaseDriver": "org.h2.Driver",
- "databaseUrl": "jdbc:h2:mem:testdb",
- "databaseUser": "policy",
- "databasePassword": "P01icY",
- "persistenceUnit": "ToscaConceptTest"
- },
- "topicParameterGroup": {
- "topicSources": [
- {
- "topic": "POLICY-CLRUNTIME-PARTICIPANT",
- "servers": [
- "localhost"
- ],
- "topicCommInfrastructure": "dmaap",
- "fetchTimeout": 15000
- }
- ],
- "topicSinks": [
- {
- "topic": "POLICY-CLRUNTIME-PARTICIPANT",
- "servers": [
- "localhost"
- ],
- "topicCommInfrastructure": "dmaap"
- },
- {
- "topic": "POLICY-NOTIFICATION",
- "servers": [
- "localhost"
- ],
- "topicCommInfrastructure": "dmaap"
- }
- ]
- },
- "healthCheckRestClientParameters": [
- {
- "clientName": "api",
- "hostname": "policy-api",
- "port": 6969,
- "userName": "healthcheck",
- "password": "zb!XztG34",
- "useHttps": true,
- "basePath": "policy/api/v1/healthcheck"
- },
- {
- "clientName": "distribution",
- "hostname": "policy-distribution",
- "port": 6969,
- "userName": "healthcheck",
- "password": "zb!XztG34",
- "useHttps": true,
- "basePath": "healthcheck"
- }
- ]
-}
-
-
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/resources/rest/servicetemplates/pm_control_loop_tosca.yaml b/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/resources/rest/servicetemplates/pm_control_loop_tosca.yaml
deleted file mode 100644
index 99dd0ed68..000000000
--- a/tosca-controlloop/participant/participant-impl/participant-impl-simulator/src/test/resources/rest/servicetemplates/pm_control_loop_tosca.yaml
+++ /dev/null
@@ -1,452 +0,0 @@
-tosca_definitions_version: tosca_simple_yaml_1_3
-capability_types:
- org.onap.EventProducer:
- properties:
- carrier_protocol_type:
- type: string
- required: true
- constraints:
- - valid_values:
- - DMAAP_message_router
- - SOMETHING_ELSE
- - REST
- data_format:
- type: string
- required: true
- constraints:
- - valid_values:
- - JSON
- - YAML
- - JMS
- event_format:
- type: string
- required: true
- event_format_version:
- type: string
- required: false
- config_keys:
- type: list
- required: false
- entry_schema:
- type: string
- constraints:
- - valid_values:
- - all valid values should be added here
- - if not specified, events of any config key may be generated
- - 'examples for config_key: ves-measurement, ves-syslog, tca_handle_out,
- etc.'
- version: 0.0.1
- derived_from: tosca.capabilities.Root
- org.onap.EventConsumer:
- properties:
- responding_capability:
- type: string
- required: false
- carrier_protocol_type:
- type: string
- required: true
- constraints:
- - valid_values:
- - DMAAP_message_router
- - SOMETHING_ELSE
- - REST
- data_format:
- type: string
- required: true
- constraints:
- - valid_values:
- - JSON
- - YAML
- - JMS
- - all valid values should be added here
- event_format:
- type: string
- description: 'examples for event_format: Ves_specification, LinkUp, VnfConfigured,
- etc.'
- required: true
- event_format_version:
- type: string
- description: 'examples for event_format_version: 5.28.4, 7.30.1, etc.'
- required: false
- config_keys:
- type: list
- required: false
- entry_schema:
- type: string
- constraints:
- - valid_values:
- - all valid values should be added here
- - if not specified, events of any config key may be generated
- - 'examples for config_key: ves-measurement, ves-syslog, tca_handle_out,
- etc.'
- version: 0.0.1
- derived_from: tosca.capabilities.Root
-node_types:
- org.onap.DynamicConfig:
- properties:
- application_name:
- type: string
- description: Value used to tie the config to an application ? should we be
- using a relationship here instead?
- required: true
- application_version:
- type: string
- required: true
- application_provider:
- type: string
- required: false
- data_types:
- type: object
- required: false
- schema:
- type: object
- required: false
- version: 0.0.1
- derived_from: tosca.nodes.Root
- org.onap.APP:
- properties:
- application_name:
- type: string
- description: Human readable name for the application Product
- required: false
- provider:
- type: string
- description: Provider of the application and of the descriptor
- required: true
- application_version:
- type: string
- description: Software version of the application
- required: true
- blueprint_id:
- type: string
- description: A reference to the app blueprint
- required: false
- monitoring_policy:
- type: string
- description: A reference to the monitoring policy
- required: false
- requirements:
- - receive:
- capability: org.onap.EventProducer
- relationship: org.onap.PropagateEvent
- occurrences:
- - 0.0
- - UNBOUNDED
- version: 0.0.0
- - send:
- capability: org.onap.EventConsumer
- relationship: org.onap.PropagateEvent
- occurrences:
- - 0.0
- - UNBOUNDED
- version: 0.0.0
- version: 0.0.1
- derived_from: tosca.nodes.Root
- org.onap.EventRelay:
- properties:
- event_format:
- type: string
- description: 'examples for event_format: Ves_specification, etc.'
- required: true
- event_format_version:
- type: string
- description: 'examples for event_format_version: 5.28.4, 7.30.1, etc.'
- required: true
- config_keys:
- type: list
- required: false
- entry_schema:
- type: string
- constraints:
- - valid_values:
- - all valid values should be added here
- - if not specified, events of any config key is relayed
- - 'examples for config_key: ves-measurement, ves-syslog, tca_handle_out,
- etc.'
- supported_carrier_protocols:
- type: map
- description: 'A map describing supported carrier protocols and translations.
- The tuples define what protocol combinations are supported on the producer
- and consumer side: e.g. { REST: REST, DMAAP: REST, DMAAP: DMAAP}'
- required: true
- key_schema:
- type: string
- constraints:
- - valid_values:
- - DMAAP_message_router
- - SOMETHING_ELSE
- - REST
- - all valid values should be added here
- entry_schema:
- type: string
- constraints:
- - valid_values:
- - DMAAP_message_router
- - SOMETHING_ELSE
- - REST
- - all valid values should be added here
- supported_data_formats:
- type: map
- description: 'Is a map describing supported data formats and translation.
- The tuples define what protocol combinations are supported on the producer
- and consumer side: e.g. { JSON: JSON, JMS: JSON, YAML:YAML }'
- required: true
- key_schema:
- type: string
- constraints:
- - valid_values:
- - JSON
- - JMS
- - YAML
- - etc
- - all valid values should be added here
- entry_schema:
- type: string
- constraints:
- - valid_values:
- - JSON
- - JMS
- - YAML
- - etc
- - all valid values should be added here
- requirements:
- - receive:
- capability: org.onap.EventProducer
- relationship: org.onap.PropagateEvent
- occurrences:
- - 0.0
- - UNBOUNDED
- version: 0.0.0
- - send:
- capability: org.onap.EventConsumer
- relationship: org.onap.PropagateEvent
- occurrences:
- - 0.0
- - UNBOUNDED
- version: 0.0.0
- version: 0.0.1
- derived_from: tosca.nodes.Root
-relationship_types:
- org.onap.PropagateEvent:
- properties:
- config_keys:
- type: list
- description: The relationship type used on requirements to org.onap.EventProducer
- and org.onap.EventConsumer capabilities. Filters events by specific config_keys
- to be transferred by this relationship. That is, any event with a specific
- config_key found in the list is transferred. If list is not defined or is
- empty, events with all config_keys are transferred.
- required: false
- entry_schema:
- type: string
- version: 0.0.1
- derived_from: tosca.relationships.Root
-topology_template:
- inputs:
- pm_subscription_topic:
- type: string
- pm_subscription_response_topic:
- type: string
- pm_subscription_handler_blueprint_id:
- type: string
- pm_subscription_operational_policy_id:
- type: string
- pm_subscription_cds_blueprint_id:
- type: string
- enable_tls:
- type: string
- node_templates:
- org.onap.PM_Subscription_Handler:
- type: org.onap.APP
- properties:
- application_name: PM Subscription Handler
- provider: Ericsson
- application_version: 1.0.0
- artifact_id:
- get_input: pm_subscription_handler_blueprint_id
- description: Is this a reference to the DCAE Cloudify Blueprint that is
- already stored(or will be stored before CL configuration & instatiation)
- in DCAE Inventory?
- artifact_config:
- enable_tls:
- get_input: enable_tls
- pmsh_publish_topic_name:
- get_input: pm_subscription_topic
- capabilities:
- pm-subscription-event-publisher:
- properties:
- carrier_protocol_type: DMAAP_message_router
- data_format: JSON
- event_format: pm-subscription-event-format
- event_format_version: 1.0.0
- attributes:
- type: org.onap.EventProducer
- occurrences:
- - 0.0
- - UNBOUNDED
- version: 0.0.0
- pm-subscription-event-receiver:
- properties:
- carrier_protocol_type: DMAAP_message_router
- data_format: JSON
- event_format: pm-subscription-event-response-format
- event_format_version: 1.0.0
- relationships:
- - type: tosca.relationships.DependsOn
- - description: any ideas on a better realtionship ? or is it better to
- just use the root realtionship ?
- - target: org.onap.PM_Monitoring_Policy
- attributes:
- type: org.onap.EventConsumer
- occurrences:
- - 0.0
- - UNBOUNDED
- version: 0.0.0
- version: 0.0.0
- org.onap.PM_Monitoring_Policy:
- type: org.onap.DynamicConfig
- properties:
- application_name: PM Subscription Handler
- application_version: 1.0.0
- provider: Ericsson
- data_types:
- measurementType:
- type: string
- DN:
- type: string
- nfFilter:
- properties:
- nfNames:
- type: list
- entry_schema: string
- modelInvariantIDs:
- type: list
- entry_schema:
- type: string
- modelVersionIDs:
- type: list
- entry_schema:
- type: string
- measurementGroup:
- properties:
- masurementTypes:
- type: list
- entry_schema:
- type: measurementType
- managedObjectDNsBasic:
- type: list
- entry_schema:
- type: DN
- schema:
- subscription:
- subscriptionName:
- type: string
- required: true
- administrativeState:
- type: string
- required: true
- filebasedGP:
- type: integer
- required: true
- fileLocation:
- type: string
- required: true
- nfFilter:
- type: nfFilter
- measurementGroups:
- type: list
- entry_schema:
- type: measurementGroup
- version: 0.0.0
- description: Should I be showing a dependency between PM Subscription Handler
- and the PM Monitoring Policy
- org.onap.PM_Policy:
- type: org.onap.APP
- properties:
- application_name: PM Subscription Operational Policy
- provider: Ericsson
- application_version: 1.0.0
- artifact_id:
- get_input: pm_subscription_operational_policy_id
- artifact_config: NOT_DEFINED
- requirements:
- - receive_0:
- capability: pm-subscription-event-publisher
- node: org.onap.PM_Subscription_Handler
- relationship: NOT_DEFINED
- properties:
- config_keys:
- - topic_name:
- get_input: pm_subscription_topic
- version: 0.0.0
- - send_0:
- capability: cds-rest-receive
- node: org.onap.CDS
- version: 0.0.0
- - receive_1:
- capability: cds-rest-response
- node: org.onap.CDS
- version: 0.0.0
- - send_1:
- capability: pm-subscription-event-receiver
- node: org.onap.PM_Subscription_Handler
- relationship: NOT_DEFINED
- properties:
- config_keys:
- - topic_name:
- get_input: pm_subscription_response_topic
- version: 0.0.0
- capabilities:
- pm-subscription-response-event-publisher:
- properties:
- type: org.onap.EventProducer
- carrier_protocol_type: DMAAP_message_router
- data_format: JSON
- event_format: pm-subscription-event-response-format
- event_format_version: 1.0.0
- occurrences:
- - 0.0
- - UNBOUNDED
- version: 0.0.0
- version: 0.0.0
- org.onap.PM_CDS_Blueprint:
- type: org.onap.APP
- properties:
- application_name: PM Subscription CDS Blueprint
- provider: Ericsson
- application_version: 1.0.0
- artifact_id:
- get_input: pm_subscription_cds_blueprint_id
- capabilities:
- cds-rest-receive:
- properties:
- type: org.onap.EventConsumer
- protocol_type: REST
- data_format: JSON
- event_format: cds_action_format
- event_format_version: 1.0.0
- responding_capability: cds-rest-response
- occurrences:
- - 0.0
- - UNBOUNDED
- version: 0.0.0
- cds-rest-response:
- properties:
- type: org.onap.EventProducer
- protocol_type: REST
- data_format: JSON
- event_format: cds_action_response_format
- event_format_version: 1.0.0
- occurrences:
- - 0.0
- version: 0.0.0
- version: 1.0.0
- org.onap.controlloop0:
- type: org.onap.APP
- properties:
- application_name: Test Control Loop
- provider: Ericsson
- application_version: 1.0.0
- status: NOT_DEPLOYED
- version: 0.0.0
-version: 0.0.0