*/
public class NomenclaturalCodePreferences extends CdmPreferencePage implements IE4AdminPreferencePage{
- String actualCode = null;
- Map<String, String> labelAndValues;
- Map<String, Integer> keyAndIndex;
+ NomenclaturalCode actualCode = null;
+ Map<NomenclaturalCode, String> labelAndValues;
+ Map<NomenclaturalCode, Integer> keyAndIndex;
Combo nomenclaturalCode;
Button allowOverrideButton;
boolean allowOverride;
PrefKey key = CdmPreference.NewKey(PreferenceSubject.NewDatabaseInstance(), PreferencePredicate.NomenclaturalCode);
CdmPreference pref = service.find(key);
if (pref != null){
- actualCode = pref.getValue();
+ actualCode = NomenclaturalCode.fromString(pref.getValue());
allowOverride = pref.isAllowOverride();
}else{
- actualCode = PreferencesUtil.getPreferenceKey(PreferencesUtil.getPreferredNomenclaturalCode());
+ actualCode = NomenclaturalCode.fromString(PreferencePredicate.NomenclaturalCode.getDefaultValue().toString());
allowOverride = true;
}
getLabelAndValues();
keyAndIndex = new HashMap<>();
Integer index = 0;
- for (String key: labelAndValues.keySet()) {
+ for (NomenclaturalCode key: labelAndValues.keySet()) {
nomenclaturalCode.add(labelAndValues.get(key));
keyAndIndex.put(key, index);
index++;
public void widgetSelected(SelectionEvent evt) {
setApply(true);
String name = nomenclaturalCode.getText();
- for (Entry<String, String> label:labelAndValues.entrySet()){
+ for (Entry<NomenclaturalCode, String> label:labelAndValues.entrySet()){
if (label.getValue().equals(name)){
actualCode = label.getKey();
}
/**
* @return
*/
- private Map<String, String> getLabelAndValues() {
+ private Map<NomenclaturalCode, String> getLabelAndValues() {
List<NomenclaturalCode> supportedCodes = NomenclaturalCodeHelper
.getSupportedCodes();
labelAndValues = new HashMap<>();
for (int i = 0; i < supportedCodes.size(); i++) {
- labelAndValues.put(PreferencesUtil.getPreferenceKey(supportedCodes.get(i)), NomenclaturalCodeHelper
+ labelAndValues.put(supportedCodes.get(i), NomenclaturalCodeHelper
.getDescription(supportedCodes.get(i))) ;
}
@Override
public boolean performOk() {
- if (actualCode != null){
- CdmPreference pref = CdmPreference.NewDatabaseInstance(PreferencePredicate.NomenclaturalCode, actualCode);
- pref.setAllowOverride(allowOverride);
- PreferencesUtil.setPreferredNomenclaturalCode(pref);
- }
+ if (!isApply()){
+ return true;
+ }
+ CdmPreference pref = CdmPreference.NewDatabaseInstance(PreferencePredicate.NomenclaturalCode, actualCode.toString());
+ pref.setAllowOverride(allowOverride);
+ PreferencesUtil.setPreferredNomenclaturalCode(pref);
+
return true;
}
@Override
protected void performDefaults() {
- actualCode = PreferencePredicate.NomenclaturalCode.getDefaultValue().toString();
+ actualCode = (NomenclaturalCode)PreferencePredicate.NomenclaturalCode.getDefaultValue();
allowOverride = true;
Integer index = keyAndIndex.get(actualCode);
if(index!=null){