Merge branch 'release/5.32.0'
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / common / ExternalLinksSection.java
index 8c339a2727eaf81c8ed530423e2b66219bf99bca..e012e48c55187f26fa3eb4313ee18805718ee9d7 100755 (executable)
@@ -14,6 +14,7 @@ import java.util.Comparator;
 import org.eclipse.ui.forms.widgets.TableWrapData;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.common.URI;
 import eu.etaxonomy.cdm.model.media.ExternalLink;
 import eu.etaxonomy.cdm.model.media.ExternalLinkType;
 import eu.etaxonomy.cdm.model.reference.OriginalSourceBase;
@@ -24,7 +25,6 @@ import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
 /**
  * @author k.luther
  * @since 23.08.2018
- *
  */
 public class ExternalLinksSection extends AbstractEntityCollectionSection<OriginalSourceBase, ExternalLink> {
 
@@ -32,67 +32,36 @@ public class ExternalLinksSection extends AbstractEntityCollectionSection<Origin
 
     private boolean isShowDescription = true;
 
-
-
-    /**
-     * @param formFactory
-     * @param formElement
-     */
     public ExternalLinksSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement, int style) {
         super(cdmFormFactory, conversation, parentElement, "External Links", style);
-
     }
 
-
-    /**
-     * @param cdmFormFactory
-     * @param conversation
-     * @param parentElement
-     * @param string
-     * @param style
-     */
     public ExternalLinksSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation,
             ICdmFormElement parentElement, boolean isAdvanced, String string, int style) {
         super(cdmFormFactory, conversation, parentElement, string, style);
         this.isShowDescription = isAdvanced;
     }
 
-
     @Override
+    //TODO think about moving to cdmlib
     public Comparator<ExternalLink> getComparator() {
-        return new Comparator<ExternalLink>(){
+        return (o1, o2)-> {
+            URI uri1 = o1 == null? null: o1.getUri();
+            URI uri2 = o2 == null? null: o2.getUri();
 
-            @Override
-            public int compare(ExternalLink o1, ExternalLink o2) {
-                if (o1 == o2){
+                if (uri1 == uri2){
                     return 0;
                 }
-                if (o1 == null){
+                if (uri1 == null){
                     return -1;
-
                 }
-                if (o2== null){
+                if (uri2 == null){
                     return 1;
                 }
-                if (o1.getUri() == o1.getUri()){
-                    return 0;
-                }
-                if (o1.getUri() == null){
-                    return -1;
-                }
-                if (o2.getUri() == null){
-                    return 1;
-                }
-               return o1.getUri().toString().compareTo(o2.getUri().toString());
-
-            }
-
-      };
-
+                return uri1.toString().compareTo(uri2.toString());
+        };
     }
 
-
-
     @Override
     public Collection<ExternalLink> getCollection(OriginalSourceBase entity) {
         if (entity != null){
@@ -100,7 +69,6 @@ public class ExternalLinksSection extends AbstractEntityCollectionSection<Origin
         } else {
             return null;
         }
-
     }
 
     @Override
@@ -112,7 +80,6 @@ public class ExternalLinksSection extends AbstractEntityCollectionSection<Origin
     @Override
     public void addElement(ExternalLink element) {
         getEntity().addLink(element);
-
     }
 
     @Override
@@ -128,7 +95,6 @@ public class ExternalLinksSection extends AbstractEntityCollectionSection<Origin
     @Override
     public void removeElement(ExternalLink element) {
         getEntity().removeLink(element);
-
     }
 
     @Override
@@ -136,21 +102,15 @@ public class ExternalLinksSection extends AbstractEntityCollectionSection<Origin
         return emptySectionString;
     }
 
-
     @Override
     protected String getTooltipString() {
         return null;
     }
 
-
     public void setEmptySectionString(String emptySectionString) {
         this.emptySectionString = emptySectionString;
     }
 
-
-    /**
-     * @param indent
-     */
     public void setIndent(int indent) {
        TableWrapData tableWrapData = (TableWrapData)this.getLayoutData();
        if (tableWrapData == null){
@@ -161,14 +121,11 @@ public class ExternalLinksSection extends AbstractEntityCollectionSection<Origin
        getLayoutComposite().layout();
     }
 
-
     public boolean isAdvanced() {
         return isShowDescription;
     }
 
-
     public void setAdvanced(boolean isAdvanced) {
         this.isShowDescription = isAdvanced;
     }
-
-}
+}
\ No newline at end of file