fix factual data view for name facts hotfix/5.7.2
authorKatja Luther <k.luther@bgbm.org>
Fri, 10 May 2019 11:02:33 +0000 (13:02 +0200)
committerKatja Luther <k.luther@bgbm.org>
Fri, 10 May 2019 11:12:41 +0000 (13:12 +0200)
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/DescriptiveContentProvider.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/input/TermEditorInput.java

index aaa06a6f45995d757c28e121d598af469108ef95..9cf54bb4571d670c382ff3ceaf79143573614fc4 100644 (file)
@@ -17,9 +17,10 @@ import org.eclipse.jface.viewers.Viewer;
 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;
@@ -182,20 +183,30 @@ public class DescriptiveContentProvider implements ITreeContentProvider {
         */
        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;
        }
 
     /**
index 0c61050f77a2f697247ceeb240e9b9e01b15a54a..235714cfe9bbaa107e0759dcd2cdfa7b556a7b64 100644 (file)
@@ -40,6 +40,7 @@ public class TermEditorInput extends AbstractDefinedTermEditorInput<DefinedTerm>
        // 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()
@@ -111,4 +112,12 @@ public class TermEditorInput extends AbstractDefinedTermEditorInput<DefinedTerm>
         }
         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;
+    }
 }