1 /*******************************************************************************
2 * ============LICENSE_START========================================================================
3 * ONAP : ccsdk feature sdnr wt
4 * =================================================================================================
5 * Copyright (C) 2019 highstreet technologies GmbH Intellectual Property. All rights reserved.
6 * =================================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
8 * in compliance with the License. You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software distributed under the License
13 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
14 * or implied. See the License for the specific language governing permissions and limitations under
16 * ============LICENSE_END==========================================================================
17 ******************************************************************************/
18 package org.onap.ccsdk.features.sdnr.wt.devicemanager.toggleAlarmFilter.conf;
20 import org.onap.ccsdk.features.sdnr.wt.common.configuration.Configuration;
21 import org.onap.ccsdk.features.sdnr.wt.common.configuration.ConfigurationFileRepresentation;
23 public class ToggleAlarmConfig implements Configuration {
25 private static final String SECTION_MARKER_TA = "toggleAlarmFilter";
27 private static final String PROPERTY_KEY_ENABLED = "taEnabled";
28 private static final String PROPERTY_KEY_DELAY = "taDelay";
30 private static final boolean DEFAULT_VALUE_ENABLED = true;
31 private static final long DEFAULT_VALUE_DELAY = 3000; //in ms
33 private final ConfigurationFileRepresentation configuration;
35 public ToggleAlarmConfig(ConfigurationFileRepresentation configuration) {
36 this.configuration = configuration;
37 this.configuration.addSection(SECTION_MARKER_TA);
41 public boolean isEnabled() {
42 return configuration.getPropertyBoolean(SECTION_MARKER_TA, PROPERTY_KEY_ENABLED);
44 public long getDelay() {
45 return configuration.getPropertyLong(SECTION_MARKER_TA, PROPERTY_KEY_DELAY).orElse(DEFAULT_VALUE_DELAY);
49 public String getSectionName() {
50 return SECTION_MARKER_TA;
54 public void defaults() {
55 //Add default if not available
56 configuration.setPropertyIfNotAvailable(SECTION_MARKER_TA, PROPERTY_KEY_ENABLED, DEFAULT_VALUE_ENABLED);
57 configuration.setPropertyIfNotAvailable(SECTION_MARKER_TA, PROPERTY_KEY_DELAY, DEFAULT_VALUE_DELAY);