From 3a8177b0a593d542ccd059575efbec32c7fe55eb Mon Sep 17 00:00:00 2001
From: Piotr Gawron <piotr.gawron@uni.lu>
Date: Tue, 21 May 2019 19:17:45 +0200
Subject: [PATCH] EnumComparator uses proper generic parameters

---
 .../lcsb/mapviewer/common/comparator/EnumComparator.java    | 4 ++--
 .../mapviewer/common/comparator/EnumComparatorTest.java     | 4 ++--
 .../model/map/kinetics/SbmlUnitTypeFactorComparator.java    | 2 +-
 .../lcsb/mapviewer/model/map/species/SpeciesComparator.java | 6 ++++--
 4 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/commons/src/main/java/lcsb/mapviewer/common/comparator/EnumComparator.java b/commons/src/main/java/lcsb/mapviewer/common/comparator/EnumComparator.java
index 8157cfb562..55c899d983 100644
--- a/commons/src/main/java/lcsb/mapviewer/common/comparator/EnumComparator.java
+++ b/commons/src/main/java/lcsb/mapviewer/common/comparator/EnumComparator.java
@@ -9,10 +9,10 @@ import java.util.Comparator;
  * @author Piotr Gawron
  * 
  */
-public class EnumComparator implements Comparator<Enum<?>> {
+public class EnumComparator<E extends Enum<E>> implements Comparator<E> {
 
 	@Override
-	public int compare(Enum arg0, Enum arg1) {
+	public int compare(E arg0, E arg1) {
 		if (arg0 == null) {
 			if (arg1 == null) {
 				return 0;
diff --git a/commons/src/test/java/lcsb/mapviewer/common/comparator/EnumComparatorTest.java b/commons/src/test/java/lcsb/mapviewer/common/comparator/EnumComparatorTest.java
index 58c410181b..dd8638cd52 100644
--- a/commons/src/test/java/lcsb/mapviewer/common/comparator/EnumComparatorTest.java
+++ b/commons/src/test/java/lcsb/mapviewer/common/comparator/EnumComparatorTest.java
@@ -11,13 +11,13 @@ public class EnumComparatorTest {
 
   @Test
   public void testEquals() {
-    EnumComparator comp = new EnumComparator();
+    EnumComparator<MimeType> comp = new EnumComparator<>();
     assertEquals(0, comp.compare(MimeType.CSS, MimeType.CSS));
   }
 
   @Test
   public void testDifferent() {
-    EnumComparator comp = new EnumComparator();
+    EnumComparator<MimeType> comp = new EnumComparator<>();
     assertTrue(0 != comp.compare(MimeType.CSS, MimeType.JPG));
   }
 
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlUnitTypeFactorComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlUnitTypeFactorComparator.java
index c585a94b81..c54e7745fe 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlUnitTypeFactorComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlUnitTypeFactorComparator.java
@@ -15,7 +15,7 @@ public class SbmlUnitTypeFactorComparator extends Comparator<SbmlUnitTypeFactor>
   protected int internalCompare(SbmlUnitTypeFactor arg0, SbmlUnitTypeFactor arg1) {
     IntegerComparator integerComparator = new IntegerComparator();
     DoubleComparator doubleComparator = new DoubleComparator();
-    EnumComparator enumComparator = new EnumComparator();
+    EnumComparator<SbmlUnitType> enumComparator = new EnumComparator<>();
     if (integerComparator.compare(arg0.getExponent(), arg1.getExponent()) != 0) {
       return integerComparator.compare(arg0.getExponent(), arg1.getExponent());
     }
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/SpeciesComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/species/SpeciesComparator.java
index 539b1d8b9f..fccb26a474 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/SpeciesComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/SpeciesComparator.java
@@ -1,6 +1,7 @@
 package lcsb.mapviewer.model.map.species;
 
-import org.apache.logging.log4j.*;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import lcsb.mapviewer.common.Comparator;
 import lcsb.mapviewer.common.Configuration;
@@ -9,6 +10,7 @@ import lcsb.mapviewer.common.comparator.DoubleComparator;
 import lcsb.mapviewer.common.comparator.EnumComparator;
 import lcsb.mapviewer.common.comparator.IntegerComparator;
 import lcsb.mapviewer.common.comparator.StringComparator;
+import lcsb.mapviewer.model.map.kinetics.SbmlUnitType;
 
 /**
  * Comparator class used for comparing {@link Species} objects.
@@ -147,7 +149,7 @@ public class SpeciesComparator extends Comparator<Species> {
       return booleanComparator.compare(arg0.isBoundaryCondition(), arg1.isBoundaryCondition());
     }
 
-    EnumComparator enumComparator = new EnumComparator();
+    EnumComparator<SbmlUnitType> enumComparator = new EnumComparator<>();
     if (enumComparator.compare(arg0.getSubstanceUnits(), arg1.getSubstanceUnits()) != 0) {
       logger.debug(
           "SubstanceUnits different: \"" + arg0.getSubstanceUnits() + "\", \"" + arg1.getSubstanceUnits() + "\"");
-- 
GitLab