1 package org.opendaylight.mwtn.config.impl;
3 import org.opendaylight.mwtn.base.internalTypes.IniConfigurationFile;
4 import org.opendaylight.mwtn.base.internalTypes.IniConfigurationFile.ConfigurationException;
5 import org.opendaylight.mwtn.config.impl.HtDevicemanagerConfiguration.ISubConfigHandler;
7 public class DcaeConfig extends BaseSubConfig {
8 private static final String SECTION_MARKER_DCAE = "dcae";
10 private static final String PROPERTY_KEY_EVENTRECEIVERURL = "dcaeUrl";
11 //private static final String PROPERTY_KEY_TESTCOLLECTOR = "dcaeTestCollector";
12 private static final String PROPERTY_KEY_USERCREDENTIALS = "dcaeUserCredentials";
13 private static final String PROPERTY_KEY_TIMERPERIOD = "dcaeHeartbeatPeriodSeconds";
15 private static final String DEFAULT_VALUE_EVENTRECEIVERURL = "off";
16 private static final String DEFAULT_VALUE_TESTCOLLECTOR = "no";
17 private static final String DEFAULT_VALUE_USERCREDENTIALS = "admin:admin";
18 private static final int DEFAULT_VALUE_TIMERPERIOD = 120;
20 private static DcaeConfig dcaeConfig = null; // Singleton of configuration data
22 private String eventReceiverUrl;
23 private String userCredentials;
24 private Integer timerPeriodSeconds;
26 private DcaeConfig() {
28 this.eventReceiverUrl = DEFAULT_VALUE_EVENTRECEIVERURL;
29 this.userCredentials = DEFAULT_VALUE_USERCREDENTIALS;
30 this.timerPeriodSeconds = DEFAULT_VALUE_TIMERPERIOD;
33 private DcaeConfig(IniConfigurationFile config, ISubConfigHandler configHandler) throws ConfigurationException {
34 this(config, configHandler, true);
37 private DcaeConfig(IniConfigurationFile config, ISubConfigHandler configHandler, boolean save)
38 throws ConfigurationException {
40 super(config, configHandler, SECTION_MARKER_DCAE);
42 this.eventReceiverUrl = this.getString(PROPERTY_KEY_EVENTRECEIVERURL, DEFAULT_VALUE_EVENTRECEIVERURL);
43 this.userCredentials = this.getString(PROPERTY_KEY_USERCREDENTIALS, DEFAULT_VALUE_USERCREDENTIALS);
44 this.timerPeriodSeconds = this.getInt(PROPERTY_KEY_TIMERPERIOD, DEFAULT_VALUE_TIMERPERIOD);
46 config.setProperty(SECTION_MARKER_DCAE + "." + PROPERTY_KEY_EVENTRECEIVERURL, this.eventReceiverUrl);
47 config.setProperty(SECTION_MARKER_DCAE + "." + PROPERTY_KEY_USERCREDENTIALS, this.userCredentials);
48 config.setProperty(SECTION_MARKER_DCAE + "." + PROPERTY_KEY_TIMERPERIOD, this.timerPeriodSeconds);
58 public void setEventReceiverUrl(String eventReveicerUrl) {
59 this.eventReceiverUrl = eventReveicerUrl;
62 public void setUserCredentials(String userCredentials) {
63 this.userCredentials = userCredentials;
68 public void setTimerPeriodSeconds(Integer timerPeriodSeconds) {
69 this.timerPeriodSeconds = timerPeriodSeconds;
76 public String getEventReveicerUrl() {
77 return eventReceiverUrl;
80 public String getUserCredentials() {
81 return userCredentials;
85 public Integer getTimerPeriodSeconds() {
86 return timerPeriodSeconds;
90 public String toString() {
91 return "DcaeConfig [eventReceiverUrl=" + eventReceiverUrl + ", userCredentials=" + userCredentials
92 + ", timerPeriodSeconds=" + timerPeriodSeconds + "]";
96 public boolean equals(Object obj) {
97 if (obj instanceof DcaeConfig) {
98 DcaeConfig cobj = (DcaeConfig) obj;
99 if (!((cobj.eventReceiverUrl == null && this.eventReceiverUrl == null)
100 || cobj.eventReceiverUrl.equals(this.eventReceiverUrl)))
102 if (!((cobj.userCredentials == null && this.userCredentials == null)
103 || cobj.userCredentials.equals(this.userCredentials)))
105 if (cobj.timerPeriodSeconds != this.timerPeriodSeconds)
109 return super.equals(obj);
112 /*-------------------------------------
116 public static DcaeConfig getDefaultConfiguration() {
117 return (new DcaeConfig());
120 public static DcaeConfig getDcae(IniConfigurationFile config, ISubConfigHandler configHandler) {
121 if (dcaeConfig == null)
123 dcaeConfig = new DcaeConfig(config, configHandler);
124 } catch (ConfigurationException e) {
125 dcaeConfig = DcaeConfig.getDefaultConfiguration();
130 public static boolean isInstantiated() {
131 return dcaeConfig != null;
134 public static DcaeConfig reload() {
135 if (dcaeConfig == null)
137 DcaeConfig tmpConfig;
139 tmpConfig = new DcaeConfig(dcaeConfig.getConfig(), dcaeConfig.getConfigHandler(), false);
140 } catch (ConfigurationException e) {
141 tmpConfig = DcaeConfig.getDefaultConfiguration();
143 dcaeConfig = tmpConfig;