From c2c9e2d198d14a37d65d95d0e731444d76ed531b Mon Sep 17 00:00:00 2001
From: Piotr Gawron <piotr.gawron@uni.lu>
Date: Fri, 25 Oct 2019 14:07:58 +0200
Subject: [PATCH] when parsing compartments border color is almost always the
 same as fill color

---
 .../celldesigner/alias/CompartmentAliasXmlParser.java | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/alias/CompartmentAliasXmlParser.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/alias/CompartmentAliasXmlParser.java
index 642041780b..d632230cb4 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/alias/CompartmentAliasXmlParser.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/alias/CompartmentAliasXmlParser.java
@@ -1,5 +1,8 @@
 package lcsb.mapviewer.converter.model.celldesigner.alias;
 
+import java.awt.Color;
+import java.util.Objects;
+
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 import org.w3c.dom.Node;
@@ -96,7 +99,13 @@ public class CompartmentAliasXmlParser extends AbstractAliasXmlParser<Compartmen
           result.setLineOuterWidth(XmlParser.getNodeAttr("outerWidth", node));
           result.setLineInnerWidth(XmlParser.getNodeAttr("innerWidth", node));
         } else if (node.getNodeName().equalsIgnoreCase("celldesigner:paint")) {
-          result.setFillColor(getCommonParser().getColor(node));
+          Color color = getCommonParser().getColor(node);
+          result.setFillColor(color);
+          if (Objects.equals(color, Color.WHITE)) {
+            result.setBorderColor(Color.BLACK);
+          } else {
+            result.setBorderColor(color);
+          }
         } else if (node.getNodeName().equalsIgnoreCase("celldesigner:info")) {
           // not handled
           continue;
-- 
GitLab