From fe638dff7e16d54333d6eb48b173d2327d4f2cd6 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Mon, 19 Mar 2018 22:13:10 +0100 Subject: [PATCH] added boat/no-boat case distinction for (potentially redundantly) registering competitors with store upon initial load Change-Id: I4eaaad279f7911eee440695581c807154fb923ac --- .../server/impl/RacingEventServiceImpl.java | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java index 66f02c63106..f271938e6e4 100644 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java @@ -96,6 +96,7 @@ import com.sap.sailing.domain.base.configuration.DeviceConfigurationMatcher; import com.sap.sailing.domain.base.configuration.RegattaConfiguration; import com.sap.sailing.domain.base.configuration.impl.DeviceConfigurationMapImpl; import com.sap.sailing.domain.base.impl.DynamicCompetitor; +import com.sap.sailing.domain.base.impl.DynamicCompetitorWithBoat; import com.sap.sailing.domain.base.impl.EventImpl; import com.sap.sailing.domain.base.impl.RegattaImpl; import com.sap.sailing.domain.base.impl.RemoteSailingServerReferenceImpl; @@ -3037,10 +3038,18 @@ public class RacingEventServiceImpl implements RacingEventService, ClearStateTes // the following should actually be redundant because during de-serialization the Competitor objects, // whose classes implement IsManagedByCache, should already have been got/created from/in the // competitor store - competitorStore.getOrCreateCompetitor(dynamicCompetitor.getId(), dynamicCompetitor.getName(), dynamicCompetitor.getShortName(), - dynamicCompetitor.getColor(), dynamicCompetitor.getEmail(), dynamicCompetitor.getFlagImage(), - dynamicCompetitor.getTeam(), dynamicCompetitor.getTimeOnTimeFactor(), - dynamicCompetitor.getTimeOnDistanceAllowancePerNauticalMile(), dynamicCompetitor.getSearchTag()); + if (dynamicCompetitor.hasBoat()) { + competitorStore.getOrCreateCompetitorWithBoat(dynamicCompetitor.getId(), dynamicCompetitor.getName(), dynamicCompetitor.getShortName(), + dynamicCompetitor.getColor(), dynamicCompetitor.getEmail(), dynamicCompetitor.getFlagImage(), + dynamicCompetitor.getTeam(), dynamicCompetitor.getTimeOnTimeFactor(), + dynamicCompetitor.getTimeOnDistanceAllowancePerNauticalMile(), dynamicCompetitor.getSearchTag(), + ((DynamicCompetitorWithBoat) dynamicCompetitor).getBoat()); + } else { + competitorStore.getOrCreateCompetitor(dynamicCompetitor.getId(), dynamicCompetitor.getName(), dynamicCompetitor.getShortName(), + dynamicCompetitor.getColor(), dynamicCompetitor.getEmail(), dynamicCompetitor.getFlagImage(), + dynamicCompetitor.getTeam(), dynamicCompetitor.getTimeOnTimeFactor(), + dynamicCompetitor.getTimeOnDistanceAllowancePerNauticalMile(), dynamicCompetitor.getSearchTag()); + } } logoutput.append("Received " + competitorStore.getCompetitorsCount() + " NEW competitors\n");