mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-13 22:15:26 +00:00
Bug 4302: Removed SettingsDefaultValuesUtils and all calls to it. The
default values handling was moved to UserSettingsBuildingPipeline subclasses. Because of this change, it isn't necessary anymore that several components have manual handling of default values.
This commit is contained in:
1 parent
38eb8db4c0
commit
f11d003640
10 files changed
+7
-71
No files matched your search
+1
-4
@@ -5,7 +5,6 @@ import java.util.List;
|
||||
|
||||
import com.sap.sailing.domain.common.DetailType;
|
||||
import com.sap.sse.common.settings.generic.support.SettingsUtil;
|
||||
import com.sap.sse.common.settings.util.SettingsDefaultValuesUtils;
|
||||
|
||||
/**
|
||||
* A factory class creating leaderboard settings for different contexts (user role, live or replay mode, etc.
|
||||
@@ -74,9 +73,7 @@ public class LeaderboardSettingsFactory {
|
||||
}
|
||||
|
||||
public MultiRaceLeaderboardSettings mergeLeaderboardSettings(MultiRaceLeaderboardSettings settingsWithRaceSelection, MultiRaceLeaderboardSettings settingsWithDetails) {
|
||||
MultiRaceLeaderboardSettings newSettings = mergeLeaderboardSettingsHelper(settingsWithRaceSelection, settingsWithDetails);
|
||||
MultiRaceLeaderboardSettings newDefaultSettings = mergeLeaderboardSettingsHelper(SettingsDefaultValuesUtils.getDefaultSettings(new MultiRaceLeaderboardSettings(), settingsWithRaceSelection), SettingsDefaultValuesUtils.getDefaultSettings(new MultiRaceLeaderboardSettings(), settingsWithDetails));
|
||||
SettingsDefaultValuesUtils.keepDefaults(newDefaultSettings, newSettings);
|
||||
final MultiRaceLeaderboardSettings newSettings = mergeLeaderboardSettingsHelper(settingsWithRaceSelection, settingsWithDetails);
|
||||
return newSettings;
|
||||
}
|
||||
|
||||
|
||||
-2
@@ -9,7 +9,6 @@ import com.sap.sse.common.Util;
|
||||
import com.sap.sse.common.settings.generic.EnumSetting;
|
||||
import com.sap.sse.common.settings.generic.IntegerSetting;
|
||||
import com.sap.sse.common.settings.generic.StringSetSetting;
|
||||
import com.sap.sse.common.settings.util.SettingsDefaultValuesUtils;
|
||||
|
||||
public class MultiRaceLeaderboardSettings extends LeaderboardSettings {
|
||||
private static final long serialVersionUID = -3445146715292390755L;
|
||||
@@ -69,7 +68,6 @@ public class MultiRaceLeaderboardSettings extends LeaderboardSettings {
|
||||
newSettings.showOverallColumnWithNumberOfRacesCompletedPerCompetitor.setValue(this.isShowOverallColumnWithNumberOfRacesCompletedPerCompetitor());
|
||||
newSettings.isShowCompetitorNationality.setValue(this.isShowCompetitorNationality());
|
||||
newSettings.namesOfRaceColumnsToShow.setValues(this.getNamesOfRaceColumnsToShow());
|
||||
SettingsDefaultValuesUtils.keepDefaults(this, newSettings);
|
||||
newSettings.namesOfRaceColumnsToShow.setDefaultValues(namesOfRaceColumns);
|
||||
return newSettings;
|
||||
}
|
||||
|
||||
+1
-3
@@ -18,7 +18,6 @@ import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sailing.domain.common.DetailType;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sse.common.Util;
|
||||
import com.sap.sse.common.settings.util.SettingsDefaultValuesUtils;
|
||||
import com.sap.sse.gwt.client.dialog.DataEntryDialog;
|
||||
import com.sap.sse.gwt.client.dialog.DataEntryDialog.Validator;
|
||||
|
||||
@@ -56,7 +55,7 @@ public class MultiRaceLeaderboardSettingsDialogComponent
|
||||
Long delayBetweenAutoAdvancesValue = refreshIntervalInSecondsBox.getValue();
|
||||
Integer lastNRacesToShowValue = activeRaceColumnSelectionStrategy == RaceColumnSelectionStrategies.LAST_N
|
||||
? numberOfLastRacesToShowBox.getValue() : null;
|
||||
MultiRaceLeaderboardSettings newSettings = new MultiRaceLeaderboardSettings(maneuverDetailsToShow,
|
||||
final MultiRaceLeaderboardSettings newSettings = new MultiRaceLeaderboardSettings(maneuverDetailsToShow,
|
||||
legDetailsToShow, raceDetailsToShow, overallDetailsToShow, namesOfRaceColumnsToShow,
|
||||
lastNRacesToShowValue,
|
||||
1000l * (delayBetweenAutoAdvancesValue == null ? 0l : delayBetweenAutoAdvancesValue.longValue()),
|
||||
@@ -66,7 +65,6 @@ public class MultiRaceLeaderboardSettingsDialogComponent
|
||||
.getValue().booleanValue(),
|
||||
showCompetitorSailIdColumnheckBox.getValue(), showCompetitorFullNameColumnCheckBox.getValue(),
|
||||
isCompetitorNationalityColumnVisible.getValue());
|
||||
SettingsDefaultValuesUtils.keepDefaults(initialSettings, newSettings);
|
||||
return newSettings;
|
||||
}
|
||||
|
||||
|
||||
+1
-3
@@ -7,7 +7,6 @@ import com.google.gwt.user.client.ui.FlowPanel;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sailing.domain.common.DetailType;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sse.common.settings.util.SettingsDefaultValuesUtils;
|
||||
import com.sap.sse.gwt.client.dialog.DataEntryDialog;
|
||||
import com.sap.sse.gwt.client.dialog.DataEntryDialog.Validator;
|
||||
|
||||
@@ -30,7 +29,7 @@ public class SingleRaceLeaderboardSettingsDialogComponent
|
||||
List<DetailType> legDetailsToShow = getSelected(legDetailCheckboxes);
|
||||
|
||||
Long delayBetweenAutoAdvancesValue = refreshIntervalInSecondsBox.getValue();
|
||||
SingleRaceLeaderboardSettings newSettings = new SingleRaceLeaderboardSettings(maneuverDetailsToShow,
|
||||
final SingleRaceLeaderboardSettings newSettings = new SingleRaceLeaderboardSettings(maneuverDetailsToShow,
|
||||
legDetailsToShow, raceDetailsToShow, overallDetailsToShow,
|
||||
1000l * (delayBetweenAutoAdvancesValue == null ? 0l : delayBetweenAutoAdvancesValue.longValue()),
|
||||
/* showAddedScores */ showAddedScoresCheckBox.getValue().booleanValue(),
|
||||
@@ -38,7 +37,6 @@ public class SingleRaceLeaderboardSettingsDialogComponent
|
||||
.getValue().booleanValue(),
|
||||
showCompetitorSailIdColumnheckBox.getValue(), showCompetitorFullNameColumnCheckBox.getValue(),
|
||||
isCompetitorNationalityColumnVisible.getValue(), showRaceRankColumn.getValue());
|
||||
SettingsDefaultValuesUtils.keepDefaults(initialSettings, newSettings);
|
||||
return newSettings;
|
||||
}
|
||||
|
||||
|
||||
+1
-3
@@ -24,7 +24,6 @@ import com.sap.sse.common.Util;
|
||||
import com.sap.sse.common.filter.BinaryOperator;
|
||||
import com.sap.sse.common.filter.Filter;
|
||||
import com.sap.sse.common.filter.FilterSet;
|
||||
import com.sap.sse.common.settings.util.SettingsDefaultValuesUtils;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
import com.sap.sse.gwt.client.async.AsyncActionsExecutor;
|
||||
import com.sap.sse.gwt.client.player.Timer;
|
||||
@@ -84,13 +83,12 @@ public class MultiRaceLeaderboardPanel extends LeaderboardPanel<MultiRaceLeaderb
|
||||
for (RaceColumnDTO raceColumn : selectedRaceColumns) {
|
||||
namesOfRaceColumnsToShow.add(raceColumn.getName());
|
||||
}
|
||||
MultiRaceLeaderboardSettings leaderboardSettings = new MultiRaceLeaderboardSettings(selectedManeuverDetails,
|
||||
final MultiRaceLeaderboardSettings leaderboardSettings = new MultiRaceLeaderboardSettings(selectedManeuverDetails,
|
||||
selectedLegDetails, selectedRaceDetails, selectedOverallDetailColumns, namesOfRaceColumnsToShow,
|
||||
raceColumnSelection.getNumberOfLastRaceColumnsToShow(), timer.getRefreshInterval(),
|
||||
raceColumnSelection.getType(), isShowAddedScores(),
|
||||
isShowOverallColumnWithNumberOfRacesCompletedPerCompetitor(), isShowCompetitorSailId(),
|
||||
isShowCompetitorFullName(), isShowCompetitorNationality);
|
||||
SettingsDefaultValuesUtils.keepDefaults(currentSettings, leaderboardSettings);
|
||||
return leaderboardSettings;
|
||||
}
|
||||
|
||||
|
||||
+1
-3
@@ -30,7 +30,6 @@ import com.sap.sse.common.Util;
|
||||
import com.sap.sse.common.filter.BinaryOperator;
|
||||
import com.sap.sse.common.filter.Filter;
|
||||
import com.sap.sse.common.filter.FilterSet;
|
||||
import com.sap.sse.common.settings.util.SettingsDefaultValuesUtils;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
import com.sap.sse.gwt.client.async.AsyncActionsExecutor;
|
||||
import com.sap.sse.gwt.client.player.Timer;
|
||||
@@ -117,12 +116,11 @@ public class SingleRaceLeaderboardPanel extends LeaderboardPanel<SingleRaceLeade
|
||||
|
||||
@Override
|
||||
public SingleRaceLeaderboardSettings getSettings() {
|
||||
SingleRaceLeaderboardSettings leaderboardSettings = new SingleRaceLeaderboardSettings(selectedManeuverDetails,
|
||||
final SingleRaceLeaderboardSettings leaderboardSettings = new SingleRaceLeaderboardSettings(selectedManeuverDetails,
|
||||
selectedLegDetails, selectedRaceDetails, selectedOverallDetailColumns, timer.getRefreshInterval(),
|
||||
isShowAddedScores(),
|
||||
isShowOverallColumnWithNumberOfRacesCompletedPerCompetitor(), isShowCompetitorSailId(),
|
||||
isShowCompetitorFullName(), isShowCompetitorNationality,showRaceRankColumn);
|
||||
SettingsDefaultValuesUtils.keepDefaults(currentSettings, leaderboardSettings);
|
||||
return leaderboardSettings;
|
||||
}
|
||||
|
||||
|
||||
-2
@@ -24,7 +24,6 @@ import com.sap.sailing.gwt.ui.client.shared.racemap.RaceMapZoomSettings.ZoomType
|
||||
import com.sap.sailing.gwt.ui.leaderboard.SingleRaceLeaderboardPanel;
|
||||
import com.sap.sse.common.Duration;
|
||||
import com.sap.sse.common.impl.MillisecondsTimePoint;
|
||||
import com.sap.sse.common.settings.util.SettingsDefaultValuesUtils;
|
||||
import com.sap.sse.gwt.client.player.Timer.PlayModes;
|
||||
import com.sap.sse.gwt.client.player.Timer.PlayStates;
|
||||
import com.sap.sse.security.ui.settings.ComponentContextWithSettingsStorageAndAdditionalSettingsLayers.OnSettingsReloadedCallback;
|
||||
@@ -146,7 +145,6 @@ public class StartAnalysisMode extends RaceBoardModeWithPerRaceCompetitors {
|
||||
|
||||
@Override
|
||||
public void onSettingsReloaded(MultiCompetitorRaceChartSettings patchedSettings) {
|
||||
SettingsDefaultValuesUtils.keepDefaults(competitorChart.getSettings(), patchedSettings);
|
||||
competitorChart.updateSettings(patchedSettings);
|
||||
}
|
||||
|
||||
|
||||
@@ -18,7 +18,6 @@ Export-Package: com.sap.sse.common,
|
||||
com.sap.sse.common.settings.generic.converter,
|
||||
com.sap.sse.common.settings.generic.support,
|
||||
com.sap.sse.common.settings.serializer,
|
||||
com.sap.sse.common.settings.util,
|
||||
com.sap.sse.common.settings.value,
|
||||
com.sap.sse.common.util
|
||||
Require-Bundle: com.sap.sse.datamining.annotations
|
||||
|
||||
-48
@@ -1,48 +0,0 @@
|
||||
package com.sap.sse.common.settings.util;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import com.sap.sse.common.settings.generic.GenericSerializableSettings;
|
||||
import com.sap.sse.common.settings.generic.Setting;
|
||||
import com.sap.sse.common.settings.generic.ValueCollectionSetting;
|
||||
import com.sap.sse.common.settings.generic.ValueSetting;
|
||||
|
||||
public class SettingsDefaultValuesUtils {
|
||||
|
||||
public static<T extends GenericSerializableSettings> T getDefaultSettings(T newInstance, T settingsWithContainedDefaults) {
|
||||
keepDefaults(settingsWithContainedDefaults, newInstance);
|
||||
newInstance.resetToDefault();
|
||||
return newInstance;
|
||||
}
|
||||
|
||||
public static void keepDefaults(GenericSerializableSettings previousSettings, GenericSerializableSettings newSettings) {
|
||||
for (Map.Entry<String, Setting> entry : previousSettings.getChildSettings().entrySet()) {
|
||||
Setting previousSetting = entry.getValue();
|
||||
Setting newSetting = newSettings.getChildSettings().get(entry.getKey());
|
||||
if (previousSetting instanceof ValueSetting) {
|
||||
keepDefaults((ValueSetting<?>) previousSetting, (ValueSetting<?>) newSetting);
|
||||
} else if (newSetting instanceof ValueCollectionSetting) {
|
||||
keepDefaults((ValueCollectionSetting<?>) previousSetting, (ValueCollectionSetting<?>) newSetting);
|
||||
} else if (newSetting instanceof GenericSerializableSettings) {
|
||||
keepDefaults((GenericSerializableSettings) previousSetting, (GenericSerializableSettings) newSetting);
|
||||
} else {
|
||||
throw new IllegalStateException("Unknown Setting type");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private static<T> void keepDefaults(ValueCollectionSetting<?> previousSettings, ValueCollectionSetting<T> newSettings) {
|
||||
Iterable<T> originalValues = newSettings.getValues();
|
||||
newSettings.setDefaultValues((Iterable<T>) previousSettings.getDefaultValues());
|
||||
newSettings.setValues(originalValues);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private static<T> void keepDefaults(ValueSetting<?> previousSettings, ValueSetting<T> newSettings) {
|
||||
T originalValue = newSettings.getValue();
|
||||
newSettings.setDefaultValue((T) previousSettings.getDefaultValue());
|
||||
newSettings.setValue(originalValue);
|
||||
}
|
||||
|
||||
}
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
package com.sap.sse.security.ui.settings;
|
||||
|
||||
import com.sap.sse.common.settings.Settings;
|
||||
import com.sap.sse.common.settings.util.SettingsDefaultValuesUtils;
|
||||
import com.sap.sse.common.settings.generic.support.SettingsUtil;
|
||||
|
||||
/**
|
||||
* Interface for a settings patch which may be applied to settings during its construction in
|
||||
@@ -21,7 +21,7 @@ public interface SettingsPatch<S extends Settings> {
|
||||
/**
|
||||
* Implements the logic about how the settings should be modified/patched during its construction inside the
|
||||
* settings building pipeline. The settings instance may be modified directly by using
|
||||
* {@link SettingsDefaultValuesUtils} and {@link SettingsMergeUtils}.
|
||||
* {@link SettingsUtil}.
|
||||
*
|
||||
* @param settingsToPatch
|
||||
* Current settings in the settings building pipeline
|
||||
|
||||
Reference in new issue
Block a user