2 * ============LICENSE_START=======================================================
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
12 * http://www.apache.org/licenses/LICENSE-2.0
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=========================================================
22 package org.onap.policy.common.endpoints.event.comm.bus.internal;
24 import org.onap.policy.common.endpoints.event.comm.Topic;
25 import org.onap.policy.common.endpoints.event.comm.bus.UebTopicSource;
28 * This topic source implementation specializes in reading messages over an UEB Bus topic source and
29 * notifying its listeners.
31 public class SingleThreadedUebTopicSource extends SingleThreadedBusTopicSource implements UebTopicSource {
36 * @param busTopicParams Parameters object containing all the required inputs
37 * @throws IllegalArgumentException An invalid parameter passed in
39 public SingleThreadedUebTopicSource(BusTopicParams busTopicParams) {
40 super(busTopicParams);
45 * Initialize the Cambria client.
49 this.consumer = new BusConsumer.CambriaConsumerWrapper(BusTopicParams.builder()
50 .servers(this.servers)
51 .topic(this.effectiveTopic)
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());
63 public CommInfrastructure getTopicCommInfrastructure() {
64 return Topic.CommInfrastructure.UEB;
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();