diff --git a/java/com.sap.sailing.kiworesultimport.test/src/com/sap/sailing/kiworesultimport/test/ParserTest.java b/java/com.sap.sailing.kiworesultimport.test/src/com/sap/sailing/kiworesultimport/test/ParserTest.java index 0f7dc86b311..b065569e3bb 100755 --- a/java/com.sap.sailing.kiworesultimport.test/src/com/sap/sailing/kiworesultimport/test/ParserTest.java +++ b/java/com.sap.sailing.kiworesultimport.test/src/com/sap/sailing/kiworesultimport/test/ParserTest.java @@ -66,6 +66,22 @@ public class ParserTest { assertNull(resultList.getVerteilung().getBoatBySailID("SWE 1196").getCrew().getSkipper().getIsaf()); } + @Test + public void testEmptyStatus() throws FileNotFoundException, SAXException, IOException, ParserConfigurationException { + ResultListParser parser = ResultListParserFactory.INSTANCE.createResultListParser(); + ResultList resultList = parser.parse(getSampleInputStream()); + assertNotNull(resultList); + assertNull(resultList.getVerteilung().getBoatBySailID("SWE 1196").getRaces().getRaces().iterator().next().getStatus()); + } + + @Test + public void testNonEmptyStatus() throws FileNotFoundException, SAXException, IOException, ParserConfigurationException { + ResultListParser parser = ResultListParserFactory.INSTANCE.createResultListParser(); + ResultList resultList = parser.parse(getSampleInputStream()); + assertNotNull(resultList); + assertEquals("DNC", resultList.getVerteilung().getBoatBySailID("GER 1199").getRaces().getRaces().iterator().next().getStatus()); + } + @Test public void testObtainingResultList() throws FileNotFoundException, SAXException, IOException, ParserConfigurationException { ResultListParser parser = ResultListParserFactory.INSTANCE.createResultListParser(); diff --git a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Race.java b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Race.java index 5acb4dc64a1..18e19855089 100755 --- a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Race.java +++ b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Race.java @@ -1,6 +1,8 @@ package com.sap.sailing.kiworesultimport; public interface Race { + String getStatus(); + Double getPoints(); Integer getNumber(); diff --git a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/RaceImpl.java b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/RaceImpl.java index 203a09da9e9..6def0e9b3de 100755 --- a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/RaceImpl.java +++ b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/RaceImpl.java @@ -20,4 +20,10 @@ public class RaceImpl extends AbstractNodeWrapper implements Race { return Integer.valueOf(getNode().getAttributes().getNamedItem("number").getNodeValue()); } + @Override + public String getStatus() { + final Node namedItem = getNode().getAttributes().getNamedItem("status"); + return namedItem == null || namedItem.getNodeValue() == null || namedItem.getNodeValue().trim().length() == 0 ? null : namedItem.getNodeValue(); + } + }