use of java.util.prefs.BackingStoreException in project JMRI by JMRI.
the class ManagerDefaultSelector method initialize.
@Override
public void initialize(Profile profile) throws InitializationException {
if (!this.isInitialized(profile)) {
// NOI18N
Preferences settings = ProfileUtils.getPreferences(profile, this.getClass(), true).node("defaults");
try {
for (String name : settings.keys()) {
String connection = settings.get(name, null);
Class<?> cls = this.classForName(name);
log.debug("Loading default {} for {}", connection, name);
if (cls != null) {
this.defaults.put(cls, connection);
log.debug("Loaded default {} for {}", connection, cls);
}
}
} catch (BackingStoreException ex) {
log.info("Unable to read preferences for Default Selector.");
}
InitializationException ex = this.configure();
ConfigureManager manager = InstanceManager.getNullableDefault(ConfigureManager.class);
if (manager != null) {
// allow ProfileConfig.xml to be written correctly
manager.registerPref(this);
}
this.setInitialized(profile, true);
if (ex != null) {
throw ex;
}
}
}
use of java.util.prefs.BackingStoreException in project JMRI by JMRI.
the class GuiLafPreferencesManager method savePreferences.
@Override
public void savePreferences(Profile profile) {
Preferences preferences = ProfileUtils.getPreferences(profile, this.getClass(), true);
preferences.put(LOCALE, this.getLocale().toLanguageTag());
preferences.put(LOOK_AND_FEEL, this.getLookAndFeel());
int temp = this.getFontSize();
if (temp == this.getDefaultFontSize()) {
temp = 0;
}
if (temp != preferences.getInt(FONT_SIZE, -1)) {
preferences.putInt(FONT_SIZE, temp);
}
preferences.putBoolean(NONSTANDARD_MOUSE_EVENT, this.isNonStandardMouseEvent());
// use graphic icons in bean table state column
preferences.putBoolean(GRAPHICTABLESTATE, this.isGraphicTableState());
preferences.putInt(SHOW_TOOL_TIP_TIME, this.getToolTipDismissDelay());
try {
preferences.sync();
} catch (BackingStoreException ex) {
log.error("Unable to save preferences.", ex);
}
this.setDirty(false);
}
use of java.util.prefs.BackingStoreException in project sling by apache.
the class Util method setPreference.
static void setPreference(final String name, final Object value, final boolean flush) {
Preferences prefs = getPreferences();
try {
prefs.sync();
if (value instanceof Long) {
prefs.putLong(name, (Long) value);
} else if (value instanceof Integer) {
prefs.putInt(name, (Integer) value);
} else if (value instanceof int[]) {
String string = null;
for (int val : (int[]) value) {
if (string == null) {
string = String.valueOf(val);
} else {
string += "," + val;
}
}
prefs.put(name, string);
} else if (value != null) {
prefs.put(name, value.toString());
}
if (flush) {
prefs.flush();
}
} catch (BackingStoreException ioe) {
// ignore
}
}
use of java.util.prefs.BackingStoreException in project processdash by dtuma.
the class MRUPreferencesList method createNewNode.
private Preferences createNewNode(Map<String, String> nodeAttrs) {
String key = getUnusedKey();
Preferences result = prefsBase.node(key);
// if we are recycling a node from the past, delete and recreate it.
if (exists(result)) {
try {
result.removeNode();
result.flush();
result = prefsBase.node(key);
} catch (BackingStoreException bse) {
}
}
for (Map.Entry<String, String> e : nodeAttrs.entrySet()) {
String name = e.getKey();
String val = e.getValue();
if (val != null)
result.put(name, val);
}
result.putLong(FIRST_USED, System.currentTimeMillis());
flush(result);
return result;
}
use of java.util.prefs.BackingStoreException in project processdash by dtuma.
the class PreferencesUtils method putCLOB.
/**
* Store a character large object (CLOB) under the given key in the given
* preference node.
*
* @param prefs the preference node to store data under
* @param key the key to associate data with
* @param clob the CLOB value to store
*/
public static void putCLOB(Preferences prefs, String key, String clob) {
if (clob == null)
throw new NullPointerException("CLOB value cannot be null");
// a single preference key, just store it normally.
if (clob.length() < Preferences.MAX_VALUE_LENGTH && !isCheckVal(clob)) {
removeCLOB(prefs, key);
prefs.put(key, clob);
return;
}
// First, write the checksum value. Then, if anything below fails, the
// worst case scenario is that we will be able to detect the corrupt
// data and revert to a future default.
prefs.put(key, getCheckVal(clob));
// Create a child node specifically for "clob storage" for this key
Preferences p = getClobStorage(prefs, key);
try {
p.clear();
} catch (BackingStoreException bse) {
// it would be nice to clear all data underneath the clob storage
// node since it might reduce our resource utilization. But even
// if this fails, the code below ought to cover our bases.
}
// Split the CLOB into smaller pieces, and put them under our clob
// storage node with the numerically ascending keys.
int num = 0;
while (true) {
int len = clob.length();
int pieceLen = Math.min(len, Preferences.MAX_VALUE_LENGTH - 1);
p.put(Integer.toString(num++), clob.substring(0, pieceLen));
if (len == pieceLen)
break;
clob = clob.substring(pieceLen);
}
// Delete the key that immediately follows our numerically ascending
// keys. This way, if the clear() call above failed, we will still
// be able to detect the end of the stored data.
p.remove(Integer.toString(num));
}
Aggregations