2 * ============LICENSE_START=======================================================
3 * ONAP : ccsdk features
4 * ================================================================================
5 * Copyright (C) 2020 highstreet technologies GmbH Intellectual Property.
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.onap.ccsdk.features.sdnr.wt.devicemanager.vescollectorconnector.impl.config;
24 import org.onap.ccsdk.features.sdnr.wt.common.configuration.Configuration;
25 import org.onap.ccsdk.features.sdnr.wt.common.configuration.ConfigurationFileRepresentation;
26 import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.VESCollectorCfgService;
28 public class VESCollectorCfgImpl implements VESCollectorCfgService, Configuration {
30 private static final String SECTION_MARKER = "VESCollector";
32 /** set to true if VES Collector is installed and configured */
33 private static final String PROPERTY_KEY_VES_COLLECTOR_ENABLED = "VES_COLLECTOR_ENABLED";
34 private static final String DEFAULT_VALUE_VES_COLLECTOR_ENABLED = "${SDNR_VES_COLLECTOR_ENABLED}";
36 private static final String PROPERTY_KEY_VES_COLLECTOR_IP = "VES_COLLECTOR_IP";
37 private static final String DEFAULT_VALUE_VES_COLLECTOR_IP = "${SDNR_VES_COLLECTOR_IP}";
39 private static final String PROPERTY_KEY_VES_COLLECTOR_PORT = "VES_COLLECTOR_PORT";
40 private static final String DEFAULT_VALUE_VES_COLLECTOR_PORT = "${SDNR_VES_COLLECTOR_PORT}";
42 private static final String PROPERTY_KEY_VES_COLLECTOR_TLS_ENABLED = "VES_COLLECTOR_TLS_ENABLED";
43 private static final String DEFAULT_VALUE_VES_COLLECTOR_TLS_ENABLED = "${SDNR_VES_COLLECTOR_TLS_ENABLED}";
45 private static final String PROPERTY_KEY_VES_COLLECTOR_TRUST_ALL_CERTS = "VES_COLLECTOR_TRUST_ALL_CERTS";
46 private static final String DEFAULT_VALUE_VES_COLLECTOR_TRUST_ALL_CERTS = "${SDNR_VES_COLLECTOR_TRUST_ALL_CERTS}";
48 private static final String PROPERTY_KEY_VES_COLLECTOR_USERNAME = "VES_COLLECTOR_USERNAME";
49 private static final String DEFAULT_VALUE_VES_COLLECTOR_USERNAME = "${SDNR_VES_COLLECTOR_USERNAME}";
51 private static final String PROPERTY_KEY_VES_COLLECTOR_PASSWORD = "VES_COLLECTOR_PASSWORD";
52 private static final String DEFAULT_VALUE_VES_COLLECTOR_PASSWORD = "${SDNR_VES_COLLECTOR_PASSWORD}";
54 private static final String PROPERTY_KEY_VES_COLLECTOR_VERSION = "VES_COLLECTOR_VERSION";
55 private static final String DEFAULT_VALUE_VES_COLLECTOR_VERSION = "${SDNR_VES_COLLECTOR_VERSION}";
56 private static final String DEFAULT_VALUE_VES_COLLECTOR_VERSION_NA = "v7";
58 private static final String PROPERTY_KEY_REPORTING_ENTITY_NAME = "REPORTING_ENTITY_NAME";
59 private static final String DEFAULT_VALUE_REPORTING_ENTITY_NAME = "${SDNR_VES_COLLECTOR_REPORTING_ENTITY_NAME}";
60 private static final String DEFAULT_VALUE_REPORTING_ENTITY_NAME_NA = "ONAP SDN-R";
62 private static final String PROPERTY_KEY_EVENTLOG_DETAIL = "EVENTLOG_MSG_DETAIL";
63 private static final String DEFAULT_VALUE_EVENTLOG_DETAIL = "${SDNR_VES_COLLECTOR_EVENTLOG_MSG_DETAIL}";
64 private static final String DEFAULT_VALUE_EVENTLOG_DETAIL_NA = "SHORT"; // "SHORT", "MEDIUM", "LONG"
67 private static ConfigurationFileRepresentation configuration;
69 public VESCollectorCfgImpl(ConfigurationFileRepresentation configuration) {
70 VESCollectorCfgImpl.configuration = configuration;
71 VESCollectorCfgImpl.configuration.addSection(SECTION_MARKER);
76 public String getSectionName() {
77 return SECTION_MARKER;
81 public String getReportingEntityName() {
82 String v = configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_REPORTING_ENTITY_NAME);
83 return (v == null || v.isBlank()) ? DEFAULT_VALUE_REPORTING_ENTITY_NAME_NA : v;
87 public String getEventLogMsgDetail() {
88 String v = configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_EVENTLOG_DETAIL);
89 return (v == null || v.isBlank()) ? DEFAULT_VALUE_EVENTLOG_DETAIL_NA : v;
93 public boolean isVESCollectorEnabled() {
94 return configuration.getPropertyBoolean(SECTION_MARKER, PROPERTY_KEY_VES_COLLECTOR_ENABLED);
97 public boolean getTLSEnabled() {
98 return configuration.getPropertyBoolean(SECTION_MARKER, PROPERTY_KEY_VES_COLLECTOR_TLS_ENABLED);
101 public String getUsername() {
102 return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_VES_COLLECTOR_USERNAME);
105 public String getPassword() {
106 return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_VES_COLLECTOR_PASSWORD);
109 public String getIP() {
110 return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_VES_COLLECTOR_IP);
113 public String getPort() {
114 return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_VES_COLLECTOR_PORT);
117 public String getVersion() {
118 String v = configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_VES_COLLECTOR_VERSION);
119 return (v == null || v.isBlank()) ? DEFAULT_VALUE_VES_COLLECTOR_VERSION_NA : v;
122 public boolean isTrustAllCerts() {
123 return configuration.getPropertyBoolean(SECTION_MARKER, PROPERTY_KEY_VES_COLLECTOR_TRUST_ALL_CERTS);
127 public synchronized void defaults() {
128 configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_VES_COLLECTOR_ENABLED,
129 DEFAULT_VALUE_VES_COLLECTOR_ENABLED);
130 configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_VES_COLLECTOR_TLS_ENABLED,
131 DEFAULT_VALUE_VES_COLLECTOR_TLS_ENABLED);
132 configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_VES_COLLECTOR_TRUST_ALL_CERTS,
133 DEFAULT_VALUE_VES_COLLECTOR_TRUST_ALL_CERTS);
134 configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_VES_COLLECTOR_USERNAME,
135 DEFAULT_VALUE_VES_COLLECTOR_USERNAME);
136 configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_VES_COLLECTOR_PASSWORD,
137 DEFAULT_VALUE_VES_COLLECTOR_PASSWORD);
138 configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_VES_COLLECTOR_IP,
139 DEFAULT_VALUE_VES_COLLECTOR_IP);
140 configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_VES_COLLECTOR_PORT,
141 DEFAULT_VALUE_VES_COLLECTOR_PORT);
142 configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_VES_COLLECTOR_VERSION,
143 DEFAULT_VALUE_VES_COLLECTOR_VERSION);
144 configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_REPORTING_ENTITY_NAME,
145 DEFAULT_VALUE_REPORTING_ENTITY_NAME);
146 configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_EVENTLOG_DETAIL,
147 DEFAULT_VALUE_EVENTLOG_DETAIL);