From d67bd59c35383b2e9778ec58cb25fb877d3077c0 Mon Sep 17 00:00:00 2001
From: Piotr Gawron <piotr.gawron@uni.lu>
Date: Tue, 20 Jun 2017 10:58:42 +0200
Subject: [PATCH] comparator includes semantic zoom levels

---
 .../model/map/species/ElementComparator.java          | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/ElementComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/species/ElementComparator.java
index 5f57312dad..4d6d35a87a 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/ElementComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/ElementComparator.java
@@ -84,8 +84,9 @@ public class ElementComparator implements Comparator<Element> {
 	}
 
 	/**
-	 * This method compares only the fields that are defined in {@link Element} class in
-	 * inheritence tree. By the design it is called by subclass comparator.
+	 * This method compares only the fields that are defined in {@link Element}
+	 * class in inheritence tree. By the design it is called by subclass
+	 * comparator.
 	 * 
 	 * @param arg0
 	 *          first object to compare
@@ -188,6 +189,12 @@ public class ElementComparator implements Comparator<Element> {
 			return stringComparator.compare(arg0.getFormula(), arg1.getFormula());
 		}
 
+		if (stringComparator.compare(arg0.getSemanticZoomLevelVisibility(), arg1.getSemanticZoomLevelVisibility()) != 0) {
+			logger.debug(
+					"SemanticZoomLevelVisibility different: \"" + arg0.getSemanticZoomLevelVisibility() + "\", \"" + arg1.getSemanticZoomLevelVisibility() + "\"");
+			return stringComparator.compare(arg0.getSemanticZoomLevelVisibility(), arg1.getSemanticZoomLevelVisibility());
+		}
+
 		StringSetComparator stringSetComparator = new StringSetComparator();
 		StringListComparator stringListComparator = new StringListComparator();
 
-- 
GitLab