diff options
Diffstat (limited to 'dcae-analytics-cdap-plugins/src/main/java/org/onap/dcae/apod/analytics/cdap/plugins/domain/config/dmaap')
3 files changed, 394 insertions, 0 deletions
diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/onap/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/BaseDMaaPMRPluginConfig.java b/dcae-analytics-cdap-plugins/src/main/java/org/onap/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/BaseDMaaPMRPluginConfig.java new file mode 100644 index 0000000..276c9a1 --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/main/java/org/onap/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/BaseDMaaPMRPluginConfig.java @@ -0,0 +1,159 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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.dcae.apod.analytics.cdap.plugins.domain.config.dmaap; + +import co.cask.cdap.api.annotation.Description; +import co.cask.cdap.api.annotation.Macro; +import com.google.common.base.Objects; +import org.onap.dcae.apod.analytics.cdap.common.settings.CDAPBasePluginConfig; + +import javax.annotation.Nullable; + +/** + * Base class for all DMaaP MR Configs + * <p> + * @author Rajiv Singla . Creation Date: 1/17/2017. + */ +public abstract class BaseDMaaPMRPluginConfig extends CDAPBasePluginConfig { + + @Description("DMaaP Message Router HostName") + @Macro + protected String hostName; + + @Description("DMaaP Message Router Host Port number. Defaults to Port 80") + @Nullable + @Macro + protected Integer portNumber; + + @Description("DMaaP Message Router Topic Name") + @Macro + protected String topicName; + + @Description("DMaaP Message Router HTTP Protocol e.g. HTTP or HTTPS. Defaults to HTTPS") + @Nullable + @Macro + protected String protocol; + + @Description("DMaaP Message Router User Name used for AAF Authentication. Defaults to no authentication") + @Nullable + @Macro + protected String userName; + + @Description("DMaaP Message Router User Password used for AAF Authentication. Defaults to no authentication") + @Nullable + @Macro + protected String userPassword; + + @Description("DMaaP Message Router Content Type. Defaults to 'application/json'") + @Nullable + @Macro + protected String contentType; + + + public BaseDMaaPMRPluginConfig(final String referenceName, final String hostName, final String topicName) { + this.referenceName = referenceName; + this.hostName = hostName; + this.topicName = topicName; + } + + /** + * Host Name for DMaaP MR Publisher or Subscriber + * + * @return host name + */ + public String getHostName() { + return hostName; + } + + /** + * Port Number for DMaaP MR Publisher or Subscriber + * + * @return port number + */ + @Nullable + public Integer getPortNumber() { + return portNumber; + } + + /** + * DMaaP MR Topic Name for Subscriber or Publisher + * + * @return topic name + */ + public String getTopicName() { + return topicName; + } + + + /** + * DMaaP MR HTTP or HTTPS protocol + * + * @return http or https protocol + */ + @Nullable + public String getProtocol() { + return protocol; + } + + /** + * User name used for DMaaP MR AAF Authentication + * + * @return User name for DMaaP MR AAF Authentication + */ + @Nullable + public String getUserName() { + return userName; + } + + /** + * User password used for DMaaP MR AAF Authentication + * + * @return User password used for DMaaP MR AAF Authentication + */ + @Nullable + public String getUserPassword() { + return userPassword; + } + + /** + * Content type used for DMaaP MR Topic e.g. 'application/json' + * + * @return content type for DMaaP MR Topic + */ + @Nullable + public String getContentType() { + return contentType; + } + + @Override + public String toString() { + return Objects.toStringHelper(this) + .add("referenceName", referenceName) + .add("hostName", hostName) + .add("portNumber", portNumber) + .add("topicName", topicName) + .add("protocol", protocol) + .add("userName", userName) + .add("userPassword", "xxxx") + .add("contentType", contentType) + .toString(); + } +} diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/onap/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/DMaaPMRSinkPluginConfig.java b/dcae-analytics-cdap-plugins/src/main/java/org/onap/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/DMaaPMRSinkPluginConfig.java new file mode 100644 index 0000000..5b03644 --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/main/java/org/onap/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/DMaaPMRSinkPluginConfig.java @@ -0,0 +1,101 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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.dcae.apod.analytics.cdap.plugins.domain.config.dmaap; + +import co.cask.cdap.api.annotation.Description; +import co.cask.cdap.api.annotation.Macro; +import com.google.common.base.Objects; + +import javax.annotation.Nullable; + +/** + * DMaaP MR Publisher Config + * <p> + * @author Rajiv Singla . Creation Date: 1/17/2017. + */ +public class DMaaPMRSinkPluginConfig extends BaseDMaaPMRPluginConfig { + + private static final long serialVersionUID = 1L; + + @Description("Column name of input schema which contains the message that needs to be written to DMaaP MR Topic") + @Macro + protected String messageColumnName; + + @Description("DMaaP MR Publisher Max Batch Size. Defaults to no Batch") + @Nullable + @Macro + protected Integer maxBatchSize; + + @Description("DMaaP MR Publisher Recovery Queue Size. Default to 1000K messages which can be buffered in memory " + + "in case DMaaP MR Publisher is temporarily unavailable") + @Nullable + @Macro + protected Integer maxRecoveryQueueSize; + + // Required No Arg constructor + public DMaaPMRSinkPluginConfig() { + this(null, null, null, null); + } + + public DMaaPMRSinkPluginConfig(String referenceName, String hostName, String topicName, String messageColumnName) { + super(referenceName, hostName, topicName); + this.messageColumnName = messageColumnName; + } + + /** + * Column name of incoming Schema field that contains the message that needs to published to DMaaP MR Topic + * + * @return Column name of incoming schema which contains message that needs to published to DMaaP MR Topic + */ + public String getMessageColumnName() { + return messageColumnName; + } + + /** + * DMaaP MR Publisher Max Batch Size. + * + * @return DMaaP MR Publisher Max Batch Size + */ + @Nullable + public Integer getMaxBatchSize() { + return maxBatchSize; + } + + /** + * DMaaP MR Publisher Max Recovery Queue Size + * + * @return DMaaP MR Publisher Max Recovery Queue Size + */ + @Nullable + public Integer getMaxRecoveryQueueSize() { + return maxRecoveryQueueSize; + } + + @Override + public String toString() { + return Objects.toStringHelper(this) + .add("super", super.toString()) + .add("messageColumnName", messageColumnName) + .add("maxBatchSize", maxBatchSize) + .add("maxRecoveryQueueSize", maxRecoveryQueueSize) + .toString(); + } +} diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/onap/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/DMaaPMRSourcePluginConfig.java b/dcae-analytics-cdap-plugins/src/main/java/org/onap/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/DMaaPMRSourcePluginConfig.java new file mode 100644 index 0000000..b1aa3dc --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/main/java/org/onap/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/DMaaPMRSourcePluginConfig.java @@ -0,0 +1,134 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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.dcae.apod.analytics.cdap.plugins.domain.config.dmaap; + +import co.cask.cdap.api.annotation.Description; +import co.cask.cdap.api.annotation.Macro; +import com.google.common.base.Objects; + +import javax.annotation.Nullable; + +/** + * DMaaP MR Subscriber Config + * <p> + * @author Rajiv Singla . Creation Date: 1/17/2017. + */ +public class DMaaPMRSourcePluginConfig extends BaseDMaaPMRPluginConfig { + + private static final long serialVersionUID = 1L; + + @Description("DMaaP MR Polling Interval in MS") + @Macro + protected Integer pollingInterval; + + @Description("DMaaP Message Router Subscriber Consumer ID. Defaults to some randomly created userID") + @Nullable + @Macro + protected String consumerId; + + @Description("DMaaP Message Router Subscriber Consumer Group. Defaults to some randomly created user Group") + @Nullable + @Macro + protected String consumerGroup; + + @Description("DMaaP Message Router Subscriber Timeout in MS. Defaults to no timeout") + @Nullable + @Macro + protected Integer timeoutMS; + + @Description("DMaaP Message Router Subscriber Message Limit. Defaults to no message limit") + @Nullable + @Macro + protected Integer messageLimit; + + // Required No Arg constructor + public DMaaPMRSourcePluginConfig() { + this(null, null, null, 0); + } + + public DMaaPMRSourcePluginConfig(String referenceName, String hostName, String topicName, Integer pollingInterval) { + super(referenceName, hostName, topicName); + this.pollingInterval = pollingInterval; + } + + /** + * DMaaP MR Subscriber Polling interval + * + * @return DMaaP MR Subscriber Polling interval + */ + public Integer getPollingInterval() { + return pollingInterval; + } + + /** + * DMaaP MR Subscriber Consumer ID + * + * @return DMaaP MR Subscriber Consumer ID + */ + @Nullable + public String getConsumerId() { + return consumerId; + } + + /** + * DMaaP MR Subscriber Consumer Group + * + * @return DMaaP MR Subscriber Consumer Group + */ + @Nullable + public String getConsumerGroup() { + return consumerGroup; + } + + /** + * DMaaP MR Subscriber Timeout in MS + * + * @return DMaaP MR Subscriber Timeout in MS + */ + @Nullable + public Integer getTimeoutMS() { + return timeoutMS; + } + + /** + * DMaaP MR Subscriber message limit + * + * @return DMaaP MR Subscriber Message limit + */ + @Nullable + public Integer getMessageLimit() { + return messageLimit; + } + + + @Override + public String toString() { + return Objects.toStringHelper(this) + .add("super", super.toString()) + .add("pollingInterval", pollingInterval) + .add("consumerId", consumerId) + .add("consumerGroup", consumerGroup) + .add("timeoutMS", timeoutMS) + .add("messageLimit", messageLimit) + .toString(); + } + +} |