2 * ============LICENSE_START======================================================================
3 * Copyright (C) 2018 NOKIA Intellectual Property, 2018 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 java.util.Optional;
23 import org.onap.dcaegen2.collectors.datafile.config.DmaapConsumerConfiguration;
24 import org.onap.dcaegen2.collectors.datafile.config.DmaapPublisherConfiguration;
25 import org.onap.dcaegen2.collectors.datafile.config.ImmutableDmaapConsumerConfiguration;
26 import org.onap.dcaegen2.collectors.datafile.config.ImmutableDmaapPublisherConfiguration;
27 import org.springframework.beans.factory.annotation.Value;
28 import org.springframework.context.annotation.Configuration;
29 import org.springframework.stereotype.Component;
32 * @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 3/23/18
33 * @author <a href="mailto:henrik.b.andersson@est.tech">Henrik Andersson</a>
38 public class AppConfig extends DatafileAppConfig {
40 @Value("${dmaap.dmaapConsumerConfiguration.dmaapHostName:}")
41 public String consumerDmaapHostName;
43 @Value("${dmaap.dmaapConsumerConfiguration.dmaapPortNumber:}")
44 public Integer consumerDmaapPortNumber;
46 @Value("${dmaap.dmaapConsumerConfiguration.dmaapTopicName:}")
47 public String consumerDmaapTopicName;
49 @Value("${dmaap.dmaapConsumerConfiguration.dmaapProtocol:}")
50 public String consumerDmaapProtocol;
52 @Value("${dmaap.dmaapConsumerConfiguration.dmaapUserName:}")
53 public String consumerDmaapUserName;
55 @Value("${dmaap.dmaapConsumerConfiguration.dmaapUserPassword:}")
56 public String consumerDmaapUserPassword;
58 @Value("${dmaap.dmaapConsumerConfiguration.dmaapContentType:}")
59 public String consumerDmaapContentType;
61 @Value("${dmaap.dmaapConsumerConfiguration.consumerId:}")
62 public String consumerId;
64 @Value("${dmaap.dmaapConsumerConfiguration.consumerGroup:}")
65 public String consumerGroup;
67 @Value("${dmaap.dmaapConsumerConfiguration.timeoutMS:}")
68 public Integer consumerTimeoutMS;
70 @Value("${dmaap.dmaapConsumerConfiguration.message-limit:}")
71 public Integer consumerMessageLimit;
73 @Value("${dmaap.dmaapProducerConfiguration.dmaapHostName:}")
74 public String producerDmaapHostName;
76 @Value("${dmaap.dmaapProducerConfiguration.dmaapPortNumber:}")
77 public Integer producerDmaapPortNumber;
79 @Value("${dmaap.dmaapProducerConfiguration.dmaapTopicName:}")
80 public String producerDmaapTopicName;
82 @Value("${dmaap.dmaapProducerConfiguration.dmaapProtocol:}")
83 public String producerDmaapProtocol;
85 @Value("${dmaap.dmaapProducerConfiguration.dmaapUserName:}")
86 public String producerDmaapUserName;
88 @Value("${dmaap.dmaapProducerConfiguration.dmaapUserPassword:}")
89 public String producerDmaapUserPassword;
91 @Value("${dmaap.dmaapProducerConfiguration.dmaapContentType:}")
92 public String producerDmaapContentType;
94 @Value("${ftp.ftpesConfiguration.keyCert:}")
95 public String keyCert;
97 @Value("${ftp.ftpesConfiguration.keyPassword:}")
98 public String keyPassword;
100 @Value("${ftp.ftpesConfiguration.trustedCA:}")
101 public String trustedCA;
103 @Value("${ftp.ftpesConfiguration.trustedCAPassword:}")
104 public String trustedCAPassword;
107 public DmaapConsumerConfiguration getDmaapConsumerConfiguration() {
108 return new ImmutableDmaapConsumerConfiguration.Builder()
110 Optional.ofNullable(consumerDmaapUserPassword).filter(p -> !p.isEmpty())
111 .orElse(dmaapConsumerConfiguration.dmaapUserPassword()))
113 Optional.ofNullable(consumerDmaapUserName).filter(p -> !p.isEmpty())
114 .orElse(dmaapConsumerConfiguration.dmaapUserName()))
116 Optional.ofNullable(consumerDmaapHostName).filter(p -> !p.isEmpty())
117 .orElse(dmaapConsumerConfiguration.dmaapHostName()))
119 Optional.ofNullable(consumerDmaapPortNumber).filter(p -> !p.toString().isEmpty())
120 .orElse(dmaapConsumerConfiguration.dmaapPortNumber()))
122 Optional.ofNullable(consumerDmaapProtocol).filter(p -> !p.isEmpty())
123 .orElse(dmaapConsumerConfiguration.dmaapProtocol()))
125 Optional.ofNullable(consumerDmaapContentType).filter(p -> !p.isEmpty())
126 .orElse(dmaapConsumerConfiguration.dmaapContentType()))
128 Optional.ofNullable(consumerDmaapTopicName).filter(p -> !p.isEmpty())
129 .orElse(dmaapConsumerConfiguration.dmaapTopicName()))
131 Optional.ofNullable(consumerMessageLimit).filter(p -> !p.toString().isEmpty())
132 .orElse(dmaapConsumerConfiguration.messageLimit()))
133 .timeoutMS(Optional.ofNullable(consumerTimeoutMS).filter(p -> !p.toString().isEmpty())
134 .orElse(dmaapConsumerConfiguration.timeoutMS()))
135 .consumerGroup(Optional.ofNullable(consumerGroup).filter(p -> !p.isEmpty())
136 .orElse(dmaapConsumerConfiguration.consumerGroup()))
137 .consumerId(Optional.ofNullable(consumerId).filter(p -> !p.isEmpty())
138 .orElse(dmaapConsumerConfiguration.consumerId()))
143 public DmaapPublisherConfiguration getDmaapPublisherConfiguration() {
144 return new ImmutableDmaapPublisherConfiguration.Builder()
146 Optional.ofNullable(producerDmaapContentType).filter(p -> !p.isEmpty())
147 .orElse(dmaapPublisherConfiguration.dmaapContentType()))
149 Optional.ofNullable(producerDmaapHostName).filter(p -> !p.isEmpty())
150 .orElse(dmaapPublisherConfiguration.dmaapHostName()))
152 Optional.ofNullable(producerDmaapPortNumber).filter(p -> !p.toString().isEmpty())
153 .orElse(dmaapPublisherConfiguration.dmaapPortNumber()))
155 Optional.ofNullable(producerDmaapProtocol).filter(p -> !p.isEmpty())
156 .orElse(dmaapPublisherConfiguration.dmaapProtocol()))
158 Optional.ofNullable(producerDmaapTopicName).filter(p -> !p.isEmpty())
159 .orElse(dmaapPublisherConfiguration.dmaapTopicName()))
161 Optional.ofNullable(producerDmaapUserName).filter(p -> !p.isEmpty())
162 .orElse(dmaapPublisherConfiguration.dmaapUserName()))
164 Optional.ofNullable(producerDmaapUserPassword).filter(p -> !p.isEmpty())
165 .orElse(dmaapPublisherConfiguration.dmaapUserPassword()))
170 public FtpesConfig getFtpesConfiguration() {
171 return new ImmutableFtpesConfig.Builder()
173 Optional.ofNullable(keyCert).filter(p -> !p.isEmpty())
174 .orElse(ftpesConfig.keyCert()))
176 Optional.ofNullable(keyPassword).filter(p -> !p.isEmpty())
177 .orElse(ftpesConfig.keyPassword()))
179 Optional.ofNullable(trustedCA).filter(p -> !p.isEmpty())
180 .orElse(ftpesConfig.trustedCA()))
182 Optional.ofNullable(trustedCAPassword).filter(p -> !p.isEmpty())
183 .orElse(ftpesConfig.trustedCAPassword()))