From c09422ac2f3d395ff058723c7d3fedce329f548f Mon Sep 17 00:00:00 2001
From: Piotr Gawron <piotr.gawron@uni.lu>
Date: Fri, 16 Nov 2018 18:15:01 +0100
Subject: [PATCH] export to sbml includes default compartment, and import
 ingornes this compartment

---
 .../model/sbml/SbmlBioEntityExporter.java     |  2 +-
 .../model/sbml/SbmlCompartmentExporter.java   | 39 --------
 .../model/sbml/SbmlElementParser.java         |  6 +-
 .../converter/model/sbml/SbmlExporter.java    |  1 +
 .../converter/model/sbml/SbmlParser.java      |  2 +
 .../compartment/SbmlCompartmentExporter.java  | 96 +++++++++++++++++++
 .../SbmlCompartmentParser.java                | 12 ++-
 .../sbml/reaction/SbmlReactionParser.java     |  2 +-
 .../sbml/species/SbmlSpeciesExporter.java     |  8 +-
 .../model/sbml/species/SbmlSpeciesParser.java |  2 +-
 .../model/sbml/SbmlExporterTest.java          |  2 +
 .../reaction/SbmlReactionExportArrowType.java |  1 +
 .../reaction/SbmlReactionExporterTest.java    |  2 +-
 .../sbml/species/SbmlSpeciesExporterTest.java |  2 +-
 14 files changed, 123 insertions(+), 54 deletions(-)
 delete mode 100644 converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlCompartmentExporter.java
 create mode 100644 converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/compartment/SbmlCompartmentExporter.java
 rename converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/{ => compartment}/SbmlCompartmentParser.java (84%)

diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlBioEntityExporter.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlBioEntityExporter.java
index be31323ace..58f4824698 100644
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlBioEntityExporter.java
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlBioEntityExporter.java
@@ -38,7 +38,7 @@ public abstract class SbmlBioEntityExporter<T extends BioEntity, S extends org.s
   private Map<String, S> sbmlElementByElementId = new HashMap<>();
   Map<String, AbstractReferenceGlyph> sbmlGlyphByElementId = new HashMap<>();
 
-  private Map<String, S> sbmlElementByElementNameAndCompartmentName = new HashMap<>();
+  protected Map<String, S> sbmlElementByElementNameAndCompartmentName = new HashMap<>();
 
   private int idCounter = 0;
 
diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlCompartmentExporter.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlCompartmentExporter.java
deleted file mode 100644
index 2399328b4f..0000000000
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlCompartmentExporter.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package lcsb.mapviewer.converter.model.sbml;
-
-import java.util.List;
-
-import org.apache.log4j.Logger;
-import org.sbml.jsbml.ext.layout.AbstractReferenceGlyph;
-import org.sbml.jsbml.ext.layout.Layout;
-
-import lcsb.mapviewer.model.map.InconsistentModelException;
-import lcsb.mapviewer.model.map.compartment.Compartment;
-
-public class SbmlCompartmentExporter extends SbmlElementExporter<Compartment, org.sbml.jsbml.Compartment> {
-  Logger logger = Logger.getLogger(SbmlCompartmentExporter.class);
-
-  public SbmlCompartmentExporter(Layout layout, lcsb.mapviewer.model.map.model.Model minervaModel) {
-    super(layout, minervaModel);
-  }
-
-  @Override
-  public org.sbml.jsbml.Compartment createSbmlElement(Compartment element) throws InconsistentModelException {
-    return getSbmlModel().createCompartment("comp_" + (getNextId()));
-  }
-
-  @Override
-  protected List<Compartment> getElementList() {
-    return getMinervaModel().getCompartments();
-  }
-
-  @Override
-  protected AbstractReferenceGlyph createElementGlyph(String sbmlCompartmentId, String glyphId) {
-    return getLayout().createCompartmentGlyph(glyphId, sbmlCompartmentId);
-  }
-
-  @Override
-  protected String getSbmlIdKey(Compartment element) {
-    return element.getName();
-  }
-
-}
diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlElementParser.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlElementParser.java
index 8f630430f0..fd13c6671c 100644
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlElementParser.java
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlElementParser.java
@@ -33,8 +33,10 @@ public abstract class SbmlElementParser<T extends org.sbml.jsbml.Symbol> extends
     List<Element> result = new ArrayList<>();
     for (T sbmlElement : getSbmlElementList(sbmlModel)) {
       Element element = parse(sbmlElement, sbmlModel);
-      result.add(element);
-      elementBySbmlId.put(element.getElementId(), element);
+      if (element != null) {
+        result.add(element);
+        elementBySbmlId.put(element.getElementId(), element);
+      }
     }
     return result;
   }
diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlExporter.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlExporter.java
index c3461c3d7d..4b2b94f06f 100644
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlExporter.java
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlExporter.java
@@ -18,6 +18,7 @@ import org.sbml.jsbml.ext.render.RenderLayoutPlugin;
 
 import lcsb.mapviewer.common.Configuration;
 import lcsb.mapviewer.common.exception.InvalidStateException;
+import lcsb.mapviewer.converter.model.sbml.compartment.SbmlCompartmentExporter;
 import lcsb.mapviewer.converter.model.sbml.reaction.SbmlReactionExporter;
 import lcsb.mapviewer.converter.model.sbml.species.SbmlSpeciesExporter;
 import lcsb.mapviewer.converter.model.sbml.units.SbmlUnitExporter;
diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlParser.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlParser.java
index 2b97fc6adf..2696dc1037 100644
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlParser.java
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlParser.java
@@ -29,12 +29,14 @@ import lcsb.mapviewer.converter.ConverterException;
 import lcsb.mapviewer.converter.ConverterParams;
 import lcsb.mapviewer.converter.IConverter;
 import lcsb.mapviewer.converter.InvalidInputDataExecption;
+import lcsb.mapviewer.converter.model.sbml.compartment.SbmlCompartmentParser;
 import lcsb.mapviewer.converter.model.sbml.reaction.SbmlReactionParser;
 import lcsb.mapviewer.converter.model.sbml.species.SbmlSpeciesParser;
 import lcsb.mapviewer.converter.model.sbml.units.SbmlUnitsParser;
 import lcsb.mapviewer.model.map.BioEntity;
 import lcsb.mapviewer.model.map.InconsistentModelException;
 import lcsb.mapviewer.model.map.MiriamData;
+import lcsb.mapviewer.model.map.compartment.Compartment;
 import lcsb.mapviewer.model.map.model.Model;
 import lcsb.mapviewer.model.map.model.ModelFullIndexed;
 import lcsb.mapviewer.model.map.modifier.Modulation;
diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/compartment/SbmlCompartmentExporter.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/compartment/SbmlCompartmentExporter.java
new file mode 100644
index 0000000000..a2c9440808
--- /dev/null
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/compartment/SbmlCompartmentExporter.java
@@ -0,0 +1,96 @@
+package lcsb.mapviewer.converter.model.sbml.compartment;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.log4j.Logger;
+import org.sbml.jsbml.ext.layout.AbstractReferenceGlyph;
+import org.sbml.jsbml.ext.layout.BoundingBox;
+import org.sbml.jsbml.ext.layout.CompartmentGlyph;
+import org.sbml.jsbml.ext.layout.Dimensions;
+import org.sbml.jsbml.ext.layout.Layout;
+import org.sbml.jsbml.ext.layout.Point;
+
+import lcsb.mapviewer.converter.model.sbml.SbmlElementExporter;
+import lcsb.mapviewer.model.map.InconsistentModelException;
+import lcsb.mapviewer.model.map.compartment.Compartment;
+
+public class SbmlCompartmentExporter extends SbmlElementExporter<Compartment, org.sbml.jsbml.Compartment> {
+  Logger logger = Logger.getLogger(SbmlCompartmentExporter.class);
+
+  public SbmlCompartmentExporter(Layout layout, lcsb.mapviewer.model.map.model.Model minervaModel) {
+    super(layout, minervaModel);
+  }
+
+  @Override
+  public org.sbml.jsbml.Compartment createSbmlElement(Compartment element) throws InconsistentModelException {
+    if (element == null || element.getElementId().equals("default")) {
+      return getSbmlModel().createCompartment("default");
+    }
+    return getSbmlModel().createCompartment("comp_" + (getNextId()));
+  }
+
+  @Override
+  protected List<Compartment> getElementList() {
+    List<Compartment> result = new ArrayList<>();
+    result.addAll(getMinervaModel().getCompartments());
+    boolean defaultFound = false;
+    for (Compartment compartment : result) {
+      if (compartment.getElementId().equals("default")) {
+        defaultFound = true;
+      }
+    }
+    if (!defaultFound) {
+      Compartment defaultCompartment = new Compartment("default");
+      result.add(defaultCompartment);
+    }
+    return result;
+  }
+
+  @Override
+  protected AbstractReferenceGlyph createElementGlyph(String sbmlCompartmentId, String glyphId) {
+    if (sbmlCompartmentId.equals("default")) {
+      glyphId = "default_compartment";
+    }
+    CompartmentGlyph result = getLayout().createCompartmentGlyph(glyphId, sbmlCompartmentId);
+    return result;
+  }
+
+  @Override
+  protected String getSbmlIdKey(Compartment compartment) {
+    if (compartment == null || compartment.getElementId().equals("default")) {
+      return "default";
+    }
+    return compartment.getName();
+  }
+
+  @Override
+  protected void assignLayoutToGlyph(Compartment element, AbstractReferenceGlyph speciesGlyph) {
+    if (element.getElementId().equals("default")) {
+      BoundingBox boundingBox = new BoundingBox();
+
+      boundingBox.setPosition(new Point(element.getX(), element.getY()));
+      Dimensions dimensions = new Dimensions();
+
+      if (getMinervaModel().getWidth() != null) {
+        dimensions.setWidth(getMinervaModel().getWidth());
+        dimensions.setHeight(getMinervaModel().getHeight());
+      }
+      boundingBox.setDimensions(dimensions);
+      speciesGlyph.setBoundingBox(boundingBox);
+    } else {
+      super.assignLayoutToGlyph(element, speciesGlyph);
+    }
+  }
+
+  @Override
+  public org.sbml.jsbml.Compartment getSbmlElement(Compartment element) throws InconsistentModelException {
+    String mapKey = getSbmlIdKey(element);
+    if (element == null && sbmlElementByElementNameAndCompartmentName.get(mapKey) == null) {
+      org.sbml.jsbml.Compartment sbmlElement = createSbmlElement(element);
+      sbmlElementByElementNameAndCompartmentName.put(mapKey, sbmlElement);
+    }
+    return super.getSbmlElement(element);
+  }
+
+}
diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlCompartmentParser.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/compartment/SbmlCompartmentParser.java
similarity index 84%
rename from converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlCompartmentParser.java
rename to converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/compartment/SbmlCompartmentParser.java
index 1853edcf89..7fe2925b57 100644
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlCompartmentParser.java
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/compartment/SbmlCompartmentParser.java
@@ -1,4 +1,4 @@
-package lcsb.mapviewer.converter.model.sbml;
+package lcsb.mapviewer.converter.model.sbml.compartment;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -13,6 +13,7 @@ import org.sbml.jsbml.ext.layout.Layout;
 import lcsb.mapviewer.commands.layout.ApplySimpleLayoutModelCommand;
 import lcsb.mapviewer.common.Pair;
 import lcsb.mapviewer.converter.InvalidInputDataExecption;
+import lcsb.mapviewer.converter.model.sbml.SbmlElementParser;
 import lcsb.mapviewer.model.map.compartment.Compartment;
 import lcsb.mapviewer.model.map.compartment.SquareCompartment;
 import lcsb.mapviewer.model.map.species.Element;
