Add Control Loop Related Attrs
[holmes/common.git] / holmes-actions / src / main / java / org / onap / holmes / common / dmaap / DmaapService.java
index 05b3583..f414341 100644 (file)
@@ -27,6 +27,7 @@ import org.onap.holmes.common.aai.entity.RelationshipList.RelationshipData;
 import org.onap.holmes.common.aai.entity.VmEntity;
 import org.onap.holmes.common.aai.entity.VnfEntity;
 import org.onap.holmes.common.api.stat.VesAlarm;
+import org.onap.holmes.common.dcae.DcaeConfigurationsCache;
 import org.onap.holmes.common.dmaap.entity.PolicyMsg;
 import org.onap.holmes.common.dmaap.entity.PolicyMsg.EVENT_STATUS;
 import org.onap.holmes.common.exception.CorrelationException;
@@ -37,21 +38,24 @@ import org.onap.holmes.common.utils.JacksonUtil;
 public class DmaapService {
 
     public static final int POLICY_MESSAGE_ABATED = 1;
+
     @Inject
     private AaiQuery aaiQuery;
-    @Inject
-    private Publisher publisher;
 
     public static ConcurrentHashMap<String, String> loopControlNames = new ConcurrentHashMap<>();
 
-    public void publishPolicyMsg(PolicyMsg policyMsg) {
+    public void publishPolicyMsg(PolicyMsg policyMsg, String dmaapConfigKey) {
         try {
+            Publisher publisher = new Publisher();
+            publisher.setUrl(DcaeConfigurationsCache.getPubSecInfo(dmaapConfigKey).getDmaapInfo().getTopicUrl());
             publisher.publish(policyMsg);
             log.info("send policyMsg: " + JacksonUtil.beanToJson(policyMsg));
         } catch (CorrelationException e) {
             log.error("Failed to publish policyMsg to dmaap", e.getMessage());
         } catch (JsonProcessingException e) {
             log.info("Failed to convert policyMsg to json");
+        } catch (NullPointerException e) {
+            log.error("DMaaP configurations does not exist!");
         }
     }