added CreateRegattaLeaderboard operation and implemented in SailingService

This commit is contained in:
Axel Uhl committed 2012-06-05 18:11:30 +02:00
1 parent e494d2b69c
commit b1e40abcb5
8 files changed
+57 -10

No files matched your search

@@ -101,7 +101,7 @@ public class GwtTestCaseColumnToggling extends GWTTestCase {
}
private void createLeaderboard(){
service.createLeaderboard(LEADERBOARD_NAME, new int[] { 1, 2 },
service.createFlexibleLeaderboard(LEADERBOARD_NAME, new int[] { 1, 2 },
new AsyncCallback<StrippedLeaderboardDTO>() {
@Override
public void onSuccess(StrippedLeaderboardDTO result) {
@@ -38,7 +38,7 @@ public class TestColumnSwapping {
public void prepareColumnSwapping() {
service = new SailingServiceImplMock();
int[] disc = { 5, 8, 9, 0, 7, 5, 43 };
service.createLeaderboard(LEADERBOARDNAME, disc);
service.createFlexibleLeaderboard(LEADERBOARDNAME, disc);
service.addColumnToLeaderboard("Race1", LEADERBOARDNAME, true);
service.addColumnToLeaderboard("Race2", LEADERBOARDNAME, true);
service.addColumnToLeaderboard("Race3", LEADERBOARDNAME, true);
@@ -70,7 +70,7 @@ public class TestColumnSwapping {
sailingService = new SailingServiceImplMock();
assertNotNull("Sailingservice != NULL", sailingService);
int td[] = { 5, 8 };
sailingService.createLeaderboard(TEST_LEADERBOARD_NAME, td);
sailingService.createFlexibleLeaderboard(TEST_LEADERBOARD_NAME, td);
for (int i = 0; i < races.length; i++)
sailingService.addColumnToLeaderboard(races[i], TEST_LEADERBOARD_NAME, isMedalRace[i]);
sailingService.moveLeaderboardColumnDown(TEST_LEADERBOARD_NAME, races[0]);
@@ -788,7 +788,7 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye
}
private void createNewLeaderboard(final StrippedLeaderboardDTO newLeaderboard) {
sailingService.createLeaderboard(newLeaderboard.name, newLeaderboard.discardThresholds,
sailingService.createFlexibleLeaderboard(newLeaderboard.name, newLeaderboard.discardThresholds,
new AsyncCallback<StrippedLeaderboardDTO>() {
@Override
public void onFailure(Throwable t) {
@@ -106,7 +106,9 @@ public interface SailingService extends RemoteService {
void updateLeaderboard(String leaderboardName, String newLeaderboardName, int[] newDiscardingThreasholds);
StrippedLeaderboardDTO createLeaderboard(String leaderboardName, int[] discardThresholds);
StrippedLeaderboardDTO createFlexibleLeaderboard(String leaderboardName, int[] discardThresholds);
StrippedLeaderboardDTO createRegattaLeaderboard(RegattaIdentifier regattaIdentifier, int[] discardThresholds);
void removeLeaderboard(String leaderboardName);
@@ -176,7 +176,10 @@ public interface SailingServiceAsync {
void updateLeaderboard(String leaderboardName, String newLeaderboardName, int[] newDiscardingThreasholds,
AsyncCallback<Void> callback);
void createLeaderboard(String leaderboardName, int[] discardThresholds,
void createFlexibleLeaderboard(String leaderboardName, int[] discardThresholds,
AsyncCallback<StrippedLeaderboardDTO> asyncCallback);
void createRegattaLeaderboard(RegattaIdentifier regattaIdentifier, int[] discardThresholds,
AsyncCallback<StrippedLeaderboardDTO> asyncCallback);
void removeLeaderboard(String leaderboardName, AsyncCallback<Void> asyncCallback);
@@ -162,6 +162,7 @@ import com.sap.sailing.server.operationaltransformation.ConnectTrackedRaceToLead
import com.sap.sailing.server.operationaltransformation.CreateEvent;
import com.sap.sailing.server.operationaltransformation.CreateFlexibleLeaderboard;
import com.sap.sailing.server.operationaltransformation.CreateLeaderboardGroup;
import com.sap.sailing.server.operationaltransformation.CreateRegattaLeaderboard;
import com.sap.sailing.server.operationaltransformation.DisconnectLeaderboardColumnFromTrackedRace;
import com.sap.sailing.server.operationaltransformation.MoveColumnInSeriesDown;
import com.sap.sailing.server.operationaltransformation.MoveColumnInSeriesUp;
@@ -1210,10 +1211,15 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS
}
@Override
public StrippedLeaderboardDTO createLeaderboard(String leaderboardName, int[] discardThresholds) {
public StrippedLeaderboardDTO createFlexibleLeaderboard(String leaderboardName, int[] discardThresholds) {
return createStrippedLeaderboardDTO(getService().apply(new CreateFlexibleLeaderboard(leaderboardName, discardThresholds)), false);
}
@Override
public StrippedLeaderboardDTO createRegattaLeaderboard(RegattaIdentifier regattaIdentifier, int[] discardThresholds) {
return createStrippedLeaderboardDTO(getService().apply(new CreateRegattaLeaderboard(regattaIdentifier, discardThresholds)), false);
}
@Override
public List<StrippedLeaderboardDTO> getLeaderboards() {
Map<String, Leaderboard> leaderboards = getService().getLeaderboards();
@@ -1,10 +1,10 @@
package com.sap.sailing.server.operationaltransformation;
import com.sap.sailing.domain.leaderboard.Leaderboard;
import com.sap.sailing.domain.leaderboard.FlexibleLeaderboard;
import com.sap.sailing.server.RacingEventService;
import com.sap.sailing.server.RacingEventServiceOperation;
public class CreateFlexibleLeaderboard extends AbstractLeaderboardOperation<Leaderboard> {
public class CreateFlexibleLeaderboard extends AbstractLeaderboardOperation<FlexibleLeaderboard> {
private static final long serialVersionUID = 891352705068098580L;
private final int[] discardThresholds;
@@ -14,7 +14,7 @@ public class CreateFlexibleLeaderboard extends AbstractLeaderboardOperation<Lead
}
@Override
public Leaderboard internalApplyTo(RacingEventService toState) {
public FlexibleLeaderboard internalApplyTo(RacingEventService toState) {
return toState.addFlexibleLeaderboard(getLeaderboardName(), discardThresholds);
}
@@ -0,0 +1,36 @@
package com.sap.sailing.server.operationaltransformation;
import com.sap.sailing.domain.common.RegattaIdentifier;
import com.sap.sailing.domain.leaderboard.RegattaLeaderboard;
import com.sap.sailing.server.RacingEventService;
import com.sap.sailing.server.RacingEventServiceOperation;
public class CreateRegattaLeaderboard extends AbstractRacingEventServiceOperation<RegattaLeaderboard> {
private static final long serialVersionUID = 891352705068098580L;
private final int[] discardThresholds;
private final RegattaIdentifier regattaIdentifier;
public CreateRegattaLeaderboard(RegattaIdentifier regattaIdentifier, int[] discardThresholds) {
this.regattaIdentifier = regattaIdentifier;
this.discardThresholds = discardThresholds;
}
@Override
public RegattaLeaderboard internalApplyTo(RacingEventService toState) {
RegattaLeaderboard result = toState.addRegattaLeaderboard(regattaIdentifier, discardThresholds);
return result;
}
@Override
public RacingEventServiceOperation<?> transformClientOp(RacingEventServiceOperation<?> serverOp) {
// TODO
return null;
}
@Override
public RacingEventServiceOperation<?> transformServerOp(RacingEventServiceOperation<?> clientOp) {
// TODO
return null;
}
}