/** {@inheritDoc} */ public void endElement(String uri, String localName, String qName) throws SAXException { if ("testcase".equals(qName)) { currentSuite.getTestCases().add(testCase); } else if ("failure".equals(qName)) { Map<String, Object> failure = testCase.getFailure(); failure.put("detail", parseCause(currentElement.toString())); } else if ("error".equals(qName)) { Map<String, Object> error = testCase.getFailure(); error.put("detail", parseCause(currentElement.toString())); } else if ("time".equals(qName)) { try { Number time = numberFormat.parse(currentElement.toString()); defaultSuite.setTimeElapsed(time.floatValue()); } catch (ParseException e) { throw new SAXException(e.getMessage(), e); } } // TODO extract real skipped reasons }