7f4c0dddd09c08349d17ccec1de0e8d18c1e0176
[policy/common.git] /
1 /*
2  * ============LICENSE_START=======================================================
3  * policy-endpoints
4  * ================================================================================
5  * Copyright (C) 2017-2018 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.onap.policy.common.endpoints.event.comm.bus.internal;
22
23 import java.util.List;
24
25 import org.onap.policy.common.endpoints.event.comm.bus.ApiKeyEnabled;
26
27 /**
28  * Bus Topic Base
29  */
30 public abstract class BusTopicBase extends TopicBase implements ApiKeyEnabled {
31
32     /**
33      * API Key
34      */
35     protected String apiKey;
36
37     /**
38      * API Secret
39      */
40     protected String apiSecret;
41
42     /**
43      * Use https
44      */
45     protected boolean useHttps;
46
47     /**
48      * allow self signed certificates
49      */
50     protected boolean allowSelfSignedCerts;
51
52     /**
53      * Instantiates a new Bus Topic Base
54      * 
55      * @param servers list of servers
56      * @param topic topic name
57      * @param apiKey API Key
58      * @param apiSecret API Secret
59      * @param useHttps does connection use HTTPS?
60      * @param allowSelfSignedCerts are self-signed certificates allow
61      * 
62      * @return a Bus Topic Base
63      * @throws IllegalArgumentException if invalid parameters are present
64      */
65     public BusTopicBase(List<String> servers, String topic, String apiKey, String apiSecret, boolean useHttps,
66             boolean allowSelfSignedCerts) {
67
68         super(servers, topic);
69
70         this.apiKey = apiKey;
71         this.apiSecret = apiSecret;
72         this.useHttps = useHttps;
73         this.allowSelfSignedCerts = allowSelfSignedCerts;
74     }
75
76     @Override
77     public String getApiKey() {
78         return apiKey;
79     }
80
81     @Override
82     public String getApiSecret() {
83         return apiSecret;
84     }
85
86     /**
87      * @return if using https
88      */
89     public boolean isUseHttps() {
90         return useHttps;
91     }
92
93     /**
94      * @return if self signed certificates are allowed
95      */
96     public boolean isAllowSelfSignedCerts() {
97         return allowSelfSignedCerts;
98     }
99
100     protected boolean anyNullOrEmpty(String... args) {
101         for (String arg : args) {
102             if (arg == null || arg.isEmpty()) {
103                 return true;
104             }
105         }
106
107         return false;
108     }
109
110     protected boolean allNullOrEmpty(String... args) {
111         for (String arg : args) {
112             if (!(arg == null || arg.isEmpty())) {
113                 return false;
114             }
115         }
116
117         return true;
118     }
119
120
121     @Override
122     public String toString() {
123         return "BusTopicBase [apiKey=" + apiKey + ", apiSecret=" + apiSecret + ", useHttps=" + useHttps
124                 + ", allowSelfSignedCerts=" + allowSelfSignedCerts + ", toString()=" + super.toString() + "]";
125     }
126
127 }