3e112f90ffd7086d1fa6663af476d1ae13869687
[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      * <p>servers list of servers
56      *  topic topic name
57      *  apiKey API Key
58      *  apiSecret API Secret
59      *  useHttps does connection use HTTPS?
60      *  allowSelfSignedCerts are self-signed certificates allow
61      * @param busTopicParams holds all our parameters
62      * @throws IllegalArgumentException if invalid parameters are present
63      */
64     public BusTopicBase(BusTopicParams busTopicParams) {
65         super(busTopicParams.getServers(), busTopicParams.getTopic());
66         this.apiKey = busTopicParams.getApiKey();
67         this.apiSecret = busTopicParams.getApiSecret();
68         this.useHttps = busTopicParams.isUseHttps();
69         this.allowSelfSignedCerts = busTopicParams.isAllowSelfSignedCerts();
70     }
71
72     @Override
73     public String getApiKey() {
74         return apiKey;
75     }
76
77     @Override
78     public String getApiSecret() {
79         return apiSecret;
80     }
81
82     /**
83      * Is using HTTPS.
84      * 
85      * @return if using https
86      */
87     public boolean isUseHttps() {
88         return useHttps;
89     }
90
91     /**
92      * Is self signed certificates allowed.
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 }