package org.obeonetwork.dsl.togaf.contentfwk.contentfwk.util;
import java.util.MissingResourceException;
import java.util.ResourceBundle;
/**
*
* @author <a href="mailto:vincent.richard@obeo.fr">Vincent Richard</a>
* @since 1.5.2
*/
public class ContentfwkPreferences {
private static final String PREFERENCES_RESOURCE_FRAGMENT_BASE_NAME = "org.obeonetwork.dsl.togaf.contentfwk.fragment.util.preferences"; //$NON-NLS-1$
private static final String ELEMENT_ID_UNICITY_CHECK_ENABLED_KEY = "elementIdUnicityCheckEnabled"; //$NON-NLS-1$
private static final String ELEMENT_ID_INITIALIZATION_POLICY_KEY = "elementIdInitializationPolicy"; //$NON-NLS-1$
private static final String ELEMENT_ID_ACCESSIBILITY_KEY = "elementIdAccessibility"; //$NON-NLS-1$
public enum ElementIdInitializationPolicy {
CREATION_TIME, NEVER;
}
public enum ElementIdAccessibility {
ALWAYS, BEFORE_SAVE, NEVER;
}
private static boolean elementIdUnicityCheckEnabled = false;
private static ElementIdInitializationPolicy elementIdInitializationPolicy = ElementIdInitializationPolicy.CREATION_TIME;
private static ElementIdAccessibility elementIdAccessibility = ElementIdAccessibility.ALWAYS;
static {
load();
System.out.println("[TOGAF-Designer] TOGAF Preference value "
+ ELEMENT_ID_UNICITY_CHECK_ENABLED_KEY + " = "
+ elementIdUnicityCheckEnabled);
System.out.println("[TOGAF-Designer] TOGAF Preference value "
+ ELEMENT_ID_INITIALIZATION_POLICY_KEY + " = "
+ elementIdInitializationPolicy);
System.out
.println("[TOGAF-Designer] TOGAF Preference value "
+ ELEMENT_ID_ACCESSIBILITY_KEY + " = "
+ elementIdAccessibility);
}
private static void load() {
ResourceBundle preferencesBundle = null;
try {
preferencesBundle = ResourceBundle
.getBundle(PREFERENCES_RESOURCE_FRAGMENT_BASE_NAME);
System.out.println("[TOGAF-Designer] Fragment with preferences.properties found.");
} catch (MissingResourceException e) {
System.out.println("[TOGAF-Designer] Fragment with preferences.properties not found. Default properties will be used.");
return;
}
try {
String s = preferencesBundle
.getString(ELEMENT_ID_UNICITY_CHECK_ENABLED_KEY);
elementIdUnicityCheckEnabled = Boolean.parseBoolean(s);
} catch (MissingResourceException e) {
}
try {
String s = preferencesBundle.getString(
ELEMENT_ID_INITIALIZATION_POLICY_KEY).toUpperCase();
elementIdInitializationPolicy = ElementIdInitializationPolicy
.valueOf(s);
} catch (MissingResourceException e) {
}
try {
String s = preferencesBundle
.getString(ELEMENT_ID_ACCESSIBILITY_KEY).toUpperCase();
elementIdAccessibility = ElementIdAccessibility.valueOf(s);
} catch (MissingResourceException e) {
}
}
public static boolean isElementIdUnicityCheckEnabled() {
return elementIdUnicityCheckEnabled;
}
public static ElementIdInitializationPolicy getElementIdInitializationPolicy() {
return elementIdInitializationPolicy;
}
public static ElementIdAccessibility getElementIdAccessibility() {
return elementIdAccessibility;
}
}