Sonar Critical Fix
[dcaegen2/analytics/tca.git] / dcae-analytics-aai / src / main / java / org / onap / dcae / apod / analytics / aai / domain / config / AAIHttpClientConfig.java
1 /*
2  * ===============================LICENSE_START======================================
3  *  dcae-analytics
4  * ================================================================================
5  *    Copyright © 2017 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.dcae.apod.analytics.aai.domain.config;
22
23 import com.google.common.base.Objects;
24
25 import java.net.URL;
26
27 /**
28  * Contains parameters required to create an instance of A&AI Http Client
29  *
30  * @author Rajiv Singla . Creation Date: 9/21/2017.
31  */
32 public class AAIHttpClientConfig implements AAIEnrichmentConfig {
33
34     private static final long serialVersionUID = 1L;
35
36     private final String aaiHost;
37     private final Integer aaiHostPortNumber;
38     private final String aaiProtocol;
39     private final String aaiUserName;
40     private final String aaiUserPassword;
41     private final URL aaiProxyURL;
42     private final boolean aaiIgnoreSSLCertificateErrors;
43     
44     AAIHttpClientConfig(final String aaiHost, final Integer aaiHostPortNumber, final String aaiProtocol,
45                         final String aaiUserName, final String aaiUserPassword, final URL aaiProxyURL,
46                         final boolean aaiIgnoreSSLCertificateErrors) {
47         this.aaiHost = aaiHost;
48         this.aaiHostPortNumber = aaiHostPortNumber;
49         this.aaiProtocol = aaiProtocol;
50         this.aaiUserName = aaiUserName;
51         this.aaiUserPassword = aaiUserPassword;
52         this.aaiProxyURL = aaiProxyURL;
53         this.aaiIgnoreSSLCertificateErrors = aaiIgnoreSSLCertificateErrors;
54     }
55
56     /**
57      * Provides A&AI Http Client Host
58      *
59      * @return A&AI Http Client Host
60      */
61     public String getAaiHost() {
62         return aaiHost;
63     }
64
65     /**
66      * Provides A&AI Http Client Host Port Number
67      *
68      * @return A&AI Http Client Host Port Number
69      */
70     public Integer getAaiHostPortNumber() {
71         return aaiHostPortNumber;
72     }
73
74     /**
75      * Provides A&AI Http Client Protocol
76      *
77      * @return A&AI Http Client Protocol
78      */
79     public String getAaiProtocol() {
80         return aaiProtocol;
81     }
82
83     /**
84      * Provides A&AI Http Client UserName
85      *
86      * @return A&AI Http Client UserName
87      */
88     public String getAaiUserName() {
89         return aaiUserName;
90     }
91
92     /**
93      * Provides A&AI Http Client UserPassword
94      *
95      * @return A&AI Http Client UserPassword
96      */
97     public String getAaiUserPassword() {
98         return aaiUserPassword;
99     }
100
101     /**
102      * Returns A&AI Proxy url
103      *
104      * @return A&AI Proxy url
105      */
106     public URL getAaiProxyURL() {
107         return aaiProxyURL;
108     }
109
110     /**
111      * Returns true if SSL Certificate errors can be ignored for A&AI Http client
112      *
113      * @return true if SSL Certificate errors can be ignored for A&AI Http client
114      */
115     public boolean isAaiIgnoreSSLCertificateErrors() {
116         return aaiIgnoreSSLCertificateErrors;
117     }
118
119
120     @Override
121     public String toString() {
122         return Objects.toStringHelper(this)
123                 .add("aaiHost", aaiHost)
124                 .add("aaiHostPortNumber", aaiHostPortNumber)
125                 .add("aaiProtocol", aaiProtocol)
126                 .add("aaiUserName", aaiUserName)
127                 .add("aaiProxyHost", aaiProxyURL == null ? null : aaiProxyURL.getHost())
128                 .add("aaiIgnoreSSLCertificateErrors", aaiIgnoreSSLCertificateErrors)
129                 .toString();
130     }
131 }