summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/onap/pomba/contextaggregator/publisher/EventPublisherFactory.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/onap/pomba/contextaggregator/publisher/EventPublisherFactory.java')
-rw-r--r--src/main/java/org/onap/pomba/contextaggregator/publisher/EventPublisherFactory.java77
1 files changed, 77 insertions, 0 deletions
diff --git a/src/main/java/org/onap/pomba/contextaggregator/publisher/EventPublisherFactory.java b/src/main/java/org/onap/pomba/contextaggregator/publisher/EventPublisherFactory.java
new file mode 100644
index 0000000..588603c
--- /dev/null
+++ b/src/main/java/org/onap/pomba/contextaggregator/publisher/EventPublisherFactory.java
@@ -0,0 +1,77 @@
+/*
+ * ============LICENSE_START===================================================
+ * Copyright (c) 2018 Amdocs
+ * ============================================================================
+ * 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.
+ * ============LICENSE_END=====================================================
+ */
+package org.onap.pomba.contextaggregator.publisher;
+
+import java.util.Properties;
+import com.att.nsa.mr.client.MRBatchingPublisher;
+import com.att.nsa.mr.client.impl.MRConsumerImpl;
+import com.att.nsa.mr.client.impl.MRSimplerBatchPublisher;
+
+public class EventPublisherFactory {
+
+ private String host;
+ private String topic;
+ private String motsid;
+ private String pass;
+ private int batchSize;
+ private int maxAge;
+ private int delay;
+ private String type;
+ private String partition;
+ private int retries;
+
+
+ public EventPublisherFactory(String host, String topic, String motsid, String pass, int batchSize, int maxAge,
+ int delay, String type, String partition, int retries) {
+ this.host = host;
+ this.topic = topic;
+ this.motsid = motsid;
+ this.pass = pass;
+ this.batchSize = batchSize;
+ this.maxAge = maxAge;
+ this.delay = delay;
+ this.type = type;
+ this.partition = partition;
+ this.retries = retries;
+ }
+
+ public String getPartition() {
+ return partition;
+ }
+
+ public int getRetries() {
+ return retries;
+ }
+
+ public MRBatchingPublisher createPublisher() {
+ final MRSimplerBatchPublisher publisher =
+ new MRSimplerBatchPublisher.Builder().againstUrls(MRConsumerImpl.stringToList(host)).onTopic(topic)
+ .batchTo(batchSize, maxAge).httpThreadTime(delay).build();
+ publisher.setUsername(motsid);
+ publisher.setPassword(pass);
+ publisher.setProtocolFlag(type);
+
+ final Properties extraProps = new Properties();
+ extraProps.put("Protocol", "http");
+ extraProps.put("contenttype", "application/json");
+ publisher.setProps(extraProps);
+
+ return publisher;
+ }
+
+}