From b9713784e3f41c44aa4d21add577da7b711fe22d Mon Sep 17 00:00:00 2001 From: Piotr Gawron <piotr.gawron@uni.lu> Date: Fri, 23 Aug 2019 14:14:09 +0200 Subject: [PATCH] export of colors for boolean reaction added --- .../celldesigner/reaction/ReactionToXml.java | 16 ++++------------ .../celldesigner/CellDesignerXmlParserTest.java | 13 +++++++++++++ 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionToXml.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionToXml.java index fe18a84c30..543b16a5bd 100644 --- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionToXml.java +++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionToXml.java @@ -492,7 +492,7 @@ public class ReactionToXml { sb.append(getListOfModificationsXmlStringForReaction(reaction)); sb.append(getListOfGateMembersXmlStringForReaction(reaction)); - sb.append(getLineXmlStringForLines(reaction.getReactants().get(0).getLine())); + sb.append(getLineXmlStringForLines(reaction.getLine())); XmlAnnotationParser xmlAnnotationParser = new XmlAnnotationParser(); sb.append("</celldesigner:extension>\n"); @@ -584,6 +584,7 @@ public class ReactionToXml { } result.append("</celldesigner:listOfLineDirection>\n"); result.append("</celldesigner:connectScheme>\n"); + result.append(getLineXmlStringForLines(operator.getLine())); result.append("</celldesigner:GateMember>\n"); @@ -684,11 +685,7 @@ public class ReactionToXml { sb.append(getConnectSchemeXmlStringForLines(new PolylineData[] { reactant.getLine() })); sb.append(getEditPointsXmlStringForLine(new PolylineData[] { reactant.getLine() }, 0)); - sb.append("<celldesigner:line "); - sb.append("width=\"" + reactant.getLine().getWidth() + "\" "); - sb.append("color=\"" + XmlParser.colorToString(reactant.getLine().getColor()) + "\" "); - sb.append("type=\"Straight\" "); - sb.append("/>\n"); + sb.append(getLineXmlStringForLines(reactant.getLine())); sb.append("</celldesigner:reactantLink>\n"); return sb.toString(); } @@ -715,13 +712,8 @@ public class ReactionToXml { sb.append(getConnectSchemeXmlStringForLines(lines)); - // TODO sb.append(getEditPointsXmlStringForLine(lines, 0)); - sb.append("<celldesigner:line "); - sb.append("width=\"" + product.getLine().getWidth() + "\" "); - sb.append("color=\"" + XmlParser.colorToString(product.getLine().getColor()) + "\" "); - sb.append("type=\"Straight\" "); - sb.append("/>\n"); + sb.append(getLineXmlStringForLines(product.getLine())); sb.append("</celldesigner:productLink>\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 47e02a29db..09b54e687f 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 @@ -773,5 +773,18 @@ public class CellDesignerXmlParserTest extends CellDesignerTestFunctions { assertFalse("Black wasn't used in reaction coloring", colors.contains(Color.BLACK)); } + @Test + public void testExportBooleanReactioWithColors() throws Exception { + CellDesignerXmlParser parser = new CellDesignerXmlParser(); + Model model = parser.createModel(new ConverterParams().filename("testFiles/reactions/boolean-colors.xml")); + + model.setName(null); + assertNotNull(model); + String str = parser.model2String(model); + Model model2 = parser.createModel( + new ConverterParams().inputStream(new ByteArrayInputStream(str.getBytes(StandardCharsets.UTF_8)))); + assertEquals(0, new ModelComparator().compare(model, model2)); + } + } -- GitLab