2 * ============LICENSE_START======================================================================
3 * Copyright (C) 2018 NOKIA Intellectual Property, 2018-2019 Nordix Foundation. All rights reserved.
4 * ===============================================================================================
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 * ============LICENSE_END========================================================================
19 package org.onap.dcaegen2.collectors.datafile.configuration;
21 import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.config.DmaapConsumerConfiguration;
22 import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.config.DmaapPublisherConfiguration;
23 import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.config.ImmutableDmaapConsumerConfiguration;
24 import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.config.ImmutableDmaapPublisherConfiguration;
25 import org.springframework.beans.factory.annotation.Value;
26 import org.springframework.context.annotation.Configuration;
27 import org.springframework.stereotype.Component;
29 import java.util.Optional;
30 import java.util.function.Predicate;
33 * @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 3/23/18
34 * @author <a href="mailto:henrik.b.andersson@est.tech">Henrik Andersson</a>
39 public class AppConfig extends DatafileAppConfig {
41 private static Predicate<String> isEmpty = String::isEmpty;
42 @Value("${dmaap.dmaapConsumerConfiguration.dmaapHostName:}")
43 public String consumerDmaapHostName;
45 @Value("${dmaap.dmaapConsumerConfiguration.dmaapPortNumber:}")
46 public Integer consumerDmaapPortNumber;
48 @Value("${dmaap.dmaapConsumerConfiguration.dmaapTopicName:}")
49 public String consumerDmaapTopicName;
51 @Value("${dmaap.dmaapConsumerConfiguration.dmaapProtocol:}")
52 public String consumerDmaapProtocol;
54 @Value("${dmaap.dmaapConsumerConfiguration.dmaapUserName:}")
55 public String consumerDmaapUserName;
57 @Value("${dmaap.dmaapConsumerConfiguration.dmaapUserPassword:}")
58 public String consumerDmaapUserPassword;
60 @Value("${dmaap.dmaapConsumerConfiguration.dmaapContentType:}")
61 public String consumerDmaapContentType;
63 @Value("${dmaap.dmaapConsumerConfiguration.consumerId:}")
64 public String consumerId;
66 @Value("${dmaap.dmaapConsumerConfiguration.consumerGroup:}")
67 public String consumerGroup;
69 @Value("${dmaap.dmaapConsumerConfiguration.timeoutMs:}")
70 public Integer consumerTimeoutMs;
72 @Value("${dmaap.dmaapConsumerConfiguration.message-limit:}")
73 public Integer consumerMessageLimit;
75 @Value("${dmaap.dmaapProducerConfiguration.dmaapHostName:}")
76 public String producerDmaapHostName;
78 @Value("${dmaap.dmaapProducerConfiguration.dmaapPortNumber:}")
79 public Integer producerDmaapPortNumber;
81 @Value("${dmaap.dmaapProducerConfiguration.dmaapTopicName:}")
82 public String producerDmaapTopicName;
84 @Value("${dmaap.dmaapProducerConfiguration.dmaapProtocol:}")
85 public String producerDmaapProtocol;
87 @Value("${dmaap.dmaapProducerConfiguration.dmaapUserName:}")
88 public String producerDmaapUserName;
90 @Value("${dmaap.dmaapProducerConfiguration.dmaapUserPassword:}")
91 public String producerDmaapUserPassword;
93 @Value("${dmaap.dmaapProducerConfiguration.dmaapContentType:}")
94 public String producerDmaapContentType;
96 @Value("${ftp.ftpesConfiguration.keyCert:}")
97 public String keyCert;
99 @Value("${ftp.ftpesConfiguration.keyPassword:}")
100 public String keyPassword;
102 @Value("${ftp.ftpesConfiguration.trustedCA:}")
103 public String trustedCA;
105 @Value("${ftp.ftpesConfiguration.trustedCAPassword:}")
106 public String trustedCAPassword;
108 @Value("${security.trustStorePath:}")
109 public String trustStorePath;
111 @Value("${security.trustStorePasswordPath:}")
112 public String trustStorePasswordPath;
114 @Value("${security.keyStorePath:}")
115 public String keyStorePath;
117 @Value("${security.keyStorePasswordPath:}")
118 public String keyStorePasswordPath;
120 @Value("${security.enableDmaapCertAuth:}")
121 public Boolean enableDmaapCertAuth;
124 public DmaapConsumerConfiguration getDmaapConsumerConfiguration() {
125 return new ImmutableDmaapConsumerConfiguration.Builder()
127 Optional.ofNullable(consumerDmaapUserPassword).filter(isEmpty.negate())
128 .orElse(dmaapConsumerConfiguration.dmaapUserPassword()))
130 Optional.ofNullable(consumerDmaapUserName).filter(isEmpty.negate())
131 .orElse(dmaapConsumerConfiguration.dmaapUserName()))
133 Optional.ofNullable(consumerDmaapHostName).filter(isEmpty.negate())
134 .orElse(dmaapConsumerConfiguration.dmaapHostName()))
136 Optional.ofNullable(consumerDmaapPortNumber).filter(p -> !p.toString().isEmpty())
137 .orElse(dmaapConsumerConfiguration.dmaapPortNumber()))
139 Optional.ofNullable(consumerDmaapProtocol).filter(isEmpty.negate())
140 .orElse(dmaapConsumerConfiguration.dmaapProtocol()))
142 Optional.ofNullable(consumerDmaapContentType).filter(isEmpty.negate())
143 .orElse(dmaapConsumerConfiguration.dmaapContentType()))
145 Optional.ofNullable(consumerDmaapTopicName).filter(isEmpty.negate())
146 .orElse(dmaapConsumerConfiguration.dmaapTopicName()))
148 Optional.ofNullable(consumerMessageLimit).filter(p -> !p.toString().isEmpty())
149 .orElse(dmaapConsumerConfiguration.messageLimit()))
150 .timeoutMs(Optional.ofNullable(consumerTimeoutMs).filter(p -> !p.toString().isEmpty())
151 .orElse(dmaapConsumerConfiguration.timeoutMs()))
152 .consumerGroup(Optional.ofNullable(consumerGroup).filter(isEmpty.negate())
153 .orElse(dmaapConsumerConfiguration.consumerGroup()))
154 .consumerId(Optional.ofNullable(consumerId).filter(isEmpty.negate())
155 .orElse(dmaapConsumerConfiguration.consumerId()))
157 Optional.ofNullable(trustStorePath).filter(isEmpty.negate())
158 .orElse(dmaapConsumerConfiguration.trustStorePath()))
159 .trustStorePasswordPath(
160 Optional.ofNullable(trustStorePasswordPath).filter(isEmpty.negate())
161 .orElse(dmaapConsumerConfiguration.trustStorePasswordPath()))
163 Optional.ofNullable(keyStorePath).filter(isEmpty.negate())
164 .orElse(dmaapConsumerConfiguration.keyStorePath()))
165 .keyStorePasswordPath(
166 Optional.ofNullable(keyStorePasswordPath).filter(isEmpty.negate())
167 .orElse(dmaapConsumerConfiguration.keyStorePasswordPath()))
168 .enableDmaapCertAuth(
169 Optional.ofNullable(enableDmaapCertAuth).filter(p -> !p.toString().isEmpty())
170 .orElse(dmaapConsumerConfiguration.enableDmaapCertAuth()))
175 public DmaapPublisherConfiguration getDmaapPublisherConfiguration() {
176 return new ImmutableDmaapPublisherConfiguration.Builder()
178 Optional.ofNullable(producerDmaapContentType).filter(isEmpty.negate())
179 .orElse(dmaapPublisherConfiguration.dmaapContentType()))
181 Optional.ofNullable(producerDmaapHostName).filter(isEmpty.negate())
182 .orElse(dmaapPublisherConfiguration.dmaapHostName()))
184 Optional.ofNullable(producerDmaapPortNumber).filter(p -> !p.toString().isEmpty())
185 .orElse(dmaapPublisherConfiguration.dmaapPortNumber()))
187 Optional.ofNullable(producerDmaapProtocol).filter(isEmpty.negate())
188 .orElse(dmaapPublisherConfiguration.dmaapProtocol()))
190 Optional.ofNullable(producerDmaapTopicName).filter(isEmpty.negate())
191 .orElse(dmaapPublisherConfiguration.dmaapTopicName()))
193 Optional.ofNullable(producerDmaapUserName).filter(isEmpty.negate())
194 .orElse(dmaapPublisherConfiguration.dmaapUserName()))
196 Optional.ofNullable(producerDmaapUserPassword).filter(isEmpty.negate())
197 .orElse(dmaapPublisherConfiguration.dmaapUserPassword()))
199 Optional.ofNullable(trustStorePath).filter(isEmpty.negate())
200 .orElse(dmaapPublisherConfiguration.trustStorePath()))
201 .trustStorePasswordPath(
202 Optional.ofNullable(trustStorePasswordPath).filter(isEmpty.negate())
203 .orElse(dmaapPublisherConfiguration.trustStorePasswordPath()))
205 Optional.ofNullable(keyStorePath).filter(isEmpty.negate())
206 .orElse(dmaapPublisherConfiguration.keyStorePath()))
207 .keyStorePasswordPath(
208 Optional.ofNullable(keyStorePasswordPath).filter(isEmpty.negate())
209 .orElse(dmaapPublisherConfiguration.keyStorePasswordPath()))
210 .enableDmaapCertAuth(
211 Optional.ofNullable(enableDmaapCertAuth).filter(p -> !p.toString().isEmpty())
212 .orElse(dmaapPublisherConfiguration.enableDmaapCertAuth()))
217 public FtpesConfig getFtpesConfiguration() {
218 return new ImmutableFtpesConfig.Builder()
220 Optional.ofNullable(keyCert).filter(isEmpty.negate())
221 .orElse(ftpesConfig.keyCert()))
223 Optional.ofNullable(keyPassword).filter(isEmpty.negate())
224 .orElse(ftpesConfig.keyPassword()))
226 Optional.ofNullable(trustedCA).filter(isEmpty.negate())
227 .orElse(ftpesConfig.trustedCA()))
229 Optional.ofNullable(trustedCAPassword).filter(isEmpty.negate())
230 .orElse(ftpesConfig.trustedCAPassword()))