Implement spring Conduit bean registry and lots of cleanup
[jpim.git] / src / de / j32 / pimstuff / conduit / Config.java
diff --git a/src/de/j32/pimstuff/conduit/Config.java b/src/de/j32/pimstuff/conduit/Config.java
new file mode 100644 (file)
index 0000000..54708ce
--- /dev/null
@@ -0,0 +1,53 @@
+package de.j32.pimstuff.conduit;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.util.InvalidPropertiesFormatException;
+import java.util.Properties;
+
+public class Config
+{
+       static Config instance;
+       Properties config = new Properties();
+       
+       public static String get(String key, String defaultValue)
+       {
+               load();
+               
+               if (instance == null)
+                       return defaultValue;
+               else {
+                       String rv = instance.config.getProperty(key);
+                       if (rv == null)
+                               return defaultValue;
+                       return rv;
+               }
+       }
+
+       public static String get(String key)
+       {
+               String rv = get(key, null);
+               if (rv == null)
+                       throw new ConfigurationException("missing configuration parameter: " + key);
+               return rv;
+       }
+       
+       static void load()
+       {
+                       if (instance == null)
+                               try {
+                                       instance = new Config();
+                               }
+                               catch (InvalidPropertiesFormatException e) {}
+                               catch (FileNotFoundException e) {}
+                               catch (IOException e) {}
+       }
+       
+       Config() 
+               throws InvalidPropertiesFormatException, FileNotFoundException, IOException
+       {
+               config.loadFromXML(new FileInputStream("config.xml"));
+       }
+       
+}