fix #6330 Add default sorting for all entity collections
authorPatrick Plitzner <p.plitzner@bgbm.org>
Mon, 5 Mar 2018 08:04:12 +0000 (09:04 +0100)
committerPatrick Plitzner <p.plitzner@bgbm.org>
Mon, 5 Mar 2018 08:04:12 +0000 (09:04 +0100)
 - default sorting is done by CdmBase.getId(). This also ensures that
new elements are shown on top at first

53 files changed:
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractEntityCollectionSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/DefaultCdmBaseComparator.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamMemberSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/TaxonNodeAgentRelationCollectionSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescribedSpecimenSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementMediaSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementSourceSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionSourceSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/GeoScopeSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ModifierSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ScopeSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StateDataSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StatisticalMeasurementValueSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/grantedAuthority/GrantedAuthorityDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/MemberDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/ScopeRestrictionSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/TaxonomicScopeSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationPartSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameRelationshipDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NomenclaturalStatusSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/ProtologueSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/TypeDesignationSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/CollectingAreasDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/CurrentDeterminationDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationHistoryDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GeoScopeDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GeoScopePolyKeyDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SourceCollectionDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenCollectionDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/association/DerivedUnitTypeDesignationSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/derivedUnit/PreservedSpecimenCurrentDeterminationDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/derivedUnit/PreservedSpecimenSourceCollectionDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/AmplificationGelPhotoCollectionDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/CurrentSampleDesignationDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/SampleDesignationHistoryDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/SequenceContigFileCollectionDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/SequenceReferenceCollectionDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/SingleReadPherogramCollectionDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/AnnotationSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/CreditSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/ExtensionSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/MarkerSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/RightsSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/SourceSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/identifier/DerivedUnitFacadeIdentifierSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/identifier/IdentifierSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/GroupsByUserDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/MeasurementUnitCollectionSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/RecommendedModifierVocabulariesCollectionSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/StateVocabularyCollectionSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/StatisticalMeasureCollectionSection.java

index 81ece03c26b0f8c3b54ec18729b0a5fe18e92daf..f666c126551e5235209d1c3b3c221d4be50bc0cd 100644 (file)
@@ -3,8 +3,12 @@
  */
 package eu.etaxonomy.taxeditor.ui.section;
 
+import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
 import java.util.EnumSet;
+import java.util.List;
 import java.util.Observable;
 import java.util.Observer;
 
