1 package org.metricshub.ipmi.core.common;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 import java.io.IOException;
26 import java.util.HashMap;
27 import java.util.Map;
28 import java.util.Properties;
29
30 import org.slf4j.Logger;
31 import org.slf4j.LoggerFactory;
32
33 public final class PropertiesManager {
34
35 private static PropertiesManager instance;
36
37 private Map<String, String> properties;
38
39 private Logger logger = LoggerFactory.getLogger(PropertiesManager.class);
40
41 private PropertiesManager() {
42 properties = new HashMap<String, String>();
43
44 loadProperties("/connection.properties");
45 loadProperties("/vxipmi.properties");
46 }
47
48 public static PropertiesManager getInstance() {
49 if (instance == null) {
50 instance = new PropertiesManager();
51 }
52 return instance;
53 }
54
55 private void loadProperties(String name) {
56 try {
57 Properties props = new Properties();
58 props.load(getClass().getResourceAsStream(name));
59
60 for (Object key : props.keySet()) {
61 this.properties.put(key.toString(), props.getProperty(key.toString()));
62 }
63
64 } catch (IOException e) {
65 logger.error(e.getMessage(), e);
66 }
67 }
68
69 public String getProperty(String key) {
70 logger.info("Getting " + key + ": " + properties.get(key));
71 return properties.get(key);
72 }
73
74 public void setProperty(String key, String value) {
75 properties.put(key, value);
76 }
77 }