fixing result import: consider time stamp to make unique for equal boat class

Change-Id: If52ddc1f5d29e1972577c90e609f75083950edb7
This commit is contained in:
Axel Uhl committed 2017-06-22 10:31:16 +02:00
1 parent 70b62a22d5
commit e156534a1e
1 file changed
+4 -3
@@ -76,7 +76,7 @@ public class ScoreCorrectionProviderImpl extends AbstractManage2SailProvider imp
@Override
public RegattaScoreCorrections getScoreCorrections(String eventName, String boatClassName,
TimePoint timePointPublished) throws IOException, SAXException, ParserConfigurationException {
Parser parser = resolveParser(eventName, boatClassName);
Parser parser = resolveParser(eventName, boatClassName, timePointPublished);
try {
RegattaResults regattaResults = parser.parse();
for (Object o : regattaResults.getPersonOrBoatOrTeam()) {
@@ -107,14 +107,15 @@ public class ScoreCorrectionProviderImpl extends AbstractManage2SailProvider imp
return null;
}
private Parser resolveParser(String eventName, String boatClassName) throws IOException {
private Parser resolveParser(String eventName, String boatClassName, TimePoint timePointPublished) throws IOException {
Parser result = null;
for (ResultDocumentDescriptor resultDocDescr : documentProvider.getResultDocumentDescriptors()) {
String boatClassAndGenderType = resultDocDescr.getBoatClass();
if (resultDocDescr.getCompetitorGenderType() != null) {
boatClassAndGenderType += ", " + resultDocDescr.getCompetitorGenderType().name();
}
if (eventName.equals(resultDocDescr.getEventName()) && boatClassName.equals(boatClassAndGenderType)) {
if (eventName.equals(resultDocDescr.getEventName()) && boatClassName.equals(boatClassAndGenderType) &&
Util.equalsWithNull(resultDocDescr.getLastModified(), timePointPublished)) {
result = getParserFactory().createParser(resultDocDescr.getInputStream(), resultDocDescr.getEventName());
break;
}