diff options
author | Christopher Lott (cl778h) <clott@research.att.com> | 2017-08-31 15:16:38 -0400 |
---|---|---|
committer | Christopher Lott (cl778h) <clott@research.att.com> | 2017-08-31 15:42:50 -0400 |
commit | 7f535078ef80a7b7efa3e3325bfccb994fbd00e8 (patch) | |
tree | 66d908df2eb7cf0b048f754eac6b44619255eb8a /ecomp-sdk/epsdk-core/src/main/java/org/openecomp/portalsdk/core/onboarding/ueb/Publisher.java | |
parent | 224487bc124df7988442a60d72d4aa106697306b (diff) |
Rename packages to org.onap in 1.4.0-SNAPSHOT
19 - remove openecomp
72 - remediate Sonar scan issues
79 - removed unwanted left menu under Report
90 - apply approved license text
Issue: PORTAL-19, PORTAL-72, PORTAL-79, PORTAL-90
Change-Id: I41a0ef5fba623d2242574bd15f2d9fb8029a496c
Signed-off-by: Christopher Lott (cl778h) <clott@research.att.com>
Diffstat (limited to 'ecomp-sdk/epsdk-core/src/main/java/org/openecomp/portalsdk/core/onboarding/ueb/Publisher.java')
-rw-r--r-- | ecomp-sdk/epsdk-core/src/main/java/org/openecomp/portalsdk/core/onboarding/ueb/Publisher.java | 125 |
1 files changed, 0 insertions, 125 deletions
diff --git a/ecomp-sdk/epsdk-core/src/main/java/org/openecomp/portalsdk/core/onboarding/ueb/Publisher.java b/ecomp-sdk/epsdk-core/src/main/java/org/openecomp/portalsdk/core/onboarding/ueb/Publisher.java deleted file mode 100644 index 8dbdda2b..00000000 --- a/ecomp-sdk/epsdk-core/src/main/java/org/openecomp/portalsdk/core/onboarding/ueb/Publisher.java +++ /dev/null @@ -1,125 +0,0 @@ -/*- - * ================================================================================ - * ECOMP Portal SDK - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ================================================================================ - */ -package org.openecomp.portalsdk.core.onboarding.ueb; - -import java.io.IOException; -import java.net.MalformedURLException; -import java.security.GeneralSecurityException; -import java.util.LinkedList; -import java.util.concurrent.TimeUnit; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.openecomp.portalsdk.core.onboarding.util.PortalApiConstants; - -import com.att.nsa.cambria.client.CambriaBatchingPublisher; -import com.att.nsa.cambria.client.CambriaClientBuilders; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.ObjectWriter; - -/** - * Provides a publisher that sends messages to a UEB topic. - * - * Utilizes AT&T's UEB/Cambria subscriber/publisher messaging service. - */ -public class Publisher { - - private final Log logger = LogFactory.getLog(getClass()); - - protected final LinkedList<String> urlList = Helper.uebUrlList(); - - private final String topicName; - private final String publisherKey; - private final String publisherSecret; - - /** - * Accepts coordinates needed to publish to a UEB topic. - * - * @param publisherKey - * UEB key used to publish to the topic - * @param publisherSecret - * UEB secret used to publish to the topic - * @param topicName - * UEB topic name - */ - public Publisher(String publisherKey, String publisherSecret, String topicName) { - this.publisherKey = publisherKey; - this.publisherSecret = publisherSecret; - this.topicName = topicName; - logger.info("Publisher instantiated for topic " + topicName); - } - - /** - * Creates a publisher, subscribes to the topic, sends the specified message - * to the topic, then closes the publisher. This ensures that the single - * message goes immediately. UEB is designed for high throughput and tries - * to batch up multiple messages in each send, but this method wants the - * single message to go immediately. - * - * @param uebMsg - * Message object to send as the payload. - * @throws UebException - * If anything goes wrong, including JSON serialization of the - * specified message object. - */ - public void send(UebMsg uebMsg) throws UebException { - String msg = null; - - CambriaBatchingPublisher pub; - try { - pub = new CambriaClientBuilders.PublisherBuilder() - .authenticatedBy(publisherKey, publisherSecret).usingHosts(urlList).onTopic(topicName).build(); - } catch (MalformedURLException e1) { - logger.error("pub.build Exception ", e1); - throw new UebException(PortalApiConstants.ECOMP_UEB_UNKNOWN_PUBLISH_ERROR, e1, topicName, null, msg); - } catch (GeneralSecurityException e1) { - logger.error("pub.build Exception ", e1); - throw new UebException(PortalApiConstants.ECOMP_UEB_UNKNOWN_PUBLISH_ERROR, e1, topicName, null, msg); - } - - try { - ObjectWriter mapper = new ObjectMapper().writer().withDefaultPrettyPrinter(); - msg = mapper.writeValueAsString(uebMsg); - } catch (JsonProcessingException e) { - throw new UebException(PortalApiConstants.ECOMP_UEB_INVALID_MSG, topicName, null, null); - } - - try { - logger.debug("Publishing to " + topicName + " msg: " + msg); - int NumSent = pub.send(PortalApiConstants.ECOMP_GENERAL_UEB_PARTITION, msg); - if (NumSent == 0) { - throw new UebException(PortalApiConstants.ECOMP_UEB_UNKNOWN_PUBLISH_ERROR, topicName, null, msg); - } - } catch (IOException ex) { - logger.error("Failed to publish", ex); - throw new UebException(PortalApiConstants.ECOMP_UEB_UNKNOWN_PUBLISH_ERROR, ex, topicName, null, msg); - } - - try { - // close the publisher to make sure everything's sent before exiting - pub.close(5, TimeUnit.SECONDS); - } catch (Exception ex) { - logger.error("pub.close Exception ", ex); - throw new UebException(PortalApiConstants.ECOMP_UEB_UNKNOWN_PUBLISH_ERROR, ex, topicName, null, msg); - } - - } -}
\ No newline at end of file |