Committing changes to definedtermeditor after merge from branch
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / store / TermManager.java
index 87322c4710f20869b228b7e6e1e26f1579e2a4f6..9290201b4d889399ae512e6a9790fcfede76d671 100644 (file)
@@ -11,7 +11,6 @@
 package eu.etaxonomy.taxeditor.store;
 
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.List;
@@ -21,32 +20,9 @@ import java.util.UUID;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.ui.IMemento;
 
-import eu.etaxonomy.cdm.model.common.AnnotationType;
 import eu.etaxonomy.cdm.model.common.DefinedTermBase;
-import eu.etaxonomy.cdm.model.common.ExtensionType;
-import eu.etaxonomy.cdm.model.common.Language;
-import eu.etaxonomy.cdm.model.common.MarkerType;
 import eu.etaxonomy.cdm.model.common.TermBase;
-import eu.etaxonomy.cdm.model.description.Feature;
-import eu.etaxonomy.cdm.model.description.MeasurementUnit;
-import eu.etaxonomy.cdm.model.description.Modifier;
-import eu.etaxonomy.cdm.model.description.PresenceAbsenceTermBase;
-import eu.etaxonomy.cdm.model.description.Scope;
-import eu.etaxonomy.cdm.model.description.Stage;
-import eu.etaxonomy.cdm.model.description.State;
-import eu.etaxonomy.cdm.model.description.StatisticalMeasure;
-import eu.etaxonomy.cdm.model.location.NamedAreaType;
-import eu.etaxonomy.cdm.model.media.RightsTerm;
-import eu.etaxonomy.cdm.model.name.NameRelationshipType;
-import eu.etaxonomy.cdm.model.name.NameTypeDesignationStatus;
-import eu.etaxonomy.cdm.model.name.NomenclaturalStatusType;
-import eu.etaxonomy.cdm.model.name.Rank;
-import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignationStatus;
-import eu.etaxonomy.cdm.model.occurrence.DeterminationModifier;
-import eu.etaxonomy.cdm.model.occurrence.PreservationMethod;
-import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;
 import eu.etaxonomy.taxeditor.model.ContextListenerAdapter;
-import eu.etaxonomy.taxeditor.model.TaxonRelationshipTypeInverseContainer;
 
 /**
  * @author n.hoffmann
@@ -68,6 +44,15 @@ public class TermManager extends ContextListenerAdapter{
                CdmStore.getContextManager().addContextListener(this);
        }
        
+       /**
+        * 
+        * @param clazz
+        * @return
+        */
+       public <T extends DefinedTermBase> List<T> getPreferredTerms(Class<T> clazz){
+               return getFilteredTerms(TermStore.getTerms(clazz));
+       }
+       
        /* (non-Javadoc)
         * @see eu.etaxonomy.taxeditor.model.ContextListenerAdapter#contextStart(org.eclipse.ui.IMemento, org.eclipse.core.runtime.IProgressMonitor)
         */
@@ -156,191 +141,202 @@ public class TermManager extends ContextListenerAdapter{
                return initialTerms.iterator().next().getClass().getName();
        }
        
