parent
bc604a3a53
commit
e6eef8899f
@ -1,75 +0,0 @@
|
||||
package data;
|
||||
|
||||
import java.util.prefs.Preferences;
|
||||
import data.Const;
|
||||
|
||||
public class Options {
|
||||
private Preferences store;
|
||||
private boolean wasEmpty;
|
||||
private static final String DEF_OPTS_PATH = "";
|
||||
|
||||
public Options() {
|
||||
//store = Preferences.userRoot();
|
||||
//wasEmpty = store.nodeExists(Const.PROGRAM_NAME);
|
||||
//store = store.node(Const.PROGRAM_NAME);
|
||||
//if (wasEmpty) {
|
||||
// //load default opts from resource
|
||||
// importDefPreferences();
|
||||
//}
|
||||
}
|
||||
|
||||
public Options(String pathname) {
|
||||
store = Preferences.userRoot().node(pathname);
|
||||
}
|
||||
|
||||
public Options getSection(String section) {
|
||||
//String path = Const.PROGRAM_NAME + "/" + section;
|
||||
//Options result = new Options(path);
|
||||
//return result;
|
||||
return null;
|
||||
}
|
||||
|
||||
public void imoprtPreferences(String xmlpath) {
|
||||
//XXX
|
||||
System.out.println("Loaded preference from: "
|
||||
+ xmlpath);
|
||||
}
|
||||
|
||||
public void imoprtDefPreferences(String xmlpath) {
|
||||
//XXX
|
||||
System.out.println("Loaded default preference: ");
|
||||
}
|
||||
|
||||
public void exportPreferences(String xmlpath) {
|
||||
//XXX
|
||||
System.out.println("Exported preference from: "
|
||||
+ xmlpath);
|
||||
}
|
||||
|
||||
public void destroy() {
|
||||
//XXX
|
||||
// Clear config if requested or config was empty
|
||||
// and is not saving
|
||||
//if ((getBool(EMPTY) && getBool(NO_SAVE))
|
||||
// || getBool(CLEAR)) {
|
||||
// this.store.clear();
|
||||
// }
|
||||
}
|
||||
|
||||
// Default all false bool pref to be safe
|
||||
// Default should be imported by constructor regardless
|
||||
public boolean getBool(String key) {
|
||||
return this.store.getBoolean(key, false);
|
||||
}
|
||||
|
||||
// Default all empty string pref to be safe
|
||||
// Default should be imported by constructor regardless
|
||||
public String getString(String key) {
|
||||
return this.store.get(key, "");
|
||||
}
|
||||
|
||||
public void parseArgs(String[] args) {
|
||||
//XXX
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,150 @@
|
||||
package ui;
|
||||
|
||||
import java.util.prefs.Preferences;
|
||||
import java.util.prefs.BackingStoreException;
|
||||
import java.util.prefs.InvalidPreferencesFormatException;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.InputStream;
|
||||
import data.Const;
|
||||
|
||||
public class Options {
|
||||
private Preferences store;
|
||||
private boolean wasEmpty;
|
||||
private boolean noSave;
|
||||
private static final String DEF_OPTS_PATH = "";
|
||||
private static final String DEF_BACKUP = ".jwatch-backup.xml";
|
||||
private static final String RES_DEF = "defPref.xml";
|
||||
|
||||
public Options() {
|
||||
store = Preferences.userRoot();
|
||||
try {
|
||||
wasEmpty = store.nodeExists(Const.PROGRAM_NAME);
|
||||
store = store.node(Const.PROGRAM_NAME);
|
||||
if (wasEmpty) {
|
||||
//load default opts from resource
|
||||
//XXX
|
||||
//importDefPreferences();
|
||||
}
|
||||
} catch (BackingStoreException e) {
|
||||
System.out.println("Critical Error: preference backing cannot be initialized");
|
||||
throw new RuntimeException();
|
||||
}
|
||||
}
|
||||
|
||||
public Options(String pathname) {
|
||||
store = Preferences.userRoot().node(pathname);
|
||||
}
|
||||
|
||||
public Options getSection(String section) {
|
||||
//String path = Const.PROGRAM_NAME + "/" + section;
|
||||
//Options result = new Options(path);
|
||||
//return result;
|
||||
return null;
|
||||
}
|
||||
|
||||
public void importPreferences(String xmlpath) {
|
||||
try {
|
||||
File tarFile = new File(xmlpath);
|
||||
FileInputStream tarStream = new FileInputStream(tarFile);
|
||||
store.importPreferences(tarStream);
|
||||
tarStream.close();
|
||||
} catch (FileNotFoundException e) {
|
||||
System.out.println("File not found: " + xmlpath);
|
||||
} catch (IOException e) {
|
||||
System.out.println("IO Error when reading: " + xmlpath);
|
||||
e.printStackTrace();
|
||||
} catch (InvalidPreferencesFormatException e) {
|
||||
System.out.println("Import format error, possible file corruption");
|
||||
}
|
||||
}
|
||||
|
||||
public void importDefPreferences() {
|
||||
try {
|
||||
InputStream istream = getClass().getResourceAsStream(RES_DEF);
|
||||
store.importPreferences(istream);
|
||||
istream.close();
|
||||
} catch (IOException e) {
|
||||
System.out.println("IO Error while reading def pref: "
|
||||
+ RES_DEF);
|
||||
} catch (InvalidPreferencesFormatException e) {
|
||||
System.out.println("Def resPref format error, possible program corruption");
|
||||
}
|
||||
}
|
||||
|
||||
public void exportPreferences(String xmlpath) {
|
||||
try {
|
||||
File tarFile = new File(xmlpath);
|
||||
if (tarFile.isFile()) {
|
||||
tarFile.delete();
|
||||
} else {
|
||||
tarFile.createNewFile();
|
||||
}
|
||||
FileOutputStream tarStream = new FileOutputStream(tarFile);
|
||||
store.exportSubtree(tarStream);
|
||||
tarStream.flush();
|
||||
tarStream.close();
|
||||
System.out.println("Exported preference to: " + xmlpath);
|
||||
} catch (IOException e) {
|
||||
System.out.println("IO Error when writing: " + xmlpath);
|
||||
} catch (BackingStoreException e) {
|
||||
System.out.println("Error retriving pref from store");
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public void destroy() {
|
||||
// Clear config if requested or config was empty
|
||||
// and is not saving
|
||||
if (wasEmpty && noSave) {
|
||||
try {
|
||||
this.store.clear();
|
||||
} catch (BackingStoreException e) {
|
||||
System.out.println("Error clearing pref store");
|
||||
e.printStackTrace();
|
||||
}
|
||||
} else if (noSave) {
|
||||
restorePrevious();
|
||||
}
|
||||
delBackup();
|
||||
}
|
||||
|
||||
public void backupPref() {
|
||||
exportPreferences(DEF_BACKUP);
|
||||
System.out.println("User Pref Backup created");
|
||||
}
|
||||
|
||||
public void delBackup() {
|
||||
try {
|
||||
File tarFile = new File(DEF_BACKUP);
|
||||
tarFile.delete();
|
||||
} catch (Exception e) {
|
||||
System.out.println("Error deleting backup user pref");
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public void restorePrevious() {
|
||||
importPreferences(DEF_BACKUP);
|
||||
}
|
||||
|
||||
// Default all false bool pref to be safe
|
||||
// Default should be imported by constructor regardless
|
||||
public boolean getBool(String key) {
|
||||
return this.store.getBoolean(key, false);
|
||||
}
|
||||
|
||||
// Default all empty string pref to be safe
|
||||
// Default should be imported by constructor regardless
|
||||
public String getString(String key) {
|
||||
return this.store.get(key, "");
|
||||
}
|
||||
|
||||
public void parseArgs(String[] args) {
|
||||
//XXX
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Reference in new issue