1 package org.gforge.soapclient;
4 import java.io.FileInputStream;
5 import java.io.FileOutputStream;
6 import java.io.IOException;
8 import java.util.Properties;
10 public class Settings {
12 private File settingsFile;
14 public static Settings getInstance() {
15 return new Settings();
19 File homeDir = new File(System.getProperty("user.home"));
20 if (!homeDir.exists()) {
24 File settingsDir = new File(homeDir.getAbsolutePath() + System.getProperty("file.separator") + ".gforgejavasoapclient");
25 if (!settingsDir.exists()) {
29 settingsFile = new File(settingsDir.getAbsolutePath(), "settings.txt");
32 public void save(String key, String value) {
34 Properties savedProperties = new Properties();
36 if (settingsFile.exists()) {
37 loadProps(savedProperties);
40 savedProperties.setProperty(key, value);
42 FileOutputStream fos = new FileOutputStream(settingsFile);
43 savedProperties.store(fos, "GForge Java SOAP client settings " + new Date());
45 } catch (Exception e) {
47 throw new RuntimeException(e.getMessage());
52 public String get(String key) {
54 Properties properties = new Properties();
55 if (settingsFile.exists()) {
56 loadProps(properties);
57 return properties.getProperty(key);
60 } catch (Exception e) {
62 throw new RuntimeException(e.getMessage());
67 private void loadProps(Properties properties) throws IOException {
68 FileInputStream fis = new FileInputStream(settingsFile);