ref #8677: layout and labeling in aggregation config wizard
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / supplemental / AbstractOriginalSourceElement.java
index 945089ad7fb6a931b2eedb353290e155f806eb8c..e3f666594add637c275cce80e18f6211fa8f5f6c 100644 (file)
@@ -9,8 +9,6 @@
 
 package eu.etaxonomy.taxeditor.ui.section.supplemental;
 
-import java.util.Comparator;
-
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.SelectionListener;
 
@@ -19,6 +17,7 @@ import eu.etaxonomy.cdm.model.reference.OriginalSourceBase;
 import eu.etaxonomy.cdm.model.reference.OriginalSourceType;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
 import eu.etaxonomy.taxeditor.ui.combo.EnumComboElement;
+import eu.etaxonomy.taxeditor.ui.combo.OriginalSourceTypeComparator;
 import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
@@ -83,86 +82,5 @@ public abstract class AbstractOriginalSourceElement<T extends OriginalSourceBase
 
        }
 
-       /**
-        * Sorts source type combo alphabetically <b>except</b> for PrimaryTaxonomicSource resp.
-        * PrimaryMediaSource which are always on top depending on the IdentifiableSource;
-        * <br>
-        * The last two are always "Other" followed by "Unknown"
-        * @author pplitzner
-        * @date Jan 6, 2017
-        *
-        */
-       private class OriginalSourceTypeComparator implements Comparator<OriginalSourceType>{
-
-           private OriginalSourceBase entity;
 
-        public OriginalSourceTypeComparator(OriginalSourceBase entity) {
-            this.entity = entity;
-        }
-
-        /**
-         * {@inheritDoc}
-         */
-        @Override
-        public int compare(OriginalSourceType o1, OriginalSourceType o2) {
-            if(o1==null){
-                if(o2==null){
-                    return 0;
-                }
-                else{
-                    return -1;
-                }
-            }
-            if(o2==null){
-                return 1;
-            }
-            //both are either taxonomic or media
-            else if(o1.equals(OriginalSourceType.PrimaryTaxonomicSource)
-                    && o2.equals(OriginalSourceType.PrimaryMediaSource)){
-                if(entity.getType().equals(OriginalSourceType.PrimaryMediaSource)){
-                    return 1;
-                }
-                else{
-                    return -1;
-                }
-            }
-            else if(o2.equals(OriginalSourceType.PrimaryTaxonomicSource)
-                    && o1.equals(OriginalSourceType.PrimaryMediaSource)){
-                if(entity.getType().equals(OriginalSourceType.PrimaryMediaSource)){
-                    return -1;
-                }
-                else{
-                    return 1;
-                }
-            }
-            //one is not taxonomic or media
-            else if(o1.equals(OriginalSourceType.PrimaryTaxonomicSource)
-                    ||o1.equals(OriginalSourceType.PrimaryMediaSource)){
-                return -1;
-
-            }
-            else if(o2.equals(OriginalSourceType.PrimaryTaxonomicSource)
-                    || o2.equals(OriginalSourceType.PrimaryMediaSource)){
-                return 1;
-            }
-            //The last two are always "Other" followed by "Unknown"
-            else if(o1.equals(OriginalSourceType.Other)){
-                if(o2.equals(OriginalSourceType.Unknown)){
-                    return -11;
-                }
-                else{
-                    return 1;
-                }
-            }
-            if(o2.equals(OriginalSourceType.Other)){
-                return 1;
-            }
-            else{
-                String message1 = o1.getKey();
-                String message2 = o2.getKey();
-                return message1.compareTo(message2);
-            }
-        }
-
-       }
 }