public void parseStatusXml(String statusXml) {
    try {
      Document statusDoc = SubmissionUtils.emptyDocument();
      SubmissionUtils.transform(new StringReader(statusXml), statusDoc);

      if (statusDoc.getDocumentElement().getTagName().equals("error")) {
        String runName = statusDoc.getElementsByTagName("RunName").item(0).getTextContent();
        String runDirRegex = "(\\d{6})_([A-z0-9]+)_(\\d+)_[A-z0-9_]*";
        Matcher m = Pattern.compile(runDirRegex).matcher(runName);
        if (m.matches()) {
          setStartDate(new SimpleDateFormat("yyMMdd").parse(m.group(1)));
          setInstrumentName(m.group(2));
        }
        setRunName(runName);
        setHealth(HealthType.Unknown);
      } else {
        String runStarted = statusDoc.getElementsByTagName("RunStarted").item(0).getTextContent();
        setStartDate(new SimpleDateFormat("EEEE, MMMMM dd, yyyy h:mm aaa").parse(runStarted));
        setInstrumentName(
            statusDoc.getElementsByTagName("InstrumentName").item(0).getTextContent());
        setRunName(statusDoc.getElementsByTagName("RunName").item(0).getTextContent());
        setHealth(HealthType.Unknown);
      }
      setXml(statusXml);
    } catch (ParserConfigurationException e) {
      e.printStackTrace();
    } catch (TransformerException e) {
      e.printStackTrace();
    } catch (ParseException e) {
      e.printStackTrace();
    }
  }
 /**
  * Parses a string path representing an XML file on disk into a StringWriter
  *
  * @param fromPath the file path represented as a String to use as the source
  * @param toWriter the destination StringWriter
  * @throws javax.xml.transform.TransformerException
  * @throws java.io.IOException
  */
 public static void transform(String fromPath, StringWriter toWriter)
     throws TransformerException, IOException {
   SubmissionUtils.transform(new File(fromPath), toWriter);
 }
 /**
  * Transforms a string path representing a file on disk into a DOM Document
  *
  * @param fromPath the file path represented as a String to use as the source
  * @param toDocument the destination Document
  * @throws javax.xml.transform.TransformerException
  * @throws java.io.IOException
  */
 public static void transform(String fromPath, Document toDocument)
     throws TransformerException, IOException {
   // Reader reader = bomCheck(new File(fromPath));
   UnicodeReader reader = new UnicodeReader(new FileInputStream(new File(fromPath)), "UTF-8");
   SubmissionUtils.transform(reader, toDocument);
 }