diff --git a/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/client/widgets/startanalysis/card/StartAnalysisCard.java b/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/client/widgets/startanalysis/card/StartAnalysisCard.java index 7eaf261ea0b..e94327a7825 100644 --- a/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/client/widgets/startanalysis/card/StartAnalysisCard.java +++ b/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/client/widgets/startanalysis/card/StartAnalysisCard.java @@ -185,7 +185,7 @@ public class StartAnalysisCard extends Composite implements HasWidgets, StartAna final RaceTimesInfoProvider raceTimesInfoProvider = new RaceTimesInfoProvider(sailingServiceAsync, asyncActionsExecutor, errorReporter, Collections.singletonList(startAnalysisDTO.regattaAndRaceIdentifier), 5000l /* requestInterval */); - // TODO: bug5774 set RaceDTO to RaceMapLifecycle to enable premium functions + // TODO bug5774 set RaceDTO to RaceMapLifecycle to enable premium functions raceMap = new RaceMap(null, null, new RaceMapLifecycle(StringMessages.INSTANCE, paywallResolver, null), raceMapSettings, sailingServiceAsync, asyncActionsExecutor, errorReporter, timer, competitorSelectionModel, new RaceCompetitorSet(competitorSelectionModel), StringMessages.INSTANCE, diff --git a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/DetailType.java b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/DetailType.java index d4b40f8e1e6..7305fb77b0b 100755 --- a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/DetailType.java +++ b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/DetailType.java @@ -14,6 +14,7 @@ import java.util.Set; import com.sap.sse.common.SortingOrder; import com.sap.sse.security.shared.HasPermissions.Action; +import com.sap.sse.security.shared.HasPermissions.SecuredEnum; /** * Identifies details that can be requested from the racing service. Optionally, the details can specify a precision as @@ -23,7 +24,7 @@ import com.sap.sse.security.shared.HasPermissions.Action; * @author Axel Uhl (d043530) * */ -public enum DetailType implements Serializable { +public enum DetailType implements Serializable, SecuredEnum { LEG_TACKTYPE_LONGTACK_SHORTTACK(0, ASCENDING, PREMIUM_LEADERBOARD_INFORMATION, "TACKTYPE"), LEG_DISTANCE_TRAVELED(0, ASCENDING, PREMIUM_LEADERBOARD_INFORMATION, "DISTANCE_TRAVELED"), LEG_DISTANCE_TRAVELED_INCLUDING_GATE_START(0, ASCENDING, null, "DISTANCE_TRAVELED_INCLUDING_GATE_START"), diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/AutoplayPerspectiveLifecycle.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/AutoplayPerspectiveLifecycle.java index 5f5a1a6f2a1..fec87cba18e 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/AutoplayPerspectiveLifecycle.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/AutoplayPerspectiveLifecycle.java @@ -11,6 +11,7 @@ import com.sap.sailing.gwt.ui.raceboard.RaceBoardPerspectiveLifecycle; import com.sap.sse.gwt.client.shared.components.SettingsDialogComponent; import com.sap.sse.gwt.client.shared.perspective.AbstractPerspectiveLifecycle; import com.sap.sse.security.shared.dto.SecuredDTO; +import com.sap.sse.security.ui.client.SecurityChildSettingsContext; import com.sap.sse.security.ui.client.UserService; import com.sap.sse.security.ui.client.premium.PaywallResolver; import com.sap.sse.security.ui.client.premium.PaywallResolverImpl; @@ -25,10 +26,12 @@ public class AutoplayPerspectiveLifecycle extends AbstractPerspectiveLifecycle availableDetailTypes) { PaywallResolver paywallResolver = new PaywallResolverImpl(userService, subscriptionServiceFactory); + context = new SecurityChildSettingsContext(leaderboard, paywallResolver); leaderboardLifecycle = new LeaderboardWithZoomingPerspectiveLifecycle(leaderboard, StringMessages.INSTANCE, availableDetailTypes, paywallResolver); raceboardLifecycle = new RaceBoardPerspectiveLifecycle(leaderboard, StringMessages.INSTANCE, @@ -40,6 +43,7 @@ public class AutoplayPerspectiveLifecycle extends AbstractPerspectiveLifecycle availableDetailTypes) { + context = new SecurityChildSettingsContext(leaderboard, paywallResolver); leaderboardLifecycle = new LeaderboardWithZoomingPerspectiveLifecycle(leaderboard, StringMessages.INSTANCE, availableDetailTypes, paywallResolver); raceboardLifecycle = new RaceBoardPerspectiveLifecycle(leaderboard, StringMessages.INSTANCE, @@ -63,7 +67,7 @@ public class AutoplayPerspectiveLifecycle extends AbstractPerspectiveLifecycle { +public class AutoplayPerspectiveOwnSettings extends AbstractGenericSerializableSettings { private static final long serialVersionUID = -9013901094746556797L; private BooleanSetting fullscreen; @@ -13,13 +13,13 @@ public class AutoplayPerspectiveOwnSettings extends AbstractGenericSerializableS private IntegerSetting timeToSwitchBeforeRaceStartInSeconds; private IntegerSetting waitTimeAfterRaceEndInSeconds; - public AutoplayPerspectiveOwnSettings() { - super(null); + public AutoplayPerspectiveOwnSettings(SecurityChildSettingsContext context) { + super(); } public AutoplayPerspectiveOwnSettings(boolean fullscreen, boolean switchToLive, - int timeToSwitchBeforeRaceStartInSeconds, int waitTimeAfterRaceEndInSeconds) { - this(); + int timeToSwitchBeforeRaceStartInSeconds, int waitTimeAfterRaceEndInSeconds, SecurityChildSettingsContext context) { + this(context); this.fullscreen.setValue(fullscreen); this.switchToLive.setValue(switchToLive); this.timeToSwitchBeforeRaceStartInSeconds.setValue(timeToSwitchBeforeRaceStartInSeconds); @@ -27,7 +27,7 @@ public class AutoplayPerspectiveOwnSettings extends AbstractGenericSerializableS } @Override - protected void addChildSettings(SecurityChildSettingsContext context) { + protected void addChildSettings() { fullscreen = new BooleanSetting("fullscreen", this, true); switchToLive = new BooleanSetting("switchToLive", this, true); timeToSwitchBeforeRaceStartInSeconds = new IntegerSetting("timeToSwitchBeforeRaceStart", this, 180); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/AutoplaySettingsDialogComponent.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/AutoplaySettingsDialogComponent.java index 48f165da67d..d28ea748b44 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/AutoplaySettingsDialogComponent.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/AutoplaySettingsDialogComponent.java @@ -10,6 +10,7 @@ import com.sap.sse.gwt.client.controls.IntegerBox; import com.sap.sse.gwt.client.dialog.DataEntryDialog; import com.sap.sse.gwt.client.dialog.DataEntryDialog.Validator; import com.sap.sse.gwt.client.shared.components.SettingsDialogComponent; +import com.sap.sse.security.ui.client.SecurityChildSettingsContext; public class AutoplaySettingsDialogComponent implements SettingsDialogComponent { private final AutoplayPerspectiveOwnSettings initialSettings; @@ -55,8 +56,9 @@ public class AutoplaySettingsDialogComponent implements SettingsDialogComponent< @Override public AutoplayPerspectiveOwnSettings getResult() { + // TODO bug5774 fill SecurityChildSettingsContext correctly return new AutoplayPerspectiveOwnSettings(fullScreen.getValue(), switchToLiveRaceAutomatically.getValue(), - timeBeforeRaceStartInput.getValue(), waitTimeAfterRaceEndInput.getValue()); + timeBeforeRaceStartInput.getValue(), waitTimeAfterRaceEndInput.getValue(), new SecurityChildSettingsContext(null, null)); } @Override diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/configs/AutoPlayContextDefinitionImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/configs/AutoPlayContextDefinitionImpl.java index 1aa31d62580..3ed49b380fb 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/configs/AutoPlayContextDefinitionImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/configs/AutoPlayContextDefinitionImpl.java @@ -7,9 +7,8 @@ import com.sap.sse.common.settings.generic.EnumSetting; import com.sap.sse.common.settings.generic.StringSetting; import com.sap.sse.common.settings.generic.StringToEnumConverter; import com.sap.sse.common.settings.generic.UUIDSetting; -import com.sap.sse.security.ui.client.SecurityChildSettingsContext; -public class AutoPlayContextDefinitionImpl extends AbstractGenericSerializableSettings implements AutoPlayContextDefinition { +public class AutoPlayContextDefinitionImpl extends AbstractGenericSerializableSettings implements AutoPlayContextDefinition { private static final long serialVersionUID = 2880854263616658272L; private transient EnumSetting type; @@ -24,11 +23,11 @@ public class AutoPlayContextDefinitionImpl extends AbstractGenericSerializableSe } public AutoPlayContextDefinitionImpl() { - super(null); + super(); } @Override - protected void addChildSettings(SecurityChildSettingsContext context) { + protected void addChildSettings() { type = new EnumSetting("autoplayType", this, AutoPlayType.CLASSIC, new StringToEnumConverter() { @Override diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/nodes/IdleSixtyInchLeaderboardNode.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/nodes/IdleSixtyInchLeaderboardNode.java index fc0af18ffc7..22cfe3ae009 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/nodes/IdleSixtyInchLeaderboardNode.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/nodes/IdleSixtyInchLeaderboardNode.java @@ -27,6 +27,8 @@ import com.sap.sse.gwt.client.async.MarkedAsyncCallback; import com.sap.sse.gwt.client.player.Timer; import com.sap.sse.gwt.client.player.Timer.PlayModes; import com.sap.sse.gwt.client.player.Timer.PlayStates; +import com.sap.sse.security.ui.client.SecurityChildSettingsContext; +import com.sap.sse.security.ui.client.premium.PaywallResolverImpl; public class IdleSixtyInchLeaderboardNode extends FiresPlaceNode { private static final Logger logger = Logger.getLogger(IdleSixtyInchLeaderboardNode.class.getName()); @@ -53,13 +55,15 @@ public class IdleSixtyInchLeaderboardNode extends FiresPlaceNode { List raceDetails = new ArrayList<>(); // raceDetails.add(DetailType.RACE_RANK); + // TODO bug5774 Init secured DTO correctly final MultiRaceLeaderboardSettings leaderboardSettings = new MultiRaceLeaderboardSettings( /* maneuverDetailsToShow */ null, /* legDetailsToShow */ null, raceDetails, overallDetails, /* namesOfRaceColumnsToShow */ null, /* numberOfLastRacesToShow */5, /* delayBetweenAutoAdvancesInMilliseconds */ null, RaceColumnSelectionStrategies.LAST_N, /* showAddedScores */ true, /* showCompetitorShortNameColumn */ true, /* showCompetitorFullNameColumn */ false, /* showCompetitorBoatInfoColumn */ false, - /* isCompetitorNationalityColumnVisible */ true); + /* isCompetitorNationalityColumnVisible */ true, + new SecurityChildSettingsContext(null, new PaywallResolverImpl(cf.getUserService(), cf.getSubscriptionServiceFactory()))); timer = new Timer( // perform the first request as "live" but don't by default auto-play diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/autoplaystart/AutoPlayStartPresenterImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/autoplaystart/AutoPlayStartPresenterImpl.java index c19b52930d3..b2b07bc5daf 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/autoplaystart/AutoPlayStartPresenterImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/autoplaystart/AutoPlayStartPresenterImpl.java @@ -45,6 +45,7 @@ public class AutoPlayStartPresenterImpl extends AbstractActivity implements Auto public void start(final AcceptsOneWidget panel, EventBus eventBus) { // check if config can be restored! SettingsToUrlSerializer serializer = new SettingsToUrlSerializer(); + // TODO bug5774 fill correctly if possible or check min. what impact an not initialized context will have AutoPlayContextDefinitionImpl apcd = new AutoPlayContextDefinitionImpl(); serializer.deserializeFromCurrentLocation(apcd); if (apcd.getEventId() != null) { diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/afterliveraceloop/boats/RaceEndWithBoatsPresenterImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/afterliveraceloop/boats/RaceEndWithBoatsPresenterImpl.java index 80c98d93b91..c075295d90e 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/afterliveraceloop/boats/RaceEndWithBoatsPresenterImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/afterliveraceloop/boats/RaceEndWithBoatsPresenterImpl.java @@ -30,6 +30,8 @@ import com.sap.sse.gwt.client.async.AsyncActionsExecutor; import com.sap.sse.gwt.client.player.Timer; import com.sap.sse.gwt.client.player.Timer.PlayModes; import com.sap.sse.gwt.client.player.Timer.PlayStates; +import com.sap.sse.security.ui.client.SecurityChildSettingsContext; +import com.sap.sse.security.ui.client.premium.PaywallResolverImpl; public class RaceEndWithBoatsPresenterImpl extends AutoPlayPresenterConfigured implements RaceEndWithBoatsView.NextRaceWithBoatsPresenter { @@ -60,12 +62,17 @@ public class RaceEndWithBoatsPresenterImpl extends AutoPlayPresenterConfigured implements FailureEvent { + public static final Type TYPE = new Type(); + + private Throwable caught; + private String message; + + /** + * Event handler interface + */ + public interface Handler extends EventHandler { + void onFailure(LiveRaceWithRacemapAndLeaderBoardFailureEvent e); + } + + public LiveRaceWithRacemapAndLeaderBoardFailureEvent(Throwable caught) { + this(caught, caught.getMessage()); + } + + public LiveRaceWithRacemapAndLeaderBoardFailureEvent(String message) { + this(null, message); + } + + public LiveRaceWithRacemapAndLeaderBoardFailureEvent(Throwable caught, String message) { + this.caught = caught; + this.message = message; + } + + public String getMessage() { + return message; + } + + public Throwable getCaught() { + return caught; + } + + @Override + public com.google.gwt.event.shared.GwtEvent.Type getAssociatedType() { + return TYPE; + } + + @Override + protected void dispatch(Handler handler) { + handler.onFailure(this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("LiveRaceWithRacemapAndLeaderBoardFailureEvent"); + sb.append(", message: ").append(message); + if (caught != null) { + sb.append(", ex: ").append(caught); + } + return sb.toString(); + } +} diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/liveraceloop/racemapwithleaderboard/LiveRaceWithRacemapAndLeaderBoardPresenterImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/liveraceloop/racemapwithleaderboard/LiveRaceWithRacemapAndLeaderBoardPresenterImpl.java index d8d2597c1c1..132e83a8a65 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/liveraceloop/racemapwithleaderboard/LiveRaceWithRacemapAndLeaderBoardPresenterImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/liveraceloop/racemapwithleaderboard/LiveRaceWithRacemapAndLeaderBoardPresenterImpl.java @@ -6,10 +6,12 @@ import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; +import com.google.gwt.core.client.GWT; import com.google.gwt.core.client.Scheduler; import com.google.gwt.core.client.Scheduler.ScheduledCommand; import com.google.gwt.i18n.client.NumberFormat; import com.google.gwt.user.client.Timer; +import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.gwt.user.client.ui.AcceptsOneWidget; import com.sap.sailing.domain.common.DetailType; import com.sap.sailing.domain.common.RaceIdentifier; @@ -33,12 +35,15 @@ import com.sap.sailing.gwt.ui.leaderboard.LeaderboardEntryPoint; import com.sap.sailing.gwt.ui.leaderboard.SingleRaceLeaderboardPanel; import com.sap.sailing.gwt.ui.leaderboard.SixtyInchLeaderboardStyle; import com.sap.sailing.gwt.ui.raceboard.QuickFlagDataFromLeaderboardDTOProvider; +import com.sap.sailing.gwt.ui.shared.StrippedLeaderboardDTO; import com.sap.sailing.gwt.ui.shared.WindDTO; import com.sap.sailing.gwt.ui.shared.WindTrackInfoDTO; import com.sap.sse.gwt.client.ErrorReporter; import com.sap.sse.gwt.client.async.AsyncActionsExecutor; import com.sap.sse.gwt.client.player.Timer.PlayModes; import com.sap.sse.gwt.client.player.Timer.PlayStates; +import com.sap.sse.security.ui.client.SecurityChildSettingsContext; +import com.sap.sse.security.ui.client.premium.PaywallResolverImpl; public class LiveRaceWithRacemapAndLeaderBoardPresenterImpl extends AutoPlayPresenterConfigured @@ -156,50 +161,73 @@ public class LiveRaceWithRacemapAndLeaderBoardPresenterImpl view.showErrorNoLive(this, panel, new IllegalStateException("No race is live")); return; } - final SingleRaceLeaderboardSettings leaderboardSettings = getLeaderboardSettings(false); - timer = new com.sap.sse.gwt.client.player.Timer( - // perform the first request as "live" but don't by default auto-play - PlayModes.Live, PlayStates.Playing, - /* delayBetweenAutoAdvancesInMilliseconds */ LeaderboardEntryPoint.DEFAULT_REFRESH_INTERVAL_MILLIS); - - leaderboardPanel = new SingleRaceLeaderboardPanel(null, null, sailingService, new AsyncActionsExecutor(), - leaderboardSettings, false, liveRace, getPlace().getRaceMapSelectionProvider(), timer, null, - getSlideCtx().getContextDefinition().getLeaderboardName(), errorReporter, StringMessages.INSTANCE, - false, null, false, null, false, true, false, false, false, new SixtyInchLeaderboardStyle(true), - FlagImageResolverImpl.get(), Arrays.asList(DetailType.values()), getClientFactory()); - - leaderboardPanel.addLeaderboardUpdateListener(new LeaderboardUpdateListener() { - + final LiveRaceWithRacemapAndLeaderBoardPresenterImpl that = this; + sailingService.getLeaderboard(getSlideCtx().getContextDefinition().getLeaderboardName(), new AsyncCallback() { + @Override - public void updatedLeaderboard(LeaderboardDTO leaderboard) { - // if this is a changing boat race, enable the boat column - if (leaderboardPanel.getLeaderboard() != null) { - LeaderboardDTO leaderboardDTO = leaderboardPanel.getLeaderboard(); - boolean boatsRequired = leaderboardDTO.canBoatsOfCompetitorsChangePerRace; - if (leaderboardPanel.getSettings().isShowCompetitorBoatInfoColumn() != boatsRequired) { - leaderboardPanel.updateSettings(getLeaderboardSettings(boatsRequired)); + public void onSuccess(StrippedLeaderboardDTO strippedLeaderboardDto) { + // TODO bug5774 Set securedDto correctly + GWT.log("++++++ loaded stripped leaderboard DTO successfully +++++"); + SecurityChildSettingsContext context = new SecurityChildSettingsContext(strippedLeaderboardDto, + new PaywallResolverImpl(getClientFactory().getUserService(), + getClientFactory().getSubscriptionServiceFactory())); + final SingleRaceLeaderboardSettings leaderboardSettings = getLeaderboardSettings(false, context); + timer = new com.sap.sse.gwt.client.player.Timer( + // perform the first request as "live" but don't by default auto-play + PlayModes.Live, PlayStates.Playing, + /* delayBetweenAutoAdvancesInMilliseconds */ LeaderboardEntryPoint.DEFAULT_REFRESH_INTERVAL_MILLIS); + + leaderboardPanel = new SingleRaceLeaderboardPanel(null, null, sailingService, new AsyncActionsExecutor(), + leaderboardSettings, false, liveRace, getPlace().getRaceMapSelectionProvider(), timer, null, + getSlideCtx().getContextDefinition().getLeaderboardName(), errorReporter, StringMessages.INSTANCE, + false, null, false, null, false, true, false, false, false, new SixtyInchLeaderboardStyle(true), + FlagImageResolverImpl.get(), Arrays.asList(DetailType.values()), getClientFactory()); + + leaderboardPanel.addLeaderboardUpdateListener(new LeaderboardUpdateListener() { + + @Override + public void updatedLeaderboard(LeaderboardDTO leaderboard) { + // if this is a changing boat race, enable the boat column + if (leaderboardPanel.getLeaderboard() != null) { + LeaderboardDTO leaderboardDTO = leaderboardPanel.getLeaderboard(); + boolean boatsRequired = leaderboardDTO.canBoatsOfCompetitorsChangePerRace; + if (leaderboardPanel.getSettings().isShowCompetitorBoatInfoColumn() != boatsRequired) { + SecurityChildSettingsContext context = new SecurityChildSettingsContext(leaderboard, + new PaywallResolverImpl(getClientFactory().getUserService(), + getClientFactory().getSubscriptionServiceFactory())); + leaderboardPanel.updateSettings(getLeaderboardSettings(boatsRequired, context)); + } + } } - } - } + @Override + public void currentRaceSelected(RaceIdentifier raceIdentifier, RaceColumnDTO raceColumn) { + } + }); + + getPlace().getRaceMap().setQuickRanksDTOProvider(new QuickFlagDataFromLeaderboardDTOProvider( + new RaceCompetitorSet(getPlace().getRaceMapSelectionProvider()), liveRace)); + view.startingWith(that, panel, getPlace().getRaceMap(), leaderboardPanel); + selectionTimer.schedule(SWITCH_COMPETITOR_DELAY + AnimationPanel.ANIMATION_DURATION + AnimationPanel.DELAY); + } + @Override - public void currentRaceSelected(RaceIdentifier raceIdentifier, RaceColumnDTO raceColumn) { + public void onFailure(Throwable caught) { + getEventBus().fireEvent( + new LiveRaceWithRacemapAndLeaderBoardFailureEvent(caught, + "Error loading Leaderboard with name " + getSlideCtx().getContextDefinition().getLeaderboardName())); } }); - - getPlace().getRaceMap().setQuickRanksDTOProvider(new QuickFlagDataFromLeaderboardDTOProvider( - new RaceCompetitorSet(getPlace().getRaceMapSelectionProvider()), liveRace)); - view.startingWith(this, panel, getPlace().getRaceMap(), leaderboardPanel); - selectionTimer.schedule(SWITCH_COMPETITOR_DELAY + AnimationPanel.ANIMATION_DURATION + AnimationPanel.DELAY); + } - private SingleRaceLeaderboardSettings getLeaderboardSettings(boolean showBoatColumn) { + private SingleRaceLeaderboardSettings getLeaderboardSettings(boolean showBoatColumn, SecurityChildSettingsContext context) { final SingleRaceLeaderboardSettings leaderboardSettings = new SingleRaceLeaderboardSettings( /* maneuverDetailsToShow */ null, /* legDetailsToShow */ null, /* raceDetailsToShow */ null, /* overallDetailsToShow */ null, /* delayBetweenAutoAdvancesInMilliseconds */ null, /* showAddedScores */ false, /* showCompetitorShortNameColumn */ true, /* showCompetitorFullNameColumn */ false, showBoatColumn, - /* showCompetitorBoatInfoColumn */ false, /* showRaceRankColumn */ true); + /* showCompetitorBoatInfoColumn */ false, /* showRaceRankColumn */ true, context); return leaderboardSettings; } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/preliveraceloop/leaderboard/PreLiveRaceLeaderboardWithImagePresenterImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/preliveraceloop/leaderboard/PreLiveRaceLeaderboardWithImagePresenterImpl.java index 6b9677d1a53..5bc454ab54f 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/preliveraceloop/leaderboard/PreLiveRaceLeaderboardWithImagePresenterImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/preliveraceloop/leaderboard/PreLiveRaceLeaderboardWithImagePresenterImpl.java @@ -27,6 +27,8 @@ import com.sap.sse.gwt.client.ErrorReporter; import com.sap.sse.gwt.client.async.AsyncActionsExecutor; import com.sap.sse.gwt.client.player.Timer.PlayModes; import com.sap.sse.gwt.client.player.Timer.PlayStates; +import com.sap.sse.security.ui.client.SecurityChildSettingsContext; +import com.sap.sse.security.ui.client.premium.PaywallResolverImpl; public class PreLiveRaceLeaderboardWithImagePresenterImpl extends AutoPlayPresenterConfigured @@ -95,13 +97,16 @@ public class PreLiveRaceLeaderboardWithImagePresenterImpl view.nextRace(getSlideCtx().getPreLiveRace()); RegattaAndRaceIdentifier liveRace = getSlideCtx().getPreLiveRace(); - + // TODO bug5774 Set securedDto correctly + SecurityChildSettingsContext context = new SecurityChildSettingsContext(null, + new PaywallResolverImpl(getClientFactory().getUserService(), + getClientFactory().getSubscriptionServiceFactory())); final SingleRaceLeaderboardSettings leaderboardSettings = new SingleRaceLeaderboardSettings( /* maneuverDetailsToShow */ null, /* legDetailsToShow */ null, /* raceDetailsToShow */ null, /* overallDetailsToShow */ null, /* delayBetweenAutoAdvancesInMilliseconds */ null, /* showAddedScores */ false, /* showCompetitorShortNameColumn */ true, /* showCompetitorFullNameColumn */ false, /* isCompetitorNationalityColumnVisible */ false, - /* showCompetitorBoatInfoColumn */ false, /* showRaceRankColumn */ false); + /* showCompetitorBoatInfoColumn */ false, /* showRaceRankColumn */ false, context); GWT.log("event " + getSlideCtx().getEvent()); competitorSelectionProvider = new RaceCompetitorSelectionModel(/* hasMultiSelection */ false); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/shared/header/SAPHeaderComponentSettings.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/shared/header/SAPHeaderComponentSettings.java index fbb62703f62..ed85e6e3311 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/shared/header/SAPHeaderComponentSettings.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/shared/header/SAPHeaderComponentSettings.java @@ -2,20 +2,19 @@ package com.sap.sailing.gwt.autoplay.client.shared.header; import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettings; import com.sap.sse.common.settings.generic.StringSetting; -import com.sap.sse.security.ui.client.SecurityChildSettingsContext; -public class SAPHeaderComponentSettings extends AbstractGenericSerializableSettings { +public class SAPHeaderComponentSettings extends AbstractGenericSerializableSettings { private static final long serialVersionUID = -4504543757235801224L; private StringSetting title; @Override - protected void addChildSettings(SecurityChildSettingsContext context) { + protected void addChildSettings() { title = new StringSetting("title", this,""); } public SAPHeaderComponentSettings(String title) { - super(null); + super(); this.title.setValue(title); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/shared/leaderboard/LeaderboardWithZoomingPerspectiveSettings.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/shared/leaderboard/LeaderboardWithZoomingPerspectiveSettings.java index ebf5bed6260..5a05fadceca 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/shared/leaderboard/LeaderboardWithZoomingPerspectiveSettings.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/shared/leaderboard/LeaderboardWithZoomingPerspectiveSettings.java @@ -3,7 +3,6 @@ package com.sap.sailing.gwt.autoplay.client.shared.leaderboard; import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettings; import com.sap.sse.common.settings.generic.BooleanSetting; import com.sap.sse.common.settings.generic.DoubleSetting; -import com.sap.sse.security.ui.client.SecurityChildSettingsContext; /** * Represents the parameters for configuring a standalone leaderboard with a header view @@ -11,7 +10,7 @@ import com.sap.sse.security.ui.client.SecurityChildSettingsContext; * @author Frank * */ -public class LeaderboardWithZoomingPerspectiveSettings extends AbstractGenericSerializableSettings { +public class LeaderboardWithZoomingPerspectiveSettings extends AbstractGenericSerializableSettings { private static final long serialVersionUID = 69425582611507634L; @@ -22,13 +21,13 @@ public class LeaderboardWithZoomingPerspectiveSettings extends AbstractGenericSe public final static String PARAM_LEADEROARD_ZOOM_FACTOR = "leaderboardZoomFactor"; @Override - protected void addChildSettings(SecurityChildSettingsContext context) { + protected void addChildSettings() { leaderboardAutoZoom = new BooleanSetting("leaderboardAutoZoom", this, true); leaderboardZoomFactor = new DoubleSetting("leaderboardZoomFactor", this, 1.0); } public LeaderboardWithZoomingPerspectiveSettings() { - super(null); + super(); } public LeaderboardWithZoomingPerspectiveSettings(boolean leaderboardAutoZoom, Double leaderboardZoomFactor) { diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/places/event/regatta/SharedLeaderboardRegattaTabView.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/places/event/regatta/SharedLeaderboardRegattaTabView.java index 5364109fba5..6a54e2803e7 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/places/event/regatta/SharedLeaderboardRegattaTabView.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/places/event/regatta/SharedLeaderboardRegattaTabView.java @@ -17,6 +17,7 @@ import com.sap.sse.gwt.client.mutationobserver.ElementSizeMutationObserver.DomMu import com.sap.sse.gwt.client.shared.settings.DefaultOnSettingsLoadedCallback; import com.sap.sse.gwt.client.shared.settings.PipelineLevel; import com.sap.sse.gwt.shared.GwtHttpRequestUtils; +import com.sap.sse.security.ui.client.SecurityChildSettingsContext; import com.sap.sse.security.ui.client.UserService; import com.sap.sse.security.ui.client.premium.PaywallResolver; import com.sap.sse.security.ui.client.premium.PaywallResolverImpl; @@ -72,8 +73,11 @@ public abstract class SharedLeaderboardRegattaTabView 0 && newHeight > 0 && newWidth > 1500) { final int numberOfLastRacesToShow = (1500 - 600) / 50; + SecurityChildSettingsContext context = + new SecurityChildSettingsContext(leaderboardPanel.getLeaderboard(), + leaderboardPanel.getPaywallResolver()); MultiRaceLeaderboardSettings newSettings = MultiRaceLeaderboardSettings - .createDefaultSettingsWithLastNRaceColumnSelection(numberOfLastRacesToShow); + .createDefaultSettingsWithLastNRaceColumnSelection(numberOfLastRacesToShow, context); componentContext.addAdditionalSettingsLayerForComponent(leaderboardPanel, PipelineLevel.SYSTEM_DEFAULTS, newSettings, leaderboardPanel::updateSettings); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/shared/partials/dialog/whatsnew/WhatsNewSettings.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/shared/partials/dialog/whatsnew/WhatsNewSettings.java index 210a5ac531b..9065058e2fd 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/shared/partials/dialog/whatsnew/WhatsNewSettings.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/shared/partials/dialog/whatsnew/WhatsNewSettings.java @@ -12,6 +12,7 @@ public class WhatsNewSettings extends AbstractWhatsNewSettings { public static final String PREF_NAME = "sailing.whatsnew"; public WhatsNewSettings() { + super(); } public WhatsNewSettings(final Long numberOfCharsOnLastLogin) { diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/embeddedmapandwindchart/EmbeddedMapAndWindChartContextDefinition.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/embeddedmapandwindchart/EmbeddedMapAndWindChartContextDefinition.java index 4dd66e98449..81568e2848f 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/embeddedmapandwindchart/EmbeddedMapAndWindChartContextDefinition.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/embeddedmapandwindchart/EmbeddedMapAndWindChartContextDefinition.java @@ -2,9 +2,8 @@ package com.sap.sailing.gwt.settings.client.embeddedmapandwindchart; import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettings; import com.sap.sse.common.settings.generic.StringSetting; -import com.sap.sse.security.ui.client.SecurityChildSettingsContext; -public class EmbeddedMapAndWindChartContextDefinition extends AbstractGenericSerializableSettings { +public class EmbeddedMapAndWindChartContextDefinition extends AbstractGenericSerializableSettings { private static final long serialVersionUID = 8018301079159485102L; @@ -13,7 +12,7 @@ public class EmbeddedMapAndWindChartContextDefinition extends AbstractGenericSer private transient StringSetting fleetName; public EmbeddedMapAndWindChartContextDefinition() { - super(null); + super(); } public EmbeddedMapAndWindChartContextDefinition(final String regattaLikeName, final String raceColumnName, @@ -25,7 +24,7 @@ public class EmbeddedMapAndWindChartContextDefinition extends AbstractGenericSer } @Override - protected void addChildSettings(SecurityChildSettingsContext context) { + protected void addChildSettings() { regattaLikeName = new StringSetting("regattaLikeName", this); raceColumnName = new StringSetting("raceColumnName", this); fleetName = new StringSetting("fleetName", this); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/embeddedmapandwindchart/EmbeddedMapAndWindChartSettings.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/embeddedmapandwindchart/EmbeddedMapAndWindChartSettings.java index 15bec603307..f278d17a893 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/embeddedmapandwindchart/EmbeddedMapAndWindChartSettings.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/embeddedmapandwindchart/EmbeddedMapAndWindChartSettings.java @@ -3,9 +3,8 @@ package com.sap.sailing.gwt.settings.client.embeddedmapandwindchart; import com.sap.sailing.gwt.ui.client.shared.racemap.RaceMapSettings; import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettings; import com.sap.sse.common.settings.generic.BooleanSetting; -import com.sap.sse.security.ui.client.SecurityChildSettingsContext; -public class EmbeddedMapAndWindChartSettings extends AbstractGenericSerializableSettings { +public class EmbeddedMapAndWindChartSettings extends AbstractGenericSerializableSettings { private static final long serialVersionUID = 272440351202821549L; @@ -27,7 +26,7 @@ public class EmbeddedMapAndWindChartSettings extends AbstractGenericSerializable private transient BooleanSetting windUp; public EmbeddedMapAndWindChartSettings() { - super(null); + super(); } public EmbeddedMapAndWindChartSettings(final boolean play) { @@ -36,7 +35,7 @@ public class EmbeddedMapAndWindChartSettings extends AbstractGenericSerializable } @Override - protected void addChildSettings(SecurityChildSettingsContext context) { + protected void addChildSettings() { play = new BooleanSetting(PARAM_PLAY, this, false); showCompetitors = new BooleanSetting(PARAM_SHOW_COMPETITORS, this, false); showAllCompetitorsOfEvent = new BooleanSetting(PARAM_SHOW_ALL_COMPETITORS_OF_EVENT, this, false); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/EditableLeaderboardLifecycle.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/EditableLeaderboardLifecycle.java index b4e42196c1b..721e3210fb8 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/EditableLeaderboardLifecycle.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/EditableLeaderboardLifecycle.java @@ -6,6 +6,7 @@ import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sse.common.settings.generic.support.SettingsUtil; import com.sap.sse.gwt.client.formfactor.DeviceDetector; import com.sap.sse.gwt.client.shared.components.SettingsDialogComponent; +import com.sap.sse.security.ui.client.SecurityChildSettingsContext; import com.sap.sse.security.ui.client.premium.PaywallResolver; public class EditableLeaderboardLifecycle extends AbstractMultiRaceLeaderboardPanelLifecycle { @@ -28,7 +29,7 @@ public class EditableLeaderboardLifecycle extends AbstractMultiRaceLeaderboardPa @Override public EditableLeaderboardSettings createDefaultSettings() { - EditableLeaderboardSettings leaderboardSettings = new EditableLeaderboardSettings(DeviceDetector.isDesktop()); + EditableLeaderboardSettings leaderboardSettings = new EditableLeaderboardSettings(DeviceDetector.isDesktop(), new SecurityChildSettingsContext(leaderboardDTO, paywallResolver)); SettingsUtil.copyDefaultsFromValues(leaderboardSettings, leaderboardSettings); return leaderboardSettings; } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/EditableLeaderboardSettings.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/EditableLeaderboardSettings.java index 80ec5a02a87..a08b0a91833 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/EditableLeaderboardSettings.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/EditableLeaderboardSettings.java @@ -16,13 +16,13 @@ public class EditableLeaderboardSettings extends MultiRaceLeaderboardSettings { protected BooleanSetting showCarryColumn; - public EditableLeaderboardSettings(boolean showCarryColumn) { - super(); + public EditableLeaderboardSettings(boolean showCarryColumn, SecurityChildSettingsContext context) { + super(context); this.showCarryColumn.setValue(showCarryColumn); } - public EditableLeaderboardSettings(Iterable namesOfRaceColumnsToShow) { - super(namesOfRaceColumnsToShow); + public EditableLeaderboardSettings(Iterable namesOfRaceColumnsToShow, SecurityChildSettingsContext context) { + super(namesOfRaceColumnsToShow, context); this.showCarryColumn.setValue(SHOW_CARRY_COLUMN_DEFAULT); } @@ -34,11 +34,12 @@ public class EditableLeaderboardSettings extends MultiRaceLeaderboardSettings { RaceColumnSelectionStrategies activeRaceColumnSelectionStrategy, boolean showAddedScores, boolean showCompetitorShortNameColumn, boolean showCompetitorFullNameColumn, boolean showCompetitorBoatInfoColumn, boolean isCompetitorNationalityColumnVisible, - boolean showCarryColumn) { + boolean showCarryColumn, SecurityChildSettingsContext context) { super(maneuverDetailsToShow, legDetailsToShow, raceDetailsToShow, overallDetailsToShow, namesOfRaceColumnsToShow, numberOfLastRacesToShow, delayBetweenAutoAdvancesInMilliseconds, activeRaceColumnSelectionStrategy, showAddedScores, showCompetitorShortNameColumn, - showCompetitorFullNameColumn, showCompetitorBoatInfoColumn, isCompetitorNationalityColumnVisible); + showCompetitorFullNameColumn, showCompetitorBoatInfoColumn, isCompetitorNationalityColumnVisible, + context); this.showCarryColumn.setValue(showCarryColumn); } @@ -54,8 +55,8 @@ public class EditableLeaderboardSettings extends MultiRaceLeaderboardSettings { @Override public EditableLeaderboardSettings withNamesOfRaceColumnsToShowDefaults( - Iterable namesOfRaceColumnsToShow) { - return withNamesOfRaceColumnsToShowDefaults(namesOfRaceColumnsToShow, SHOW_CARRY_COLUMN_DEFAULT); + Iterable namesOfRaceColumnsToShow, SecurityChildSettingsContext context) { + return withNamesOfRaceColumnsToShowDefaults(namesOfRaceColumnsToShow, SHOW_CARRY_COLUMN_DEFAULT, context); } /** @@ -63,8 +64,8 @@ public class EditableLeaderboardSettings extends MultiRaceLeaderboardSettings { * instance except the defaults for namesOfRaceColumnsToShow which are set to the given values. */ public EditableLeaderboardSettings withNamesOfRaceColumnsToShowDefaults( - final Iterable namesOfRaceColumnsToShow, boolean showCarryDefault) { - final EditableLeaderboardSettings newSettings = new EditableLeaderboardSettings(showCarryDefault); + final Iterable namesOfRaceColumnsToShow, boolean showCarryDefault, SecurityChildSettingsContext context) { + final EditableLeaderboardSettings newSettings = new EditableLeaderboardSettings(showCarryDefault, context); SettingsUtil.copyValuesAndDefaults(this, this, newSettings); newSettings.namesOfRaceColumnsToShow.setDefaultValues(namesOfRaceColumnsToShow); return newSettings; diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/EditableLeaderboardSettingsDialogComponent.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/EditableLeaderboardSettingsDialogComponent.java index 46741314547..7cf0857d55e 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/EditableLeaderboardSettingsDialogComponent.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/EditableLeaderboardSettingsDialogComponent.java @@ -21,6 +21,7 @@ import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sse.common.Util; import com.sap.sse.gwt.client.dialog.DataEntryDialog; import com.sap.sse.gwt.client.dialog.DataEntryDialog.Validator; +import com.sap.sse.security.ui.client.SecurityChildSettingsContext; import com.sap.sse.security.ui.client.premium.PaywallResolver; public class EditableLeaderboardSettingsDialogComponent @@ -70,7 +71,7 @@ public class EditableLeaderboardSettingsDialogComponent /* showAddedScores */ showAddedScoresCheckBox.getValue().booleanValue(), showCompetitorShortNameColumnCheckBox.getValue(), showCompetitorFullNameColumnCheckBox.getValue(), showCompetitorBoatInfoColumnCheckBox.getValue(), isCompetitorNationalityColumnVisible.getValue(), - showCarryColumnCheckbox.getValue()); + showCarryColumnCheckbox.getValue(), new SecurityChildSettingsContext(leaderboardDTO, paywallResolver)); return newSettings; } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/LeaderboardContextDefinition.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/LeaderboardContextDefinition.java index 4eb4e50c016..efe218a7f40 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/LeaderboardContextDefinition.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/LeaderboardContextDefinition.java @@ -5,9 +5,8 @@ import java.util.UUID; import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettings; import com.sap.sse.common.settings.generic.StringSetting; import com.sap.sse.common.settings.generic.UUIDSetting; -import com.sap.sse.security.ui.client.SecurityChildSettingsContext; -public class LeaderboardContextDefinition extends AbstractGenericSerializableSettings { +public class LeaderboardContextDefinition extends AbstractGenericSerializableSettings { private static final long serialVersionUID = 6699950643747065960L; private transient UUIDSetting eventId; @@ -15,7 +14,7 @@ public class LeaderboardContextDefinition extends AbstractGenericSerializableSet private transient StringSetting displayName; public LeaderboardContextDefinition() { - super(null); + super(); } public LeaderboardContextDefinition(String leaderboardName, String displayName) { @@ -25,7 +24,7 @@ public class LeaderboardContextDefinition extends AbstractGenericSerializableSet } @Override - protected void addChildSettings(SecurityChildSettingsContext context) { + protected void addChildSettings() { eventId = new UUIDSetting("eventId", this); leaderboardName = new StringSetting("name", this); displayName = new StringSetting("displayName", this); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/LeaderboardPerspectiveOwnSettings.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/LeaderboardPerspectiveOwnSettings.java index 3976f65a58d..5f316ecc1c6 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/LeaderboardPerspectiveOwnSettings.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/LeaderboardPerspectiveOwnSettings.java @@ -3,9 +3,8 @@ package com.sap.sailing.gwt.settings.client.leaderboard; import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettings; import com.sap.sse.common.settings.generic.BooleanSetting; import com.sap.sse.common.settings.generic.StringSetting; -import com.sap.sse.security.ui.client.SecurityChildSettingsContext; -public class LeaderboardPerspectiveOwnSettings extends AbstractGenericSerializableSettings { +public class LeaderboardPerspectiveOwnSettings extends AbstractGenericSerializableSettings { private static final long serialVersionUID = 8978956250485028963L; private transient BooleanSetting showRaceDetails; @@ -19,7 +18,7 @@ public class LeaderboardPerspectiveOwnSettings extends AbstractGenericSerializab private transient BooleanSetting livePlay; LeaderboardPerspectiveOwnSettings() { - super(null); + super(); } public LeaderboardPerspectiveOwnSettings(boolean showRaceDetails) { @@ -46,7 +45,7 @@ public class LeaderboardPerspectiveOwnSettings extends AbstractGenericSerializab } @Override - protected void addChildSettings(SecurityChildSettingsContext context) { + protected void addChildSettings() { showRaceDetails = new BooleanSetting("showRaceDetails", this, false); hideToolbar = new BooleanSetting("hideToolbar", this, false); autoExpandLastRaceColumn = new BooleanSetting(LeaderboardUrlSettings.PARAM_AUTO_EXPAND_LAST_RACE_COLUMN, this, false); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/LeaderboardSettings.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/LeaderboardSettings.java index f8c6adc49a8..8dadadda6bd 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/LeaderboardSettings.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/LeaderboardSettings.java @@ -8,11 +8,12 @@ import com.sap.sailing.domain.common.DetailType; import com.sap.sailing.gwt.ui.leaderboard.LeaderboardEntryPoint; import com.sap.sailing.gwt.ui.leaderboard.LeaderboardPanel; import com.sap.sse.common.Util; -import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettings; +import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettingsWithContext; import com.sap.sse.common.settings.generic.BooleanSetting; import com.sap.sse.common.settings.generic.EnumSetSetting; import com.sap.sse.common.settings.generic.LongSetting; import com.sap.sse.security.ui.client.SecurityChildSettingsContext; +import com.sap.sse.security.ui.client.premium.settings.SecuredEnumSetSetting; /** * Settings for the {@link LeaderboardPanel} component. If you change here, please also visit @@ -22,10 +23,10 @@ import com.sap.sse.security.ui.client.SecurityChildSettingsContext; * @author Axel Uhl (d043530) * */ -public abstract class LeaderboardSettings extends AbstractGenericSerializableSettings { +public abstract class LeaderboardSettings extends AbstractGenericSerializableSettingsWithContext { private static final long serialVersionUID = 2625004077963291333L; - protected EnumSetSetting maneuverDetailsToShow; + protected SecuredEnumSetSetting maneuverDetailsToShow; protected EnumSetSetting legDetailsToShow; protected EnumSetSetting raceDetailsToShow; protected EnumSetSetting overallDetailsToShow; @@ -48,7 +49,8 @@ public abstract class LeaderboardSettings extends AbstractGenericSerializableSet maneuverDetails.add(DetailType.TACK); maneuverDetails.add(DetailType.JIBE); maneuverDetails.add(DetailType.PENALTY_CIRCLE); - maneuverDetailsToShow = new EnumSetSetting<>("maneuverDetailsToShow", this, maneuverDetails, DetailType::valueOfString); + maneuverDetailsToShow = new SecuredEnumSetSetting<>("maneuverDetailsToShow", this, maneuverDetails, DetailType::valueOfString, + context.getPaywallResolver(), context.getSecuredDTO()); List legDetails = new ArrayList<>(); legDetails.add(DetailType.LEG_DISTANCE_TRAVELED); legDetails.add(DetailType.LEG_AVERAGE_SPEED_OVER_GROUND_IN_KNOTS); @@ -68,8 +70,8 @@ public abstract class LeaderboardSettings extends AbstractGenericSerializableSet showCompetitorBoatInfoColumn = new BooleanSetting("showCompetitorBoatInfoColumn", this, false); } - public LeaderboardSettings(boolean showCompetitorBoatInfoColumnDefault) { - super(null); + public LeaderboardSettings(boolean showCompetitorBoatInfoColumnDefault, SecurityChildSettingsContext context) { + super(context); showCompetitorBoatInfoColumn.setDefaultValue(showCompetitorBoatInfoColumnDefault); } @@ -81,8 +83,8 @@ public abstract class LeaderboardSettings extends AbstractGenericSerializableSet Long delayBetweenAutoAdvancesInMilliseconds, boolean showAddedScores, boolean showCompetitorShortNameColumn, boolean showCompetitorFullNameColumn, boolean showCompetitorBoatInfoColumn, - boolean isCompetitorNationalityColumnVisible) { - this(showCompetitorBoatInfoColumn); + boolean isCompetitorNationalityColumnVisible, SecurityChildSettingsContext context) { + this(showCompetitorBoatInfoColumn, context); this.legDetailsToShow.setValues(legDetailsToShow); this.raceDetailsToShow.setValues(raceDetailsToShow); this.overallDetailsToShow.setValues(overallDetailsToShow); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/LeaderboardSettingsDialogComponent.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/LeaderboardSettingsDialogComponent.java index 78ce2695058..791e3273bb6 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/LeaderboardSettingsDialogComponent.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/LeaderboardSettingsDialogComponent.java @@ -53,7 +53,7 @@ public abstract class LeaderboardSettingsDialogComponent availableDetailTypes; protected final PaywallResolver paywallResolver; - private final AbstractLeaderboardDTO leaderboardDTO; + protected final AbstractLeaderboardDTO leaderboardDTO; protected LeaderboardSettingsDialogComponent(T initialSettings, StringMessages stringMessages, Iterable availableDetailTypes, boolean canBoatInfoBeShownAsOverallDetail, PaywallResolver paywallResolver, AbstractLeaderboardDTO leaderboardDTO) { @@ -253,26 +253,14 @@ public abstract class LeaderboardSettingsDialogComponent dialog, DetailType detailType, boolean selected, Map registry) { - CheckBox checkbox = createCheckbox(dialog, detailType, selected); + CheckBox checkbox = createCheckbox(dialog, DetailTypeFormatter.format(detailType), selected, + DetailTypeFormatter.getTooltip(detailType)); registry.put(detailType, checkbox); return checkbox; } private PremiumCheckBox createAndRegisterPremiumCheckbox(DataEntryDialog dialog, DetailType detailType, boolean selected, Map registry) { - PremiumCheckBox premiumCheckbox = createPremiumCheckbox(dialog, detailType, selected); - registry.put(detailType, premiumCheckbox.getCheckBox()); - return premiumCheckbox; - } - - private CheckBox createCheckbox(DataEntryDialog dialog, DetailType detailType, boolean selected) { - CheckBox checkbox = createCheckbox(dialog, DetailTypeFormatter.format(detailType), selected, - DetailTypeFormatter.getTooltip(detailType)); - checkbox.ensureDebugId(DebugIdHelper.createDebugId(detailType) + CHECK_BOX_DEBUGID_CONSTANT); - return checkbox; - } - - private PremiumCheckBox createPremiumCheckbox(DataEntryDialog dialog, DetailType detailType, boolean selected) { String tooltip = DetailTypeFormatter.getTooltip(detailType); String premiumTooltip = stringMessages.premiumFeature(); if (tooltip != null && !tooltip.isEmpty()) { @@ -280,7 +268,7 @@ public abstract class LeaderboardSettingsDialogComponent { +public class MultiCompetitorLeaderboardChartSettings extends AbstractGenericSerializableSettings { private static final long serialVersionUID = 2456555424331709738L; private EnumSetting detailType; private MultiCompetitorLeaderboardChartSettings() { - super(null); + super(); } public MultiCompetitorLeaderboardChartSettings(DetailType detailType) { @@ -21,7 +20,7 @@ public class MultiCompetitorLeaderboardChartSettings extends AbstractGenericSeri } @Override - protected void addChildSettings(SecurityChildSettingsContext context) { + protected void addChildSettings() { detailType = new EnumSetting<>("detailType", this, new StringToEnumConverter() { @Override public DetailType fromString(String stringValue) { diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/MultiRaceLeaderboardPanelLifecycle.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/MultiRaceLeaderboardPanelLifecycle.java index 77522b94b87..7c74064493f 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/MultiRaceLeaderboardPanelLifecycle.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/MultiRaceLeaderboardPanelLifecycle.java @@ -6,6 +6,7 @@ import com.sap.sailing.domain.common.DetailType; import com.sap.sailing.domain.common.dto.AbstractLeaderboardDTO; import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sse.common.settings.generic.support.SettingsUtil; +import com.sap.sse.security.ui.client.SecurityChildSettingsContext; import com.sap.sse.security.ui.client.premium.PaywallResolver; public class MultiRaceLeaderboardPanelLifecycle @@ -24,7 +25,8 @@ public class MultiRaceLeaderboardPanelLifecycle @Override public MultiRaceLeaderboardSettings extractUserSettings(MultiRaceLeaderboardSettings currentLeaderboardSettings) { // All settings except namesOfRaceColumnsToShow are used for the user settings - return currentLeaderboardSettings.withNamesOfRaceColumnsToShowDefaultsAndValues(namesOfRaceColumns); + return currentLeaderboardSettings.withNamesOfRaceColumnsToShowDefaultsAndValues(namesOfRaceColumns, + new SecurityChildSettingsContext(leaderboardDTO, paywallResolver)); } @Override @@ -36,7 +38,8 @@ public class MultiRaceLeaderboardPanelLifecycle @Override public MultiRaceLeaderboardSettings createDefaultSettings() { - MultiRaceLeaderboardSettings leaderboardSettings = new MultiRaceLeaderboardSettings(namesOfRaceColumns); + MultiRaceLeaderboardSettings leaderboardSettings = new MultiRaceLeaderboardSettings(namesOfRaceColumns, + new SecurityChildSettingsContext(leaderboardDTO, paywallResolver)); SettingsUtil.copyDefaultsFromValues(leaderboardSettings, leaderboardSettings); return leaderboardSettings; } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/MultiRaceLeaderboardSettings.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/MultiRaceLeaderboardSettings.java index 852926bb7c9..adf16feca32 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/MultiRaceLeaderboardSettings.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/MultiRaceLeaderboardSettings.java @@ -29,8 +29,8 @@ public class MultiRaceLeaderboardSettings extends LeaderboardSettings { protected EnumSetting activeRaceColumnSelectionStrategy; - public MultiRaceLeaderboardSettings() { - super(false); + public MultiRaceLeaderboardSettings(SecurityChildSettingsContext context) { + super(false, context); } public MultiRaceLeaderboardSettings(Collection maneuverDetailsToShow, @@ -40,17 +40,18 @@ public class MultiRaceLeaderboardSettings extends LeaderboardSettings { Long delayBetweenAutoAdvancesInMilliseconds, RaceColumnSelectionStrategies activeRaceColumnSelectionStrategy, boolean showAddedScores, boolean showCompetitorShortNameColumn, boolean showCompetitorFullNameColumn, - boolean showCompetitorBoatInfoColumn, boolean isCompetitorNationalityColumnVisible) { + boolean showCompetitorBoatInfoColumn, boolean isCompetitorNationalityColumnVisible, + SecurityChildSettingsContext context) { super(maneuverDetailsToShow, legDetailsToShow, raceDetailsToShow, overallDetailsToShow, delayBetweenAutoAdvancesInMilliseconds, showAddedScores, showCompetitorShortNameColumn, - showCompetitorFullNameColumn, showCompetitorBoatInfoColumn, isCompetitorNationalityColumnVisible); + showCompetitorFullNameColumn, showCompetitorBoatInfoColumn, isCompetitorNationalityColumnVisible, context); this.namesOfRaceColumnsToShow.setValues(namesOfRaceColumnsToShow); this.numberOfLastRacesToShow.setValue(numberOfLastRacesToShow); this.activeRaceColumnSelectionStrategy.setValue(activeRaceColumnSelectionStrategy); } - public MultiRaceLeaderboardSettings(Iterable namesOfRaceColumnsToShow) { - super(false); + public MultiRaceLeaderboardSettings(Iterable namesOfRaceColumnsToShow, SecurityChildSettingsContext context) { + super(false, context); this.namesOfRaceColumnsToShow.setValues(namesOfRaceColumnsToShow); } @@ -88,8 +89,8 @@ public class MultiRaceLeaderboardSettings extends LeaderboardSettings { * instance except the defaults for namesOfRaceColumnsToShow which are set to the given values. */ public MultiRaceLeaderboardSettings withNamesOfRaceColumnsToShowDefaults( - final Iterable namesOfRaceColumnsToShow) { - final MultiRaceLeaderboardSettings newSettings = new MultiRaceLeaderboardSettings(); + final Iterable namesOfRaceColumnsToShow, SecurityChildSettingsContext context) { + final MultiRaceLeaderboardSettings newSettings = new MultiRaceLeaderboardSettings(context); SettingsUtil.copyValuesAndDefaults(this, this, newSettings); newSettings.namesOfRaceColumnsToShow.setDefaultValues(namesOfRaceColumnsToShow); return newSettings; @@ -101,8 +102,8 @@ public class MultiRaceLeaderboardSettings extends LeaderboardSettings { * set to the given values. */ public MultiRaceLeaderboardSettings withNamesOfRaceColumnsToShowDefaultsAndValues( - final Iterable namesOfRaceColumnsToShow) { - final MultiRaceLeaderboardSettings newSettings = withNamesOfRaceColumnsToShowDefaults(namesOfRaceColumnsToShow); + final Iterable namesOfRaceColumnsToShow, SecurityChildSettingsContext context) { + final MultiRaceLeaderboardSettings newSettings = withNamesOfRaceColumnsToShowDefaults(namesOfRaceColumnsToShow, context); newSettings.namesOfRaceColumnsToShow.setValues(namesOfRaceColumnsToShow); return newSettings; } @@ -114,7 +115,8 @@ public class MultiRaceLeaderboardSettings extends LeaderboardSettings { */ public MultiRaceLeaderboardSettings withRaceColumnSelectionValuesFrom( MultiRaceLeaderboardSettings settingsWithRaceColumnSelection) { - final MultiRaceLeaderboardSettings newSettings = new MultiRaceLeaderboardSettings(); + // take over context from origin settings, because they are valid also for new settings + final MultiRaceLeaderboardSettings newSettings = new MultiRaceLeaderboardSettings(settingsWithRaceColumnSelection.getContext()); SettingsUtil.copyValuesAndDefaults(this, this, newSettings); newSettings.activeRaceColumnSelectionStrategy .setValue(settingsWithRaceColumnSelection.getActiveRaceColumnSelectionStrategy()); @@ -129,8 +131,8 @@ public class MultiRaceLeaderboardSettings extends LeaderboardSettings { * numberOfLastRacesToShow. */ public static MultiRaceLeaderboardSettings createDefaultSettingsWithLastNRaceColumnSelection( - int numberOfLastRacesToShow) { - final MultiRaceLeaderboardSettings newSettings = new MultiRaceLeaderboardSettings(); + int numberOfLastRacesToShow, SecurityChildSettingsContext context) { + final MultiRaceLeaderboardSettings newSettings = new MultiRaceLeaderboardSettings(context); newSettings.namesOfRaceColumnsToShow.setValues(null); newSettings.activeRaceColumnSelectionStrategy.setValue(RaceColumnSelectionStrategies.LAST_N); newSettings.numberOfLastRacesToShow.setValue(numberOfLastRacesToShow); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/MultiRaceLeaderboardSettingsDialogComponent.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/MultiRaceLeaderboardSettingsDialogComponent.java index e226b354f57..20e941a7d65 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/MultiRaceLeaderboardSettingsDialogComponent.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/MultiRaceLeaderboardSettingsDialogComponent.java @@ -21,6 +21,7 @@ import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sse.common.Util; import com.sap.sse.gwt.client.dialog.DataEntryDialog; import com.sap.sse.gwt.client.dialog.DataEntryDialog.Validator; +import com.sap.sse.security.ui.client.SecurityChildSettingsContext; import com.sap.sse.security.ui.client.premium.PaywallResolver; public class MultiRaceLeaderboardSettingsDialogComponent @@ -64,7 +65,8 @@ public class MultiRaceLeaderboardSettingsDialogComponent activeRaceColumnSelectionStrategy, /* showAddedScores */ showAddedScoresCheckBox.getValue().booleanValue(), showCompetitorShortNameColumnCheckBox.getValue(), showCompetitorFullNameColumnCheckBox.getValue(), - showCompetitorBoatInfoColumnCheckBox.getValue(), isCompetitorNationalityColumnVisible.getValue()); + showCompetitorBoatInfoColumnCheckBox.getValue(), isCompetitorNationalityColumnVisible.getValue(), + new SecurityChildSettingsContext(leaderboardDTO, paywallResolver)); return newSettings; } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/MultipleMultiLeaderboardPanelLifecycle.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/MultipleMultiLeaderboardPanelLifecycle.java index a20f78ebdb7..24b0730ac11 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/MultipleMultiLeaderboardPanelLifecycle.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/MultipleMultiLeaderboardPanelLifecycle.java @@ -5,6 +5,7 @@ import java.util.Collections; import com.sap.sailing.domain.common.DetailType; import com.sap.sailing.domain.common.dto.AbstractLeaderboardDTO; import com.sap.sailing.gwt.ui.client.StringMessages; +import com.sap.sse.security.ui.client.SecurityChildSettingsContext; import com.sap.sse.security.ui.client.premium.PaywallResolver; /** @@ -26,7 +27,8 @@ public class MultipleMultiLeaderboardPanelLifecycle extends MultiRaceLeaderboard @Override public MultiRaceLeaderboardSettings extractDocumentSettings(MultiRaceLeaderboardSettings currentLeaderboardSettings) { - return currentLeaderboardSettings.withNamesOfRaceColumnsToShowDefaultsAndValues(Collections.emptyList()); + SecurityChildSettingsContext context = new SecurityChildSettingsContext(leaderboardDTO, paywallResolver); + return currentLeaderboardSettings.withNamesOfRaceColumnsToShowDefaultsAndValues(Collections.emptyList(), context); } @Override diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/SingleRaceLeaderboardSettings.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/SingleRaceLeaderboardSettings.java index a8f90623fab..053e26b1cf1 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/SingleRaceLeaderboardSettings.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/SingleRaceLeaderboardSettings.java @@ -11,8 +11,8 @@ public class SingleRaceLeaderboardSettings extends LeaderboardSettings { private BooleanSetting showRaceRankColumn; - public SingleRaceLeaderboardSettings(boolean showCompetitorBoatInfoColumnDefault) { - super(showCompetitorBoatInfoColumnDefault); + public SingleRaceLeaderboardSettings(boolean showCompetitorBoatInfoColumnDefault, SecurityChildSettingsContext context) { + super(showCompetitorBoatInfoColumnDefault, context); } public SingleRaceLeaderboardSettings(Collection maneuverDetailsToShow, @@ -20,10 +20,10 @@ public class SingleRaceLeaderboardSettings extends LeaderboardSettings { Collection overallDetailsToShow, Long delayBetweenAutoAdvancesInMilliseconds, boolean showAddedScores, boolean showCompetitorShortNameColumn, boolean showCompetitorFullNameColumn, boolean showCompetitorBoatInfoColumn, boolean isCompetitorNationalityColumnVisible, - boolean showRaceRankColumn) { + boolean showRaceRankColumn, SecurityChildSettingsContext context) { super(maneuverDetailsToShow, legDetailsToShow, raceDetailsToShow, overallDetailsToShow, delayBetweenAutoAdvancesInMilliseconds, showAddedScores, showCompetitorShortNameColumn, - showCompetitorFullNameColumn, showCompetitorBoatInfoColumn, isCompetitorNationalityColumnVisible); + showCompetitorFullNameColumn, showCompetitorBoatInfoColumn, isCompetitorNationalityColumnVisible, context); this.showRaceRankColumn.setValue(showRaceRankColumn); } @@ -42,8 +42,8 @@ public class SingleRaceLeaderboardSettings extends LeaderboardSettings { * raceDetailsToShow which are set to the given values. */ public static SingleRaceLeaderboardSettings createDefaultSettingsWithRaceDetailValues( - final Iterable raceDetailsToShow) { - final SingleRaceLeaderboardSettings newSettings = new SingleRaceLeaderboardSettings(false); + final Iterable raceDetailsToShow, SecurityChildSettingsContext context) { + final SingleRaceLeaderboardSettings newSettings = new SingleRaceLeaderboardSettings(false, context); newSettings.raceDetailsToShow.setValues(raceDetailsToShow); return newSettings; } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/SingleRaceLeaderboardSettingsDialogComponent.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/SingleRaceLeaderboardSettingsDialogComponent.java index 6e25c2410a3..e1e16e0b920 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/SingleRaceLeaderboardSettingsDialogComponent.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/SingleRaceLeaderboardSettingsDialogComponent.java @@ -10,6 +10,7 @@ import com.sap.sailing.domain.common.dto.AbstractLeaderboardDTO; import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sse.gwt.client.dialog.DataEntryDialog; import com.sap.sse.gwt.client.dialog.DataEntryDialog.Validator; +import com.sap.sse.security.ui.client.SecurityChildSettingsContext; import com.sap.sse.security.ui.client.premium.PaywallResolver; public class SingleRaceLeaderboardSettingsDialogComponent @@ -35,7 +36,7 @@ public class SingleRaceLeaderboardSettingsDialogComponent /* showAddedScores */ showAddedScoresCheckBox.getValue().booleanValue(), showCompetitorShortNameColumnCheckBox.getValue(), showCompetitorFullNameColumnCheckBox.getValue(), showCompetitorBoatInfoColumnCheckBox.getValue(), isCompetitorNationalityColumnVisible.getValue(), - showRaceRankColumn.getValue()); + showRaceRankColumn.getValue(), new SecurityChildSettingsContext(leaderboardDTO, paywallResolver)); return newSettings; } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboardedit/EditableLeaderboardContextDefinition.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboardedit/EditableLeaderboardContextDefinition.java index 11a58038bbc..b8927b2489b 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboardedit/EditableLeaderboardContextDefinition.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboardedit/EditableLeaderboardContextDefinition.java @@ -2,16 +2,15 @@ package com.sap.sailing.gwt.settings.client.leaderboardedit; import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettings; import com.sap.sse.common.settings.generic.StringSetting; -import com.sap.sse.security.ui.client.SecurityChildSettingsContext; -public class EditableLeaderboardContextDefinition extends AbstractGenericSerializableSettings { +public class EditableLeaderboardContextDefinition extends AbstractGenericSerializableSettings { private static final long serialVersionUID = -2634678952043877600L; private transient StringSetting leaderboardName; public EditableLeaderboardContextDefinition() { - super(null); + super(); } public EditableLeaderboardContextDefinition(String leaderboardName) { @@ -20,7 +19,7 @@ public class EditableLeaderboardContextDefinition extends AbstractGenericSeriali } @Override - protected void addChildSettings(SecurityChildSettingsContext context) { + protected void addChildSettings() { leaderboardName = new StringSetting("name", this); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/raceboard/RaceBoardPerspectiveOwnSettings.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/raceboard/RaceBoardPerspectiveOwnSettings.java index 8f3d23e8a22..f3debff9d53 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/raceboard/RaceBoardPerspectiveOwnSettings.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/raceboard/RaceBoardPerspectiveOwnSettings.java @@ -14,14 +14,13 @@ import com.sap.sse.common.settings.generic.LongSetting; import com.sap.sse.common.settings.generic.StringSetSetting; import com.sap.sse.common.settings.generic.StringSetting; import com.sap.sse.gwt.shared.GwtHttpRequestUtils; -import com.sap.sse.security.ui.client.SecurityChildSettingsContext; /** * The settings of the raceboard perspective * @author Frank * */ -public class RaceBoardPerspectiveOwnSettings extends AbstractGenericSerializableSettings { +public class RaceBoardPerspectiveOwnSettings extends AbstractGenericSerializableSettings { private static final long serialVersionUID = 5471954179434008459L; @@ -60,7 +59,7 @@ public class RaceBoardPerspectiveOwnSettings extends AbstractGenericSerializable public RaceBoardPerspectiveOwnSettings() { - super(null); + super(); } public RaceBoardPerspectiveOwnSettings(Duration initialDurationAfterRaceStartInReplay) { @@ -76,13 +75,13 @@ public class RaceBoardPerspectiveOwnSettings extends AbstractGenericSerializable } @Override - protected void addChildSettings(SecurityChildSettingsContext context) { + protected void addChildSettings() { this.showLeaderboard = new BooleanSetting("showLeaderboard", this, true); this.showWindChart = new BooleanSetting("showWindChart", this, false); this.showCompetitorsChart = new BooleanSetting("showCompetitorsChart", this, false); this.activeCompetitorsFilterSetName = new StringSetting("activeCompetitorsFilterSetName", this, null); this.canReplayDuringLiveRaces = new BooleanSetting("canReplayDuringLiveRaces", this, false); - this.initialDurationAfterRaceStartInReplay = new DurationSetting(PARAM_TIME_AFTER_RACE_START_AS_HOURS_COLON_MILLIS_COLON_SECONDS, this, null); + this.initialDurationAfterRaceStartInReplay = new DurationSetting(PARAM_TIME_AFTER_RACE_START_AS_HOURS_COLON_MILLIS_COLON_SECONDS, this); this.selectedCompetitor = new StringSetting(PARAM_SELECTED_COMPETITOR, this, null); this.selectedCompetitors = new StringSetSetting(PARAM_SELECTED_COMPETITORS, this, null); this.showTags = new BooleanSetting(PARAM_VIEW_SHOW_TAGS, this, false); @@ -97,7 +96,7 @@ public class RaceBoardPerspectiveOwnSettings extends AbstractGenericSerializable Boolean showWindChart, Boolean showCompetitorsChart, Boolean canReplayDuringLiveRaces, Duration initialDurationAfterRaceStartInReplay, String selectedCompetitor, Iterable selectedCompetitors, Boolean showTags, Boolean showManeuverTable, String jumpToTag, Long zoomStart, Long zoomEnd, Boolean autoExpandPreSelectedRace) { - super(null); + super(); this.showTags.setValue(showTags); this.showManeuverTable.setValue(showManeuverTable); this.activeCompetitorsFilterSetName.setValue(activeCompetitorsFilterSetName); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/raceboard/RaceboardContextDefinition.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/raceboard/RaceboardContextDefinition.java index 047f65b1cac..d5d792ed87f 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/raceboard/RaceboardContextDefinition.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/raceboard/RaceboardContextDefinition.java @@ -5,9 +5,8 @@ import java.util.UUID; import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettings; import com.sap.sse.common.settings.generic.StringSetting; import com.sap.sse.common.settings.generic.UUIDSetting; -import com.sap.sse.security.ui.client.SecurityChildSettingsContext; -public class RaceboardContextDefinition extends AbstractGenericSerializableSettings { +public class RaceboardContextDefinition extends AbstractGenericSerializableSettings { private static final long serialVersionUID = 2632481216072003426L; private StringSetting regattaName; @@ -19,7 +18,7 @@ public class RaceboardContextDefinition extends AbstractGenericSerializableSetti private StringSetting mode; public RaceboardContextDefinition() { - super(null); + super(); } /** @@ -46,7 +45,7 @@ public class RaceboardContextDefinition extends AbstractGenericSerializableSetti } @Override - protected void addChildSettings(SecurityChildSettingsContext context) { + protected void addChildSettings() { regattaName = new StringSetting("regattaName", this); raceName = new StringSetting("raceName", this); leaderboardName = new StringSetting("leaderboardName", this); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/regattaoverview/RegattaOverviewContextDefinition.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/regattaoverview/RegattaOverviewContextDefinition.java index e612b536f10..0b59b2f56aa 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/regattaoverview/RegattaOverviewContextDefinition.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/regattaoverview/RegattaOverviewContextDefinition.java @@ -4,14 +4,13 @@ import java.util.UUID; import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettings; import com.sap.sse.common.settings.generic.UUIDSetting; -import com.sap.sse.security.ui.client.SecurityChildSettingsContext; -public final class RegattaOverviewContextDefinition extends AbstractGenericSerializableSettings { +public final class RegattaOverviewContextDefinition extends AbstractGenericSerializableSettings { private static final long serialVersionUID = -8541790130000694098L; private transient UUIDSetting event; public RegattaOverviewContextDefinition() { - super(null); + super(); } public RegattaOverviewContextDefinition(String event) { @@ -24,7 +23,7 @@ public final class RegattaOverviewContextDefinition extends AbstractGenericSeria } @Override - protected void addChildSettings(SecurityChildSettingsContext context) { + protected void addChildSettings() { event = new UUIDSetting("event", this); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/regattaoverview/RegattaRaceStatesSettings.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/regattaoverview/RegattaRaceStatesSettings.java index e0be37b21d9..821d4246f4d 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/regattaoverview/RegattaRaceStatesSettings.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/regattaoverview/RegattaRaceStatesSettings.java @@ -11,9 +11,8 @@ import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettings; import com.sap.sse.common.settings.generic.BooleanSetting; import com.sap.sse.common.settings.generic.StringSetSetting; import com.sap.sse.common.settings.generic.UUIDSetSetting; -import com.sap.sse.security.ui.client.SecurityChildSettingsContext; -public final class RegattaRaceStatesSettings extends AbstractGenericSerializableSettings { +public final class RegattaRaceStatesSettings extends AbstractGenericSerializableSettings { private static final long serialVersionUID = 7059340304556830062L; private transient UUIDSetSetting visibleCourseAreas; private transient StringSetSetting visibleRegattas; @@ -21,7 +20,7 @@ public final class RegattaRaceStatesSettings extends AbstractGenericSerializable private transient BooleanSetting showOnlyCurrentlyRunningRaces; public RegattaRaceStatesSettings() { - super(null); + super(); } public RegattaRaceStatesSettings(Iterable defaultCourseAreas, Iterable defaultRaceGroups) { @@ -41,7 +40,7 @@ public final class RegattaRaceStatesSettings extends AbstractGenericSerializable } @Override - protected void addChildSettings(SecurityChildSettingsContext context) { + protected void addChildSettings() { visibleCourseAreas = new UUIDSetSetting("visibleCourseAreas", this, true); visibleRegattas = new StringSetSetting("visibleRegattas", this, true); showOnlyRacesOfSameDay = new BooleanSetting("showOnlyRacesOfSameDay", this, false); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/settingtypes/DistanceSetting.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/settingtypes/DistanceSetting.java index d020dc13190..48b18e2c12b 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/settingtypes/DistanceSetting.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/settingtypes/DistanceSetting.java @@ -6,11 +6,11 @@ import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettings; import com.sap.sse.common.settings.generic.base.AbstractValueSetting; public class DistanceSetting extends AbstractValueSetting { - public DistanceSetting(String name, AbstractGenericSerializableSettings settings) { + public DistanceSetting(String name, AbstractGenericSerializableSettings settings) { this(name, settings, null); } - public DistanceSetting(String name, AbstractGenericSerializableSettings settings, Distance defaultValue) { + public DistanceSetting(String name, AbstractGenericSerializableSettings settings, Distance defaultValue) { super(name, settings, defaultValue, DistanceConverter.INSTANCE); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/settingtypes/DurationSetting.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/settingtypes/DurationSetting.java index d71861f0a50..4af3aba6fb7 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/settingtypes/DurationSetting.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/settingtypes/DurationSetting.java @@ -6,11 +6,11 @@ import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettings; import com.sap.sse.common.settings.generic.base.AbstractValueSetting; public class DurationSetting extends AbstractValueSetting { - public DurationSetting(String name, AbstractGenericSerializableSettings settings) { + public DurationSetting(String name, AbstractGenericSerializableSettings settings) { this(name, settings, null); } - public DurationSetting(String name, AbstractGenericSerializableSettings settings, Duration defaultValue) { + public DurationSetting(String name, AbstractGenericSerializableSettings settings, Duration defaultValue) { super(name, settings, defaultValue, DurationConverter.INSTANCE); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/settingtypes/SecuredDistanceSetting.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/settingtypes/SecuredDistanceSetting.java index 6e753e979f1..9c534f11bb5 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/settingtypes/SecuredDistanceSetting.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/settingtypes/SecuredDistanceSetting.java @@ -2,7 +2,7 @@ package com.sap.sailing.gwt.settings.client.settingtypes; import com.sap.sailing.gwt.settings.client.settingtypes.converter.DistanceConverter; import com.sap.sse.common.Distance; -import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettings; +import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettingsWithContext; import com.sap.sse.security.shared.HasPermissions.Action; import com.sap.sse.security.shared.dto.SecuredDTO; import com.sap.sse.security.ui.client.SecurityChildSettingsContext; @@ -10,12 +10,12 @@ import com.sap.sse.security.ui.client.premium.PaywallResolver; import com.sap.sse.security.ui.client.premium.settings.AbstractSecuredValueSetting; public class SecuredDistanceSetting extends AbstractSecuredValueSetting { - public SecuredDistanceSetting(String name, AbstractGenericSerializableSettings settings, + public SecuredDistanceSetting(String name, AbstractGenericSerializableSettingsWithContext settings, PaywallResolver paywallResolver, Action action, SecuredDTO securedDTO) { this(name, settings, null, paywallResolver, action, securedDTO); } - public SecuredDistanceSetting(String name, AbstractGenericSerializableSettings settings, Distance defaultValue, + public SecuredDistanceSetting(String name, AbstractGenericSerializableSettingsWithContext settings, Distance defaultValue, PaywallResolver paywallResolver, Action action, SecuredDTO securedDTO) { super(name, settings, defaultValue, DistanceConverter.INSTANCE, paywallResolver, action, securedDTO); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/settingtypes/SecuredDurationSetting.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/settingtypes/SecuredDurationSetting.java index 90e4ad16b30..4035aac3852 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/settingtypes/SecuredDurationSetting.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/settingtypes/SecuredDurationSetting.java @@ -2,7 +2,7 @@ package com.sap.sailing.gwt.settings.client.settingtypes; import com.sap.sailing.gwt.settings.client.settingtypes.converter.DurationConverter; import com.sap.sse.common.Duration; -import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettings; +import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettingsWithContext; import com.sap.sse.security.shared.HasPermissions.Action; import com.sap.sse.security.shared.dto.SecuredDTO; import com.sap.sse.security.ui.client.SecurityChildSettingsContext; @@ -10,12 +10,12 @@ import com.sap.sse.security.ui.client.premium.PaywallResolver; import com.sap.sse.security.ui.client.premium.settings.AbstractSecuredValueSetting; public class SecuredDurationSetting extends AbstractSecuredValueSetting { - public SecuredDurationSetting(String name, AbstractGenericSerializableSettings settings, + public SecuredDurationSetting(String name, AbstractGenericSerializableSettingsWithContext settings, PaywallResolver paywallResolver, Action action, SecuredDTO securedDto) { this(name, settings, null, paywallResolver, action, securedDto); } - public SecuredDurationSetting(String name, AbstractGenericSerializableSettings settings, Duration defaultValue, + public SecuredDurationSetting(String name, AbstractGenericSerializableSettingsWithContext settings, Duration defaultValue, PaywallResolver paywallResolver, Action action, SecuredDTO securedDto) { super(name, settings, defaultValue, DurationConverter.INSTANCE, paywallResolver, action, securedDto); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/spectator/SpectatorContextDefinition.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/spectator/SpectatorContextDefinition.java index 1399ebc6f1d..8d21340e502 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/spectator/SpectatorContextDefinition.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/spectator/SpectatorContextDefinition.java @@ -2,9 +2,8 @@ package com.sap.sailing.gwt.settings.client.spectator; import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettings; import com.sap.sse.common.settings.generic.StringSetting; -import com.sap.sse.security.ui.client.SecurityChildSettingsContext; -public class SpectatorContextDefinition extends AbstractGenericSerializableSettings { +public class SpectatorContextDefinition extends AbstractGenericSerializableSettings { private static final long serialVersionUID = -3422076606157458337L; @@ -13,7 +12,7 @@ public class SpectatorContextDefinition extends AbstractGenericSerializableSetti private transient StringSetting leaderboardGroupId; public SpectatorContextDefinition() { - super(null); + super(); } public SpectatorContextDefinition(String leaderboardGroupId) { @@ -22,7 +21,7 @@ public class SpectatorContextDefinition extends AbstractGenericSerializableSetti } @Override - protected void addChildSettings(SecurityChildSettingsContext context) { + protected void addChildSettings() { leaderboardGroupName = new StringSetting("leaderboardGroupName", this); leaderboardGroupId = new StringSetting("leaderboardGroupId", this); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/spectator/SpectatorSettings.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/spectator/SpectatorSettings.java index f96e3439cb9..5e219d0bf63 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/spectator/SpectatorSettings.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/spectator/SpectatorSettings.java @@ -5,9 +5,8 @@ import com.sap.sailing.gwt.ui.client.shared.racemap.RaceMapSettings; import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettings; import com.sap.sse.common.settings.generic.BooleanSetting; import com.sap.sse.common.settings.generic.StringSetting; -import com.sap.sse.security.ui.client.SecurityChildSettingsContext; -public class SpectatorSettings extends AbstractGenericSerializableSettings { +public class SpectatorSettings extends AbstractGenericSerializableSettings { private static final long serialVersionUID = -883043012807297001L; @@ -18,7 +17,7 @@ public class SpectatorSettings extends AbstractGenericSerializableSettings { +public abstract class AbstractWhatsNewSettings extends AbstractGenericSerializableSettings { private static final long serialVersionUID = -8669347808456747826L; private transient LongSetting numberOfCharsOnLastLogin; protected AbstractWhatsNewSettings() { - super(null); + super(); } protected AbstractWhatsNewSettings(final Long numberOfCharsOnLastLogin) { @@ -24,7 +23,7 @@ public abstract class AbstractWhatsNewSettings extends AbstractGenericSerializab } @Override - protected void addChildSettings(SecurityChildSettingsContext context) { + protected void addChildSettings() { numberOfCharsOnLastLogin = new LongSetting("numberOfCharsOnLastLogin", this, 0l); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/whatsnew/WhatsNewDialogFactory.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/whatsnew/WhatsNewDialogFactory.java index ade16a0dad9..6fe5daa3212 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/whatsnew/WhatsNewDialogFactory.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/whatsnew/WhatsNewDialogFactory.java @@ -47,7 +47,7 @@ public final class WhatsNewDialogFactory extends AbstractWhatsNewDialogFactory { +public class TimePanelSettings extends AbstractGenericSerializableSettings { private static final long serialVersionUID = -4397130065617955193L; private LongSetting refreshInterval; @Override - protected void addChildSettings(SecurityChildSettingsContext context) { + protected void addChildSettings() { refreshInterval = new LongSetting("", this, 1000l); } @@ -21,7 +20,7 @@ public class TimePanelSettings extends AbstractGenericSerializableSettings { +public class ChartSettings extends AbstractGenericSerializableSettings { private static final long serialVersionUID = 7041836078658713937L; private LongSetting stepSizeInMillis; @Override - protected void addChildSettings(SecurityChildSettingsContext context) { + protected void addChildSettings() { stepSizeInMillis = new LongSetting("stepSizeInMillis", this, AbstractCompetitorRaceChart.DEFAULT_STEPSIZE); } public ChartSettings() { - super(null); + super(); } public ChartSettings(long stepSizeInMillis) { diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/MultiCompetitorRaceChartSettings.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/MultiCompetitorRaceChartSettings.java index e17f95c3238..b4fc4245db7 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/MultiCompetitorRaceChartSettings.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/MultiCompetitorRaceChartSettings.java @@ -2,7 +2,6 @@ package com.sap.sailing.gwt.ui.client.shared.charts; import com.sap.sailing.domain.common.DetailType; import com.sap.sse.common.settings.generic.EnumSetting; -import com.sap.sse.security.ui.client.SecurityChildSettingsContext; public class MultiCompetitorRaceChartSettings extends ChartSettings { private static final long serialVersionUID = 2885108745814848018L; @@ -11,8 +10,8 @@ public class MultiCompetitorRaceChartSettings extends ChartSettings { private EnumSetting secondDetailType; @Override - protected void addChildSettings(SecurityChildSettingsContext context) { - super.addChildSettings(context); + protected void addChildSettings() { + super.addChildSettings(); firstDetailType = new EnumSetting<>("firstDetailType", this, DetailType.CHART_WINDWARD_DISTANCE_TO_COMPETITOR_FARTHEST_AHEAD, DetailType::valueOfString); secondDetailType = new EnumSetting<>("secondDetailType", this, null, DetailType::valueOfString); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/WindChartSettings.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/WindChartSettings.java index 8cdeb54fe45..de8a8837867 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/WindChartSettings.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/WindChartSettings.java @@ -9,9 +9,8 @@ import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettings; import com.sap.sse.common.settings.generic.BooleanSetting; import com.sap.sse.common.settings.generic.EnumLinkedHashSetSetting; import com.sap.sse.common.settings.generic.LongSetting; -import com.sap.sse.security.ui.client.SecurityChildSettingsContext; -public class WindChartSettings extends AbstractGenericSerializableSettings { +public class WindChartSettings extends AbstractGenericSerializableSettings { private static final long serialVersionUID = -3250243915670349222L; public static final long DEFAULT_RESOLUTION_IN_MILLISECONDS = 10000; @@ -25,7 +24,7 @@ public class WindChartSettings extends AbstractGenericSerializableSettings defaultWindDirectionSourcesToDisplay = new LinkedHashSet(); defaultWindDirectionSourcesToDisplay.add(WindSourceType.COMBINED); windDirectionSourcesToDisplay = new EnumLinkedHashSetSetting<>("windDirectionSourcesToDisplay", this, defaultWindDirectionSourcesToDisplay, WindSourceType::valueOf); @@ -43,7 +42,7 @@ public class WindChartSettings extends AbstractGenericSerializableSettings windSpeedSourcesToDisplay, diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/racemap/RaceMapHelpLinesSettings.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/racemap/RaceMapHelpLinesSettings.java index f0dc8d42037..a28ec21fc25 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/racemap/RaceMapHelpLinesSettings.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/racemap/RaceMapHelpLinesSettings.java @@ -6,9 +6,8 @@ import java.util.Set; import com.sap.sse.common.Util; import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettings; import com.sap.sse.common.settings.generic.EnumSetSetting; -import com.sap.sse.security.ui.client.SecurityChildSettingsContext; -public class RaceMapHelpLinesSettings extends AbstractGenericSerializableSettings { +public class RaceMapHelpLinesSettings extends AbstractGenericSerializableSettings { private static final long serialVersionUID = -3155593082712145485L; @@ -22,7 +21,7 @@ public class RaceMapHelpLinesSettings extends AbstractGenericSerializableSetting private EnumSetSetting visibleHelpLines; @Override - protected void addChildSettings(SecurityChildSettingsContext context) { + protected void addChildSettings() { Set defaultVisibleHelpLines = new HashSet(); defaultVisibleHelpLines.add(HelpLineTypes.STARTLINE); defaultVisibleHelpLines.add(HelpLineTypes.FINISHLINE); @@ -37,15 +36,15 @@ public class RaceMapHelpLinesSettings extends AbstractGenericSerializableSetting * FINISHLINE and ADVANTAGELINE.
*/ public RaceMapHelpLinesSettings() { - super(null); + super(); } /** * Creates new RaceMapHelpLinesSettings with the {@link HelpLineTypes} STARTLINE, * FINISHLINE and ADVANTAGELINE.
*/ - public RaceMapHelpLinesSettings(String propertyName, AbstractGenericSerializableSettings parentSettings) { - super(propertyName, parentSettings, null); + public RaceMapHelpLinesSettings(String propertyName, AbstractGenericSerializableSettings parentSettings) { + super(propertyName, parentSettings); } /** diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/racemap/RaceMapSettings.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/racemap/RaceMapSettings.java index eed25775f87..322f6bd5b19 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/racemap/RaceMapSettings.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/racemap/RaceMapSettings.java @@ -13,7 +13,7 @@ import com.sap.sailing.gwt.ui.client.shared.racemap.RaceMapHelpLinesSettings.Hel import com.sap.sse.common.Distance; import com.sap.sse.common.Duration; import com.sap.sse.common.Util; -import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettings; +import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettingsWithContext; import com.sap.sse.common.settings.generic.BooleanSetting; import com.sap.sse.common.settings.generic.DoubleSetting; import com.sap.sse.common.settings.generic.EnumSetSetting; @@ -25,7 +25,7 @@ import com.sap.sse.security.ui.client.SecurityChildSettingsContext; import com.sap.sse.security.ui.client.premium.PaywallResolver; import com.sap.sse.security.ui.client.premium.settings.SecuredBooleanSetting; -public class RaceMapSettings extends AbstractGenericSerializableSettings { +public class RaceMapSettings extends AbstractGenericSerializableSettingsWithContext { private static final long serialVersionUID = 6283369783437892096L; diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/racemap/RaceMapZoomSettings.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/racemap/RaceMapZoomSettings.java index 00c0f19ea52..91acd3ba2c4 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/racemap/RaceMapZoomSettings.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/racemap/RaceMapZoomSettings.java @@ -7,12 +7,11 @@ import com.sap.sse.common.Util; import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettings; import com.sap.sse.common.settings.generic.BooleanSetting; import com.sap.sse.common.settings.generic.EnumSetSetting; -import com.sap.sse.security.ui.client.SecurityChildSettingsContext; /** * @author Lennart Hensler (D054527) */ -public class RaceMapZoomSettings extends AbstractGenericSerializableSettings { +public class RaceMapZoomSettings extends AbstractGenericSerializableSettings { private static final long serialVersionUID = 7283052942434130497L; @@ -39,7 +38,7 @@ public class RaceMapZoomSettings extends AbstractGenericSerializableSettings("typesToConsiderOnZoom", this, Collections.singleton(ZoomTypes.BUOYS), ZoomTypes::valueOf); zoomToSelectedCompetitors = new BooleanSetting("zoomToSelectedCompetitors", this, false); } @@ -49,15 +48,15 @@ public class RaceMapZoomSettings extends AbstractGenericSerializableSettingszoomToSelectedCompetitors will be false. */ public RaceMapZoomSettings() { - super(null); + super(); } /** * Creates default RaceMapZoomSettings with the {@link ZoomTypes} BUOYS.
* The attribute zoomToSelectedCompetitors will be false. */ - public RaceMapZoomSettings(String propertyName, AbstractGenericSerializableSettings parentSettings) { - super(propertyName, parentSettings, null); + public RaceMapZoomSettings(String propertyName, AbstractGenericSerializableSettings parentSettings) { + super(propertyName, parentSettings); } public RaceMapZoomSettings(Iterable typesToConsider, boolean zoomToSelected) { diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/racemap/maneuver/ManeuverTableSettings.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/racemap/maneuver/ManeuverTableSettings.java index 03f1b4b0411..bcdd9a9af33 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/racemap/maneuver/ManeuverTableSettings.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/racemap/maneuver/ManeuverTableSettings.java @@ -7,15 +7,14 @@ import com.sap.sailing.domain.common.ManeuverType; import com.sap.sse.common.Util; import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettings; import com.sap.sse.common.settings.generic.EnumSetSetting; -import com.sap.sse.security.ui.client.SecurityChildSettingsContext; -public class ManeuverTableSettings extends AbstractGenericSerializableSettings { +public class ManeuverTableSettings extends AbstractGenericSerializableSettings { private static final long serialVersionUID = -3250243915670349222L; private EnumSetSetting selectedManeuverTypes; @Override - protected void addChildSettings(SecurityChildSettingsContext context) { + protected void addChildSettings() { selectedManeuverTypes = new EnumSetSetting<>("selectedManeuverTypes", this, Arrays.asList(ManeuverType.TACK, ManeuverType.JIBE, ManeuverType.PENALTY_CIRCLE), ManeuverType::valueOf); @@ -25,7 +24,7 @@ public class ManeuverTableSettings extends AbstractGenericSerializableSettings selectedManeuverTypes) { diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/MultiLeaderboardProxyPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/MultiLeaderboardProxyPanel.java index c4ed866fbea..1f2a2e210f3 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/MultiLeaderboardProxyPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/MultiLeaderboardProxyPanel.java @@ -235,7 +235,6 @@ public class MultiLeaderboardProxyPanel extends AbstractLazyComponent { +public class PairingListContextDefinition extends AbstractGenericSerializableSettings { private static final long serialVersionUID = 6206953942932913058L; private transient StringSetting leaderboardName; public PairingListContextDefinition() { - super(null); + super(); } public PairingListContextDefinition(String leaderboardName) { @@ -20,7 +19,7 @@ public class PairingListContextDefinition extends AbstractGenericSerializableSet } @Override - protected void addChildSettings(SecurityChildSettingsContext context) { + protected void addChildSettings() { this.leaderboardName = new StringSetting("leaderboardName", this); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/FullAnalysisMode.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/FullAnalysisMode.java index a4a388c9f49..0c0f0fbc23c 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/FullAnalysisMode.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/FullAnalysisMode.java @@ -9,6 +9,7 @@ import com.sap.sailing.gwt.ui.leaderboard.SingleRaceLeaderboardPanel; import com.sap.sse.common.impl.MillisecondsTimePoint; import com.sap.sse.gwt.client.player.Timer.PlayModes; import com.sap.sse.gwt.client.player.Timer.PlayStates; +import com.sap.sse.security.ui.client.SecurityChildSettingsContext; import com.sap.sse.security.ui.settings.ComponentContextWithSettingsStorageAndAdditionalSettingsLayers.OnSettingsReloadedCallback; /** @@ -52,8 +53,9 @@ public class FullAnalysisMode extends AbstractRaceBoardMode { raceDetailsToShow.add(DetailType.RACE_AVERAGE_SPEED_OVER_GROUND_IN_KNOTS); raceDetailsToShow.add(DetailType.RACE_DISTANCE_TRAVELED); raceDetailsToShow.add(DetailType.RACE_GAP_TO_LEADER_IN_SECONDS); + SecurityChildSettingsContext context = new SecurityChildSettingsContext(getLeaderboard(), leaderboardPanel.getPaywallResolver()); final SingleRaceLeaderboardSettings additiveSettings = SingleRaceLeaderboardSettings - .createDefaultSettingsWithRaceDetailValues(raceDetailsToShow); + .createDefaultSettingsWithRaceDetailValues(raceDetailsToShow, context); ((RaceBoardComponentContext) leaderboardPanel.getComponentContext()).addModesPatching(leaderboardPanel, additiveSettings, new OnSettingsReloadedCallback() { @Override public void onSettingsReloaded(SingleRaceLeaderboardSettings patchedSettings) { diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/PlayerMode.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/PlayerMode.java index 83bce0ea7bd..9bb7485ed6a 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/PlayerMode.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/PlayerMode.java @@ -12,6 +12,7 @@ import com.sap.sse.common.TimePoint; import com.sap.sse.common.impl.MillisecondsTimePoint; import com.sap.sse.gwt.client.player.Timer.PlayModes; import com.sap.sse.gwt.client.player.Timer.PlayStates; +import com.sap.sse.security.ui.client.SecurityChildSettingsContext; import com.sap.sse.security.ui.settings.ComponentContextWithSettingsStorageAndAdditionalSettingsLayers.OnSettingsReloadedCallback; /** @@ -34,8 +35,9 @@ public class PlayerMode extends AbstractRaceBoardMode { raceDetailsToShow.add(DetailType.RACE_DISPLAY_LEGS); raceDetailsToShow.add(DetailType.RACE_CURRENT_SPEED_OVER_GROUND_IN_KNOTS); raceDetailsToShow.add(DetailType.RACE_GAP_TO_LEADER_IN_SECONDS); + SecurityChildSettingsContext context = new SecurityChildSettingsContext(getLeaderboard(), leaderboardPanel.getPaywallResolver()); final SingleRaceLeaderboardSettings additiveSettings = SingleRaceLeaderboardSettings - .createDefaultSettingsWithRaceDetailValues(raceDetailsToShow); + .createDefaultSettingsWithRaceDetailValues(raceDetailsToShow, context); ((RaceBoardComponentContext) leaderboardPanel.getComponentContext()).addModesPatching(leaderboardPanel, additiveSettings, new OnSettingsReloadedCallback() { @Override diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/SingleRaceLeaderboardPanelLifecycle.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/SingleRaceLeaderboardPanelLifecycle.java index 1d4e685480b..e96418c7b23 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/SingleRaceLeaderboardPanelLifecycle.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/SingleRaceLeaderboardPanelLifecycle.java @@ -11,6 +11,7 @@ import com.sap.sailing.gwt.settings.client.leaderboard.SingleRaceLeaderboardSett import com.sap.sailing.gwt.settings.client.leaderboard.SingleRaceLeaderboardSettingsDialogComponent; import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sse.common.settings.generic.support.SettingsUtil; +import com.sap.sse.security.ui.client.SecurityChildSettingsContext; import com.sap.sse.security.ui.client.premium.PaywallResolver; public class SingleRaceLeaderboardPanelLifecycle extends LeaderboardPanelLifecycle { @@ -40,7 +41,8 @@ public class SingleRaceLeaderboardPanelLifecycle extends LeaderboardPanelLifecyc raceDetails.add(DetailType.NUMBER_OF_MANEUVERS); raceDetails.add(DetailType.RACE_DISPLAY_LEGS); List overallDetails = new ArrayList<>(); - SingleRaceLeaderboardSettings defaultSettings = new SingleRaceLeaderboardSettings(canBoatsOfCompetitorsChangePerRace); + SecurityChildSettingsContext context = new SecurityChildSettingsContext(leaderboardDTO, paywallResolver); + SingleRaceLeaderboardSettings defaultSettings = new SingleRaceLeaderboardSettings(canBoatsOfCompetitorsChangePerRace, context); // don't show competitor fullName column if even leaderboard isn't shown initially final boolean showCompetitorFullNameColumn = isScreenLargeEnoughToInitiallyDisplayLeaderboard; SingleRaceLeaderboardSettings settings = new SingleRaceLeaderboardSettings( @@ -51,7 +53,7 @@ public class SingleRaceLeaderboardPanelLifecycle extends LeaderboardPanelLifecyc showCompetitorFullNameColumn, /* showCompetitorBoatInfoColumn */ canBoatsOfCompetitorsChangePerRace, /* isCompetitorNationalityColumnVisible */ false, - /* showRaceRankColumn */ false); + /* showRaceRankColumn */ false, context); SettingsUtil.copyDefaultsFromValues(settings, settings); return settings; } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/StartAnalysisMode.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/StartAnalysisMode.java index c9a18b6758f..4e85dddd47b 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/StartAnalysisMode.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/StartAnalysisMode.java @@ -25,6 +25,7 @@ import com.sap.sse.common.Duration; import com.sap.sse.common.impl.MillisecondsTimePoint; import com.sap.sse.gwt.client.player.Timer.PlayModes; import com.sap.sse.gwt.client.player.Timer.PlayStates; +import com.sap.sse.security.ui.client.SecurityChildSettingsContext; import com.sap.sse.security.ui.settings.ComponentContextWithSettingsStorageAndAdditionalSettingsLayers.OnSettingsReloadedCallback; /** @@ -175,8 +176,9 @@ public class StartAnalysisMode extends RaceBoardModeWithPerRaceCompetitors { raceDetailsToShow.add(DetailType.TIME_BETWEEN_RACE_START_AND_COMPETITOR_START); raceDetailsToShow.add(DetailType.START_TACK); raceDetailsToShow.add(DetailType.RACE_GAP_TO_LEADER_IN_SECONDS); + SecurityChildSettingsContext context = new SecurityChildSettingsContext(getLeaderboard(), leaderboardPanel.getPaywallResolver()); final SingleRaceLeaderboardSettings additiveSettings = SingleRaceLeaderboardSettings - .createDefaultSettingsWithRaceDetailValues(raceDetailsToShow); + .createDefaultSettingsWithRaceDetailValues(raceDetailsToShow, context); ((RaceBoardComponentContext) leaderboardPanel.getComponentContext()).addModesPatching(leaderboardPanel, additiveSettings, new OnSettingsReloadedCallback() { @Override diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/WinningLanesMode.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/WinningLanesMode.java index b8ba3ac7366..efed5ba5456 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/WinningLanesMode.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/WinningLanesMode.java @@ -15,6 +15,7 @@ import com.sap.sse.common.Duration; import com.sap.sse.common.Util; import com.sap.sse.common.impl.MillisecondsTimePoint; import com.sap.sse.gwt.client.player.Timer.PlayModes; +import com.sap.sse.security.ui.client.SecurityChildSettingsContext; import com.sap.sse.security.ui.settings.ComponentContextWithSettingsStorageAndAdditionalSettingsLayers.OnSettingsReloadedCallback; /** @@ -46,8 +47,9 @@ public class WinningLanesMode extends RaceBoardModeWithPerRaceCompetitors { raceDetailsToShow.add(DetailType.RACE_AVERAGE_SIGNED_CROSS_TRACK_ERROR_IN_METERS); raceDetailsToShow.add(DetailType.RACE_DISTANCE_TRAVELED); raceDetailsToShow.add(DetailType.RACE_TIME_TRAVELED); + SecurityChildSettingsContext context = new SecurityChildSettingsContext(getLeaderboard(), leaderboardPanel.getPaywallResolver()); final SingleRaceLeaderboardSettings additiveSettings = SingleRaceLeaderboardSettings - .createDefaultSettingsWithRaceDetailValues(raceDetailsToShow); + .createDefaultSettingsWithRaceDetailValues(raceDetailsToShow, context); ((RaceBoardComponentContext) leaderboardPanel.getComponentContext()).addModesPatching(leaderboardPanel, additiveSettings, new OnSettingsReloadedCallback() { @Override public void onSettingsReloaded(SingleRaceLeaderboardSettings patchedSettings) { diff --git a/java/com.sap.sailing.landscape/src/com/sap/sailing/landscape/impl/Activator.java b/java/com.sap.sailing.landscape/src/com/sap/sailing/landscape/impl/Activator.java index eeb53d1f78c..19ef22f807a 100644 --- a/java/com.sap.sailing.landscape/src/com/sap/sailing/landscape/impl/Activator.java +++ b/java/com.sap.sailing.landscape/src/com/sap/sailing/landscape/impl/Activator.java @@ -16,7 +16,7 @@ public class Activator implements BundleActivator { final Hashtable properties = new Hashtable<>(); properties.put(PreferenceConverter.KEY_PARAMETER_NAME, LandscapeService.USER_PREFERENCE_FOR_SESSION_TOKEN); context.registerService(PreferenceConverter.class, - new GenericJSONPreferenceConverter<>(() -> new AwsSessionCredentialsFromUserPreference()), + new GenericJSONPreferenceConverter<>(() -> new AwsSessionCredentialsFromUserPreference(null)), properties); } diff --git a/java/com.sap.sailing.landscape/src/com/sap/sailing/landscape/impl/AwsSessionCredentialsFromUserPreference.java b/java/com.sap.sailing.landscape/src/com/sap/sailing/landscape/impl/AwsSessionCredentialsFromUserPreference.java index 747f6c29f80..133262acc8b 100755 --- a/java/com.sap.sailing.landscape/src/com/sap/sailing/landscape/impl/AwsSessionCredentialsFromUserPreference.java +++ b/java/com.sap.sailing.landscape/src/com/sap/sailing/landscape/impl/AwsSessionCredentialsFromUserPreference.java @@ -6,7 +6,7 @@ import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettings; import com.sap.sse.common.settings.generic.LongSetting; import com.sap.sse.common.settings.generic.StringSetting; -public class AwsSessionCredentialsFromUserPreference extends AbstractGenericSerializableSettings { +public class AwsSessionCredentialsFromUserPreference extends AbstractGenericSerializableSettings { private static final long serialVersionUID = -3250243915670349222L; private StringSetting accessKeyId; @@ -15,7 +15,7 @@ public class AwsSessionCredentialsFromUserPreference extends AbstractGenericSeri private LongSetting expiry; @Override - protected void addChildSettings(Object context) { + protected void addChildSettings() { accessKeyId = new StringSetting("accessKeyId", this); secretAccessKey = new StringSetting("secretAccessKey", this); sessionToken = new StringSetting("sessionToken", this); @@ -26,7 +26,7 @@ public class AwsSessionCredentialsFromUserPreference extends AbstractGenericSeri * The default settings */ public AwsSessionCredentialsFromUserPreference() { - super(null); + super(); } public AwsSessionCredentialsFromUserPreference(AwsSessionCredentialsWithExpiry awsSessionCredentialsWithExpiry) { diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/BoatClassNotificationPreference.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/BoatClassNotificationPreference.java index 8b72ba7b4fb..8790f982c7b 100644 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/BoatClassNotificationPreference.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/BoatClassNotificationPreference.java @@ -5,7 +5,7 @@ import com.sap.sailing.domain.base.DomainFactory; import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettings; import com.sap.sse.common.settings.generic.BooleanSetting; -public class BoatClassNotificationPreference extends AbstractGenericSerializableSettings { +public class BoatClassNotificationPreference extends AbstractGenericSerializableSettings { private static final long serialVersionUID = -6510535362114348707L; private transient BoatClassSetting boatClass; @@ -13,7 +13,7 @@ public class BoatClassNotificationPreference extends AbstractGenericSerializable private transient BooleanSetting notifyAboutResults; public BoatClassNotificationPreference(DomainFactory domainFactory) { - super(null); + super(); boatClass = new BoatClassSetting("boatClass", this, domainFactory); notifyAboutUpcomingRaces = new BooleanSetting("notifyAboutUpcomingRaces", this, false); notifyAboutResults = new BooleanSetting("notifyAboutResults", this, false); @@ -28,7 +28,7 @@ public class BoatClassNotificationPreference extends AbstractGenericSerializable } @Override - protected void addChildSettings(Object context) { + protected void addChildSettings() { // We do not create the Setting instances here, because access to the RacingEventService would not be given. // Doing this, Java/GWT Serialization isn't working anymore. Because the preferences are only serialized as JSON // in the backend an transferred as DTO to the frontend, this isn't a problem. Due to usage of BoatClass and diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/BoatClassNotificationPreferences.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/BoatClassNotificationPreferences.java index d9682f54d2d..cf2be18870c 100644 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/BoatClassNotificationPreferences.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/BoatClassNotificationPreferences.java @@ -4,7 +4,7 @@ import com.sap.sailing.server.interfaces.RacingEventService; import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettings; import com.sap.sse.common.settings.generic.SettingsList; -public class BoatClassNotificationPreferences extends AbstractGenericSerializableSettings { +public class BoatClassNotificationPreferences extends AbstractGenericSerializableSettings { private static final long serialVersionUID = -3682996540081614053L; public static final String PREF_NAME = SailingPreferences.NOTIFICATION_PREFERENCES_PREFIX + "boatclasses"; @@ -12,13 +12,13 @@ public class BoatClassNotificationPreferences extends AbstractGenericSerializabl private transient SettingsList boatClasses; public BoatClassNotificationPreferences(RacingEventService racingEventService) { - super(null); + super(); boatClasses = new SettingsList<>("boatClasses", this, () -> new BoatClassNotificationPreference(racingEventService.getBaseDomainFactory())); } @Override - protected void addChildSettings(Object context) { + protected void addChildSettings() { // We do not create the Setting instances here, because access to the RacingEventService would not be given. // Doing this, Java/GWT Serialization isn't working anymore. Because the preferences are only serialized as JSON // in the backend an transferred as DTO to the frontend, this isn't a problem. Due to usage of BoatClass and diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/BoatClassSetting.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/BoatClassSetting.java index 47181e23bd3..84325a09474 100644 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/BoatClassSetting.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/BoatClassSetting.java @@ -14,7 +14,7 @@ import com.sap.sse.common.settings.value.Value; */ public class BoatClassSetting extends AbstractValueSetting { - protected BoatClassSetting(String name, AbstractGenericSerializableSettings settings, DomainFactory domainFactory) { + protected BoatClassSetting(String name, AbstractGenericSerializableSettings settings, DomainFactory domainFactory) { super(name, settings, null, new Converter(domainFactory)); } diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/CompetitorNotificationPreference.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/CompetitorNotificationPreference.java index 839e1dc6123..4c524cf4396 100644 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/CompetitorNotificationPreference.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/CompetitorNotificationPreference.java @@ -4,7 +4,7 @@ import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettings; import com.sap.sse.common.settings.generic.BooleanSetting; import com.sap.sse.common.settings.generic.StringSetting; -public class CompetitorNotificationPreference extends AbstractGenericSerializableSettings { +public class CompetitorNotificationPreference extends AbstractGenericSerializableSettings { private static final long serialVersionUID = -6510535362114348707L; private transient StringSetting competitorId; @@ -12,7 +12,7 @@ public class CompetitorNotificationPreference extends AbstractGenericSerializabl private transient BooleanSetting notifyAboutResults; public CompetitorNotificationPreference() { - super(null); + super(); competitorId = new StringSetting("competitor", this); competitorName = new StringSetting("competitorName", this); notifyAboutResults = new BooleanSetting("notifyAboutResults", this, false); @@ -26,7 +26,7 @@ public class CompetitorNotificationPreference extends AbstractGenericSerializabl } @Override - protected void addChildSettings(Object context) { + protected void addChildSettings() { // We do not create the Setting instances here, because access to the RacingEventService would not be given. // Doing this, Java/GWT Serialization isn't working anymore. Because the preferences are only serialized as JSON // in the backend an transferred as DTO to the frontend, this isn't a problem. Due to usage of BoatClass and diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/CompetitorNotificationPreferences.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/CompetitorNotificationPreferences.java index 6d68056d1e4..18fc7fbbb81 100644 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/CompetitorNotificationPreferences.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/CompetitorNotificationPreferences.java @@ -3,7 +3,7 @@ package com.sap.sailing.server.impl.preferences.model; import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettings; import com.sap.sse.common.settings.generic.SettingsList; -public class CompetitorNotificationPreferences extends AbstractGenericSerializableSettings { +public class CompetitorNotificationPreferences extends AbstractGenericSerializableSettings { private static final long serialVersionUID = -3682996540081614053L; public static final String PREF_NAME = SailingPreferences.NOTIFICATION_PREFERENCES_PREFIX + "competitors"; @@ -11,13 +11,13 @@ public class CompetitorNotificationPreferences extends AbstractGenericSerializab private transient SettingsList competitors; public CompetitorNotificationPreferences() { - super(null); + super(); competitors = new SettingsList<>("competitors", this, () -> new CompetitorNotificationPreference()); } @Override - protected void addChildSettings(Object context) { + protected void addChildSettings() { // We do not create the Setting instances here, because access to the RacingEventService would not be given. // Doing this, Java/GWT Serialization isn't working anymore. Because the preferences are only serialized as JSON // in the backend an transferred as DTO to the frontend, this isn't a problem. Due to usage of BoatClass and diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/CompetitorSetSetting.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/CompetitorSetSetting.java index ec87b3f7a1b..981283f8a26 100644 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/CompetitorSetSetting.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/CompetitorSetSetting.java @@ -11,7 +11,7 @@ import com.sap.sse.common.settings.generic.base.AbstractValueSetSetting; */ public class CompetitorSetSetting extends AbstractValueSetSetting { - protected CompetitorSetSetting(String name, AbstractGenericSerializableSettings settings, + protected CompetitorSetSetting(String name, AbstractGenericSerializableSettings settings, CompetitorAndBoatStore competitorStore) { super(name, settings, new CompetitorConverter(competitorStore)); } diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/SailorProfilePreference.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/SailorProfilePreference.java index 9232c87e05b..8efdfb212c3 100644 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/SailorProfilePreference.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/SailorProfilePreference.java @@ -8,7 +8,7 @@ import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettings; import com.sap.sse.common.settings.generic.StringSetting; import com.sap.sse.common.settings.generic.UUIDSetting; -public class SailorProfilePreference extends AbstractGenericSerializableSettings { +public class SailorProfilePreference extends AbstractGenericSerializableSettings { private static final long serialVersionUID = 8324742146089597693L; private transient UUIDSetting uuid; @@ -17,7 +17,7 @@ public class SailorProfilePreference extends AbstractGenericSerializableSettings private transient CompetitorSetSetting competitors; public SailorProfilePreference(CompetitorAndBoatStore store) { - super(null); + super(); uuid = new UUIDSetting("uuid", this); name = new StringSetting("name", this); competitors = new CompetitorSetSetting("competitors", this, store); @@ -48,7 +48,7 @@ public class SailorProfilePreference extends AbstractGenericSerializableSettings } @Override - protected void addChildSettings(Object context) { + protected void addChildSettings() { // We do not create the Setting instances here, because access to the RacingEventService would not be given. // Doing this, Java/GWT Serialization isn't working anymore. Because the preferences are only serialized as JSON // in the backend an transferred as DTO to the frontend, this isn't a problem. Due to usage of BoatClass and diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/SailorProfilePreferences.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/SailorProfilePreferences.java index 04218657dce..7b65e8247a9 100644 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/SailorProfilePreferences.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/SailorProfilePreferences.java @@ -4,7 +4,7 @@ import com.sap.sailing.domain.base.CompetitorAndBoatStore; import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettings; import com.sap.sse.common.settings.generic.SettingsList; -public class SailorProfilePreferences extends AbstractGenericSerializableSettings { +public class SailorProfilePreferences extends AbstractGenericSerializableSettings { private static final long serialVersionUID = -3773945485974367205L; // TODO: setting preference title @@ -13,12 +13,12 @@ public class SailorProfilePreferences extends AbstractGenericSerializableSetting private transient SettingsList sailorProfiles; public SailorProfilePreferences(CompetitorAndBoatStore store) { - super(null); + super(); sailorProfiles = new SettingsList<>("sailorProfiles", this, () -> new SailorProfilePreference(store)); } @Override - protected void addChildSettings(Object context) { + protected void addChildSettings() { // We do not create the Setting instances here, because access to the RacingEventService would not be given. // Doing this, Java/GWT Serialization isn't working anymore. Because the preferences are only serialized as JSON // in the backend an transferred as DTO to the frontend, this isn't a problem. Due to usage of BoatClass and diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/StoredDataMiningQueryPreference.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/StoredDataMiningQueryPreference.java index e890dc8041b..3e5f62bd5ff 100644 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/StoredDataMiningQueryPreference.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/StoredDataMiningQueryPreference.java @@ -7,7 +7,7 @@ import com.sap.sse.common.settings.generic.StringSetting; import com.sap.sse.common.settings.generic.UUIDSetting; /** Preference object which contains a stored data mining query with a name and a unique id. */ -public class StoredDataMiningQueryPreference extends AbstractGenericSerializableSettings { +public class StoredDataMiningQueryPreference extends AbstractGenericSerializableSettings { private static final long serialVersionUID = -7100595551754668437L; private transient StringSetting name; @@ -15,7 +15,7 @@ public class StoredDataMiningQueryPreference extends AbstractGenericSerializable private transient StringSetting serializedQuery; public StoredDataMiningQueryPreference() { - super(null); + super(); } public StoredDataMiningQueryPreference(String name, UUID uuid, String serializedQuery) { @@ -26,7 +26,7 @@ public class StoredDataMiningQueryPreference extends AbstractGenericSerializable } @Override - protected void addChildSettings(Object context) { + protected void addChildSettings() { name = new StringSetting("name", this); id = new UUIDSetting("id", this); serializedQuery = new StringSetting("serializedQuery", this); diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/StoredDataMiningQueryPreferences.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/StoredDataMiningQueryPreferences.java index d48383c2e25..f1662a6ec51 100644 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/StoredDataMiningQueryPreferences.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/StoredDataMiningQueryPreferences.java @@ -4,10 +4,10 @@ import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettings; import com.sap.sse.common.settings.generic.SettingsList; /** Holds a list of {@link StoredDataMiningQueryPreferences}. */ -public class StoredDataMiningQueryPreferences extends AbstractGenericSerializableSettings { +public class StoredDataMiningQueryPreferences extends AbstractGenericSerializableSettings { public StoredDataMiningQueryPreferences() { - super(null); + super(); } private static final long serialVersionUID = -8088467604778160161L; @@ -16,7 +16,7 @@ public class StoredDataMiningQueryPreferences extends AbstractGenericSerializabl private transient SettingsList storedQueries; @Override - protected void addChildSettings(Object context) { + protected void addChildSettings() { storedQueries = new SettingsList<>("storedQueries", this, StoredDataMiningQueryPreference::new); } diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/StoredDataMiningReportPreference.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/StoredDataMiningReportPreference.java index 5889c0baa3c..7876aa8884d 100644 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/StoredDataMiningReportPreference.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/StoredDataMiningReportPreference.java @@ -7,7 +7,7 @@ import com.sap.sse.common.settings.generic.StringSetting; import com.sap.sse.common.settings.generic.UUIDSetting; /** Preference object which contains a stored data mining report with a name and a unique id. */ -public class StoredDataMiningReportPreference extends AbstractGenericSerializableSettings { +public class StoredDataMiningReportPreference extends AbstractGenericSerializableSettings { private static final long serialVersionUID = -7170211860008891488L; private transient StringSetting name; @@ -15,7 +15,7 @@ public class StoredDataMiningReportPreference extends AbstractGenericSerializabl private transient StringSetting serializedReport; public StoredDataMiningReportPreference() { - super(null); + super(); } public StoredDataMiningReportPreference(String name, UUID uuid, String serializedReport) { @@ -26,7 +26,7 @@ public class StoredDataMiningReportPreference extends AbstractGenericSerializabl } @Override - protected void addChildSettings(Object context) { + protected void addChildSettings() { name = new StringSetting("name", this); id = new UUIDSetting("id", this); serializedReport = new StringSetting("serializedReport", this); diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/StoredDataMiningReportPreferences.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/StoredDataMiningReportPreferences.java index 1937be51575..f0c9e4af9ab 100644 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/StoredDataMiningReportPreferences.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/StoredDataMiningReportPreferences.java @@ -4,10 +4,10 @@ import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettings; import com.sap.sse.common.settings.generic.SettingsList; /** Holds a list of {@link StoredDataMiningReportPreferences}. */ -public class StoredDataMiningReportPreferences extends AbstractGenericSerializableSettings { +public class StoredDataMiningReportPreferences extends AbstractGenericSerializableSettings { public StoredDataMiningReportPreferences() { - super(null); + super(); } private static final long serialVersionUID = -9158880266803106327L; @@ -16,7 +16,7 @@ public class StoredDataMiningReportPreferences extends AbstractGenericSerializab private transient SettingsList storedReports; @Override - protected void addChildSettings(Object context) { + protected void addChildSettings() { storedReports = new SettingsList<>("storedReports", this, StoredDataMiningReportPreference::new); } diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/TrackedElementWithDeviceId.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/TrackedElementWithDeviceId.java index e1db788e606..4996cc2a8d3 100644 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/TrackedElementWithDeviceId.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/TrackedElementWithDeviceId.java @@ -6,7 +6,7 @@ import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettings; import com.sap.sse.common.settings.generic.StringSetting; import com.sap.sse.common.settings.generic.UUIDSetting; -public class TrackedElementWithDeviceId extends AbstractGenericSerializableSettings { +public class TrackedElementWithDeviceId extends AbstractGenericSerializableSettings { private static final long serialVersionUID = 234711768869820003L; @@ -16,7 +16,7 @@ public class TrackedElementWithDeviceId extends AbstractGenericSerializableSetti private transient UUIDSetting trackedMarkId; public TrackedElementWithDeviceId() { - super(null); + super(); } /** copy constructor */ @@ -38,7 +38,7 @@ public class TrackedElementWithDeviceId extends AbstractGenericSerializableSetti } @Override - protected void addChildSettings(Object context) { + protected void addChildSettings() { deviceId = new StringSetting("deviceId", this); trackedCompetitorId = new UUIDSetting("trackedCompetitorId", this); trackedBoatId = new UUIDSetting("trackedBoatId", this); diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/TrackedEventPreference.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/TrackedEventPreference.java index d4dc65d1db6..6882133d961 100644 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/TrackedEventPreference.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/TrackedEventPreference.java @@ -10,7 +10,7 @@ import com.sap.sse.common.settings.generic.SettingsList; import com.sap.sse.common.settings.generic.StringSetting; import com.sap.sse.common.settings.generic.UUIDSetting; -public class TrackedEventPreference extends AbstractGenericSerializableSettings { +public class TrackedEventPreference extends AbstractGenericSerializableSettings { private static final long serialVersionUID = 234711768869820003L; private transient UUIDSetting eventId; @@ -22,7 +22,7 @@ public class TrackedEventPreference extends AbstractGenericSerializableSettings< private transient SettingsList trackedElements; public TrackedEventPreference() { - super(null); + super(); } /** copy constructor */ @@ -66,7 +66,7 @@ public class TrackedEventPreference extends AbstractGenericSerializableSettings< } @Override - protected void addChildSettings(Object context) { + protected void addChildSettings() { eventId = new UUIDSetting("eventId", this); leaderboardName = new StringSetting("leaderboardName", this); trackedElements = new SettingsList("trackedElements", this, diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/TrackedEventPreferences.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/TrackedEventPreferences.java index 703be0ccb36..1ad7edd2400 100644 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/TrackedEventPreferences.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/preferences/model/TrackedEventPreferences.java @@ -3,7 +3,7 @@ package com.sap.sailing.server.impl.preferences.model; import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettings; import com.sap.sse.common.settings.generic.SettingsList; -public class TrackedEventPreferences extends AbstractGenericSerializableSettings { +public class TrackedEventPreferences extends AbstractGenericSerializableSettings { private static final long serialVersionUID = -290209497308646446L; @@ -12,11 +12,11 @@ public class TrackedEventPreferences extends AbstractGenericSerializableSettings private transient SettingsList trackedEvents; public TrackedEventPreferences() { - super(null); + super(); } @Override - protected void addChildSettings(Object context) { + protected void addChildSettings() { trackedEvents = new SettingsList<>("trackedEvents", this, TrackedEventPreference::new); } diff --git a/java/com.sap.sse.common.test/src/com/sap/sse/common/test/settings/generic/support/SettingsUtilTest.java b/java/com.sap.sse.common.test/src/com/sap/sse/common/test/settings/generic/support/SettingsUtilTest.java index 34796ff57c0..de67b3d095b 100644 --- a/java/com.sap.sse.common.test/src/com/sap/sse/common/test/settings/generic/support/SettingsUtilTest.java +++ b/java/com.sap.sse.common.test/src/com/sap/sse/common/test/settings/generic/support/SettingsUtilTest.java @@ -25,32 +25,32 @@ public class SettingsUtilTest { private static final String defaultString = "abc"; private static final HashSet defaultStrings = new HashSet<>(Arrays.asList(defaultString, "def")); - private static class OuterSettings extends AbstractGenericSerializableSettings { + private static class OuterSettings extends AbstractGenericSerializableSettings { private static final long serialVersionUID = -7379232503773525915L; private transient TestSettings nested; public OuterSettings() { - super(null); + super(); } @Override - protected void addChildSettings(Object context) { + protected void addChildSettings() { nested = new TestSettings("nested", this); } } - private static class TestSettings extends AbstractGenericSerializableSettings { + private static class TestSettings extends AbstractGenericSerializableSettings { private static final long serialVersionUID = -4134836978411240572L; private transient StringSetting string; private transient DecimalSetting number; private transient StringSetSetting strings; - public TestSettings(String name, AbstractGenericSerializableSettings parent) { - super(name, parent, null); + public TestSettings(String name, AbstractGenericSerializableSettings parent) { + super(name, parent); } @Override - protected void addChildSettings(Object context) { + protected void addChildSettings() { string = new StringSetting("string", this); number = new DecimalSetting("number", this); strings = new StringSetSetting("strings", this); diff --git a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/AbstractGenericSerializableSettings.java b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/AbstractGenericSerializableSettings.java index 53cb0d8fea7..e754305524d 100644 --- a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/AbstractGenericSerializableSettings.java +++ b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/AbstractGenericSerializableSettings.java @@ -68,21 +68,18 @@ import com.sap.sse.common.settings.value.Value; * based on the child {@link Setting}s which should be sufficient for most cases. * */ -public abstract class AbstractGenericSerializableSettings extends AbstractSetting implements GenericSerializableSettings { +public abstract class AbstractGenericSerializableSettings extends AbstractSetting implements GenericSerializableSettings { private static final long serialVersionUID = -415371632804540785L; - private SettingsValue value; - private transient Map childSettings; - - public interface ChildSettingContext { - - } + protected SettingsValue value; + protected transient Map childSettings; /** * Default constructor for direct instantiation of root settings objects. */ - public AbstractGenericSerializableSettings(T context) { + public AbstractGenericSerializableSettings() { + super(); value = new SettingsValue(); - addChildSettingsInternal(context); + addChildSettingsInternal(); } /** @@ -91,14 +88,14 @@ public abstract class AbstractGenericSerializableSettings extends AbstractSet * @param name the name of the child setting * @param settings the parent settings to attach this settings object to */ - public AbstractGenericSerializableSettings(String name, AbstractGenericSerializableSettings settings, T context) { + public AbstractGenericSerializableSettings(String name, AbstractGenericSerializableSettings settings) { super(name, settings); value = (SettingsValue) settings.getValue(name); if (value == null) { value = new SettingsValue(); settings.setValue(name, value); } - addChildSettingsInternal(context); + addChildSettingsInternal(); } /** @@ -112,7 +109,7 @@ public abstract class AbstractGenericSerializableSettings extends AbstractSet if (childSetting instanceof AbstractGenericSerializableSettings) { Value childValue = value.getValue(entry.getKey()); if (childValue != null) { - ((AbstractGenericSerializableSettings) childSetting).adoptValue((SettingsValue) childValue); + ((AbstractGenericSerializableSettings) childSetting).adoptValue((SettingsValue) childValue); } } if (childSetting instanceof SettingsList) { @@ -129,10 +126,10 @@ public abstract class AbstractGenericSerializableSettings extends AbstractSet return value; } - protected final void addChildSettingsInternal(T context) { + protected final void addChildSettingsInternal() { if (childSettings == null) { childSettings = new HashMap<>(); - addChildSettings(context); + addChildSettings(); } } @@ -143,7 +140,7 @@ public abstract class AbstractGenericSerializableSettings extends AbstractSet * TODO make abstract when all Settings are ported to the new system * */ - protected abstract void addChildSettings(T context); + protected abstract void addChildSettings(); public Value getValue(String settingName) { return value.getValue(settingName); @@ -190,9 +187,9 @@ public abstract class AbstractGenericSerializableSettings extends AbstractSet } @GwtIncompatible - private void readObject(ObjectInputStream ois, T context) throws ClassNotFoundException, IOException { + private void readObject(ObjectInputStream ois) throws ClassNotFoundException, IOException { ois.defaultReadObject(); - addChildSettingsInternal(context); + addChildSettingsInternal(); } @GwtIncompatible @@ -230,7 +227,7 @@ public abstract class AbstractGenericSerializableSettings extends AbstractSet return false; if (getClass() != obj.getClass()) return false; - AbstractGenericSerializableSettings other = (AbstractGenericSerializableSettings) obj; + AbstractGenericSerializableSettings other = (AbstractGenericSerializableSettings) obj; if (childSettings == null) { if (other.childSettings != null) return false; diff --git a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/AbstractGenericSerializableSettingsWithContext.java b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/AbstractGenericSerializableSettingsWithContext.java new file mode 100644 index 00000000000..3760d69a5ba --- /dev/null +++ b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/AbstractGenericSerializableSettingsWithContext.java @@ -0,0 +1,93 @@ +package com.sap.sse.common.settings.generic; + +import java.util.HashMap; + +/** + * See AbstractGenericSerializableSettings for further documentation. + * + *

+ * This is a special abstraction based on AbstractGenericSerializableSettings which provide support of a context object, + * which can be used in addChildSettings method. This is needed because the addChildSettings method is called via super + * constructor call and therefore, it is not possible to use any other data from outside (even not pre-initialized final + * fields of the child object). + *

+ * + *

+ * The main reason for this class was the initialization of secured settings in the addChildSettings method with secured + * DTO and PaywallResolver. + *

+ * + */ +public abstract class AbstractGenericSerializableSettingsWithContext extends AbstractGenericSerializableSettings + implements GenericSerializableSettings { + private static final long serialVersionUID = -415371632234540296L; + + private final T context; + + /** + * Default constructor for direct instantiation of root settings objects. + * + * @param context + * a context object of type T (usually SecurityChildSettingsContext). + */ + public AbstractGenericSerializableSettingsWithContext(T context) { + super(); + this.context = context; + addChildSettingsInternal(context); + } + + /** + * Constructor for automatic attachment of a child settings object to its parent settings object. + * + * @param name + * the name of the child setting + * @param settings + * the parent settings to attach this settings object to + * @param context + * a context object of type T + */ + public AbstractGenericSerializableSettingsWithContext(String name, + AbstractGenericSerializableSettingsWithContext settings, T context) { + super(name, settings); + this.context = context; + addChildSettingsInternal(context); + } + + protected final void addChildSettingsInternal(T context) { + if (childSettings == null || childSettings.isEmpty()) { + childSettings = new HashMap<>(); + addChildSettings(context); + } + } + + /** + * This empty implementation is needed to use the AbstractGenericSerializableSettings but provide another + * addChildSettings with context support. Therefore, the AbstractGenericSerializableSettings is extended but because + * the addChildSettings is declared as abstract we want to hide this method. + */ + @Override + final protected void addChildSettings() { + } + + /** + * With the background of a special copy function, we provide access to the context object. + * + * @return the context object. + */ + public T getContext() { + return context; + } + + /** + * Overwrite this method to initialize child settings. {@link AbstractGenericSerializableSettingsWithContext} for an + * example. + * + * TODO make abstract when all Settings are ported to the new system + * + * @param context + * a context object of type T + * + */ + protected abstract void addChildSettings(T context); + +} diff --git a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/AbstractSetting.java b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/AbstractSetting.java index b0e6dd63844..dc82148aba0 100644 --- a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/AbstractSetting.java +++ b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/AbstractSetting.java @@ -2,10 +2,10 @@ package com.sap.sse.common.settings.generic; public abstract class AbstractSetting implements Setting { - protected transient final AbstractGenericSerializableSettings settings; + protected transient final AbstractGenericSerializableSettings settings; protected transient final String settingName; - public AbstractSetting(String settingName, AbstractGenericSerializableSettings settings) { + public AbstractSetting(String settingName, AbstractGenericSerializableSettings settings) { this.settingName = settingName; this.settings = settings; if (settings != null) { diff --git a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/BooleanSetting.java b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/BooleanSetting.java index 2cada305150..d807975ff10 100644 --- a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/BooleanSetting.java +++ b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/BooleanSetting.java @@ -5,11 +5,11 @@ import com.sap.sse.common.settings.generic.converter.BooleanConverter; public class BooleanSetting extends AbstractValueSetting { - public BooleanSetting(String name, AbstractGenericSerializableSettings settings) { + public BooleanSetting(String name, AbstractGenericSerializableSettings settings) { this(name, settings, null); } - public BooleanSetting(String name, AbstractGenericSerializableSettings settings, Boolean defaultValue) { + public BooleanSetting(String name, AbstractGenericSerializableSettings settings, Boolean defaultValue) { super(name, settings, defaultValue, BooleanConverter.INSTANCE); } } diff --git a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/DecimalListSetting.java b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/DecimalListSetting.java index 742a68c3114..cceaf14770c 100644 --- a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/DecimalListSetting.java +++ b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/DecimalListSetting.java @@ -6,7 +6,7 @@ import com.sap.sse.common.settings.generic.base.AbstractValueListSetting; import com.sap.sse.common.settings.generic.converter.DecimalConverter; public class DecimalListSetting extends AbstractValueListSetting { - public DecimalListSetting(String name, AbstractGenericSerializableSettings settings) { + public DecimalListSetting(String name, AbstractGenericSerializableSettings settings) { super(name, settings, DecimalConverter.INSTANCE); } } diff --git a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/DecimalSetting.java b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/DecimalSetting.java index 5af21a04f30..26ae7756652 100644 --- a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/DecimalSetting.java +++ b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/DecimalSetting.java @@ -7,11 +7,11 @@ import com.sap.sse.common.settings.generic.converter.DecimalConverter; public class DecimalSetting extends AbstractValueSetting { - public DecimalSetting(String name, AbstractGenericSerializableSettings settings) { + public DecimalSetting(String name, AbstractGenericSerializableSettings settings) { this(name, settings, null); } - public DecimalSetting(String name, AbstractGenericSerializableSettings settings, BigDecimal defaultValue) { + public DecimalSetting(String name, AbstractGenericSerializableSettings settings, BigDecimal defaultValue) { super(name, settings, defaultValue, DecimalConverter.INSTANCE); } } diff --git a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/DoubleListSetting.java b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/DoubleListSetting.java index 5553dd7680e..5ae268f8e0d 100644 --- a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/DoubleListSetting.java +++ b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/DoubleListSetting.java @@ -4,7 +4,7 @@ import com.sap.sse.common.settings.generic.base.AbstractValueListSetting; import com.sap.sse.common.settings.generic.converter.DoubleConverter; public class DoubleListSetting extends AbstractValueListSetting { - public DoubleListSetting(String name, AbstractGenericSerializableSettings settings) { + public DoubleListSetting(String name, AbstractGenericSerializableSettings settings) { super(name, settings, DoubleConverter.INSTANCE); } } diff --git a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/DoubleSetting.java b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/DoubleSetting.java index 6e5251cc51f..719d62ec9dd 100644 --- a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/DoubleSetting.java +++ b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/DoubleSetting.java @@ -5,11 +5,11 @@ import com.sap.sse.common.settings.generic.converter.DoubleConverter; public class DoubleSetting extends AbstractValueSetting { - public DoubleSetting(String name, AbstractGenericSerializableSettings settings) { + public DoubleSetting(String name, AbstractGenericSerializableSettings settings) { this(name, settings, null); } - public DoubleSetting(String name, AbstractGenericSerializableSettings settings, Double defaultValue) { + public DoubleSetting(String name, AbstractGenericSerializableSettings settings, Double defaultValue) { super(name, settings, defaultValue, DoubleConverter.INSTANCE); } } diff --git a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/EnumLinkedHashSetSetting.java b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/EnumLinkedHashSetSetting.java index 7424816c688..1530ca3fe59 100644 --- a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/EnumLinkedHashSetSetting.java +++ b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/EnumLinkedHashSetSetting.java @@ -4,19 +4,19 @@ import com.sap.sse.common.settings.generic.base.ValueLinkedHashSetSetting; import com.sap.sse.common.settings.generic.converter.EnumConverter; public class EnumLinkedHashSetSetting> extends ValueLinkedHashSetSetting { - public EnumLinkedHashSetSetting(String name, AbstractGenericSerializableSettings settings, StringToEnumConverter stringToEnumConverter) { + public EnumLinkedHashSetSetting(String name, AbstractGenericSerializableSettings settings, StringToEnumConverter stringToEnumConverter) { super(name, settings, new EnumConverter<>(stringToEnumConverter)); } - public EnumLinkedHashSetSetting(String name, AbstractGenericSerializableSettings settings, boolean emptyIsDefault, StringToEnumConverter stringToEnumConverter) { + public EnumLinkedHashSetSetting(String name, AbstractGenericSerializableSettings settings, boolean emptyIsDefault, StringToEnumConverter stringToEnumConverter) { super(name, settings, emptyIsDefault, new EnumConverter<>(stringToEnumConverter)); } - public EnumLinkedHashSetSetting(String name, AbstractGenericSerializableSettings settings, Iterable defaultValues, StringToEnumConverter stringToEnumConverter) { + public EnumLinkedHashSetSetting(String name, AbstractGenericSerializableSettings settings, Iterable defaultValues, StringToEnumConverter stringToEnumConverter) { super(name, settings, defaultValues, new EnumConverter<>(stringToEnumConverter)); } - public EnumLinkedHashSetSetting(String name, AbstractGenericSerializableSettings settings, Iterable defaultValues, boolean emptyIsDefault, StringToEnumConverter stringToEnumConverter) { + public EnumLinkedHashSetSetting(String name, AbstractGenericSerializableSettings settings, Iterable defaultValues, boolean emptyIsDefault, StringToEnumConverter stringToEnumConverter) { super(name, settings, defaultValues, emptyIsDefault, new EnumConverter<>(stringToEnumConverter)); } } diff --git a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/EnumListSetting.java b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/EnumListSetting.java index 08251277ad5..2ea0b4aabdb 100644 --- a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/EnumListSetting.java +++ b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/EnumListSetting.java @@ -4,22 +4,22 @@ import com.sap.sse.common.settings.generic.base.AbstractValueListSetting; import com.sap.sse.common.settings.generic.converter.EnumConverter; public class EnumListSetting> extends AbstractValueListSetting { - public EnumListSetting(String name, AbstractGenericSerializableSettings settings, + public EnumListSetting(String name, AbstractGenericSerializableSettings settings, StringToEnumConverter stringToEnumConverter) { super(name, settings, new EnumConverter<>(stringToEnumConverter)); } - public EnumListSetting(String name, AbstractGenericSerializableSettings settings, boolean emptyIsDefault, + public EnumListSetting(String name, AbstractGenericSerializableSettings settings, boolean emptyIsDefault, StringToEnumConverter stringToEnumConverter) { super(name, settings, emptyIsDefault, new EnumConverter<>(stringToEnumConverter)); } - public EnumListSetting(String name, AbstractGenericSerializableSettings settings, Iterable defaultValues, + public EnumListSetting(String name, AbstractGenericSerializableSettings settings, Iterable defaultValues, StringToEnumConverter stringToEnumConverter) { super(name, settings, defaultValues, new EnumConverter<>(stringToEnumConverter)); } - public EnumListSetting(String name, AbstractGenericSerializableSettings settings, Iterable defaultValues, + public EnumListSetting(String name, AbstractGenericSerializableSettings settings, Iterable defaultValues, boolean emptyIsDefault, StringToEnumConverter stringToEnumConverter) { super(name, settings, defaultValues, emptyIsDefault, new EnumConverter<>(stringToEnumConverter)); } diff --git a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/EnumSetSetting.java b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/EnumSetSetting.java index b77bdad2e70..2bbac0ea719 100644 --- a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/EnumSetSetting.java +++ b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/EnumSetSetting.java @@ -4,19 +4,11 @@ import com.sap.sse.common.settings.generic.base.AbstractValueSetSetting; import com.sap.sse.common.settings.generic.converter.EnumConverter; public class EnumSetSetting> extends AbstractValueSetSetting { - public EnumSetSetting(String name, AbstractGenericSerializableSettings settings, StringToEnumConverter stringToEnumConverter) { + public EnumSetSetting(String name, AbstractGenericSerializableSettings settings, StringToEnumConverter stringToEnumConverter) { super(name, settings, new EnumConverter<>(stringToEnumConverter)); } - - public EnumSetSetting(String name, AbstractGenericSerializableSettings settings, boolean emptyIsDefault, StringToEnumConverter stringToEnumConverter) { - super(name, settings, emptyIsDefault, new EnumConverter<>(stringToEnumConverter)); - } - public EnumSetSetting(String name, AbstractGenericSerializableSettings settings, Iterable defaultValues, StringToEnumConverter stringToEnumConverter) { + public EnumSetSetting(String name, AbstractGenericSerializableSettings settings, Iterable defaultValues, StringToEnumConverter stringToEnumConverter) { super(name, settings, defaultValues, new EnumConverter<>(stringToEnumConverter)); } - - public EnumSetSetting(String name, AbstractGenericSerializableSettings settings, Iterable defaultValues, boolean emptyIsDefault, StringToEnumConverter stringToEnumConverter) { - super(name, settings, defaultValues, emptyIsDefault, new EnumConverter<>(stringToEnumConverter)); - } } diff --git a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/EnumSetting.java b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/EnumSetting.java index f20f8ee77e5..2a5b8855555 100644 --- a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/EnumSetting.java +++ b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/EnumSetting.java @@ -5,11 +5,11 @@ import com.sap.sse.common.settings.generic.converter.EnumConverter; public class EnumSetting> extends AbstractValueSetting { - public EnumSetting(String name, AbstractGenericSerializableSettings settings, StringToEnumConverter stringToEnumConverter) { + public EnumSetting(String name, AbstractGenericSerializableSettings settings, StringToEnumConverter stringToEnumConverter) { this(name, settings, null, stringToEnumConverter); } - public EnumSetting(String name, AbstractGenericSerializableSettings settings, T defaultValue, StringToEnumConverter stringToEnumConverter) { + public EnumSetting(String name, AbstractGenericSerializableSettings settings, T defaultValue, StringToEnumConverter stringToEnumConverter) { super(name, settings, defaultValue, new EnumConverter<>(stringToEnumConverter)); } } diff --git a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/IntegerSetting.java b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/IntegerSetting.java index 9c15d5b9c35..50615ae341f 100644 --- a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/IntegerSetting.java +++ b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/IntegerSetting.java @@ -5,11 +5,11 @@ import com.sap.sse.common.settings.generic.converter.IntegerConverter; public class IntegerSetting extends AbstractValueSetting { - public IntegerSetting(String name, AbstractGenericSerializableSettings settings) { + public IntegerSetting(String name, AbstractGenericSerializableSettings settings) { this(name, settings, null); } - public IntegerSetting(String name, AbstractGenericSerializableSettings settings, Integer defaultValue) { + public IntegerSetting(String name, AbstractGenericSerializableSettings settings, Integer defaultValue) { super(name, settings, defaultValue, IntegerConverter.INSTANCE); } } diff --git a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/LongSetting.java b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/LongSetting.java index e21b8463591..13f28cf59a2 100644 --- a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/LongSetting.java +++ b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/LongSetting.java @@ -5,11 +5,11 @@ import com.sap.sse.common.settings.generic.converter.LongConverter; public class LongSetting extends AbstractValueSetting { - public LongSetting(String name, AbstractGenericSerializableSettings settings) { + public LongSetting(String name, AbstractGenericSerializableSettings settings) { this(name, settings, null); } - public LongSetting(String name, AbstractGenericSerializableSettings settings, Long defaultValue) { + public LongSetting(String name, AbstractGenericSerializableSettings settings, Long defaultValue) { super(name, settings, defaultValue, LongConverter.INSTANCE); } } diff --git a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/SettingsList.java b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/SettingsList.java index ef5c8a44f65..5510177936a 100644 --- a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/SettingsList.java +++ b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/SettingsList.java @@ -10,7 +10,7 @@ import com.sap.sse.common.settings.value.ValueCollectionValue; import com.sap.sse.common.settings.value.ValueListValue; -public class SettingsList> extends AbstractSetting implements SettingsListSetting { +public class SettingsList extends AbstractSetting implements SettingsListSetting { private SettingsFactory settingsFactory; @@ -22,7 +22,7 @@ public class SettingsList> exte */ private final List values = new ArrayList<>(); - public SettingsList(String name, AbstractGenericSerializableSettings settings, SettingsFactory settingsFactory) { + public SettingsList(String name, AbstractGenericSerializableSettings settings, SettingsFactory settingsFactory) { super(name, settings); this.settingsFactory = settingsFactory; adoptValue(); diff --git a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/StringListSetting.java b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/StringListSetting.java index 5f085fc3ec4..8ae8bed5417 100644 --- a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/StringListSetting.java +++ b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/StringListSetting.java @@ -4,20 +4,20 @@ import com.sap.sse.common.settings.generic.base.AbstractValueListSetting; import com.sap.sse.common.settings.generic.converter.StringConverter; public class StringListSetting extends AbstractValueListSetting { - public StringListSetting(String name, AbstractGenericSerializableSettings settings) { + public StringListSetting(String name, AbstractGenericSerializableSettings settings) { super(name, settings, StringConverter.INSTANCE); } - public StringListSetting(String name, AbstractGenericSerializableSettings settings, boolean emptyIsDefault) { + public StringListSetting(String name, AbstractGenericSerializableSettings settings, boolean emptyIsDefault) { super(name, settings, emptyIsDefault, StringConverter.INSTANCE); } - public StringListSetting(String name, AbstractGenericSerializableSettings settings, + public StringListSetting(String name, AbstractGenericSerializableSettings settings, Iterable defaultValues) { super(name, settings, defaultValues, StringConverter.INSTANCE); } - public StringListSetting(String name, AbstractGenericSerializableSettings settings, Iterable defaultValues, + public StringListSetting(String name, AbstractGenericSerializableSettings settings, Iterable defaultValues, boolean emptyIsDefault) { super(name, settings, defaultValues, emptyIsDefault, StringConverter.INSTANCE); } diff --git a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/StringSetSetting.java b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/StringSetSetting.java index 31b8f801e89..9b4cb237a3e 100644 --- a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/StringSetSetting.java +++ b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/StringSetSetting.java @@ -4,19 +4,19 @@ import com.sap.sse.common.settings.generic.base.AbstractValueSetSetting; import com.sap.sse.common.settings.generic.converter.StringConverter; public class StringSetSetting extends AbstractValueSetSetting { - public StringSetSetting(String name, AbstractGenericSerializableSettings settings) { + public StringSetSetting(String name, AbstractGenericSerializableSettings settings) { super(name, settings, StringConverter.INSTANCE); } - public StringSetSetting(String name, AbstractGenericSerializableSettings settings, boolean emptyIsDefault) { + public StringSetSetting(String name, AbstractGenericSerializableSettings settings, boolean emptyIsDefault) { super(name, settings, emptyIsDefault, StringConverter.INSTANCE); } - public StringSetSetting(String name, AbstractGenericSerializableSettings settings, Iterable defaultValues) { + public StringSetSetting(String name, AbstractGenericSerializableSettings settings, Iterable defaultValues) { super(name, settings, defaultValues, StringConverter.INSTANCE); } - public StringSetSetting(String name, AbstractGenericSerializableSettings settings, Iterable defaultValues, boolean emptyIsDefault) { + public StringSetSetting(String name, AbstractGenericSerializableSettings settings, Iterable defaultValues, boolean emptyIsDefault) { super(name, settings, defaultValues, emptyIsDefault, StringConverter.INSTANCE); } } diff --git a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/StringSetting.java b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/StringSetting.java index 12a2e05fd37..2e717ca2e41 100644 --- a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/StringSetting.java +++ b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/StringSetting.java @@ -5,11 +5,11 @@ import com.sap.sse.common.settings.generic.converter.StringConverter; public class StringSetting extends AbstractValueSetting { - public StringSetting(final String name, final AbstractGenericSerializableSettings settings) { + public StringSetting(final String name, final AbstractGenericSerializableSettings settings) { this(name, settings, null); } - public StringSetting(final String name, final AbstractGenericSerializableSettings settings, final String defaultValue) { + public StringSetting(final String name, final AbstractGenericSerializableSettings settings, final String defaultValue) { super(name, settings, defaultValue, StringConverter.INSTANCE); } diff --git a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/UUIDListSetting.java b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/UUIDListSetting.java index 4ee3b661e01..3b24a916cb7 100644 --- a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/UUIDListSetting.java +++ b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/UUIDListSetting.java @@ -6,7 +6,7 @@ import com.sap.sse.common.settings.generic.base.AbstractValueListSetting; import com.sap.sse.common.settings.generic.converter.UUIDConverter; public class UUIDListSetting extends AbstractValueListSetting { - public UUIDListSetting(String name, AbstractGenericSerializableSettings settings) { + public UUIDListSetting(String name, AbstractGenericSerializableSettings settings) { super(name, settings, UUIDConverter.INSTANCE); } } diff --git a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/UUIDSetSetting.java b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/UUIDSetSetting.java index 48f32a7005a..704a60268d7 100644 --- a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/UUIDSetSetting.java +++ b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/UUIDSetSetting.java @@ -6,19 +6,19 @@ import com.sap.sse.common.settings.generic.base.AbstractValueSetSetting; import com.sap.sse.common.settings.generic.converter.UUIDConverter; public class UUIDSetSetting extends AbstractValueSetSetting { - public UUIDSetSetting(String name, AbstractGenericSerializableSettings settings) { + public UUIDSetSetting(String name, AbstractGenericSerializableSettings settings) { super(name, settings, UUIDConverter.INSTANCE); } - public UUIDSetSetting(String name, AbstractGenericSerializableSettings settings, boolean emptyIsDefault) { + public UUIDSetSetting(String name, AbstractGenericSerializableSettings settings, boolean emptyIsDefault) { super(name, settings, emptyIsDefault, UUIDConverter.INSTANCE); } - public UUIDSetSetting(String name, AbstractGenericSerializableSettings settings, Iterable defaultValues) { + public UUIDSetSetting(String name, AbstractGenericSerializableSettings settings, Iterable defaultValues) { super(name, settings, defaultValues, UUIDConverter.INSTANCE); } - public UUIDSetSetting(String name, AbstractGenericSerializableSettings settings, Iterable defaultValues, boolean emptyIsDefault) { + public UUIDSetSetting(String name, AbstractGenericSerializableSettings settings, Iterable defaultValues, boolean emptyIsDefault) { super(name, settings, defaultValues, emptyIsDefault, UUIDConverter.INSTANCE); } } diff --git a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/UUIDSetting.java b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/UUIDSetting.java index 00eb9d9a550..7c3c1a2a0e6 100644 --- a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/UUIDSetting.java +++ b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/UUIDSetting.java @@ -7,11 +7,11 @@ import com.sap.sse.common.settings.generic.converter.UUIDConverter; public class UUIDSetting extends AbstractValueSetting { - public UUIDSetting(String name, AbstractGenericSerializableSettings settings) { + public UUIDSetting(String name, AbstractGenericSerializableSettings settings) { this(name, settings, null); } - public UUIDSetting(String name, AbstractGenericSerializableSettings settings, UUID defaultValue) { + public UUIDSetting(String name, AbstractGenericSerializableSettings settings, UUID defaultValue) { super(name, settings, defaultValue, UUIDConverter.INSTANCE); } } diff --git a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/base/AbstractHasValueSetting.java b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/base/AbstractHasValueSetting.java index 9e09825a5dc..1c8f26e8e20 100644 --- a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/base/AbstractHasValueSetting.java +++ b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/base/AbstractHasValueSetting.java @@ -9,7 +9,7 @@ public abstract class AbstractHasValueSetting extends AbstractSetting impleme private ValueConverter valueConverter; - public AbstractHasValueSetting(String name, AbstractGenericSerializableSettings settings, ValueConverter valueConverter) { + public AbstractHasValueSetting(String name, AbstractGenericSerializableSettings settings, ValueConverter valueConverter) { super(name, settings); this.valueConverter = valueConverter; } diff --git a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/base/AbstractValueCollectionSetting.java b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/base/AbstractValueCollectionSetting.java index 6d20c4b6c61..8fa60c7300a 100644 --- a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/base/AbstractValueCollectionSetting.java +++ b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/base/AbstractValueCollectionSetting.java @@ -3,6 +3,7 @@ package com.sap.sse.common.settings.generic.base; import java.util.Collection; import java.util.Collections; +import com.google.gwt.core.client.GWT; import com.sap.sse.common.Util; import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettings; import com.sap.sse.common.settings.generic.ValueCollectionSetting; @@ -15,7 +16,7 @@ public abstract class AbstractValueCollectionSetting settings, ValueConverter valueConverter, boolean emptyIsDefault) { + public AbstractValueCollectionSetting(String name, AbstractGenericSerializableSettings settings, ValueConverter valueConverter, boolean emptyIsDefault) { super(name, settings, valueConverter); this.emptyIsDefault = emptyIsDefault; } @@ -53,12 +54,14 @@ public abstract class AbstractValueCollectionSetting extends AbstractValueCollectionSetting, List> implements ValueListSetting { - public AbstractValueListSetting(String name, AbstractGenericSerializableSettings settings, + public AbstractValueListSetting(String name, AbstractGenericSerializableSettings settings, ValueConverter valueConverter) { this(name, settings, false, valueConverter); } - public AbstractValueListSetting(String name, AbstractGenericSerializableSettings settings, boolean emptyIsDefault, + public AbstractValueListSetting(String name, AbstractGenericSerializableSettings settings, boolean emptyIsDefault, ValueConverter valueConverter) { super(name, settings, valueConverter, emptyIsDefault); } - public AbstractValueListSetting(String name, AbstractGenericSerializableSettings settings, + public AbstractValueListSetting(String name, AbstractGenericSerializableSettings settings, Iterable defaultValues, ValueConverter valueConverter) { this(name, settings, defaultValues, false, valueConverter); } - public AbstractValueListSetting(String name, AbstractGenericSerializableSettings settings, + public AbstractValueListSetting(String name, AbstractGenericSerializableSettings settings, Iterable defaultValues, boolean emptyIsDefault, ValueConverter valueConverter) { this(name, settings, emptyIsDefault, valueConverter); setDefaultValues(defaultValues); diff --git a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/base/AbstractValueSetSetting.java b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/base/AbstractValueSetSetting.java index 5fbe32ff7c2..795515be53c 100644 --- a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/base/AbstractValueSetSetting.java +++ b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/base/AbstractValueSetSetting.java @@ -12,19 +12,19 @@ import com.sap.sse.common.settings.value.ValueSetValue; public abstract class AbstractValueSetSetting extends AbstractValueCollectionSetting, Set> implements ValueSetSetting { - public AbstractValueSetSetting(String name, AbstractGenericSerializableSettings settings, ValueConverter valueConverter) { + public AbstractValueSetSetting(String name, AbstractGenericSerializableSettings settings, ValueConverter valueConverter) { this(name, settings, false, valueConverter); } - public AbstractValueSetSetting(String name, AbstractGenericSerializableSettings settings, boolean emptyIsDefault, ValueConverter valueConverter) { + public AbstractValueSetSetting(String name, AbstractGenericSerializableSettings settings, boolean emptyIsDefault, ValueConverter valueConverter) { super(name, settings, valueConverter, emptyIsDefault); } - public AbstractValueSetSetting(String name, AbstractGenericSerializableSettings settings, Iterable defaultValues, ValueConverter valueConverter) { + public AbstractValueSetSetting(String name, AbstractGenericSerializableSettings settings, Iterable defaultValues, ValueConverter valueConverter) { this(name, settings, defaultValues, false, valueConverter); } - public AbstractValueSetSetting(String name, AbstractGenericSerializableSettings settings, Iterable defaultValues, boolean emptyIsDefault, ValueConverter valueConverter) { + public AbstractValueSetSetting(String name, AbstractGenericSerializableSettings settings, Iterable defaultValues, boolean emptyIsDefault, ValueConverter valueConverter) { this(name, settings, emptyIsDefault, valueConverter); setDefaultValues(defaultValues); resetToDefault(); diff --git a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/base/AbstractValueSetting.java b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/base/AbstractValueSetting.java index 59c48d14a0c..b7a17d900b5 100644 --- a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/base/AbstractValueSetting.java +++ b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/base/AbstractValueSetting.java @@ -9,7 +9,7 @@ public abstract class AbstractValueSetting extends AbstractHasValueSetting private T defaultValue; - protected AbstractValueSetting(String name, AbstractGenericSerializableSettings settings, T defaultValue, ValueConverter valueConverter) { + protected AbstractValueSetting(String name, AbstractGenericSerializableSettings settings, T defaultValue, ValueConverter valueConverter) { super(name, settings, valueConverter); this.defaultValue = defaultValue; if (settings.getValue(settingName) == null) { diff --git a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/base/ValueLinkedHashSetSetting.java b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/base/ValueLinkedHashSetSetting.java index 401400e5640..8fcaaf3b937 100644 --- a/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/base/ValueLinkedHashSetSetting.java +++ b/java/com.sap.sse.common/src/com/sap/sse/common/settings/generic/base/ValueLinkedHashSetSetting.java @@ -12,19 +12,19 @@ import com.sap.sse.common.settings.value.ValueCollectionValue; public abstract class ValueLinkedHashSetSetting extends AbstractValueCollectionSetting, Set> implements ValueSetSetting { - public ValueLinkedHashSetSetting(String name, AbstractGenericSerializableSettings settings, ValueConverter valueConverter) { + public ValueLinkedHashSetSetting(String name, AbstractGenericSerializableSettings settings, ValueConverter valueConverter) { this(name, settings, false, valueConverter); } - public ValueLinkedHashSetSetting(String name, AbstractGenericSerializableSettings settings, boolean emptyIsDefault, ValueConverter valueConverter) { + public ValueLinkedHashSetSetting(String name, AbstractGenericSerializableSettings settings, boolean emptyIsDefault, ValueConverter valueConverter) { super(name, settings, valueConverter, emptyIsDefault); } - public ValueLinkedHashSetSetting(String name, AbstractGenericSerializableSettings settings, Iterable defaultValues, ValueConverter valueConverter) { + public ValueLinkedHashSetSetting(String name, AbstractGenericSerializableSettings settings, Iterable defaultValues, ValueConverter valueConverter) { this(name, settings, defaultValues, false, valueConverter); } - public ValueLinkedHashSetSetting(String name, AbstractGenericSerializableSettings settings, Iterable defaultValues, boolean emptyIsDefault, ValueConverter valueConverter) { + public ValueLinkedHashSetSetting(String name, AbstractGenericSerializableSettings settings, Iterable defaultValues, boolean emptyIsDefault, ValueConverter valueConverter) { this(name, settings, emptyIsDefault, valueConverter); setDefaultValues(defaultValues); resetToDefault(); diff --git a/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/shared/perspective/IgnoreLocalSettings.java b/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/shared/perspective/IgnoreLocalSettings.java index 2266f297b46..f441a5baf97 100644 --- a/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/shared/perspective/IgnoreLocalSettings.java +++ b/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/shared/perspective/IgnoreLocalSettings.java @@ -4,13 +4,13 @@ import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettings; import com.sap.sse.common.settings.generic.BooleanSetting; import com.sap.sse.gwt.settings.SettingsToUrlSerializer; -public class IgnoreLocalSettings extends AbstractGenericSerializableSettings { +public class IgnoreLocalSettings extends AbstractGenericSerializableSettings { private static final long serialVersionUID = -282780795782313106L; private transient BooleanSetting ignoreLocalSettings; public IgnoreLocalSettings() { - super(null); + super(); } public IgnoreLocalSettings(boolean ignoreLocalSettings) { @@ -19,7 +19,7 @@ public class IgnoreLocalSettings extends AbstractGenericSerializableSettings + */ +public abstract class AbstractCheckboxFactory { + + public Widget createCheckbox(String label, AbstractValueSetting valueSetting) { + Widget checkbox; + if (valueSetting instanceof AbstractSecuredValueSetting) { + checkbox = createPremiumCheckbox(label, valueSetting); + } else { + checkbox = new CheckBox(label); + } + return checkbox; + } + + public abstract PremiumCheckBox createPremiumCheckbox(String label, AbstractValueSetting valueSetting); + +} diff --git a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/premium/PremiumCheckBox.java b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/premium/PremiumCheckBox.java index a9fecda4c33..0379a1679f4 100644 --- a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/premium/PremiumCheckBox.java +++ b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/premium/PremiumCheckBox.java @@ -118,6 +118,7 @@ public abstract class PremiumCheckBox extends PremiumUiElement implements HasVal @Override public Boolean getValue() { + // TODO bug5774 Default value??? return hasPermission() && checkBox.getValue(); } diff --git a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/premium/settings/AbstractSecuredValueSetting.java b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/premium/settings/AbstractSecuredValueSetting.java index 758be7e4d9b..5ce761d949b 100644 --- a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/premium/settings/AbstractSecuredValueSetting.java +++ b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/premium/settings/AbstractSecuredValueSetting.java @@ -1,7 +1,7 @@ package com.sap.sse.security.ui.client.premium.settings; import com.google.gwt.core.client.GWT; -import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettings; +import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettingsWithContext; import com.sap.sse.common.settings.generic.ValueConverter; import com.sap.sse.common.settings.generic.base.AbstractValueSetting; import com.sap.sse.security.shared.HasPermissions.Action; @@ -15,7 +15,7 @@ public abstract class AbstractSecuredValueSetting extends AbstractValueSettin private final Action action; private final SecuredDTO securedDTO; - protected AbstractSecuredValueSetting(String name, AbstractGenericSerializableSettings settings, T defaultValue, + protected AbstractSecuredValueSetting(String name, AbstractGenericSerializableSettingsWithContext settings, T defaultValue, ValueConverter valueConverter, PaywallResolver paywallResolver, Action action, SecuredDTO securedDTO) { super(name, settings, defaultValue, valueConverter); this.paywallResolver = paywallResolver; diff --git a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/premium/settings/SecuredBooleanSetting.java b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/premium/settings/SecuredBooleanSetting.java index bcb1ac1bb79..1937eb34619 100644 --- a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/premium/settings/SecuredBooleanSetting.java +++ b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/premium/settings/SecuredBooleanSetting.java @@ -1,6 +1,6 @@ package com.sap.sse.security.ui.client.premium.settings; -import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettings; +import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettingsWithContext; import com.sap.sse.common.settings.generic.converter.BooleanConverter; import com.sap.sse.security.shared.HasPermissions.Action; import com.sap.sse.security.shared.dto.SecuredDTO; @@ -9,12 +9,12 @@ import com.sap.sse.security.ui.client.premium.PaywallResolver; public class SecuredBooleanSetting extends AbstractSecuredValueSetting { - public SecuredBooleanSetting(String name, AbstractGenericSerializableSettings settings, + public SecuredBooleanSetting(String name, AbstractGenericSerializableSettingsWithContext settings, PaywallResolver paywallResolver, Action action, SecuredDTO securedDto) { this(name, settings, null, paywallResolver, action, securedDto); } - public SecuredBooleanSetting(String name, AbstractGenericSerializableSettings settings, Boolean defaultValue, + public SecuredBooleanSetting(String name, AbstractGenericSerializableSettingsWithContext settings, Boolean defaultValue, PaywallResolver paywallResolver, Action action, SecuredDTO securedDto) { super(name, settings, defaultValue, BooleanConverter.INSTANCE, paywallResolver, action, securedDto); } diff --git a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/premium/settings/SecuredDecimalSetting.java b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/premium/settings/SecuredDecimalSetting.java index 7927c2aad6c..4a32f1e510a 100644 --- a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/premium/settings/SecuredDecimalSetting.java +++ b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/premium/settings/SecuredDecimalSetting.java @@ -2,7 +2,7 @@ package com.sap.sse.security.ui.client.premium.settings; import java.math.BigDecimal; -import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettings; +import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettingsWithContext; import com.sap.sse.common.settings.generic.converter.DecimalConverter; import com.sap.sse.security.shared.HasPermissions.Action; import com.sap.sse.security.shared.dto.SecuredDTO; @@ -11,12 +11,12 @@ import com.sap.sse.security.ui.client.premium.PaywallResolver; public class SecuredDecimalSetting extends AbstractSecuredValueSetting { - public SecuredDecimalSetting(String name, AbstractGenericSerializableSettings settings, PaywallResolver paywallResolver, + public SecuredDecimalSetting(String name, AbstractGenericSerializableSettingsWithContext settings, PaywallResolver paywallResolver, Action action, SecuredDTO securedDTO) { this(name, settings, null, paywallResolver, action, securedDTO); } - public SecuredDecimalSetting(String name, AbstractGenericSerializableSettings settings, BigDecimal defaultValue, + public SecuredDecimalSetting(String name, AbstractGenericSerializableSettingsWithContext settings, BigDecimal defaultValue, PaywallResolver paywallResolver, Action action, SecuredDTO securedDTO) { super(name, settings, defaultValue, DecimalConverter.INSTANCE, paywallResolver, action, securedDTO); } diff --git a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/premium/settings/SecuredDoubleSetting.java b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/premium/settings/SecuredDoubleSetting.java index f5644c6482e..64c0224d73a 100644 --- a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/premium/settings/SecuredDoubleSetting.java +++ b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/premium/settings/SecuredDoubleSetting.java @@ -1,6 +1,6 @@ package com.sap.sse.security.ui.client.premium.settings; -import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettings; +import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettingsWithContext; import com.sap.sse.common.settings.generic.converter.DoubleConverter; import com.sap.sse.security.shared.HasPermissions.Action; import com.sap.sse.security.shared.dto.SecuredDTO; @@ -9,12 +9,12 @@ import com.sap.sse.security.ui.client.premium.PaywallResolver; public class SecuredDoubleSetting extends AbstractSecuredValueSetting { - public SecuredDoubleSetting(String name, AbstractGenericSerializableSettings settings, + public SecuredDoubleSetting(String name, AbstractGenericSerializableSettingsWithContext settings, PaywallResolver paywallResolver, Action action, SecuredDTO securedDTO) { this(name, settings, null, paywallResolver, action, securedDTO); } - public SecuredDoubleSetting(String name, AbstractGenericSerializableSettings settings, Double defaultValue, + public SecuredDoubleSetting(String name, AbstractGenericSerializableSettingsWithContext settings, Double defaultValue, PaywallResolver paywallResolver, Action action, SecuredDTO securedDTO) { super(name, settings, defaultValue, DoubleConverter.INSTANCE, paywallResolver, action, securedDTO); } diff --git a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/premium/settings/SecuredEnumSetSetting.java b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/premium/settings/SecuredEnumSetSetting.java new file mode 100644 index 00000000000..a2e08bef39a --- /dev/null +++ b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/premium/settings/SecuredEnumSetSetting.java @@ -0,0 +1,52 @@ +package com.sap.sse.security.ui.client.premium.settings; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Set; + +import com.google.gwt.core.client.GWT; +import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettingsWithContext; +import com.sap.sse.common.settings.generic.StringToEnumConverter; +import com.sap.sse.common.settings.generic.base.AbstractValueSetSetting; +import com.sap.sse.common.settings.generic.converter.EnumConverter; +import com.sap.sse.common.settings.value.Value; +import com.sap.sse.common.settings.value.ValueCollectionValue; +import com.sap.sse.security.shared.HasPermissions.SecuredEnum; +import com.sap.sse.security.shared.dto.SecuredDTO; +import com.sap.sse.security.ui.client.premium.PaywallResolver; + +public class SecuredEnumSetSetting & SecuredEnum> extends AbstractValueSetSetting { + + private final PaywallResolver paywallResolver; + private final SecuredDTO securedDto; + + public SecuredEnumSetSetting(String name, AbstractGenericSerializableSettingsWithContext settings, + Iterable defaultValues, StringToEnumConverter stringToEnumConverter, + PaywallResolver paywallResolver, SecuredDTO securedDto) { + super(name, settings, defaultValues, new EnumConverter<>(stringToEnumConverter)); + this.paywallResolver = paywallResolver; + this.securedDto = securedDto; + } + + @Override + public Iterable getValues() { + if (paywallResolver == null) { + GWT.log("getValue paywall resolver not available."); + } + if (securedDto == null) { + GWT.log("getValue securedDTO context not available!"); + } + ValueCollectionValue> value = getValue(); + GWT.log("getValues() last, result: " + value.getValues(getValueConverter())); + Iterable result = value.getValues(getValueConverter()); + Collection permittedCollection = new ArrayList(); + for (T singleValue: result) { + if (securedDto == null + || paywallResolver != null + && paywallResolver.hasPermission(singleValue.getPremiumAction(), securedDto)) { + permittedCollection.add(singleValue); + } + } + return permittedCollection; + } +} diff --git a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/premium/settings/SecuredEnumSetting.java b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/premium/settings/SecuredEnumSetting.java index 3c727707b91..2ca4a2fef4b 100644 --- a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/premium/settings/SecuredEnumSetting.java +++ b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/premium/settings/SecuredEnumSetting.java @@ -1,6 +1,6 @@ package com.sap.sse.security.ui.client.premium.settings; -import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettings; +import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettingsWithContext; import com.sap.sse.common.settings.generic.StringToEnumConverter; import com.sap.sse.common.settings.generic.converter.EnumConverter; import com.sap.sse.security.shared.HasPermissions.Action; @@ -10,13 +10,13 @@ import com.sap.sse.security.ui.client.premium.PaywallResolver; public class SecuredEnumSetting> extends AbstractSecuredValueSetting { - public SecuredEnumSetting(String name, AbstractGenericSerializableSettings settings, + public SecuredEnumSetting(String name, AbstractGenericSerializableSettingsWithContext settings, StringToEnumConverter stringToEnumConverter, PaywallResolver paywallResolver, Action action, SecuredDTO securedDTO) { this(name, settings, null, stringToEnumConverter, paywallResolver, action, securedDTO); } - public SecuredEnumSetting(String name, AbstractGenericSerializableSettings settings, T defaultValue, + public SecuredEnumSetting(String name, AbstractGenericSerializableSettingsWithContext settings, T defaultValue, StringToEnumConverter stringToEnumConverter, PaywallResolver paywallResolver, Action action, SecuredDTO securedDTO) { super(name, settings, defaultValue, new EnumConverter<>(stringToEnumConverter), paywallResolver, action, diff --git a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/premium/settings/SecuredIntegerSetting.java b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/premium/settings/SecuredIntegerSetting.java index c48a5d8c994..fa963b399bb 100644 --- a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/premium/settings/SecuredIntegerSetting.java +++ b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/premium/settings/SecuredIntegerSetting.java @@ -1,6 +1,6 @@ package com.sap.sse.security.ui.client.premium.settings; -import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettings; +import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettingsWithContext; import com.sap.sse.common.settings.generic.converter.IntegerConverter; import com.sap.sse.security.shared.HasPermissions.Action; import com.sap.sse.security.shared.dto.SecuredDTO; @@ -9,12 +9,12 @@ import com.sap.sse.security.ui.client.premium.PaywallResolver; public class SecuredIntegerSetting extends AbstractSecuredValueSetting { - public SecuredIntegerSetting(String name, AbstractGenericSerializableSettings settings, + public SecuredIntegerSetting(String name, AbstractGenericSerializableSettingsWithContext settings, PaywallResolver paywallResolver, Action action, SecuredDTO securedDTO) { this(name, settings, null, paywallResolver, action, securedDTO); } - public SecuredIntegerSetting(String name, AbstractGenericSerializableSettings settings, Integer defaultValue, + public SecuredIntegerSetting(String name, AbstractGenericSerializableSettingsWithContext settings, Integer defaultValue, PaywallResolver paywallResolver, Action action, SecuredDTO securedDTO) { super(name, settings, defaultValue, IntegerConverter.INSTANCE, paywallResolver, action, securedDTO); } diff --git a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/premium/settings/SecuredLongSetting.java b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/premium/settings/SecuredLongSetting.java index c3cd4e6541f..02927972474 100644 --- a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/premium/settings/SecuredLongSetting.java +++ b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/premium/settings/SecuredLongSetting.java @@ -1,6 +1,6 @@ package com.sap.sse.security.ui.client.premium.settings; -import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettings; +import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettingsWithContext; import com.sap.sse.common.settings.generic.converter.LongConverter; import com.sap.sse.security.shared.HasPermissions.Action; import com.sap.sse.security.shared.dto.SecuredDTO; @@ -9,12 +9,12 @@ import com.sap.sse.security.ui.client.premium.PaywallResolver; public class SecuredLongSetting extends AbstractSecuredValueSetting { - public SecuredLongSetting(String name, AbstractGenericSerializableSettings settings, + public SecuredLongSetting(String name, AbstractGenericSerializableSettingsWithContext settings, PaywallResolver paywallResolver, Action action, SecuredDTO securedDTO) { this(name, settings, null, paywallResolver, action, securedDTO); } - public SecuredLongSetting(String name, AbstractGenericSerializableSettings settings, Long defaultValue, + public SecuredLongSetting(String name, AbstractGenericSerializableSettingsWithContext settings, Long defaultValue, PaywallResolver paywallResolver, Action action, SecuredDTO securedDTO) { super(name, settings, defaultValue, LongConverter.INSTANCE, paywallResolver, action, securedDTO); } diff --git a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/premium/settings/SecuredStringSetting.java b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/premium/settings/SecuredStringSetting.java index fdc8863c434..912a27c0951 100644 --- a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/premium/settings/SecuredStringSetting.java +++ b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/premium/settings/SecuredStringSetting.java @@ -1,6 +1,6 @@ package com.sap.sse.security.ui.client.premium.settings; -import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettings; +import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettingsWithContext; import com.sap.sse.common.settings.generic.converter.StringConverter; import com.sap.sse.security.shared.HasPermissions.Action; import com.sap.sse.security.shared.dto.SecuredDTO; @@ -9,12 +9,12 @@ import com.sap.sse.security.ui.client.premium.PaywallResolver; public class SecuredStringSetting extends AbstractSecuredValueSetting { - public SecuredStringSetting(final String name, final AbstractGenericSerializableSettings settings, + public SecuredStringSetting(final String name, final AbstractGenericSerializableSettingsWithContext settings, PaywallResolver paywallResolver, Action action, SecuredDTO securedDTO) { this(name, settings, null, paywallResolver, action, securedDTO); } - public SecuredStringSetting(final String name, final AbstractGenericSerializableSettings settings, + public SecuredStringSetting(final String name, final AbstractGenericSerializableSettingsWithContext settings, final String defaultValue, PaywallResolver paywallResolver, Action action, SecuredDTO securedDTO) { super(name, settings, defaultValue, StringConverter.INSTANCE, paywallResolver, action, securedDTO); } diff --git a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/premium/settings/SecuredUUIDSetting.java b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/premium/settings/SecuredUUIDSetting.java index 1d568f42a06..559e2243b6c 100644 --- a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/premium/settings/SecuredUUIDSetting.java +++ b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/premium/settings/SecuredUUIDSetting.java @@ -2,7 +2,7 @@ package com.sap.sse.security.ui.client.premium.settings; import java.util.UUID; -import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettings; +import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettingsWithContext; import com.sap.sse.common.settings.generic.converter.UUIDConverter; import com.sap.sse.security.shared.HasPermissions.Action; import com.sap.sse.security.shared.dto.SecuredDTO; @@ -11,12 +11,12 @@ import com.sap.sse.security.ui.client.premium.PaywallResolver; public class SecuredUUIDSetting extends AbstractSecuredValueSetting { - public SecuredUUIDSetting(String name, AbstractGenericSerializableSettings settings, + public SecuredUUIDSetting(String name, AbstractGenericSerializableSettingsWithContext settings, PaywallResolver paywallResolver, Action action, SecuredDTO securedDTO) { this(name, settings, null, paywallResolver, action, securedDTO); } - public SecuredUUIDSetting(String name, AbstractGenericSerializableSettings settings, UUID defaultValue, + public SecuredUUIDSetting(String name, AbstractGenericSerializableSettingsWithContext settings, UUID defaultValue, PaywallResolver paywallResolver, Action action, SecuredDTO securedDTO) { super(name, settings, defaultValue, UUIDConverter.INSTANCE, paywallResolver, action, securedDTO); } diff --git a/java/com.sap.sse.shared.android.test/src/com/sap/sse/shared/android/test/AbstractSettingsSerializationTest.java b/java/com.sap.sse.shared.android.test/src/com/sap/sse/shared/android/test/AbstractSettingsSerializationTest.java index 4c38716147b..dca4a14615a 100644 --- a/java/com.sap.sse.shared.android.test/src/com/sap/sse/shared/android/test/AbstractSettingsSerializationTest.java +++ b/java/com.sap.sse.shared.android.test/src/com/sap/sse/shared/android/test/AbstractSettingsSerializationTest.java @@ -23,61 +23,61 @@ import com.sap.sse.common.settings.generic.StringToEnumConverter; public abstract class AbstractSettingsSerializationTest { - private static class TestOuterSettings extends AbstractGenericSerializableSettings { + private static class TestOuterSettings extends AbstractGenericSerializableSettings { private static final long serialVersionUID = -7379232503773525915L; private transient SimpleTestSettings nested; public TestOuterSettings() { - super(null); + super(); } @Override - protected void addChildSettings(Object context) { + protected void addChildSettings() { nested = new SimpleTestSettings("nested", this); } } - private static class TestListSettings extends AbstractGenericSerializableSettings { + private static class TestListSettings extends AbstractGenericSerializableSettings { private static final long serialVersionUID = 6919127895749914961L; private transient SettingsList l; public TestListSettings() { - super(null); + super(); } @Override - protected void addChildSettings(Object context) { + protected void addChildSettings() { l = new SettingsList<>("l", this, SimpleTestSettings::new); } } - private static class SimpleTestSettings extends AbstractGenericSerializableSettings { + private static class SimpleTestSettings extends AbstractGenericSerializableSettings { private static final long serialVersionUID = -4134836978411240572L; private transient StringSetting string; private transient DecimalSetting num; public SimpleTestSettings() { - super(null); + super(); } public SimpleTestSettings(String string, BigDecimal num) { - super(null); + super(); this.string.setValue(string); this.num.setValue(num); } - public SimpleTestSettings(String name, AbstractGenericSerializableSettings parent) { - super(name, parent, null); + public SimpleTestSettings(String name, AbstractGenericSerializableSettings parent) { + super(name, parent); } @Override - protected void addChildSettings(Object context) { + protected void addChildSettings() { string = new StringSetting("string", this); num = new DecimalSetting("num", this); } } - private static class TestSettings extends AbstractGenericSerializableSettings { + private static class TestSettings extends AbstractGenericSerializableSettings { private static final long serialVersionUID = -611806711715538293L; private transient StringSetting humba; private transient BooleanSetting bumpa; @@ -86,11 +86,11 @@ public abstract class AbstractSettingsSerializationTest { private transient DecimalListSetting l; public TestSettings() { - super(null); + super(); } @Override - protected void addChildSettings(Object context) { + protected void addChildSettings() { humba = new StringSetting("humba", this); bumpa = new BooleanSetting("bumpa", this); trala = new EnumSetting<>("trala", this, TextOperator.Operators::valueOf); @@ -142,16 +142,16 @@ public abstract class AbstractSettingsSerializationTest { } - private static class TestEnumListSettings extends AbstractGenericSerializableSettings { + private static class TestEnumListSettings extends AbstractGenericSerializableSettings { private static final long serialVersionUID = 93688955681544920L; private transient EnumListSetting l; public TestEnumListSettings() { - super(null); + super(); } @Override - protected void addChildSettings(Object context) { + protected void addChildSettings() { l = new EnumListSetting<>("l", this, new StringToEnumConverter() { @Override @@ -162,9 +162,9 @@ public abstract class AbstractSettingsSerializationTest { } } - private static class DuplicateFieldSettings extends AbstractGenericSerializableSettings { + private static class DuplicateFieldSettings extends AbstractGenericSerializableSettings { public DuplicateFieldSettings() { - super(null); + super(); } private static final long serialVersionUID = 4058775568295038177L; @@ -174,15 +174,15 @@ public abstract class AbstractSettingsSerializationTest { private transient DecimalSetting bumba; @Override - protected void addChildSettings(Object context) { + protected void addChildSettings() { humba = new StringSetting("humba", this); bumba = new DecimalSetting("humba", this); } } - private static class DisallowedKeySettings extends AbstractGenericSerializableSettings { + private static class DisallowedKeySettings extends AbstractGenericSerializableSettings { public DisallowedKeySettings() { - super(null); + super(); } private static final long serialVersionUID = -2265305217290147424L; @@ -190,7 +190,7 @@ public abstract class AbstractSettingsSerializationTest { private transient StringSetting disallowedKey; @Override - protected void addChildSettings(Object context) { + protected void addChildSettings() { disallowedKey = new StringSetting("disallowed.key", this); } } diff --git a/java/com.sap.sse.shared.android.test/src/com/sap/sse/shared/android/test/AbstractSettingsSerializationTestWithSettingsMap.java b/java/com.sap.sse.shared.android.test/src/com/sap/sse/shared/android/test/AbstractSettingsSerializationTestWithSettingsMap.java index db20aade571..9be0e2f7ef9 100644 --- a/java/com.sap.sse.shared.android.test/src/com/sap/sse/shared/android/test/AbstractSettingsSerializationTestWithSettingsMap.java +++ b/java/com.sap.sse.shared.android.test/src/com/sap/sse/shared/android/test/AbstractSettingsSerializationTestWithSettingsMap.java @@ -23,7 +23,7 @@ import com.sap.sse.common.settings.generic.StringSetSetting; import com.sap.sse.common.settings.generic.StringSetting; public abstract class AbstractSettingsSerializationTestWithSettingsMap extends AbstractSettingsSerializationTest { - private static class UntypedSettings extends AbstractGenericSerializableSettings { + private static class UntypedSettings extends AbstractGenericSerializableSettings { private static final long serialVersionUID = -2265305217290147424L; private transient StringSetting enumSetting; private transient StringSetSetting enumSetSetting; @@ -31,7 +31,7 @@ public abstract class AbstractSettingsSerializationTestWithSettingsMap exte private transient StringSetting booleanSetting; public UntypedSettings(String enumValue, Collection enumValues, String numberValue, String booleanValue) { - super(null); + super(); enumSetting.setValue(enumValue); enumSetSetting.setValues(enumValues); numberSetting.setValue(numberValue); @@ -39,7 +39,7 @@ public abstract class AbstractSettingsSerializationTestWithSettingsMap exte } @Override - protected void addChildSettings(Object context) { + protected void addChildSettings() { enumSetting = new StringSetting("enumSetting", this); enumSetSetting = new StringSetSetting("enumSetSetting", this); numberSetting = new StringSetting("numberSetting", this); @@ -47,9 +47,9 @@ public abstract class AbstractSettingsSerializationTestWithSettingsMap exte } } - private static class TypedSettings extends AbstractGenericSerializableSettings { + private static class TypedSettings extends AbstractGenericSerializableSettings { public TypedSettings() { - super(null); + super(); } private static final long serialVersionUID = -2265305217290147424L; @@ -62,7 +62,7 @@ public abstract class AbstractSettingsSerializationTestWithSettingsMap exte private transient BooleanSetting booleanSetting; @Override - protected void addChildSettings(Object context) { + protected void addChildSettings() { enumSetting = new EnumSetting<>("enumSetting", this, TextOperator.Operators::valueOf); enumSetSetting = new EnumSetSetting<>("enumSetSetting", this, TextOperator.Operators::valueOf); numberSetting = new DecimalSetting("numberSetting", this);