From 4cd685fae8e5c40048c57b2daf700be6617b4aa8 Mon Sep 17 00:00:00 2001
From: Piotr Gawron <piotr.gawron@uni.lu>
Date: Thu, 15 Nov 2018 15:47:10 +0100
Subject: [PATCH] when exporting celldesigner aliases inside complex include
 either compartmentAlias or complexAlias - including both result in weird
 things inside CellDesigner

---
 .../model/celldesigner/alias/SpeciesAliasXmlParser.java    | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/alias/SpeciesAliasXmlParser.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/alias/SpeciesAliasXmlParser.java
index 30ab817536..631685017f 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/alias/SpeciesAliasXmlParser.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/alias/SpeciesAliasXmlParser.java
@@ -143,7 +143,6 @@ public class SpeciesAliasXmlParser extends AbstractAliasXmlParser<Species> {
         complex.addSpecies(result);
       }
     }
-    
 
     species.updateModelElementAfterLayoutAdded(result);
     return result;
@@ -205,12 +204,12 @@ public class SpeciesAliasXmlParser extends AbstractAliasXmlParser<Species> {
     sb.append("<celldesigner:speciesAlias ");
     sb.append("id=\"" + species.getElementId() + "\" ");
     sb.append("species=\"" + elements.getElementId(species) + "\" ");
-    if (compartmentAliasId != null) {
-      sb.append("compartmentAlias=\"" + compartmentAliasId + "\" ");
-    }
 
     if (complex != null) {
       sb.append("complexSpeciesAlias=\"" + complex.getElementId() + "\" ");
+    } else if (compartmentAliasId != null) {
+      // you cannot have both if there are both then CellDesigner behaves improperly
+      sb.append("compartmentAlias=\"" + compartmentAliasId + "\" ");
     }
     sb.append(">\n");
 
-- 
GitLab