private final static Logger logger = Logger.getLogger(PreferencesUtil.class);
+
+
/**
* <p>
* getPreferenceStore
else{
ICdmRepository controller;
controller = CdmStore.getCurrentApplicationConfiguration();
+ if (controller == null){
+ return null;
+ }
PrefKey key = null;
try{
key = CdmPreference.NewKey(PreferenceSubject.NewDatabaseInstance(), PreferencePredicate.NomenclaturalCode);
System.out.println(e.getStackTrace());
}
CdmPreference preference = null;
- if (controller == null){
- return null;
- }
+
if (preferenceKey == null){
preference = controller.getPreferenceService().find(key);
if (preference == null){
// UUID uuid = UUID.fromString(preference.getValue().substring(index +1, preference.getValue().length()));
// preferredCode = NomenclaturalCode.getByUuid(uuid);
- getPreferenceStore().setValue(CDM_NOMENCLATURAL_CODE_KEY,
+ getPreferenceStore().setValue(PREFERRED_NOMENCLATURAL_CODE_KEY,
preferenceKey);
getPreferenceStore().setValue(ALLOW_OVERRIDE_NOMENCLATURAL_CODE_KEY,preference.isAllowOverride());
return preference;
* object.
*/
public static IFindTaxaAndNamesConfigurator initializeSearchConfigurator() {
- IFindTaxaAndNamesConfigurator configurator = new FindTaxaAndNamesConfiguratorImpl();
+ IFindTaxaAndNamesConfigurator configurator = FindTaxaAndNamesConfiguratorImpl.NewInstance();
configurator.setDoTaxa(true);
configurator.setDoSynonyms(true);
"http://www.biodiversitylibrary.org/openurl");
getPreferenceStore().setDefault(OPENURL_IMAGE_MAX_WIDTH, "1000");
getPreferenceStore().setDefault(OPENURL_IMAGE_MAX_HEIGHT, "1000");
- getPreferenceStore().setDefault(IPreferenceKeys.DISTRIBUTION_AREA_PREFRENCES_ACTIVE, false);
+ //Distribution Editor:
+ getPreferenceStore().setDefault(DISTRIBUTION_AREA_PREFRENCES_ACTIVE, false);
getPreferenceStore().setDefault(CHECKLIST_ID_IN_VOCABULARY, true);
getPreferenceStore().setDefault(CHECKLIST_SYMBOL, false);
+
+
+ //Name Details
getPreferenceStore().setDefault(SHOW_NAME_DETAILS_SECTION_ATOMISED_EPITHETS, true);
getPreferenceStore().setDefault(SHOW_NAME_DETAILS_SECTION_AUTHORSHIP_CACHE, true);
getPreferenceStore().setDefault(SHOW_NAME_DETAILS_SECTION_AUTHORSHIP, true);
getPreferenceStore().setDefault(SHOW_NAME_DETAILS_SECTION_PROTOLOGUE, true);
getPreferenceStore().setDefault(SHOW_NAME_DETAILS_SECTION_RANK, true);
getPreferenceStore().setDefault(SHOW_NAME_DETAILS_SECTION_TYPE_DESIGNATION, true);
+ //Navigator preferences
getPreferenceStore().setDefault(SORT_NODES_NATURALLY, false);
getPreferenceStore().setDefault(SORT_NODES_ALPHABETICALLY, false);
getPreferenceStore().setDefault(SORT_TAXA_BY_RANK_AND_NAME, true);
+ //override db preferences
+ getPreferenceStore().setDefault(ABCD_IMPORT_OVERRIDE, false);
+ getPreferenceStore().setDefault(OVERRIDE_SPECIMEN_PREF, false);
+ getPreferenceStore().setDefault(OVERRIDE_NAME_DETAILS, false);
+ getPreferenceStore().setDefault(DISTRIBUTION_AREA_PREFRENCES_ACTIVE_OVERRIDE, false);
+
}
*/
public static void checkNomenclaturalCode() {
// First time Editor is opened, no nomenclatural code has been set
-
-
if (PreferencesUtil.getPreferredNomenclaturalCode(true) == null) {
PreferencesUtil.setPreferredNomenclaturalCode(getPreferenceKey(NomenclaturalCode.ICNAFP), true);
}
UUID uuid = UUID.fromString(preference.getValue().substring(index +1, preference.getValue().length()));
NomenclaturalCode preferredCode = NomenclaturalCode.getByUuid(uuid);
- getPreferenceStore().setValue(CDM_NOMENCLATURAL_CODE_KEY,
+ getPreferenceStore().setValue(PREFERRED_NOMENCLATURAL_CODE_KEY,
getPreferenceKey(preferredCode));
- if (!preference.isAllowOverride()){
- getPreferenceStore().setValue(PREFERRED_NOMENCLATURAL_CODE_KEY,
- getPreferenceKey(preferredCode));
- }
}
public static void checkDefaultLanguage(){
* @param b
* @return
*/
- public static NameDetailsConfigurator setPreferredNameDetailsConfiguration( boolean local) {
+ public static NameDetailsConfigurator getPreferredNameDetailsConfiguration( boolean local) {
NameDetailsConfigurator config = new NameDetailsConfigurator(true);
CdmPreference preference = null;
return config;
}
+ /**
+ * @param object
+ * @param b
+ * @return
+ */
+ public static void setPreferredNameDetailsConfiguration(NameDetailsConfigurator config, boolean local) {
+ CdmPreference preference = null;
+
+ if (!local) {
+ preference = CdmPreference.NewInstance(PreferenceSubject.NewDatabaseInstance(), PreferencePredicate.NameDetailsView, config.toString());
+
+ setPreferenceToDB(preference);
+ }
+ //also add to local preferences
+ getPreferenceStore().setValue(SHOW_SIMPLE_NAME_DETAILS_SECTION, config.isSimpleDetailsViewActivated());
+ getPreferenceStore().setValue(SHOW_SIMPLE_NAME_DETAILS_TAXON, config.isTaxonSectionActivated());
+ getPreferenceStore().setValue(SHOW_NAME_DETAILS_SECTION_LSID, config.isLSIDActivated());
+ getPreferenceStore().setValue(SHOW_NAME_DETAILS_SECTION_NOMENCLATURAL_CODE, config.isNomenclaturalCodeActived());
+ getPreferenceStore().setValue(SHOW_NAME_DETAILS_SECTION_APPENDED_PHRASE, config.isAppendedPhraseActivated());
+ getPreferenceStore().setValue(SHOW_NAME_DETAILS_SECTION_RANK, config.isRankActivated());
+ getPreferenceStore().setValue(SHOW_NAME_DETAILS_SECTION_ATOMISED_EPITHETS, config.isAtomisedEpithetsActivated());
+ getPreferenceStore().setValue(SHOW_NAME_DETAILS_SECTION_AUTHORSHIP, config.isAuthorshipSectionActivated());
+ getPreferenceStore().setValue(SHOW_NAME_DETAILS_SECTION_NOMENCLATURAL_REFERENCE, config.isNomenclaturalReferenceSectionActivated());
+ getPreferenceStore().setValue(SHOW_NAME_DETAILS_SECTION_NOMENCLATURAL_STATUS, config.isNomenclaturalStatusSectionActivated());
+ getPreferenceStore().setValue(SHOW_NAME_DETAILS_SECTION_PROTOLOGUE, config.isProtologueActivated());
+ getPreferenceStore().setValue(SHOW_NAME_DETAILS_SECTION_TYPE_DESIGNATION, config.isTypeDesignationSectionActivated());
+ getPreferenceStore().setValue(SHOW_NAME_DETAILS_SECTION_NAME_RELATIONSHIP, config.isNameRelationsSectionActivated());
+ getPreferenceStore().setValue(SHOW_NAME_DETAILS_SECTION_HYBRID, config.isHybridActivated());
+
+ }
+
private static Boolean getValue(Map<String, Boolean> sectionMap, String string) {
if (sectionMap.containsKey(string)){
return sectionMap.get(string);
* a {@link eu.etaxonomy.cdm.io.specimen.abcd206.in.Abcd206ImportConfigurator}
* object.
*/
- public static Abcd206ImportConfigurator getAbcdImportConfigurationPreference(boolean useLocal) {
+ public static Abcd206ImportConfigurator getAbcdImportConfigurationPreference() {
Abcd206ImportConfigurator config = Abcd206ImportConfigurator.NewInstance(null,null);
+ ICdmRepository controller;
+ controller = CdmStore.getCurrentApplicationConfiguration();
+ PrefKey key = CdmPreference.NewKey(PreferenceSubject.NewDatabaseInstance(), PreferencePredicate.AbcdImportConfig);
+ CdmPreference preference = null;
+ if (controller == null){
+ return null;
+ }
+ preference = controller.getPreferenceService().find(key);
+ boolean allowOverride = true;
+ if (preference != null && !preference.isAllowOverride()){
+ allowOverride = false;
+ }
+ if (PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.ABCD_IMPORT_OVERRIDE) && allowOverride){
- if (useLocal){
config.setAddIndividualsAssociationsSuchAsSpecimenAndObservations(PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_ADD_INDIVIDUALS_ASSOCIATIONS_SUCH_AS_SPECIMEN_AND_OBSERVATIONS));
config.setAddMediaAsMediaSpecimen(PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_ADD_MEDIA_AS_MEDIASPECIMEN));
return config;
}
- ICdmRepository controller;
- controller = CdmStore.getCurrentApplicationConfiguration();
- PrefKey key = CdmPreference.NewKey(PreferenceSubject.NewDatabaseInstance(), PreferencePredicate.AbcdImportConfig);
- CdmPreference preference = null;
- if (controller == null){
- return null;
- }
- preference = controller.getPreferenceService().find(key);
+
if (preference == null){
return config;
} else{
}
}
return config;
+ }
+
+ public static void updateAbcdImportConfigurationPreference() {
+
+ Abcd206ImportConfigurator config = Abcd206ImportConfigurator.NewInstance(null,null);
+ ICdmRepository controller;
+ controller = CdmStore.getCurrentApplicationConfiguration();
+ PrefKey key = CdmPreference.NewKey(PreferenceSubject.NewDatabaseInstance(), PreferencePredicate.AbcdImportConfig);
+ CdmPreference preference = null;
+ if (controller == null){
+ return ;
+ }
+ preference = controller.getPreferenceService().find(key);
+ boolean allowOverride = true;
+ if (preference != null && !preference.isAllowOverride()){
+ allowOverride = false;
+ }
+ if (!PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.ABCD_IMPORT_OVERRIDE) || !allowOverride){
+
+ getPreferenceStore().setValue(ABCD_IMPORT_CONFIGURATOR_ADD_INDIVIDUALS_ASSOCIATIONS_SUCH_AS_SPECIMEN_AND_OBSERVATIONS, config.isAddIndividualsAssociationsSuchAsSpecimenAndObservations());
+ getPreferenceStore().setValue(ABCD_IMPORT_CONFIGURATOR_ADD_MEDIA_AS_MEDIASPECIMEN, config.isAddMediaAsMediaSpecimen());
+
+ getPreferenceStore().setValue(ABCD_IMPORT_CONFIGURATOR_ALLOW_REUSE_OTHER_CLASSIFICATIONS, config.isAllowReuseOtherClassifications());
+ getPreferenceStore().setValue(ABCD_IMPORT_CONFIGURATOR_DEDUPLICATE_CLASSIFICATIONS, config.isDeduplicateClassifications());
+ getPreferenceStore().setValue(ABCD_IMPORT_CONFIGURATOR_DEDUPLICATE_REFERENCES, config.isDeduplicateReferences());
+
+ getPreferenceStore().setValue(ABCD_IMPORT_CONFIGURATOR_DO_SIBLINGS, config.isGetSiblings());
+ getPreferenceStore().setValue(ABCD_IMPORT_CONFIGURATOR_IGNORE_AUTHORSHIP, config.isIgnoreAuthorship());
+ getPreferenceStore().setValue(ABCD_IMPORT_CONFIGURATOR_IGNORE_IMPORT_OF_EXISTING_SPECIMEN, config.isIgnoreImportOfExistingSpecimen());
+ getPreferenceStore().setValue(ABCD_IMPORT_CONFIGURATOR_MAP_UNIT_ID_TO_ACCESSION_NUMBER, config.isMapUnitIdToAccessionNumber());
+ getPreferenceStore().setValue(ABCD_IMPORT_CONFIGURATOR_MAP_UNIT_ID_TO_BARCODE, config.isMapUnitIdToBarcode());
+ getPreferenceStore().setValue(ABCD_IMPORT_CONFIGURATOR_MAP_UNIT_ID_TOCATALOG_NUMBER, config.isMapUnitIdToCatalogNumber());
+ getPreferenceStore().setValue(ABCD_IMPORT_CONFIGURATOR_MOVE_NEW_TAXA_TO_DEFAULT_CLASSIFICATION, config.isMoveNewTaxaToDefaultClassification());
+ getPreferenceStore().setValue(ABCD_IMPORT_CONFIGURATOR_OVERWRITE_EXISTING_SPECIMEN, config.isOverwriteExistingSpecimens());
+ getPreferenceStore().setValue(ABCD_IMPORT_CONFIGURATOR_REUSE_EXISTING_DESCRIPTIVE_GROUPS, config.isReuseExistingDescriptiveGroups());
+ getPreferenceStore().setValue(ABCD_IMPORT_CONFIGURATOR_REUSE_EXISTING_META_DATA, config.isReuseExistingMetaData());
+ getPreferenceStore().setValue(ABCD_IMPORT_CONFIGURATOR_REUSE_EXISTING_TAXA_WHEN_POSSIBLE, config.isReuseExistingTaxaWhenPossible());
+ if (config.getNomenclaturalCode() != null){
+ getPreferenceStore().setValue(ABCD_IMPORT_CONFIGURATOR_NOMENCLATURAL_CODE, config.getNomenclaturalCode().getKey());
+ }
+ }
}
+
/**
*
*/
IPreferenceStore preferenceStore = PreferencesUtil.getPreferenceStore();
String lastSelected = preferenceStore.getString(PreferencesUtil.LAST_SELECTED_REFERENCES);
List<String> result = new ArrayList<>();
- Collections.addAll(result, lastSelected.substring(1,lastSelected.length()-1).split(", "));
+ if (!StringUtils.isBlank(lastSelected)){
+ Collections.addAll(result, lastSelected.substring(1,lastSelected.length()-1).split(", "));
+ }
return result;
}
* @param saveCheckedElements
* @param saveGrayedElements
*/
-public static CdmPreference setPreferredNamedAreasForDistributionEditor(
+public static void setPreferredNamedAreasForDistributionEditor(
String saveCheckedElements, String saveGrayedElements, boolean local) {
if (local){
IPreferenceStore preferenceStore = PreferencesUtil.getPreferenceStore();
}
else{
- ICdmRepository controller;
+// ICdmRepository controller;
// PrefKey key = CdmPreference.NewKey(PreferenceSubject.NewDatabaseInstance(), PreferencePredicate.AvailableDistributionAreaTerms);
CdmPreference preference = null;
if (saveCheckedElements == null){
preference = getPreferenceFromDB(PreferencePredicate.AvailableDistributionAreaTerms);
-// preference = controller.getPreferenceService().find(key);
+
if (preference == null){
- return null;
+ return ;
} else{
- String[] uuids = StringUtils.splitByWholeSeparator(saveCheckedElements, ",");
- List<UUID> uuidList = new ArrayList();
- for (String uuidString: uuids){
- uuidList.add(UUID.fromString(uuidString.trim()));
- }
getPreferenceStore().setValue(DISTRIBUTION_AREA_OCCURENCE_STATUS,
saveCheckedElements);
+ preference = CdmPreference.NewInstance(PreferenceSubject.NewDatabaseInstance(), PreferencePredicate.AvailableDistributionAreaTerms, saveCheckedElements);
+ setPreferenceToDB(preference);
- return preference;
}
} else{
- controller = CdmStore.getCurrentApplicationConfiguration();
- preference = CdmPreference.NewInstance(PreferenceSubject.NewDatabaseInstance(), PreferencePredicate.AvailableDistributionAreaTerms, saveCheckedElements);
- controller.getPreferenceService().set(preference);
+ preference = CdmPreference.NewInstance(PreferenceSubject.NewDatabaseInstance(), PreferencePredicate.AvailableDistributionAreaTerms, saveCheckedElements);
+ setPreferenceToDB(preference);
+ getPreferenceStore().setValue(DISTRIBUTION_AREA_OCCURENCE_STATUS,
+ saveCheckedElements);
+
+ }
+ }
+
+}
+
+/**
+ * @param saveCheckedElements
+ * @param saveCheckedElements2
+ * @param b
+ */
+public static void setPreferredVocabulariesForDistributionEditor(String saveCheckedElements,
+ boolean local) {
+ if (local){
+ IPreferenceStore preferenceStore = PreferencesUtil.getPreferenceStore();
+ preferenceStore.setValue(PreferencesUtil.DISTRIBUTION_VOCABULARIES, saveCheckedElements);
+
+
+ }
+ else{
+ ICdmRepository controller;
+ CdmPreference preference = null;
+
+ if (saveCheckedElements == null){
+ preference = getPreferenceFromDB(PreferencePredicate.AvailableDistributionAreaVocabularies);
+
+ if (preference == null){
+ return ;
+ } else{
+ getPreferenceStore().setValue(DISTRIBUTION_VOCABULARIES,
+ saveCheckedElements);
+ preference = CdmPreference.NewInstance(PreferenceSubject.NewDatabaseInstance(), PreferencePredicate.AvailableDistributionAreaVocabularies, saveCheckedElements);
+ setPreferenceToDB(preference);
+
+
+ }
+ } else{
+ preference = CdmPreference.NewInstance(PreferenceSubject.NewDatabaseInstance(), PreferencePredicate.AvailableDistributionAreaVocabularies, saveCheckedElements);
+ setPreferenceToDB(preference);
getPreferenceStore().setValue(DISTRIBUTION_AREA_OCCURENCE_STATUS,
saveCheckedElements);
}
}
- return null;
}
+/**
+ * @param saveCheckedElements
+ * @param saveCheckedElements2
+ * @param b
+ */
+public static String getPreferredVocabulariesForDistributionEditor(boolean local) {
+ if (local){
+ IPreferenceStore preferenceStore = PreferencesUtil.getPreferenceStore();
+ String pref = preferenceStore.getString(DISTRIBUTION_VOCABULARIES);
+ return pref;
+
+ }
+ else{
+
+ CdmPreference preference = null;
+
+ preference = getPreferenceFromDB(PreferencePredicate.AvailableDistributionAreaVocabularies);
+
+ if (preference == null){
+ return null;
+ } else{
+ return preference.getValue();
+ }
+
+ }
+
+
+
+}
+
+/**
+ *
+ */
+public static void updateDBPreferences() {
+ CdmPreference preference = null;
+ IPreferenceStore prefStore = getPreferenceStore();
+
+ //ABCD Configurator
+
+ updateAbcdImportConfigurationPreference();
+
+ //Specimen Details
+ preference = getPreferenceFromDB(PreferencePredicate.ShowTaxonAssociations);
+ if (preference != null){
+ if(!prefStore.getBoolean(SHOW_TAXON_ASSOCIATIONS_OVERRIDE) || !preference.isAllowOverride()){
+ prefStore.setValue(SHOW_TAXON_ASSOCIATIONS, preference.getValue());
+ }
+ }
+ preference = getPreferenceFromDB(PreferencePredicate.ShowCollectingAreasInGeneralSection);
+ if (preference != null){
+ if(!prefStore.getBoolean(SHOW_COLLECTING_AREAS_IN_GENERAL_SECTION_OVERRIDE) || !preference.isAllowOverride()){
+ prefStore.setValue(SHOW_COLLECTING_AREAS_IN_GENERAL_SECTION, preference.getValue());
+ }
+ }
+ preference = getPreferenceFromDB(PreferencePredicate.ShowLifeForm);
+ if (preference != null){
+ if(!prefStore.getBoolean(SHOW_LIFE_FORM_OVERRIDE) || !preference.isAllowOverride()){
+ prefStore.setValue(SHOW_LIFE_FORM, preference.getValue());
+ }
+ }
+ preference = getPreferenceFromDB(PreferencePredicate.DeterminationOnlyForFieldUnits);
+ if (preference != null){
+ if(!prefStore.getBoolean(DETERMINATION_ONLY_FOR_FIELD_UNITS_OVERRIDE) || !preference.isAllowOverride()){
+ prefStore.setValue(DETERMINATION_ONLY_FOR_FIELD_UNITS, preference.getValue());
+ }
+ }
+
+
+ //Name Details
+ NameDetailsConfigurator config = getPreferredNameDetailsConfiguration(false);
+ if (config != null ){
+ if (!prefStore.getBoolean(OVERRIDE_NAME_DETAILS) || !prefStore.getBoolean(ALLOW_OVERRIDE_NAME_DETAILS)){
+ setPreferredNameDetailsConfiguration(config, false);
+ }
+ }
+
+ //Distribution Editor
+ preference = getPreferenceFromDB(PreferencePredicate.AvailableDistributionAreaVocabularies);
+ if (preference != null){
+ if (!prefStore.getBoolean(DISTRIBUTION_AREA_PREFRENCES_ACTIVE_OVERRIDE) || !preference.isAllowOverride()){
+ prefStore.setValue(DISTRIBUTION_VOCABULARIES, preference.getValue());
+ }
+ }
+
+ preference = getPreferenceFromDB(PreferencePredicate.DistributionEditorActivated);
+ if (preference != null){
+ if (!prefStore.getBoolean(DISTRIBUTION_AREA_PREFRENCES_ACTIVE_OVERRIDE) || !preference.isAllowOverride()){
+ prefStore.setValue(DISTRIBUTION_AREA_PREFRENCES_ACTIVE, preference.getValue());
+ }
+ }
+
+}
+
+
+