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 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.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;
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);
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 boolean getFilterCommonNameReferences(){
- Boolean result = getBooleanValue(PreferencePredicate.CommonNameReferencesWithMarker.getKey());
- if (result == null){
- return false;
- }
- return result;
+ return getBooleanValue(PreferencePredicate.CommonNameReferencesWithMarker.getKey());
}
public static void updateDBPreferences() {
}
public static SecReferenceHandlingEnum getSecReferenceHandlingPreference(){
+
String defaultBehaviour = getStringValue(PreferencePredicate.DefaultBehaviourForSecundum.getKey());
- SecReferenceHandlingEnum handling = SecReferenceHandlingEnum.valueOf(defaultBehaviour);
+ 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;
}
String defaultBehaviour= getStringValue(PreferencePredicate.EnableComputedDescription.getKey());
EnabledComputedDescription computedDescriptionsEnabled = (EnabledComputedDescription)PreferencePredicate.EnableComputedDescription.getDefaultValue();
if (StringUtils.isNotBlank(defaultBehaviour)){
- computedDescriptionsEnabled = EnabledComputedDescription.byKey(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 = EnabledComputedDescription.byKey(defaultBehaviour);
+ EnabledComputedDescription computedDescriptionsEnabled = null;
+ try{
+ computedDescriptionsEnabled = EnabledComputedDescription.byKey(defaultBehaviour);
+ }catch (IllegalArgumentException e){
+ computedDescriptionsEnabled = (EnabledComputedDescription)PreferencePredicate.EnableComputedDescription.getDefaultValue();
+ }
return computedDescriptionsEnabled.equals(EnabledComputedDescription.Disabled);
}