2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights
7 * ================================================================================
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
19 * ============LICENSE_END=========================================================
22 package org.openecomp.appc.sdc.listener;
25 import java.util.ArrayList;
26 import java.util.HashMap;
27 import java.util.List;
29 import java.util.Properties;
31 import org.openecomp.sdc.api.consumer.IConfiguration;
32 import org.openecomp.sdc.utils.ArtifactTypeEnum;
33 import com.att.eelf.configuration.EELFLogger;
34 import com.att.eelf.configuration.EELFManager;
36 public class AsdcConfig implements IConfiguration {
39 private String consumer;
40 private String consumerId;
42 private String keystorePath;
43 private String keystorePass;
44 private int pollingInterval; // Time between listening sessions
45 private int pollingTimeout; // Time to listen for (dmaap timeout url param)/1000
46 private List<String> types = new ArrayList<>(1);
54 private final EELFLogger logger = EELFManager.getInstance().getLogger(AsdcConfig.class);
56 public AsdcConfig(Properties props) throws Exception {
61 private void init() throws Exception {
63 // Keystore for ca cert
64 keystorePath = props.getProperty("appc.asdc.keystore.path");
65 keystorePass = props.getProperty("appc.asdc.keystore.pass");
68 host = props.getProperty("appc.asdc.host");
69 env = props.getProperty("appc.asdc.env");
70 user = props.getProperty("appc.asdc.user");
71 pass = props.getProperty("appc.asdc.pass");
74 consumer = props.getProperty("appc.asdc.consumer");
75 consumerId = props.getProperty("appc.asdc.consumer.id");
77 pollingInterval = Integer.valueOf(props.getProperty("interval", "60"));
79 // Client uses cambriaClient-0.2.4 which throws non relevant (wrong)
80 // exceptions with times > 30s
81 pollingTimeout = Integer.valueOf(props.getProperty("timeout", "25"));
83 // Anything less than 60 and we risk 429 Too Many Requests
84 if (pollingInterval < 60) {
88 if (pollingInterval > pollingInterval) {
89 logger.warn(String.format(
90 "Message acknowledgement may be delayed by %ds in the ADSC listener. [Listening Time: %s, Poll Period: %s]",
91 pollingInterval - pollingTimeout, pollingTimeout, pollingInterval));
97 types.add("APPC_CONFIG");
98 types.add("VF_LICENSE");
100 storeOp = new URI(props.getProperty("appc.asdc.provider.url"));
105 public boolean activateServerTLSAuth() {
110 public String getAsdcAddress() {
115 public String getConsumerGroup() {
120 public String getConsumerID() {
125 public String getEnvironmentName() {
130 public String getKeyStorePassword() {
135 public String getKeyStorePath() {
140 public String getPassword() {
145 public int getPollingInterval() {
146 return pollingInterval;
150 public int getPollingTimeout() {
151 return pollingTimeout;
155 public List<String> getRelevantArtifactTypes() {
160 public String getUser() {
164 public URI getStoreOpURI() {
169 * Logs the relevant parameters
171 public void logParams() {
172 Map<String, String> params = new HashMap<String, String>();
173 params.put("ASDC Host", getAsdcAddress());
174 params.put("ASDC Environment", getEnvironmentName());
175 params.put("Consumer Name", getConsumerGroup());
176 params.put("Consumer ID", getConsumerID());
177 params.put("Poll Active Wait", String.valueOf(getPollingInterval()));
178 params.put("Poll Timeout", String.valueOf(getPollingTimeout()));
180 logger.info(String.format("ASDC Params: %s", params));