Merge branch 'develop' of ssh://dev.e-taxonomy.eu/var/git/taxeditor into
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / store / TermManager.java
index 59e9865fe6f8bd04b847ed459cc93005e4ae36b1..47650d4e1103c934781539764713f91a62437cf3 100644 (file)
@@ -23,7 +23,7 @@ import org.eclipse.ui.IMemento;
 import eu.etaxonomy.cdm.model.common.DefinedTermBase;
 import eu.etaxonomy.cdm.model.common.TermBase;
 import eu.etaxonomy.cdm.model.common.TermType;
-import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;
+import eu.etaxonomy.cdm.model.common.TermVocabulary;
 import eu.etaxonomy.taxeditor.model.ContextListenerAdapter;
 import eu.etaxonomy.taxeditor.model.TaxonRelationshipTypeInverseContainer;
 
@@ -56,6 +56,15 @@ public class TermManager extends ContextListenerAdapter{
            return getFilteredTerms(TermStore.getTerms(termType, null));
        }
 
+       /**
+        *
+        * @param clazz
+        * @return
+        */
+       public <T extends DefinedTermBase> List<T> getPreferredTerms(TermVocabulary<T> termVocabulary){
+           return getFilteredTerms(new ArrayList<T>(TermStore.getTerms(termVocabulary, null)));
+       }
+
        /**
         *
         * @param clazz
@@ -65,9 +74,6 @@ public class TermManager extends ContextListenerAdapter{
                return getFilteredTerms(TermStore.getTerms(clazz));
        }
 
-       /* (non-Javadoc)
-        * @see eu.etaxonomy.taxeditor.model.ContextListenerAdapter#contextStart(org.eclipse.ui.IMemento, org.eclipse.core.runtime.IProgressMonitor)
-        */
        @Override
        public void contextStart(IMemento memento, IProgressMonitor monitor) {
                // read preferred terms from memento into an in memory representation
@@ -93,17 +99,11 @@ public class TermManager extends ContextListenerAdapter{
                }
        }
 
-       /* (non-Javadoc)
-        * @see eu.etaxonomy.taxeditor.model.ContextListenerAdapter#contextAboutToStop(org.eclipse.ui.IMemento, org.eclipse.core.runtime.IProgressMonitor)
-        */
        @Override
        public void contextStop(IMemento memento, IProgressMonitor monitor) {
                saveTerms(memento, monitor);
        }
 
-       /* (non-Javadoc)
-        * @see eu.etaxonomy.taxeditor.model.ContextListenerAdapter#workbenchShutdown(org.eclipse.ui.IMemento, org.eclipse.core.runtime.IProgressMonitor)
-        */
        @Override
        public void workbenchShutdown(IMemento memento, IProgressMonitor monitor) {
                saveTerms(memento, monitor);
@@ -137,7 +137,7 @@ public class TermManager extends ContextListenerAdapter{
 
                String typeName = getTermClass(initialTerms);
                Collection<UUID> hiddenTermUuids = hiddenTermsMap.get(typeName);
-               
+
 
                if(hiddenTermUuids == null){
                        return initialTerms;
@@ -148,7 +148,7 @@ public class TermManager extends ContextListenerAdapter{
                                if(! hiddenTermUuids.contains(((TaxonRelationshipTypeInverseContainer) term).getType().getUuid())){
                                        T type = (T)((TaxonRelationshipTypeInverseContainer) term).getType();
                                        filteredTerms.add(type);
-                                       
+
                                }
                        }
                        if(! hiddenTermUuids.contains(term.getUuid())){
@@ -160,10 +160,10 @@ public class TermManager extends ContextListenerAdapter{
        }
 
        private <T extends DefinedTermBase> String getTermClass(Collection<T> initialTerms){
-          
+
                String result = null;
                if(!initialTerms.isEmpty()){
-                       
+
                        //TODO: there should be a more generic solution!!
                T entity = initialTerms.iterator().next();
                if (entity instanceof TaxonRelationshipTypeInverseContainer){