/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2019 Nordix Foundation.
- * Modifications Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 2019-2021 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
package org.onap.policy.models.sim.pdp;
import java.util.List;
-import java.util.Properties;
import java.util.Random;
import lombok.Getter;
import lombok.Setter;
-import org.onap.policy.common.endpoints.event.comm.TopicEndpoint;
+import org.onap.policy.common.endpoints.event.comm.TopicEndpointManager;
import org.onap.policy.common.endpoints.event.comm.TopicSink;
import org.onap.policy.common.endpoints.event.comm.TopicSource;
import org.onap.policy.common.endpoints.listeners.MessageTypeDispatcher;
private static final Logger LOGGER = LoggerFactory.getLogger(PdpSimulatorActivator.class);
private final PdpSimulatorParameterGroup pdpSimulatorParameterGroup;
- private List<TopicSink> topicSinks;// topics to which pdp sends pdp status
- private List<TopicSource> topicSources; // topics to which pdp listens to for messages from pap.
+ private final List<TopicSink> topicSinks; // topics to which pdp sends pdp status
+ private final List<TopicSource> topicSources; // topics to which pdp listens to for messages from pap.
private static final String[] MSG_TYPE_NAMES = { "messageName" };
- private static final Random RANDOM = new Random();
+
+ /*
+ * This simulator is only used for testing. Consequently, it is safe to use a simple
+ * random number generator, thus the sonar is disabled.
+ */
+ private static final Random RANDOM = new Random(); // NOSONAR
/**
* Listens for messages on the topic, decodes them into a message, and then dispatches them.
/**
* Used to manage the services.
*/
- private ServiceManager manager;
+ private final ServiceManager manager;
@Getter
* Instantiate the activator for onappf PDP-A.
*
* @param pdpSimulatorParameterGroup the parameters for the onappf PDP-A service
- * @param topicProperties properties used to configure the topics
*/
- public PdpSimulatorActivator(final PdpSimulatorParameterGroup pdpSimulatorParameterGroup,
- final Properties topicProperties) {
+ public PdpSimulatorActivator(final PdpSimulatorParameterGroup pdpSimulatorParameterGroup) {
- topicSinks = TopicEndpoint.manager.addTopicSinks(topicProperties);
- topicSources = TopicEndpoint.manager.addTopicSources(topicProperties);
+ topicSinks = TopicEndpointManager.getManager()
+ .addTopicSinks(pdpSimulatorParameterGroup.getTopicParameterGroup().getTopicSinks());
+ topicSources = TopicEndpointManager.getManager()
+ .addTopicSources(pdpSimulatorParameterGroup.getTopicParameterGroup().getTopicSources());
- final int random = RANDOM.nextInt();
+ final var random = RANDOM.nextInt();
final String instanceId = "pdp_" + random;
LOGGER.debug("PdpSimulatorActivator initializing with instance id: {}", instanceId);
try {
throw new PdpSimulatorRunTimeException(e);
}
- final PdpUpdateListener pdpUpdateListener = new PdpUpdateListener();
- final PdpStateChangeListener pdpStateChangeListener = new PdpStateChangeListener();
+ final var pdpUpdateListener = new PdpUpdateListener();
+ final var pdpStateChangeListener = new PdpStateChangeListener();
// @formatter:off
this.manager = new ServiceManager()
.addAction("topics",
- TopicEndpoint.manager::start,
- TopicEndpoint.manager::shutdown)
+ TopicEndpointManager.getManager()::start,
+ TopicEndpointManager.getManager()::shutdown)
.addAction("set alive",
() -> setAlive(true),
() -> setAlive(false))
* Method to stop and unregister the pdp status publisher.
*/
private void stopAndRemovePdpStatusPublisher() {
- final PdpStatusPublisher pdpStatusPublisher =
+ final var pdpStatusPublisher =
Registry.get(PdpSimulatorConstants.REG_PDP_STATUS_PUBLISHER, PdpStatusPublisher.class);
pdpStatusPublisher.terminate();
Registry.unregister(PdpSimulatorConstants.REG_PDP_STATUS_PUBLISHER);
throw new IllegalStateException("activator is not running");
}
try {
- final PdpStatusPublisher pdpStatusPublisher =
+ final var pdpStatusPublisher =
Registry.get(PdpSimulatorConstants.REG_PDP_STATUS_PUBLISHER, PdpStatusPublisher.class);
// send a final heartbeat with terminated status
pdpStatusPublisher.send(new PdpMessageHandler().getTerminatedPdpStatus());