From ee77260b0f128ed3b87ec7b331c9d507115ee66e Mon Sep 17 00:00:00 2001 From: fmittag Date: Fri, 24 Jul 2015 16:54:40 +0200 Subject: [PATCH] removed "DefaultLeaderboard" usage everywhere... --- .../common/LeaderboardNameConstants.java | 2 -- .../impl/LeaderboardsJsonGetServlet.java | 4 +--- .../jaxrs/api/LeaderboardsResource.java | 5 +--- .../test/ServerReplicationTest.java | 20 ++++++++++------ .../test/TrackRaceReplicationTest.java | 5 ++-- .../test/OperationalTransformationTest.java | 23 +++++++++++-------- .../server/impl/RacingEventServiceImpl.java | 19 --------------- 7 files changed, 32 insertions(+), 46 deletions(-) diff --git a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/LeaderboardNameConstants.java b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/LeaderboardNameConstants.java index d7c32a4f98e..99905142f22 100755 --- a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/LeaderboardNameConstants.java +++ b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/LeaderboardNameConstants.java @@ -1,8 +1,6 @@ package com.sap.sailing.domain.common; public interface LeaderboardNameConstants { - static final String DEFAULT_LEADERBOARD_NAME = "Default Leaderboard"; - static final String OVERALL = "Overall"; static final String DEFAULT_FLEET_NAME = "Default"; diff --git a/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/impl/LeaderboardsJsonGetServlet.java b/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/impl/LeaderboardsJsonGetServlet.java index 46567ac0df8..9e1af2fe56b 100755 --- a/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/impl/LeaderboardsJsonGetServlet.java +++ b/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/impl/LeaderboardsJsonGetServlet.java @@ -9,7 +9,6 @@ import javax.servlet.http.HttpServletResponse; import org.json.simple.JSONArray; -import com.sap.sailing.domain.common.LeaderboardNameConstants; import com.sap.sailing.domain.leaderboard.Leaderboard; import com.sap.sailing.server.gateway.AbstractJsonHttpServlet; @@ -21,8 +20,7 @@ public class LeaderboardsJsonGetServlet extends AbstractJsonHttpServlet { JSONArray jsonLeaderboards = new JSONArray(); Map leaderboards = getService().getLeaderboards(); for (String leaderboardName : leaderboards.keySet()) { - if(!leaderboardName.equals(LeaderboardNameConstants.DEFAULT_LEADERBOARD_NAME)) - jsonLeaderboards.add(leaderboardName); + jsonLeaderboards.add(leaderboardName); } setJsonResponseHeader(resp); jsonLeaderboards.writeJSONString(resp.getWriter()); diff --git a/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/jaxrs/api/LeaderboardsResource.java b/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/jaxrs/api/LeaderboardsResource.java index 89587544b76..00b422c661e 100644 --- a/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/jaxrs/api/LeaderboardsResource.java +++ b/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/jaxrs/api/LeaderboardsResource.java @@ -51,7 +51,6 @@ import com.sap.sailing.domain.base.Nationality; import com.sap.sailing.domain.base.RaceColumn; import com.sap.sailing.domain.base.Waypoint; import com.sap.sailing.domain.common.Distance; -import com.sap.sailing.domain.common.LeaderboardNameConstants; import com.sap.sailing.domain.common.MaxPointsReason; import com.sap.sailing.domain.common.NoWindException; import com.sap.sailing.domain.common.Position; @@ -106,9 +105,7 @@ public class LeaderboardsResource extends AbstractSailingServerResource { JSONArray jsonLeaderboards = new JSONArray(); Map leaderboards = getService().getLeaderboards(); for (String leaderboardName : leaderboards.keySet()) { - if (!leaderboardName.equals(LeaderboardNameConstants.DEFAULT_LEADERBOARD_NAME)) { - jsonLeaderboards.add(leaderboardName); - } + jsonLeaderboards.add(leaderboardName); } String json = jsonLeaderboards.toJSONString(); return Response.ok(json, MediaType.APPLICATION_JSON).build(); diff --git a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/ServerReplicationTest.java b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/ServerReplicationTest.java index cb6350d943c..b591b792c11 100755 --- a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/ServerReplicationTest.java +++ b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/ServerReplicationTest.java @@ -22,11 +22,12 @@ import com.sap.sailing.domain.base.Waypoint; import com.sap.sailing.domain.base.impl.CourseImpl; import com.sap.sailing.domain.base.impl.RaceDefinitionImpl; import com.sap.sailing.domain.base.impl.RegattaImpl; -import com.sap.sailing.domain.common.LeaderboardNameConstants; import com.sap.sailing.domain.common.RegattaName; +import com.sap.sailing.domain.leaderboard.FlexibleLeaderboard; import com.sap.sailing.domain.leaderboard.Leaderboard; import com.sap.sailing.domain.leaderboard.ThresholdBasedResultDiscardingRule; import com.sap.sailing.domain.leaderboard.impl.LowPoint; +import com.sap.sailing.server.RacingEventServiceOperation; import com.sap.sailing.server.operationaltransformation.AddDefaultRegatta; import com.sap.sailing.server.operationaltransformation.AddRaceDefinition; import com.sap.sailing.server.operationaltransformation.CreateFlexibleLeaderboard; @@ -34,6 +35,8 @@ import com.sap.sailing.server.operationaltransformation.RemoveLeaderboard; import com.sap.sse.common.Util; public class ServerReplicationTest extends AbstractServerReplicationTest { + private static final String LEADERBOARDNAME = "TESTLEADERBOARD"; + @Test public void testBasicInitialLoad() throws Exception { assertNotSame(master, replica); @@ -63,15 +66,18 @@ public class ServerReplicationTest extends AbstractServerReplicationTest { @Test public void testLeaderboardRemovalReplication() throws InterruptedException { - final String leaderboardName = LeaderboardNameConstants.DEFAULT_LEADERBOARD_NAME; - assertNotNull(replica.getLeaderboardByName(leaderboardName)); - assertNotNull(master.getLeaderboardByName(leaderboardName)); - RemoveLeaderboard removeDefaultLeaderboard = new RemoveLeaderboard(leaderboardName); + RacingEventServiceOperation addLeaderboardOp = new CreateFlexibleLeaderboard(LEADERBOARDNAME,null, new int[] { 5 }, + new LowPoint(), null); + master.apply(addLeaderboardOp); + Thread.sleep(1000); // wait 1s for JMS to deliver the message and the message to be applied + assertNotNull(replica.getLeaderboardByName(LEADERBOARDNAME)); + assertNotNull(master.getLeaderboardByName(LEADERBOARDNAME)); + RemoveLeaderboard removeDefaultLeaderboard = new RemoveLeaderboard(LEADERBOARDNAME); master.apply(removeDefaultLeaderboard); - final Leaderboard masterLeaderboard = master.getLeaderboardByName(leaderboardName); + final Leaderboard masterLeaderboard = master.getLeaderboardByName(LEADERBOARDNAME); assertNull(masterLeaderboard); Thread.sleep(1000); // wait 1s for JMS to deliver the message and the message to be applied - final Leaderboard replicaLeaderboard = replica.getLeaderboardByName(leaderboardName); + final Leaderboard replicaLeaderboard = replica.getLeaderboardByName(LEADERBOARDNAME); assertNull(replicaLeaderboard); } diff --git a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/TrackRaceReplicationTest.java b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/TrackRaceReplicationTest.java index 1110d087034..f1e6fe06f1c 100755 --- a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/TrackRaceReplicationTest.java +++ b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/TrackRaceReplicationTest.java @@ -20,7 +20,6 @@ import org.junit.Test; import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.base.RaceColumn; -import com.sap.sailing.domain.common.LeaderboardNameConstants; import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; import com.sap.sailing.domain.common.RegattaNameAndRaceName; import com.sap.sailing.domain.common.WindSourceType; @@ -114,6 +113,8 @@ public class TrackRaceReplicationTest extends AbstractServerReplicationTest { @Test public void testStartTrackingRaceReplication() throws Exception { + final String leaderboardName = "Test Leaderboard"; + master.apply(new CreateFlexibleLeaderboard(leaderboardName, null, new int[0], new LowPoint(), null)); startTracking(); Thread.sleep(1000); TrackedRace replicaTrackedRace = replica.getTrackedRace(raceIdentifier); @@ -121,7 +122,7 @@ public class TrackRaceReplicationTest extends AbstractServerReplicationTest { assertNotSame(masterTrackedRace, replicaTrackedRace); assertNotSame(masterTrackedRace.getRace(), replicaTrackedRace.getRace()); assertEquals(Util.size(masterTrackedRace.getRace().getCompetitors()), Util.size(replicaTrackedRace.getRace().getCompetitors())); - Leaderboard replicaDefaultLeaderboard = replica.getLeaderboardByName(LeaderboardNameConstants.DEFAULT_LEADERBOARD_NAME); + Leaderboard replicaDefaultLeaderboard = replica.getLeaderboardByName(leaderboardName); RaceColumn column = replicaDefaultLeaderboard.getRaceColumnByName(replicaTrackedRace.getRace().getName()); assertNotNull(column); assertSame(replicaTrackedRace, column.getTrackedRace(replicaDefaultLeaderboard.getFleet(null))); diff --git a/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/OperationalTransformationTest.java b/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/OperationalTransformationTest.java index 5a42107fcf7..ea33266672f 100755 --- a/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/OperationalTransformationTest.java +++ b/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/OperationalTransformationTest.java @@ -10,7 +10,6 @@ import org.junit.Before; import org.junit.Test; import com.sap.sailing.domain.base.RaceColumn; -import com.sap.sailing.domain.common.LeaderboardNameConstants; import com.sap.sailing.domain.leaderboard.FlexibleLeaderboard; import com.sap.sailing.domain.leaderboard.Leaderboard; import com.sap.sailing.domain.leaderboard.impl.LowPoint; @@ -57,18 +56,21 @@ public class OperationalTransformationTest { server.waitForNotRunning(); replica.waitForNotRunning(); Map replicaLeaderboards = racingEventServiceReplica.getLeaderboards(); - assertEquals(2, replicaLeaderboards.size()); // expected to include the default leaderboard - assertEquals(new HashSet(Arrays.asList(new String[] { LeaderboardNameConstants.DEFAULT_LEADERBOARD_NAME, LEADERBOARDNAME })), + assertEquals(1, replicaLeaderboards.size()); + assertEquals(new HashSet(Arrays.asList(new String[] { LEADERBOARDNAME })), replicaLeaderboards.keySet()); assertEquals(racingEventServiceServer.getLeaderboards().keySet(), replicaLeaderboards.keySet()); } @Test public void testAddColumnToLeaderboardOnServerAndRemoveLeaderboardOnClient() throws InterruptedException { + RacingEventServiceOperation addLeaderboardOp = new CreateFlexibleLeaderboard(LEADERBOARDNAME,null, new int[] { 5 }, + new LowPoint(), null); + server.apply(addLeaderboardOp); RacingEventServiceOperation addLeaderboardColumn = new AddColumnToLeaderboard( - "newColumn", LeaderboardNameConstants.DEFAULT_LEADERBOARD_NAME, /* medalRace */ true); + "newColumn", LEADERBOARDNAME, /* medalRace */ true); server.apply(addLeaderboardColumn); - RacingEventServiceOperation removeDefaultLeaderboard = new RemoveLeaderboard(LeaderboardNameConstants.DEFAULT_LEADERBOARD_NAME); + RacingEventServiceOperation removeDefaultLeaderboard = new RemoveLeaderboard(LEADERBOARDNAME); replica.apply(removeDefaultLeaderboard); replica.waitForNotRunning(); server.waitForNotRunning(); @@ -78,17 +80,20 @@ public class OperationalTransformationTest { @Test public void testAddOneColumnOnEachSideThenMoveOneUpOnServerAndRemoveLeaderboardOnClient() throws InterruptedException { + RacingEventServiceOperation addLeaderboardOp = new CreateFlexibleLeaderboard(LEADERBOARDNAME,null, new int[] { 5 }, + new LowPoint(), null); + server.apply(addLeaderboardOp); RacingEventServiceOperation addLeaderboardColumnOnServer = new AddColumnToLeaderboard( - "newColumn1", LeaderboardNameConstants.DEFAULT_LEADERBOARD_NAME, /* medalRace */ true); + "newColumn1", LEADERBOARDNAME, /* medalRace */ true); server.apply(addLeaderboardColumnOnServer); RacingEventServiceOperation addLeaderboardColumnOnReplica = new AddColumnToLeaderboard( - "newColumn2", LeaderboardNameConstants.DEFAULT_LEADERBOARD_NAME, /* medalRace */ true); + "newColumn2", LEADERBOARDNAME, /* medalRace */ true); replica.apply(addLeaderboardColumnOnReplica); replica.waitForNotRunning(); server.waitForNotRunning(); - RacingEventServiceOperation moveUpNewColumn2 = new MoveLeaderboardColumnUp(LeaderboardNameConstants.DEFAULT_LEADERBOARD_NAME, "newColumn2"); + RacingEventServiceOperation moveUpNewColumn2 = new MoveLeaderboardColumnUp(LEADERBOARDNAME, "newColumn2"); server.apply(moveUpNewColumn2); - RacingEventServiceOperation removeDefaultLeaderboard = new RemoveLeaderboard(LeaderboardNameConstants.DEFAULT_LEADERBOARD_NAME); + RacingEventServiceOperation removeDefaultLeaderboard = new RemoveLeaderboard(LEADERBOARDNAME); replica.apply(removeDefaultLeaderboard); replica.waitForNotRunning(); server.waitForNotRunning(); 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 6e0abed4833..b8b5a266743 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 @@ -91,7 +91,6 @@ import com.sap.sailing.domain.base.impl.RegattaImpl; import com.sap.sailing.domain.base.impl.RemoteSailingServerReferenceImpl; import com.sap.sailing.domain.common.DataImportProgress; import com.sap.sailing.domain.common.Distance; -import com.sap.sailing.domain.common.LeaderboardNameConstants; import com.sap.sailing.domain.common.Position; import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; import com.sap.sailing.domain.common.RegattaIdentifier; @@ -593,11 +592,6 @@ public class RacingEventServiceImpl implements RacingEventService, ClearStateTes this.configurationMap = new DeviceConfigurationMapImpl(); this.serviceFinderFactory = serviceFinderFactory; - // Add one default leaderboard that aggregates all races currently tracked by this service. - // This is more for debugging purposes than for anything else. - addFlexibleLeaderboard(LeaderboardNameConstants.DEFAULT_LEADERBOARD_NAME, null, new int[] { 5, 8 }, - getBaseDomainFactory().createScoringScheme(ScoringSchemeType.LOW_POINT), null); - final Iterable> loadedEventsWithRequireStoreFlag = loadStoredEvents(); loadStoredRegattas(); loadRaceIDToRegattaAssociations(); @@ -658,10 +652,6 @@ public class RacingEventServiceImpl implements RacingEventService, ClearStateTes } // TODO clear user store? See bug 2430. this.competitorStore.clear(); - // Add one default leaderboard that aggregates all races currently tracked by this service. - // This is more for debugging purposes than for anything else. - addFlexibleLeaderboard(LeaderboardNameConstants.DEFAULT_LEADERBOARD_NAME, null, new int[] { 5, 8 }, - getBaseDomainFactory().createScoringScheme(ScoringSchemeType.LOW_POINT), null); } @Override @@ -1596,12 +1586,6 @@ public class RacingEventServiceImpl implements RacingEventService, ClearStateTes trackedRace.getMillisecondsOverWhichToAverageSpeed()); replicate(op); linkRaceToConfiguredLeaderboardColumns(trackedRace); - final FlexibleLeaderboard defaultLeaderboard = (FlexibleLeaderboard) leaderboardsByName - .get(LeaderboardNameConstants.DEFAULT_LEADERBOARD_NAME); - if (defaultLeaderboard != null) { - String columnName = trackedRace.getRace().getName(); - defaultLeaderboard.addRace(trackedRace, columnName, /* medalRace */false); - } TrackedRaceReplicator trackedRaceReplicator = new TrackedRaceReplicator(trackedRace); trackedRaceReplicators.put(trackedRace, trackedRaceReplicator); trackedRace.addListener(trackedRaceReplicator, /* fire wind already loaded */true, true); @@ -1825,9 +1809,6 @@ public class RacingEventServiceImpl implements RacingEventService, ClearStateTes } for (RaceDefinition race : regatta.getAllRaces()) { stopTrackingWind(regatta, race); - // remove from default leaderboard - FlexibleLeaderboard defaultLeaderboard = (FlexibleLeaderboard) getLeaderboardByName(LeaderboardNameConstants.DEFAULT_LEADERBOARD_NAME); - defaultLeaderboard.removeRaceColumn(race.getName()); } } }