105b915c70e2e9aea0ee9696427f7d5b70d9eb39
[ccsdk/features.git] /
1 /*
2  * ============LICENSE_START=======================================================
3  * ONAP : ccsdk features
4  * ================================================================================
5  * Copyright (C) 2020 highstreet technologies GmbH Intellectual Property.
6  * All rights reserved.
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
11  *
12  *     http://www.apache.org/licenses/LICENSE-2.0
13  *
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=========================================================
20  *
21  */
22 package org.onap.ccsdk.features.sdnr.wt.devicemanager.vescollectorconnector.impl.config;
23
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;
27
28 public class VESCollectorCfgImpl implements VESCollectorCfgService, Configuration {
29
30     private static final String SECTION_MARKER = "VESCollector";
31
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 boolean DEFAULT_VALUE_VES_COLLECTOR_ENABLED = false;
35
36     private static final String PROPERTY_KEY_VES_COLLECTOR_IP = "VES_COLLECTOR_IP";
37     private static final String DEFAULT_VALUE_VES_COLLECTOR_IP = "127.0.0.1";
38
39     private static final String PROPERTY_KEY_VES_COLLECTOR_PORT = "VES_COLLECTOR_PORT";
40     private static final String DEFAULT_VALUE_VES_COLLECTOR_PORT = "8080";
41
42     private static final String PROPERTY_KEY_VES_COLLECTOR_TLS_ENABLED = "VES_COLLECTOR_TLS_ENABLED";
43     private static final String PROPERTY_KEY_VES_COLLECTOR_TRUST_ALL_CERTS = "VES_COLLECTOR_TRUST_ALL_CERTS";
44
45     private static final String PROPERTY_KEY_VES_COLLECTOR_USERNAME = "VES_COLLECTOR_USERNAME";
46     private static final String DEFAULT_VALUE_VES_COLLECTOR_USERNAME = "sample1";
47
48     private static final String PROPERTY_KEY_VES_COLLECTOR_PASSWORD = "VES_COLLECTOR_PASSWORD";
49     private static final String DEFAULT_VALUE_VES_COLLECTOR_PASSWORD = "sample1";
50
51     private static final String PROPERTY_KEY_VES_COLLECTOR_VERSION = "VES_COLLECTOR_VERSION";
52     private static final String DEFAULT_VALUE_VES_COLLECTOR_VERSION = "v7";
53
54     private static final String PROPERTY_KEY_REPORTING_ENTITY_NAME = "REPORTING_ENTITY_NAME";
55     private static final String DEFAULT_VALUE_REPORTING_ENTITY_NAME = "ONAP SDN-R";
56
57     private static final String PROPERTY_KEY_EVENTLOG_DETAIL = "EVENTLOG_MSG_DETAIL";
58     private static final String DEFAULT_VALUE_EVENTLOG_DETAIL = "SHORT"; // "SHORT", "MEDIUM", "LONG"
59
60
61     private static ConfigurationFileRepresentation configuration;
62
63     public VESCollectorCfgImpl(ConfigurationFileRepresentation configuration) {
64         VESCollectorCfgImpl.configuration = configuration;
65         VESCollectorCfgImpl.configuration.addSection(SECTION_MARKER);
66         defaults();
67     }
68
69     @Override
70     public String getSectionName() {
71         return SECTION_MARKER;
72     }
73
74     @Override
75     public String getReportingEntityName() {
76         return configuration != null ? configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_REPORTING_ENTITY_NAME) : "ONAP SDN-R";
77     }
78
79     @Override
80     public String getEventLogMsgDetail() {
81         return configuration != null ?configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_EVENTLOG_DETAIL) : DEFAULT_VALUE_EVENTLOG_DETAIL;
82     }
83
84     @Override
85     public boolean isVESCollectorEnabled() {
86         return configuration.getPropertyBoolean(SECTION_MARKER, PROPERTY_KEY_VES_COLLECTOR_ENABLED);
87     }
88
89     public boolean getTLSEnabled() {
90         return configuration.getPropertyBoolean(SECTION_MARKER, PROPERTY_KEY_VES_COLLECTOR_TLS_ENABLED);
91     }
92
93     public String getUsername() {
94         return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_VES_COLLECTOR_USERNAME);
95     }
96
97     public String getPassword() {
98         return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_VES_COLLECTOR_PASSWORD);
99     }
100
101     public String getIP() {
102         return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_VES_COLLECTOR_IP);
103     }
104
105     public String getPort() {
106         return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_VES_COLLECTOR_PORT);
107     }
108
109     public String getVersion() {
110         return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_VES_COLLECTOR_VERSION);
111     }
112
113     public boolean isTrustAllCerts() {
114         return configuration.getPropertyBoolean(SECTION_MARKER, PROPERTY_KEY_VES_COLLECTOR_TRUST_ALL_CERTS);
115     }
116
117     @Override
118     public synchronized void defaults() {
119         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_VES_COLLECTOR_ENABLED, DEFAULT_VALUE_VES_COLLECTOR_ENABLED);
120         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_VES_COLLECTOR_TLS_ENABLED, Boolean.FALSE);
121         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_VES_COLLECTOR_TRUST_ALL_CERTS, Boolean.FALSE);
122         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_VES_COLLECTOR_USERNAME,
123                 DEFAULT_VALUE_VES_COLLECTOR_USERNAME);
124         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_VES_COLLECTOR_PASSWORD,
125                 DEFAULT_VALUE_VES_COLLECTOR_PASSWORD);
126         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_VES_COLLECTOR_IP,
127                 DEFAULT_VALUE_VES_COLLECTOR_IP);
128         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_VES_COLLECTOR_PORT,
129                 DEFAULT_VALUE_VES_COLLECTOR_PORT);
130         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_VES_COLLECTOR_VERSION,
131                 DEFAULT_VALUE_VES_COLLECTOR_VERSION);
132         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_REPORTING_ENTITY_NAME,
133                 DEFAULT_VALUE_REPORTING_ENTITY_NAME);
134         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_EVENTLOG_DETAIL,
135                 DEFAULT_VALUE_EVENTLOG_DETAIL);
136     }
137
138 }