-       /**
-        * <p>getPreferredSpecimenTypeDesignationStatus</p>
-        *
-        * @return a {@link java.util.List} object.
-        */
-       public List<SpecimenTypeDesignationStatus> getPreferredSpecimenTypeDesignationStatus() { return getFilteredTerms(TermStore.getSpecimenTypeDesignationStatus());}
-
-       /**
-        * <p>getPreferredNameTypeDesignationStatus</p>
-        *
-        * @return a {@link java.util.List} object.
-        */
-       public List<NameTypeDesignationStatus> getPreferredNameTypeDesignationStatus() { return getFilteredTerms(TermStore.getNameTypeDesignationStatus()); }
-       
-       /**
-        * <p>getPreferredTaxonRelationshipTypes</p>
-        *
-        * @return a {@link java.util.List} object.
-        */
-       public List<TaxonRelationshipType> getPreferredTaxonRelationshipTypes() { return getFilteredTerms(TermStore.getTaxonRelationshipTypes());}
-       
-       private static List<TaxonRelationshipType> excludeTaxonRelationshipTypes = Arrays.asList(new TaxonRelationshipType[]{
-                       TaxonRelationshipType.TAXONOMICALLY_INCLUDED_IN(),
-                       TaxonRelationshipType.MISAPPLIED_NAME_FOR(),
-                       TaxonRelationshipType.ALL_RELATIONSHIPS()
-       });
-       
-       /**
-        * Please note that the {@link TaxonRelationshipType}s TAXONOMICALLY_INCLUDED_IN, MISAPPLIED_NAME_FOR and ALL_RELATIONSHIPS
-        * are filtered out as they are most likely not needed. If you do need them please refactor this method to your needs.
-        * 
-        * @return a list of {@link TaxonRelationshipTypeInverseContainer} elements
-        */
-       public List<TaxonRelationshipTypeInverseContainer> getRelationshipTypesWithInverses(){
-               List<TaxonRelationshipTypeInverseContainer> relationshipTypeInverseContainers = new ArrayList<TaxonRelationshipTypeInverseContainer>();
-               
-               List<TaxonRelationshipType> relationshipTypes = getPreferredTaxonRelationshipTypes();
-               
-               relationshipTypes.removeAll(excludeTaxonRelationshipTypes);
-               
-               for (TaxonRelationshipType relationshipType : relationshipTypes){
-                       if(!relationshipType.isSymmetric()){
-                               TaxonRelationshipTypeInverseContainer inverseContainer = new TaxonRelationshipTypeInverseContainer(relationshipType, true);
-                               relationshipTypeInverseContainers.add(inverseContainer);
-                       }                       
-                       TaxonRelationshipTypeInverseContainer container = new TaxonRelationshipTypeInverseContainer(relationshipType, false);
-                       relationshipTypeInverseContainers.add(container);                       
-               }               
-               
-               return relationshipTypeInverseContainers;
-       }
-       
-       /**
-        * <p>getPreferredFeatures</p>
-        *
-        * @return a {@link java.util.List} object.
-        */
-       public List<Feature> getPreferredFeatures() { return getFilteredTerms(TermStore.getFeatures());}
-
-       /**
-        * <p>getPreferredRanks</p>
-        *
-        * @return a {@link java.util.List} object.
-        */
-       public List<Rank> getPreferredRanks() { return getFilteredTerms(TermStore.getRanks());}
-       
-       /**
-        * <p>getPreferredPresenceAbsenceTerms</p>
-        *
-        * @return a {@link java.util.List} object.
-        */
-       public List<PresenceAbsenceTermBase> getPreferredPresenceAbsenceTerms(){ return getFilteredTerms(TermStore.getPresenceAbsenceTerms());}
-       
-       /**
-        * <p>getPreferredNomenclaturalStatusTypes</p>
-        *
-        * @return a {@link java.util.List} object.
-        */
-       public List<NomenclaturalStatusType> getPreferredNomenclaturalStatusTypes(){    return getFilteredTerms(TermStore.getNomenclaturalStatusTypes());}
-       
-       /**
-        * <p>getPreferredNameRelationshipTypes</p>
-        *
-        * @return a {@link java.util.List} object.
-        */
-       public List<NameRelationshipType> getPreferredNameRelationshipTypes(){ return getFilteredTerms(TermStore.getNameRelationshipTypes());}
-       
-       /**
-        * <p>getPreferredLanguages</p>
-        *
-        * @return a {@link java.util.List} object.
-        */
-       public List<Language> getPreferredLanguages() { return getFilteredTerms(TermStore.getLanguages()); }
-       
-       /**
-        * <p>getPreferredMarkerTypes</p>
-        *
-        * @return a {@link java.util.List} object.
-        */
-       public List<MarkerType> getPreferredMarkerTypes() { return getFilteredTerms(TermStore.getNonTechnicalMarkerTypes()); }
-       
-       /**
-        * <p>getPreferredExtensionTypes</p>
-        *
-        * @return a {@link java.util.List} object.
-        */
-       public List<ExtensionType> getPreferredExtensionTypes() { return getFilteredTerms(TermStore.getExtensionTypes()); }
-       
-       /**
-        * <p>getPreferredRightsTypes</p>
-        *
-        * @return a {@link java.util.List} object.
-        */
-       public List<RightsTerm> getPreferredRightsTypes() {     return getFilteredTerms(TermStore.getRightsTypes());}
-       
-       /**
-        * <p>getPreferredNamedAreaTypes</p>
-        *
-        * @return a {@link java.util.List} object.
-        */
-       public List<NamedAreaType> getPreferredNamedAreaTypes() { return getFilteredTerms(TermStore.getNamedAreaTypes()); } 
+//     /**
+//      * <p>getPreferredSpecimenTypeDesignationStatus</p>
+//      *
+//      * @return a {@link java.util.List} object.
+//      */
+//     public List<SpecimenTypeDesignationStatus> getPreferredSpecimenTypeDesignationStatus() { return getFilteredTerms(TermStore.getSpecimenTypeDesignationStatus());}
+//
+//     /**
+//      * <p>getPreferredNameTypeDesignationStatus</p>
+//      *
+//      * @return a {@link java.util.List} object.
+//      */
+//     public List<NameTypeDesignationStatus> getPreferredNameTypeDesignationStatus() { return getFilteredTerms(TermStore.getNameTypeDesignationStatus()); }
+//     
+//     /**
+//      * <p>getPreferredTaxonRelationshipTypes</p>
+//      *
+//      * @return a {@link java.util.List} object.
+//      */
+//     public List<TaxonRelationshipType> getPreferredTaxonRelationshipTypes() { return getFilteredTerms(TermStore.getTaxonRelationshipTypes());}
+//     
+//     private static List<TaxonRelationshipType> excludeTaxonRelationshipTypes = Arrays.asList(new TaxonRelationshipType[]{
+//                     TaxonRelationshipType.TAXONOMICALLY_INCLUDED_IN(),
+//                     TaxonRelationshipType.MISAPPLIED_NAME_FOR(),
+//                     TaxonRelationshipType.ALL_RELATIONSHIPS()
+//     });
+//     
+//     /**
+//      * Please note that the {@link TaxonRelationshipType}s TAXONOMICALLY_INCLUDED_IN, MISAPPLIED_NAME_FOR and ALL_RELATIONSHIPS
+//      * are filtered out as they are most likely not needed. If you do need them please refactor this method to your needs.
+//      * 
+//      * @return a list of {@link TaxonRelationshipTypeInverseContainer} elements
+//      */
+//     public List<TaxonRelationshipTypeInverseContainer> getPreferredRelationshipTypesWithInverses(){
+//             List<TaxonRelationshipTypeInverseContainer> relationshipTypeInverseContainers = new ArrayList<TaxonRelationshipTypeInverseContainer>();
+//             
+//             List<TaxonRelationshipType> relationshipTypes = getPreferredTaxonRelationshipTypes();
+//             
+//             relationshipTypes.removeAll(excludeTaxonRelationshipTypes);
+//             
+//             for (TaxonRelationshipType relationshipType : relationshipTypes){
+//                     if(!relationshipType.isSymmetric()){
+//                             TaxonRelationshipTypeInverseContainer inverseContainer = new TaxonRelationshipTypeInverseContainer(relationshipType, true);
+//                             relationshipTypeInverseContainers.add(inverseContainer);
+//                     }                       
+//                     TaxonRelationshipTypeInverseContainer container = new TaxonRelationshipTypeInverseContainer(relationshipType, false);
+//                     relationshipTypeInverseContainers.add(container);                       
+//             }               
+//             
+//             return relationshipTypeInverseContainers;
+//     }
        
