From c0857fb0c25288fb79d54e768104f12b5fe514b2 Mon Sep 17 00:00:00 2001 From: Piotr Gawron <p.gawron@atcomp.pl> Date: Tue, 4 Feb 2025 15:28:59 +0100 Subject: [PATCH] don't export z-index as compartmentOrder for not compartments --- CHANGELOG | 6 ++++++ .../converter/model/sbgnml/SbgnmlXmlExporter.java | 9 +++++---- .../converter/model/sbgnml/SbgnmlTestFunctions.java | 4 ++-- .../converter/model/sbgnml/SbgnmlXmlExporterTest.java | 5 ----- 4 files changed, 13 insertions(+), 11 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 27846d35f8..6cc7604fdd 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,9 @@ +minerva (18.1.1) stable; urgency=medium + * Bug fix: SBGN-ML import/export should not use compartmentOrder for + non-compartment entities (#2193) + + -- Piotr Gawron <piotr.gawron@uni.lu> Tue, 04 Feb 2025 16:00:00 +0200 + minerva (18.1.0) stable; urgency=medium * Small improvement: SBGN-ML import/export is processing notes (#2192) * Small improvement: SBGN-ML import/export is processing compartmentOrder diff --git a/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlExporter.java b/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlExporter.java index cc94a4a40b..62c8aadb93 100644 --- a/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlExporter.java +++ b/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlExporter.java @@ -274,9 +274,6 @@ public class SbgnmlXmlExporter { newGlyph.setClazz(getGlyphClazzFromElement(element).getClazz()); newGlyph.setLabel(getGlyphLabelFromAlias(element)); newGlyph.setNotes(notesConverter.createNotesNode(element.getNotes())); - if (element.getZ() != null) { - newGlyph.setCompartmentOrder(element.getZ().floatValue()); - } final Bbox bbox = new Bbox(); bbox.setX(element.getX().floatValue()); @@ -285,7 +282,11 @@ public class SbgnmlXmlExporter { bbox.setH(element.getHeight().floatValue()); newGlyph.setBbox(bbox); - if (element instanceof Species) { + if (element instanceof Compartment) { + if (element.getZ() != null) { + newGlyph.setCompartmentOrder(element.getZ().floatValue()); + } + } else if (element instanceof Species) { final Species species = (Species) element; if (element instanceof Protein) { final Protein protein = (Protein) element; diff --git a/converter-SBGNML/src/test/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlTestFunctions.java b/converter-SBGNML/src/test/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlTestFunctions.java index 4f90c7ec36..a834093676 100644 --- a/converter-SBGNML/src/test/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlTestFunctions.java +++ b/converter-SBGNML/src/test/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlTestFunctions.java @@ -141,12 +141,12 @@ public class SbgnmlTestFunctions extends TestUtils { model2.setIdModel(model.getIdModel()); model2.setName(model.getName()); for (final Drawable d : model.getDrawables()) { - if (!(d instanceof Element)) { + if (!(d instanceof Compartment)) { d.setZ(null); } } for (final Drawable d : model2.getDrawables()) { - if (!(d instanceof Element)) { + if (!(d instanceof Compartment)) { d.setZ(null); } } diff --git a/converter-SBGNML/src/test/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlExporterTest.java b/converter-SBGNML/src/test/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlExporterTest.java index 2f1143c6a9..34655cfe5d 100644 --- a/converter-SBGNML/src/test/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlExporterTest.java +++ b/converter-SBGNML/src/test/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlExporterTest.java @@ -175,17 +175,12 @@ public class SbgnmlXmlExporterTest extends SbgnmlTestFunctions { @Test public void importExportZ() throws Exception { - GenericProtein protein = createProtein(); - protein.setZ(3); - Compartment compartment = createCompartment(); compartment.setZ(4); - compartment.addElement(protein); Model model = new ModelFullIndexed(null); model.setWidth(2000); model.setHeight(2000); - model.addElement(protein); model.addElement(compartment); Model model2 = serializeAndCleanOverSbgn(model); -- GitLab