From 5b37c3c59f7688eec56fbbb4798919075c4a9b08 Mon Sep 17 00:00:00 2001 From: fmittag Date: Mon, 11 Aug 2014 16:17:57 +0200 Subject: [PATCH] introduced a abstract base composite for all event related content composites --- .../place/event/AbstractEventComposite.java | 27 +++++++++++++++++++ .../client/place/event/EventActivity.java | 2 +- .../event/TabletAndDesktopEventView.java | 6 ++--- .../place/event/header/EventHeader.java | 21 ++++++--------- .../client/place/event/media/EventMedia.java | 12 ++++----- .../place/event/overview/EventOverview.java | 12 ++++----- .../event/regattalist/EventRegattaList.java | 11 ++++---- .../event/regattaraces/EventRegattaRaces.java | 11 ++++---- .../place/event/schedule/EventSchedule.java | 12 ++++----- 9 files changed, 64 insertions(+), 50 deletions(-) create mode 100644 java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/AbstractEventComposite.java diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/AbstractEventComposite.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/AbstractEventComposite.java new file mode 100644 index 00000000000..d34b2cb7cb5 --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/AbstractEventComposite.java @@ -0,0 +1,27 @@ +package com.sap.sailing.gwt.home.client.place.event; + +import com.google.gwt.user.client.ui.Composite; +import com.sap.sailing.gwt.ui.shared.EventDTO; + +/** + * A base class for a content composite related to an sailing event + * @author Frank + * + */ +public class AbstractEventComposite extends Composite { + private final EventDTO event; + private final EventPageNavigator pageNavigator; + + public AbstractEventComposite(EventDTO event, EventPageNavigator pageNavigator) { + this.event = event; + this.pageNavigator = pageNavigator; + } + + public EventDTO getEvent() { + return event; + } + + public EventPageNavigator getPageNavigator() { + return pageNavigator; + } +} diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/EventActivity.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/EventActivity.java index 71f6dbf0eeb..a8609f494cb 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/EventActivity.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/EventActivity.java @@ -43,7 +43,7 @@ public class EventActivity extends AbstractActivity { @Override public void timeChanged(Date newTime, Date oldTime) { - // loadAndUpdateEventRaceStatesLog(); + loadAndUpdateEventRaceStatesLog(); } }); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/TabletAndDesktopEventView.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/TabletAndDesktopEventView.java index e21aec7a783..be71efadf7c 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/TabletAndDesktopEventView.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/TabletAndDesktopEventView.java @@ -58,9 +58,9 @@ public class TabletAndDesktopEventView extends Composite implements EventView, E eventHeader = new EventHeader(event, this); eventRegattaList = new EventRegattaList(event, regattaStructure, timerForClientServerOffset, this); eventRegattaRaces = new EventRegattaRaces(event, timerForClientServerOffset, this); - eventOverview = new EventOverview(event); - eventSchedule = new EventSchedule(event); - eventMedia = new EventMedia(event); + eventOverview = new EventOverview(event, this); + eventSchedule = new EventSchedule(event, this); + eventMedia = new EventMedia(event, this); initWidget(uiBinder.createAndBindUi(this)); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/header/EventHeader.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/header/EventHeader.java index 0b5875af906..acc1e59ee42 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/header/EventHeader.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/header/EventHeader.java @@ -11,9 +11,9 @@ import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; import com.google.gwt.uibinder.client.UiHandler; import com.google.gwt.user.client.ui.Anchor; -import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.Widget; import com.sap.sailing.gwt.home.client.i18n.TextMessages; +import com.sap.sailing.gwt.home.client.place.event.AbstractEventComposite; import com.sap.sailing.gwt.home.client.place.event.EventPageNavigator; import com.sap.sailing.gwt.home.client.shared.EventDatesFormatterUtil; import com.sap.sailing.gwt.ui.shared.CourseAreaDTO; @@ -21,14 +21,12 @@ import com.sap.sailing.gwt.ui.shared.EventDTO; import com.sap.sailing.gwt.ui.shared.LeaderboardGroupDTO; import com.sap.sailing.gwt.ui.shared.StrippedLeaderboardDTO; -public class EventHeader extends Composite { +public class EventHeader extends AbstractEventComposite { private static EventHeaderUiBinder uiBinder = GWT.create(EventHeaderUiBinder.class); interface EventHeaderUiBinder extends UiBinder { } - private final EventDTO event; - // @UiField Anchor overviewLink; @UiField Anchor regattasLink; // @UiField Anchor scheduleLink; @@ -69,12 +67,9 @@ public class EventHeader extends Composite { // private final List links1; // private final List links2; // private final List links3; - - private final EventPageNavigator pageNavigator; public EventHeader(EventDTO event, EventPageNavigator pageNavigator) { - this.event = event; - this.pageNavigator = pageNavigator; + super(event, pageNavigator); EventHeaderResources.INSTANCE.css().ensureInjected(); StyleInjector.injectAtEnd("@media (min-width: 50em) { "+EventHeaderResources.INSTANCE.largeCss().getText()+"}"); @@ -102,8 +97,7 @@ public class EventHeader extends Composite { } public EventHeader(EventDTO event) { - this.event = event; - this.pageNavigator = null; + super(event, null); EventHeaderResources.INSTANCE.css().ensureInjected(); StyleInjector.injectAtEnd("@media (min-width: 50em) { "+EventHeaderResources.INSTANCE.largeCss().getText()+"}"); @@ -135,6 +129,7 @@ public class EventHeader extends Composite { } private void updateUI() { + EventDTO event = getEvent(); boolean isSeries = event.isFakeSeries(); String eventName = event.getName(); @@ -226,8 +221,8 @@ public class EventHeader extends Composite { @UiHandler("seriesLeaderboardAnchor") void seriesLeaderboardClicked(ClickEvent clickevent) { - if(event.isFakeSeries()) { - pageNavigator.openOverallLeaderboardViewer(event.getLeaderboardGroups().get(0)); + if(getEvent().isFakeSeries()) { + getPageNavigator().openOverallLeaderboardViewer(getEvent().getLeaderboardGroups().get(0)); } } @@ -237,7 +232,7 @@ public class EventHeader extends Composite { // } // private void showRegattas() { - pageNavigator.goToRegattas(); + getPageNavigator().goToRegattas(); // setActiveLink(links1, regattasLink); // setActiveLink(links2, regattasLink2); // setActiveLink(links3, regattasLink3); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/media/EventMedia.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/media/EventMedia.java index ade11aa8a5f..4f046441b8c 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/media/EventMedia.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/media/EventMedia.java @@ -2,21 +2,19 @@ package com.sap.sailing.gwt.home.client.place.event.media; import com.google.gwt.core.client.GWT; import com.google.gwt.uibinder.client.UiBinder; -import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.Widget; +import com.sap.sailing.gwt.home.client.place.event.AbstractEventComposite; +import com.sap.sailing.gwt.home.client.place.event.EventPageNavigator; import com.sap.sailing.gwt.ui.shared.EventDTO; -public class EventMedia extends Composite { +public class EventMedia extends AbstractEventComposite { private static EventMediaUiBinder uiBinder = GWT.create(EventMediaUiBinder.class); interface EventMediaUiBinder extends UiBinder { } - @SuppressWarnings("unused") - private final EventDTO event; - - public EventMedia(EventDTO event) { - this.event = event; + public EventMedia(EventDTO event, EventPageNavigator placeNavigator) { + super(event, placeNavigator); EventMediaResources.INSTANCE.css().ensureInjected(); initWidget(uiBinder.createAndBindUi(this)); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/overview/EventOverview.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/overview/EventOverview.java index dcf1d2d48b0..4e5f644b9af 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/overview/EventOverview.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/overview/EventOverview.java @@ -2,21 +2,19 @@ package com.sap.sailing.gwt.home.client.place.event.overview; import com.google.gwt.core.client.GWT; import com.google.gwt.uibinder.client.UiBinder; -import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.Widget; +import com.sap.sailing.gwt.home.client.place.event.AbstractEventComposite; +import com.sap.sailing.gwt.home.client.place.event.EventPageNavigator; import com.sap.sailing.gwt.ui.shared.EventDTO; -public class EventOverview extends Composite { +public class EventOverview extends AbstractEventComposite { private static EventOverviewUiBinder uiBinder = GWT.create(EventOverviewUiBinder.class); interface EventOverviewUiBinder extends UiBinder { } - @SuppressWarnings("unused") - private final EventDTO event; - - public EventOverview(EventDTO event) { - this.event = event; + public EventOverview(EventDTO event, EventPageNavigator pageNavigator) { + super(event, pageNavigator); EventOverviewResources.INSTANCE.css().ensureInjected(); initWidget(uiBinder.createAndBindUi(this)); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/regattalist/EventRegattaList.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/regattalist/EventRegattaList.java index e82b4704a18..369c88c16c5 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/regattalist/EventRegattaList.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/regattalist/EventRegattaList.java @@ -16,9 +16,9 @@ import com.google.gwt.uibinder.client.UiField; import com.google.gwt.user.client.DOM; import com.google.gwt.user.client.Event; import com.google.gwt.user.client.EventListener; -import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.Widget; import com.sap.sailing.gwt.home.client.HomeResources; +import com.sap.sailing.gwt.home.client.place.event.AbstractEventComposite; import com.sap.sailing.gwt.home.client.place.event.EventPageNavigator; import com.sap.sailing.gwt.home.client.place.event.regatta.Regatta; import com.sap.sailing.gwt.home.client.shared.LongNamesUtil; @@ -29,7 +29,7 @@ import com.sap.sailing.gwt.ui.shared.StrippedLeaderboardDTO; import com.sap.sse.common.Util.Triple; import com.sap.sse.gwt.client.player.Timer; -public class EventRegattaList extends Composite { +public class EventRegattaList extends AbstractEventComposite { private static EventRegattaHeaderUiBinder uiBinder = GWT.create(EventRegattaHeaderUiBinder.class); interface EventRegattaHeaderUiBinder extends UiBinder { @@ -44,12 +44,11 @@ public class EventRegattaList extends Composite { @UiField AnchorElement filterNoLeaderboardGroupsAnchor; @UiField SpanElement allBoatClassesSelected; - private final EventDTO event; private final Map> regattaElementsByLeaderboardGroup; public EventRegattaList(EventDTO event, Map> regattaStructure, Timer timerForClientServerOffset, EventPageNavigator pageNavigator) { - this.event = event; + super(event, pageNavigator); EventRegattaListResources.INSTANCE.css().ensureInjected(); initWidget(uiBinder.createAndBindUi(this)); @@ -117,7 +116,7 @@ public class EventRegattaList extends Composite { if (leaderboardGroup != null) { allBoatClassesSelected.getStyle().setDisplay(Display.NONE); // hide all regattas of the not selected leaderboardgroup - for (LeaderboardGroupDTO lg : event.getLeaderboardGroups()) { + for (LeaderboardGroupDTO lg : getEvent().getLeaderboardGroups()) { boolean isVisible = leaderboardGroup.getName().equals(lg.getName()); List regattaElements = regattaElementsByLeaderboardGroup.get(lg.getName()); for (Regatta regatta : regattaElements) { @@ -127,7 +126,7 @@ public class EventRegattaList extends Composite { } else { // make all regattas visible allBoatClassesSelected.getStyle().setDisplay(Display.INLINE_BLOCK); - for (LeaderboardGroupDTO lg : event.getLeaderboardGroups()) { + for (LeaderboardGroupDTO lg : getEvent().getLeaderboardGroups()) { List regattaElements = regattaElementsByLeaderboardGroup.get(lg.getName()); for (Regatta regatta : regattaElements) { regatta.setVisible(true); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/regattaraces/EventRegattaRaces.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/regattaraces/EventRegattaRaces.java index 65f3b14b388..0193a2c8f65 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/regattaraces/EventRegattaRaces.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/regattaraces/EventRegattaRaces.java @@ -7,9 +7,9 @@ import com.google.gwt.core.client.GWT; import com.google.gwt.dom.client.StyleInjector; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; -import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.HTMLPanel; import com.google.gwt.user.client.ui.Widget; +import com.sap.sailing.gwt.home.client.place.event.AbstractEventComposite; import com.sap.sailing.gwt.home.client.place.event.EventPageNavigator; import com.sap.sailing.gwt.home.client.place.event.regatta.Regatta; import com.sap.sailing.gwt.ui.shared.EventDTO; @@ -19,7 +19,7 @@ import com.sap.sailing.gwt.ui.shared.RaceGroupSeriesDTO; import com.sap.sailing.gwt.ui.shared.StrippedLeaderboardDTO; import com.sap.sse.gwt.client.player.Timer; -public class EventRegattaRaces extends Composite { +public class EventRegattaRaces extends AbstractEventComposite { private static EventRegattaRacesUiBinder uiBinder = GWT.create(EventRegattaRacesUiBinder.class); interface EventRegattaRacesUiBinder extends UiBinder { @@ -31,12 +31,11 @@ public class EventRegattaRaces extends Composite { @UiField HTMLPanel rootPanel; private final Timer timerForClientServerOffset; - private final EventPageNavigator pageNavigator; private final List phaseElements; public EventRegattaRaces(EventDTO event, Timer timerForClientServerOffset, EventPageNavigator pageNavigator) { + super(event, pageNavigator); this.timerForClientServerOffset = timerForClientServerOffset; - this.pageNavigator = pageNavigator; phaseElements = new ArrayList(); @@ -57,13 +56,13 @@ public class EventRegattaRaces extends Composite { int regattaPhases = raceGroup.getSeries().size(); if(regattaPhases > 1) { for(RaceGroupSeriesDTO series: raceGroup.getSeries()) { - EventRegattaRacesPhase regattaPhase = new EventRegattaRacesPhase(leaderboard, series, timerForClientServerOffset, pageNavigator); + EventRegattaRacesPhase regattaPhase = new EventRegattaRacesPhase(leaderboard, series, timerForClientServerOffset, getPageNavigator()); regattaPhasesPanel.getElement().appendChild(regattaPhase.getElement()); phaseElements.add(regattaPhase); } } else { RaceGroupSeriesDTO raceGroupSeriesDTO = raceGroup.getSeries().get(0); - EventRegattaRacesPhase regattaPhase = new EventRegattaRacesPhase(leaderboard, raceGroupSeriesDTO, timerForClientServerOffset, pageNavigator); + EventRegattaRacesPhase regattaPhase = new EventRegattaRacesPhase(leaderboard, raceGroupSeriesDTO, timerForClientServerOffset, getPageNavigator()); regattaPhasesPanel.getElement().appendChild(regattaPhase.getElement()); phaseElements.add(regattaPhase); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/schedule/EventSchedule.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/schedule/EventSchedule.java index 20c88876c70..059faf76134 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/schedule/EventSchedule.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/schedule/EventSchedule.java @@ -2,21 +2,19 @@ package com.sap.sailing.gwt.home.client.place.event.schedule; import com.google.gwt.core.client.GWT; import com.google.gwt.uibinder.client.UiBinder; -import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.Widget; +import com.sap.sailing.gwt.home.client.place.event.AbstractEventComposite; +import com.sap.sailing.gwt.home.client.place.event.EventPageNavigator; import com.sap.sailing.gwt.ui.shared.EventDTO; -public class EventSchedule extends Composite { +public class EventSchedule extends AbstractEventComposite { private static EventScheduleUiBinder uiBinder = GWT.create(EventScheduleUiBinder.class); interface EventScheduleUiBinder extends UiBinder { } - - @SuppressWarnings("unused") - private final EventDTO event; - public EventSchedule(EventDTO event) { - this.event = event; + public EventSchedule(EventDTO event, EventPageNavigator placeNavigator) { + super(event, placeNavigator); EventScheduleResources.INSTANCE.css().ensureInjected(); initWidget(uiBinder.createAndBindUi(this));