cleanup with minor change in TaxonNodeNaturalComparator
authorAndreas Müller <a.mueller@bgbm.org>
Tue, 26 Jul 2022 21:54:02 +0000 (23:54 +0200)
committerAndreas Müller <a.mueller@bgbm.org>
Tue, 26 Jul 2022 21:54:02 +0000 (23:54 +0200)
cdmlib-model/src/main/java/eu/etaxonomy/cdm/compare/taxon/TaxonNodeByNameComparator.java
cdmlib-model/src/main/java/eu/etaxonomy/cdm/compare/taxon/TaxonNodeByRankAndNameComparator.java
cdmlib-model/src/main/java/eu/etaxonomy/cdm/compare/taxon/TaxonNodeNaturalComparator.java

index 03aa1c2891d9006a317f43303a27cffd434b4404..7d8b5ccc582151faebd467da8e51f9af136ec635 100644 (file)
@@ -10,7 +10,8 @@ package eu.etaxonomy.cdm.compare.taxon;
 
 import java.util.StringTokenizer;
 
-import org.apache.logging.log4j.LogManager;import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import eu.etaxonomy.cdm.common.AbstractStringComparator;
 import eu.etaxonomy.cdm.common.CdmUtils;
@@ -32,9 +33,9 @@ public class TaxonNodeByNameComparator
         extends AbstractStringComparator<TaxonNode>
         implements ITaxonNodeComparator<TaxonNode> {
 
-    private static final String HYBRID_SIGN = UTF8.HYBRID.toString();
+    private static final Logger logger = LogManager.getLogger();
 
-    private static final Logger logger = LogManager.getLogger(TaxonNodeByNameComparator.class);
+    private static final String HYBRID_SIGN = UTF8.HYBRID.toString();
 
     private boolean ignoreHybridSign = true;
     private boolean sortInfraGenericFirst = true;
@@ -119,7 +120,7 @@ public class TaxonNodeByNameComparator
 
         String titleCache = null;
         if(taxonNode.getTaxon() != null && taxonNode.getTaxon().getName() != null ){
-            TaxonName name = HibernateProxyHelper.deproxy(taxonNode.getTaxon().getName(), TaxonName.class);
+            TaxonName name = HibernateProxyHelper.deproxy(taxonNode.getTaxon().getName());
 
             if (name.isNonViral()){
                 if (logger.isTraceEnabled()){logger.trace(name + " isNonViralName");}
index 755dbff1f4cbc6accdbae5a79b8ed6009fe3192c..10809f9fb44685a6c257fee75947890ab7d80936 100644 (file)
@@ -21,7 +21,9 @@ import eu.etaxonomy.cdm.strategy.cache.TaggedText;
  * @author k.luther
  * @since 18.03.2010
  */
-public class TaxonNodeByRankAndNameComparator extends TaxonNodeByNameComparator implements Serializable {
+public class TaxonNodeByRankAndNameComparator
+        extends TaxonNodeByNameComparator
+        implements Serializable {
 
     private static final long serialVersionUID = 2596641007876609704L;
 
@@ -75,7 +77,7 @@ public class TaxonNodeByRankAndNameComparator extends TaxonNodeByNameComparator
             return rankOrder;
         }else {
             List<TaggedText> taggedText1 = getTaggedText(node1);
-            List<TaggedText> taggedText2 = getTaggedText(node2);;
+            List<TaggedText> taggedText2 = getTaggedText(node2);
 
             if (taggedText1 != null && taggedText2 != null){
                 //same rank, order by name
index 90de2a6dc40cdf00dcca6daa81b79131635436cb..696431ae06f4e756e0a3e209967f7976614934c6 100644 (file)
@@ -22,10 +22,8 @@ import eu.etaxonomy.cdm.model.taxon.TaxonNode;
  */
 public class TaxonNodeNaturalComparator implements Comparator<TaxonNode> {
 
-       @SuppressWarnings("null")
-    @Override
+       @Override
        public int compare(TaxonNode node1, TaxonNode node2) {
-          // System.out.println("compare node 1: "+ node1.getTaxon().getTitleCache() + " - node 2: " + node2.getTaxon().getTitleCache());
            if (node1.equals(node2)) {
                return 0;
         }
@@ -66,25 +64,22 @@ public class TaxonNodeNaturalComparator implements Comparator<TaxonNode> {
 
                for (int i = 0; i < splitNode1.length; i++){
                        if (!splitNode1[i].equals(splitNode2[i])){
-                               // take the last equal ancestor and compare the sortindex
-                               if (lastEqualAncestorTreeIndex != null){
-                                       TaxonNode lastEqualTreeIndexAncestorNode1 = null;
-                                       TaxonNode lastEqualTreeIndexAncestorNode2 = null;
-                                       for (TaxonNode next1 :ancestorAndNode1){
-                                               if (next1.treeIndex().equals(lastEqualAncestorTreeIndex+"#"+splitNode1[i]+ "#") ){
-                                                   lastEqualTreeIndexAncestorNode1 = next1;
-                                               }
+                           // take the last equal ancestor and compare the sortindex
+                               TaxonNode lastEqualTreeIndexAncestorNode1 = null;
+                               TaxonNode lastEqualTreeIndexAncestorNode2 = null;
+                               for (TaxonNode next1 :ancestorAndNode1){
+                                       if (next1.treeIndex().equals(lastEqualAncestorTreeIndex+"#"+splitNode1[i]+ "#") ){
+                                           lastEqualTreeIndexAncestorNode1 = next1;
                                        }
-                                       for (TaxonNode next2 :ancestorAndNode2){
-                                               if (next2.treeIndex().equals(lastEqualAncestorTreeIndex+"#"+splitNode2[i]+ "#")){
-                                                   lastEqualTreeIndexAncestorNode2 = next2;
-                                               }
-                                       }
-                                       if (lastEqualTreeIndexAncestorNode1 != null) {
-
+                               }
+                               for (TaxonNode next2 :ancestorAndNode2){
+                                       if (next2.treeIndex().equals(lastEqualAncestorTreeIndex+"#"+splitNode2[i]+ "#")){
+                                           lastEqualTreeIndexAncestorNode2 = next2;
                                        }
-                                       return lastEqualTreeIndexAncestorNode1.getSortIndex().compareTo(lastEqualTreeIndexAncestorNode2.getSortIndex());
                                }
+                               if (lastEqualTreeIndexAncestorNode1 != null && lastEqualTreeIndexAncestorNode2 != null) {
+                                   return lastEqualTreeIndexAncestorNode1.getSortIndex().compareTo(lastEqualTreeIndexAncestorNode2.getSortIndex());
+                               } //TODO do we need "else" here?
                        }
                        if (!splitNode1[i].equals("")){
                            lastEqualAncestorTreeIndex = lastEqualAncestorTreeIndex+"#"+splitNode1[i];