X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=ECOMP-PDP-REST%2Fsrc%2Fmain%2Fjava%2Forg%2Fopenecomp%2Fpolicy%2Fpdp%2Frest%2Fnotifications%2FNotificationServer.java;h=55ab760af8fa2112abdc6f3016493f4e37a142fe;hb=e92ff832cf993db876f22b2d27562fedf59f5043;hp=21fb8f3c9b1497852e4a6f1172e601eccfcb3cc2;hpb=570290dc6ba8198e653022c2f6f8e5d01cfa8d1b;p=policy%2Fengine.git diff --git a/ECOMP-PDP-REST/src/main/java/org/openecomp/policy/pdp/rest/notifications/NotificationServer.java b/ECOMP-PDP-REST/src/main/java/org/openecomp/policy/pdp/rest/notifications/NotificationServer.java index 21fb8f3c9..55ab760af 100644 --- a/ECOMP-PDP-REST/src/main/java/org/openecomp/policy/pdp/rest/notifications/NotificationServer.java +++ b/ECOMP-PDP-REST/src/main/java/org/openecomp/policy/pdp/rest/notifications/NotificationServer.java @@ -42,6 +42,7 @@ import org.openecomp.policy.common.logging.eelf.MessageCodes; import org.openecomp.policy.common.logging.eelf.PolicyLogger; import org.openecomp.policy.common.logging.flexlogger.FlexLogger; import org.openecomp.policy.common.logging.flexlogger.Logger; +import org.openecomp.policy.pdp.rest.api.services.NotificationService; import org.openecomp.policy.rest.XACMLRestProperties; import org.openecomp.policy.utils.BusPublisher; import org.openecomp.policy.xacml.api.XACMLErrorConstants; @@ -63,7 +64,7 @@ import com.att.research.xacml.util.XACMLProperties; @ServerEndpoint(value = "/notifications") public class NotificationServer { private static final Logger LOGGER = FlexLogger.getLogger(NotificationServer.class); - private static Queue queue = new ConcurrentLinkedQueue(); + private static Queue queue = new ConcurrentLinkedQueue<>(); private static String update = null; private static String hosts = null; private static URL aURL = null; @@ -104,7 +105,7 @@ public class NotificationServer { LOGGER.debug("Notification set to " + propNotificationType); if (propNotificationType.equals("ueb")){ - + String topic = null; try { aURL = new URL(pdpURL); @@ -118,7 +119,7 @@ public class NotificationServer { hosts = XACMLProperties.getProperty(XACMLRestProperties.PROP_NOTIFICATION_SERVERS); String apiKey = XACMLProperties.getProperty(XACMLRestProperties.PROP_UEB_API_KEY); String apiSecret = XACMLProperties.getProperty(XACMLRestProperties.PROP_UEB_API_SECRET); - + LOGGER.debug("Creating Publisher for host: " + hosts + " with topic: " + topic); CambriaBatchingPublisher pub = null; try { @@ -126,7 +127,7 @@ public class NotificationServer { LOGGER.error(XACMLErrorConstants.ERROR_DATA_ISSUE + "UEB properties are missing from the property file "); throw new Exception(XACMLErrorConstants.ERROR_DATA_ISSUE + "UEB properties are missing from the property file "); } - + hosts.trim(); topic.trim(); apiKey.trim(); @@ -136,8 +137,8 @@ public class NotificationServer { .onTopic ( topic ) .authenticatedBy ( apiKey, apiSecret ) .build () - ; - + ; + } catch (MalformedURLException e1) { LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error creating the UEB publisher" + e1.getMessage()); } catch (GeneralSecurityException e1) { @@ -147,7 +148,7 @@ public class NotificationServer { try { pub.send( "MyPartitionKey", notification ); } catch (IOException e) { - LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error sending notification update" + e.getMessage() + e); + LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error sending notification update" + e.getMessage()); } // close the publisher. The batching publisher does not send events // immediately, so you MUST use close to send any remaining messages. @@ -156,7 +157,7 @@ public class NotificationServer { // they're returned to your app. You could, for example, persist to disk // and try again later. final List stuck = pub.close ( 20, TimeUnit.SECONDS ); - + if (!stuck.isEmpty()){ LOGGER.error( stuck.size() + " messages unsent" ); }else{ @@ -184,7 +185,7 @@ public class NotificationServer { List dmaapList = null; if(dmaapServers.contains(",")) { - dmaapList = new ArrayList(Arrays.asList(dmaapServers.split("\\s*,\\s*"))); + dmaapList = new ArrayList<>(Arrays.asList(dmaapServers.split("\\s*,\\s*"))); } else { dmaapList = new ArrayList<>(); dmaapList.add(dmaapServers); @@ -213,9 +214,11 @@ public class NotificationServer { LOGGER.info(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error in sending the Event Notification: "+ e.getMessage()); } } + NotificationService.sendNotification(notification); } - + public static void setUpdate(String update) { NotificationServer.update = update; } + }