@@ -212,7 +216,8 @@ public abstract class AbstractEntityCollectionSection<ENTITY, ELEMENT> extends A
         */
        private void renderContent(boolean forceExpansion)
        {
-               Collection<ELEMENT> elements = getCollection(getEntity());
+               List<ELEMENT> elements = new ArrayList<>(getCollection(getEntity()));
+               Collections.sort(elements, getComparator());
 
                if(elements == null || elements.isEmpty()){
                        createEmptyContent();
@@ -341,6 +346,12 @@ public abstract class AbstractEntityCollectionSection<ENTITY, ELEMENT> extends A
         return entityCollectionElement;
     }
 
+    /**
+     * Returns the {@link Comparator} specific for the ELEMENTs
+     * which is used to sort the elements
+     * @return the comparator for ELEMENT
+     */
+    public abstract Comparator<ELEMENT> getComparator();
 
        /**
         * Get the specific collection of this entity
@@ -350,6 +361,7 @@ public abstract class AbstractEntityCollectionSection<ENTITY, ELEMENT> extends A
         */
        public abstract Collection<ELEMENT> getCollection(ENTITY entity);
 
+
        /**
         * Create a new Element for this collection
         *
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/DefaultCdmBaseComparator.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/DefaultCdmBaseComparator.java
new file mode 100644 (file)
index 0000000..4e1c570
--- /dev/null
@@ -0,0 +1,36 @@
+/**
+* Copyright (C) 2018 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.taxeditor.ui.section;
+
+import java.util.Comparator;
+
+import eu.etaxonomy.cdm.model.common.CdmBase;
+
+/**
+ * @author pplitzner
+ * @since Mar 5, 2018
+ *
+ */
+public class DefaultCdmBaseComparator<T extends CdmBase> implements Comparator<T> {
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public int compare(T o1, T o2) {
+        if(o1==null){
+            return -1;
+        }
+        if(o2==null){
+            return 1;
+        }
+        return o1.getId()-o2.getId();
+    }
+
+}
index 7e64521e4e65ebd6793c31499e538193974e6d74..a7858ba362e8f44f58b7856db4f72c28d02f59bd 100644 (file)
 package eu.etaxonomy.taxeditor.ui.section.agent;
 
 import java.util.Collection;
+import java.util.Comparator;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.agent.Person;
 import eu.etaxonomy.cdm.model.agent.Team;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.AbstractUnboundEntityCollectionSection;
 
 /**
@@ -83,6 +85,11 @@ public class TeamMemberSection extends AbstractUnboundEntityCollectionSection<Te
         return getEntity().getTeamMembers();
     }
 
+    @Override
+    public Comparator<Person> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+    }
+
     /**
      * @return
      */
index 1847f7c25e44b2716ceafcf0ddd96007a9682f88..67291a5e08d57675d81c910dfe001318c6d9aa60 100644 (file)
@@ -9,6 +9,7 @@
 package eu.etaxonomy.taxeditor.ui.section.classification;
 
 import java.util.Collection;
+import java.util.Comparator;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.taxon.TaxonNode;
@@ -16,6 +17,7 @@ import eu.etaxonomy.cdm.model.taxon.TaxonNodeAgentRelation;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 
 /**
  * @author k.luther
@@ -49,6 +51,11 @@ public class TaxonNodeAgentRelationCollectionSection extends AbstractEntityColle
        return allAgentRelationships;
     }
 
+    @Override
+    public Comparator<TaxonNodeAgentRelation> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+    }
+
     @Override
     public void addElement(TaxonNodeAgentRelation element) {
 
index 53e561771aae8ee890735c5527d0b79a032dd22d..3000986c6e119c80bd48192f8d3ea4e6d70e758c 100644 (file)
@@ -11,6 +11,7 @@ package eu.etaxonomy.taxeditor.ui.section.description;
 
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Comparator;
 import java.util.List;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
@@ -21,6 +22,7 @@ import eu.etaxonomy.taxeditor.ui.dialog.selection.DerivedUnitSelectionDialog;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 
 /**
  * <p>DescribedSpecimenSection class.</p>
@@ -58,6 +60,11 @@ public class DescribedSpecimenSection extends AbstractEntityCollectionSection<Ta
                return collection;
        }
 
+    @Override
+    public Comparator<SpecimenOrObservationBase> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+    }
+
        /** {@inheritDoc} */
        @Override
        public SpecimenOrObservationBase createNewElement() {
index 2f376ca09aa57e9c0b0ea9f121292c687ea72faf..83953e5f3739d6ec143a723e70c60cd921d92911 100644 (file)
@@ -10,6 +10,7 @@
 package eu.etaxonomy.taxeditor.ui.section.description;
 
 import java.util.Collection;
+import java.util.Comparator;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
@@ -18,6 +19,7 @@ import eu.etaxonomy.cdm.model.media.Media;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 
 /**
  * <p>DescriptionElementMediaSection class.</p>
@@ -61,6 +63,11 @@ public class DescriptionElementMediaSection extends
                return entity.getMedia();
        }
 
+       @Override
+       public Comparator<Media> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+       }
+
        /** {@inheritDoc} */
        @Override
        public String getEmptyString() {
index 635385c0e53627c1a38bc51c4dae87598657037f..5801b439bf7b46e3a14071f84d807e684ac58445 100644 (file)
@@ -6,6 +6,7 @@ package eu.etaxonomy.taxeditor.ui.section.description;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
+import java.util.Comparator;
 import java.util.List;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
@@ -15,6 +16,7 @@ import eu.etaxonomy.cdm.model.description.DescriptionElementSource;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 
 /**
  * <p>
@@ -64,6 +66,11 @@ public class DescriptionElementSourceSection extends
         return sources;
     }
 
+    @Override
+    public Comparator<DescriptionElementSource> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+    }
+
     /** {@inheritDoc} */
     @Override
     public String getEmptyString() {
index 0c508ed334ce333d570a514aef70fbdf8f5db62a..cbf0aff7f6a6c47a1336735be48d0d3524588b94 100644 (file)
@@ -10,6 +10,7 @@
 package eu.etaxonomy.taxeditor.ui.section.description;
 
 import java.util.Collection;
+import java.util.Comparator;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.common.IdentifiableSource;
@@ -19,6 +20,7 @@ import eu.etaxonomy.taxeditor.ui.dialog.selection.OriginalSourceTypeSelectionDia
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 
 /**
  * <p>DescriptionSourceSection class.</p>
@@ -68,6 +70,11 @@ public class DescriptionSourceSection extends
                return entity.getSources();
        }
 
+       @Override
+       public Comparator<IdentifiableSource> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+       }
+
        /** {@inheritDoc} */
        @Override
        public String getEmptyString() {
index ca3dcc277776ac908afeabd929fb7b0a2cf4ac00..60533aade97f84a17ebc2098aa1f6548158f6b60 100644 (file)
@@ -10,6 +10,7 @@
 package eu.etaxonomy.taxeditor.ui.section.description;
 
 import java.util.Collection;
+import java.util.Comparator;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.description.TaxonDescription;
@@ -17,6 +18,7 @@ import eu.etaxonomy.cdm.model.location.NamedArea;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 
 /**
  * <p>GeoScopeSection class.</p>
@@ -46,6 +48,11 @@ public class GeoScopeSection extends AbstractEntityCollectionSection<TaxonDescri
                return entity.getGeoScopes();
        }
 
+       @Override
+       public Comparator<NamedArea> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+       }
+
        /** {@inheritDoc} */
        @Override
        public NamedArea createNewElement() {
index ec09e802c46b2a9226c2a2ac780feb48416cde19..d0123ce975eb3d4dd8d1e6d145d017a923ec1b8c 100644 (file)
 package eu.etaxonomy.taxeditor.ui.section.description;
 
 import java.util.Collection;
+import java.util.Comparator;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.common.DefinedTerm;
 import eu.etaxonomy.cdm.model.description.IModifiable;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.AbstractUnboundEntityCollectionSection;
 
 /**
@@ -79,6 +81,11 @@ public class ModifierSection extends AbstractUnboundEntityCollectionSection<IMod
         return entity.getModifiers();
     }
 
+    @Override
+    public Comparator<DefinedTerm> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+    }
+
     /**
      * {@inheritDoc}
      */
index 6aae3f43b73ad87775c6f99169899b1ad9510f25..2d1d0de05dd6b41e209400a30b4bc646e648929e 100644 (file)
 package eu.etaxonomy.taxeditor.ui.section.description;
 
 import java.util.Collection;
+import java.util.Comparator;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.common.DefinedTerm;
 import eu.etaxonomy.cdm.model.description.TaxonDescription;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.AbstractUnboundEntityCollectionSection;
 
 /**
@@ -77,6 +79,11 @@ public class ScopeSection extends AbstractUnboundEntityCollectionSection<TaxonDe
         return entity.getScopes();
     }
 
+    @Override
+    public Comparator<DefinedTerm> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+    }
+
     /**
      * {@inheritDoc}
      */
index b2b8fcb504cb87121954ad638184263444e031c0..bc16cd059e408a8e10758518e5a5c90c5af8798d 100644 (file)
@@ -10,6 +10,7 @@
 package eu.etaxonomy.taxeditor.ui.section.description;
 
 import java.util.Collection;
+import java.util.Comparator;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.description.CategoricalData;
@@ -17,6 +18,7 @@ import eu.etaxonomy.cdm.model.description.StateData;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 
 /**
  * <p>StateDataSection class.</p>
@@ -47,6 +49,11 @@ public class StateDataSection extends AbstractEntityCollectionSection<Categorica
                return entity.getStateData();
        }
 
+       @Override
+       public Comparator<StateData> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+       }
+
        /** {@inheritDoc} */
        @Override
        public StateData createNewElement() {
index ac7b24aaf0e413284ee6b663e8b03f6a53a21d36..69f25d7f376e5800a0007ce8137bb741b5184df4 100644 (file)
@@ -10,6 +10,7 @@
 package eu.etaxonomy.taxeditor.ui.section.description;
 
 import java.util.Collection;
+import java.util.Comparator;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.description.QuantitativeData;
@@ -17,6 +18,7 @@ import eu.etaxonomy.cdm.model.description.StatisticalMeasurementValue;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 
 /**
  * <p>StatisticalMeasurementValueSection class.</p>
@@ -49,6 +51,11 @@ public class StatisticalMeasurementValueSection extends
                return entity.getStatisticalValues();
        }
 
+       @Override
+       public Comparator<StatisticalMeasurementValue> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+       }
+
        /** {@inheritDoc} */
        @Override
        public StatisticalMeasurementValue createNewElement() {
index c55c516025311cd55d47c8dfcb2dd3c06be22db9..1e3f298c65f528b02c1acbbe576733a3b187f387 100644 (file)
@@ -10,6 +10,7 @@
 package eu.etaxonomy.taxeditor.ui.section.grantedAuthority;
 
 import java.util.Collection;
+import java.util.Comparator;
 
 import org.springframework.security.core.GrantedAuthority;
 
@@ -53,6 +54,23 @@ public class GrantedAuthorityDetailSection extends
                return entity.getGrantedAuthorities();
        }
 
+       @Override
+       public Comparator<GrantedAuthority> getComparator() {
+        return new Comparator<GrantedAuthority>() {
+
+            @Override
+            public int compare(GrantedAuthority o1, GrantedAuthority o2) {
+                if(o1==null){
+                    return -1;
+                }
+                if(o2==null){
+                    return 1;
+                }
+                return o1.getAuthority().compareTo(o2.getAuthority());
+            }
+        };
+       }
+
        /*
         * (non-Javadoc)
         *
index 184530c0d556c155ce292970c271570196e04b57..b42422dd0660c6cdf9cb98a0af1767f73b8a0817 100644 (file)
@@ -10,6 +10,7 @@
 package eu.etaxonomy.taxeditor.ui.section.group;
 
 import java.util.Collection;
+import java.util.Comparator;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.common.Group;
@@ -18,6 +19,7 @@ import eu.etaxonomy.taxeditor.ui.dialog.selection.UserSelectionDialog;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 
 /**
  * @author n.hoffmann
@@ -47,6 +49,11 @@ public class MemberDetailSection extends AbstractEntityCollectionSection<Group,
                return entity.getMembers();
        }
 
+       @Override
+       public Comparator<User> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+       }
+
        /* (non-Javadoc)
         * @see eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection#createNewElement()
         */
index 0da44aad62247b515f507922e6dfc561ac58a04b..577b0423e6e99516503d42ce858d40525a5e3cb4 100644 (file)
@@ -4,12 +4,14 @@
 package eu.etaxonomy.taxeditor.ui.section.key;
 
 import java.util.Collection;
+import java.util.Comparator;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.common.DefinedTerm;
 import eu.etaxonomy.cdm.model.description.PolytomousKey;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.AbstractUnboundEntityCollectionSection;
 
 /**
@@ -29,6 +31,11 @@ public class ScopeRestrictionSection extends AbstractUnboundEntityCollectionSect
                return entity.getScopeRestrictions();
        }
 
+       @Override
+       public Comparator<DefinedTerm> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+       }
+
        @Override
        public DefinedTerm createNewElement() {
                return null;
index 963a3d2e231187edc7c80494c1e01e11cf8f24d8..2638273fa33b1362352655771d4af83929124057 100644 (file)
@@ -10,6 +10,7 @@
 package eu.etaxonomy.taxeditor.ui.section.key;
 
 import java.util.Collection;
+import java.util.Comparator;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.description.PolytomousKey;
@@ -18,6 +19,7 @@ import eu.etaxonomy.taxeditor.ui.dialog.selection.TaxonBaseSelectionDialog;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 
 /**
  * @author n.hoffmann
@@ -52,6 +54,11 @@ public class TaxonomicScopeSection extends
                return entity.getTaxonomicScope();
        }
 
+       @Override
+       public Comparator<Taxon> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+       }
+
        /*
         * (non-Javadoc)
         *
index 743f904aa3600dac1b60efc5fc5ae22128e258cb..4cda88d8132254de165dd0b2406d239d335612f1 100644 (file)
@@ -2,6 +2,7 @@
 package eu.etaxonomy.taxeditor.ui.section.media;
 
 import java.util.Collection;
+import java.util.Comparator;
 
 import org.eclipse.jface.util.PropertyChangeEvent;
 
@@ -13,6 +14,7 @@ import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.CdmPropertyChangeEvent;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 
 /**
  * <p>MediaRepresentationPartSection class.</p>
@@ -57,6 +59,11 @@ public class MediaRepresentationPartSection extends
                return getEntity().getParts();
        }
 
+       @Override
+       public Comparator<MediaRepresentationPart> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+       }
+
        /** {@inheritDoc} */
        @Override
        public String getEmptyString() {
index 46a0343a4934db436c98cb3edba2188d6d288af4..766e83c3ebcccb8851f26ded8374842b4484ee48 100644 (file)
@@ -10,6 +10,7 @@
 package eu.etaxonomy.taxeditor.ui.section.media;
 
 import java.util.Collection;
+import java.util.Comparator;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.media.Media;
@@ -17,6 +18,7 @@ import eu.etaxonomy.cdm.model.media.MediaRepresentation;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 
 /**
  * <p>MediaRepresentationSection class.</p>
@@ -59,6 +61,11 @@ public class MediaRepresentationSection extends AbstractEntityCollectionSection<
                return getEntity().getRepresentations();
        }
 
+       @Override
+       public Comparator<MediaRepresentation> getComparator() {
+           return new DefaultCdmBaseComparator<>();
+       }
+
        /** {@inheritDoc} */
        @Override
        public String getEmptyString() {
index cb3c4deb7cf7dc1850a811357f66e4ad401a3a74..69ce7456087bfc704e9c04456e83dbc2e16247b5 100644 (file)
@@ -4,6 +4,7 @@
 package eu.etaxonomy.taxeditor.ui.section.media;
 
 import java.util.Collection;
+import java.util.Comparator;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.media.IdentifiableMediaEntity;
@@ -12,6 +13,7 @@ import eu.etaxonomy.taxeditor.ui.dialog.selection.MediaSelectionDialog;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 
 /**
  * <p>MediaSection class.</p>
@@ -45,6 +47,11 @@ public class MediaSection extends AbstractEntityCollectionSection<IdentifiableMe
                return entity.getMedia();
        }
 
+       @Override
+       public Comparator<Media> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+       }
+
        /** {@inheritDoc} */
        @Override
        public String getEmptyString() {
index 74c946f05c1ebe04fb0ce6dd48def96483cc1e01..8268d5827144a5b8c0d6fbee9137ba84dfa740b7 100644 (file)
@@ -10,6 +10,7 @@
 package eu.etaxonomy.taxeditor.ui.section.name;
 
 import java.util.Collection;
+import java.util.Comparator;
 
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.jface.wizard.WizardDialog;
@@ -23,6 +24,7 @@ import eu.etaxonomy.taxeditor.store.StoreUtil;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 import eu.etaxonomy.taxeditor.ui.section.ITaxonBaseDetailSection;
 
 /**
@@ -77,6 +79,11 @@ public class NameRelationshipDetailSection extends AbstractEntityCollectionSecti
                return allNameRelationships;
        }
 
+       @Override
+       public Comparator<NameRelationship> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+       }
+
        /** {@inheritDoc} */
        @Override
        public String getEmptyString() {
index 629c788c6b84bc7c5197b2ac1c315ccde84191d6..a106d42443d7d3775619840ddeeca88161cb1361 100644 (file)
@@ -10,6 +10,7 @@
 package eu.etaxonomy.taxeditor.ui.section.name;
 
 import java.util.Collection;
+import java.util.Comparator;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
@@ -19,6 +20,7 @@ import eu.etaxonomy.cdm.model.taxon.TaxonBase;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 import eu.etaxonomy.taxeditor.ui.section.ITaxonBaseDetailSection;
 
 /**
@@ -49,6 +51,11 @@ public class NomenclaturalStatusSection extends AbstractEntityCollectionSection<
                return entity.getStatus();
        }
 
+       @Override
+       public Comparator<NomenclaturalStatus> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+       }
+
        /** {@inheritDoc} */
        @Override
        public String getEmptyString() {
index 6a9bd16726d7717a7cc12fff311a2a407469311b..c039b688147fa06fbb75cefd97ff1574979ec505 100644 (file)
@@ -11,6 +11,7 @@ package eu.etaxonomy.taxeditor.ui.section.name;
 
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Comparator;
 import java.util.List;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
@@ -24,6 +25,7 @@ import eu.etaxonomy.cdm.model.taxon.TaxonBase;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 import eu.etaxonomy.taxeditor.ui.section.ITaxonBaseDetailSection;
 
 /**
@@ -67,6 +69,11 @@ public class ProtologueSection extends AbstractEntityCollectionSection<TaxonName
 //OLD: return getTaxonNameDescription(entity).getElements();
        }
 
+       @Override
+       public Comparator<DescriptionElementBase> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+       }
+
 
        /** {@inheritDoc} */
        @Override
@@ -114,7 +121,7 @@ public class ProtologueSection extends AbstractEntityCollectionSection<TaxonName
                if(name.getDescriptions().size() == 0){
                        name.addDescription(TaxonNameDescription.NewInstance(name));
                }
-               return (TaxonNameDescription) name.getDescriptions().iterator().next();
+               return name.getDescriptions().iterator().next();
        }
 
        /**
index dae27c8af1bb6fd22277fa53ac87716844056b4d..10b45a078d53fd9d4a72972f0ee8689277f786c1 100644 (file)
@@ -9,10 +9,8 @@
 
 package eu.etaxonomy.taxeditor.ui.section.name;
 
-import java.util.ArrayList;
 import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
+import java.util.Comparator;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.service.INameService;
@@ -77,9 +75,12 @@ public class TypeDesignationSection extends AbstractEntityCollectionSection<Taxo
                if (entity == null){
                        return null;
                }
-               List<TypeDesignationBase> typeDesignations = new ArrayList<>(entity.getTypeDesignations());
-               Collections.sort(typeDesignations, AbstractUtility.getTypeDesignationComparator());
-               return typeDesignations;
+               return entity.getTypeDesignations();
+       }
+
+       @Override
+       public Comparator<TypeDesignationBase> getComparator() {
+        return AbstractUtility.getTypeDesignationComparator();
        }
 
        /** {@inheritDoc} */
index 3d10026d74d6090f6c39d34e5bc5798f4c10e5ba..f5fabf873aa44798deed3c3dbcf0aacb16566edd 100644 (file)
@@ -10,6 +10,7 @@
 package eu.etaxonomy.taxeditor.ui.section.occurrence;
 
 import java.util.Collection;
+import java.util.Comparator;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
@@ -19,6 +20,7 @@ import eu.etaxonomy.taxeditor.ui.dialog.selection.NamedAreaSelectionDialog;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 
 /**
  * <p>
@@ -53,6 +55,11 @@ public class CollectingAreasDetailSection extends AbstractEntityCollectionSectio
                return entity.getCollectingAreas();
        }
 
+       @Override
+       public Comparator<NamedArea> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+       }
+
        /* (non-Javadoc)
         * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#createNewElement()
         */
index 6f97a6b7bfe26b328eafc58b20ae6bfb837709d7..eaf37c443f5e77ecddd1dd3321068bfc1729b1ab 100644 (file)
@@ -11,6 +11,7 @@ package eu.etaxonomy.taxeditor.ui.section.occurrence;
 
 import java.util.Arrays;
 import java.util.Collection;
+import java.util.Comparator;
 
 import org.eclipse.jface.action.Action;
 import org.eclipse.jface.action.IAction;
@@ -26,6 +27,7 @@ import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent;
 import eu.etaxonomy.taxeditor.model.ImageResources;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 
 /**
  * @author n.hoffmann
@@ -98,6 +100,11 @@ public class CurrentDeterminationDetailSection extends
                return preferredDetermination != null ? Arrays.asList(new DeterminationEvent[]{preferredDetermination}) : null;
        }
 
+       @Override
+       public Comparator<DeterminationEvent> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+       }
+
        /* (non-Javadoc)
         * @see eu.etaxonomy.taxeditor.ui.section.occurrence.AbstractDeterminationEventDetailSection#createNewElement()
         */
index 6e7867b5d35f7eac47ef9bc66cb7d14f134ae693..413dfaf383b728288d34ecafc20cbad3c448e8a7 100644 (file)
 package eu.etaxonomy.taxeditor.ui.section.occurrence;
 
 import java.util.Collection;
+import java.util.Comparator;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
 import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 
 /**
  * @author n.hoffmann
@@ -45,6 +47,11 @@ public class DeterminationHistoryDetailSection extends
                return entity != null ? entity.getOtherDeterminations() : null;
        }
 
+       @Override
+       public Comparator<DeterminationEvent> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+       }
+
        @Override
        public void refresh() {
                internalUpdateSection(false);
index 217e75cb53cf7ec475316fb70fcd0c2d910554f0..d9b637105ed8381c1e87125882c003f0dea52c48 100644 (file)
@@ -10,6 +10,7 @@
 package eu.etaxonomy.taxeditor.ui.section.occurrence;
 
 import java.util.Collection;
+import java.util.Comparator;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.location.NamedArea;
@@ -18,6 +19,7 @@ import eu.etaxonomy.taxeditor.ui.dialog.selection.NamedAreaSelectionDialog;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 
 /**
  * <p>
@@ -52,6 +54,11 @@ public class GeoScopeDetailSection extends AbstractEntityCollectionSection<Class
                return entity.getGeoScopes();
        }
 
+       @Override
+       public Comparator<NamedArea> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+       }
+
        /* (non-Javadoc)
         * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#createNewElement()
         */
index f26588f4601d3e6b328c309129283a22101e62c3..1c832e7dcbb62ed3748e7529fab7df5b7ff21034 100644 (file)
@@ -10,6 +10,7 @@
 package eu.etaxonomy.taxeditor.ui.section.occurrence;
 
 import java.util.Collection;
+import java.util.Comparator;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.description.PolytomousKey;
@@ -18,6 +19,7 @@ import eu.etaxonomy.taxeditor.ui.dialog.selection.NamedAreaSelectionDialog;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 
 /**
  *
@@ -38,6 +40,11 @@ public class GeoScopePolyKeyDetailSection extends AbstractEntityCollectionSectio
                return entity.getGeographicalScope();
        }
 
+       @Override
+       public Comparator<NamedArea> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+       }
+
        /** {@inheritDoc} */
        @Override
        public NamedArea createNewElement() {
index e1d1e3c0e39368bc4fa88f9c8d39803b214a56b4..c66d90a89e3d5fab86dc2f918e83fe0fb8a7dc57 100644 (file)
@@ -10,6 +10,7 @@
 package eu.etaxonomy.taxeditor.ui.section.occurrence;
 
 import java.util.Collection;
+import java.util.Comparator;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
@@ -18,6 +19,7 @@ import eu.etaxonomy.cdm.model.common.OriginalSourceType;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 
 /**
  * <p>SourceCollectionDetailSection class.</p>
@@ -51,6 +53,11 @@ public class SourceCollectionDetailSection extends
                return entity.getSources();
        }
 
+       @Override
+       public Comparator<IdentifiableSource> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+       }
+
        /* (non-Javadoc)
         * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#createNewElement()
         */
index 0c2758ec25b68dacf4cad7f21aaa8a167920d5be..86eb66731e9ef11344c46f31e2df84cd9f98c9bc 100644 (file)
@@ -10,6 +10,7 @@
 package eu.etaxonomy.taxeditor.ui.section.occurrence;
 
 import java.util.Collection;
+import java.util.Comparator;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
@@ -18,6 +19,7 @@ import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 
 /**
  * <p>SpecimenCollectionDetailSection class.</p>
@@ -51,6 +53,11 @@ public class SpecimenCollectionDetailSection extends
                return entity.getDuplicates();
        }
 
+       @Override
+       public Comparator<DerivedUnit> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+       }
+
        /* (non-Javadoc)
         * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#createNewElement()
         */
index 3a6f614376767c144a4790928e3fddd24c365107..fad8c63c9f75006e0e1bb8f81f1711233c58d1c9 100644 (file)
@@ -10,6 +10,7 @@ package eu.etaxonomy.taxeditor.ui.section.occurrence.association;
 
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Comparator;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
@@ -21,6 +22,7 @@ import eu.etaxonomy.cdm.model.name.TaxonName;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 
 /**
  * @author pplitzner
@@ -43,6 +45,11 @@ public class DerivedUnitTypeDesignationSection extends AbstractEntityCollectionS
         return typeDesignations;
     }
 
+    @Override
+    public Comparator<SpecimenTypeDesignation> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+    }
+
     /** {@inheritDoc} */
     @Override
     public SpecimenTypeDesignation createNewElement() {
index b30f3a8f277a83d8dc79d93047d42d9a59f53a4a..d545968059850fc7195ac07b31f58546d4a07e6c 100644 (file)
@@ -11,6 +11,7 @@ package eu.etaxonomy.taxeditor.ui.section.occurrence.derivedUnit;
 
 import java.util.Arrays;
 import java.util.Collection;
+import java.util.Comparator;
 import java.util.Set;
 
 import org.eclipse.jface.action.Action;
@@ -26,6 +27,7 @@ import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent;
 import eu.etaxonomy.taxeditor.model.ImageResources;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 
 /**
  * @author n.hoffmann
@@ -111,6 +113,11 @@ public class PreservedSpecimenCurrentDeterminationDetailSection extends
                return preferredDetermination != null ? Arrays.asList(new DeterminationEvent[]{preferredDetermination}) : null;
        }
 
+       @Override
+       public Comparator<DeterminationEvent> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+       }
+
        /* (non-Javadoc)
         * @see eu.etaxonomy.taxeditor.ui.section.occurrence.AbstractDeterminationEventDetailSection#createNewElement()
         */
index 3a35bbf0649fed76dcde636c33ddbd9b265b7a43..64ec455afbd1797d0b45d1db347ebc10095ea422 100644 (file)
@@ -10,6 +10,7 @@
 package eu.etaxonomy.taxeditor.ui.section.occurrence.derivedUnit;
 
 import java.util.Collection;
+import java.util.Comparator;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.common.IdentifiableSource;
@@ -18,6 +19,7 @@ import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 
 /**
  * <p>SourceCollectionDetailSection class.</p>
@@ -51,6 +53,11 @@ public class PreservedSpecimenSourceCollectionDetailSection extends
                return entity.getSources();
        }
 
+       @Override
+       public Comparator<IdentifiableSource> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+       }
+
        /* (non-Javadoc)
         * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#createNewElement()
         */
index 0c30ec363b84512ea86d86d7210da51cd0d9fe5a..80feae63903c750dd2249e7422b00b2d7a0696b2 100644 (file)
@@ -10,6 +10,7 @@ package eu.etaxonomy.taxeditor.ui.section.occurrence.dna;
 
 import java.util.Collection;
 import java.util.Collections;
+import java.util.Comparator;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.media.Media;
@@ -17,6 +18,7 @@ import eu.etaxonomy.cdm.model.molecular.AmplificationResult;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 
 /**
  * @author pplitzner
@@ -50,6 +52,11 @@ public class AmplificationGelPhotoCollectionDetailSection extends AbstractEntity
         return Collections.EMPTY_LIST;
     }
 
+    @Override
+    public Comparator<Media> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+    }
+
     /* (non-Javadoc)
      * @see eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection#createNewElement()
      */
index 815a4341945cb8a6b323145d361f3f406e6189ee..12c39fc4fdb362ce167f7252eaa7276ffeaa2251 100644 (file)
@@ -11,12 +11,14 @@ package eu.etaxonomy.taxeditor.ui.section.occurrence.dna;
 
 import java.util.Collection;
 import java.util.Collections;
+import java.util.Comparator;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
 import eu.etaxonomy.cdm.model.common.Identifier;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 import eu.etaxonomy.taxeditor.view.derivateSearch.DerivateLabelProvider;
 
 /**
@@ -52,6 +54,11 @@ public class CurrentSampleDesignationDetailSection extends AbstractSampleDesigna
            }
        }
 
+       @Override
+       public Comparator<Identifier> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+       }
+
        /* (non-Javadoc)
         * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getTooltipString()
         */
index d4bfaa64164de9688c0d7c77e967039a46b65155..5909009935818e21499301846647d2c2de8330b9 100644 (file)
@@ -10,6 +10,7 @@
 package eu.etaxonomy.taxeditor.ui.section.occurrence.dna;
 
 import java.util.Collection;
+import java.util.Comparator;
 import java.util.LinkedList;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
@@ -17,6 +18,7 @@ import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
 import eu.etaxonomy.cdm.model.common.Identifier;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 import eu.etaxonomy.taxeditor.view.derivateSearch.DerivateLabelProvider;
 
 /**
@@ -55,6 +57,11 @@ public class SampleDesignationHistoryDetailSection extends AbstractSampleDesigna
            return sampleDesignations;
        }
 
+       @Override
+       public Comparator<Identifier> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+       }
+
        @Override
        public void refresh() {
                internalUpdateSection(false);
index f32d9cc10c4715a85296ccc7ebdf0c037213dacf..98b82a4ec51a3e80b9bff8e993b937c16fcf3110 100644 (file)
@@ -10,6 +10,7 @@ package eu.etaxonomy.taxeditor.ui.section.occurrence.dna;
 
 import java.util.Collection;
 import java.util.Collections;
+import java.util.Comparator;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.service.IMediaService;
@@ -19,6 +20,7 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 
 /**
  * @author pplitzner
@@ -52,6 +54,11 @@ public class SequenceContigFileCollectionDetailSection extends AbstractEntityCol
         return Collections.EMPTY_LIST;
     }
 
+    @Override
+    public Comparator<Media> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+    }
+
     /* (non-Javadoc)
      * @see eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection#createNewElement()
      */
index 14ae973fa94058bca82a37dc2f05f61e6e8b7bbe..ead142425a43133fdc5d23f16fe548c6ee16b8ea 100644 (file)
@@ -9,6 +9,7 @@
 package eu.etaxonomy.taxeditor.ui.section.occurrence.dna;
 
 import java.util.Collection;
+import java.util.Comparator;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.molecular.Sequence;
@@ -16,6 +17,7 @@ import eu.etaxonomy.cdm.model.reference.Reference;
 import eu.etaxonomy.cdm.model.reference.ReferenceFactory;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 
 /**
  * This section visualizes {@link Reference}s belonging to a {@link Sequence} and alllows adding/removing them.
@@ -39,6 +41,11 @@ public class SequenceReferenceCollectionDetailSection extends AbstractUnboundEnt
         return entity.getCitations();
     }
 
+    @Override
+    public Comparator<Reference> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+    }
+
     /* (non-Javadoc)
      * @see eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection#createNewElement()
      */
index 2ad7553993876883362d0029876538119a954a59..fcb253ffccebec155d8658b7eab198be99f44233 100644 (file)
@@ -10,6 +10,7 @@ package eu.etaxonomy.taxeditor.ui.section.occurrence.dna;
 
 import java.util.Collection;
 import java.util.Collections;
+import java.util.Comparator;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.service.IMediaService;
@@ -19,6 +20,7 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 
 /**
  * @author pplitzner
@@ -52,6 +54,11 @@ public class SingleReadPherogramCollectionDetailSection extends AbstractEntityCo
         return Collections.EMPTY_LIST;
     }
 
+    @Override
+    public Comparator<Media> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+    }
+
     /* (non-Javadoc)
      * @see eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection#createNewElement()
      */
index 188a551e944da128ec7da2692c6eac68cf1ec464..0f0974673cd9f879346986b035a4fbdc973ca73f 100644 (file)
@@ -1,9 +1,10 @@
 /**
- * 
+ *
  */
 package eu.etaxonomy.taxeditor.ui.section.supplemental;
 
 import java.util.Collection;
+import java.util.Comparator;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.common.AnnotatableEntity;
@@ -14,6 +15,7 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 
 /**
  * <p>AnnotationSection class.</p>
@@ -42,7 +44,7 @@ public class AnnotationSection extends AbstractEntityCollectionSection<Annotatab
                String text = "";
                AnnotationType type = AnnotationType.EDITORIAL();
                Language language = CdmStore.getDefaultLanguage();
-               
+
                return Annotation.NewInstance(text, type, language);
        }
 
@@ -52,6 +54,11 @@ public class AnnotationSection extends AbstractEntityCollectionSection<Annotatab
                return entity.getAnnotations();
        }
 
+       @Override
+       public Comparator<Annotation> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+       }
+
        /** {@inheritDoc} */
        @Override
        public String getEmptyString() {
@@ -92,5 +99,5 @@ public class AnnotationSection extends AbstractEntityCollectionSection<Annotatab
     public boolean allowAddExisting() {
         // TODO Auto-generated method stub
         return false;
-    }  
+    }
 }
index d5c85e834ab6c1af0983975695566726c100501e..3ccf37fa00afab92ef96627f999b5ca8ad953ef1 100644 (file)
@@ -1,9 +1,10 @@
 /**
- * 
+ *
  */
 package eu.etaxonomy.taxeditor.ui.section.supplemental;
 
 import java.util.Collection;
+import java.util.Comparator;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.common.Credit;
@@ -11,6 +12,7 @@ import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 
 /**
  * <p>CreditSection class.</p>
@@ -45,6 +47,11 @@ public class CreditSection extends AbstractEntityCollectionSection<IdentifiableE
                return entity.getCredits();
        }
 
+       @Override
+       public Comparator<Credit> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+       }
+
        /** {@inheritDoc} */
        @Override
        public String getEmptyString() {
index ef2b8f69b03272c3833c9ab3907d02b166996667..4ac9797f84e7474f7f172bb17ef3678b4c95a3e0 100644 (file)
@@ -1,9 +1,10 @@
 /**
- * 
+ *
  */
 package eu.etaxonomy.taxeditor.ui.section.supplemental;
 
 import java.util.Collection;
+import java.util.Comparator;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.common.Extension;
@@ -11,6 +12,7 @@ import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 
 /**
  * <p>ExtensionSection class.</p>
@@ -44,6 +46,11 @@ public class ExtensionSection extends AbstractEntityCollectionSection<Identifiab
                return entity.getExtensions();
        }
 
+       @Override
+       public Comparator<Extension> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+       }
+
        /** {@inheritDoc} */
        @Override
        public String getEmptyString() {
index 4ed1f7895b612587243defa575588822aa14532d..09a3b8bf9de248dde2554b7690be27afc0194498 100644 (file)
@@ -1,12 +1,14 @@
 package eu.etaxonomy.taxeditor.ui.section.supplemental;
 
 import java.util.Collection;
+import java.util.Comparator;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.common.AnnotatableEntity;
 import eu.etaxonomy.cdm.model.common.Marker;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.AbstractUnboundEntityCollectionSection;
 
 /**
@@ -66,6 +68,11 @@ public class MarkerSection extends AbstractUnboundEntityCollectionSection<Annota
         return entity.getMarkers();
     }
 
+    @Override
+    public Comparator<Marker> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+    }
+
     /**
      * {@inheritDoc}
      */
index 7216436dded467863d7ee029370985574408b53d..40fefb69a8610aae3cce1a5c7591d8b2426b98e7 100644 (file)
@@ -4,6 +4,7 @@
 package eu.etaxonomy.taxeditor.ui.section.supplemental;
 
 import java.util.Collection;
+import java.util.Comparator;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
@@ -12,6 +13,7 @@ import eu.etaxonomy.taxeditor.ui.dialog.selection.RightsSelectionDialog;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 
 /**
  * <p>RightsSection class.</p>
@@ -45,6 +47,11 @@ public class RightsSection extends AbstractEntityCollectionSection<IdentifiableE
                return entity.getRights();
        }
 
+       @Override
+       public Comparator<Rights> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+       }
+
        /** {@inheritDoc} */
        @Override
        public String getEmptyString() {
index 32c108d6732135fa1b416e6b79a846673518fbc1..7f15f6d4d43797829cac29cddfed90d7d3a36df5 100644 (file)
@@ -6,6 +6,7 @@ package eu.etaxonomy.taxeditor.ui.section.supplemental;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
+import java.util.Comparator;
 import java.util.List;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
@@ -16,6 +17,7 @@ import eu.etaxonomy.cdm.model.media.Media;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 import eu.etaxonomy.taxeditor.ui.section.description.SourceComparator;
 
 /**
@@ -63,6 +65,11 @@ public class SourceSection extends AbstractEntityCollectionSection<IIdentifiable
         return sources;
        }
 
+       @Override
+       public Comparator<IdentifiableSource> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+       }
+
        /** {@inheritDoc} */
        @Override
        public String getEmptyString() {
index 9e59fd95301685b68b59fb9bbc1d55e2392cd79b..d17982187440cb5f96596a0a3bae6f947c0d0531 100644 (file)
 package eu.etaxonomy.taxeditor.ui.section.supplemental.identifier;
 
 import java.util.Collection;
+import java.util.Comparator;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
 import eu.etaxonomy.cdm.model.common.Identifier;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 
 /**
- * 
+ *
  * @author pplitzner
  *
  */
@@ -36,6 +38,11 @@ public class DerivedUnitFacadeIdentifierSection extends AbstractIdentifierSectio
                return entity.getIdentifiers();
        }
 
+       @Override
+       public Comparator<Identifier> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+       }
+
 
        @Override
        public void addElement(Identifier element) {
index c7a526e5bfd9a9124d1dd0d46c8c72bb696c84eb..4b1a4b923305410b128e697301fe425e66a2329d 100644 (file)
 package eu.etaxonomy.taxeditor.ui.section.supplemental.identifier;
 
 import java.util.Collection;
+import java.util.Comparator;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
 import eu.etaxonomy.cdm.model.common.Identifier;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 
 /**
- * 
+ *
  * @author pplitzner
  *
  */
@@ -35,6 +37,11 @@ public class IdentifierSection extends AbstractIdentifierSection<IdentifiableEnt
                return entity.getIdentifiers();
        }
 
+       @Override
+       public Comparator<Identifier> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+       }
+
        @Override
        public void addElement(Identifier element) {
                getEntity().addIdentifier(element);
index c453a1e15098ef7df177baf4d67261cffa03507b..2ee3445b17c0b5b023baa18d474997727f8216f9 100644 (file)
@@ -4,6 +4,7 @@
 package eu.etaxonomy.taxeditor.ui.section.user;
 
 import java.util.Collection;
+import java.util.Comparator;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.common.Group;
@@ -12,6 +13,7 @@ import eu.etaxonomy.taxeditor.ui.dialog.selection.GroupSelectionDialog;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 
 /**
  * @author n.hoffmann
@@ -40,6 +42,11 @@ public class GroupsByUserDetailSection extends AbstractEntityCollectionSection<U
                return entity.getGroups();
        }
 
+       @Override
+       public Comparator<Group> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+       }
+
        /* (non-Javadoc)
         * @see eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection#createNewElement()
         */
index a2e9daacd58284916962ca8123ab275753f6efaa..f6def5dbdfaf1d47054b1104babaa338d3e591ce 100644 (file)
@@ -9,12 +9,14 @@
 package eu.etaxonomy.taxeditor.ui.section.vocabulary;
 
 import java.util.Collection;
+import java.util.Comparator;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.description.Feature;
 import eu.etaxonomy.cdm.model.description.MeasurementUnit;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.AbstractUnboundEntityCollectionSection;
 
 /**
@@ -38,6 +40,11 @@ public class MeasurementUnitCollectionSection extends AbstractUnboundEntityColle
         return entity.getRecommendedMeasurementUnits();
     }
 
+    @Override
+    public Comparator<MeasurementUnit> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+    }
+
     /* (non-Javadoc)
      * @see eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection#createNewElement()
      */
index 6f00dd0782150bdfb48eaf46a51bacd0066f3154..2a4ab585fd37abfee996573b9ceea9a8a4257407 100644 (file)
@@ -9,6 +9,7 @@
 package eu.etaxonomy.taxeditor.ui.section.vocabulary;
 
 import java.util.Collection;
+import java.util.Comparator;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.common.DefinedTerm;
@@ -17,6 +18,7 @@ import eu.etaxonomy.cdm.model.common.TermVocabulary;
 import eu.etaxonomy.cdm.model.description.Feature;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.AbstractUnboundEntityCollectionSection;
 
 /**
@@ -40,6 +42,11 @@ public class RecommendedModifierVocabulariesCollectionSection extends AbstractUn
         return entity.getRecommendedModifierEnumeration();
     }
 
+    @Override
+    public Comparator<TermVocabulary<DefinedTerm>> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+    }
+
     /* (non-Javadoc)
      * @see eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection#createNewElement()
      */
index 76f47c9022e5c7948800e5d642ff2f22a290cedf..1a84916cfbfff45fe86ab192df763261eb55d4f5 100644 (file)
@@ -9,6 +9,7 @@
 package eu.etaxonomy.taxeditor.ui.section.vocabulary;
 
 import java.util.Collection;
+import java.util.Comparator;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.common.TermType;
@@ -17,6 +18,7 @@ import eu.etaxonomy.cdm.model.description.Feature;
 import eu.etaxonomy.cdm.model.description.State;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.AbstractUnboundEntityCollectionSection;
 
 /**
@@ -40,6 +42,11 @@ public class StateVocabularyCollectionSection extends AbstractUnboundEntityColle
         return entity.getSupportedCategoricalEnumerations();
     }
 
+    @Override
+    public Comparator<TermVocabulary<State>> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+    }
+
     /* (non-Javadoc)
      * @see eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection#createNewElement()
      */
index 2487f538a65786d0c3223633d18825208bb8a6a9..fabe44198ae25eb205629cec4f9cdce58e534a72 100644 (file)
@@ -9,12 +9,14 @@
 package eu.etaxonomy.taxeditor.ui.section.vocabulary;
 
 import java.util.Collection;
+import java.util.Comparator;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.description.Feature;
 import eu.etaxonomy.cdm.model.description.StatisticalMeasure;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
 import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.AbstractUnboundEntityCollectionSection;
 
 /**
@@ -38,6 +40,11 @@ public class StatisticalMeasureCollectionSection extends AbstractUnboundEntityCo
         return entity.getRecommendedStatisticalMeasures();
     }
 
+    @Override
+    public Comparator<StatisticalMeasure> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+    }
+
     /* (non-Javadoc)
      * @see eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection#createNewElement()
      */