-       /**
-        * <p>getPreferredAnnotationTypes</p>
-        *
-        * @return a {@link java.util.List} object.
-        */
-       public List<AnnotationType> getPreferredAnnotationTypes() { return getFilteredTerms(TermStore.getAnnotationTypes()); } 
 
-       /**
-        * <p>getPreferredStages</p>
-        *
-        * @return a {@link java.util.List} object.
-        */
-       public List<Stage> getPreferredStages() { return getFilteredTerms(TermStore.getStages()); }
        
-       /**
-        * <p>getPreferredPreservationMethods</p>
-        *
-        * @return a {@link java.util.List} object.
-        */
-       public List<PreservationMethod> getPreferredPreservationMethods() { return getFilteredTerms(TermStore.getPreservationMethods()); }
-       
-       /**
-        * <p>getPreferredMeasurementUnits</p>
-        *
-        * @return a {@link java.util.List} object.
-        */
-       public List<MeasurementUnit> getPreferredMeasurementUnits() { return getFilteredTerms(TermStore.getMeasurementUnits()); }
-       
-       /**
-        * <p>getPreferredStates</p>
-        *
-        * @return a {@link java.util.List} object.
-        */
-       public List<State> getPreferredStates() { return getFilteredTerms(TermStore.getStates()); }
-       
-       /**
-        * <p>getPreferredModifiers</p>
-        *
-        * @return a {@link java.util.List} object.
-        */
-       public List<Modifier> getPreferredModifiers() { return getFilteredTerms(TermStore.getModifiers()); }
-       
-       /**
-        * <p>getPreferredStatisticalMeasures</p>
-        *
-        * @return a {@link java.util.List} object.
-        */
-       public List<StatisticalMeasure> getPreferredStatisticalMeasures() { return getFilteredTerms(TermStore.getStatisticalMeasures()); }
-       
-       /**
-        * <p>getPreferredScopes</p>
-        *
-        * @return a {@link java.util.List} object.
-        */
-       public List<Scope> getPreferredScopes() { return getFilteredTerms(TermStore.getScopes()); }
-       
-       /**
-        * <p>getPreferredDeterminationModifiers</p>
-        *
-        * @return a {@link java.util.List} object.
-        */
-       public List<DeterminationModifier> getPreferredDeterminationModifiers() { return getFilteredTerms(TermStore.getDeterminationModifiers()); }
        
