show all description elements in factual data view of taxa
authorKatja Luther <k.luther@bgbm.org>
Wed, 6 Oct 2021 12:58:53 +0000 (14:58 +0200)
committerKatja Luther <k.luther@bgbm.org>
Wed, 6 Oct 2021 12:58:53 +0000 (14:58 +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 05a661ba2479ac6012396bb2be98c020be9ee513..7a757b81444569b153dcfdb685c761eda24e0ef9 100644 (file)
@@ -17,6 +17,7 @@ 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.description.DescriptionType;
 import eu.etaxonomy.cdm.model.description.IDescribable;
 import eu.etaxonomy.cdm.model.description.IndividualsAssociation;
 import eu.etaxonomy.cdm.model.description.TaxonNameDescription;
@@ -149,7 +150,7 @@ public class DescriptiveContentProvider implements ITreeContentProvider {
 
        private FeatureNodeContainerTree getContainerTreeForDesription(DescriptionBase<?> description){
                if(! featureNodeContainerCache.containsKey(description)){
-                       FeatureNodeContainerTree containerTree = new FeatureNodeContainerTree(description, getFeatureTree(description));
+                       FeatureNodeContainerTree containerTree = new FeatureNodeContainerTree(description, TermEditorInput.getCompleteFeatureTree());
                        featureNodeContainerCache.put(description, containerTree);
                }
                return featureNodeContainerCache.get(description);
index 8c42b04aaaf835114ce72379e032c7ec2e6dd09f..9bc8602bfdfb80d99d2d38891986923ebbe18073 100644 (file)
@@ -38,6 +38,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 TermTree defaultFeatureTree = null;
+       private static TermTree completeFeatureTree = null;
        private static TermTree defaultNameFeatureTree = null;
 
        private List<String> termClasses = Arrays.asList(new String[]{
@@ -100,19 +101,22 @@ public class TermEditorInput extends AbstractDefinedTermEditorInput<DefinedTerm>
     public static TermTree getDefaultFeatureTree() {
         if(defaultFeatureTree == null) {
             List<Feature> features = TermStore.getTerms(Feature.class);
-//            TermVocabulary voc = CdmStore.getService(IVocabularyService.class).load(VocabularyEnum.NameFeature.getUuid());
-//            List<Feature> nameFeatures = new ArrayList(voc.getTerms());
+
             List<Feature> taxonFeatures = features.stream().filter(f -> f.isAvailableForTaxon())
                     .collect(Collectors.toList());
-//            for (Feature feature: copy){
-//                if (nameFeatures.contains(feature)){
-//                    features.remove(feature);
-//                }
-//            }
+
             defaultFeatureTree = TermTree.NewInstance(taxonFeatures);
         }
         return defaultFeatureTree;
     }
+    
+    public static TermTree getCompleteFeatureTree() {
+        if(completeFeatureTree == null) {
+            List<Feature> features = TermStore.getTerms(Feature.class);
+            completeFeatureTree = TermTree.NewInstance(features);
+        }
+        return completeFeatureTree;
+    }
 
     public static void resetDefaultFeatureTree(){
         defaultFeatureTree = null;