mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-09-27 16:06:39 +00:00
fixing bug 1081 by pulling out the analysis of the lastN parameter from its if block
This commit is contained in:
+15
-15
@@ -139,23 +139,23 @@ public class LeaderboardEntryPoint extends AbstractEntryPoint {
|
||||
*/
|
||||
private LeaderboardSettings createLeaderboardSettingsFromURLParameters(Map<String, List<String>> parameterMap) {
|
||||
LeaderboardSettings result;
|
||||
Long refreshIntervalMillis = parameterMap.containsKey(PARAM_REFRESH_INTERVAL_MILLIS) ?
|
||||
Long.valueOf(parameterMap.get(PARAM_REFRESH_INTERVAL_MILLIS).get(0)) : null;
|
||||
Long refreshIntervalMillis = parameterMap.containsKey(PARAM_REFRESH_INTERVAL_MILLIS) ? Long
|
||||
.valueOf(parameterMap.get(PARAM_REFRESH_INTERVAL_MILLIS).get(0)) : null;
|
||||
RaceColumnSelectionStrategies raceColumnSelectionStrategy;
|
||||
if (parameterMap.containsKey(PARAM_NAME_LAST_N)) {
|
||||
raceColumnSelectionStrategy = RaceColumnSelectionStrategies.LAST_N;
|
||||
} else {
|
||||
raceColumnSelectionStrategy = RaceColumnSelectionStrategies.EXPLICIT;
|
||||
}
|
||||
final Integer numberOfLastRacesToShow;
|
||||
if (parameterMap.containsKey(PARAM_NAME_LAST_N)) {
|
||||
numberOfLastRacesToShow = Integer.valueOf(parameterMap.get(PARAM_NAME_LAST_N).get(0));
|
||||
} else {
|
||||
numberOfLastRacesToShow = null;
|
||||
}
|
||||
if (parameterMap.containsKey(PARAM_RACE_NAME) || parameterMap.containsKey(PARAM_RACE_DETAIL) ||
|
||||
parameterMap.containsKey(PARAM_LEG_DETAIL) || parameterMap.containsKey(PARAM_MANEUVER_DETAIL) ||
|
||||
parameterMap.containsKey(PARAM_OVERALL_DETAIL)) {
|
||||
RaceColumnSelectionStrategies raceColumnSelectionStrategy;
|
||||
if (parameterMap.containsKey(PARAM_NAME_LAST_N)) {
|
||||
raceColumnSelectionStrategy = RaceColumnSelectionStrategies.LAST_N;
|
||||
} else {
|
||||
raceColumnSelectionStrategy = RaceColumnSelectionStrategies.EXPLICIT;
|
||||
}
|
||||
final Integer numberOfLastRacesToShow;
|
||||
if (parameterMap.containsKey(PARAM_NAME_LAST_N)) {
|
||||
numberOfLastRacesToShow = Integer.valueOf(parameterMap.get(PARAM_NAME_LAST_N).get(0));
|
||||
} else {
|
||||
numberOfLastRacesToShow = null;
|
||||
}
|
||||
List<DetailType> maneuverDetails = getDetailTypeListFromParamValue(parameterMap.get(PARAM_MANEUVER_DETAIL));
|
||||
List<DetailType> raceDetails = getDetailTypeListFromParamValue(parameterMap.get(PARAM_RACE_DETAIL));
|
||||
List<DetailType> overallDetails = getDetailTypeListFromParamValue(parameterMap.get(PARAM_OVERALL_DETAIL));
|
||||
@@ -176,7 +176,7 @@ public class LeaderboardEntryPoint extends AbstractEntryPoint {
|
||||
final List<DetailType> overallDetails = Collections.emptyList();
|
||||
result = LeaderboardSettingsFactory.getInstance().createNewDefaultSettings(null, null, /* overallDetails */
|
||||
overallDetails, null,
|
||||
/* autoExpandFirstRace */ false, refreshIntervalMillis);
|
||||
/* autoExpandFirstRace */ false, refreshIntervalMillis, numberOfLastRacesToShow, raceColumnSelectionStrategy);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
+10
-2
@@ -103,6 +103,14 @@ public class LeaderboardSettingsFactory {
|
||||
public LeaderboardSettings createNewDefaultSettings(List<String> namesOfRaceColumnsToShow,
|
||||
List<String> namesOfRacesToShow, List<DetailType> overallDetailsToShow, String nameOfRaceToSort,
|
||||
boolean autoExpandPreSelectedRace, Long refreshIntervalMillis) {
|
||||
return createNewDefaultSettings(namesOfRaceColumnsToShow, namesOfRacesToShow, overallDetailsToShow, nameOfRaceToSort, autoExpandPreSelectedRace, refreshIntervalMillis,
|
||||
/* numberOfLastRacesToShow */ null, /* raceColumnSelectionStrategy */ RaceColumnSelectionStrategies.EXPLICIT);
|
||||
}
|
||||
|
||||
public LeaderboardSettings createNewDefaultSettings(List<String> namesOfRaceColumnsToShow,
|
||||
List<String> namesOfRacesToShow, List<DetailType> overallDetailsToShow, String nameOfRaceToSort,
|
||||
boolean autoExpandPreSelectedRace, Long refreshIntervalMillis, Integer numberOfLastRacesToShow,
|
||||
RaceColumnSelectionStrategies raceColumnSelectionStrategy) {
|
||||
if (namesOfRaceColumnsToShow != null && namesOfRacesToShow != null) {
|
||||
throw new IllegalArgumentException("Can specify race columns either by column or by race name, not both");
|
||||
}
|
||||
@@ -118,9 +126,9 @@ public class LeaderboardSettingsFactory {
|
||||
raceDetails.add(DetailType.DISPLAY_LEGS);
|
||||
return new LeaderboardSettings(maneuverDetails, legDetails, raceDetails, overallDetailsToShow,
|
||||
namesOfRaceColumnsToShow,
|
||||
namesOfRacesToShow, null,
|
||||
namesOfRacesToShow, numberOfLastRacesToShow,
|
||||
autoExpandPreSelectedRace, refreshIntervalMillis, /* delay to live */ null,
|
||||
/* sort by column */ nameOfRaceToSort, /* ascending */ true, /* updateUponPlayStateChange */ true,
|
||||
RaceColumnSelectionStrategies.EXPLICIT);
|
||||
raceColumnSelectionStrategy);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user