X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fonap%2Faai%2Fmodelloader%2Fnotification%2FNotificationPublisher.java;h=7d5b1cc5c33ea02a9977ecb7c48dd5743d28005a;hb=refs%2Fheads%2Fmaster;hp=967a290abe5e80e7347043007652e3b9b7d9cb1f;hpb=6e4f04afea4c2d07fdd9c15eda38438c7baeb308;p=aai%2Fmodel-loader.git diff --git a/src/main/java/org/onap/aai/modelloader/notification/NotificationPublisher.java b/src/main/java/org/onap/aai/modelloader/notification/NotificationPublisher.java index 967a290..7d5b1cc 100644 --- a/src/main/java/org/onap/aai/modelloader/notification/NotificationPublisher.java +++ b/src/main/java/org/onap/aai/modelloader/notification/NotificationPublisher.java @@ -1,5 +1,5 @@ /** - * ============LICENSE_START======================================================= + * ============LICENSE_START======================================================= * org.onap.aai * ================================================================================ * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved. @@ -20,8 +20,9 @@ */ package org.onap.aai.modelloader.notification; -import java.io.FileInputStream; import java.io.IOException; +import java.io.InputStream; +import java.nio.file.Files; import java.time.ZonedDateTime; import java.time.format.DateTimeFormatter; import java.util.Properties; @@ -37,11 +38,13 @@ import org.onap.sdc.api.notification.INotificationData; import org.onap.sdc.api.results.IDistributionClientResult; import org.onap.sdc.utils.DistributionActionResultEnum; import org.onap.sdc.utils.DistributionStatusEnum; +import org.springframework.stereotype.Component; /** * This class is responsible for publishing the status of actions performed working with artifacts. */ -class NotificationPublisher { +@Component +public class NotificationPublisher { private static Logger logger = LoggerFactory.getInstance().getLogger(NotificationPublisher.class); private static Logger metricsLogger = LoggerFactory.getInstance().getMetricsLogger(NotificationPublisher.class); @@ -50,8 +53,8 @@ class NotificationPublisher { public NotificationPublisher() { Properties configProperties = new Properties(); - try { - configProperties.load(new FileInputStream(ModelLoaderConfig.propertiesFile())); + try (InputStream configInputStream = Files.newInputStream(ModelLoaderConfig.propertiesFile())) { + configProperties.load(configInputStream); } catch (IOException e) { String errorMsg = "Failed to load configuration: " + e.getMessage(); logger.error(ModelLoaderMsgs.DISTRIBUTION_EVENT_ERROR, e, errorMsg); @@ -141,28 +144,10 @@ class NotificationPublisher { * @param data data about the notification that resulted in this message being created * @param artifact the specific artifact to have its deployment status reported on */ - void publishDeployFailure(IDistributionClient client, INotificationData data, IArtifactInfo artifact) { + public void publishDeployFailure(IDistributionClient client, INotificationData data, IArtifactInfo artifact) { publishDeployStatus(client, data, artifact, DistributionStatusEnum.DEPLOY_ERROR, "failure"); } - private void publishDeployStatus(IDistributionClient client, INotificationData data, IArtifactInfo artifact, - DistributionStatusEnum distributionStatusEnum, String result) { - if (publishingEnabled) { - MdcOverride override = initMDCStartTime(); - - IDistributionClientResult sendStatus = client.sendDeploymentStatus( - DistributionStatusMessageBuilder.build(client, data, artifact, distributionStatusEnum)); - metricsLogger.info(ModelLoaderMsgs.EVENT_PUBLISHED, null, override, "deploy " + result, - artifact.getArtifactName(), sendStatus.getDistributionActionResult().toString()); - - if (sendStatus.getDistributionActionResult() != DistributionActionResultEnum.SUCCESS) { - logger.error(ModelLoaderMsgs.DISTRIBUTION_EVENT_ERROR, - "Failed to publish deploy " + result + " status: " + sendStatus.getDistributionMessageResult()); - } - } else { - logPublishingDisabled(distributionStatusEnum.toString(), result); - } - } /** * This method is responsible for publishing notification that the deployment of an artifact was succesful. @@ -171,11 +156,11 @@ class NotificationPublisher { * @param data data about the notification that resulted in this message being created * @param artifact the specific artifact to have its deployment status reported on */ - void publishDeploySuccess(IDistributionClient client, INotificationData data, IArtifactInfo artifact) { + public void publishDeploySuccess(IDistributionClient client, INotificationData data, IArtifactInfo artifact) { publishDeployStatus(client, data, artifact, DistributionStatusEnum.DEPLOY_OK, "success"); } - void publishComponentSuccess(IDistributionClient client, INotificationData data) { + public void publishComponentSuccess(IDistributionClient client, INotificationData data) { if (publishingEnabled) { MdcOverride override = initMDCStartTime(); @@ -194,7 +179,7 @@ class NotificationPublisher { } } - void publishComponentFailure(IDistributionClient client, INotificationData data, String errorReason) { + public void publishComponentFailure(IDistributionClient client, INotificationData data, String errorReason) { if (publishingEnabled) { MdcOverride override = initMDCStartTime(); @@ -214,6 +199,25 @@ class NotificationPublisher { } } + private void publishDeployStatus(IDistributionClient client, INotificationData data, IArtifactInfo artifact, + DistributionStatusEnum distributionStatusEnum, String result) { + if (publishingEnabled) { + MdcOverride override = initMDCStartTime(); + + IDistributionClientResult sendStatus = client.sendDeploymentStatus( + DistributionStatusMessageBuilder.build(client, data, artifact, distributionStatusEnum)); + metricsLogger.info(ModelLoaderMsgs.EVENT_PUBLISHED, null, override, "deploy " + result, + artifact.getArtifactName(), sendStatus.getDistributionActionResult().toString()); + + if (sendStatus.getDistributionActionResult() != DistributionActionResultEnum.SUCCESS) { + logger.error(ModelLoaderMsgs.DISTRIBUTION_EVENT_ERROR, + "Failed to publish deploy " + result + " status: " + sendStatus.getDistributionMessageResult()); + } + } else { + logPublishingDisabled(distributionStatusEnum.toString(), result); + } + } + private void logPublishingDisabled(String statusType, String message) { logger.info(ModelLoaderMsgs.DISTRIBUTION_EVENT, "Notification publishing is disabled, skipping publishing of the following status: " + statusType