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.sdnc.uebclient;
25 import java.io.FileInputStream;
26 import java.io.FileNotFoundException;
27 import java.io.IOException;
28 import java.util.LinkedList;
29 import java.util.List;
30 import java.util.Properties;
32 import org.openecomp.sdc.api.consumer.IConfiguration;
33 import org.openecomp.sdc.utils.ArtifactTypeEnum;
34 import org.slf4j.Logger;
35 import org.slf4j.LoggerFactory;
37 public class SdncUebConfiguration implements IConfiguration{
39 private static final String SDNC_CONFIG_DIR = "SDNC_CONFIG_DIR";
40 private static final Logger LOG = LoggerFactory
41 .getLogger(SdncUebConfiguration.class);
43 private String asdcAddress = null;
44 private String consumerGroup = null;
45 private String consumerID = null;
46 private String environmentName = null;
47 private String password = null;
48 private int pollingInterval = 30;
49 private int pollingTimeout = 15;
50 private List<String> relevantArtifactTypes = null;
51 private String user = null;
53 private String sdncUser = null;
54 private String sdncPasswd = null;
55 private String asdcApiBaseUrl = null;
56 private String asdcApiNamespace = null;
58 private SdncArtifactMap artifactMap = SdncArtifactMap.getInstance();
60 public String getAsdcApiNamespace() {
61 return asdcApiNamespace;
64 private String incomingDir = null;
66 private String archiveDir = null;
68 private String overrideFile = null;
70 private boolean activateServerTLSAuth;
71 private String keyStorePassword;
72 private String keyStorePath;
74 private String xsltPathList;
76 public String getXsltPathList() {
80 public String getOverrideFile() {
84 public SdncUebConfiguration() {
88 } catch (Exception e) {
89 LOG.error("Cannot initialize SdncUebConfiguration", e);
93 public void init() throws IOException {
94 String propPath = null;
95 String propDir = System.getenv(SDNC_CONFIG_DIR);
96 if (propDir == null) {
98 propDir = "/opt/sdnc/data/properties";
100 propPath = propDir + "/ueb-listener.properties";
101 File propFile = new File(propPath);
104 if (!propFile.exists()) {
106 throw new FileNotFoundException(
107 "Missing configuration properties file : "
111 Properties props = new Properties();
112 props.load(new FileInputStream(propFile));
114 asdcAddress = props.getProperty("org.openecomp.sdnc.uebclient.asdc-address");
115 consumerGroup = props.getProperty("org.openecomp.sdnc.uebclient.consumer-group");
116 consumerID = props.getProperty("org.openecomp.sdnc.uebclient.consumer-id");
117 environmentName = props.getProperty("org.openecomp.sdnc.uebclient.environment-name");
118 password = props.getProperty("org.openecomp.sdnc.uebclient.password");
119 user = props.getProperty("org.openecomp.sdnc.uebclient.user");
121 sdncUser = props.getProperty("org.openecomp.sdnc.uebclient.sdnc-user");
122 sdncPasswd = props.getProperty("org.openecomp.sdnc.uebclient.sdnc-passwd");
123 asdcApiBaseUrl = props.getProperty("org.openecomp.sdnc.uebclient.asdc-api-base-url");
124 asdcApiNamespace = props.getProperty("org.openecomp.sdnc.uebclient.asdc-api-namespace");
126 incomingDir = props.getProperty("org.openecomp.sdnc.uebclient.spool.incoming");
127 archiveDir = props.getProperty("org.openecomp.sdnc.uebclient.spool.archive");
128 overrideFile = props.getProperty("org.openecomp.sdnc.uebclient.override-file");
130 String curval = props.getProperty("org.openecomp.sdnc.uebclient.polling-interval");
131 if ((curval != null) && (curval.length() > 0)) {
133 pollingInterval = Integer.parseInt(curval);
134 } catch (Exception e) {
135 LOG.warn("Illegal value for org.openecomp.sdnc.uebclient.polling-interval ("+curval+")");
139 curval = props.getProperty("org.openecomp.sdnc.uebclient.polling-timeout");
140 if ((curval != null) && (curval.length() > 0)) {
142 pollingTimeout = Integer.parseInt(curval);
143 } catch (Exception e) {
144 LOG.warn("Illegal value for org.openecomp.sdnc.uebclient.polling-timeout ("+curval+")");
148 curval = props.getProperty("org.openecomp.sdnc.uebclient.relevant-artifact-types");
149 if ((curval != null) && (curval.length() > 0)) {
150 String[] artifactTypes = curval.split(",");
152 relevantArtifactTypes = new LinkedList<String>();
154 for (int i = 0 ; i < artifactTypes.length ; i++) {
156 if (ArtifactTypeEnum.valueOf(artifactTypes[i]) != null) {
157 relevantArtifactTypes.add(artifactTypes[i]);
159 LOG.warn("Skipping unrecognized artifact type "+artifactTypes[i]);
161 } catch (Exception e) {
163 LOG.warn("Caught exception validating artifact type "+artifactTypes[i], e);
170 curval = props.getProperty("org.openecomp.sdnc.uebclient.activate-server-tls-auth", "false");
171 activateServerTLSAuth = "true".equalsIgnoreCase(curval);
172 keyStorePath = props.getProperty("org.openecomp.sdnc.uebclient.keystore-path");
173 keyStorePassword = props.getProperty("org.openecomp.sdnc.uebclient.keystore-password");
174 xsltPathList = props.getProperty("org.openecomp.sdnc.uebclient.xslt-path-list");
177 String artifactMapFile = props.getProperty("org.openecomp.sdnc.uebclient.artifact-map");
178 if (artifactMapFile != null) {
179 artifactMap.load(artifactMapFile);
185 public String getAsdcAddress() {
190 public String getConsumerGroup() {
191 return consumerGroup;
195 public String getConsumerID() {
200 public String getEnvironmentName() {
201 return environmentName;
205 public String getPassword() {
210 public int getPollingInterval() {
211 return pollingInterval;
215 public int getPollingTimeout() {
216 return pollingTimeout;
220 public List<String> getRelevantArtifactTypes() {
221 return relevantArtifactTypes;
225 public String getUser() {
230 public String getSdncUser() {
234 public String getSdncPasswd() {
238 public String getAsdcApiBaseUrl() {
239 return asdcApiBaseUrl;
243 public boolean activateServerTLSAuth() {
244 return activateServerTLSAuth;
248 public String getKeyStorePassword() {
249 return keyStorePassword;
253 public String getKeyStorePath() {
257 public String getIncomingDir() {
261 public String getArchiveDir() {
265 public int getMaxPasses() {
266 return(artifactMap.getNumPasses());
269 public SdncArtifactMap.SdncArtifactType getMapping(String tag) {
270 return(artifactMap.getMapping(tag));
274 public boolean isFilterInEmptyResources() {
275 // TODO Auto-generated method stub