Revision 3f6dbb50
Added by Katja Luther almost 4 years ago
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/NomenclaturalCodePreferences.java | ||
---|---|---|
13 | 13 |
import java.util.Map; |
14 | 14 |
import java.util.Map.Entry; |
15 | 15 |
|
16 |
import org.apache.commons.lang.StringUtils; |
|
17 | 16 |
import org.eclipse.swt.SWT; |
18 | 17 |
import org.eclipse.swt.custom.CLabel; |
19 | 18 |
import org.eclipse.swt.events.SelectionAdapter; |
... | ... | |
23 | 22 |
import org.eclipse.swt.widgets.Composite; |
24 | 23 |
import org.eclipse.swt.widgets.Control; |
25 | 24 |
|
26 |
import eu.etaxonomy.cdm.api.application.ICdmRepository; |
|
27 |
import eu.etaxonomy.cdm.api.service.IPreferenceService; |
|
28 | 25 |
import eu.etaxonomy.cdm.model.metadata.CdmPreference; |
29 |
import eu.etaxonomy.cdm.model.metadata.CdmPreference.PrefKey; |
|
30 | 26 |
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate; |
31 |
import eu.etaxonomy.cdm.model.metadata.PreferenceSubject; |
|
32 | 27 |
import eu.etaxonomy.cdm.model.name.NomenclaturalCode; |
33 | 28 |
import eu.etaxonomy.taxeditor.databaseAdmin.preferencePage.IE4AdminPreferencePage; |
34 | 29 |
import eu.etaxonomy.taxeditor.l10n.Messages; |
... | ... | |
205 | 200 |
@Override |
206 | 201 |
protected void getValues(){ |
207 | 202 |
isAdminPreference = false; |
208 |
ICdmRepository controller = CdmStore.getCurrentApplicationConfiguration(); |
|
209 |
if (controller != null){ |
|
210 |
IPreferenceService service = controller.getPreferenceService(); |
|
211 |
PrefKey key = CdmPreference.NewKey(PreferenceSubject.NewDatabaseInstance(), PreferencePredicate.NomenclaturalCode); |
|
212 |
pref = service.find(key); |
|
213 |
if (pref != null){ |
|
203 |
pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.NomenclaturalCode); |
|
204 |
override = PreferencesUtil.getBooleanValue( |
|
205 |
PreferencesUtil.prefOverrideKey(PreferencePredicate.NomenclaturalCode.getKey()), true) != null? PreferencesUtil.getBooleanValue( |
|
206 |
PreferencesUtil.prefOverrideKey(PreferencePredicate.NomenclaturalCode.getKey()), true):false; |
|
207 |
String nomString = null; |
|
208 |
if (pref != null) { |
|
209 |
if (pref.isAllowOverride() ) { |
|
210 |
if (override){ |
|
211 |
nomString = PreferencesUtil.getStringValue(PreferencePredicate.NomenclaturalCode.getKey(), true); |
|
212 |
} |
|
214 | 213 |
|
215 |
allowOverride = pref.isAllowOverride(); |
|
216 |
}else{ |
|
217 |
pref = CdmPreference.NewDatabaseInstance(PreferencePredicate.NomenclaturalCode, null); |
|
218 |
allowOverride = true; |
|
214 |
} else { |
|
215 |
nomString = pref.getValue() != null? String.valueOf(pref.getValue()): null; |
|
219 | 216 |
} |
220 | 217 |
|
218 |
} else { |
|
219 |
if(!override){ |
|
220 |
actualCode = null; |
|
221 |
}else{ |
|
222 |
nomString = PreferencesUtil.getStringValue(PreferencePredicate.NomenclaturalCode.getKey(), true); |
|
223 |
|
|
224 |
} |
|
225 |
pref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.NomenclaturalCode, PreferencePredicate.NomenclaturalCode.getDefaultValue() != null ? PreferencePredicate.NomenclaturalCode.getDefaultValue().toString(): null); |
|
221 | 226 |
} |
222 |
String stringValue = PreferencesUtil.getStringValue(PreferencePredicate.NomenclaturalCode.getKey(), true); |
|
223 |
Boolean overridePref = PreferencesUtil.getOverrideForPreference(PreferencePredicate.NomenclaturalCode.getKey()); |
|
224 |
override = overridePref != null? overridePref:false; |
|
225 |
if (!StringUtils.isBlank(stringValue) && override){ |
|
226 |
actualCode = NomenclaturalCode.fromString(stringValue); |
|
227 |
}else{ |
|
228 |
actualCode = null; |
|
227 |
if (nomString != null){ |
|
228 |
actualCode = NomenclaturalCode.fromString(nomString); |
|
229 | 229 |
} |
230 | 230 |
|
231 | 231 |
|
232 |
|
|
233 |
|
|
232 | 234 |
} |
233 | 235 |
|
234 | 236 |
} |
Also available in: Unified diff
fix problems with Nomenclatural code preference