From b88a11ae686246bddbfd89ba762683924cc56d56 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Fri, 6 Mar 2020 00:18:43 +0100 Subject: [PATCH] fix for bug 5228: construct RankingMetricsConstructor serializable lambda in a bundle that replication serialization can see --- .../domain/tractracadapter/impl/DomainFactoryImpl.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java index 03b7b1e486a..78634e8f2b8 100755 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java @@ -52,6 +52,7 @@ import com.sap.sailing.domain.base.impl.TeamImpl; import com.sap.sailing.domain.common.CompetitorRegistrationType; import com.sap.sailing.domain.common.PassingInstruction; import com.sap.sailing.domain.common.Position; +import com.sap.sailing.domain.common.RankingMetrics; import com.sap.sailing.domain.common.ScoringSchemeType; import com.sap.sailing.domain.common.impl.DegreePosition; import com.sap.sailing.domain.common.tracking.GPSFixMoving; @@ -63,8 +64,8 @@ import com.sap.sailing.domain.leaderboard.LeaderboardGroupResolver; import com.sap.sailing.domain.leaderboard.RegattaLeaderboard; import com.sap.sailing.domain.racelog.RaceLogAndTrackedRaceResolver; import com.sap.sailing.domain.racelog.RaceLogStore; -import com.sap.sailing.domain.ranking.OneDesignRankingMetric; import com.sap.sailing.domain.ranking.RankingMetricConstructor; +import com.sap.sailing.domain.ranking.RankingMetricsFactory; import com.sap.sailing.domain.regattalog.RegattaLogStore; import com.sap.sailing.domain.tracking.DynamicRaceDefinitionSet; import com.sap.sailing.domain.tracking.DynamicTrackedRace; @@ -455,7 +456,10 @@ public class DomainFactoryImpl implements DomainFactory { @Override public Regatta getOrCreateDefaultRegatta(RaceLogStore raceLogStore, RegattaLogStore regattaLogStore, IRace race, TrackedRegattaRegistry trackedRegattaRegistry) { - return getOrCreateDefaultRegatta(raceLogStore, regattaLogStore, race, trackedRegattaRegistry, OneDesignRankingMetric::new); + return getOrCreateDefaultRegatta(raceLogStore, regattaLogStore, race, trackedRegattaRegistry, + // delegate the construction of the lambda to a bundle that the serialization classloaders + // for replication can see: + RankingMetricsFactory.getRankingMetricConstructor(RankingMetrics.ONE_DESIGN)); } @Override