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