Skip to content
Snippets Groups Projects
Commit 6f235bae authored by Piotr Gawron's avatar Piotr Gawron
Browse files

export of unit definition added

parent 62c58a17
No related branches found
No related tags found
1 merge request!186Resolve "upload of sbml"
...@@ -592,6 +592,7 @@ public class CellDesignerXmlParser extends XmlParser implements IConverter { ...@@ -592,6 +592,7 @@ public class CellDesignerXmlParser extends XmlParser implements IConverter {
SpeciesCollectionXmlParser speciesCollectionXmlParser = new SpeciesCollectionXmlParser(elements); SpeciesCollectionXmlParser speciesCollectionXmlParser = new SpeciesCollectionXmlParser(elements);
ReactionCollectionXmlParser reactionCollectionXmlParser = new ReactionCollectionXmlParser(model, elements, false); ReactionCollectionXmlParser reactionCollectionXmlParser = new ReactionCollectionXmlParser(model, elements, false);
UnitCollectionXmlParser unitCollectionXmlParser = new UnitCollectionXmlParser();
FunctionCollectionXmlParser functionCollectionXmlParser = new FunctionCollectionXmlParser(); FunctionCollectionXmlParser functionCollectionXmlParser = new FunctionCollectionXmlParser();
ParameterCollectionXmlParser parameterCollectionXmlParser = new ParameterCollectionXmlParser(model); ParameterCollectionXmlParser parameterCollectionXmlParser = new ParameterCollectionXmlParser(model);
...@@ -611,6 +612,7 @@ public class CellDesignerXmlParser extends XmlParser implements IConverter { ...@@ -611,6 +612,7 @@ public class CellDesignerXmlParser extends XmlParser implements IConverter {
result.append("</notes>"); result.append("</notes>");
} }
result.append(unitCollectionXmlParser.toXml(model.getUnits()));
result.append(functionCollectionXmlParser.toXml(model.getFunctions())); result.append(functionCollectionXmlParser.toXml(model.getFunctions()));
result.append(parameterCollectionXmlParser.toXml(model.getParameters())); result.append(parameterCollectionXmlParser.toXml(model.getParameters()));
result.append(annotationToXml(model, elements)); result.append(annotationToXml(model, elements));
......
...@@ -21,4 +21,14 @@ public class UnitCollectionXmlParser extends XmlParser { ...@@ -21,4 +21,14 @@ public class UnitCollectionXmlParser extends XmlParser {
return result; return result;
} }
public String toXml(Set<SbmlUnit> units) {
StringBuilder builder = new StringBuilder();
builder.append("<listOfUnitDefinitions>\n");
for (SbmlUnit unit: units) {
builder.append(unitParser.toXml(unit));
}
builder.append("</listOfUnitDefinitions>\n");
return builder.toString();
}
} }
...@@ -67,4 +67,30 @@ public class UnitXmlParser extends XmlParser { ...@@ -67,4 +67,30 @@ public class UnitXmlParser extends XmlParser {
} }
return new SbmlUnitTypeFactor(unitType, exponent, scale, multiplier); return new SbmlUnitTypeFactor(unitType, exponent, scale, multiplier);
} }
public String toXml(SbmlUnit unit) {
StringBuilder result = new StringBuilder();
result.append("<unitDefinition ");
result.append("id=\"" + unit.getUnitId() + "\" ");
result.append("name=\"" + unit.getName() + "\" ");
result.append(">\n");
result.append("<listOfUnits>\n");
for (SbmlUnitTypeFactor factor : unit.getUnitTypeFactors()) {
result.append(toXml(factor));
}
result.append("</listOfUnits>\n");
result.append("</unitDefinition>");
return result.toString();
}
private String toXml(SbmlUnitTypeFactor factor) {
StringBuilder result = new StringBuilder();
result.append("<unit ");
result.append("kind=\"" + factor.getUnitType().toString().toLowerCase() + "\" ");
result.append("scale=\"" + factor.getScale() + "\" ");
result.append("exponent=\"" + factor.getExponent() + "\" ");
result.append("multiplier=\"" + factor.getMultiplier() + "\" ");
result.append("/>\n");
return result.toString();
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment