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 c86d28e26e932207c290bbd8d111af44ffdd79a5..784fefebd28dce33bfc08452315acb0f5e7317d7 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 @@ -73,7 +73,12 @@ public class SbmlExporter { */ protected SBMLDocument toSbmlDocument(lcsb.mapviewer.model.map.model.Model model) throws InconsistentModelException { SBMLDocument doc = new SBMLDocument(3, 2); - Model result = doc.createModel(model.getIdModel()); + Model result = doc.createModel(); + try { + result.setId(model.getIdModel()); + } catch (IllegalArgumentException e) { + logger.warn("Invalid model identifier: \"" + model.getIdModel() + "\". Ignoring."); + } result.setName(model.getName()); try { result.setNotes(NotesUtility.prepareEscapedXmlNotes(model.getNotes())); 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 fa51cb45c2dc7a7bada81d675e9ad111293f09ac..e7b920f08d6f283b84a8e7fd4d88f89b0344a76f 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 @@ -28,7 +28,7 @@ import lcsb.mapviewer.model.map.species.*; import lcsb.mapviewer.model.map.species.field.*; public class SbmlExporterTest extends SbmlTestFunctions { - Logger logger = LogManager.getLogger(SbmlExporterTest.class); + Logger logger = LogManager.getLogger(); ModelComparator comparator = new ModelComparator(); @@ -612,4 +612,12 @@ public class SbmlExporterTest extends SbmlTestFunctions { assertEquals(0, comparator.compare(model, originalModel)); } + @Test + public void testExportInvalidMapId() throws Exception { + Model originalModel = createEmptyModel(); + originalModel.setIdModel("F006-ACLY-SBGNv02.sbgn"); + String result = exporter.toXml(originalModel); + assertNotNull(result); + } + }