1 package org.opendaylight.mwtn.config.impl;
3 import org.opendaylight.mwtn.base.internalTypes.Environment;
4 import org.opendaylight.mwtn.base.internalTypes.IniConfigurationFile;
5 import org.opendaylight.mwtn.base.internalTypes.IniConfigurationFile.ConfigurationException;
6 import org.opendaylight.mwtn.config.impl.HtDevicemanagerConfiguration.ISubConfigHandler;
8 public class EsConfig extends BaseSubConfig {
10 public static final String SECTION_MARKER_ES = "es";
12 public static final String ESDATATYPENAME = "database";
14 private static final String EMPTY = "empty";
16 private static final String PROPERTY_KEY_CLUSTER = "esCluster";
18 private static final String DEFAULT_VALUE_CLUSTER = "";
20 private static EsConfig esConfig;
22 private String cluster;
27 public static String getESDATATYPENAME() {
28 return ESDATATYPENAME;
31 public String getCluster() {
35 public void setCluster(String cluster) {
36 this.cluster = cluster;
39 public String getHost() {
43 public void setHost(String host) {
47 public String getNode() {
51 public void setNode(String node) {
55 public String getIndex() {
59 public void setIndex(String index) {
64 public String toString() {
65 return "EsConfig [cluster=" + cluster + ", host=" + host + ", node=" + node + ", index=" + index + "]";
68 public EsConfig(IniConfigurationFile config, ISubConfigHandler configHandler) throws ConfigurationException {
69 this(config, configHandler, true);
72 public EsConfig(IniConfigurationFile config, ISubConfigHandler configHandler, boolean save)
73 throws ConfigurationException {
75 super(config, configHandler, SECTION_MARKER_ES);
76 String clustername = Environment.getVar("$HOSTNAME");
78 String c = this.getString(PROPERTY_KEY_CLUSTER, clustername);
79 if (c != null && c.startsWith("$"))
80 c = Environment.getVar(c);
82 this.node = String.format("%s%s", this.cluster, "n1");
83 this.host = "localhost";
86 config.setProperty(SECTION_MARKER_ES + "." + PROPERTY_KEY_CLUSTER, this.cluster);
96 this.cluster = DEFAULT_VALUE_CLUSTER;
100 public boolean equals(Object obj) {
101 if (obj instanceof EsConfig) {
102 EsConfig cobj = (EsConfig) obj;
103 if (!((cobj.cluster == null && this.cluster == null) || cobj.cluster.equals(this.cluster)))
105 if (!((cobj.host == null && this.host == null) || cobj.host.equals(this.host)))
107 if (!((cobj.node == null && this.node == null) || cobj.node.equals(this.node)))
109 if (!((cobj.index == null && this.index == null) || cobj.index.equals(this.index)))
113 return super.equals(obj);
116 public EsConfig cloneWithIndex(String index) {
117 EsConfig c = new EsConfig();
121 c.cluster = this.cluster;
125 public static boolean isInstantiated() {
126 return esConfig != null;
129 public static EsConfig getDefaultConfiguration() {
130 return new EsConfig();
133 public static EsConfig getEs(IniConfigurationFile config, ISubConfigHandler configHandler) {
134 if (esConfig == null)
136 esConfig = new EsConfig(config, configHandler);
137 } catch (ConfigurationException e) {
138 esConfig = EsConfig.getDefaultConfiguration();
143 public static EsConfig reload() {
144 if (esConfig == null)
148 tmpConfig = new EsConfig(esConfig.getConfig(), esConfig.getConfigHandler(), false);
149 } catch (ConfigurationException e) {
150 tmpConfig = EsConfig.getDefaultConfiguration();
152 esConfig = tmpConfig;