mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-09 22:01:02 +00:00
renamed create service for flexible leaderboard to ...FlexibleLeaderboard...
This commit is contained in:
1 parent
caa879f707
commit
7c5e4f196b
11 files changed
+45
-38
No files matched your search
+27
-19
@@ -149,7 +149,7 @@ import com.sap.sailing.server.RacingEventService;
|
||||
import com.sap.sailing.server.RacingEventServiceOperation;
|
||||
import com.sap.sailing.server.operationaltransformation.AddColumnToLeaderboard;
|
||||
import com.sap.sailing.server.operationaltransformation.ConnectTrackedRaceToLeaderboardColumn;
|
||||
import com.sap.sailing.server.operationaltransformation.CreateLeaderboard;
|
||||
import com.sap.sailing.server.operationaltransformation.CreateFlexibleLeaderboard;
|
||||
import com.sap.sailing.server.operationaltransformation.CreateLeaderboardGroup;
|
||||
import com.sap.sailing.server.operationaltransformation.DisconnectLeaderboardColumnFromTrackedRace;
|
||||
import com.sap.sailing.server.operationaltransformation.MoveLeaderboardColumnDown;
|
||||
@@ -256,12 +256,16 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS
|
||||
result.name = leaderboard.getName();
|
||||
result.competitorDisplayNames = new HashMap<CompetitorDTO, String>();
|
||||
for (RaceColumn raceColumn : leaderboard.getRaceColumns()) {
|
||||
RegattaAndRaceIdentifier raceIdentifier = null;
|
||||
if (raceColumn.getTrackedRace(fleet) != null) {
|
||||
for (Fleet fleet : raceColumn.getFleets()) {
|
||||
RegattaAndRaceIdentifier raceIdentifier = null;
|
||||
TrackedRace trackedRace = raceColumn.getTrackedRace(fleet);
|
||||
raceIdentifier = new RegattaNameAndRaceName(trackedRace.getTrackedEvent().getRegatta().getName(), trackedRace.getRace().getName());
|
||||
if (trackedRace != null) {
|
||||
raceIdentifier = new RegattaNameAndRaceName(trackedRace.getTrackedEvent().getRegatta()
|
||||
.getName(), trackedRace.getRace().getName());
|
||||
}
|
||||
result.addRace(raceColumn.getName(), fleet.getName(), raceColumn.isMedalRace(),
|
||||
raceIdentifier, /* StrippedRaceDTO */ null);
|
||||
}
|
||||
result.addRace(raceColumn.getName(), fleetName, raceColumn.isMedalRace(), raceIdentifier, /* StrippedRaceDTO */ null);
|
||||
}
|
||||
result.rows = new HashMap<CompetitorDTO, LeaderboardRowDTO>();
|
||||
result.hasCarriedPoints = leaderboard.hasCarriedPoints();
|
||||
@@ -1145,7 +1149,7 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS
|
||||
|
||||
@Override
|
||||
public LeaderboardDTO createLeaderboard(String leaderboardName, int[] discardThresholds) {
|
||||
return createStrippedLeaderboardDTO(getService().apply(new CreateLeaderboard(leaderboardName, discardThresholds)), false);
|
||||
return createStrippedLeaderboardDTO(getService().apply(new CreateFlexibleLeaderboard(leaderboardName, discardThresholds)), false);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -1182,11 +1186,15 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS
|
||||
for (Leaderboard leaderboard : leaderboards.values()) {
|
||||
Iterable<RaceColumn> races = leaderboard.getRaceColumns();
|
||||
for (RaceColumn raceInLeaderboard : races) {
|
||||
TrackedRace trackedRace = raceInLeaderboard.getTrackedRace(fleet);
|
||||
RaceDefinition trackedRaceDef = trackedRace != null ? trackedRace.getRace() : null;
|
||||
if (trackedRaceDef != null && trackedRaceDef.getName().equals(race.name)) {
|
||||
results.add(createStrippedLeaderboardDTO(leaderboard, false));
|
||||
break;
|
||||
for (Fleet fleet : raceInLeaderboard.getFleets()) {
|
||||
TrackedRace trackedRace = raceInLeaderboard.getTrackedRace(fleet);
|
||||
if (trackedRace != null) {
|
||||
RaceDefinition trackedRaceDef = trackedRace.getRace();
|
||||
if (trackedRaceDef.getName().equals(race.name)) {
|
||||
results.add(createStrippedLeaderboardDTO(leaderboard, false));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1202,9 +1210,9 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS
|
||||
* If <code>withAdditionalData</code> is <code>true</code>, additional data (like location and race dates) will be loaded.
|
||||
*/
|
||||
private LeaderboardDTO createStrippedLeaderboardDTO(Leaderboard leaderboard, boolean withAdditionalData) {
|
||||
LeaderboardDTO dto = new LeaderboardDTO();
|
||||
dto.name = leaderboard.getName();
|
||||
dto.competitorDisplayNames = new HashMap<CompetitorDTO, String>();
|
||||
LeaderboardDTO leaderboardDTO = new LeaderboardDTO();
|
||||
leaderboardDTO.name = leaderboard.getName();
|
||||
leaderboardDTO.competitorDisplayNames = new HashMap<CompetitorDTO, String>();
|
||||
for (RaceColumn raceColumn : leaderboard.getRaceColumns()) {
|
||||
RegattaAndRaceIdentifier raceIdentifier = null;
|
||||
StrippedRaceDTO race = null;
|
||||
@@ -1213,7 +1221,7 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS
|
||||
raceIdentifier = new RegattaNameAndRaceName(trackedRace.getTrackedEvent().getRegatta().getName(), trackedRace.getRace().getName());
|
||||
|
||||
if (withAdditionalData) {
|
||||
//Getting the places of the race
|
||||
// Getting the places of the race
|
||||
Pair<Placemark, Placemark> startAndFinish = getStartFinishPlacemarksForTrackedRace(trackedRace);
|
||||
PlacemarkOrderDTO racePlaces = new PlacemarkOrderDTO();
|
||||
if (startAndFinish.getA() != null) {
|
||||
@@ -1233,11 +1241,11 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS
|
||||
race.endOfRace = trackedRace.getEndOfRace() == null ? null : trackedRace.getEndOfRace().asDate();
|
||||
}
|
||||
}
|
||||
dto.addRace(raceColumn.getName(), fleetName, raceColumn.isMedalRace(), raceIdentifier, race);
|
||||
leaderboardDTO.addRace(raceColumn.getName(), fleetName, raceColumn.isMedalRace(), raceIdentifier, race);
|
||||
}
|
||||
dto.hasCarriedPoints = leaderboard.hasCarriedPoints();
|
||||
dto.discardThresholds = leaderboard.getResultDiscardingRule().getDiscardIndexResultsStartingWithHowManyRaces();
|
||||
return dto;
|
||||
leaderboardDTO.hasCarriedPoints = leaderboard.hasCarriedPoints();
|
||||
leaderboardDTO.discardThresholds = leaderboard.getResultDiscardingRule().getDiscardIndexResultsStartingWithHowManyRaces();
|
||||
return leaderboardDTO;
|
||||
}
|
||||
|
||||
private Pair<Placemark, Placemark> getStartFinishPlacemarksForTrackedRace(TrackedRace race) {
|
||||
|
||||
-1
@@ -60,7 +60,6 @@ public class RaceInLeaderboardDTO implements IsSerializable {
|
||||
/**
|
||||
* Returns an object with data (e.g. start date or places) for the RaceInLeaderboardDTO. Is <code>null</code>, if
|
||||
* the method {@link RaceInLeaderboardDTO#isTrackedRace(String)} returns <code>false</code>.
|
||||
* @param fleetName TODO
|
||||
*
|
||||
* @return An Object with additional data, or <code>null</code> if the race isn't tracked
|
||||
*/
|
||||
|
||||
+2
-2
@@ -26,7 +26,7 @@ import com.sap.sailing.domain.common.impl.Util;
|
||||
import com.sap.sailing.domain.leaderboard.Leaderboard;
|
||||
import com.sap.sailing.server.operationaltransformation.AddRegatta;
|
||||
import com.sap.sailing.server.operationaltransformation.AddRaceDefinition;
|
||||
import com.sap.sailing.server.operationaltransformation.CreateLeaderboard;
|
||||
import com.sap.sailing.server.operationaltransformation.CreateFlexibleLeaderboard;
|
||||
import com.sap.sailing.server.operationaltransformation.RemoveLeaderboard;
|
||||
|
||||
public class ServerReplicationTest extends AbstractServerReplicationTest {
|
||||
@@ -45,7 +45,7 @@ public class ServerReplicationTest extends AbstractServerReplicationTest {
|
||||
final String leaderboardName = "My new leaderboard";
|
||||
assertNull(replica.getLeaderboardByName(leaderboardName));
|
||||
final int[] discardThresholds = new int[] { 17, 23 };
|
||||
CreateLeaderboard createTestLeaderboard = new CreateLeaderboard(leaderboardName, discardThresholds);
|
||||
CreateFlexibleLeaderboard createTestLeaderboard = new CreateFlexibleLeaderboard(leaderboardName, discardThresholds);
|
||||
assertNull(master.getLeaderboardByName(leaderboardName));
|
||||
master.apply(createTestLeaderboard);
|
||||
final Leaderboard masterLeaderboard = master.getLeaderboardByName(leaderboardName);
|
||||
|
||||
+2
-2
@@ -37,7 +37,7 @@ import com.sap.sailing.server.OperationExecutionListener;
|
||||
import com.sap.sailing.server.RacingEventServiceOperation;
|
||||
import com.sap.sailing.server.operationaltransformation.AddColumnToLeaderboard;
|
||||
import com.sap.sailing.server.operationaltransformation.ConnectTrackedRaceToLeaderboardColumn;
|
||||
import com.sap.sailing.server.operationaltransformation.CreateLeaderboard;
|
||||
import com.sap.sailing.server.operationaltransformation.CreateFlexibleLeaderboard;
|
||||
import com.sap.sailing.server.operationaltransformation.CreateTrackedRace;
|
||||
|
||||
public class TrackRaceReplicationTest extends AbstractServerReplicationTest {
|
||||
@@ -113,7 +113,7 @@ public class TrackRaceReplicationTest extends AbstractServerReplicationTest {
|
||||
@Test
|
||||
public void testReassignmentToLeaderboardReplication() throws Exception {
|
||||
final String leaderboardName = "Test Leaderboard";
|
||||
Leaderboard masterLeaderboard = master.apply(new CreateLeaderboard(leaderboardName, new int[0]));
|
||||
Leaderboard masterLeaderboard = master.apply(new CreateFlexibleLeaderboard(leaderboardName, new int[0]));
|
||||
final String columnName = "R1";
|
||||
RaceColumn masterColumn = master.apply(new AddColumnToLeaderboard(columnName, leaderboardName, /* medalRace */ false));
|
||||
final Fleet defaultFleet = masterLeaderboard.getFleet(null);
|
||||
|
||||
+1
-1
@@ -25,7 +25,7 @@ public class LeaderboardDiscardingRulesTest {
|
||||
@Test
|
||||
public void testDiscardingRoules() {
|
||||
racingEventService.removeLeaderboard(LEADERBOARDNAME);
|
||||
racingEventService.addLeaderboard(LEADERBOARDNAME, new int[] { 1, 4 });
|
||||
racingEventService.addFlexibleLeaderboard(LEADERBOARDNAME, new int[] { 1, 4 });
|
||||
Leaderboard leaderboard = racingEventService.getLeaderboardByName(LEADERBOARDNAME);
|
||||
assertNotNull(leaderboard);
|
||||
int[] discardingRoulesNew = new int[] { 1, 5 };
|
||||
|
||||
+2
-2
@@ -20,7 +20,7 @@ import com.sap.sailing.server.RacingEventService;
|
||||
import com.sap.sailing.server.RacingEventServiceOperation;
|
||||
import com.sap.sailing.server.impl.RacingEventServiceImpl;
|
||||
import com.sap.sailing.server.operationaltransformation.AddColumnToLeaderboard;
|
||||
import com.sap.sailing.server.operationaltransformation.CreateLeaderboard;
|
||||
import com.sap.sailing.server.operationaltransformation.CreateFlexibleLeaderboard;
|
||||
import com.sap.sailing.server.operationaltransformation.MoveLeaderboardColumnUp;
|
||||
import com.sap.sailing.server.operationaltransformation.OperationalTransformer;
|
||||
import com.sap.sailing.server.operationaltransformation.RemoveLeaderboard;
|
||||
@@ -49,7 +49,7 @@ public class OperationalTransformationTest {
|
||||
|
||||
@Test
|
||||
public void testAddLeaderboard() {
|
||||
RacingEventServiceOperation<Leaderboard> addLeaderboardOp = new CreateLeaderboard(LEADERBOARDNAME, new int[] { 5 });
|
||||
RacingEventServiceOperation<Leaderboard> addLeaderboardOp = new CreateFlexibleLeaderboard(LEADERBOARDNAME, new int[] { 5 });
|
||||
server.apply(addLeaderboardOp);
|
||||
server.waitForNotRunning();
|
||||
replica.waitForNotRunning();
|
||||
|
||||
@@ -231,7 +231,7 @@ public interface RacingEventService extends TrackedRegattaRegistry, RegattaFetch
|
||||
*
|
||||
* @return the leaderboard created
|
||||
*/
|
||||
Leaderboard addLeaderboard(String name, int[] discardThresholds);
|
||||
Leaderboard addFlexibleLeaderboard(String name, int[] discardThresholds);
|
||||
|
||||
void removeLeaderboard(String leaderboardName);
|
||||
|
||||
|
||||
+3
-3
@@ -5,7 +5,7 @@ import java.io.Serializable;
|
||||
import com.sap.sailing.operationaltransformation.Operation;
|
||||
import com.sap.sailing.operationaltransformation.Transformer;
|
||||
import com.sap.sailing.server.operationaltransformation.AddColumnToLeaderboard;
|
||||
import com.sap.sailing.server.operationaltransformation.CreateLeaderboard;
|
||||
import com.sap.sailing.server.operationaltransformation.CreateFlexibleLeaderboard;
|
||||
import com.sap.sailing.server.operationaltransformation.MoveLeaderboardColumnDown;
|
||||
import com.sap.sailing.server.operationaltransformation.MoveLeaderboardColumnUp;
|
||||
import com.sap.sailing.server.operationaltransformation.RemoveLeaderboard;
|
||||
@@ -56,9 +56,9 @@ public interface RacingEventServiceOperation<ResultType> extends Operation<Racin
|
||||
|
||||
RacingEventServiceOperation<?> transformRenameLeaderboardColumnServerOp(RenameLeaderboardColumn renameLeaderboardColumnServerOp);
|
||||
|
||||
RacingEventServiceOperation<?> transformAddLeaderboardClientOp(CreateLeaderboard addLeaderboard);
|
||||
RacingEventServiceOperation<?> transformAddLeaderboardClientOp(CreateFlexibleLeaderboard addLeaderboard);
|
||||
|
||||
RacingEventServiceOperation<?> transformAddLeaderboardServerOp(CreateLeaderboard addLeaderboard);
|
||||
RacingEventServiceOperation<?> transformAddLeaderboardServerOp(CreateFlexibleLeaderboard addLeaderboard);
|
||||
|
||||
RacingEventServiceOperation<?> transformRemoveLeaderboardClientOp(RemoveLeaderboard removeLeaderboard);
|
||||
|
||||
|
||||
+2
-2
@@ -175,7 +175,7 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen
|
||||
courseListeners = new HashMap<RaceDefinition, CourseChangeReplicator>();
|
||||
// Add one default leaderboard that aggregates all races currently tracked by this service.
|
||||
// This is more for debugging purposes than for anything else.
|
||||
addLeaderboard(DefaultLeaderboardName.DEFAULT_LEADERBOARD_NAME, new int[] { 5, 8 });
|
||||
addFlexibleLeaderboard(DefaultLeaderboardName.DEFAULT_LEADERBOARD_NAME, new int[] { 5, 8 });
|
||||
loadStoredLeaderboardsAndGroups();
|
||||
}
|
||||
|
||||
@@ -198,7 +198,7 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen
|
||||
}
|
||||
|
||||
@Override
|
||||
public Leaderboard addLeaderboard(String name, int[] discardThresholds) {
|
||||
public Leaderboard addFlexibleLeaderboard(String name, int[] discardThresholds) {
|
||||
Leaderboard result = new FlexibleLeaderboardImpl(name, new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl(
|
||||
discardThresholds));
|
||||
synchronized (leaderboardsByName) {
|
||||
|
||||
+2
-2
@@ -48,12 +48,12 @@ public abstract class AbstractRacingEventServiceOperation<ResultType> implements
|
||||
}
|
||||
|
||||
@Override
|
||||
public RacingEventServiceOperation<?> transformAddLeaderboardClientOp(CreateLeaderboard addLeaderboard) {
|
||||
public RacingEventServiceOperation<?> transformAddLeaderboardClientOp(CreateFlexibleLeaderboard addLeaderboard) {
|
||||
return addLeaderboard;
|
||||
}
|
||||
|
||||
@Override
|
||||
public RacingEventServiceOperation<?> transformAddLeaderboardServerOp(CreateLeaderboard addLeaderboard) {
|
||||
public RacingEventServiceOperation<?> transformAddLeaderboardServerOp(CreateFlexibleLeaderboard addLeaderboard) {
|
||||
return addLeaderboard;
|
||||
}
|
||||
|
||||
|
||||
+3
-3
@@ -4,18 +4,18 @@ import com.sap.sailing.domain.leaderboard.Leaderboard;
|
||||
import com.sap.sailing.server.RacingEventService;
|
||||
import com.sap.sailing.server.RacingEventServiceOperation;
|
||||
|
||||
public class CreateLeaderboard extends AbstractLeaderboardOperation<Leaderboard> {
|
||||
public class CreateFlexibleLeaderboard extends AbstractLeaderboardOperation<Leaderboard> {
|
||||
private static final long serialVersionUID = 891352705068098580L;
|
||||
private final int[] discardThresholds;
|
||||
|
||||
public CreateLeaderboard(String leaderboardName, int[] discardThresholds) {
|
||||
public CreateFlexibleLeaderboard(String leaderboardName, int[] discardThresholds) {
|
||||
super(leaderboardName);
|
||||
this.discardThresholds = discardThresholds;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Leaderboard internalApplyTo(RacingEventService toState) {
|
||||
return toState.addLeaderboard(getLeaderboardName(), discardThresholds);
|
||||
return toState.addFlexibleLeaderboard(getLeaderboardName(), discardThresholds);
|
||||
}
|
||||
|
||||
@Override
|
||||
Reference in new issue
Block a user