From b1e40abcb5b374139ff793b5ce4124b1e2d291fb Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 5 Jun 2012 18:11:30 +0200 Subject: [PATCH] added CreateRegattaLeaderboard operation and implemented in SailingService --- .../ui/test/GwtTestCaseColumnToggling.java | 2 +- .../gwt/ui/test/TestColumnSwapping.java | 4 +-- .../adminconsole/LeaderboardConfigPanel.java | 2 +- .../sailing/gwt/ui/client/SailingService.java | 4 ++- .../gwt/ui/client/SailingServiceAsync.java | 5 ++- .../gwt/ui/server/SailingServiceImpl.java | 8 ++++- .../CreateFlexibleLeaderboard.java | 6 ++-- .../CreateRegattaLeaderboard.java | 36 +++++++++++++++++++ 8 files changed, 57 insertions(+), 10 deletions(-) create mode 100755 java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/CreateRegattaLeaderboard.java diff --git a/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/GwtTestCaseColumnToggling.java b/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/GwtTestCaseColumnToggling.java index a2cd02d424f..801b4b1a3ea 100644 --- a/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/GwtTestCaseColumnToggling.java +++ b/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/GwtTestCaseColumnToggling.java @@ -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() { @Override public void onSuccess(StrippedLeaderboardDTO result) { diff --git a/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/TestColumnSwapping.java b/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/TestColumnSwapping.java index f2e161d88d0..9e670d325a3 100755 --- a/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/TestColumnSwapping.java +++ b/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/TestColumnSwapping.java @@ -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]); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java index 40b90862ae2..e937fc996cb 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java @@ -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() { @Override public void onFailure(Throwable t) { diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java index 77ba2ea0cc1..2207bd84b64 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java @@ -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); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java index 2d7b61bfdc2..4d284d9b7d6 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java @@ -176,7 +176,10 @@ public interface SailingServiceAsync { void updateLeaderboard(String leaderboardName, String newLeaderboardName, int[] newDiscardingThreasholds, AsyncCallback callback); - void createLeaderboard(String leaderboardName, int[] discardThresholds, + void createFlexibleLeaderboard(String leaderboardName, int[] discardThresholds, + AsyncCallback asyncCallback); + + void createRegattaLeaderboard(RegattaIdentifier regattaIdentifier, int[] discardThresholds, AsyncCallback asyncCallback); void removeLeaderboard(String leaderboardName, AsyncCallback asyncCallback); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java index b5c05d6f964..bbb2cc16fc0 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java @@ -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 getLeaderboards() { Map leaderboards = getService().getLeaderboards(); diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/CreateFlexibleLeaderboard.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/CreateFlexibleLeaderboard.java index c20d7054e02..f250ce5408f 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/CreateFlexibleLeaderboard.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/CreateFlexibleLeaderboard.java @@ -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 { +public class CreateFlexibleLeaderboard extends AbstractLeaderboardOperation { private static final long serialVersionUID = 891352705068098580L; private final int[] discardThresholds; @@ -14,7 +14,7 @@ public class CreateFlexibleLeaderboard extends AbstractLeaderboardOperation { + 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; + } + +}