import eu.etaxonomy.cdm.api.application.ICdmRepository;
import eu.etaxonomy.cdm.api.service.IPreferenceService;
import eu.etaxonomy.cdm.model.metadata.CdmPreference;
+import eu.etaxonomy.cdm.model.metadata.NamedAreaSearchField;
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.preference.SearchDialogPreferences;
import eu.etaxonomy.taxeditor.store.CdmStore;
filterCommonNameReferences = null;
filterCommonNameReferencesPref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.CommonNameReferencesWithMarker, null);
}
+ if (this.searchNamedAreasByAbbrevPref != null){
+ searchNamedAreasByAbbrev = searchNamedAreasByAbbrevPref.getValue() != null? NamedAreaSearchField.byKey(searchNamedAreasByAbbrevPref.getValue()): null;
+ }else{
+ searchNamedAreasByAbbrev = null;
+ searchNamedAreasByAbbrevPref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.NamedAreaSearchForAbbrev, null);
+ }
+
}
@Override
service.remove(sortTaxaByRankAndNamePref.getKey());
}
-
-
if(filterCommonNameReferences != null || !filterCommonNameReferencesPref.isAllowOverride()){
pref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.CommonNameReferencesWithMarker, filterCommonNameReferences!= null? filterCommonNameReferences.toString():null);
pref.setAllowOverride(filterCommonNameReferencesPref.isAllowOverride());
}else{
service.remove(filterCommonNameReferencesPref.getKey());
}
- }
+ if(searchNamedAreasByAbbrev != null || !searchNamedAreasByAbbrevPref.isAllowOverride()){
+ pref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.NamedAreaSearchForAbbrev, searchNamedAreasByAbbrev!= null? searchNamedAreasByAbbrev.getKey():null);
+ pref.setAllowOverride(searchNamedAreasByAbbrevPref.isAllowOverride());
+ service.set(pref);
+ }else{
+ service.remove(searchNamedAreasByAbbrevPref.getKey());
+ }
+ }
+ PreferencesUtil.updateDBPreferences();
return true;
}
public static String OrderPreferencePage_NotAllowed;
+ public static String DatabasePreferncesPage_NamedAreaSearchField;
+
+
DatabasePreferncesPage_search_for_identifier_and_titleCache=Search also for title cache if identifier search is activated
DatabasePreferncesPage_Sort_Taxa_By_Name_And_Rank=Sort taxa by rank and name
DatabasePreferncesPage_CommonNameFilter=Filter common name references
+DatabasePreferncesPage_NamedAreaSearchField=Searchfield for named areas
Distribution_status_selection=Status Selection
DistributionAdminPreferences_SELECT_STATUS=List of available distribution status
-DistributionAdminPreferences_PER_AREA_STATUS=List of preferences defining available status per area.\nIn this list you can define whether the preference can be overwritten or delete it.
+DistributionAdminPreferences_PER_AREA_STATUS=List of preferences defining available status per area.\nWith the mostright button you can edit the selected area specific status preference.\nFor defining new area specific status preference please use the button below the table
MarkerTypeMenuPreferences_display=Choose available markers
MeasurementUnitMenuPreferences_edit=Edit displayed measurement units
ChecklistEditorGeneralPreference_0=Die Datenbank Präferenzen erlauben kein lokales Bearbeiten der Verbreitungseditor Präferenzen. \nWenn Sie dennoch Änderungen an den Präferenzen vornehmen müssen, wenden Sie sich bitte an einen Administrator.
ChecklistEditorGeneralPreference_enable=Verbreitungs-Editor aktivieren
ChecklistEditorGeneralPreference_open_distribution_selection=Gebiets Vokabulare Auswählen
-ChecklistEditorGeneralPreference_open_wizard=Liste der verwendbaren Areal-Vokabulare
+ChecklistEditorGeneralPreference_open_wizard=Liste der verwendbaren Areal-Vokabulare, zum Editieren verwenden Sie bitte den unten stehenden Button
ChecklistEditorGeneralPreference_show_rank=Rang Spalte anzeigen
ChecklistEditorGeneralPreference_sort_areas=Areale gemäß Vokabular sortieren
GeneralPreference_allowOverride=Erlaube Überschreiben
DatabasePreferncesPage_search_for_identifier_and_titleCache=Suche nach Identifier und Title Cache, wenn Identifier Suche aktiviert ist
DatabasePreferncesPage_Sort_Taxa_By_Name_And_Rank=Sortiere Taxa nach Rang und Namen
DatabasePreferncesPage_CommonNameFilter=Filtere Referenzen, die als Referenzen für Trivialnamen markiert sind
+DatabasePreferncesPage_NamedAreaSearchField=Suchfeld für Gebietssuche
Distribution_status_selection=Status Auswahl
DistributionAdminPreferences_SELECT_STATUS=Liste der verfügbaren Verbreitungs-Status
-DistributionAdminPreferences_PER_AREA_STATUS=Liste der pro Area definierten Status Preferenzen\nSie können in der Liste definieren, ob das lokale Überschreiben erlaubt sein soll und die Preferenz löschen
+DistributionAdminPreferences_PER_AREA_STATUS=Liste der pro Area definierten Status Preferenzen\nMit dem Button auf der rechten Seite können Sie die Präferenz für das Gebiet editieren.\nWenn Sie neue gebietsspezifische Statusangaben definieren wollen, müssen Sie den Button unter der Tabelle verwenden,
MarkerTypeMenuPreferences_display=Auswahl der zur Verf\u00FCgung stehenden Marker
MeasurementUnitMenuPreferences_edit=Angezeigte Maßeinheiten
MediaDetailElement_Media_URI=Media URI
MediaDetailElement_NO_FILE_FOUND=Keine Datei gefunden
MediaDetailElement_NO_PREVIEW=Keine Vorschau für diesen Dateityp vorhanden
-MediaDetailElement_TOGGLE_NOT_POSSIBLE_MESSAGE=Media besteht aus mehreren "representations" oder "representatio parts"
+MediaDetailElement_TOGGLE_NOT_POSSIBLE_MESSAGE=Media besteht aus mehreren "representations" oder "representation parts"
MediaDetailElement_TOGGLE_NOT_POSSIBLE_TITLE=Umschalten nicht möglich
MediaPreferences_advanced=Erweiterten Media Details View anzeigen
MediaPreferences_preview=Vorschau anzeigen
import eu.etaxonomy.cdm.model.description.Feature;
import eu.etaxonomy.cdm.model.metadata.CdmPreference;
import eu.etaxonomy.cdm.model.metadata.CdmPreference.PrefKey;
+import eu.etaxonomy.cdm.model.metadata.IKeyLabel;
import eu.etaxonomy.cdm.model.metadata.IPreferencePredicate;
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
import eu.etaxonomy.cdm.model.metadata.PreferenceSubject;
getString(name);
}
}else if (pref != null){
+ if (pref.getValue() == null){
+ Object result = PreferencePredicate.getByKey(pref.getPredicate()).getDefaultValue();
+ if (result instanceof String){
+ return (String)result;
+ }else{
+ if (result == null){
+ return null;
+ }
+ if (result instanceof IKeyLabel){
+ return ((IKeyLabel)result).getKey();
+ }
+ return result.toString();
+ }
+ }
prefValue = pref.getValue();
}
return prefValue;
if (result instanceof Boolean){
return (Boolean)result;
}else{
- Boolean.valueOf(result.toString());
+ return Boolean.valueOf(result.toString());
}
}
return Boolean.valueOf(pref.getValue());
}
Double result = null;
try{
+ if (pref.getValue() == null){
+ Object defaultValue = PreferencePredicate.getByKey(pref.getPredicate()).getDefaultValue();
+ if (defaultValue instanceof Double){
+ return (Double)defaultValue;
+ }else{
+ return Double.valueOf(defaultValue.toString());
+ }
+ }
+
result = Double.parseDouble(prefValue);
}catch(NumberFormatException e){
logger.debug("Preference value of " + name + " is not a number");
getPreferenceStore().setDefault(createPreferenceString(PreferencePredicate.DisableMultiClassification.getKey()), Boolean.valueOf(PreferencePredicate.DisableMultiClassification.getDefaultValue().toString()));
getPreferenceStore().setDefault(createPreferenceString(PreferencePredicate.ShowImportExportMenu.getKey()), Boolean.valueOf(PreferencePredicate.ShowImportExportMenu.getDefaultValue().toString()));
getPreferenceStore().setDefault(createPreferenceString(PreferencePredicate.ShowSpecimen.getKey()), Boolean.valueOf(PreferencePredicate.ShowSpecimen.getDefaultValue().toString()));
+ getPreferenceStore().setDefault(createPreferenceString(PreferencePredicate.SearchForIdentifierAndTitleCache.getKey()), Boolean.valueOf(PreferencePredicate.SearchForIdentifierAndTitleCache.getDefaultValue().toString()));
+ getPreferenceStore().setDefault(createPreferenceString(prefOverrideKey(PreferencePredicate.SearchForIdentifierAndTitleCache.getKey())), false);
+ getPreferenceStore().setDefault(createPreferenceString(PreferencePredicate.SearchForIdentifierAsDefault.getKey()), Boolean.valueOf(PreferencePredicate.SearchForIdentifierAsDefault.getDefaultValue().toString()));
+ getPreferenceStore().setDefault(createPreferenceString(prefOverrideKey(PreferencePredicate.SearchForIdentifierAsDefault.getKey())), false);
}
}
}
- public static List<UUID> createUUIDListFromStringPref(String prefKey) {
+ public static List<UUID> createUUIDListFromStringPref(String prefKey, boolean local) {
if (prefKey == null){
return null;
}
- String prefValue = PreferencesUtil.getStringValue(prefKey);
+ String prefValue = PreferencesUtil.getStringValue(prefKey, local);
if (prefValue == null){
return null;
}
+ List<UUID> uuidList = createUuidList(prefValue);
+ return uuidList;
+ }
+
+ public static List<UUID> createUuidList(String prefValue) {
String[] stringArray = prefValue.split(";");
List<UUID> uuidList = new ArrayList();
for (String uuid: stringArray){
List<Feature> terms = new ArrayList();
boolean override = PreferencesUtil.getBooleanValue(PreferencesUtil.createOverridePreferenceString(PreferencePredicate.NameFeatures.getKey()));
- List<UUID> uuids = PreferencesUtil.createUUIDListFromStringPref(PreferencePredicate.NameFeatures.getKey());
+ List<UUID> uuids = PreferencesUtil.createUUIDListFromStringPref(PreferencePredicate.NameFeatures.getKey(), false);
if (uuids != null && !uuids.isEmpty()){
terms = CdmStore.getTermManager().getTerms(uuids, Feature.class);
}
CdmPreference pref = cache.get(PreferencePredicate.TaxonFeatures.getKey());
List<Feature> terms;
boolean override = PreferencesUtil.getBooleanValue(PreferencesUtil.createOverridePreferenceString(PreferencePredicate.TaxonFeatures.getKey()));
- List<UUID> uuids = PreferencesUtil.createUUIDListFromStringPref(PreferencePredicate.TaxonFeatures.getKey());
+ List<UUID> uuids = PreferencesUtil.createUUIDListFromStringPref(PreferencePredicate.TaxonFeatures.getKey(), false);
terms = CdmStore.getTermManager().getTerms(uuids, Feature.class);
if (terms == null || terms.isEmpty()){
terms= CdmStore.getTermManager().getPreferredTerms(TermType.Feature);
import org.eclipse.swt.widgets.Label;
import eu.etaxonomy.cdm.model.metadata.CdmPreference;
+import eu.etaxonomy.cdm.model.metadata.NamedAreaSearchField;
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
import eu.etaxonomy.taxeditor.l10n.Messages;
import eu.etaxonomy.taxeditor.preference.menu.CdmPreferencePage;
protected CdmPreference searchForIdentifierAndTitleCachePref;
protected CdmPreference sortTaxaByRankAndNamePref;
protected CdmPreference filterCommonNameReferencesPref;
+ protected CdmPreference searchNamedAreasByAbbrevPref;
protected Boolean showIdInSelectionDialog;
protected Boolean searchForIdentifierAndTitleCache;
protected Boolean sortTaxaByRankAndName;
protected Boolean filterCommonNameReferences;
+ protected NamedAreaSearchField searchNamedAreasByAbbrev;
private boolean overrideShowIdInSelectionDialog = true;
private boolean overrideSearchForIdentifierAsDefault = true;
private boolean overrideSearchForIdentifierAndTitleCache = true;
private boolean overrideSortTaxaByRankAndName = true;
private boolean overrideFilterCommonNameReferences = true;
+ private boolean overrideSearchNamedAreasByAbbrev = true;
protected Combo showIdInSelectionDialogButton;
protected Button allowOverrideIsShowIdInSelectionDialogButton;
protected Button allowOverrideIsSortTaxaByRankAndNameButton;
protected Combo filterCommonNameReferenceButton;
protected Button allowOverrideFilterCommonNameReferencesButton;
+ protected Combo searchNamedAreasByAbbrevButton;
+ protected Button allowOverridesearchNamedAreasByAbbrevButton;
searchForIdentifierAndTitleCachePref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.SearchForIdentifierAndTitleCache);
sortTaxaByRankAndNamePref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.SortTaxaByRankAndName);
filterCommonNameReferencesPref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.CommonNameReferencesWithMarker);
+ searchNamedAreasByAbbrevPref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.NamedAreaSearchForAbbrev);
overrideShowIdInSelectionDialog = PreferencesUtil.getBooleanValue(PreferencesUtil.createOverridePreferenceString(PreferencePredicate.ShowIdInSelectionDialog.getKey()));
overrideSearchForIdentifierAsDefault = PreferencesUtil.getBooleanValue(PreferencesUtil.createOverridePreferenceString(PreferencePredicate.SearchForIdentifierAsDefault.getKey()));
overrideSearchForIdentifierAndTitleCache = PreferencesUtil.getBooleanValue(PreferencesUtil.createOverridePreferenceString(PreferencePredicate.SearchForIdentifierAndTitleCache.getKey()));
overrideSortTaxaByRankAndName = PreferencesUtil.getBooleanValue(PreferencesUtil.createOverridePreferenceString(PreferencePredicate.SortTaxaByRankAndName.getKey()));
overrideFilterCommonNameReferences = PreferencesUtil.getBooleanValue(PreferencesUtil.createOverridePreferenceString(PreferencePredicate.CommonNameReferencesWithMarker.getKey()));
+ overrideSearchNamedAreasByAbbrev = PreferencesUtil.getBooleanValue(PreferencesUtil.createOverridePreferenceString(PreferencePredicate.NamedAreaSearchForAbbrev.getKey()));
+
if(overrideShowIdInSelectionDialog){
showIdInSelectionDialog = PreferencesUtil.getBooleanValue(PreferencePredicate.ShowIdInSelectionDialog.getKey(), true);
}
if(overrideFilterCommonNameReferences){
filterCommonNameReferences = PreferencesUtil.getBooleanValue(PreferencePredicate.CommonNameReferencesWithMarker.getKey(), true);
}
+ if(overrideSearchNamedAreasByAbbrev){
+ String stringValue = PreferencesUtil.getStringValue(PreferencePredicate.NamedAreaSearchForAbbrev.getKey(), true);
+ searchNamedAreasByAbbrev = stringValue != null? NamedAreaSearchField.byKey(stringValue):null;
+ }
+
}
}
}
+ if (e.getSource().equals(this.searchNamedAreasByAbbrevButton)) {
+ String text = searchNamedAreasByAbbrevButton.getText();
+ if(text.startsWith(Messages.Preference_Use_Default)){
+ searchNamedAreasByAbbrev = null;
+ return;
+ }
+ searchNamedAreasByAbbrev = (NamedAreaSearchField) searchNamedAreasByAbbrevButton.getData(text);
+
+ }
+
+
}
});
}
+ searchNamedAreasByAbbrevButton = createCombo(composite, NamedAreaSearchField.values(), PreferencePredicate.NamedAreaSearchForAbbrev, Messages.DatabasePreferncesPage_NamedAreaSearchField, isAdminPreference);
+ searchNamedAreasByAbbrevButton.addSelectionListener(this);
+
+
+ if (!isAdminPreference && searchNamedAreasByAbbrevPref != null){
+ searchNamedAreasByAbbrevButton.setEnabled(searchNamedAreasByAbbrevPref.isAllowOverride());
+ }
+
+ if (isAdminPreference){
+ allowOverridesearchNamedAreasByAbbrevButton = createAllowOverrideButton(composite);
+ allowOverridesearchNamedAreasByAbbrevButton.setSelection(searchNamedAreasByAbbrevPref != null? searchNamedAreasByAbbrevPref.isAllowOverride():true);
+ allowOverridesearchNamedAreasByAbbrevButton.addSelectionListener(new SelectionAdapter(){
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ setApply(true);
+ if (searchNamedAreasByAbbrevPref == null && !allowOverridesearchNamedAreasByAbbrevButton.getSelection()){
+ searchNamedAreasByAbbrevPref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.NamedAreaSearchForAbbrev, null);
+ }
+ searchNamedAreasByAbbrevPref.setAllowOverride(allowOverridesearchNamedAreasByAbbrevButton.getSelection());
+ }
+ });
+ }
+
setSelections();
return composite;
allowOverrideFilterCommonNameReferencesButton.setSelection(true);
filterCommonNameReferencesPref.setAllowOverride(true);
}
+ searchNamedAreasByAbbrevButton.select(0);
+ searchNamedAreasByAbbrev = null;
+ if (isAdminPreference){
+ allowOverridesearchNamedAreasByAbbrevButton.setSelection(true);
+ searchNamedAreasByAbbrevPref.setAllowOverride(true);
+ }
setApply(true);
}
override);
override = false;
+ if(searchNamedAreasByAbbrev != null){
+ override = true;
+ PreferencesUtil.setStringValue(PreferencePredicate.NamedAreaSearchForAbbrev.getKey(), searchNamedAreasByAbbrev.getKey());
+ }
+ PreferencesUtil.setBooleanValue(
+ PreferencesUtil.prefOverrideKey(PreferencePredicate.NamedAreaSearchForAbbrev.getKey()),
+ override);
+
+
+
return true;
}
}
index++;
}
+ index = 0;
+ for (String itemLabel: searchNamedAreasByAbbrevButton.getItems()) {
+ if ((searchNamedAreasByAbbrev == null || (!overrideSearchNamedAreasByAbbrev && !isAdminPreference)) && itemLabel.startsWith(Messages.Preference_Use_Default)) {
+ searchNamedAreasByAbbrevButton.select(index);
+ break;
+ }
+
+
+ if (searchNamedAreasByAbbrev != null && itemLabel.equals(searchNamedAreasByAbbrev.getLabel())){
+ searchNamedAreasByAbbrevButton.select(index);
+ break;
+ }
+
+ index++;
+ }
}
import java.util.List;\r
import java.util.UUID;\r
\r
+import org.apache.commons.lang.StringUtils;\r
import org.eclipse.jface.action.Action;\r
import org.eclipse.jface.action.IAction;\r
import org.eclipse.jface.dialogs.Dialog;\r
import eu.etaxonomy.cdm.api.service.ITermService;\r
import eu.etaxonomy.cdm.api.service.IVocabularyService;\r
import eu.etaxonomy.cdm.model.location.NamedArea;\r
+import eu.etaxonomy.cdm.model.metadata.NamedAreaSearchField;\r
+import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;\r
import eu.etaxonomy.cdm.model.term.DefinedTermBase;\r
import eu.etaxonomy.cdm.model.term.TermType;\r
import eu.etaxonomy.cdm.model.term.TermVocabulary;\r
*/\r
@Override\r
void callService(String pattern) {\r
+ String abbrevTypeString = PreferencesUtil.getStringValue(PreferencePredicate.NamedAreaSearchForAbbrev.getKey());\r
+ NamedAreaSearchField abbrevType = StringUtils.isNotBlank(abbrevTypeString)? NamedAreaSearchField.byKey(abbrevTypeString): null;\r
if (selectedVocabularies == null || selectedVocabularies.size() == 0){\r
- model = CdmStore.getService(ITermService.class).getUuidAndTitleCacheNamedArea(vocabularies, limitOfInitialElements, pattern, PreferencesUtil.getGlobalLanguage());\r
+ if (abbrevType != null && !abbrevType.equals(NamedAreaSearchField.NoAbbrev)){\r
+ model = CdmStore.getService(ITermService.class).getUuidAndTitleCacheNamedAreaByAbbrev(vocabularies, limitOfInitialElements, pattern, PreferencesUtil.getGlobalLanguage(), abbrevType);\r
+ }else{\r
+ model = CdmStore.getService(ITermService.class).getUuidAndTitleCacheNamedArea(vocabularies, limitOfInitialElements, pattern, PreferencesUtil.getGlobalLanguage());\r
+ }\r
}else{\r
- model = CdmStore.getService(ITermService.class).getUuidAndTitleCacheNamedArea(selectedVocabularies, limitOfInitialElements, pattern, PreferencesUtil.getGlobalLanguage());\r
+ if (abbrevType != null && !abbrevType.equals(NamedAreaSearchField.NoAbbrev)){\r
+ model = CdmStore.getService(ITermService.class).getUuidAndTitleCacheNamedAreaByAbbrev(selectedVocabularies, limitOfInitialElements, pattern, PreferencesUtil.getGlobalLanguage(), abbrevType);\r
+ }else{\r
+ model = CdmStore.getService(ITermService.class).getUuidAndTitleCacheNamedArea(selectedVocabularies, limitOfInitialElements, pattern, PreferencesUtil.getGlobalLanguage());\r
+ }\r
+\r
}\r
}\r
\r