From c6fc262f0a63b65576b1e1bd578ed5dfa34ecadf Mon Sep 17 00:00:00 2001 From: sherzinger <sascha.herzinger@uni.lu> Date: Tue, 19 Feb 2019 08:33:20 +0100 Subject: [PATCH] refactored another class to no longer extend XmlParser --- .../species/SpeciesSbmlParser.java | 65 ++++++++++--------- 1 file changed, 33 insertions(+), 32 deletions(-) diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/SpeciesSbmlParser.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/SpeciesSbmlParser.java index b4fd701dbc..e26f5c94e1 100644 --- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/SpeciesSbmlParser.java +++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/SpeciesSbmlParser.java @@ -1,5 +1,6 @@ package lcsb.mapviewer.converter.model.celldesigner.species; +import lcsb.mapviewer.common.XmlParser; import org.apache.log4j.Logger; import org.w3c.dom.Node; import org.w3c.dom.NodeList; @@ -128,7 +129,7 @@ public class SpeciesSbmlParser extends AbstractElementXmlParser<CellDesignerSpec // itself continue; } else { - throw new InvalidXmlSchemaException("[" + getNodeAttr("id", spieciesNode) + throw new InvalidXmlSchemaException("[" + XmlParser.getNodeAttr("id", spieciesNode) + "]\tUnknown element of celldesigner:extension " + node.getNodeName()); } } @@ -143,33 +144,33 @@ public class SpeciesSbmlParser extends AbstractElementXmlParser<CellDesignerSpec CellDesignerSpecies<?> species = result.getRight(); if (positionToCompartment != null) { - PositionToCompartment position = PositionToCompartment.getByString(getNodeValue(positionToCompartment)); + PositionToCompartment position = PositionToCompartment.getByString(XmlParser.getNodeValue(positionToCompartment)); if (position == null) { - throw new InvalidXmlSchemaException("Unknown position on compartment: " + getNodeValue(positionToCompartment)); + throw new InvalidXmlSchemaException("Unknown position on compartment: " + XmlParser.getNodeValue(positionToCompartment)); } species.setPositionToCompartment(position); } // we ignore metaid - it's useless and obstruct data model - // species.setMetaId(getNodeAttr("metaid", spieciesNode)); - species.setElementId(getNodeAttr("id", spieciesNode)); - species.setName(decodeName(getNodeAttr("name", spieciesNode))); - species.setInitialAmount(getNodeAttr("initialAmount", spieciesNode)); - String substanceUnits = getNodeAttr("substanceUnits", spieciesNode); + // species.setMetaId(XmlParser.getNodeAttr("metaid", spieciesNode)); + species.setElementId(XmlParser.getNodeAttr("id", spieciesNode)); + species.setName(decodeName(XmlParser.getNodeAttr("name", spieciesNode))); + species.setInitialAmount(XmlParser.getNodeAttr("initialAmount", spieciesNode)); + String substanceUnits = XmlParser.getNodeAttr("substanceUnits", spieciesNode); if (substanceUnits != null && !substanceUnits.isEmpty()) { species.setSubstanceUnits(SbmlUnitType.valueOf(substanceUnits.toUpperCase())); } - species.setInitialAmount(getNodeAttr("initialAmount", spieciesNode)); - species.setInitialConcentration(getNodeAttr("initialConcentration", spieciesNode)); + species.setInitialAmount(XmlParser.getNodeAttr("initialAmount", spieciesNode)); + species.setInitialConcentration(XmlParser.getNodeAttr("initialConcentration", spieciesNode)); if (species.getInitialAmount() == null && species.getInitialConcentration() == null) { species.setInitialConcentration(0.0); } - species.setCharge(getNodeAttr("charge", spieciesNode)); - species.setOnlySubstanceUnits(getNodeAttr("hasOnlySubstanceUnits", spieciesNode)); - species.setBoundaryCondition(getNodeAttr("boundaryCondition", spieciesNode)); - species.setConstant(getNodeAttr("constant", spieciesNode)); + species.setCharge(XmlParser.getNodeAttr("charge", spieciesNode)); + species.setOnlySubstanceUnits(XmlParser.getNodeAttr("hasOnlySubstanceUnits", spieciesNode)); + species.setBoundaryCondition(XmlParser.getNodeAttr("boundaryCondition", spieciesNode)); + species.setConstant(XmlParser.getNodeAttr("constant", spieciesNode)); - CellDesignerCompartment compartment = elements.getElementByElementId(getNodeAttr("compartment", spieciesNode)); + CellDesignerCompartment compartment = elements.getElementByElementId(XmlParser.getNodeAttr("compartment", spieciesNode)); if (compartment != null) { species.setParent(compartment); } @@ -190,7 +191,7 @@ public class SpeciesSbmlParser extends AbstractElementXmlParser<CellDesignerSpec public String toXml(Species species) { StringBuilder builder = new StringBuilder(); StringBuilder attributesBuilder = new StringBuilder(); - attributesBuilder.append(" name=\"" + escapeXml(encodeName(species.getName())) + "\""); + attributesBuilder.append(" name=\"" + XmlParser.escapeXml(encodeName(species.getName())) + "\""); attributesBuilder.append(" id=\"" + elements.getElementId(species) + "\""); attributesBuilder.append(" metaid=\"" + elements.getElementId(species) + "\""); if (species.getInitialAmount() != null) { @@ -305,7 +306,7 @@ public class SpeciesSbmlParser extends AbstractElementXmlParser<CellDesignerSpec } SpeciesState state = new SpeciesState(species); sb.append(speciesStateToXml(state)); - sb.append("<celldesigner:name>" + escapeXml(encodeName(species.getName())) + "</celldesigner:name>\n"); + sb.append("<celldesigner:name>" + XmlParser.escapeXml(encodeName(species.getName())) + "</celldesigner:name>\n"); Boolean hypothetical = species.getHypothetical(); if (hypothetical != null) { @@ -362,11 +363,11 @@ public class SpeciesSbmlParser extends AbstractElementXmlParser<CellDesignerSpec public Pair<String, CellDesignerSpecies<?>> parseSpeciesIdentity(Node rootNode) throws InvalidXmlSchemaException { NodeList nodes = rootNode.getChildNodes(); CellDesignerSpecies<?> result = new CellDesignerSpecies<Species>(); - Node classNode = getNode("celldesigner:class", nodes); + Node classNode = XmlParser.getNode("celldesigner:class", nodes); if (classNode == null) { throw new InvalidXmlSchemaException("Species node in Sbml model doesn't contain node \"celldesigner:class\"."); } else { - String value = getNodeValue(classNode); + String value = XmlParser.getNodeValue(classNode); SpeciesMapping mapping = SpeciesMapping.getMappingByString(value); if (mapping != null) { result = mapping.createSpecies(result); @@ -382,34 +383,34 @@ public class SpeciesSbmlParser extends AbstractElementXmlParser<CellDesignerSpec continue; } else if (node.getNodeName().equalsIgnoreCase("celldesigner:proteinReference")) { if (result instanceof CellDesignerProtein) { - identifier = getNodeValue(node); + identifier = XmlParser.getNodeValue(node); } else { throw new InvalidXmlSchemaException( "Wrong class type for protein reference: " + result.getClass().getName()); } } else if (node.getNodeName().equalsIgnoreCase("celldesigner:geneReference")) { if (result instanceof CellDesignerGene) { - identifier = getNodeValue(node); + identifier = XmlParser.getNodeValue(node); } else { throw new InvalidXmlSchemaException("Wrong class type for gene reference: " + result.getClass().getName()); } } else if (node.getNodeName().equalsIgnoreCase("celldesigner:rnaReference")) { if (result instanceof CellDesignerRna) { - identifier = getNodeValue(node); + identifier = XmlParser.getNodeValue(node); } else { throw new InvalidXmlSchemaException("Wrong class type for rna reference: " + result.getClass().getName()); } } else if (node.getNodeName().equalsIgnoreCase("celldesigner:antisensernaReference")) { if (result instanceof CellDesignerAntisenseRna) { - identifier = getNodeValue(node); + identifier = XmlParser.getNodeValue(node); } else { throw new InvalidXmlSchemaException( "Wrong class type for antisense rna reference: " + result.getClass().getName()); } } else if (node.getNodeName().equalsIgnoreCase("celldesigner:hypothetical")) { - result.setHypothetical(getNodeValue(node)); + result.setHypothetical(XmlParser.getNodeValue(node)); } else if (node.getNodeName().equalsIgnoreCase("celldesigner:name")) { - result.setName(decodeName(getNodeValue(node))); + result.setName(decodeName(XmlParser.getNodeValue(node))); } else if (node.getNodeName().equalsIgnoreCase("celldesigner:state")) { SpeciesState state = parseXmlSpeciesState(node); processStateDataInSpecies(result, state); @@ -509,14 +510,14 @@ public class SpeciesSbmlParser extends AbstractElementXmlParser<CellDesignerSpec Node node = nodes.item(x); if (node.getNodeType() == Node.ELEMENT_NODE) { if (node.getNodeName().equalsIgnoreCase("celldesigner:homodimer")) { - result.setHomodimer(getNodeValue(node)); + result.setHomodimer(XmlParser.getNodeValue(node)); } else if (node.getNodeName().equalsIgnoreCase("celldesigner:listOfStructuralStates")) { NodeList structureNodeList = node.getChildNodes(); for (int y = 0; y < structureNodeList.getLength(); y++) { Node structureNode = structureNodeList.item(y); if (structureNode.getNodeType() == Node.ELEMENT_NODE) { if (structureNode.getNodeName().equalsIgnoreCase("celldesigner:structuralState")) { - String state = getNodeAttr("structuralState", structureNode); + String state = XmlParser.getNodeAttr("structuralState", structureNode); result.setStructuralState(state); } else { throw new InvalidXmlSchemaException( @@ -563,8 +564,8 @@ public class SpeciesSbmlParser extends AbstractElementXmlParser<CellDesignerSpec */ private CellDesignerModificationResidue getSpeciesModification(Node rootNode) throws InvalidXmlSchemaException { CellDesignerModificationResidue modification = new CellDesignerModificationResidue(); - modification.setIdModificationResidue(getNodeAttr("residue", rootNode)); - String state = getNodeAttr("state", rootNode); + modification.setIdModificationResidue(XmlParser.getNodeAttr("residue", rootNode)); + String state = XmlParser.getNodeAttr("state", rootNode); if (state != null) { ModificationState mState = ModificationState.getByName(state); if (mState == null) { @@ -573,9 +574,9 @@ public class SpeciesSbmlParser extends AbstractElementXmlParser<CellDesignerSpec } modification.setState(mState); } - modification.setName(getNodeAttr("name", rootNode)); - modification.setSize(getNodeAttr("size", rootNode)); - modification.setAngle(getNodeAttr("pos", rootNode)); + modification.setName(XmlParser.getNodeAttr("name", rootNode)); + modification.setSize(XmlParser.getNodeAttr("size", rootNode)); + modification.setAngle(XmlParser.getNodeAttr("pos", rootNode)); NodeList list = rootNode.getChildNodes(); for (int y = 0; y < list.getLength(); y++) { Node node = list.item(y); -- GitLab