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;
95 public DmaapConsumerConfiguration getDmaapConsumerConfiguration() {
96 return new ImmutableDmaapConsumerConfiguration.Builder()
98 Optional.ofNullable(consumerDmaapUserPassword).filter(p -> !p.isEmpty())
99 .orElse(dmaapConsumerConfiguration.dmaapUserPassword()))
101 Optional.ofNullable(consumerDmaapUserName).filter(p -> !p.isEmpty())
102 .orElse(dmaapConsumerConfiguration.dmaapUserName()))
104 Optional.ofNullable(consumerDmaapHostName).filter(p -> !p.isEmpty())
105 .orElse(dmaapConsumerConfiguration.dmaapHostName()))
107 Optional.ofNullable(consumerDmaapPortNumber).filter(p -> !p.toString().isEmpty())
108 .orElse(dmaapConsumerConfiguration.dmaapPortNumber()))
110 Optional.ofNullable(consumerDmaapProtocol).filter(p -> !p.isEmpty())
111 .orElse(dmaapConsumerConfiguration.dmaapProtocol()))
113 Optional.ofNullable(consumerDmaapContentType).filter(p -> !p.isEmpty())
114 .orElse(dmaapConsumerConfiguration.dmaapContentType()))
116 Optional.ofNullable(consumerDmaapTopicName).filter(p -> !p.isEmpty())
117 .orElse(dmaapConsumerConfiguration.dmaapTopicName()))
119 Optional.ofNullable(consumerMessageLimit).filter(p -> !p.toString().isEmpty())
120 .orElse(dmaapConsumerConfiguration.messageLimit()))
121 .timeoutMS(Optional.ofNullable(consumerTimeoutMS).filter(p -> !p.toString().isEmpty())
122 .orElse(dmaapConsumerConfiguration.timeoutMS()))
123 .consumerGroup(Optional.ofNullable(consumerGroup).filter(p -> !p.isEmpty())
124 .orElse(dmaapConsumerConfiguration.consumerGroup()))
125 .consumerId(Optional.ofNullable(consumerId).filter(p -> !p.isEmpty())
126 .orElse(dmaapConsumerConfiguration.consumerId()))
131 public DmaapPublisherConfiguration getDmaapPublisherConfiguration() {
132 return new ImmutableDmaapPublisherConfiguration.Builder()
134 Optional.ofNullable(producerDmaapContentType).filter(p -> !p.isEmpty())
135 .orElse(dmaapPublisherConfiguration.dmaapContentType()))
137 Optional.ofNullable(producerDmaapHostName).filter(p -> !p.isEmpty())
138 .orElse(dmaapPublisherConfiguration.dmaapHostName()))
140 Optional.ofNullable(producerDmaapPortNumber).filter(p -> !p.toString().isEmpty())
141 .orElse(dmaapPublisherConfiguration.dmaapPortNumber()))
143 Optional.ofNullable(producerDmaapProtocol).filter(p -> !p.isEmpty())
144 .orElse(dmaapPublisherConfiguration.dmaapProtocol()))
146 Optional.ofNullable(producerDmaapTopicName).filter(p -> !p.isEmpty())
147 .orElse(dmaapPublisherConfiguration.dmaapTopicName()))
149 Optional.ofNullable(producerDmaapUserName).filter(p -> !p.isEmpty())
150 .orElse(dmaapPublisherConfiguration.dmaapUserName()))
152 Optional.ofNullable(producerDmaapUserPassword).filter(p -> !p.isEmpty())
153 .orElse(dmaapPublisherConfiguration.dmaapUserPassword()))