@@ -27,6 +28,9 @@ public class SbmlCompartmentParser extends SbmlElementParser<org.sbml.jsbml.Comp
   @Override
   protected Compartment parse(org.sbml.jsbml.Compartment compartment, Model sbmlModel)
       throws InvalidInputDataExecption {
+    if (compartment.getId().equals("default")) {
+      return null;
+    }
     Compartment result = new SquareCompartment(compartment.getId());
     assignBioEntityData(compartment, result);
     return result;
@@ -38,7 +42,7 @@ public class SbmlCompartmentParser extends SbmlElementParser<org.sbml.jsbml.Comp
   }
 
   @Override
-  protected List<Element> mergeLayout(List<? extends Element> elements, Layout sbmlLayout, Model sbmlModel)
+  public List<Element> mergeLayout(List<? extends Element> elements, Layout sbmlLayout, Model sbmlModel)
       throws InvalidInputDataExecption {
     List<Element> result = super.mergeLayout(elements, sbmlLayout, sbmlModel);
 
@@ -64,7 +68,9 @@ public class SbmlCompartmentParser extends SbmlElementParser<org.sbml.jsbml.Comp
   protected List<Pair<String, AbstractReferenceGlyph>> getGlyphs(Layout sbmlLayout) {
     List<Pair<String, AbstractReferenceGlyph>> result = new ArrayList<>();
     for (CompartmentGlyph glyph : sbmlLayout.getListOfCompartmentGlyphs()) {
-      result.add(new Pair<String, AbstractReferenceGlyph>(glyph.getCompartment(), glyph));
+      if (!glyph.getCompartment().equals("default")) {
+        result.add(new Pair<>(glyph.getCompartment(), glyph));
+      }
     }
     return result;
   }
diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionParser.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionParser.java
index 0b001e485d..e3614d5bb4 100644
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionParser.java
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionParser.java
@@ -35,8 +35,8 @@ import lcsb.mapviewer.common.exception.InvalidXmlSchemaException;
 import lcsb.mapviewer.converter.InvalidInputDataExecption;
 import lcsb.mapviewer.converter.model.celldesigner.types.ModifierType;
 import lcsb.mapviewer.converter.model.sbml.SbmlBioEntityParser;
-import lcsb.mapviewer.converter.model.sbml.SbmlCompartmentParser;
 import lcsb.mapviewer.converter.model.sbml.SbmlParameterParser;
+import lcsb.mapviewer.converter.model.sbml.compartment.SbmlCompartmentParser;
 import lcsb.mapviewer.converter.model.sbml.species.SbmlSpeciesParser;
 import lcsb.mapviewer.model.graphics.ArrowType;
 import lcsb.mapviewer.model.graphics.ArrowTypeData;
diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesExporter.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesExporter.java
index dba417b273..5679f8aabd 100644
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesExporter.java
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesExporter.java
@@ -7,8 +7,8 @@ import org.sbml.jsbml.ext.layout.AbstractReferenceGlyph;
 import org.sbml.jsbml.ext.layout.Layout;
 import org.sbml.jsbml.ext.render.LocalStyle;
 
-import lcsb.mapviewer.converter.model.sbml.SbmlCompartmentExporter;
 import lcsb.mapviewer.converter.model.sbml.SbmlElementExporter;
+import lcsb.mapviewer.converter.model.sbml.compartment.SbmlCompartmentExporter;
 import lcsb.mapviewer.model.map.InconsistentModelException;
 import lcsb.mapviewer.model.map.species.Species;
 
@@ -26,9 +26,7 @@ public class SbmlSpeciesExporter extends SbmlElementExporter<Species, org.sbml.j
   public org.sbml.jsbml.Species createSbmlElement(Species element) throws InconsistentModelException {
     org.sbml.jsbml.Species result = getSbmlModel().createSpecies("species_" + (getNextId()));
     result.setSBOTerm(SBOTermSpeciesType.getTermByType(element.getClass()));
-    if (element.getCompartment() != null) {
-      result.setCompartment(compartmentExporter.getSbmlElement(element.getCompartment()));
-    }
+    result.setCompartment(compartmentExporter.getSbmlElement(element.getCompartment()));
     if (element.getInitialAmount() != null) {
       result.setInitialAmount(element.getInitialAmount());
     }
@@ -56,7 +54,7 @@ public class SbmlSpeciesExporter extends SbmlElementExporter<Species, org.sbml.j
     if (element.getComplex() != null) {
       complexName = element.getComplex().getName();
     }
-    return element.getClass().getSimpleName() + "\n" + element.getName() + "\n" + compartmentName+ "\n" + complexName;
+    return element.getClass().getSimpleName() + "\n" + element.getName() + "\n" + compartmentName + "\n" + complexName;
   }
 
   protected LocalStyle createStyle(Species element) {
diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesParser.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesParser.java
index c17c23765e..baf83327bb 100644
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesParser.java
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesParser.java
@@ -71,7 +71,7 @@ public class SbmlSpeciesParser extends SbmlElementParser<org.sbml.jsbml.Species>
     if (compartment == null && layout != null) {
       List<Compartment> compartments = new ArrayList<>();
       for (CompartmentGlyph glyph : layout.getListOfCompartmentGlyphs()) {
-        if (glyph.getCompartment().equals(compartmentId)) {
+        if (glyph.getCompartment().equals(compartmentId) && !glyph.getCompartment().equals("default")) {
           compartments.add(minervaModel.getElementByElementId(glyph.getId()));
         }
       }
diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlExporterTest.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlExporterTest.java
index 75a368f66c..5dfe01e510 100644
--- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlExporterTest.java
+++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlExporterTest.java
@@ -184,6 +184,8 @@ public class SbmlExporterTest {
 
   private Model createModelWithReaction() {
     Model model = new ModelFullIndexed(null);
+    model.setWidth(1000);
+    model.setHeight(1000);
     GenericProtein p1 = new GenericProtein("s1");
     p1.setWidth(100);
     p1.setHeight(20);
diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionExportArrowType.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionExportArrowType.java
index 99be077087..bcc59d335e 100644
--- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionExportArrowType.java
+++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionExportArrowType.java
@@ -93,6 +93,7 @@ public class SbmlReactionExportArrowType {
     model.addElement(ion3);
 
     Reaction reaction = (Reaction) clazz.getConstructor().newInstance();
+    reaction.setIdReaction("reactionId");
     reaction.addReactant(createReactant(ion));
     Product product = createProduct(ion2);
     reaction.addProduct(product);
diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionExporterTest.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionExporterTest.java
index 472737e3dd..b41612ed3e 100644
--- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionExporterTest.java
+++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionExporterTest.java
@@ -10,7 +10,7 @@ import org.sbml.jsbml.ext.layout.Layout;
 import org.sbml.jsbml.ext.layout.LayoutModelPlugin;
 
 import lcsb.mapviewer.converter.model.sbml.SbmlBioEntityExporter;
-import lcsb.mapviewer.converter.model.sbml.SbmlCompartmentExporter;
+import lcsb.mapviewer.converter.model.sbml.compartment.SbmlCompartmentExporter;
 import lcsb.mapviewer.converter.model.sbml.species.SbmlSpeciesExporter;
 import lcsb.mapviewer.model.map.InconsistentModelException;
 import lcsb.mapviewer.model.map.kinetics.SbmlKinetics;
diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesExporterTest.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesExporterTest.java
index a3ed722dd9..0a5a2db97f 100644
--- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesExporterTest.java
+++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesExporterTest.java
@@ -7,8 +7,8 @@ import org.junit.Test;
 import org.sbml.jsbml.SBMLDocument;
 import org.sbml.jsbml.ext.layout.Layout;
 
-import lcsb.mapviewer.converter.model.sbml.SbmlCompartmentExporter;
 import lcsb.mapviewer.converter.model.sbml.SbmlExporter;
+import lcsb.mapviewer.converter.model.sbml.compartment.SbmlCompartmentExporter;
 import lcsb.mapviewer.model.map.InconsistentModelException;
 import lcsb.mapviewer.model.map.compartment.Compartment;
 import lcsb.mapviewer.model.map.model.Model;
-- 
GitLab