496c38f57d7a3b85902292f50964c3971f3d3093
[policy/common.git] /
1 /*
2  * ============LICENSE_START=======================================================
3  * ONAP
4  * ================================================================================
5  * Copyright (C) 2017-2019, 2021 AT&T Intellectual Property. All rights reserved.
6  * Modifications Copyright (C) 2018-2019 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         super(busTopicParams);
41         this.init();
42     }
43
44     /**
45      * Initialize the Cambria client.
46      */
47     @Override
48     public void init() {
49         this.consumer = new BusConsumer.CambriaConsumerWrapper(BusTopicParams.builder()
50                 .servers(this.servers)
51                 .topic(this.effectiveTopic)
52                 .apiKey(this.apiKey)
53                 .apiSecret(this.apiSecret)
54                 .consumerGroup(this.consumerGroup)
55                 .consumerInstance(this.consumerInstance)
56                 .fetchTimeout(this.fetchTimeout)
57                 .fetchLimit(this.fetchLimit)
58                 .useHttps(this.useHttps)
59                 .allowSelfSignedCerts(this.allowSelfSignedCerts).build());
60     }
61
62     @Override
63     public CommInfrastructure getTopicCommInfrastructure() {
64         return Topic.CommInfrastructure.UEB;
65     }
66
67     @Override
68     public String toString() {
69         var builder = new StringBuilder();
70         builder.append("SingleThreadedUebTopicSource [getTopicCommInfrastructure()=")
71                 .append(getTopicCommInfrastructure()).append(", toString()=").append(super.toString()).append("]");
72         return builder.toString();
73     }
74
75 }