From f8a7ea7ea3836fd2a4cdcfba72ad822e82e7c29b Mon Sep 17 00:00:00 2001
From: Piotr Gawron <piotr.gawron@uni.lu>
Date: Tue, 20 Jun 2017 11:05:37 +0200
Subject: [PATCH] export to cell designer contains compartment notes

---
 .../celldesigner/compartment/CompartmentXmlParser.java   | 9 +++++++++
 .../model/celldesigner/CellDesignerXmlParserTest.java    | 5 ++++-
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/compartment/CompartmentXmlParser.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/compartment/CompartmentXmlParser.java
index f19b6d621b..80bbf90fe8 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/compartment/CompartmentXmlParser.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/compartment/CompartmentXmlParser.java
@@ -156,6 +156,15 @@ public class CompartmentXmlParser extends AbstractElementXmlParser<CellDesignerC
 		sb.append("</celldesigner:extension>\n");
 		sb.append(xmlAnnotationParser.dataSetToXmlString(compartment.getMiriamData()));
 		sb.append("</annotation>\n");
+		sb.append("<notes>");
+		sb.append("<html xmlns=\"http://www.w3.org/1999/xhtml\"><head><title/></head><body>");
+		RestAnnotationParser rap = new RestAnnotationParser();
+		sb.append(rap.createAnnotationString(compartment));
+		if (compartment.getNotes() != null) {
+			sb.append(compartment.getNotes());
+		}
+		sb.append("</body></html>");
+		sb.append("</notes>\n");
 		sb.append("</compartment>\n");
 		return sb.toString();
 	}
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerXmlParserTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerXmlParserTest.java
index 631f0c5f74..445722f272 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerXmlParserTest.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerXmlParserTest.java
@@ -980,8 +980,11 @@ public class CellDesignerXmlParserTest extends CellDesignerTestFunctions {
 		try {
 			CellDesignerXmlParser parser = new CellDesignerXmlParser();
 			Model model = parser.createModel(new ConverterParams().filename("testFiles/compartment_with_notes.xml"));
+			model.setName(null);
 			assertNotNull(model);
-			assertEquals("notes", model.getCompartments().get(0).getNotes());
+			String str = parser.toXml(model);
+			Model model2 = parser.createModel(new ConverterParams().inputStream(new ByteArrayInputStream(str.getBytes(StandardCharsets.UTF_8))));
+			assertEquals(0, new ModelComparator().compare(model, model2));
 		} catch (Exception e) {
 			e.printStackTrace();
 			throw e;
-- 
GitLab