From 348c8222f5eb58d151aebbb36e6d33729bc8b460 Mon Sep 17 00:00:00 2001 From: David Hoksza <david.hoksza@uni.lu> Date: Tue, 13 Feb 2018 16:19:48 +0100 Subject: [PATCH] Comparison of MiriamData takes into account annotator class. --- .../lcsb/mapviewer/model/map/MiriamData.java | 25 +++++++++++-------- .../mapviewer/model/map/MiriamDataTest.java | 11 ++++++++ 2 files changed, 25 insertions(+), 11 deletions(-) diff --git a/model/src/main/java/lcsb/mapviewer/model/map/MiriamData.java b/model/src/main/java/lcsb/mapviewer/model/map/MiriamData.java index 491d0f840a..6d66b971d4 100644 --- a/model/src/main/java/lcsb/mapviewer/model/map/MiriamData.java +++ b/model/src/main/java/lcsb/mapviewer/model/map/MiriamData.java @@ -226,7 +226,9 @@ public class MiriamData implements Comparable<MiriamData>, Serializable { @Override public int compareTo(MiriamData other) { - return ((dataType + ":" + resource).toLowerCase().compareTo((other.dataType + ":" + other.resource).toLowerCase())); + String name = annotator != null ? annotator.getName() : ""; + String otherName = other.annotator != null ? other.annotator.getName() : ""; + return (dataType + ":" + resource + ":" + name).toLowerCase().compareTo((other.dataType + ":" + other.resource + ":" + otherName).toLowerCase()); } /** @@ -279,16 +281,6 @@ public class MiriamData implements Comparable<MiriamData>, Serializable { public void setRelationType(MiriamRelationType relationType) { this.relationType = relationType; } - - @Override - public String toString() { - if (relationType != null) { - return "[" + relationType.getStringRepresentation() + "] " + dataType + ":" + resource; - } else { - return "[UNKNOWN] " + dataType + ":" + resource; - - } - } /** * @@ -305,4 +297,15 @@ public class MiriamData implements Comparable<MiriamData>, Serializable { public void setAnnotator(Class<?> annotator) { this.annotator = annotator; } + + @Override + public String toString() { + String annotatorClass = annotator != null ? ":" +annotator.getName() : ""; + if (relationType != null) { + return "[" + relationType.getStringRepresentation() + "] " + dataType + ":" + resource + annotatorClass; + } else { + return "[UNKNOWN] " + dataType + ":" + resource + annotatorClass; + + } + } } diff --git a/model/src/test/java/lcsb/mapviewer/model/map/MiriamDataTest.java b/model/src/test/java/lcsb/mapviewer/model/map/MiriamDataTest.java index 06ca17f86f..8e9668360d 100644 --- a/model/src/test/java/lcsb/mapviewer/model/map/MiriamDataTest.java +++ b/model/src/test/java/lcsb/mapviewer/model/map/MiriamDataTest.java @@ -116,6 +116,17 @@ public class MiriamDataTest { try { MiriamData md = new MiriamData(); assertTrue(md.compareTo(new MiriamData(MiriamType.CAS, "a")) != 0); + + MiriamData md1 = new MiriamData(MiriamType.CAS, "a"); + MiriamData md2 = new MiriamData(MiriamType.CAS, "a"); + assertTrue(md1.compareTo(md2) == 0); + + md1.setAnnotator(Integer.class); + assertTrue(md1.compareTo(md2) != 0); + + md2.setAnnotator(Integer.class); + assertTrue(md1.compareTo(md2) == 0); + } catch (Exception e) { e.printStackTrace(); throw e; -- GitLab