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.TermVocabularyDto;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.store.CdmStore;
return defaultFeatureTree;
}
+ public static void resetDefaultFeatureTree(){
+ defaultFeatureTree = null;
+ }
public static TermTree getDefaultNameFeatureTree() {
if(defaultNameFeatureTree == null) {
- TermVocabulary voc = CdmStore.getService(IVocabularyService.class).load(VocabularyEnum.NameFeature.getUuid());
- List<Feature> nameFeatures = new ArrayList(voc.getTerms());
- nameFeatures.remove(Feature.PROTOLOGUE());
+// List<TermVocabularyDto> vocs = new ArrayList<>();
+// Set<CdmClass> availableFor = new HashSet<>();
+// availableFor.add(CdmClass.TAXON_NAME);
+// vocs = CdmStore.getService(IVocabularyService.class).findFeatureVocabularyDtoByTermTypes(availableFor);
+// TermVocabulary voc = CdmStore.getService(IVocabularyService.class).load(VocabularyEnum.NameFeature.getUuid());
+// List<Feature> nameFeatures = new ArrayList(voc.getTerms());
+// nameFeatures.remove(Feature.PROTOLOGUE());
+ PreferencesUtil.createPreferredFeatureTreeForNameDescription();
+ defaultNameFeatureTree = PreferencesUtil.getPreferredFeatureTreeForNameDescription(true);
//List<Feature> nameFeatures = CdmStore.getTermManager().getPreferredTerms(CdmStore.getService(IVocabularyService.class).load(VocabularyEnum.NameFeature.getUuid()), null);
- defaultNameFeatureTree = TermTree.NewInstance(nameFeatures);
+// defaultNameFeatureTree = TermTree.NewInstance(nameFeatures);
}
return defaultNameFeatureTree;
}
+ public static void resetDefaultNameFeatureTree(){
+ defaultNameFeatureTree = null;
+ }
+
/**
* @return
*/
package eu.etaxonomy.taxeditor.preference.menu;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
+import java.util.UUID;
+import org.apache.commons.lang.StringUtils;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CLabel;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
+import eu.etaxonomy.cdm.api.service.ITermService;
import eu.etaxonomy.cdm.api.service.IVocabularyService;
import eu.etaxonomy.cdm.model.common.CdmClass;
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
import eu.etaxonomy.cdm.model.term.TermType;
+import eu.etaxonomy.cdm.persistence.dto.TermDto;
import eu.etaxonomy.cdm.persistence.dto.TermVocabularyDto;
import eu.etaxonomy.taxeditor.editor.definedterm.DefinedTermSorter;
import eu.etaxonomy.taxeditor.editor.definedterm.FeatureDtoContentProvider;
import eu.etaxonomy.taxeditor.editor.definedterm.TermDtoLabelProvider;
+import eu.etaxonomy.taxeditor.editor.definedterm.input.TermEditorInput;
import eu.etaxonomy.taxeditor.l10n.Messages;
import eu.etaxonomy.taxeditor.preference.GeneralTermPreferencePage;
import eu.etaxonomy.taxeditor.preference.LocalOrDefaultEnum;
boolean result = super.performOk();
if (result){
PreferencesUtil.createPreferredFeatureTreeForNameDescription();
+ TermEditorInput.resetDefaultNameFeatureTree();
}
}
return true;
setVocabularies(vocs);
}
+ @Override
+ protected List<TermDto> getTermsFromStringValues(List<String> listValue) {
+ Collection<TermDto> termlist = new ArrayList<>();
+ ITermService termService = CdmStore.getService(ITermService.class);
+ List<UUID> uuidList = new ArrayList();
+ for (String s : listValue) {
+ if (!StringUtils.isBlank(s)){
+ UUID uuid = UUID.fromString(s);
+ uuidList.add(uuid);
+ }
+ }
+ if (!uuidList.isEmpty()){
+ termlist = termService.findFeatureByUUIDsAsDto(uuidList);
+ }
+
+ if (listValue == null || listValue.isEmpty() ){
+ termlist = termService.findFeatureByTitleAsDto("");
+
+ }
+
+ return new ArrayList(termlist);
+ }
}