2 * ===============================LICENSE_START======================================
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
11 * http://www.apache.org/licenses/LICENSE-2.0
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===========================================
21 package org.onap.dcae.apod.analytics.aai.domain.config;
23 import org.onap.dcae.apod.analytics.common.AnalyticsConstants;
25 import java.io.Serializable;
29 * A&AI Http Client Config Builder used to create immutable instance of {@link AAIHttpClientConfig}
31 * @author Rajiv Singla . Creation Date: 9/21/2017.
33 public class AAIHttpClientConfigBuilder implements Serializable {
35 private static final long serialVersionUID = 1L;
37 private String aaiHost;
38 private Integer aaiHostPortNumber;
39 private String aaiProtocol;
40 private String aaiUserName;
41 private String aaiUserPassword;
42 private URL aaiProxyURL;
43 private boolean aaiIgnoreSSLCertificateErrors;
45 public AAIHttpClientConfigBuilder(final String aaiHost) {
46 this.aaiHost = aaiHost;
47 this.aaiHostPortNumber = AnalyticsConstants.DEFAULT_PORT_NUMBER;
48 this.aaiProtocol = AnalyticsConstants.DEFAULT_PROTOCOL;
49 this.aaiUserName = AnalyticsConstants.DEFAULT_USER_NAME;
50 this.aaiUserPassword = AnalyticsConstants.DEFAULT_USER_PASSWORD;
51 this.aaiIgnoreSSLCertificateErrors = AnalyticsConstants
52 .TCA_DEFAULT_AAI_ENRICHMENT_IGNORE_SSL_CERTIFICATE_ERRORS;
55 public AAIHttpClientConfigBuilder setAaiHostPortNumber(final Integer aaiHostPortNumber) {
56 this.aaiHostPortNumber = aaiHostPortNumber;
60 public AAIHttpClientConfigBuilder setAaiProtocol(final String aaiProtocol) {
61 this.aaiProtocol = aaiProtocol;
65 public AAIHttpClientConfigBuilder setAaiUserName(final String aaiUserName) {
66 this.aaiUserName = aaiUserName;
70 public AAIHttpClientConfigBuilder setAaiUserPassword(final String aaiUserPassword) {
71 this.aaiUserPassword = aaiUserPassword;
75 public AAIHttpClientConfigBuilder setAaiProxyURL(final URL aaiProxyURL) {
76 this.aaiProxyURL = aaiProxyURL;
80 public AAIHttpClientConfigBuilder setAaiIgnoreSSLCertificateErrors(final boolean aaiIgnoreSSLCertificateErrors) {
81 this.aaiIgnoreSSLCertificateErrors = aaiIgnoreSSLCertificateErrors;
85 public AAIHttpClientConfig build() {
86 return new AAIHttpClientConfig(aaiHost, aaiHostPortNumber, aaiProtocol, aaiUserName, aaiUserPassword,
87 aaiProxyURL, aaiIgnoreSSLCertificateErrors);