de6aa86050d1d4975bee72aa56bb0c1b1099e0af
[policy/common.git] /
1 /*
2  * ============LICENSE_START=======================================================
3  * policy-endpoints
4  * ================================================================================
5  * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
6  * Modified Copyright (C) 2018 Samsung Electronics Co., Ltd.
7  * ================================================================================
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  * 
12  *      http://www.apache.org/licenses/LICENSE-2.0
13  * 
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  * ============LICENSE_END=========================================================
20  */
21
22 package org.onap.policy.common.endpoints.event.comm.bus.internal;
23
24 import org.onap.policy.common.endpoints.event.comm.Topic;
25 import org.onap.policy.common.endpoints.event.comm.bus.UebTopicSource;
26
27 /**
28  * This topic source implementation specializes in reading messages over an UEB Bus topic source and
29  * notifying its listeners.
30  */
31 public class SingleThreadedUebTopicSource extends SingleThreadedBusTopicSource implements UebTopicSource {
32
33     /**
34      * Constructor.
35      * 
36      * @param busTopicParams Parameters object containing all the required inputs
37      * @throws IllegalArgumentException An invalid parameter passed in
38      */
39     public SingleThreadedUebTopicSource(BusTopicParams busTopicParams) {
40
41         super(busTopicParams);
42
43         this.allowSelfSignedCerts = busTopicParams.isAllowSelfSignedCerts();
44
45         this.init();
46     }
47
48     /**
49      * Initialize the Cambria client.
50      */
51     @Override
52     public void init() {
53         this.consumer = new BusConsumer.CambriaConsumerWrapper(BusTopicParams.builder()
54                 .servers(this.servers)
55                 .topic(this.topic)
56                 .apiKey(this.apiKey)
57                 .apiSecret(this.apiSecret)
58                 .consumerGroup(this.consumerGroup)
59                 .consumerInstance(this.consumerInstance)
60                 .fetchTimeout(this.fetchTimeout)
61                 .fetchLimit(this.fetchLimit)
62                 .useHttps(this.useHttps)
63                 .allowSelfSignedCerts(this.allowSelfSignedCerts).build());
64     }
65
66     @Override
67     public CommInfrastructure getTopicCommInfrastructure() {
68         return Topic.CommInfrastructure.UEB;
69     }
70
71
72     @Override
73     public String toString() {
74         StringBuilder builder = new StringBuilder();
75         builder.append("SingleThreadedUebTopicSource [getTopicCommInfrastructure()=")
76                 .append(getTopicCommInfrastructure()).append(", toString()=").append(super.toString()).append("]");
77         return builder.toString();
78     }
79
80 }