* The contents of this file are subject to the Mozilla Public License Version 1.1
* See LICENSE.TXT at the top of this package for the full license terms.
*/
-
package eu.etaxonomy.taxeditor.preference;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.lang.reflect.Field;
-import java.net.URI;
import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
+import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.StringTokenizer;
import java.util.UUID;
-import org.apache.commons.lang.StringUtils;
-import org.apache.log4j.Logger;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.eclipse.core.runtime.preferences.ConfigurationScope;
import org.eclipse.core.runtime.preferences.IEclipsePreferences;
import org.eclipse.equinox.internal.p2.ui.model.MetadataRepositoryElement;
import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.window.Window;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
import org.osgi.service.prefs.BackingStoreException;
import org.osgi.service.prefs.Preferences;
+import eu.etaxonomy.cdm.api.application.CdmApplicationState;
import eu.etaxonomy.cdm.api.application.ICdmRepository;
-import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeConfigurator;
-import eu.etaxonomy.cdm.api.service.ITermService;
import eu.etaxonomy.cdm.api.service.ITermTreeService;
import eu.etaxonomy.cdm.api.service.IVocabularyService;
import eu.etaxonomy.cdm.api.service.config.FindTaxaAndNamesConfiguratorImpl;
import eu.etaxonomy.cdm.api.service.config.IFindTaxaAndNamesConfigurator;
+import eu.etaxonomy.cdm.api.service.config.SecundumForSubtreeConfigurator;
import eu.etaxonomy.cdm.common.CdmUtils;
+import eu.etaxonomy.cdm.common.URI;
+import eu.etaxonomy.cdm.facade.DerivedUnitFacadeConfigurator;
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.io.specimen.abcd206.in.Abcd206ImportConfigurator;
-import eu.etaxonomy.cdm.model.common.ICdmBase;
import eu.etaxonomy.cdm.model.common.Language;
import eu.etaxonomy.cdm.model.common.MarkerType;
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.DistributionDescription;
+import eu.etaxonomy.cdm.model.metadata.EnabledComputedDescription;
import eu.etaxonomy.cdm.model.metadata.IPreferencePredicate;
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
import eu.etaxonomy.cdm.model.metadata.PreferenceSubject;
+import eu.etaxonomy.cdm.model.metadata.SecReferenceHandlingEnum;
+import eu.etaxonomy.cdm.model.metadata.SecReferenceHandlingSwapEnum;
import eu.etaxonomy.cdm.model.metadata.TermDisplayEnum;
import eu.etaxonomy.cdm.model.metadata.TermOrder;
import eu.etaxonomy.cdm.model.name.NomenclaturalCode;
import eu.etaxonomy.cdm.model.term.IDefinedTerm;
import eu.etaxonomy.cdm.model.term.ISimpleTerm;
-import eu.etaxonomy.cdm.model.term.TermBase;
import eu.etaxonomy.cdm.model.term.TermTree;
import eu.etaxonomy.cdm.model.term.TermType;
import eu.etaxonomy.cdm.model.term.TermVocabulary;
import eu.etaxonomy.cdm.model.term.VocabularyEnum;
+import eu.etaxonomy.cdm.persistence.dto.TaxonNodeDto;
+import eu.etaxonomy.cdm.persistence.dto.TaxonNodeDtoByNameComparator;
+import eu.etaxonomy.cdm.persistence.dto.TaxonNodeDtoByRankAndNameComparator;
+import eu.etaxonomy.cdm.persistence.dto.TaxonNodeDtoNaturalComparator;
import eu.etaxonomy.cdm.strategy.match.DefaultMatchStrategy;
import eu.etaxonomy.cdm.strategy.match.FieldMatcher;
import eu.etaxonomy.cdm.strategy.match.IMatchStrategy;
import eu.etaxonomy.cdm.strategy.match.MatchException;
import eu.etaxonomy.cdm.strategy.match.MatchMode;
import eu.etaxonomy.taxeditor.editor.definedterm.input.TermEditorInput;
-import eu.etaxonomy.taxeditor.model.AbstractUtility;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.model.NomenclaturalCodeHelper;
-import eu.etaxonomy.taxeditor.remoting.source.CdmRemoteSource;
+import eu.etaxonomy.taxeditor.remoting.source.ICdmRemoteSource;
import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.store.TermStore;
import eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin;
-import eu.etaxonomy.taxeditor.ui.dialog.DefaultLanguageDialog;
/**
- * <p>
- * PreferencesUtil class.
- * </p>
- *
* @author p.ciardelli
* @author n.hoffmann
* @created 05.12.2008
*/
public class PreferencesUtil implements IPreferenceKeys {
+
+ private final static Logger logger = LogManager.getLogger(PreferencesUtil.class);
+
private final static String EDITOR_PREFERENCES_NODE = "eu.etaxonomy.taxeditor";
public static final String PREFERRED_TERMS_CHANGE = "preferred_terms";
-
+ public static final String UPDATE_NAVIGATOR = "update_navigator";
public static final String P2_REPOSITORIES_DELIM = ",";
public static final String P2_REPOSITORY_FIELDS_DELIM = ";";
public static final String SUBJECT_DELIM = "/";
private static TermTree<Feature> preferredTaxonFeatureTree;
- private final static Logger logger = Logger.getLogger(PreferencesUtil.class);
public static IPreferenceStore getPreferenceStore() {
return TaxeditorStorePlugin.getDefault().getPreferenceStore();
public static String getPreferenceValue(PrefKey prefKey){
try {
+ //check if there exist a node for the predicate
if(getEditorPreferences().nodeExists(prefKey.getPredicate())){
Preferences predicateNode = getEditorPreferences().node(prefKey.getPredicate());
String[] splittedSubject = extractSubjectParts(prefKey.getSubject());
+ //check if the predicate node contains a node for the subject, this should be the last part
String value = predicateNode.get(splittedSubject[splittedSubject.length-1], PreferencePredicate.getByKey(prefKey.getPredicate()).getDefaultValue() != null? PreferencePredicate.getByKey(prefKey.getPredicate()).getDefaultValue().toString(): "");
int index = splittedSubject.length -2;
while (value != null && index >= 0){
public static List<CdmPreference> getPreference(PreferencePredicate prefPredicate){
try {
- List<CdmPreference> prefs = new ArrayList();
+ List<CdmPreference> prefs = new ArrayList<>();
CdmPreference pref;
PreferenceSubject subject;
if(getEditorPreferences().nodeExists(prefPredicate.getKey())){
pref = CdmPreference.NewInstance(subject, prefPredicate, value);
prefs.add(pref);
}
-
}
-
} catch (BackingStoreException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
}
- /**
- * @param childName
- * @param child
- */
private static String createSubjectStringForChildNodes(String subject, Preferences parent) {
try {
for (String childName: parent.childrenNames()){
}
private static String prefKey(String name) {
- return name + "_"+ ((CdmRemoteSource)CdmStore.getActiveCdmSource()).toString();
+ return name + "_"+ ((ICdmRemoteSource)CdmStore.getActiveCdmSource()).toString();
}
public static String prefOverrideKey(String name) {
public static String getStringValue(String name, boolean local) {
CdmPreference pref = getDBPreferenceValue(name);
- String prefValue = null;
- String overrideKey = createPreferenceString(createOverridePreferenceString(name));
- boolean override = getPreferenceStore().getBoolean(overrideKey);
- if (local || pref == null || (pref != null && pref.isAllowOverride() && override)){
+ boolean override = getOverrideForPreference(name);
+
+ if (local || (pref == null && override)|| (pref != null && pref.isAllowOverride() && override)){
+ //local preference
String dbSpecific = prefKey(name);
if (getPreferenceStore().contains(dbSpecific)){
- prefValue = getPreferenceStore().getString(dbSpecific);
- }else{
- prefValue = getPreferenceStore().
- getString(name);
+ return getPreferenceStore().getString(dbSpecific);
}
- if (StringUtils.isBlank(prefValue) || (pref == null && !override)){
- IPreferencePredicate pred = PreferencePredicate.getByKey(name);
- if (pred != null){
- if (pred.getDefaultValue() instanceof String){
- return (String)pred.getDefaultValue();
- }else if (pred.getDefaultValue() != null){
- return pred.getDefaultValue().toString();
- }
- }
- return prefValue;
+ }else if (pref != null){
+ //db preference
+ if (pref.getValue() == null){
+ Object result = PreferencePredicate.getByKey(pref.getPredicate()).getDefaultValue();
+ if (result instanceof String){
+ return (String)result;
+ }else{
+ return result != null?result.toString(): null;
+ }
+ }
+ return pref.getValue();
+ }
+ //no override but default value
+ IPreferencePredicate<?> pred = PreferencePredicate.getByKey(name);
+ if (pred != null){
+ if (pred.getDefaultValue() instanceof String){
+ return (String)pred.getDefaultValue();
+ }else if (pred.getDefaultValue() != null){
+ return pred.getDefaultValue().toString();
}
-
- }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;
-
+ }
+ return null;
}
public static String getStringValue(String name){
private static CdmPreference getDBPreferenceValue(String name) {
CdmPreferenceCache cache = CdmPreferenceCache.instance();
CdmPreference pref = null;
-//
pref = cache.get(name);
-// if (pref == null ){
-// //get default value for Predicate
-// IPreferencePredicate pred = PreferencePredicate.getByKey(name);
-// if (pred != null){
-// if (pred.getDefaultValue() != null){
-// pref = CdmPreference.NewTaxEditorInstance(pred, pred.getDefaultValue().toString());
-// }else{
-// pref = CdmPreference.NewTaxEditorInstance(pred, null);
-// }
-// pref.setAllowOverride(true);
-// }
-// }
+
return pref;
}
try{
result = Integer.parseInt(prefValue);
}catch(NumberFormatException e){
- logger.debug("Preference value of " + name + " is not a number");
+ logger.debug("Preference value of " + name + " is not an integer");
}
- String overrideKey = createPreferenceString(createOverridePreferenceString(name));
- boolean override = true;
- if (getPreferenceStore().contains(overrideKey)){
- override = getPreferenceStore().getBoolean(overrideKey);
- }
- if (local || pref == null || (pref != null && pref.isAllowOverride() && override)){
+ boolean override = getOverrideForPreference(name);
+ if (local || (pref == null && override) || (pref != null && pref.isAllowOverride() && override)){
String dbSpecific = prefKey(name);
if (getPreferenceStore().contains(dbSpecific)){
result = getPreferenceStore().getInt(dbSpecific);
- }else{
- if (result == null){
- IPreferencePredicate pred = PreferencePredicate.getByKey(name);
- if (pred != null){
- if (pred.getDefaultValue() instanceof Integer){
- return (Integer)pred.getDefaultValue();
- }else if (pred.getDefaultValue() != null){
- return Integer.valueOf(pred.getDefaultValue().toString());
- }
+ }
+ }
+ if (result == null){
+ IPreferencePredicate<?> pred = PreferencePredicate.getByKey(name);
+ if (pred != null){
+ if (pred.getDefaultValue() instanceof Integer){
+ result = (Integer)pred.getDefaultValue();
+ }else if (pred.getDefaultValue() != null){
+ try{
+ result = Integer.valueOf(pred.getDefaultValue().toString());
+ }catch(NumberFormatException e){
+ logger.debug("Preference value of " + name + " is not a number");
+ result = 0;
}
- return 0;
}
}
+ //if no default value available
+ if (result == null){
+ result = 0;
+ }
}
return result;
-
}
public static boolean getBooleanValue(String name) {
}else{
return result;
}
-
}
public static Boolean getBooleanValue(String name, boolean local) {
if (CdmStore.isActive()){
CdmPreference pref = getDBPreferenceValue(name);
-
String overrideKey = createPreferenceString(createOverridePreferenceString(name));
boolean override = getPreferenceStore().getBoolean(overrideKey);
-
- if (local || pref == null || (pref != null && pref.isAllowOverride() && override)){
+ if (local || (pref == null && override)|| (pref != null && pref.isAllowOverride() && override)){
+ //local preference
String dbSpecific = prefKey(name);
- if (getPreferenceStore().contains(dbSpecific)){
- return getPreferenceStore().getBoolean(dbSpecific);
- }else{
- IPreferencePredicate pred = PreferencePredicate.getByKey(name);
- if (pred != null){
- if (pred.getDefaultValue() instanceof Boolean){
- return (Boolean)pred.getDefaultValue();
- }else if (pred.getDefaultValue() != null){
- return Boolean.valueOf(pred.getDefaultValue().toString());
- }
- }
- return null;
- }
- }else{
+ return getPreferenceStore().getBoolean(dbSpecific);
+
+ }else if (pref != null){
+ //db preference is available and override == false
if (pref.getValue() == null){
Object result = PreferencePredicate.getByKey(pref.getPredicate()).getDefaultValue();
if (result instanceof Boolean){
}
return Boolean.valueOf(pref.getValue());
}
-
+ //no override but default value
+ IPreferencePredicate<?> pred = PreferencePredicate.getByKey(name);
+ if (pred != null){
+ if (pred.getDefaultValue() instanceof Boolean){
+ return (Boolean)pred.getDefaultValue();
+ }else if (pred.getDefaultValue() != null){
+ return Boolean.valueOf(pred.getDefaultValue().toString());
+ }
+ }
+ return false;
}else{
+ // no connection to db, use local preference
return getPreferenceStore().getBoolean(name);
}
-
}
- public static double getDoubleValue(String name) {
+ public static float getFloatValue(String name, boolean local) {
CdmPreference pref = getDBPreferenceValue(name);
String prefValue = null;
if (pref != null){
prefValue = pref.getValue();
}
- Double result = null;
+ Float 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());
- }
+ if (prefValue != null){
+ result = Float.parseFloat(prefValue);
}
-
- result = Double.parseDouble(prefValue);
}catch(NumberFormatException e){
- logger.debug("Preference value of " + name + " is not a number");
- }
- if (result == null){
- String dbSpecific = prefKey(name);
- if (getPreferenceStore().contains(dbSpecific)){
- result = getPreferenceStore().getDouble(dbSpecific);
- }else{
- result = getPreferenceStore().
- getDouble(name);
- }
+ logger.debug("Preference value of " + name + " is not a float");
}
- return result;
- }
+ boolean override = getOverrideForPreference(name);
- public static float getFloatValue(String name, boolean local) {
- CdmPreference pref = getDBPreferenceValue(name);
- String prefValue = null;
- if (pref != null){
- prefValue = pref.getValue();
- }
- Float result = null;
- try{
- result = Float.parseFloat(prefValue);
- }catch(NumberFormatException e){
- logger.debug("Preference value of " + name + " is not a number");
- }
- String overrideKey = createPreferenceString(createOverridePreferenceString(name));
- boolean override = true;
- if (getPreferenceStore().contains(overrideKey)){
- override = getPreferenceStore().getBoolean(overrideKey);
- }
- if (local || pref == null || (pref != null && pref.isAllowOverride() && override)){
+ if (local || pref == null || (pref.isAllowOverride() && override)){
String dbSpecific = prefKey(name);
if (getPreferenceStore().contains(dbSpecific)){
result = getPreferenceStore().getFloat(dbSpecific);
}else{
- IPreferencePredicate pred = PreferencePredicate.getByKey(name);
+ IPreferencePredicate<?> pred = PreferencePredicate.getByKey(name);
if (pred != null){
if (pred.getDefaultValue() instanceof Float){
return (float)pred.getDefaultValue();
}
}
return result;
-
- }
-
- public static long getLongValue(String name) {
- CdmPreference pref = getDBPreferenceValue(name);
- String prefValue = null;
- if (pref != null){
- prefValue = pref.getValue();
- }
- Long result = null;
- try{
- result = Long.parseLong(prefValue);
- }catch(NumberFormatException e){
- logger.debug("Preference value of " + name + " is not a number");
- }
- if (result == null){
- String dbSpecific = prefKey(name);
- if (getPreferenceStore().contains(dbSpecific)){
- result = getPreferenceStore().getLong(dbSpecific);
- }else{
- result = getPreferenceStore().
- getLong(name);
- }
- }
- return result;
}
public static CdmPreference setPreferredNomenclaturalCode(
}
}
return null;
-
-
-
}
public static void setPreferredNomenclaturalCode(
}else{
controller.getPreferenceService().set(preference);
}
-
}
public static NomenclaturalCode getPreferredNomenclaturalCode() {
- CdmPreference pref = getPreferenceFromDB(PreferencePredicate.NomenclaturalCode);
-
-
- String preferredCode;
- if(pref == null || (pref.isAllowOverride() && getBooleanValue(prefOverrideKey(PreferencePredicate.NomenclaturalCode.getKey())))){
- preferredCode = getStringValue(
- PreferencePredicate.NomenclaturalCode.getKey());
-
- }else{
- preferredCode = pref.getValue();
- }
- if (StringUtils.isBlank(preferredCode)){
- preferredCode = getPreferenceKey((NomenclaturalCode)PreferencePredicate.NomenclaturalCode.getDefaultValue());
- }
-
- return getPreferredNomenclaturalCode(preferredCode);
-
+ String nomString = getStringValue(PreferencePredicate.NomenclaturalCode.getKey());
+ return getPreferredNomenclaturalCode(nomString);
}
public static NomenclaturalCode getPreferredNomenclaturalCode(String preferenceKeyNomenclaturalCode) {
return result;
}
- public static CdmPreference getPreferenceFromDB(IPreferencePredicate predicate){
+ public static CdmPreference getPreferenceFromDB(IPreferencePredicate<?> predicate){
ICdmRepository controller;
CdmPreference pref = null;
}
return pref;
-
}
- public static List<CdmPreference> getPreferencesFromDB(IPreferencePredicate predicate){
+ public static List<CdmPreference> getPreferencesFromDB(IPreferencePredicate<?> predicate){
ICdmRepository controller;
List<CdmPreference> prefs = null;
}catch(Exception e){
e.printStackTrace();
}
-
-
-
}
public static CdmPreference getPreferenceFromDB(PrefKey key){
}catch(Exception e){
e.printStackTrace();
}
-
}
public static String getPreferredDefaultLangugae(){
- String preferredLanguage = getStringValue(DEFAULT_LANGUAGE_EDITOR);
+ String preferredLanguage = getStringValue(DEFAULT_LANGUAGE_EDITOR, true);
if(StringUtils.isNotEmpty(preferredLanguage) && StringUtils.isNotBlank(preferredLanguage)){
return preferredLanguage;
}
return null;
}
+ public static Language getPreferredDefaultLanguage(){
+
+ String prop = System.getProperty("osgi.nl");
+ if (prop.startsWith("de")) {
+ return Language.GERMAN();
+ }else {
+ return Language.ENGLISH();
+ }
+// String preferredLanguage = getStringValue(DEFAULT_LANGUAGE_EDITOR, true);
+// if(StringUtils.isNotEmpty(preferredLanguage) && StringUtils.isNotBlank(preferredLanguage)){
+// if (preferredLanguage.equals(Language.uuidEnglish.toString())) {
+// return Language.ENGLISH();
+// }else if (preferredLanguage.equals(Language.uuidGerman.toString())) {
+// return Language.GERMAN();
+// }else {
+// return Language.ENGLISH();
+// }
+// }
+// return Language.getDefaultLanguage();
+ }
+
public static boolean isShowMediaPreview(){
- boolean isShowMediaPreview = getBooleanValue(SHOW_MEDIA_PREVIEW);
+ boolean isShowMediaPreview = getBooleanValue(SHOW_MEDIA_PREVIEW, true);
return isShowMediaPreview;
}
*/
public static IMatchStrategy getMatchStrategy(Class<?> clazz) {
String className = clazz.getName();
- if (getBooleanValue(MATCH_STRATEGY_PREFIX + className)) {
+ if (getBooleanValue(MATCH_STRATEGY_PREFIX + className, true)) {
IMatchStrategy matchStrategy = getDefaultMatchStrategy(clazz);
//TODO CacheMatchers (or multiple field matchers in future) are missing here
for (FieldMatcher fieldMatcher : matchStrategy.getMatching().getFieldMatchers(false)) {
String fieldName = fieldMatcher.getPropertyName();
String matchModeName = getStringValue(
- getMatchStrategyFieldName(className, fieldName));
+ getMatchStrategyFieldName(className, fieldName), true);
MatchMode matchMode = MatchMode.valueOf(matchModeName);
try {
matchStrategy.setMatchMode(fieldName, matchMode);
return pattern;
}
- public static <T extends TermBase> void addTermToPreferredTerms(T term) {
-
- // VocabularyEnum vocabulary =
- // VocabularyEnum.getVocabularyEnum(term.getClass());
- //
- // getPreferenceStore().setValue(getPreferenceKey(term),
- // VocabularyStore.getTermVocabulary(vocabulary).getTerms().contains(term));
- //
- // firePreferencesChanged(term.getClass());
- }
-
/**
* Construct a unique key using the CdmBase object's uuid
- *
- * @param cdmBase
- * @return
*/
- private static String getPreferenceKey(ICdmBase cdmBase) {
- cdmBase = HibernateProxyHelper.deproxy(cdmBase);
-
- String key = cdmBase.getClass().getName().concat(".")
- .concat(cdmBase.getUuid().toString());
- if (key.contains("javassist")) {
- MessagingUtils.info("proxy");
- }
- return key;
- }
-
- /**
- * Construct a unique key using the CdmBase object's uuid
- *
- * @param cdmBase
- * @return
- */
- public static String getPreferenceKey(ISimpleTerm simpleTerm) {
+ public static String getPreferenceKey(ISimpleTerm<?> simpleTerm) {
simpleTerm = HibernateProxyHelper.deproxy(simpleTerm);
String key = simpleTerm.getClass().getName().concat(".")
.concat(simpleTerm.getUuid().toString());
- if (key.contains("javassist")) {
+ if (key.contains("javassist")) { //Note by AM (2022-06): javassist is not used anymore, instead hibernate uses bytebuddy which is not contained in class names so this logging will not work anymore
MessagingUtils.warn(PreferencesUtil.class,
"Trying to persist a preference based on a proxy class.");
}
return key;
}
-
-
/**
* Construct a unique key using the CdmBase object's uuid
- *
- * @param cdmBase
- * @return
*/
public static String getPreferenceKey(IDefinedTerm definedTerm) {
definedTerm = HibernateProxyHelper.deproxy(definedTerm);
String key = definedTerm.getClass().getName().concat(".")
.concat(definedTerm.getUuid().toString());
- if (key.contains("javassist")) {
+ if (key.contains("javassist")) { //Note by AM (2022-06): javassist is not used anymore, instead hibernate uses bytebuddy which is not contained in class names so this logging will not work anymore
MessagingUtils.warn(PreferencesUtil.class,
"Trying to persist a preference based on a proxy class.");
}
IPreferenceKeys.TAXON_SERVICE_CONFIGURATOR_NAMES): true);
configurator.setDoTaxaByCommonNames(PreferencesUtil.getPreferenceStore().contains(IPreferenceKeys.TAXON_SERVICE_CONFIGURATOR_COMMON_NAMES)? PreferencesUtil.getPreferenceStore().getBoolean(
IPreferenceKeys.TAXON_SERVICE_CONFIGURATOR_COMMON_NAMES): true);
+ configurator.setDoIncludeAuthors(PreferencesUtil.getPreferenceStore().contains(IPreferenceKeys.TAXON_SERVICE_CONFIGURATOR_WITH_AUTHORS)? PreferencesUtil.getPreferenceStore().getBoolean(
+ IPreferenceKeys.TAXON_SERVICE_CONFIGURATOR_WITH_AUTHORS): false);
+ configurator.setIncludeUnpublished(PreferencesUtil.getPreferenceStore().contains(IPreferenceKeys.TAXON_SERVICE_CONFIGURATOR_UNPUBLISHED)? PreferencesUtil.getPreferenceStore().getBoolean(
+ IPreferenceKeys.TAXON_SERVICE_CONFIGURATOR_UNPUBLISHED): true);
//configurator.setMatchMode(eu.etaxonomy.cdm.persistence.query.MatchMode.valueOf(getStringValue(TAXON_SERVICE_CONFIGURATOR_MATCH_MODE)));
return configurator;
configurator.setDoSynonyms(true);
configurator.setDoNamesWithoutTaxa(true);
configurator.setDoTaxaByCommonNames(true);
-
+ configurator.setIncludeUnpublished(true);
+ configurator.setDoIncludeAuthors(false);
configurator.setTaxonPropertyPath(Arrays.asList("$", "titleCache",
"name", "name.$", "relationsFromThisTaxon.$"));
configurator.isDoNamesWithoutTaxa());
getPreferenceStore().setValue(TAXON_SERVICE_CONFIGURATOR_COMMON_NAMES,
configurator.isDoTaxaByCommonNames());
+ getPreferenceStore().setValue(TAXON_SERVICE_CONFIGURATOR_WITH_AUTHORS,
+ configurator.isDoIncludeAuthors());
+ getPreferenceStore().setValue(TAXON_SERVICE_CONFIGURATOR_UNPUBLISHED,
+ configurator.isIncludeUnpublished());
}
public static void firePreferencesChanged(Class clazz) {
null, clazz);
}
+ public static void firePreferencesChangedForNavigator() {
+ getPreferenceStore().firePropertyChangeEvent(UPDATE_NAVIGATOR,
+ null, null);
+ }
+
public static String createPreferenceString(String property){
return prefKey(property);
-
}
public static String createOverridePreferenceString(String property){
return prefOverrideKey(property);
+ }
- }
+ public static boolean getOverrideForPreference(String preferenceString){
+ return PreferencesUtil.getBooleanValue(PreferencesUtil.createOverridePreferenceString(preferenceString), true);
+ }
/**
* Set default values for preferences
*/
public static void setDefaults() {
- getPreferenceStore().setDefault(createPreferenceString(EDIT_MAP_SERVICE_ACCES_POINT),
+ getPreferenceStore().setDefault(createPreferenceString(PreferencePredicate.EditMapServiceAccessPoint.getKey()),
"http://edit.africamuseum.be/edit_wp5/v1.2/rest_gen.php");
//FIXME : changed default for SHOULD_CONNECT_AT_STARTUP to false (ticket 3828) until resolution
getPreferenceStore().setDefault(createPreferenceString(SHOULD_CONNECT_AT_STARTUP), false);
getPreferenceStore().setDefault(TAXON_SERVICE_CONFIGURATOR_SYNONYMS, true);
getPreferenceStore().setDefault(TAXON_SERVICE_CONFIGURATOR_NAMES, true);
getPreferenceStore().setDefault(TAXON_SERVICE_CONFIGURATOR_COMMON_NAMES, true);
-
+ getPreferenceStore().setDefault(TAXON_SERVICE_CONFIGURATOR_WITH_AUTHORS, false);
//Name Details
// getPreferenceStore().setDefault(createPreferenceString(PreferencePredicate.NameDetailsView.getKey()), new NameDetailsConfigurator(false).toString());
getPreferenceStore().setDefault(createPreferenceString(prefOverrideKey(PreferencePredicate.ShowModifierFreeText.getKey())), false);
getPreferenceStore().setDefault(createPreferenceString(prefOverrideKey(PreferencePredicate.ShowModifier.getKey())), false);
getPreferenceStore().setDefault(createPreferenceString(prefOverrideKey(PreferencePredicate.DistributionEditorActivated.getKey())), false);
-
}
public static void checkNomenclaturalCode() {
if (PreferencesUtil.getPreferredNomenclaturalCode() == null) {
PreferencesUtil.setPreferredNomenclaturalCode(getPreferenceKey(NomenclaturalCode.ICNAFP), true);
}
-
-
-
}
+
public static void setNomenclaturalCodePreferences(){
ICdmRepository controller;
controller = CdmStore.getCurrentApplicationConfiguration();
setStringValue(PreferencePredicate.NomenclaturalCode.getKey(),
getPreferenceKey(preferredCode));
-
}
- public static void checkDefaultLanguage(){
- if(PreferencesUtil.getPreferredDefaultLangugae() == null){
- Shell shell = AbstractUtility.getShell();
- int open = new DefaultLanguageDialog(shell).open();
- if(open == Window.OK){
- PlatformUI.getWorkbench().restart();
- }
- }else{
- //TODO:In case of a reinstall, the config.ini will be overwritten
- // here you create config.ini with the stored key from preferences
- }
- }
+// public static void checkDefaultLanguage(){
+// if(PreferencesUtil.getPreferredDefaultLangugae() == null){
+// Shell shell = AbstractUtility.getShell();
+// int open = new DefaultLanguageDialog(shell).open();
+// if(open == Window.OK){
+// PlatformUI.getWorkbench().restart();
+// }
+// }else{
+// //TODO:In case of a reinstall, the config.ini will be overwritten
+// // here you create config.ini with the stored key from preferences
+// }
+// }
public static String getMapServiceAccessPoint() {
- return getStringValue(EDIT_MAP_SERVICE_ACCES_POINT);
+ return getStringValue(PreferencePredicate.EditMapServiceAccessPoint.getKey());
}
public static boolean shouldConnectAtStartUp() {
return false;
}
- public static TermTree getDefaultFeatureTreeForTextualDescription() {
+ public static TermTree<?> getDefaultFeatureTreeForTextualDescription() {
String uuidString = getStringValue(
- FEATURE_TREE_DEFAULT_TEXT);
+ FEATURE_TREE_DEFAULT_TEXT, true);
if (StringUtils.isBlank(uuidString)) {
return null;
}
- TermTree tree = CdmStore.getService(
+ TermTree<?> tree = CdmStore.getService(
ITermTreeService.class).load(UUID.fromString(uuidString));
if (tree == null || tree.getId() == 0) {
return tree;
}
- public static TermTree getDefaultFeatureTreeForStructuredDescription() {
+ public static TermTree<?> getDefaultFeatureTreeForStructuredDescription() {
String uuidString = getStringValue(
- FEATURE_TREE_DEFAULT_STRUCTURE);
+ FEATURE_TREE_DEFAULT_STRUCTURE, true);
return StringUtils.isBlank(uuidString) ? null : CdmStore.getService(
ITermTreeService.class).load(UUID.fromString(uuidString));
}
public static void setSortRanksHierarchichally(boolean selection) {
- setBooleanValue(SORT_RANKS_HIERARCHICHALLY, selection);
+ setBooleanValue(PreferencePredicate.SortRanksHierarchichally.getKey(), selection);
}
public static boolean getSortRanksHierarchichally() {
- return getBooleanValue(SORT_RANKS_HIERARCHICHALLY);
+ return getBooleanValue(PreferencePredicate.SortRanksHierarchichally.getKey());
}
public static boolean isMultilanguageTextEditingCapability() {
return getBooleanValue(
- MULTILANGUAGE_TEXT_EDITING_CAPABILITY);
+ PreferencePredicate.MultiLanguageTextEditing.getKey());
}
public static Language getGlobalLanguage() {
-
String languageUuidString = getStringValue(
- GLOBAL_LANGUAGE_UUID);
+ PreferencePredicate.TermLanguage.getKey(), true);
- if(!CdmStore.isActive()) {
- MessagingUtils.noDataSourceWarningDialog(languageUuidString);
- return null;
- }
+ CdmPreference dbPref = getDBPreferenceValue(PreferencePredicate.TermLanguage.getKey());
- if (CdmUtils.isBlank(languageUuidString)) {
- return Language.getDefaultLanguage();
+ if (dbPref == null || (dbPref != null && dbPref.isAllowOverride() && getOverrideForPreference(PreferencePredicate.TermLanguage.getKey()))) {
+ if (CdmUtils.isBlank(languageUuidString)) {
+ return Language.getDefaultLanguage();
+ }else {
+ return Language.getLanguageFromUuid(UUID.fromString(languageUuidString));
+ }
+ }else {
+ languageUuidString = dbPref.getValue();
}
-
UUID languageUuid = UUID.fromString(languageUuidString);
- return (Language) CdmStore.getService(ITermService.class).load(
- languageUuid);
+ Language language = (Language)CdmApplicationState.getTermProxy().load(languageUuid);
+ if (language != null){
+ return language;
+ }else{
+ MessagingUtils.noDataSourceWarningDialog(languageUuidString);
+ return null;
+ }
}
public static void setGlobalLanguage(Language language) {
if(language != null) {
- setStringValue(GLOBAL_LANGUAGE_UUID,language.getUuid().toString());
+ setStringValue(PreferencePredicate.TermLanguage.getKey(),language.getUuid().toString());
CdmStore.setDefaultLanguage(language);
+ }else {
+ CdmStore.setDefaultLanguage(Language.getDefaultLanguage());
}
-
}
public static Map<MarkerType, Boolean> getEditMarkerTypePreferences() {
List<MarkerType> markerTypes = CdmStore.getTermManager()
.getPreferredTerms(MarkerType.class);
- Map<MarkerType, Boolean> result = new HashMap<MarkerType, Boolean>();
+ Map<MarkerType, Boolean> result = new HashMap<>();
for (MarkerType markerType : markerTypes) {
String name = getMarkerTypeEditingPreferenceKey(markerType);
Boolean value = getBooleanValue(name);
-
result.put(markerType, value);
}
setBooleanValue(name,
markerTypeEditingMap.get(markerType));
}
-
}
private static String getMarkerTypeEditingPreferenceKey(
* @param setLanguage 0 is for german and 1 for english.
* @throws IOException
*/
- public void writePropertyToConfigFile(int setLanguage) throws IOException {
+ public static void writePropertyToConfigFile(int setLanguage) throws IOException {
File file = org.eclipse.core.runtime.preferences.ConfigurationScope.INSTANCE.getLocation().toFile();
//give warning to user if the directory has no write access
if(file == null){
throw new IOException();
}
- Properties properties = load(file.getAbsolutePath()+"/config.ini");
+ Properties properties;
+ properties = load(file.getAbsolutePath()+"/config.ini");
switch(setLanguage){
case 0:
properties.setProperty("osgi.nl", "de");
- setStringValue(IPreferenceKeys.DEFAULT_LANGUAGE_EDITOR, "de");
+ setStringValue(IPreferenceKeys.DEFAULT_LANGUAGE_EDITOR, Language.uuidGerman.toString());
break;
case 1:
properties.setProperty("osgi.nl", "en");
- setStringValue(IPreferenceKeys.DEFAULT_LANGUAGE_EDITOR, "en");
+ setStringValue(IPreferenceKeys.DEFAULT_LANGUAGE_EDITOR, Language.uuidEnglish.toString());
break;
default:
break;
}
save(file+"/config.ini", properties);
+
+
}
/**
* @return
* @throws IOException
*/
- private Properties load(String filename) throws IOException {
+ private static Properties load(String filename) throws IOException {
FileInputStream in = new FileInputStream(filename);
Properties prop = new Properties();
prop.load(in);
* @param properties
* @throws IOException
*/
- private void save(String filename, Properties properties) throws IOException{
+ private static void save(String filename, Properties properties) throws IOException{
FileOutputStream fos = new FileOutputStream(filename);
properties.store(fos, "");
fos.close();
/**
* Retrieves a list of previously saved P2 repositories
- *
- * @return
*/
public static List<MetadataRepositoryElement> getP2Repositories() {
List<MetadataRepositoryElement> p2Repos = new ArrayList<MetadataRepositoryElement>();
- String p2ReposPref = getStringValue(P2_REPOSITORY_LIST);
+ String p2ReposPref = getStringValue(P2_REPOSITORY_LIST, true);
if(p2ReposPref != null && !p2ReposPref.isEmpty()) {
StringTokenizer p2ReposPrefST = new StringTokenizer(p2ReposPref,P2_REPOSITORIES_DELIM);
continue;
}
boolean enabled = Boolean.parseBoolean(p2ReposStrST.nextToken());
- MetadataRepositoryElement mre = new MetadataRepositoryElement(null, uri, true);
+ MetadataRepositoryElement mre = new MetadataRepositoryElement(null, uri.getJavaUri(), true);
mre.setNickname(nickname);
mre.setEnabled(enabled);
p2Repos.add(mre);
}else{
setStringValue(PreferencePredicate.TaxonNodeOrder.getKey(), nodesOrder.key);
}
-
}
public static NavigatorOrderEnum getSortNodes() {
return NavigatorOrderEnum.valueOf(getStringValue(PreferencePredicate.TaxonNodeOrder.getKey()));
-
}
public static boolean isNodesSortedNaturally() {
NavigatorOrderEnum value = NavigatorOrderEnum.valueOf(getStringValue(PreferencePredicate.TaxonNodeOrder.getKey()));
return value.equals(NavigatorOrderEnum.NaturalOrder);
-
}
public static boolean isNodesSortedByName() {
NavigatorOrderEnum value = NavigatorOrderEnum.valueOf(getStringValue(PreferencePredicate.TaxonNodeOrder.getKey()));
return value.equals(NavigatorOrderEnum.AlphabeticalOrder);
-
}
public static boolean isNodesSortedByNameAndRank() {
NavigatorOrderEnum value = NavigatorOrderEnum.valueOf(getStringValue(PreferencePredicate.TaxonNodeOrder.getKey()));
return value.equals(NavigatorOrderEnum.RankAndNameOrder);
-
}
+ public static Comparator<TaxonNodeDto> getNodeComparator() {
+ Comparator<TaxonNodeDto> comparator;
+ NavigatorOrderEnum orderValue = NavigatorOrderEnum.RankAndNameOrder;
+ try{
+ orderValue = PreferencesUtil.getSortNodes();
+ }catch(IllegalArgumentException e){
+
+ }
+
+ if (orderValue.equals(NavigatorOrderEnum.NaturalOrder)){
+ comparator = new TaxonNodeDtoNaturalComparator();
+ } else if (orderValue.equals(NavigatorOrderEnum.AlphabeticalOrder)){
+ comparator = new TaxonNodeDtoByNameComparator();
+ }else {
+ comparator = new TaxonNodeDtoByRankAndNameComparator();
+ }
+ return comparator;
+ }
+
public static boolean isStoreNavigatorState() {
return getBooleanValue(RESTORE_NAVIGATOR_STATE);
-
}
public static void setStoreNavigatorState(boolean selection) {
setBooleanValue(RESTORE_NAVIGATOR_STATE, selection);
-
}
public static boolean isShowUpWidgetIsDisposedMessages() {
return getBooleanValue(IS_SHOW_UP_WIDGET_IS_DISPOSED);
}
+
public static void setShowUpWidgetIsDisposedMessages(boolean selection) {
setBooleanValue(IS_SHOW_UP_WIDGET_IS_DISPOSED, selection);
}
}else{
return false;
}
- }
+ }
public static boolean isShowSymbol2InChecklistEditor() {
String area_display = getStringValue(PreferencePredicate.DisplayOfAreasInDistributionEditor.getKey());
if (area_display.equals(TermDisplayEnum.Symbol2.getKey())) {
}else{
return false;
}
- }
+ }
+
public static void setAreaDisplayInChecklistEditor(String selection) {
setStringValue(PreferencePredicate.DisplayOfAreasInDistributionEditor.getKey(), selection);
}
- public static void setOwnDescriptionForChecklistEditor(boolean selection) {
- setBooleanValue(PreferencePredicate.OwnDescriptionForDistributionEditor.getKey(), selection);
+ public static void setDescriptionForChecklistEditor(DistributionDescription selection) {
+ setStringValue(PreferencePredicate.DescriptionForDistributionEditor.getKey(), selection.getKey());
}
- public static boolean isOwnDescriptionForChecklistEditor() {
- return getBooleanValue(PreferencePredicate.OwnDescriptionForDistributionEditor.getKey());
+ public static DistributionDescription getDescriptionForChecklistEditor() {
+ String str = getStringValue(PreferencePredicate.DescriptionForDistributionEditor.getKey());
+ DistributionDescription result = null;
+ try {
+ result = DistributionDescription.byKey(str);
+ }catch(IllegalArgumentException e) {
+ result = (DistributionDescription)PreferencePredicate.DescriptionForDistributionEditor.getDefaultValue();
+ }
+ return result;
}
public static TermDisplayEnum displayAreaInChecklistEditor() {
}
return result;
}
+
public static void setDisplayStatusInChecklistEditor(String selection) {
setStringValue(PreferencePredicate.DisplayOfStatus.getKey(), selection);
-
}
public static boolean isShowRankInChecklistEditor() {
return getBooleanValue(PreferencePredicate.ShowRankInDistributionEditor.getKey());
}
+
public static void setShowRankInChecklistEditor(boolean selection) {
setBooleanValue(PreferencePredicate.ShowRankInDistributionEditor.getKey(), selection);
}
else{
setStringValue(PreferencePredicate.NameDetailsView.getKey(), config.toString());
}
-
-
}
private static Boolean getValue(Map<String, Boolean> sectionMap, String string) {
}else{
return true;
}
+ }
+
+ public static void extractSecundumForSubtreeConfiguratorFromPreferenceString(SecundumForSubtreeConfigurator config,
+ String configString) {
+ if(configString != null){
+ String[] configArray = configString.split(";");
+ for (String configItem: configArray){
+ String[] keyValue = configItem.split(":");
+ String keyString = keyValue[0];
+ String valueString = null;
+ if (keyValue.length>1){
+ valueString = keyValue[1];
+ if (keyValue.length>2){
+
+ for (int index = 2; index< keyValue.length; index++){
+ valueString += ":"+ keyValue[index];
+ }
+ }
+ }
+ if (keyString.equals("includeAcceptedTaxa")){
+ config.setIncludeAcceptedTaxa(Boolean.valueOf(valueString));
+ }else if (keyString.equals("includeSynonyms")){
+ config.setIncludeSynonyms(Boolean.valueOf(valueString));
+ }else if (keyString.equals("includeSharedTaxa")){
+ config.setIncludeSharedTaxa(Boolean.valueOf(valueString));
+ }else if (keyString.equals("includeProParteSynonyms")){
+ config.setIncludeProParteSynonyms(Boolean.valueOf(valueString));
+ }else if (keyString.equals("includeMisapplications")){
+ config.setIncludeMisapplications(Boolean.valueOf(valueString));
+ }else if (keyString.equals("overwriteExisting")){
+ config.setOverwriteExisting(Boolean.valueOf(valueString));
+ }else if (keyString.equals("emptySecundumDetail")){
+ config.setEmptySecundumDetail(Boolean.valueOf(valueString));
+ }else{
+ logger.debug("This key of the set secundum configurator needs to be added to the transformer: " + keyString);
+ }
+ }
+ }
}
public static Abcd206ImportConfigurator getDBAbcdImportConfigurationPreference() {
public static void extractAbcdConfiguratorFromPreferenceString(Abcd206ImportConfigurator config,
String configString) {
- if(configString!=null){
+ if(configString != null){
String[] configArray = configString.split(";");
for (String configItem: configArray){
}
if (keyString.equals("ignoreImportOfExistingSpecimen")){
config.setIgnoreImportOfExistingSpecimen(Boolean.valueOf(valueString));
- }else if (keyString.equals("addIndividualsAssociationsSuchAsSpecimenAndObservations")){
- config.setAddIndividualsAssociationsSuchAsSpecimenAndObservations(Boolean.valueOf(valueString));
+ }else if (keyString.equals("addIndividualsAssociations")){
+ config.setAddIndividualsAssociations(Boolean.valueOf(valueString));
+ }else if (keyString.equals("addDeterminations")){
+ config.setAddDeterminations(Boolean.valueOf(valueString));
}else if (keyString.equals("reuseExistingTaxaWhenPossible")){
config.setReuseExistingTaxaWhenPossible(Boolean.valueOf(valueString));
}else if (keyString.equals("ignoreAuthorship")){
config.setRemoveCountryFromLocalityText(Boolean.valueOf(valueString));
}else if (keyString.equals("getSiblings")){
config.setGetSiblings(Boolean.valueOf(valueString));
+ }else if (keyString.equals("classificationUUID")){
+ if (valueString != null){
+ config.setClassificationUuid(UUID.fromString(valueString));
+ }
+ }else if (keyString.equals("classificationName")){
+ config.setClassificationName(valueString);
}else if (keyString.equals("dnaSource")){
try{
- config.setDnaSoure(URI.create(valueString));
+ if (StringUtils.isNotBlank(valueString)){
+ config.setDnaSoure(URI.create(valueString));
+ }
}catch(Exception e){
config.setDnaSoure(null);
}
}else{
logger.debug("This key of the abcd configurator needs to be added to the transformer: " + keyString);
}
-
-
}
}
}
+
public static Abcd206ImportConfigurator getLocalAbcdImportConfigurator(){
return getLocalAbcdImportConfigurator(true);
}
+
public static Abcd206ImportConfigurator getLocalAbcdImportConfigurator(boolean skipCheckOverride){
Abcd206ImportConfigurator config = Abcd206ImportConfigurator.NewInstance(null,null);
CdmPreference pref = CdmPreferenceCache.instance().get(PreferencePredicate.AbcdImportConfig.getKey());
if (pref == null || pref.isAllowOverride()){
- String configString = PreferencesUtil.getStringValue(IPreferenceKeys.LAST_USED_ABCD_CONFIG);
+ String configString = PreferencesUtil.getStringValue(PreferencePredicate.AbcdImportConfig.getKey());
if (StringUtils.isBlank(configString)){
configString = getStringValue(PreferencePredicate.AbcdImportConfig.getKey(), skipCheckOverride);
extractAbcdConfiguratorFromPreferenceString(config, configString);
}
+ public static Abcd206ImportConfigurator getLastUsedAbcdImportConfigurator(){
+ Abcd206ImportConfigurator config = Abcd206ImportConfigurator.NewInstance(null,null);
+
+ String configString = PreferencesUtil.getStringValue(IPreferenceKeys.LAST_USED_ABCD_CONFIG, true);
+ if (configString != null){
+ extractAbcdConfiguratorFromPreferenceString(config, configString);
+ if (config != null){
+ if (config.getNomenclaturalCode() == null){
+ config.setNomenclaturalCode(getPreferredNomenclaturalCode());
+ }
+ }
+ }else{
+ config = PreferencesUtil.getLocalAbcdImportConfigurator(false);
+ }
+
+ return config;
+ }
+
public static void updateAbcdImportConfigurationPreference() {
CdmPreferenceCache cache = CdmPreferenceCache.instance();
if (!getBooleanValue(prefOverrideKey(PreferencePredicate.AbcdImportConfig.getKey())) || !pref.isAllowOverride()){
resetToDBPreferenceAbcdCOnfigurator();
-
}
}
public static void resetToDBPreferenceAbcdCOnfigurator(){
Abcd206ImportConfigurator config = getDBAbcdImportConfigurationPreference();
setStringValue(PreferencePredicate.AbcdImportConfig.getKey(), config.toString());
-
}
public static boolean isSortTaxaByRankAndName() {
-
return getBooleanValue(PreferencePredicate.SortTaxaByRankAndName.getKey());
}
public static void setSortNamedAreasInDistributionEditor(String isSortByVocabularyOrder) {
setStringValue(PreferencePredicate.AreasSortedInDistributionEditor.getKey(), isSortByVocabularyOrder);
-
}
public static void setLastSelectedReference(
List<String> lastSelectedReferences) {
- setStringValue(PreferencesUtil.LAST_SELECTED_REFERENCES, lastSelectedReferences.toString());
+ setStringValue(IPreferenceKeys.LAST_SELECTED_REFERENCES, lastSelectedReferences.toString());
}
public static List<String> getLastSelectedReferences() {
//IPreferenceStore preferenceStore = PreferencesUtil.getPreferenceStore();
- String lastSelected = getStringValue(PreferencesUtil.LAST_SELECTED_REFERENCES);
+ String lastSelected = getStringValue(IPreferenceKeys.LAST_SELECTED_REFERENCES, true);
List<String> result = new ArrayList<>();
if (!StringUtils.isBlank(lastSelected)){
Collections.addAll(result, lastSelected.substring(1,lastSelected.length()-1).split(", "));
String saveCheckedElements, String saveGrayedElements, boolean local) {
if (local){
setStringValue(PreferencePredicate.AvailableDistributionAreaTerms.getKey(), saveCheckedElements);
-
}
else{
CdmPreference preference = null;
saveCheckedElements);
preference = CdmPreference.NewInstance(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.AvailableDistributionAreaTerms, saveCheckedElements);
setPreferenceToDB(preference);
-
}
} else{
preference = CdmPreference.NewInstance(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.AvailableDistributionAreaTerms, saveCheckedElements);
setPreferenceToDB(preference);
setStringValue(PreferencePredicate.AvailableDistributionAreaTerms.getKey(),
saveCheckedElements);
-
}
}
-
}
public static void setPreferredVocabulariesForDistributionEditor(String saveCheckedElements,
setBooleanValue(prefOverrideKey(PreferencePredicate.AvailableDistributionAreaVocabularies.getKey()), isOverride);
}
else{
- ICdmRepository controller;
CdmPreference preference = null;
if (saveCheckedElements == null){
setPreferenceToDB(preference);
setStringValue(PreferencePredicate.AvailableDistributionAreaVocabularies.getKey(),
saveCheckedElements);
-
}
}
}
} else{
return preference.getValue();
}
-
}
}
public static List<UUID> createUuidList(String prefValue) {
String[] stringArray = prefValue.split(";");
- List<UUID> uuidList = new ArrayList();
+ List<UUID> uuidList = new ArrayList<>();
for (String uuid: stringArray){
if (!StringUtils.isBlank(uuid)){
uuidList.add(UUID.fromString(uuid));
}
public static boolean getFilterCommonNameReferences(){
- Boolean result = getBooleanValue(PreferencesUtil.FILTER_COMMON_NAME_REFERENCES);
- if (result == null){
- return false;
- }
- return result;
+ return getBooleanValue(PreferencePredicate.CommonNameReferencesWithMarker.getKey());
}
public static void updateDBPreferences() {
-
CdmPreferenceCache cache = CdmPreferenceCache.instance();
cache.getAllTaxEditorDBPreferences();
- //ABCD Configurator
-
- //updateAbcdImportConfigurationPreference();
-
//Name Details
NameDetailsConfigurator config = getPreferredNameDetailsConfiguration(false);
- // if (config != null ){
- // if (!getBooleanValue(OVERRIDE_NAME_DETAILS) || !getBooleanValue(ALLOW_OVERRIDE_NAME_DETAILS)){
- // setPreferredNameDetailsConfiguration(config, false);
- // }
- // }
-
}
public static void setPreferencesToDB(List<CdmPreference> preferences) {
ICdmRepository controller;
- //try{
- if(CdmStore.isActive()){
- controller = CdmStore.getCurrentApplicationConfiguration();
- for (CdmPreference preference: preferences){
- if (preference.getValue() == null && preference.isAllowOverride()){
- controller.getPreferenceService().remove(preference.getKey());
-
- }else{
- controller.getPreferenceService().set(preference);
-
- }
-
+ if(CdmStore.isActive()){
+ controller = CdmStore.getCurrentApplicationConfiguration();
+ for (CdmPreference preference: preferences){
+ if (preference.getValue() == null && preference.isAllowOverride()){
+ controller.getPreferenceService().remove(preference.getKey());
+ }else{
+ controller.getPreferenceService().set(preference);
}
- CdmPreferenceCache.instance().getAllTaxEditorDBPreferences();
-
}
- /*}catch(Exception e){
- e.printStackTrace();
- }*/
+ CdmPreferenceCache.instance().getAllTaxEditorDBPreferences();
+ }
}
/**
return getPreferenceStore().contains(prefKey(prefKey));
}
- /**
- *
- */
- public static TermTree getPreferredFeatureTreeForNameDescription(boolean createNew) {
+ public static TermTree<Feature> getPreferredFeatureTreeForNameDescription(boolean createNew) {
if(preferredNameFeatureTree != null && !createNew){
return preferredNameFeatureTree;
}
createPreferredFeatureTreeForNameDescription();
return preferredNameFeatureTree;
-
}
public static void createPreferredFeatureTreeForNameDescription() {
CdmPreferenceCache cache = CdmPreferenceCache.instance();
CdmPreference pref = cache.get(PreferencePredicate.NameFeatures.getKey());
- List<Feature> terms = new ArrayList();
- boolean override = PreferencesUtil.getBooleanValue(PreferencesUtil.createOverridePreferenceString(PreferencePredicate.NameFeatures.getKey()));
+ List<Feature> terms = new ArrayList<>();
+ boolean override = PreferencesUtil.getOverrideForPreference(PreferencePredicate.NameFeatures.getKey());
List<UUID> uuids = PreferencesUtil.createUUIDListFromStringPref(PreferencePredicate.NameFeatures.getKey(), false);
if (uuids != null && !uuids.isEmpty()){
terms = CdmStore.getTermManager().getTerms(uuids, Feature.class);
}
-
-
-
if (terms.isEmpty()){
terms.addAll(TermStore.getTerms(CdmStore.getService(IVocabularyService.class).load(VocabularyEnum.NameFeature.getUuid()), null));
-
}
terms.remove(Feature.PROTOLOGUE());
if (terms.isEmpty()){
preferredNameFeatureTree = TermEditorInput.getDefaultNameFeatureTree();
}else{
- preferredNameFeatureTree = TermTree.NewInstance(terms);
+ preferredNameFeatureTree = TermTree.NewFeatureInstance(terms);
}
-
-
}
- /**
- * @param prefsToDelete
- */
public static void removeFromDB(List<CdmPreference> prefsToDelete) {
ICdmRepository controller;
//try{
}
CdmPreferenceCache.instance().getAllTaxEditorDBPreferences();
}
+ }
+ public static void removeFromDB(CdmPreference prefToDelete) {
+ ICdmRepository controller;
+
+ if(CdmStore.isActive()){
+ controller = CdmStore.getCurrentApplicationConfiguration();
+ controller.getPreferenceService().remove(prefToDelete.getKey());
+
+ CdmPreferenceCache.instance().getAllTaxEditorDBPreferences();
+ }
}
- /**
- * @return
- */
public static TermTree<?> getPreferredFeatureTreeForTaxonDescription(boolean createNew) {
if(preferredTaxonFeatureTree != null && !createNew){
return preferredTaxonFeatureTree;
}
createPreferredFeatureTreeForTaxonDescription();
return preferredTaxonFeatureTree;
-
}
public static void createPreferredFeatureTreeForTaxonDescription() {
CdmPreferenceCache cache = CdmPreferenceCache.instance();
CdmPreference pref = cache.get(PreferencePredicate.TaxonFeatures.getKey());
List<Feature> terms = null;
- boolean override = PreferencesUtil.getBooleanValue(PreferencesUtil.createOverridePreferenceString(PreferencePredicate.TaxonFeatures.getKey()));
+ boolean override = PreferencesUtil.getOverrideForPreference(PreferencePredicate.TaxonFeatures.getKey());
List<UUID> uuids = PreferencesUtil.createUUIDListFromStringPref(PreferencePredicate.TaxonFeatures.getKey(), false);
- if (!uuids.isEmpty()){
+ if (uuids != null && !uuids.isEmpty()){
terms = CdmStore.getTermManager().getTerms(uuids, Feature.class);
}
if (terms == null || terms.isEmpty()){
if (terms.isEmpty()){
preferredTaxonFeatureTree = TermEditorInput.getDefaultFeatureTree();
}else{
- preferredTaxonFeatureTree = TermTree.NewInstance(terms);
+ preferredTaxonFeatureTree = TermTree.NewFeatureInstance(terms);
}
+ }
+ public static void setLastSelectedBiocaseProvider(String lastAccessPoint) {
+ setStringValue(LAST_USED_BIOCASE_PROVIDER, lastAccessPoint);
+ }
+ /**
+ * @return
+ */
+ public static boolean getLocalActive() {
+ // TODO: this needs to be adapted!!!
+ return true;
}
/**
- * @param lastAccessPoint
+ * @return
*/
- public static void setLastSelectedBiocaseProvider(String lastAccessPoint) {
- setStringValue(LAST_USED_BIOCASE_PROVIDER, lastAccessPoint);
+ public static boolean showGfbioMetaData() {
+ //TODO: needs to be adapted!!!
+ return false;
}
+ public static SecReferenceHandlingEnum getSecReferenceHandlingPreference(){
+ String defaultBehaviour = getStringValue(PreferencePredicate.DefaultBehaviourForSecundum.getKey());
+ SecReferenceHandlingEnum handling = null;
+ try{
+ handling = SecReferenceHandlingEnum.valueOf(defaultBehaviour);
+ }catch(IllegalArgumentException e){
+ handling = (SecReferenceHandlingEnum)PreferencePredicate.DefaultBehaviourForSecundum.getDefaultValue();
+ }
+ return handling;
+ }
+
+ public static SecReferenceHandlingSwapEnum getSecReferenceHandlingSwapPreference(){
+ String defaultBehaviour = getStringValue(PreferencePredicate.DefaultBehaviourForSecundumWhenSwap.getKey());
+ SecReferenceHandlingSwapEnum handling = null;
+ try{
+ handling = SecReferenceHandlingSwapEnum.valueOf(defaultBehaviour);
+ }catch (IllegalArgumentException e){
+ handling = (SecReferenceHandlingSwapEnum)PreferencePredicate.DefaultBehaviourForSecundumWhenSwap.getDefaultValue();
+ }
+ return handling;
+
+ }
+
+ public static EnabledComputedDescription getComputedDesciptionHandlingPreference(){
+ String defaultBehaviour= getStringValue(PreferencePredicate.EnableComputedDescription.getKey());
+ EnabledComputedDescription computedDescriptionsEnabled = (EnabledComputedDescription)PreferencePredicate.EnableComputedDescription.getDefaultValue();
+ if (StringUtils.isNotBlank(defaultBehaviour)){
+ try{
+ computedDescriptionsEnabled = EnabledComputedDescription.byKey(defaultBehaviour);
+ }catch(IllegalArgumentException e){
+ //do nothing, keep default value;
+ }
+ }
+ return computedDescriptionsEnabled;
+
+ }
+
+ public static boolean isComputedDesciptionHandlingDisabled(){
+ String defaultBehaviour= getStringValue(PreferencePredicate.EnableComputedDescription.getKey());
+ EnabledComputedDescription computedDescriptionsEnabled = null;
+ try{
+ computedDescriptionsEnabled = EnabledComputedDescription.byKey(defaultBehaviour);
+ }catch (IllegalArgumentException e){
+ computedDescriptionsEnabled = (EnabledComputedDescription)PreferencePredicate.EnableComputedDescription.getDefaultValue();
+ }
+ return computedDescriptionsEnabled.equals(EnabledComputedDescription.Disabled);
+
+ }
}