APEX-PDP remove supported policy types from heartbeat 16/99216/1
authora.sreekumar <ajith.sreekumar@est.tech>
Thu, 5 Dec 2019 16:01:40 +0000 (16:01 +0000)
committera.sreekumar <ajith.sreekumar@est.tech>
Thu, 5 Dec 2019 16:01:46 +0000 (16:01 +0000)
Change-Id: Iafd2e2625cfabd89480ca1807eb1607788b30899
Issue-ID: POLICY-2235
Signed-off-by: a.sreekumar <ajith.sreekumar@est.tech>
services/services-onappf/src/main/java/org/onap/policy/apex/services/onappf/ApexStarterActivator.java
services/services-onappf/src/main/java/org/onap/policy/apex/services/onappf/handler/PdpMessageHandler.java

index affbf39..ec2f5b3 100644 (file)
@@ -36,10 +36,12 @@ 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;
+import org.onap.policy.common.utils.network.NetworkUtil;
 import org.onap.policy.common.utils.services.Registry;
 import org.onap.policy.common.utils.services.ServiceManager;
 import org.onap.policy.common.utils.services.ServiceManagerException;
 import org.onap.policy.models.pdp.enums.PdpMessageType;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyTypeIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -75,6 +77,9 @@ public class ApexStarterActivator {
     @Setter(lombok.AccessLevel.PRIVATE)
     private volatile boolean alive = false;
 
+    @Getter
+    private List<ToscaPolicyTypeIdentifier> supportedPolicyTypes;
+
     /**
      * Instantiate the activator for onappf PDP-A.
      *
@@ -88,10 +93,8 @@ public class ApexStarterActivator {
         topicSources = TopicEndpointManager.getManager()
                         .addTopicSources(apexStarterParameterGroup.getTopicParameterGroup().getTopicSources());
 
-        // TODO: instanceId currently set as a random string, could be fetched from actual deployment
-        final int random = (int) (Math.random() * 100);
-        final String instanceId = "apex_" + random;
-        LOGGER.debug("ApexStarterActivator initializing with instance id:" + instanceId);
+        final String instanceId = NetworkUtil.getHostname();
+        LOGGER.debug("ApexStarterActivator initializing with instance id: {}", instanceId);
         try {
             this.apexStarterParameterGroup = apexStarterParameterGroup;
             this.msgDispatcher = new MessageTypeDispatcher(MSG_TYPE_NAMES);
@@ -101,6 +104,10 @@ public class ApexStarterActivator {
 
         final PdpUpdateListener pdpUpdateListener = new PdpUpdateListener();
         final PdpStateChangeListener pdpStateChangeListener = new PdpStateChangeListener();
+        final PdpMessageHandler pdpMessageHandler = new PdpMessageHandler();
+        supportedPolicyTypes =
+            pdpMessageHandler.getSupportedPolicyTypesFromParameters(apexStarterParameterGroup.getPdpStatusParameters());
+
         // @formatter:off
         this.manager = new ServiceManager()
                 .addAction("topics",
@@ -111,7 +118,7 @@ public class ApexStarterActivator {
                     () -> setAlive(false))
                 .addAction("register pdp status context object",
                     () -> Registry.register(ApexStarterConstants.REG_PDP_STATUS_OBJECT,
-                                new PdpMessageHandler().createPdpStatusFromParameters(instanceId,
+                                pdpMessageHandler.createPdpStatusFromParameters(instanceId,
                                         apexStarterParameterGroup.getPdpStatusParameters())),
                     () -> Registry.unregister(ApexStarterConstants.REG_PDP_STATUS_OBJECT))
                 .addAction("topic sinks",
index b1f38d6..697f3d4 100644 (file)
@@ -59,7 +59,6 @@ public class PdpMessageHandler {
         pdpStatus.setHealthy(PdpHealthStatus.HEALTHY);
         pdpStatus.setDescription(pdpStatusParameters.getDescription());
         pdpStatus.setName(instanceId);
-        pdpStatus.setSupportedPolicyTypes(getSupportedPolicyTypesFromParameters(pdpStatusParameters));
         return pdpStatus;
     }
 
@@ -69,7 +68,7 @@ public class PdpMessageHandler {
      * @param pdpStatusParameters pdp status parameters
      * @return supportedPolicyTypes list of PolicyTypeIdent
      */
-    private List<ToscaPolicyTypeIdentifier> getSupportedPolicyTypesFromParameters(
+    public List<ToscaPolicyTypeIdentifier> getSupportedPolicyTypesFromParameters(
             final PdpStatusParameters pdpStatusParameters) {
         final List<ToscaPolicyTypeIdentifier> supportedPolicyTypes =
                 new ArrayList<>(pdpStatusParameters.getSupportedPolicyTypes().size());
@@ -94,7 +93,6 @@ public class PdpMessageHandler {
         pdpStatus.setState(pdpStatusContext.getState());
         pdpStatus.setHealthy(pdpStatusContext.getHealthy());
         pdpStatus.setDescription(pdpStatusContext.getDescription());
-        pdpStatus.setSupportedPolicyTypes(pdpStatusContext.getSupportedPolicyTypes());
         pdpStatus.setPolicies(pdpStatusContext.getPolicies());
         pdpStatus.setPdpGroup(pdpStatusContext.getPdpGroup());
         pdpStatus.setPdpSubgroup(pdpStatusContext.getPdpSubgroup());