diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlElementExporter.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlElementExporter.java index 530dfa9c7116c1a663d81f6d588fe66aeaf38a87..f7c76e9eaa11536becff6706d3b3a4e073e5e7d9 100644 --- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlElementExporter.java +++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlElementExporter.java @@ -41,6 +41,7 @@ public abstract class SbmlElementExporter<T extends Element, S extends org.sbml. LocalStyle style = createStyle(element); ColorDefinition color = getColorDefinition(element.getColor()); style.getGroup().setFill(color.getId()); + style.getGroup().setFontSize(element.getFontSize().shortValue()); assignStyleToGlyph(speciesGlyph, style); } 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 7657a49468156dc57c5f34117c7a11bd428dbfba..46bad68534a8612417b603b256a9d2825d0e2b27 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 @@ -21,7 +21,7 @@ import lcsb.mapviewer.converter.InvalidInputDataExecption; import lcsb.mapviewer.model.map.species.Element; public abstract class SbmlElementParser<T extends org.sbml.jsbml.Symbol> extends SbmlBioEntityParser { - + /** * Default class logger. */ @@ -122,10 +122,13 @@ public abstract class SbmlElementParser<T extends org.sbml.jsbml.Symbol> extends } protected void applyStyleToElement(Element elementWithLayout, LocalStyle style) { - if (style.getGroup().getFill() != null) { + if (style.getGroup().isSetFill()) { Color backgroundColor = getColorByColorDefinition(style.getGroup().getFill()); elementWithLayout.setColor(backgroundColor); } + if (style.getGroup().isSetFontSize()) { + elementWithLayout.setFontSize(style.getGroup().getFontSize()); + } } protected abstract List<Pair<String, AbstractReferenceGlyph>> getGlyphs(); diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/AllSbmlConverterTests.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/AllSbmlConverterTests.java index 89784fc0c02e32376877088930f45b23b968c666..d33aff584abbde603c9d5463425bb289281aaecd 100644 --- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/AllSbmlConverterTests.java +++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/AllSbmlConverterTests.java @@ -14,6 +14,7 @@ import lcsb.mapviewer.converter.model.sbml.species.AllSbmlSpeciesTests; GenericSbmlToXmlParserTest.class, CellDesignerToMultiExportTest.class, ElementPropertiesExportToMultiTest.class, + ElementPropertiesExportToLayoutTest.class, MultiParserTest.class, ReactionPropertiesExportToMultiTest.class, SbmlBioEntityExporterTest.class, diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/ElementPropertiesExportToLayoutTest.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/ElementPropertiesExportToLayoutTest.java new file mode 100644 index 0000000000000000000000000000000000000000..0c062b021cd6e048629aa9089ff53185191af612 --- /dev/null +++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/ElementPropertiesExportToLayoutTest.java @@ -0,0 +1,88 @@ +package lcsb.mapviewer.converter.model.sbml; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.Collection; + +import org.apache.log4j.Logger; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; +import org.junit.runners.Parameterized.Parameters; + +import lcsb.mapviewer.converter.ConverterParams; +import lcsb.mapviewer.model.map.model.Model; +import lcsb.mapviewer.model.map.model.ModelComparator; +import lcsb.mapviewer.model.map.model.ModelFullIndexed; +import lcsb.mapviewer.model.map.species.Element; +import lcsb.mapviewer.model.map.species.GenericProtein; +import lcsb.mapviewer.model.map.species.Species; + +@RunWith(Parameterized.class) +public class ElementPropertiesExportToLayoutTest { + + static Logger logger = Logger.getLogger(ElementPropertiesExportToLayoutTest.class.getName()); + + private Model model; + + public ElementPropertiesExportToLayoutTest(String propertyName, Model model) { + this.model = model; + } + + @Parameters(name = "{index} : {0}") + public static Collection<Object[]> data() throws IOException { + Collection<Object[]> data = new ArrayList<>(); + + data.add(createTestEntry("Empty", createElement())); + + Species element = createElement(); + element.setFontSize(40); + data.add(createTestEntry("Font size", element)); + + return data; + } + + private static Object[] createTestEntry(String string, Element element) { + Model result = new ModelFullIndexed(null); + result.setIdModel("X"); + result.setWidth(200); + result.setHeight(200); + result.addElement(element); + return new Object[] { string, result }; + } + + private static Species createElement() { + Species element = new GenericProtein("id"); + element.setX(10); + element.setY(10); + element.setWidth(1000); + element.setHeight(30); + return element; + } + + @Test + public void createModelTest() throws Exception { + try { + SbmlExporter sbmlExporter = new SbmlExporter(); + SbmlParser sbmlParser = new SbmlParser(); + String xmlString = sbmlExporter.toXml(model); + + InputStream is = new ByteArrayInputStream(xmlString.getBytes("UTF-8")); + + Model model2 = sbmlParser.createModel(new ConverterParams().inputStream(is).sizeAutoAdjust(false)); + model2.setName(model.getName()); + + ModelComparator comparator = new ModelComparator(); + assertEquals(0, comparator.compare(model, model2)); + + } catch (Exception e) { + e.printStackTrace(); + throw e; + } + } + +}