From d1a9bf3ad4cc6239fd5e993ec7b3bd301cfbc5ab Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Fri, 13 Sep 2019 18:33:44 +0200 Subject: [PATCH] added null check for tracked race in updateCourseFromRaceLogs Change-Id: Ie2c4ecf25beb2c93b8b572dabd4034f125fd5dd0 --- .../ORCPerformanceCurveRankingMetric.java | 26 ++++++++++--------- .../adminconsole/URLFieldWithFileUpload.java | 2 +- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/orc/impl/ORCPerformanceCurveRankingMetric.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/orc/impl/ORCPerformanceCurveRankingMetric.java index 32af8ce9036..a32a0f701d8 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/orc/impl/ORCPerformanceCurveRankingMetric.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/orc/impl/ORCPerformanceCurveRankingMetric.java @@ -69,7 +69,7 @@ public class ORCPerformanceCurveRankingMetric extends AbstractRankingMetric { boatsById = initBoatsById(); updateCertificatesFromLogs(); updateCourseFromRaceLogs(); - certificatesFromRaceLogUpdater = createCertificatesFromRaceLogUpdater(); + certificatesFromRaceLogUpdater = createCertificatesFromRaceLogAndCourseUpdater(); certificatesFromRegattaLogUpdater = createCertificatesFromRegattaLogUpdater(); if (trackedRace != null) { trackedRace.addListener(new AbstractRaceChangeListener() { @@ -104,7 +104,7 @@ public class ORCPerformanceCurveRankingMetric extends AbstractRankingMetric { return result; } - private RaceLogEventVisitor createCertificatesFromRaceLogUpdater() { + private RaceLogEventVisitor createCertificatesFromRaceLogAndCourseUpdater() { return new BaseRaceLogEventVisitor() { @Override public void visit(RaceLogORCLegDataEvent orcLegDataEventImpl) { @@ -154,17 +154,19 @@ public class ORCPerformanceCurveRankingMetric extends AbstractRankingMetric { private void updateCourseFromRaceLogs() { final Map legsWithDefinitions = new HashMap<>(); - for (final RaceLog raceLog : getTrackedRace().getAttachedRaceLogs()) { - legsWithDefinitions.putAll(new RaceLogORCLegDataAnalyzer(raceLog).analyze()); + if (getTrackedRace() != null) { + for (final RaceLog raceLog : getTrackedRace().getAttachedRaceLogs()) { + legsWithDefinitions.putAll(new RaceLogORCLegDataAnalyzer(raceLog).analyze()); + } + final Iterable legs = getTrackedRace().getRace().getCourse().getLegs(); + int oneBasedLegNumber = 1; + final List performanceCurveLegs = new ArrayList<>(Util.size(legs)); + for (final Leg leg : legs) { + performanceCurveLegs.add(legsWithDefinitions.computeIfAbsent(oneBasedLegNumber, i->new ORCPerformanceCurveLegAdapter(getTrackedRace().getTrackedLeg(leg)))); + oneBasedLegNumber++; + } + totalCourse = new ORCPerformanceCurveCourseImpl(performanceCurveLegs); } - final Iterable legs = getTrackedRace().getRace().getCourse().getLegs(); - int oneBasedLegNumber = 1; - final List performanceCurveLegs = new ArrayList<>(Util.size(legs)); - for (final Leg leg : legs) { - performanceCurveLegs.add(legsWithDefinitions.computeIfAbsent(oneBasedLegNumber, i->new ORCPerformanceCurveLegAdapter(getTrackedRace().getTrackedLeg(leg)))); - oneBasedLegNumber++; - } - totalCourse = new ORCPerformanceCurveCourseImpl(performanceCurveLegs); } public ORCPerformanceCurveCourse getTotalCourse() { diff --git a/java/com.sap.sse.gwt.adminconsole/src/com/sap/sse/gwt/adminconsole/URLFieldWithFileUpload.java b/java/com.sap.sse.gwt.adminconsole/src/com/sap/sse/gwt/adminconsole/URLFieldWithFileUpload.java index becbc193e7d..fd56ddda0ed 100755 --- a/java/com.sap.sse.gwt.adminconsole/src/com/sap/sse/gwt/adminconsole/URLFieldWithFileUpload.java +++ b/java/com.sap.sse.gwt.adminconsole/src/com/sap/sse/gwt/adminconsole/URLFieldWithFileUpload.java @@ -114,7 +114,7 @@ public class URLFieldWithFileUpload extends Composite implements HasValue