refactored such that RacingEventServiceOperation has internalApplyTo with a logical return type

This commit is contained in:
Axel Uhl
2012-04-20 14:33:06 +02:00
parent fbcf748000
commit 6380d8709a
34 changed files with 222 additions and 206 deletions
@@ -29,8 +29,8 @@ public class OperationalTransformationTest {
private RacingEventService racingEventServiceServer;
private RacingEventService racingEventServiceReplica;
private Peer<RacingEventServiceOperation, RacingEventService> server;
private Peer<RacingEventServiceOperation, RacingEventService> replica;
private Peer<RacingEventServiceOperation<?>, RacingEventService> server;
private Peer<RacingEventServiceOperation<?>, RacingEventService> replica;
@Before
public void setUp() {
@@ -48,7 +48,7 @@ public class OperationalTransformationTest {
@Test
public void testAddLeaderboard() {
RacingEventServiceOperation addLeaderboardOp = new CreateLeaderboard(LEADERBOARDNAME, new int[] { 5 });
RacingEventServiceOperation<Leaderboard> addLeaderboardOp = new CreateLeaderboard(LEADERBOARDNAME, new int[] { 5 });
server.apply(addLeaderboardOp);
server.waitForNotRunning();
replica.waitForNotRunning();
@@ -61,10 +61,10 @@ public class OperationalTransformationTest {
@Test
public void testAddColumnToLeaderboardOnClientAndRemoveLeaderboardOnServer() throws InterruptedException {
RacingEventServiceOperation addLeaderboardColumn = new AddColumnToLeaderboard(
RacingEventServiceOperation<Void> addLeaderboardColumn = new AddColumnToLeaderboard(
"newColumn", DefaultLeaderboardName.DEFAULT_LEADERBOARD_NAME, /* medalRace */ true);
server.apply(addLeaderboardColumn);
RacingEventServiceOperation removeDefaultLeaderboard = new RemoveLeaderboard(DefaultLeaderboardName.DEFAULT_LEADERBOARD_NAME);
RacingEventServiceOperation<Void> removeDefaultLeaderboard = new RemoveLeaderboard(DefaultLeaderboardName.DEFAULT_LEADERBOARD_NAME);
replica.apply(removeDefaultLeaderboard);
replica.waitForNotRunning();
server.waitForNotRunning();
@@ -74,17 +74,17 @@ public class OperationalTransformationTest {
@Test
public void testAddOneColumnOnEachSideThenMoveOneUpOnServerAndRemoveLeaderboardOnClient() throws InterruptedException {
RacingEventServiceOperation addLeaderboardColumnOnServer = new AddColumnToLeaderboard(
RacingEventServiceOperation<Void> addLeaderboardColumnOnServer = new AddColumnToLeaderboard(
"newColumn1", DefaultLeaderboardName.DEFAULT_LEADERBOARD_NAME, /* medalRace */ true);
server.apply(addLeaderboardColumnOnServer);
RacingEventServiceOperation addLeaderboardColumnOnReplica = new AddColumnToLeaderboard(
RacingEventServiceOperation<Void> addLeaderboardColumnOnReplica = new AddColumnToLeaderboard(
"newColumn2", DefaultLeaderboardName.DEFAULT_LEADERBOARD_NAME, /* medalRace */ true);
replica.apply(addLeaderboardColumnOnReplica);
replica.waitForNotRunning();
server.waitForNotRunning();
RacingEventServiceOperation moveUpNewColumn2 = new MoveLeaderboardColumnUp(DefaultLeaderboardName.DEFAULT_LEADERBOARD_NAME, "newColumn2");
RacingEventServiceOperation<Void> moveUpNewColumn2 = new MoveLeaderboardColumnUp(DefaultLeaderboardName.DEFAULT_LEADERBOARD_NAME, "newColumn2");
server.apply(moveUpNewColumn2);
RacingEventServiceOperation removeDefaultLeaderboard = new RemoveLeaderboard(DefaultLeaderboardName.DEFAULT_LEADERBOARD_NAME);
RacingEventServiceOperation<Void> removeDefaultLeaderboard = new RemoveLeaderboard(DefaultLeaderboardName.DEFAULT_LEADERBOARD_NAME);
replica.apply(removeDefaultLeaderboard);
replica.waitForNotRunning();
server.waitForNotRunning();
@@ -332,6 +332,6 @@ public interface RacingEventService extends TrackedEventRegistry {
/**
* Executes an operation whose effects need to be replicated to any replica of this service known.
*/
void apply(RacingEventServiceOperation operation);
<T> T apply(RacingEventServiceOperation<T> operation);
}
@@ -911,14 +911,14 @@ public class RacingEventServiceImpl implements RacingEventService, EventFetcher,
}
/**
* Currently, the operation is executed by immediately {@link Operation#applyTo(Object) applying} it to this
* Currently, the operation is executed by immediately {@link Operation#internalApplyTo(Object) applying} it to this
* service object.<p>
*
* Future implementations of this method will need to also replicate the effects of the operation to all replica
* of this service known.
*/
@Override
public void apply(RacingEventServiceOperation operation) {
operation.applyTo(this);
public <T> T apply(RacingEventServiceOperation<T> operation) {
return operation.internalApplyTo(this);
}
}
@@ -2,7 +2,7 @@ package com.sap.sailing.server.operationaltransformation;
public abstract class AbstractLeaderboardColumnOperation extends AbstractLeaderboardOperation {
public abstract class AbstractLeaderboardColumnOperation<ResultType> extends AbstractLeaderboardOperation<ResultType> {
private static final long serialVersionUID = 8577267743945864388L;
private final String columnName;
@@ -15,7 +15,7 @@ public abstract class AbstractLeaderboardColumnOperation extends AbstractLeaderb
return columnName;
}
protected boolean affectsSameColumn(AbstractLeaderboardColumnOperation other) {
protected boolean affectsSameColumn(AbstractLeaderboardColumnOperation<?> other) {
return affectsSameLeaderboard(other) && getColumnName().equals(other.getColumnName());
}
@@ -1,6 +1,6 @@
package com.sap.sailing.server.operationaltransformation;
public abstract class AbstractLeaderboardGroupOperation extends AbstractRacingEventServiceOperation {
public abstract class AbstractLeaderboardGroupOperation<ResultType> extends AbstractRacingEventServiceOperation<ResultType> {
private static final long serialVersionUID = 4341066708061847418L;
private final String leaderboardGroupName;
@@ -13,7 +13,7 @@ public abstract class AbstractLeaderboardGroupOperation extends AbstractRacingEv
return leaderboardGroupName;
}
protected boolean affectsSameLeaderboardGroup(AbstractLeaderboardGroupOperation other) {
protected boolean affectsSameLeaderboardGroup(AbstractLeaderboardGroupOperation<?> other) {
return getLeaderboardGroupName().equals(other.getLeaderboardGroupName());
}
@@ -2,7 +2,7 @@ package com.sap.sailing.server.operationaltransformation;
public abstract class AbstractLeaderboardOperation extends AbstractRacingEventServiceOperation {
public abstract class AbstractLeaderboardOperation<ResultType> extends AbstractRacingEventServiceOperation<ResultType> {
private static final long serialVersionUID = 5377910723455422127L;
private final String leaderboardName;
@@ -15,7 +15,7 @@ public abstract class AbstractLeaderboardOperation extends AbstractRacingEventSe
return leaderboardName;
}
protected boolean affectsSameLeaderboard(AbstractLeaderboardOperation other) {
protected boolean affectsSameLeaderboard(AbstractLeaderboardOperation<?> other) {
return getLeaderboardName().equals(other.getLeaderboardName());
}
@@ -2,7 +2,7 @@ package com.sap.sailing.server.operationaltransformation;
import com.sap.sailing.domain.common.EventAndRaceIdentifier;
public abstract class AbstractRaceOperation extends AbstractRacingEventServiceOperation {
public abstract class AbstractRaceOperation<ResultType> extends AbstractRacingEventServiceOperation<ResultType> {
private static final long serialVersionUID = -1162468486451355784L;
private EventAndRaceIdentifier raceIdentifier;
@@ -11,103 +11,113 @@ import com.sap.sailing.server.RacingEventService;
* @author Axel Uhl (d043530)
*
*/
public abstract class AbstractRacingEventServiceOperation implements RacingEventServiceOperation {
public abstract class AbstractRacingEventServiceOperation<ResultType> implements RacingEventServiceOperation<ResultType> {
private static final long serialVersionUID = 3888231857034991271L;
/**
* Ignores the actual result of {@link #internalApplyTo(RacingEventService)} and returns <code>toState</code> which
* for the operational transformation algorithm is the "next state reached."
*/
@Override
public RacingEventServiceOperation transformRemoveLeaderboardClientOp(RemoveLeaderboard removeLeaderboard) {
public RacingEventService applyTo(RacingEventService toState) {
internalApplyTo(toState);
return toState;
}
@Override
public RacingEventServiceOperation<?> transformRemoveLeaderboardClientOp(RemoveLeaderboard removeLeaderboard) {
return removeLeaderboard;
}
@Override
public RacingEventServiceOperation transformRemoveLeaderboardServerOp(RemoveLeaderboard removeLeaderboard) {
public RacingEventServiceOperation<?> transformRemoveLeaderboardServerOp(RemoveLeaderboard removeLeaderboard) {
return removeLeaderboard;
}
@Override
public RacingEventServiceOperation transformAddLeaderboardClientOp(CreateLeaderboard addLeaderboard) {
public RacingEventServiceOperation<?> transformAddLeaderboardClientOp(CreateLeaderboard addLeaderboard) {
return addLeaderboard;
}
@Override
public RacingEventServiceOperation transformAddLeaderboardServerOp(CreateLeaderboard addLeaderboard) {
public RacingEventServiceOperation<?> transformAddLeaderboardServerOp(CreateLeaderboard addLeaderboard) {
return addLeaderboard;
}
@Override
public RacingEventServiceOperation transformRenameLeaderboardColumnClientOp(
public RacingEventServiceOperation<?> transformRenameLeaderboardColumnClientOp(
RenameLeaderboardColumn renameLeaderboardColumnClientOp) {
return renameLeaderboardColumnClientOp;
}
@Override
public RacingEventServiceOperation transformRenameLeaderboardColumnServerOp(
public RacingEventServiceOperation<?> transformRenameLeaderboardColumnServerOp(
RenameLeaderboardColumn renameLeaderboardColumnServerOp) {
return renameLeaderboardColumnServerOp;
}
@Override
public RacingEventServiceOperation transformRemoveColumnFromLeaderboardServerOp(RemoveLeaderboardColumn removeColumnFromLeaderboardServerOp) {
public RacingEventServiceOperation<?> transformRemoveColumnFromLeaderboardServerOp(RemoveLeaderboardColumn removeColumnFromLeaderboardServerOp) {
return removeColumnFromLeaderboardServerOp;
}
@Override
public RacingEventServiceOperation transformRemoveColumnFromLeaderboardClientOp(RemoveLeaderboardColumn removeColumnFromLeaderboardClientOp) {
public RacingEventServiceOperation<?> transformRemoveColumnFromLeaderboardClientOp(RemoveLeaderboardColumn removeColumnFromLeaderboardClientOp) {
return removeColumnFromLeaderboardClientOp;
}
@Override
public RacingEventServiceOperation transformAddColumnToLeaderboardClientOp(
public RacingEventServiceOperation<?> transformAddColumnToLeaderboardClientOp(
AddColumnToLeaderboard addColumnToLeaderboard) {
return addColumnToLeaderboard;
}
@Override
public RacingEventServiceOperation transformAddColumnToLeaderboardServerOp(
public RacingEventServiceOperation<?> transformAddColumnToLeaderboardServerOp(
AddColumnToLeaderboard addColumnToLeaderboard) {
return addColumnToLeaderboard;
}
@Override
public RacingEventServiceOperation transformMoveLeaderboardColumnDownClientOp(
public RacingEventServiceOperation<?> transformMoveLeaderboardColumnDownClientOp(
MoveLeaderboardColumnDown moveLeaderboardColumnDown) {
return moveLeaderboardColumnDown;
}
@Override
public RacingEventServiceOperation transformMoveLeaderboardColumnDownServerOp(
public RacingEventServiceOperation<?> transformMoveLeaderboardColumnDownServerOp(
MoveLeaderboardColumnDown moveLeaderboardColumnDown) {
return moveLeaderboardColumnDown;
}
@Override
public RacingEventServiceOperation transformMoveLeaderboardColumnUpClientOp(
public RacingEventServiceOperation<?> transformMoveLeaderboardColumnUpClientOp(
MoveLeaderboardColumnUp moveLeaderboardColumnUp) {
return moveLeaderboardColumnUp;
}
@Override
public RacingEventServiceOperation transformMoveLeaderboardColumnUpServerOp(
public RacingEventServiceOperation<?> transformMoveLeaderboardColumnUpServerOp(
MoveLeaderboardColumnUp moveLeaderboardColumnUp) {
return moveLeaderboardColumnUp;
}
public static RacingEventServiceOperation getNoOp() {
return new AbstractRacingEventServiceOperation() {
public static RacingEventServiceOperation<Void> getNoOp() {
return new AbstractRacingEventServiceOperation<Void>() {
private static final long serialVersionUID = -7203280393485688834L;
@Override
public RacingEventService applyTo(RacingEventService toState) {
return toState;
public Void internalApplyTo(RacingEventService toState) {
return null;
}
@Override
public RacingEventServiceOperation transformClientOp(RacingEventServiceOperation serverOp) {
public RacingEventServiceOperation<Void> transformClientOp(RacingEventServiceOperation<?> serverOp) {
return this;
}
@Override
public RacingEventServiceOperation transformServerOp(RacingEventServiceOperation clientOp) {
public RacingEventServiceOperation<Void> transformServerOp(RacingEventServiceOperation<?> clientOp) {
return this;
}
@@ -9,7 +9,7 @@ import com.sap.sailing.server.RacingEventService;
* @author Axel Uhl (d043530)
*
*/
public class AddColumnToLeaderboard extends AbstractLeaderboardColumnOperation {
public class AddColumnToLeaderboard extends AbstractLeaderboardColumnOperation<Void> {
private static final long serialVersionUID = -7670764349119941051L;
private final boolean medalRace;
@@ -19,18 +19,18 @@ public class AddColumnToLeaderboard extends AbstractLeaderboardColumnOperation {
}
@Override
public RacingEventService applyTo(RacingEventService toState) {
public Void internalApplyTo(RacingEventService toState) {
toState.addColumnToLeaderboard(getColumnName(), getLeaderboardName(), medalRace);
return toState;
return null;
}
@Override
public RacingEventServiceOperation transformClientOp(RacingEventServiceOperation serverOp) {
public RacingEventServiceOperation<?> transformClientOp(RacingEventServiceOperation<?> serverOp) {
return serverOp.transformAddColumnToLeaderboardClientOp(this);
}
@Override
public RacingEventServiceOperation transformServerOp(RacingEventServiceOperation clientOp) {
public RacingEventServiceOperation<?> transformServerOp(RacingEventServiceOperation<?> clientOp) {
return clientOp.transformAddColumnToLeaderboardServerOp(this);
}
}
@@ -2,7 +2,7 @@ package com.sap.sailing.server.operationaltransformation;
import com.sap.sailing.server.RacingEventService;
public class AddEvent extends AbstractRacingEventServiceOperation {
public class AddEvent extends AbstractRacingEventServiceOperation<Void> {
private static final long serialVersionUID = -3550383541066673065L;
private final String eventName;
private final String boatClassName;
@@ -16,21 +16,21 @@ public class AddEvent extends AbstractRacingEventServiceOperation {
}
@Override
public RacingEventServiceOperation transformClientOp(RacingEventServiceOperation serverOp) {
public RacingEventServiceOperation<?> transformClientOp(RacingEventServiceOperation<?> serverOp) {
// TODO Auto-generated method stub
return null;
}
@Override
public RacingEventServiceOperation transformServerOp(RacingEventServiceOperation clientOp) {
public RacingEventServiceOperation<?> transformServerOp(RacingEventServiceOperation<?> clientOp) {
// TODO Auto-generated method stub
return null;
}
@Override
public RacingEventService applyTo(RacingEventService toState) {
public Void internalApplyTo(RacingEventService toState) {
toState.createEvent(eventName, boatClassName, boatClassTypicallyStartsUpwind);
return toState;
return null;
}
}
@@ -4,7 +4,7 @@ import com.sap.sailing.domain.base.RaceDefinition;
import com.sap.sailing.domain.common.EventIdentifier;
import com.sap.sailing.server.RacingEventService;
public class AddRaceDefinition extends AbstractRacingEventServiceOperation {
public class AddRaceDefinition extends AbstractRacingEventServiceOperation<Void> {
private static final long serialVersionUID = -2282997511967012426L;
private final EventIdentifier eventIdentifier;
private final RaceDefinition raceDefinition;
@@ -16,21 +16,21 @@ public class AddRaceDefinition extends AbstractRacingEventServiceOperation {
}
@Override
public RacingEventServiceOperation transformClientOp(RacingEventServiceOperation serverOp) {
public RacingEventServiceOperation<?> transformClientOp(RacingEventServiceOperation<?> serverOp) {
// TODO Auto-generated method stub
return null;
}
@Override
public RacingEventServiceOperation transformServerOp(RacingEventServiceOperation clientOp) {
public RacingEventServiceOperation<?> transformServerOp(RacingEventServiceOperation<?> clientOp) {
// TODO Auto-generated method stub
return null;
}
@Override
public RacingEventService applyTo(RacingEventService toState) {
public Void internalApplyTo(RacingEventService toState) {
toState.addRace(eventIdentifier, raceDefinition);
return toState;
return null;
}
}
@@ -6,7 +6,7 @@ import com.sap.sailing.domain.leaderboard.RaceInLeaderboard;
import com.sap.sailing.domain.tracking.TrackedRace;
import com.sap.sailing.server.RacingEventService;
public class ConnectTrackedRaceToLeaderboardColumn extends AbstractLeaderboardColumnOperation {
public class ConnectTrackedRaceToLeaderboardColumn extends AbstractLeaderboardColumnOperation<Boolean> {
private static final long serialVersionUID = -1336511401516212508L;
private final RaceIdentifier raceToConnect;
@@ -16,19 +16,19 @@ public class ConnectTrackedRaceToLeaderboardColumn extends AbstractLeaderboardCo
}
@Override
public RacingEventServiceOperation transformClientOp(RacingEventServiceOperation serverOp) {
public RacingEventServiceOperation<?> transformClientOp(RacingEventServiceOperation<?> serverOp) {
// TODO Auto-generated method stub
return null;
}
@Override
public RacingEventServiceOperation transformServerOp(RacingEventServiceOperation clientOp) {
public RacingEventServiceOperation<?> transformServerOp(RacingEventServiceOperation<?> clientOp) {
// TODO Auto-generated method stub
return null;
}
@Override
public RacingEventService applyTo(RacingEventService toState) {
public Boolean internalApplyTo(RacingEventService toState) {
boolean success = false;
TrackedRace trackedRace = toState.getExistingTrackedRace(raceToConnect);
if (trackedRace != null) {
@@ -43,7 +43,7 @@ public class ConnectTrackedRaceToLeaderboardColumn extends AbstractLeaderboardCo
}
}
}
return toState;
return success;
}
}
@@ -1,8 +1,9 @@
package com.sap.sailing.server.operationaltransformation;
import com.sap.sailing.domain.leaderboard.Leaderboard;
import com.sap.sailing.server.RacingEventService;
public class CreateLeaderboard extends AbstractLeaderboardOperation {
public class CreateLeaderboard extends AbstractLeaderboardOperation<Leaderboard> {
private static final long serialVersionUID = 891352705068098580L;
private final int[] discardThresholds;
@@ -12,18 +13,17 @@ public class CreateLeaderboard extends AbstractLeaderboardOperation {
}
@Override
public RacingEventService applyTo(RacingEventService toState) {
toState.addLeaderboard(getLeaderboardName(), discardThresholds);
return toState;
public Leaderboard internalApplyTo(RacingEventService toState) {
return toState.addLeaderboard(getLeaderboardName(), discardThresholds);
}
@Override
public RacingEventServiceOperation transformClientOp(RacingEventServiceOperation serverOp) {
public RacingEventServiceOperation<?> transformClientOp(RacingEventServiceOperation<?> serverOp) {
return serverOp.transformAddLeaderboardClientOp(this);
}
@Override
public RacingEventServiceOperation transformServerOp(RacingEventServiceOperation clientOp) {
public RacingEventServiceOperation<?> transformServerOp(RacingEventServiceOperation<?> clientOp) {
return clientOp.transformAddLeaderboardServerOp(this);
}
@@ -2,9 +2,10 @@ package com.sap.sailing.server.operationaltransformation;
import java.util.List;
import com.sap.sailing.domain.leaderboard.LeaderboardGroup;
import com.sap.sailing.server.RacingEventService;
public class CreateLeaderboardGroup extends AbstractLeaderboardGroupOperation {
public class CreateLeaderboardGroup extends AbstractLeaderboardGroupOperation<LeaderboardGroup> {
private static final long serialVersionUID = -5028997286564650805L;
private final String description;
private final List<String> leaderboardNames;
@@ -16,21 +17,20 @@ public class CreateLeaderboardGroup extends AbstractLeaderboardGroupOperation {
}
@Override
public RacingEventServiceOperation transformClientOp(RacingEventServiceOperation serverOp) {
public RacingEventServiceOperation<?> transformClientOp(RacingEventServiceOperation<?> serverOp) {
// TODO Auto-generated method stub
return null;
}
@Override
public RacingEventServiceOperation transformServerOp(RacingEventServiceOperation clientOp) {
public RacingEventServiceOperation<?> transformServerOp(RacingEventServiceOperation<?> clientOp) {
// TODO Auto-generated method stub
return null;
}
@Override
public RacingEventService applyTo(RacingEventService toState) {
toState.addLeaderboardGroup(getLeaderboardGroupName(), description, leaderboardNames);
return toState;
public LeaderboardGroup internalApplyTo(RacingEventService toState) {
return toState.addLeaderboardGroup(getLeaderboardGroupName(), description, leaderboardNames);
}
}
@@ -18,7 +18,7 @@ import com.sap.sailing.server.RacingEventService;
* @author Axel Uhl (d043530)
*
*/
public class CreateTrackedRace extends AbstractRaceOperation {
public class CreateTrackedRace extends AbstractRaceOperation<TrackedRace> {
private static final long serialVersionUID = 5084401060896514911L;
private final long millisecondsOverWhichToAverageWind;
private final long millisecondsOverWhichToAverageSpeed;
@@ -30,21 +30,21 @@ public class CreateTrackedRace extends AbstractRaceOperation {
}
@Override
public RacingEventServiceOperation transformClientOp(RacingEventServiceOperation serverOp) {
public RacingEventServiceOperation<?> transformClientOp(RacingEventServiceOperation<?> serverOp) {
// TODO Auto-generated method stub
return null;
}
@Override
public RacingEventServiceOperation transformServerOp(RacingEventServiceOperation clientOp) {
public RacingEventServiceOperation<?> transformServerOp(RacingEventServiceOperation<?> clientOp) {
// TODO Auto-generated method stub
return null;
}
@Override
public RacingEventService applyTo(RacingEventService toState) {
toState.createTrackedRace(getRaceIdentifier(), EmptyWindStore.INSTANCE, millisecondsOverWhichToAverageWind, millisecondsOverWhichToAverageSpeed);
return toState;
public TrackedRace internalApplyTo(RacingEventService toState) {
return toState.createTrackedRace(getRaceIdentifier(), EmptyWindStore.INSTANCE,
millisecondsOverWhichToAverageWind, millisecondsOverWhichToAverageSpeed);
}
}
@@ -2,7 +2,7 @@ package com.sap.sailing.server.operationaltransformation;
import com.sap.sailing.server.RacingEventService;
public class MoveLeaderboardColumnDown extends AbstractLeaderboardColumnOperation {
public class MoveLeaderboardColumnDown extends AbstractLeaderboardColumnOperation<Void> {
private static final long serialVersionUID = -1041804872669106579L;
@@ -11,18 +11,18 @@ public class MoveLeaderboardColumnDown extends AbstractLeaderboardColumnOperatio
}
@Override
public RacingEventService applyTo(RacingEventService toState) {
public Void internalApplyTo(RacingEventService toState) {
toState.moveLeaderboardColumnDown(getLeaderboardName(), getColumnName());
return toState;
return null;
}
@Override
public RacingEventServiceOperation transformClientOp(RacingEventServiceOperation serverOp) {
public RacingEventServiceOperation<?> transformClientOp(RacingEventServiceOperation<?> serverOp) {
return serverOp.transformMoveLeaderboardColumnDownClientOp(this);
}
@Override
public RacingEventServiceOperation transformServerOp(RacingEventServiceOperation clientOp) {
public RacingEventServiceOperation<?> transformServerOp(RacingEventServiceOperation<?> clientOp) {
return clientOp.transformMoveLeaderboardColumnDownServerOp(this);
}
@@ -2,7 +2,7 @@ package com.sap.sailing.server.operationaltransformation;
import com.sap.sailing.server.RacingEventService;
public class MoveLeaderboardColumnUp extends AbstractLeaderboardColumnOperation {
public class MoveLeaderboardColumnUp extends AbstractLeaderboardColumnOperation<Void> {
private static final long serialVersionUID = 8444485841005051004L;
@@ -11,19 +11,19 @@ public class MoveLeaderboardColumnUp extends AbstractLeaderboardColumnOperation
}
@Override
public RacingEventService applyTo(RacingEventService toState) {
public Void internalApplyTo(RacingEventService toState) {
toState.moveLeaderboardColumnUp(getLeaderboardName(), getColumnName());
return toState;
return null;
}
@Override
public RacingEventServiceOperation transformClientOp(RacingEventServiceOperation serverOp) {
public RacingEventServiceOperation<?> transformClientOp(RacingEventServiceOperation<?> serverOp) {
return serverOp.transformMoveLeaderboardColumnUpClientOp(this);
}
@Override
public RacingEventServiceOperation transformServerOp(RacingEventServiceOperation clientOp) {
public RacingEventServiceOperation<?> transformServerOp(RacingEventServiceOperation<?> clientOp) {
return clientOp.transformMoveLeaderboardColumnUpServerOp(this);
}
@@ -3,12 +3,12 @@ package com.sap.sailing.server.operationaltransformation;
import com.sap.sailing.operationaltransformation.ClientServerOperationPair;
import com.sap.sailing.operationaltransformation.Transformer;
public class OperationalTransformer implements Transformer<RacingEventServiceOperation> {
public class OperationalTransformer implements Transformer<RacingEventServiceOperation<?>> {
@Override
public ClientServerOperationPair<RacingEventServiceOperation> transform(RacingEventServiceOperation clientOp,
RacingEventServiceOperation serverOp) {
ClientServerOperationPair<RacingEventServiceOperation> result = new ClientServerOperationPair<RacingEventServiceOperation>(
public ClientServerOperationPair<RacingEventServiceOperation<?>> transform(RacingEventServiceOperation<?> clientOp,
RacingEventServiceOperation<?> serverOp) {
ClientServerOperationPair<RacingEventServiceOperation<?>> result = new ClientServerOperationPair<RacingEventServiceOperation<?>>(
clientOp.transformClientOp(serverOp), serverOp.transformServerOp(clientOp));
return result;
}
@@ -6,7 +6,13 @@ import com.sap.sailing.operationaltransformation.Operation;
import com.sap.sailing.operationaltransformation.Transformer;
import com.sap.sailing.server.RacingEventService;
public interface RacingEventServiceOperation extends Operation<RacingEventService>, Serializable {
public interface RacingEventServiceOperation<ResultType> extends Operation<RacingEventService>, Serializable {
/**
* Performs the actual operation, applying it to the <code>toState</code> service. The operation's result is
* returned.
*/
ResultType internalApplyTo(RacingEventService toState);
/**
* Implements the specific transformation rule for the implementing subclass for the set of possible peer operations
* along which to transform this operation, assuming this is the client operation. See
@@ -14,7 +20,7 @@ public interface RacingEventServiceOperation extends Operation<RacingEventServic
*
* @return the result of transforming <code>this</code> operation along <code>serverOp</code>
*/
RacingEventServiceOperation transformClientOp(RacingEventServiceOperation serverOp);
RacingEventServiceOperation<?> transformClientOp(RacingEventServiceOperation<?> serverOp);
/**
* Implements the specific transformation rule for the implementing subclass for the set of possible peer operations
@@ -23,7 +29,7 @@ public interface RacingEventServiceOperation extends Operation<RacingEventServic
*
* @return the result of transforming <code>this</code> operation along <code>clientOp</code>
*/
RacingEventServiceOperation transformServerOp(RacingEventServiceOperation clientOp);
RacingEventServiceOperation<?> transformServerOp(RacingEventServiceOperation<?> clientOp);
/**
* Assumes this is the "server" operation and transforms the client's <code>removeColumnFromLeaderboardClientOp</code> according to this
@@ -31,31 +37,31 @@ public interface RacingEventServiceOperation extends Operation<RacingEventServic
* operation deals with the leaderboard column being removed by <code>removeColumnFromLeaderboardClientOp</code>,
* the result will be <code>null</code>, meaning that this operation cannot be applied after the column has been removed.
*/
RacingEventServiceOperation transformRemoveColumnFromLeaderboardClientOp(RemoveLeaderboardColumn removeColumnFromLeaderboardClientOp);
RacingEventServiceOperation<?> transformRemoveColumnFromLeaderboardClientOp(RemoveLeaderboardColumn removeColumnFromLeaderboardClientOp);
RacingEventServiceOperation transformRemoveColumnFromLeaderboardServerOp(RemoveLeaderboardColumn removeColumnFromLeaderboardServerOp);
RacingEventServiceOperation<?> transformRemoveColumnFromLeaderboardServerOp(RemoveLeaderboardColumn removeColumnFromLeaderboardServerOp);
RacingEventServiceOperation transformRenameLeaderboardColumnClientOp(RenameLeaderboardColumn renameLeaderboardColumnClientOp);
RacingEventServiceOperation<?> transformRenameLeaderboardColumnClientOp(RenameLeaderboardColumn renameLeaderboardColumnClientOp);
RacingEventServiceOperation transformRenameLeaderboardColumnServerOp(RenameLeaderboardColumn renameLeaderboardColumnServerOp);
RacingEventServiceOperation<?> transformRenameLeaderboardColumnServerOp(RenameLeaderboardColumn renameLeaderboardColumnServerOp);
RacingEventServiceOperation transformAddLeaderboardClientOp(CreateLeaderboard addLeaderboard);
RacingEventServiceOperation<?> transformAddLeaderboardClientOp(CreateLeaderboard addLeaderboard);
RacingEventServiceOperation transformAddLeaderboardServerOp(CreateLeaderboard addLeaderboard);
RacingEventServiceOperation<?> transformAddLeaderboardServerOp(CreateLeaderboard addLeaderboard);
RacingEventServiceOperation transformRemoveLeaderboardClientOp(RemoveLeaderboard removeLeaderboard);
RacingEventServiceOperation<?> transformRemoveLeaderboardClientOp(RemoveLeaderboard removeLeaderboard);
RacingEventServiceOperation transformRemoveLeaderboardServerOp(RemoveLeaderboard removeLeaderboard);
RacingEventServiceOperation<?> transformRemoveLeaderboardServerOp(RemoveLeaderboard removeLeaderboard);
RacingEventServiceOperation transformAddColumnToLeaderboardClientOp(AddColumnToLeaderboard addColumnToLeaderboard);
RacingEventServiceOperation<?> transformAddColumnToLeaderboardClientOp(AddColumnToLeaderboard addColumnToLeaderboard);
RacingEventServiceOperation transformAddColumnToLeaderboardServerOp(AddColumnToLeaderboard addColumnToLeaderboard);
RacingEventServiceOperation<?> transformAddColumnToLeaderboardServerOp(AddColumnToLeaderboard addColumnToLeaderboard);
RacingEventServiceOperation transformMoveLeaderboardColumnDownClientOp(MoveLeaderboardColumnDown moveLeaderboardColumnDown);
RacingEventServiceOperation<?> transformMoveLeaderboardColumnDownClientOp(MoveLeaderboardColumnDown moveLeaderboardColumnDown);
RacingEventServiceOperation transformMoveLeaderboardColumnDownServerOp(MoveLeaderboardColumnDown moveLeaderboardColumnDown);
RacingEventServiceOperation<?> transformMoveLeaderboardColumnDownServerOp(MoveLeaderboardColumnDown moveLeaderboardColumnDown);
RacingEventServiceOperation transformMoveLeaderboardColumnUpClientOp(MoveLeaderboardColumnUp moveLeaderboardColumnUp);
RacingEventServiceOperation<?> transformMoveLeaderboardColumnUpClientOp(MoveLeaderboardColumnUp moveLeaderboardColumnUp);
RacingEventServiceOperation transformMoveLeaderboardColumnUpServerOp(MoveLeaderboardColumnUp moveLeaderboardColumnUp);
RacingEventServiceOperation<?> transformMoveLeaderboardColumnUpServerOp(MoveLeaderboardColumnUp moveLeaderboardColumnUp);
}
@@ -7,7 +7,7 @@ import com.sap.sailing.domain.base.RaceDefinition;
import com.sap.sailing.domain.common.EventAndRaceIdentifier;
import com.sap.sailing.server.RacingEventService;
public class RemoveAndUntrackRace extends AbstractRaceOperation {
public class RemoveAndUntrackRace extends AbstractRaceOperation<Void> {
private static final long serialVersionUID = 4260421466093529004L;
public RemoveAndUntrackRace(EventAndRaceIdentifier raceIdentifier) {
@@ -15,19 +15,19 @@ public class RemoveAndUntrackRace extends AbstractRaceOperation {
}
@Override
public RacingEventServiceOperation transformClientOp(RacingEventServiceOperation serverOp) {
public RacingEventServiceOperation<?> transformClientOp(RacingEventServiceOperation<?> serverOp) {
// TODO Auto-generated method stub
return null;
}
@Override
public RacingEventServiceOperation transformServerOp(RacingEventServiceOperation clientOp) {
public RacingEventServiceOperation<?> transformServerOp(RacingEventServiceOperation<?> clientOp) {
// TODO Auto-generated method stub
return null;
}
@Override
public RacingEventService applyTo(RacingEventService toState) {
public Void internalApplyTo(RacingEventService toState) {
Event event = toState.getEvent(getRaceIdentifier());
if (event!= null) {
RaceDefinition race = event.getRaceByName(getRaceIdentifier().getRaceName());
@@ -39,7 +39,7 @@ public class RemoveAndUntrackRace extends AbstractRaceOperation {
}
}
}
return toState;
return null;
}
}
@@ -2,7 +2,7 @@ package com.sap.sailing.server.operationaltransformation;
import com.sap.sailing.server.RacingEventService;
public class RemoveLeaderboard extends AbstractLeaderboardOperation {
public class RemoveLeaderboard extends AbstractLeaderboardOperation<Void> {
private static final long serialVersionUID = -6491003416450255268L;
public RemoveLeaderboard(String leaderboardName) {
@@ -10,23 +10,23 @@ public class RemoveLeaderboard extends AbstractLeaderboardOperation {
}
@Override
public RacingEventServiceOperation transformClientOp(RacingEventServiceOperation serverOp) {
public RacingEventServiceOperation<?> transformClientOp(RacingEventServiceOperation<?> serverOp) {
return serverOp.transformRemoveLeaderboardClientOp(this);
}
@Override
public RacingEventServiceOperation transformServerOp(RacingEventServiceOperation clientOp) {
public RacingEventServiceOperation<?> transformServerOp(RacingEventServiceOperation<?> clientOp) {
return clientOp.transformRemoveLeaderboardServerOp(this);
}
@Override
public RacingEventService applyTo(RacingEventService toState) {
public Void internalApplyTo(RacingEventService toState) {
toState.removeLeaderboard(getLeaderboardName());
return toState;
return null;
}
@Override
public RacingEventServiceOperation transformRenameLeaderboardColumnClientOp(
public RacingEventServiceOperation<?> transformRenameLeaderboardColumnClientOp(
RenameLeaderboardColumn renameLeaderboardColumnClientOp) {
if (affectsSameLeaderboard(renameLeaderboardColumnClientOp)) {
return AbstractRacingEventServiceOperation.getNoOp();
@@ -36,7 +36,7 @@ public class RemoveLeaderboard extends AbstractLeaderboardOperation {
}
@Override
public RacingEventServiceOperation transformRenameLeaderboardColumnServerOp(
public RacingEventServiceOperation<?> transformRenameLeaderboardColumnServerOp(
RenameLeaderboardColumn renameLeaderboardColumnServerOp) {
if (affectsSameLeaderboard(renameLeaderboardColumnServerOp)) {
return AbstractRacingEventServiceOperation.getNoOp();
@@ -46,7 +46,7 @@ public class RemoveLeaderboard extends AbstractLeaderboardOperation {
}
@Override
public RacingEventServiceOperation transformRemoveColumnFromLeaderboardServerOp(
public RacingEventServiceOperation<?> transformRemoveColumnFromLeaderboardServerOp(
RemoveLeaderboardColumn removeColumnFromLeaderboardServerOp) {
if (affectsSameLeaderboard(removeColumnFromLeaderboardServerOp)) {
return AbstractRacingEventServiceOperation.getNoOp();
@@ -56,7 +56,7 @@ public class RemoveLeaderboard extends AbstractLeaderboardOperation {
}
@Override
public RacingEventServiceOperation transformRemoveColumnFromLeaderboardClientOp(
public RacingEventServiceOperation<?> transformRemoveColumnFromLeaderboardClientOp(
RemoveLeaderboardColumn removeColumnFromLeaderboardClientOp) {
if (affectsSameLeaderboard(removeColumnFromLeaderboardClientOp)) {
return AbstractRacingEventServiceOperation.getNoOp();
@@ -66,7 +66,7 @@ public class RemoveLeaderboard extends AbstractLeaderboardOperation {
}
@Override
public RacingEventServiceOperation transformAddColumnToLeaderboardClientOp(
public RacingEventServiceOperation<?> transformAddColumnToLeaderboardClientOp(
AddColumnToLeaderboard addColumnToLeaderboard) {
if (affectsSameLeaderboard(addColumnToLeaderboard)) {
return AbstractRacingEventServiceOperation.getNoOp();
@@ -76,7 +76,7 @@ public class RemoveLeaderboard extends AbstractLeaderboardOperation {
}
@Override
public RacingEventServiceOperation transformAddColumnToLeaderboardServerOp(
public RacingEventServiceOperation<?> transformAddColumnToLeaderboardServerOp(
AddColumnToLeaderboard addColumnToLeaderboard) {
if (affectsSameLeaderboard(addColumnToLeaderboard)) {
return AbstractRacingEventServiceOperation.getNoOp();
@@ -86,7 +86,7 @@ public class RemoveLeaderboard extends AbstractLeaderboardOperation {
}
@Override
public RacingEventServiceOperation transformRemoveLeaderboardClientOp(RemoveLeaderboard removeLeaderboard) {
public RacingEventServiceOperation<?> transformRemoveLeaderboardClientOp(RemoveLeaderboard removeLeaderboard) {
if (affectsSameLeaderboard(removeLeaderboard)) {
return AbstractRacingEventServiceOperation.getNoOp();
} else {
@@ -96,7 +96,7 @@ public class RemoveLeaderboard extends AbstractLeaderboardOperation {
@Override
public RacingEventServiceOperation transformRemoveLeaderboardServerOp(RemoveLeaderboard removeLeaderboard) {
public RacingEventServiceOperation<?> transformRemoveLeaderboardServerOp(RemoveLeaderboard removeLeaderboard) {
if (affectsSameLeaderboard(removeLeaderboard)) {
return AbstractRacingEventServiceOperation.getNoOp();
} else {
@@ -105,7 +105,7 @@ public class RemoveLeaderboard extends AbstractLeaderboardOperation {
}
@Override
public RacingEventServiceOperation transformMoveLeaderboardColumnDownClientOp(
public RacingEventServiceOperation<?> transformMoveLeaderboardColumnDownClientOp(
MoveLeaderboardColumnDown moveLeaderboardColumnDown) {
if (affectsSameLeaderboard(moveLeaderboardColumnDown)) {
return AbstractRacingEventServiceOperation.getNoOp();
@@ -115,7 +115,7 @@ public class RemoveLeaderboard extends AbstractLeaderboardOperation {
}
@Override
public RacingEventServiceOperation transformMoveLeaderboardColumnDownServerOp(
public RacingEventServiceOperation<?> transformMoveLeaderboardColumnDownServerOp(
MoveLeaderboardColumnDown moveLeaderboardColumnDown) {
if (affectsSameLeaderboard(moveLeaderboardColumnDown)) {
return AbstractRacingEventServiceOperation.getNoOp();
@@ -125,7 +125,7 @@ public class RemoveLeaderboard extends AbstractLeaderboardOperation {
}
@Override
public RacingEventServiceOperation transformMoveLeaderboardColumnUpClientOp(
public RacingEventServiceOperation<?> transformMoveLeaderboardColumnUpClientOp(
MoveLeaderboardColumnUp moveLeaderboardColumnUp) {
if (affectsSameLeaderboard(moveLeaderboardColumnUp)) {
return AbstractRacingEventServiceOperation.getNoOp();
@@ -135,7 +135,7 @@ public class RemoveLeaderboard extends AbstractLeaderboardOperation {
}
@Override
public RacingEventServiceOperation transformMoveLeaderboardColumnUpServerOp(
public RacingEventServiceOperation<?> transformMoveLeaderboardColumnUpServerOp(
MoveLeaderboardColumnUp moveLeaderboardColumnUp) {
if (affectsSameLeaderboard(moveLeaderboardColumnUp)) {
return AbstractRacingEventServiceOperation.getNoOp();
@@ -2,7 +2,7 @@ package com.sap.sailing.server.operationaltransformation;
import com.sap.sailing.server.RacingEventService;
public class RemoveLeaderboardColumn extends AbstractLeaderboardColumnOperation {
public class RemoveLeaderboardColumn extends AbstractLeaderboardColumnOperation<Void> {
private static final long serialVersionUID = 5425526859417359535L;
public RemoveLeaderboardColumn(String columnName, String leaderboardName) {
@@ -10,23 +10,23 @@ public class RemoveLeaderboardColumn extends AbstractLeaderboardColumnOperation
}
@Override
public RacingEventService applyTo(RacingEventService toState) {
public Void internalApplyTo(RacingEventService toState) {
toState.removeLeaderboardColumn(getLeaderboardName(), getColumnName());
return toState;
return null;
}
@Override
public RacingEventServiceOperation transformClientOp(RacingEventServiceOperation serverOp) {
public RacingEventServiceOperation<?> transformClientOp(RacingEventServiceOperation<?> serverOp) {
return serverOp.transformRemoveColumnFromLeaderboardClientOp(this);
}
@Override
public RacingEventServiceOperation transformServerOp(RacingEventServiceOperation clientOp) {
public RacingEventServiceOperation<?> transformServerOp(RacingEventServiceOperation<?> clientOp) {
return clientOp.transformRemoveColumnFromLeaderboardServerOp(this);
}
@Override
public RacingEventServiceOperation transformRenameLeaderboardColumnClientOp(
public RacingEventServiceOperation<?> transformRenameLeaderboardColumnClientOp(
RenameLeaderboardColumn renameLeaderboardColumnClientOp) {
if (affectsSameColumn(renameLeaderboardColumnClientOp)) {
return AbstractRacingEventServiceOperation.getNoOp();
@@ -36,7 +36,7 @@ public class RemoveLeaderboardColumn extends AbstractLeaderboardColumnOperation
}
@Override
public RacingEventServiceOperation transformRenameLeaderboardColumnServerOp(
public RacingEventServiceOperation<?> transformRenameLeaderboardColumnServerOp(
RenameLeaderboardColumn renameLeaderboardColumnServerOp) {
if (affectsSameColumn(renameLeaderboardColumnServerOp)) {
return AbstractRacingEventServiceOperation.getNoOp();
@@ -46,7 +46,7 @@ public class RemoveLeaderboardColumn extends AbstractLeaderboardColumnOperation
}
@Override
public RacingEventServiceOperation transformRemoveColumnFromLeaderboardServerOp(
public RacingEventServiceOperation<?> transformRemoveColumnFromLeaderboardServerOp(
RemoveLeaderboardColumn removeColumnFromLeaderboardServerOp) {
if (affectsSameColumn(removeColumnFromLeaderboardServerOp)) {
return AbstractRacingEventServiceOperation.getNoOp();
@@ -56,7 +56,7 @@ public class RemoveLeaderboardColumn extends AbstractLeaderboardColumnOperation
}
@Override
public RacingEventServiceOperation transformRemoveColumnFromLeaderboardClientOp(
public RacingEventServiceOperation<?> transformRemoveColumnFromLeaderboardClientOp(
RemoveLeaderboardColumn removeColumnFromLeaderboardClientOp) {
if (affectsSameColumn(removeColumnFromLeaderboardClientOp)) {
return AbstractRacingEventServiceOperation.getNoOp();
@@ -66,7 +66,7 @@ public class RemoveLeaderboardColumn extends AbstractLeaderboardColumnOperation
}
@Override
public RacingEventServiceOperation transformMoveLeaderboardColumnDownClientOp(
public RacingEventServiceOperation<?> transformMoveLeaderboardColumnDownClientOp(
MoveLeaderboardColumnDown moveLeaderboardColumnDown) {
if (affectsSameColumn(moveLeaderboardColumnDown)) {
return AbstractRacingEventServiceOperation.getNoOp();
@@ -76,7 +76,7 @@ public class RemoveLeaderboardColumn extends AbstractLeaderboardColumnOperation
}
@Override
public RacingEventServiceOperation transformMoveLeaderboardColumnDownServerOp(
public RacingEventServiceOperation<?> transformMoveLeaderboardColumnDownServerOp(
MoveLeaderboardColumnDown moveLeaderboardColumnDown) {
if (affectsSameColumn(moveLeaderboardColumnDown)) {
return AbstractRacingEventServiceOperation.getNoOp();
@@ -86,7 +86,7 @@ public class RemoveLeaderboardColumn extends AbstractLeaderboardColumnOperation
}
@Override
public RacingEventServiceOperation transformMoveLeaderboardColumnUpClientOp(
public RacingEventServiceOperation<?> transformMoveLeaderboardColumnUpClientOp(
MoveLeaderboardColumnUp moveLeaderboardColumnUp) {
if (affectsSameColumn(moveLeaderboardColumnUp)) {
return AbstractRacingEventServiceOperation.getNoOp();
@@ -96,7 +96,7 @@ public class RemoveLeaderboardColumn extends AbstractLeaderboardColumnOperation
}
@Override
public RacingEventServiceOperation transformMoveLeaderboardColumnUpServerOp(
public RacingEventServiceOperation<?> transformMoveLeaderboardColumnUpServerOp(
MoveLeaderboardColumnUp moveLeaderboardColumnUp) {
if (affectsSameColumn(moveLeaderboardColumnUp)) {
return AbstractRacingEventServiceOperation.getNoOp();
@@ -2,7 +2,7 @@ package com.sap.sailing.server.operationaltransformation;
import com.sap.sailing.server.RacingEventService;
public class RemoveLeaderboardGroup extends AbstractLeaderboardGroupOperation {
public class RemoveLeaderboardGroup extends AbstractLeaderboardGroupOperation<Void> {
private static final long serialVersionUID = 3177217793859319236L;
public RemoveLeaderboardGroup(String leaderboardGroupName) {
@@ -10,21 +10,21 @@ public class RemoveLeaderboardGroup extends AbstractLeaderboardGroupOperation {
}
@Override
public RacingEventServiceOperation transformClientOp(RacingEventServiceOperation serverOp) {
public RacingEventServiceOperation<?> transformClientOp(RacingEventServiceOperation<?> serverOp) {
// TODO Auto-generated method stub
return null;
}
@Override
public RacingEventServiceOperation transformServerOp(RacingEventServiceOperation clientOp) {
public RacingEventServiceOperation<?> transformServerOp(RacingEventServiceOperation<?> clientOp) {
// TODO Auto-generated method stub
return null;
}
@Override
public RacingEventService applyTo(RacingEventService toState) {
public Void internalApplyTo(RacingEventService toState) {
toState.removeLeaderboardGroup(getLeaderboardGroupName());
return toState;
return null;
}
}
@@ -2,7 +2,7 @@ package com.sap.sailing.server.operationaltransformation;
import com.sap.sailing.server.RacingEventService;
public class RenameLeaderboardColumn extends AbstractLeaderboardColumnOperation {
public class RenameLeaderboardColumn extends AbstractLeaderboardColumnOperation<Void> {
private static final long serialVersionUID = -1238503068559477351L;
private final String newColumnName;
@@ -13,19 +13,19 @@ public class RenameLeaderboardColumn extends AbstractLeaderboardColumnOperation
@Override
public RacingEventService applyTo(RacingEventService toState) {
public Void internalApplyTo(RacingEventService toState) {
toState.renameLeaderboardColumn(getLeaderboardName(), getColumnName(), newColumnName);
return toState;
return null;
}
@Override
public RacingEventServiceOperation transformClientOp(RacingEventServiceOperation serverOp) {
public RacingEventServiceOperation<?> transformClientOp(RacingEventServiceOperation<?> serverOp) {
return serverOp.transformRenameLeaderboardColumnClientOp(this);
}
@Override
public RacingEventServiceOperation transformServerOp(RacingEventServiceOperation clientOp) {
public RacingEventServiceOperation<?> transformServerOp(RacingEventServiceOperation<?> clientOp) {
return clientOp.transformRenameLeaderboardColumnServerOp(this);
}
@@ -4,7 +4,7 @@ import com.sap.sailing.domain.common.EventAndRaceIdentifier;
import com.sap.sailing.domain.tracking.DynamicTrackedRace;
import com.sap.sailing.server.RacingEventService;
public class SetRaceIsKnownToStartUpwind extends AbstractRaceOperation {
public class SetRaceIsKnownToStartUpwind extends AbstractRaceOperation<Void> {
private static final long serialVersionUID = 272403191741207144L;
private final boolean startsUpwind;
@@ -14,24 +14,24 @@ public class SetRaceIsKnownToStartUpwind extends AbstractRaceOperation {
}
@Override
public RacingEventServiceOperation transformClientOp(RacingEventServiceOperation serverOp) {
public RacingEventServiceOperation<?> transformClientOp(RacingEventServiceOperation<?> serverOp) {
// TODO Auto-generated method stub
return null;
}
@Override
public RacingEventServiceOperation transformServerOp(RacingEventServiceOperation clientOp) {
public RacingEventServiceOperation<?> transformServerOp(RacingEventServiceOperation<?> clientOp) {
// TODO Auto-generated method stub
return null;
}
@Override
public RacingEventService applyTo(RacingEventService toState) {
public Void internalApplyTo(RacingEventService toState) {
DynamicTrackedRace trackedRace = (DynamicTrackedRace) toState.getExistingTrackedRace(getRaceIdentifier());
if (trackedRace != null) {
trackedRace.setRaceIsKnownToStartUpwind(startsUpwind);
}
return toState;
return null;
}
}
@@ -7,7 +7,7 @@ import com.sap.sailing.domain.common.WindSource;
import com.sap.sailing.domain.tracking.DynamicTrackedRace;
import com.sap.sailing.server.RacingEventService;
public class SetWindSourcesToExclude extends AbstractRaceOperation {
public class SetWindSourcesToExclude extends AbstractRaceOperation<Void> {
private static final long serialVersionUID = 7639288885720509529L;
private final Set<WindSource> windSourcesToExclude;
@@ -17,24 +17,24 @@ public class SetWindSourcesToExclude extends AbstractRaceOperation {
}
@Override
public RacingEventServiceOperation transformClientOp(RacingEventServiceOperation serverOp) {
public RacingEventServiceOperation<?> transformClientOp(RacingEventServiceOperation<?> serverOp) {
// TODO Auto-generated method stub
return null;
}
@Override
public RacingEventServiceOperation transformServerOp(RacingEventServiceOperation clientOp) {
public RacingEventServiceOperation<?> transformServerOp(RacingEventServiceOperation<?> clientOp) {
// TODO Auto-generated method stub
return null;
}
@Override
public RacingEventService applyTo(RacingEventService toState) {
public Void internalApplyTo(RacingEventService toState) {
DynamicTrackedRace trackedRace = (DynamicTrackedRace) toState.getExistingTrackedRace(getRaceIdentifier());
if (trackedRace != null) {
trackedRace.setWindSourcesToExclude(windSourcesToExclude);
}
return toState;
return null;
}
}
@@ -2,9 +2,10 @@ package com.sap.sailing.server.operationaltransformation;
import com.sap.sailing.domain.base.Event;
import com.sap.sailing.domain.common.EventIdentifier;
import com.sap.sailing.domain.tracking.DynamicTrackedEvent;
import com.sap.sailing.server.RacingEventService;
public class TrackEvent extends AbstractRacingEventServiceOperation {
public class TrackEvent extends AbstractRacingEventServiceOperation<DynamicTrackedEvent> {
private static final long serialVersionUID = 7891960455598410633L;
private final EventIdentifier eventIdentifier;
@@ -14,22 +15,21 @@ public class TrackEvent extends AbstractRacingEventServiceOperation {
}
@Override
public RacingEventServiceOperation transformClientOp(RacingEventServiceOperation serverOp) {
public RacingEventServiceOperation<?> transformClientOp(RacingEventServiceOperation<?> serverOp) {
// TODO Auto-generated method stub
return null;
}
@Override
public RacingEventServiceOperation transformServerOp(RacingEventServiceOperation clientOp) {
public RacingEventServiceOperation<?> transformServerOp(RacingEventServiceOperation<?> clientOp) {
// TODO Auto-generated method stub
return null;
}
@Override
public RacingEventService applyTo(RacingEventService toState) {
public DynamicTrackedEvent internalApplyTo(RacingEventService toState) {
Event event = toState.getEvent(eventIdentifier);
toState.getOrCreateTrackedEvent(event);
return toState;
return toState.getOrCreateTrackedEvent(event);
}
}
@@ -4,7 +4,7 @@ import com.sap.sailing.domain.base.Competitor;
import com.sap.sailing.domain.leaderboard.Leaderboard;
import com.sap.sailing.server.RacingEventService;
public class UpdateCompetitorDisplayNameInLeaderboard extends AbstractLeaderboardOperation {
public class UpdateCompetitorDisplayNameInLeaderboard extends AbstractLeaderboardOperation<Void> {
private static final long serialVersionUID = 366335484317671148L;
private final String competitorIdAsString;
private final String newDisplayName;
@@ -17,26 +17,26 @@ public class UpdateCompetitorDisplayNameInLeaderboard extends AbstractLeaderboar
}
@Override
public RacingEventServiceOperation transformClientOp(RacingEventServiceOperation serverOp) {
public RacingEventServiceOperation<?> transformClientOp(RacingEventServiceOperation<?> serverOp) {
// TODO Auto-generated method stub
return null;
}
@Override
public RacingEventServiceOperation transformServerOp(RacingEventServiceOperation clientOp) {
public RacingEventServiceOperation<?> transformServerOp(RacingEventServiceOperation<?> clientOp) {
// TODO Auto-generated method stub
return null;
}
@Override
public RacingEventService applyTo(RacingEventService toState) {
public Void internalApplyTo(RacingEventService toState) {
Leaderboard leaderboard = toState.getLeaderboardByName(getLeaderboardName());
Competitor competitor = leaderboard.getCompetitorByIdAsString(competitorIdAsString);
if (competitor != null) {
leaderboard.setDisplayName(competitor, newDisplayName);
toState.updateStoredLeaderboard(leaderboard);
}
return toState;
return null;
}
}
@@ -3,7 +3,7 @@ package com.sap.sailing.server.operationaltransformation;
import com.sap.sailing.domain.leaderboard.Leaderboard;
import com.sap.sailing.server.RacingEventService;
public class UpdateIsMedalRace extends AbstractLeaderboardColumnOperation {
public class UpdateIsMedalRace extends AbstractLeaderboardColumnOperation<Void> {
private static final long serialVersionUID = 5925081961634860757L;
private final boolean isMedalRace;
@@ -13,19 +13,19 @@ public class UpdateIsMedalRace extends AbstractLeaderboardColumnOperation {
}
@Override
public RacingEventServiceOperation transformClientOp(RacingEventServiceOperation serverOp) {
public RacingEventServiceOperation<?> transformClientOp(RacingEventServiceOperation<?> serverOp) {
// TODO Auto-generated method stub
return null;
}
@Override
public RacingEventServiceOperation transformServerOp(RacingEventServiceOperation clientOp) {
public RacingEventServiceOperation<?> transformServerOp(RacingEventServiceOperation<?> clientOp) {
// TODO Auto-generated method stub
return null;
}
@Override
public RacingEventService applyTo(RacingEventService toState) {
public Void internalApplyTo(RacingEventService toState) {
Leaderboard leaderboard = toState.getLeaderboardByName(getLeaderboardName());
if (leaderboard != null) {
leaderboard.updateIsMedalRace(getColumnName(), isMedalRace);
@@ -33,7 +33,7 @@ public class UpdateIsMedalRace extends AbstractLeaderboardColumnOperation {
} else {
throw new IllegalArgumentException("Leaderboard named " + getLeaderboardName() + " not found");
}
return toState;
return null;
}
}
@@ -6,7 +6,7 @@ import com.sap.sailing.domain.leaderboard.Leaderboard;
import com.sap.sailing.domain.leaderboard.impl.ResultDiscardingRuleImpl;
import com.sap.sailing.server.RacingEventService;
public class UpdateLeaderboard extends AbstractLeaderboardOperation {
public class UpdateLeaderboard extends AbstractLeaderboardOperation<Void> {
private static final long serialVersionUID = -8040361040050151768L;
private final String newLeaderboardName;
private final int[] newDiscardingThresholds;
@@ -18,19 +18,19 @@ public class UpdateLeaderboard extends AbstractLeaderboardOperation {
}
@Override
public RacingEventServiceOperation transformClientOp(RacingEventServiceOperation serverOp) {
public RacingEventServiceOperation<?> transformClientOp(RacingEventServiceOperation<?> serverOp) {
// TODO Auto-generated method stub
return null;
}
@Override
public RacingEventServiceOperation transformServerOp(RacingEventServiceOperation clientOp) {
public RacingEventServiceOperation<?> transformServerOp(RacingEventServiceOperation<?> clientOp) {
// TODO Auto-generated method stub
return null;
}
@Override
public RacingEventService applyTo(RacingEventService toState) {
public Void internalApplyTo(RacingEventService toState) {
if (!getLeaderboardName().equals(newLeaderboardName)) {
toState.renameLeaderboard(getLeaderboardName(), newLeaderboardName);
}
@@ -39,7 +39,7 @@ public class UpdateLeaderboard extends AbstractLeaderboardOperation {
leaderboard.setResultDiscardingRule(new ResultDiscardingRuleImpl(newDiscardingThresholds));
}
toState.updateStoredLeaderboard(leaderboard);
return toState;
return null;
}
}
@@ -4,7 +4,7 @@ import com.sap.sailing.domain.base.Competitor;
import com.sap.sailing.domain.leaderboard.Leaderboard;
import com.sap.sailing.server.RacingEventService;
public class UpdateLeaderboardCarryValue extends AbstractLeaderboardOperation {
public class UpdateLeaderboardCarryValue extends AbstractLeaderboardOperation<Void> {
private static final long serialVersionUID = 5467731814788887426L;
private final String competitorIdAsString;
private final Integer newCarriedValue;
@@ -16,19 +16,19 @@ public class UpdateLeaderboardCarryValue extends AbstractLeaderboardOperation {
}
@Override
public RacingEventServiceOperation transformClientOp(RacingEventServiceOperation serverOp) {
public RacingEventServiceOperation<?> transformClientOp(RacingEventServiceOperation<?> serverOp) {
// TODO Auto-generated method stub
return null;
}
@Override
public RacingEventServiceOperation transformServerOp(RacingEventServiceOperation clientOp) {
public RacingEventServiceOperation<?> transformServerOp(RacingEventServiceOperation<?> clientOp) {
// TODO Auto-generated method stub
return null;
}
@Override
public RacingEventService applyTo(RacingEventService toState) {
public Void internalApplyTo(RacingEventService toState) {
Leaderboard leaderboard = toState.getLeaderboardByName(getLeaderboardName());
if (leaderboard != null) {
Competitor competitor = leaderboard.getCompetitorByIdAsString(competitorIdAsString);
@@ -45,7 +45,7 @@ public class UpdateLeaderboardCarryValue extends AbstractLeaderboardOperation {
} else {
throw new IllegalArgumentException("Didn't find leaderboard "+getLeaderboardName());
}
return toState;
return null;
}
}
@@ -4,7 +4,7 @@ import java.util.List;
import com.sap.sailing.server.RacingEventService;
public class UpdateLeaderboardGroup extends AbstractLeaderboardGroupOperation {
public class UpdateLeaderboardGroup extends AbstractLeaderboardGroupOperation<Void> {
private static final long serialVersionUID = -1822477339916802467L;
private final String newName;
private final String newDescription;
@@ -19,21 +19,21 @@ public class UpdateLeaderboardGroup extends AbstractLeaderboardGroupOperation {
}
@Override
public RacingEventServiceOperation transformClientOp(RacingEventServiceOperation serverOp) {
public RacingEventServiceOperation<?> transformClientOp(RacingEventServiceOperation<?> serverOp) {
// TODO Auto-generated method stub
return null;
}
@Override
public RacingEventServiceOperation transformServerOp(RacingEventServiceOperation clientOp) {
public RacingEventServiceOperation<?> transformServerOp(RacingEventServiceOperation<?> clientOp) {
// TODO Auto-generated method stub
return null;
}
@Override
public RacingEventService applyTo(RacingEventService toState) {
public Void internalApplyTo(RacingEventService toState) {
toState.updateLeaderboardGroup(getLeaderboardGroupName(), newName, newDescription, leaderboardNames);
return toState;
return null;
}
}
@@ -6,7 +6,7 @@ import com.sap.sailing.domain.leaderboard.Leaderboard;
import com.sap.sailing.domain.leaderboard.RaceInLeaderboard;
import com.sap.sailing.server.RacingEventService;
public class UpdateLeaderboardMaxPointsReason extends AbstractLeaderboardColumnOperation {
public class UpdateLeaderboardMaxPointsReason extends AbstractLeaderboardColumnOperation<Void> {
private static final long serialVersionUID = -492130952256848047L;
private final String competitorIdAsString;
private final MaxPointsReason newMaxPointsReason;
@@ -19,19 +19,19 @@ public class UpdateLeaderboardMaxPointsReason extends AbstractLeaderboardColumnO
}
@Override
public RacingEventServiceOperation transformClientOp(RacingEventServiceOperation serverOp) {
public RacingEventServiceOperation<?> transformClientOp(RacingEventServiceOperation<?> serverOp) {
// TODO Auto-generated method stub
return null;
}
@Override
public RacingEventServiceOperation transformServerOp(RacingEventServiceOperation clientOp) {
public RacingEventServiceOperation<?> transformServerOp(RacingEventServiceOperation<?> clientOp) {
// TODO Auto-generated method stub
return null;
}
@Override
public RacingEventService applyTo(RacingEventService toState) {
public Void internalApplyTo(RacingEventService toState) {
Leaderboard leaderboard = toState.getLeaderboardByName(getLeaderboardName());
if (leaderboard != null) {
Competitor competitor = leaderboard.getCompetitorByIdAsString(competitorIdAsString);
@@ -48,7 +48,7 @@ public class UpdateLeaderboardMaxPointsReason extends AbstractLeaderboardColumnO
} else {
throw new IllegalArgumentException("Didn't find leaderboard "+getLeaderboardName());
}
return toState;
return null;
}
}
@@ -5,7 +5,7 @@ import com.sap.sailing.domain.leaderboard.Leaderboard;
import com.sap.sailing.domain.leaderboard.RaceInLeaderboard;
import com.sap.sailing.server.RacingEventService;
public class UpdateLeaderboardScoreCorrection extends AbstractLeaderboardColumnOperation {
public class UpdateLeaderboardScoreCorrection extends AbstractLeaderboardColumnOperation<Void> {
private static final long serialVersionUID = -977025759476022993L;
private final String competitorIdAsString;
private final Integer correctedScore;
@@ -18,19 +18,19 @@ public class UpdateLeaderboardScoreCorrection extends AbstractLeaderboardColumnO
}
@Override
public RacingEventServiceOperation transformClientOp(RacingEventServiceOperation serverOp) {
public RacingEventServiceOperation<?> transformClientOp(RacingEventServiceOperation<?> serverOp) {
// TODO Auto-generated method stub
return null;
}
@Override
public RacingEventServiceOperation transformServerOp(RacingEventServiceOperation clientOp) {
public RacingEventServiceOperation<?> transformServerOp(RacingEventServiceOperation<?> clientOp) {
// TODO Auto-generated method stub
return null;
}
@Override
public RacingEventService applyTo(RacingEventService toState) {
public Void internalApplyTo(RacingEventService toState) {
Leaderboard leaderboard = toState.getLeaderboardByName(getLeaderboardName());
if (leaderboard != null) {
Competitor competitor = leaderboard.getCompetitorByIdAsString(competitorIdAsString);
@@ -51,7 +51,7 @@ public class UpdateLeaderboardScoreCorrection extends AbstractLeaderboardColumnO
throw new IllegalArgumentException("Didn't find leaderboard "+getLeaderboardName());
}
toState.updateStoredLeaderboard(leaderboard);
return toState;
return null;
}
}