mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-25 05:23:51 +00:00
UrlSettings working initial
This commit is contained in:
1 parent
45483c8a5b
commit
b527f49f99
7 files changed
+54
-18
No files matched your search
+2
-2
@@ -20,8 +20,8 @@ public class LeaderboardWithHeaderPerspectiveLifecycle extends AbstractPerspecti
|
||||
(leaderboard.getDisplayName() == null ? leaderboard.name : leaderboard.getDisplayName()),
|
||||
stringMessages);
|
||||
|
||||
this.componentLifecycles.add(leaderboardPanelLifecycle);
|
||||
this.componentLifecycles.add(sapHeaderLifecycle);
|
||||
addLifeCycle(leaderboardPanelLifecycle);
|
||||
addLifeCycle(sapHeaderLifecycle);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+3
-3
@@ -12,9 +12,9 @@ public abstract class AbstractLeaderboardPerspectiveLifecycle extends AbstractPe
|
||||
}
|
||||
|
||||
public AbstractLeaderboardPerspectiveLifecycle(StringMessages stringMessages, AbstractLeaderboardDTO leaderboard) {
|
||||
componentLifecycles.add(new LeaderboardPanelLifecycle(leaderboard, stringMessages));
|
||||
componentLifecycles.add(new MultiLeaderboardPanelLifecycle(null, stringMessages));
|
||||
componentLifecycles.add(new OverallLeaderboardPanelLifecycle(null, stringMessages));
|
||||
addLifeCycle(new LeaderboardPanelLifecycle(leaderboard, stringMessages));
|
||||
addLifeCycle(new MultiLeaderboardPanelLifecycle(null, stringMessages));
|
||||
addLifeCycle(new OverallLeaderboardPanelLifecycle(null, stringMessages));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+2
-1
@@ -11,7 +11,8 @@ public class OverallLeaderboardPanelLifecycle extends LeaderboardPanelLifecycle
|
||||
super(leaderboard, stringMessages);
|
||||
}
|
||||
|
||||
public static String getId() {
|
||||
@Override
|
||||
public String getComponentId() {
|
||||
return ID;
|
||||
}
|
||||
|
||||
|
||||
+6
-6
@@ -36,12 +36,12 @@ public class RaceBoardPerspectiveLifecycle extends AbstractPerspectiveLifecycle<
|
||||
mediaPlayerLifecycle = new MediaPlayerLifecycle(stringMessages);
|
||||
raceTimePanelLifecycle = new RaceTimePanelLifecycle(stringMessages);
|
||||
|
||||
componentLifecycles.add(raceMapLifecycle);
|
||||
componentLifecycles.add(windChartLifecycle);
|
||||
componentLifecycles.add(leaderboardPanelLifecycle);
|
||||
componentLifecycles.add(multiCompetitorRaceChartLifecycle);
|
||||
componentLifecycles.add(mediaPlayerLifecycle);
|
||||
componentLifecycles.add(raceTimePanelLifecycle);
|
||||
addLifeCycle(raceMapLifecycle);
|
||||
addLifeCycle(windChartLifecycle);
|
||||
addLifeCycle(leaderboardPanelLifecycle);
|
||||
addLifeCycle(multiCompetitorRaceChartLifecycle);
|
||||
addLifeCycle(mediaPlayerLifecycle);
|
||||
addLifeCycle(raceTimePanelLifecycle);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+10
-1
@@ -19,12 +19,21 @@ import com.sap.sse.gwt.client.shared.components.ComponentLifecycle;
|
||||
*
|
||||
*/
|
||||
public abstract class AbstractPerspectiveLifecycle<PS extends Settings> implements PerspectiveLifecycle<PS> {
|
||||
protected final List<ComponentLifecycle<?,?>> componentLifecycles;
|
||||
final List<ComponentLifecycle<?, ?>> componentLifecycles;
|
||||
|
||||
public AbstractPerspectiveLifecycle() {
|
||||
componentLifecycles = new ArrayList<>();
|
||||
}
|
||||
|
||||
protected void addLifeCycle(ComponentLifecycle<?, ?> cycle) {
|
||||
for (ComponentLifecycle<?, ?> old : componentLifecycles) {
|
||||
if (old.getComponentId().equals(cycle.getComponentId())) {
|
||||
throw new IllegalStateException("LifeCycle with duplicate ID " + cycle.getComponentId());
|
||||
}
|
||||
}
|
||||
componentLifecycles.add(cycle);
|
||||
}
|
||||
|
||||
public PerspectiveCompositeTabbedSettingsDialogComponent<PS> getSettingsDialogComponent(PerspectiveCompositeSettings<PS> settings) {
|
||||
return new PerspectiveCompositeTabbedSettingsDialogComponent<PS>(this, settings);
|
||||
}
|
||||
|
||||
+26
-4
@@ -77,7 +77,7 @@ public class PerspectiveCompositeTabbedSettingsDialogComponent<PS extends Settin
|
||||
return perspectiveOwnSettings;
|
||||
}
|
||||
|
||||
public SettingsDialogComponent<PS> getSettingsDialog() {
|
||||
public SettingsDialogComponent<PS> getSettingsDialogComponent() {
|
||||
return settingsDialog;
|
||||
}
|
||||
|
||||
@@ -92,6 +92,12 @@ public class PerspectiveCompositeTabbedSettingsDialogComponent<PS extends Settin
|
||||
public PerspectiveCompositeTabbedSettingsDialogComponent(Perspective<PS> perspective) {
|
||||
this.componentIdsAndDialogComponents = new ArrayList<>();
|
||||
for (Component<?> component : perspective.getComponents()) {
|
||||
for (ComponentIdWithSettingsAndDialogComponent<?> c : componentIdsAndDialogComponents) {
|
||||
if (c.getComponentId().equals(component.getId())) {
|
||||
throw new IllegalStateException(
|
||||
"Creating a SettingsDialog with duplicate componentids internally " + component.getId());
|
||||
}
|
||||
}
|
||||
componentIdsAndDialogComponents.add(createComponentAndDialogComponent(component));
|
||||
}
|
||||
perspectiveIdsAndSettingsDialog = createPerspectiveAndDialogComponent(perspective);
|
||||
@@ -122,6 +128,12 @@ public class PerspectiveCompositeTabbedSettingsDialogComponent<PS extends Settin
|
||||
ComponentLifecycle<S, ?> componentLifecycle) {
|
||||
@SuppressWarnings("unchecked")
|
||||
S settingsOfComponent = (S) componentSettings.findSettingsByComponentId(componentLifecycle.getComponentId());
|
||||
for (ComponentIdWithSettingsAndDialogComponent<?> c : componentIdsAndDialogComponents) {
|
||||
if (c.getComponentId().equals(componentLifecycle.getComponentId())) {
|
||||
throw new IllegalStateException("Creating a SettingsDialog with duplicate componentids internally "
|
||||
+ componentLifecycle.getComponentId());
|
||||
}
|
||||
}
|
||||
this.componentIdsAndDialogComponents.add(new ComponentIdWithSettingsAndDialogComponent<S>(componentLifecycle.getLocalizedShortName(), componentLifecycle.getComponentId(), settingsOfComponent,
|
||||
componentLifecycle.getSettingsDialogComponent(settingsOfComponent)));
|
||||
}
|
||||
@@ -151,15 +163,22 @@ public class PerspectiveCompositeTabbedSettingsDialogComponent<PS extends Settin
|
||||
}
|
||||
|
||||
private PS getPerspectiveOwnSettings(PerspectiveIdWithSettingsAndDialogComponent<PS> perspectiveAndDialog) {
|
||||
return perspectiveAndDialog.getSettingsDialog().getResult();
|
||||
SettingsDialogComponent<PS> settingsDialogComponent = perspectiveAndDialog.getSettingsDialogComponent();
|
||||
if (settingsDialogComponent != null) {
|
||||
return settingsDialogComponent.getResult();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Widget getAdditionalWidget(final DataEntryDialog<?> dialog) {
|
||||
TabPanel result = new TabPanel();
|
||||
if(perspectiveIdsAndSettingsDialog != null) {
|
||||
Widget w = perspectiveIdsAndSettingsDialog.getSettingsDialog().getAdditionalWidget((DataEntryDialog<?>) dialog);
|
||||
result.add(w, perspectiveIdsAndSettingsDialog.getPerspectiveName());
|
||||
SettingsDialogComponent<PS> additional = perspectiveIdsAndSettingsDialog.getSettingsDialogComponent();
|
||||
if (additional != null) {
|
||||
Widget w = additional.getAdditionalWidget((DataEntryDialog<?>) dialog);
|
||||
result.add(w, perspectiveIdsAndSettingsDialog.getPerspectiveName());
|
||||
}
|
||||
}
|
||||
for (ComponentIdWithSettingsAndDialogComponent<?> componentAndSettingsDialog : componentIdsAndDialogComponents) {
|
||||
Widget w = componentAndSettingsDialog.getSettingsDialog().getAdditionalWidget((DataEntryDialog<?>) dialog);
|
||||
@@ -180,6 +199,9 @@ public class PerspectiveCompositeTabbedSettingsDialogComponent<PS extends Settin
|
||||
PS perspectiveOwnSettings = perspectiveIdsAndSettingsDialog != null ? getPerspectiveOwnSettings(perspectiveIdsAndSettingsDialog) : null;
|
||||
Map<String, Settings> settings = new HashMap<>();
|
||||
for (ComponentIdWithSettingsAndDialogComponent<?> componentAndDialog : componentIdsAndDialogComponents) {
|
||||
if (settings.containsKey(componentAndDialog.getComponentId())) {
|
||||
throw new IllegalStateException("Duplicate Componentid " + componentAndDialog.getComponentId());
|
||||
}
|
||||
settings.put(componentAndDialog.getComponentId(), componentAndDialog.getSettingsDialog().getResult());
|
||||
}
|
||||
return new PerspectiveCompositeSettings<PS>(perspectiveOwnSettings, settings);
|
||||
|
||||
+5
-1
@@ -20,7 +20,11 @@ public class PerspectiveCompositeValidator<PS extends Settings> implements Valid
|
||||
private final Validator<PS> perspectiveValidator;
|
||||
|
||||
public PerspectiveCompositeValidator(PerspectiveIdWithSettingsAndDialogComponent<PS> perspectiveAndDialogComponent, Iterable<ComponentIdWithSettingsAndDialogComponent<?>> componentsAndDialogComponents) {
|
||||
this.perspectiveValidator = perspectiveAndDialogComponent.getSettingsDialog().getValidator();
|
||||
if (perspectiveAndDialogComponent.getSettingsDialogComponent() != null) {
|
||||
this.perspectiveValidator = perspectiveAndDialogComponent.getSettingsDialogComponent().getValidator();
|
||||
} else {
|
||||
perspectiveValidator = null;
|
||||
}
|
||||
validatorsMappedByComponent = new HashMap<>();
|
||||
for (ComponentIdWithSettingsAndDialogComponent<?> componentsAndSettingsDialog : componentsAndDialogComponents) {
|
||||
validatorsMappedByComponent.put(componentsAndSettingsDialog.getComponentId(), componentsAndSettingsDialog.getSettingsDialog().getValidator());
|
||||
|
||||
Reference in new issue
Block a user