import eu.etaxonomy.cdm.model.common.Marker;
import eu.etaxonomy.cdm.model.description.DescriptionBase;
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
-import eu.etaxonomy.cdm.model.term.FeatureTree;
import eu.etaxonomy.cdm.model.description.IDescribable;
import eu.etaxonomy.cdm.model.description.IndividualsAssociation;
+import eu.etaxonomy.cdm.model.description.TaxonNameDescription;
+import eu.etaxonomy.cdm.model.term.FeatureTree;
import eu.etaxonomy.taxeditor.editor.definedterm.input.TermEditorInput;
import eu.etaxonomy.taxeditor.model.FeatureNodeContainer;
import eu.etaxonomy.taxeditor.model.FeatureNodeContainerTree;
*/
private FeatureTree getFeatureTree(DescriptionBase description){
- FeatureTree featureTree;
- // TODO change this to the feature tree associated with this taxon description
- if (description.hasStructuredData()){
- featureTree = PreferencesUtil.getDefaultFeatureTreeForStructuredDescription();
- }else{
- featureTree = PreferencesUtil.getDefaultFeatureTreeForTextualDescription();
- }
+ FeatureTree<?> featureTree = null;
+
+ // TODO change this to the feature tree associated with this taxon
+ // description
+ if (description.hasStructuredData()) {
+ featureTree = PreferencesUtil
+ .getDefaultFeatureTreeForStructuredDescription();
+ } else {
+ featureTree = PreferencesUtil
+ .getDefaultFeatureTreeForTextualDescription();
+ }
+
+ if (featureTree == null) {
+ featureTree = TermEditorInput.getDefaultFeatureTree();
+ }
+ if (description instanceof TaxonNameDescription){
+
+ featureTree = TermEditorInput.getDefaultNameFeatureTree();
+ }
+
+ return featureTree;
+
- // create a transient tree with all features if none was selected
- if(featureTree == null){
- featureTree = TermEditorInput.getDefaultFeatureTree();
- }
- return featureTree;
}
/**
// FIXME: the default feature should be move to CdmApplicationState
// where it is a singleton instance variable
private static FeatureTree defaultFeatureTree = null;
+ private static FeatureTree defaultNameFeatureTree = null;
private List<String> termClasses = Arrays.asList(new String[]{
DefinedTerm.class.getName()
}
return defaultFeatureTree;
}
+
+ public static FeatureTree getDefaultNameFeatureTree() {
+ if(defaultNameFeatureTree == null) {
+ List<Feature> nameFeatures = CdmStore.getTermManager().getPreferredTerms(CdmStore.getService(IVocabularyService.class).load(VocabularyEnum.NameFeature.getUuid()), null);
+ defaultNameFeatureTree = FeatureTree.NewInstance(nameFeatures);
+ }
+ return defaultNameFeatureTree;
+ }
}