renamed create service for flexible leaderboard to ...FlexibleLeaderboard...

This commit is contained in:
Axel Uhl committed 2012-05-16 09:52:00 +02:00
1 parent caa879f707
commit 7c5e4f196b
11 files changed
+45 -38

No files matched your search

@@ -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) {
@@ -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
*/
@@ -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);
@@ -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);
@@ -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 };
@@ -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);
@@ -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);
@@ -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) {
@@ -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;
}
@@ -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