Add support for ABATED alerts within CDAP TCA
[dcaegen2/analytics/tca.git] / dcae-analytics-cdap-tca / src / main / java / org / openecomp / dcae / apod / analytics / cdap / tca / settings / TCAAppPreferences.java
1 /*
2  * ===============================LICENSE_START======================================
3  *  dcae-analytics
4  * ================================================================================
5  *    Copyright © 2017 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  *  Licensed under the Apache License, Version 2.0 (the "License");
8  *  you may not use this file except in compliance with the License.
9  *   You may obtain a copy of the License at
10  *
11  *          http://www.apache.org/licenses/LICENSE-2.0
12  *
13  *  Unless required by applicable law or agreed to in writing, software
14  *  distributed under the License is distributed on an "AS IS" BASIS,
15  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  *  See the License for the specific language governing permissions and
17  *  limitations under the License.
18  *  ============================LICENSE_END===========================================
19  */
20
21 package org.openecomp.dcae.apod.analytics.cdap.tca.settings;
22
23 import com.google.common.base.Objects;
24 import org.openecomp.dcae.apod.analytics.cdap.common.settings.CDAPAppPreferences;
25
26 import static org.openecomp.dcae.apod.analytics.common.AnalyticsConstants.TCA_DEFAULT_PUBLISHER_MAX_BATCH_QUEUE_SIZE;
27 import static org.openecomp.dcae.apod.analytics.common.AnalyticsConstants.TCA_DEFAULT_PUBLISHER_MAX_RECOVERY_QUEUE_SIZE;
28 import static org.openecomp.dcae.apod.analytics.common.AnalyticsConstants.TCA_DEFAULT_PUBLISHER_POLLING_INTERVAL_MS;
29 import static org.openecomp.dcae.apod.analytics.common.AnalyticsConstants.TCA_DEFAULT_SUBSCRIBER_POLLING_INTERVAL_MS;
30
31 /**
32  * <p>
33  *     App Preferences for Analytics TCA (Threshold Crossing Alert) App
34  * <p>
35  * @author Rajiv Singla . Creation Date: 10/4/2016.
36  */
37 public class TCAAppPreferences implements CDAPAppPreferences {
38
39     private static final long serialVersionUID = 1L;
40
41     // subscriber preferences
42     protected String subscriberHostName;
43
44     protected Integer subscriberHostPort;
45
46     protected String subscriberTopicName;
47
48     protected String subscriberProtocol;
49
50     protected String subscriberUserName;
51
52     protected String subscriberUserPassword;
53
54     protected String subscriberContentType;
55
56     protected String subscriberConsumerId;
57
58     protected String subscriberConsumerGroup;
59
60     protected Integer subscriberTimeoutMS;
61
62     protected Integer subscriberMessageLimit;
63
64     protected Integer subscriberPollingInterval;
65
66     // publisher preferences
67     protected String publisherHostName;
68
69     protected Integer publisherHostPort;
70
71     protected String publisherTopicName;
72
73     protected String publisherProtocol;
74
75     protected String publisherUserName;
76
77     protected String publisherUserPassword;
78
79     protected String publisherContentType;
80
81     protected Integer publisherMaxBatchSize;
82
83     protected Integer publisherMaxRecoveryQueueSize;
84
85     protected Integer publisherPollingInterval;
86
87     protected Boolean enableAlertCEFFormat;
88
89     /**
90      * Default constructor to setup default values for TCA App Preferences
91      */
92     public TCAAppPreferences() {
93
94         // subscriber defaults
95         subscriberPollingInterval = TCA_DEFAULT_SUBSCRIBER_POLLING_INTERVAL_MS;
96
97         // publisher defaults
98         publisherMaxBatchSize = TCA_DEFAULT_PUBLISHER_MAX_BATCH_QUEUE_SIZE;
99         publisherMaxRecoveryQueueSize = TCA_DEFAULT_PUBLISHER_MAX_RECOVERY_QUEUE_SIZE;
100         publisherPollingInterval = TCA_DEFAULT_PUBLISHER_POLLING_INTERVAL_MS;
101
102         enableAlertCEFFormat = false;
103
104     }
105
106     public String getSubscriberHostName() {
107         return subscriberHostName;
108     }
109
110     public Integer getSubscriberHostPort() {
111         return subscriberHostPort;
112     }
113
114     public String getSubscriberTopicName() {
115         return subscriberTopicName;
116     }
117
118     public String getSubscriberProtocol() {
119         return subscriberProtocol;
120     }
121
122     public String getSubscriberUserName() {
123         return subscriberUserName;
124     }
125
126     public String getSubscriberUserPassword() {
127         return subscriberUserPassword;
128     }
129
130     public String getSubscriberContentType() {
131         return subscriberContentType;
132     }
133
134     public String getSubscriberConsumerId() {
135         return subscriberConsumerId;
136     }
137
138     public String getSubscriberConsumerGroup() {
139         return subscriberConsumerGroup;
140     }
141
142     public Integer getSubscriberTimeoutMS() {
143         return subscriberTimeoutMS;
144     }
145
146     public Integer getSubscriberMessageLimit() {
147         return subscriberMessageLimit;
148     }
149
150     public Integer getSubscriberPollingInterval() {
151         return subscriberPollingInterval;
152     }
153
154     public String getPublisherHostName() {
155         return publisherHostName;
156     }
157
158     public Integer getPublisherHostPort() {
159         return publisherHostPort;
160     }
161
162     public String getPublisherTopicName() {
163         return publisherTopicName;
164     }
165
166     public String getPublisherProtocol() {
167         return publisherProtocol;
168     }
169
170     public String getPublisherUserName() {
171         return publisherUserName;
172     }
173
174     public String getPublisherUserPassword() {
175         return publisherUserPassword;
176     }
177
178     public String getPublisherContentType() {
179         return publisherContentType;
180     }
181
182     public Integer getPublisherMaxBatchSize() {
183         return publisherMaxBatchSize;
184     }
185
186     public Integer getPublisherMaxRecoveryQueueSize() {
187         return publisherMaxRecoveryQueueSize;
188     }
189
190     public Integer getPublisherPollingInterval() {
191         return publisherPollingInterval;
192     }
193
194     public Boolean getEnableAlertCEFFormat() {
195         return enableAlertCEFFormat;
196     }
197
198
199     public void setSubscriberHostName(String subscriberHostName) {
200         this.subscriberHostName = subscriberHostName;
201     }
202
203     public void setSubscriberHostPort(Integer subscriberHostPort) {
204         this.subscriberHostPort = subscriberHostPort;
205     }
206
207     public void setSubscriberTopicName(String subscriberTopicName) {
208         this.subscriberTopicName = subscriberTopicName;
209     }
210
211     public void setSubscriberProtocol(String subscriberProtocol) {
212         this.subscriberProtocol = subscriberProtocol;
213     }
214
215     public void setSubscriberUserName(String subscriberUserName) {
216         this.subscriberUserName = subscriberUserName;
217     }
218
219     public void setSubscriberUserPassword(String subscriberUserPassword) {
220         this.subscriberUserPassword = subscriberUserPassword;
221     }
222
223     public void setPublisherHostName(String publisherHostName) {
224         this.publisherHostName = publisherHostName;
225     }
226
227     public void setPublisherHostPort(Integer publisherHostPort) {
228         this.publisherHostPort = publisherHostPort;
229     }
230
231     public void setPublisherTopicName(String publisherTopicName) {
232         this.publisherTopicName = publisherTopicName;
233     }
234
235     public void setPublisherProtocol(String publisherProtocol) {
236         this.publisherProtocol = publisherProtocol;
237     }
238
239     public void setPublisherUserName(String publisherUserName) {
240         this.publisherUserName = publisherUserName;
241     }
242
243     public void setPublisherUserPassword(String publisherUserPassword) {
244         this.publisherUserPassword = publisherUserPassword;
245     }
246
247     @Override
248     public String toString() {
249         return Objects.toStringHelper(this)
250                 .add("subscriberHostName", subscriberHostName)
251                 .add("subscriberHostPort", subscriberHostPort)
252                 .add("subscriberTopicName", subscriberTopicName)
253                 .add("subscriberProtocol", subscriberProtocol)
254                 .add("subscriberUserName", subscriberUserName)
255                 .add("subscriberContentType", subscriberContentType)
256                 .add("subscriberConsumerId", subscriberConsumerId)
257                 .add("subscriberConsumerGroup", subscriberConsumerGroup)
258                 .add("subscriberTimeoutMS", subscriberTimeoutMS)
259                 .add("subscriberMessageLimit", subscriberMessageLimit)
260                 .add("subscriberPollingInterval", subscriberPollingInterval)
261                 .add("publisherHostName", publisherHostName)
262                 .add("publisherHostPort", publisherHostPort)
263                 .add("publisherTopicName", publisherTopicName)
264                 .add("publisherProtocol", publisherProtocol)
265                 .add("publisherUserName", publisherUserName)
266                 .add("publisherContentType", publisherContentType)
267                 .add("publisherMaxBatchSize", publisherMaxBatchSize)
268                 .add("publisherMaxRecoveryQueueSize", publisherMaxRecoveryQueueSize)
269                 .add("publisherPollingInterval", publisherPollingInterval)
270                 .toString();
271     }
272 }