Revision cc1302bd
Added by Katja Luther almost 5 years ago
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/NomenclaturalCodePreferences.java | ||
---|---|---|
45 | 45 |
*/ |
46 | 46 |
public class NomenclaturalCodePreferences extends CdmPreferencePage implements IE4AdminPreferencePage{ |
47 | 47 |
|
48 |
String actualCode = null;
|
|
49 |
Map<String, String> labelAndValues;
|
|
50 |
Map<String, Integer> keyAndIndex;
|
|
48 |
NomenclaturalCode actualCode = null;
|
|
49 |
Map<NomenclaturalCode, String> labelAndValues;
|
|
50 |
Map<NomenclaturalCode, Integer> keyAndIndex;
|
|
51 | 51 |
Combo nomenclaturalCode; |
52 | 52 |
Button allowOverrideButton; |
53 | 53 |
boolean allowOverride; |
... | ... | |
62 | 62 |
PrefKey key = CdmPreference.NewKey(PreferenceSubject.NewDatabaseInstance(), PreferencePredicate.NomenclaturalCode); |
63 | 63 |
CdmPreference pref = service.find(key); |
64 | 64 |
if (pref != null){ |
65 |
actualCode = pref.getValue();
|
|
65 |
actualCode = NomenclaturalCode.fromString(pref.getValue());
|
|
66 | 66 |
allowOverride = pref.isAllowOverride(); |
67 | 67 |
}else{ |
68 |
actualCode = PreferencesUtil.getPreferenceKey(PreferencesUtil.getPreferredNomenclaturalCode());
|
|
68 |
actualCode = NomenclaturalCode.fromString(PreferencePredicate.NomenclaturalCode.getDefaultValue().toString());
|
|
69 | 69 |
allowOverride = true; |
70 | 70 |
} |
71 | 71 |
|
... | ... | |
85 | 85 |
getLabelAndValues(); |
86 | 86 |
keyAndIndex = new HashMap<>(); |
87 | 87 |
Integer index = 0; |
88 |
for (String key: labelAndValues.keySet()) {
|
|
88 |
for (NomenclaturalCode key: labelAndValues.keySet()) {
|
|
89 | 89 |
nomenclaturalCode.add(labelAndValues.get(key)); |
90 | 90 |
keyAndIndex.put(key, index); |
91 | 91 |
index++; |
... | ... | |
100 | 100 |
public void widgetSelected(SelectionEvent evt) { |
101 | 101 |
setApply(true); |
102 | 102 |
String name = nomenclaturalCode.getText(); |
103 |
for (Entry<String, String> label:labelAndValues.entrySet()){
|
|
103 |
for (Entry<NomenclaturalCode, String> label:labelAndValues.entrySet()){
|
|
104 | 104 |
if (label.getValue().equals(name)){ |
105 | 105 |
actualCode = label.getKey(); |
106 | 106 |
} |
... | ... | |
125 | 125 |
/** |
126 | 126 |
* @return |
127 | 127 |
*/ |
128 |
private Map<String, String> getLabelAndValues() {
|
|
128 |
private Map<NomenclaturalCode, String> getLabelAndValues() {
|
|
129 | 129 |
List<NomenclaturalCode> supportedCodes = NomenclaturalCodeHelper |
130 | 130 |
.getSupportedCodes(); |
131 | 131 |
labelAndValues = new HashMap<>(); |
132 | 132 |
for (int i = 0; i < supportedCodes.size(); i++) { |
133 |
labelAndValues.put(PreferencesUtil.getPreferenceKey(supportedCodes.get(i)), NomenclaturalCodeHelper
|
|
133 |
labelAndValues.put(supportedCodes.get(i), NomenclaturalCodeHelper
|
|
134 | 134 |
.getDescription(supportedCodes.get(i))) ; |
135 | 135 |
|
136 | 136 |
} |
... | ... | |
156 | 156 |
@Override |
157 | 157 |
public boolean performOk() { |
158 | 158 |
if (actualCode != null){ |
159 |
CdmPreference pref = CdmPreference.NewDatabaseInstance(PreferencePredicate.NomenclaturalCode, actualCode); |
|
159 |
CdmPreference pref = CdmPreference.NewDatabaseInstance(PreferencePredicate.NomenclaturalCode, actualCode.toString());
|
|
160 | 160 |
pref.setAllowOverride(allowOverride); |
161 | 161 |
PreferencesUtil.setPreferredNomenclaturalCode(pref); |
162 | 162 |
} |
... | ... | |
165 | 165 |
|
166 | 166 |
@Override |
167 | 167 |
protected void performDefaults() { |
168 |
actualCode = PreferencePredicate.NomenclaturalCode.getDefaultValue().toString();
|
|
168 |
actualCode = (NomenclaturalCode)PreferencePredicate.NomenclaturalCode.getDefaultValue();
|
|
169 | 169 |
allowOverride = true; |
170 | 170 |
Integer index = keyAndIndex.get(actualCode); |
171 | 171 |
if(index!=null){ |
Also available in: Unified diff
ref #8045: check whether all db preferences are deleted from DB if value is default value