+//     
+//     /**
+//      * <p>getPreferredFeatures</p>
+//      *
+//      * @return a {@link java.util.List} object.
+//      */
+//     public List<Feature> getPreferredFeatures() { return getFilteredTerms(TermStore.getFeatures());}
+//
+//     /**
+//      * <p>getPreferredRanks</p>
+//      *
+//      * @return a {@link java.util.List} object.
+//      */
+//     public List<Rank> getPreferredRanks() { return getFilteredTerms(TermStore.getRanks());}
+//     
+//     /**
+//      * <p>getPreferredPresenceAbsenceTerms</p>
+//      *
+//      * @return a {@link java.util.List} object.
+//      */
+//     public List<PresenceAbsenceTermBase> getPreferredPresenceAbsenceTerms(){ return getFilteredTerms(TermStore.getPresenceAbsenceTerms());}
+//     
+//     /**
+//      * <p>getPreferredNomenclaturalStatusTypes</p>
+//      *
+//      * @return a {@link java.util.List} object.
+//      */
+//     public List<NomenclaturalStatusType> getPreferredNomenclaturalStatusTypes(){    return getFilteredTerms(TermStore.getNomenclaturalStatusTypes());}
+//     
+//     /**
+//      * <p>getPreferredNameRelationshipTypes</p>
+//      *
+//      * @return a {@link java.util.List} object.
+//      */
+//     public List<NameRelationshipType> getPreferredNameRelationshipTypes(){ return getFilteredTerms(TermStore.getNameRelationshipTypes());}
+//     
+//     /**
+//      * <p>getPreferredLanguages</p>
+//      *
+//      * @return a {@link java.util.List} object.
+//      */
+//     public List<Language> getPreferredLanguages() { return getFilteredTerms(TermStore.getLanguages()); }
+//     
+//     /**
+//      * <p>getPreferredMarkerTypes</p>
+//      *
+//      * @return a {@link java.util.List} object.
+//      */
+//     public List<MarkerType> getPreferredMarkerTypes() { return getFilteredTerms(TermStore.getNonTechnicalMarkerTypes()); }
+//     
+//     /**
+//      * <p>getPreferredExtensionTypes</p>
+//      *
+//      * @return a {@link java.util.List} object.
+//      */
+//     public List<ExtensionType> getPreferredExtensionTypes() { return getFilteredTerms(TermStore.getExtensionTypes()); }
+//     
+//     /**
+//      * <p>getPreferredRightsTypes</p>
+//      *
+//      * @return a {@link java.util.List} object.
+//      */
+//     public List<RightsTerm> getPreferredRightsTypes() {     return getFilteredTerms(TermStore.getRightsTypes());}
+//     
+//     /**
+//      * <p>getPreferredNamedAreaTypes</p>
+//      *
+//      * @return a {@link java.util.List} object.
+//      */
+//     public List<NamedAreaType> getPreferredNamedAreaTypes() { return getFilteredTerms(TermStore.getNamedAreaTypes()); } 
+//     
+//     /**
+//      * <p>getPreferredNamedAreaTypes</p>
+//      *
+//      * @return a {@link java.util.List} object.
+//      */
+//     public List<NamedAreaLevel> getPreferredNamedAreaLevels() { return getFilteredTerms(TermStore.getNamedAreaLevels()); } 
+//     
+//     /**
+//      * <p>getPreferredAnnotationTypes</p>
+//      *
+//      * @return a {@link java.util.List} object.
+//      */
+//     public List<AnnotationType> getPreferredAnnotationTypes() { return getFilteredTerms(TermStore.getAnnotationTypes()); } 
+//
+//     /**
+//      * <p>getPreferredStages</p>
+//      *
+//      * @return a {@link java.util.List} object.
+//      */
+//     public List<Stage> getPreferredStages() { return getFilteredTerms(TermStore.getStages()); }
+//     
+//     /**
+//      * <p>getPreferredPreservationMethods</p>
+//      *
+//      * @return a {@link java.util.List} object.
+//      */
+//     public List<PreservationMethod> getPreferredPreservationMethods() { return getFilteredTerms(TermStore.getPreservationMethods()); }
+//     
+//     /**
+//      * <p>getPreferredMeasurementUnits</p>
+//      *
+//      * @return a {@link java.util.List} object.
+//      */
+//     public List<MeasurementUnit> getPreferredMeasurementUnits() { return getFilteredTerms(TermStore.getMeasurementUnits()); }
+//     
+//     /**
+//      * <p>getPreferredStates</p>
+//      *
+//      * @return a {@link java.util.List} object.
+//      */
+//     public List<State> getPreferredStates() { return getFilteredTerms(TermStore.getStates()); }
+//     
+//     /**
+//      * <p>getPreferredModifiers</p>
+//      *
+//      * @return a {@link java.util.List} object.
+//      */
+//     public List<Modifier> getPreferredModifiers() { return getFilteredTerms(TermStore.getModifiers()); }
+//     
+//     /**
+//      * <p>getPreferredStatisticalMeasures</p>
+//      *
+//      * @return a {@link java.util.List} object.
+//      */
+//     public List<StatisticalMeasure> getPreferredStatisticalMeasures() { return getFilteredTerms(TermStore.getStatisticalMeasures()); }
+//     
+//     /**
+//      * <p>getPreferredScopes</p>
+//      *
+//      * @return a {@link java.util.List} object.
+//      */
+//     public List<Scope> getPreferredScopes() { return getFilteredTerms(TermStore.getScopes()); }
+//     
+//     /**
+//      * <p>getPreferredDeterminationModifiers</p>
+//      *
+//      * @return a {@link java.util.List} object.
+//      */
+//     public List<DeterminationModifier> getPreferredDeterminationModifiers() { return getFilteredTerms(TermStore.getDeterminationModifiers()); }
+//     
        /**
         * Generic method to set term preferences
         *
@@ -361,19 +357,4 @@ public class TermManager extends ContextListenerAdapter{
                
                hiddenTermsMap.put(typeName, undesiredTermUuids);
        }
-       
-       /**
-        * <p>addTermToPreferredTerms</p>
-        *
-        * @param term a T object.
-        * @param <T> a T object.
-        */
-       public <T extends TermBase> void addTermToPreferredTerms(T term){
-
-//             VocabularyEnum vocabulary = VocabularyEnum.getVocabularyEnum(term.getClass());
-//             
-//             getPreferenceStore().setValue(getPreferenceKey(term), VocabularyStore.getTermVocabulary(vocabulary).getTerms().contains(term));
-//             
-//             firePreferencesChanged(term.getClass());
-       }
 }