Merge branch 'archive-hotdeployment-candidate' into design2015

Conflicts:
	java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/server/HomeServiceImpl.java
This commit is contained in:
Benjamin Barth committed 2015-09-07 14:33:56 +02:00
commit e14c242695
23 files changed
+94 -120

No files matched your search

@@ -1,5 +1,6 @@
package com.sap.sailing.gwt.home.mobile.partials.recents;
import java.util.LinkedList;
import java.util.List;
import com.google.gwt.core.client.GWT;
@@ -9,6 +10,7 @@ import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.FlowPanel;
import com.google.gwt.user.client.ui.Widget;
import com.sap.sailing.gwt.home.mobile.app.MobilePlacesNavigator;
import com.sap.sailing.gwt.ui.shared.eventlist.EventListEventDTO;
import com.sap.sailing.gwt.ui.shared.eventlist.EventListYearDTO;
public class EventsOverviewRecent extends Composite {
@@ -24,7 +26,6 @@ public class EventsOverviewRecent extends Composite {
public EventsOverviewRecent(MobilePlacesNavigator navigator) {
this.navigator = navigator;
EventsOverviewRecentResources.INSTANCE.css().ensureInjected();
initWidget(uiBinder.createAndBindUi(this));
}
@@ -33,12 +34,14 @@ public class EventsOverviewRecent extends Composite {
// remove old widgets
year.clear();
List<EventListEventDTO> allEvents = new LinkedList<EventListEventDTO>();
boolean oneYearIsExpanded = false;
for (EventListYearDTO yearDTO : years) {
EventsOverviewRecentYear recentEventsOfOneYear = new EventsOverviewRecentYear(yearDTO, navigator, !oneYearIsExpanded);
EventsOverviewRecentYear recentEventsOfOneYear = new EventsOverviewRecentYear(yearDTO, navigator, true);
year.add(recentEventsOfOneYear);
if (oneYearIsExpanded) recentEventsOfOneYear.onHeaderClicked();
oneYearIsExpanded = true;
allEvents.addAll(yearDTO.getEvents());
}
}
}
@@ -1,10 +1,8 @@
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
xmlns:g="urn:import:com.google.gwt.user.client.ui"
xmlns:s="urn:import:com.sap.sailing.gwt.home.client.shared">
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" xmlns:g="urn:import:com.google.gwt.user.client.ui"
xmlns:mp="urn:import:com.sap.sailing.gwt.home.mobile.partials" xmlns:s="urn:import:com.sap.sailing.gwt.home.client.shared">
<ui:with field="i18n" type="com.sap.sailing.gwt.common.client.i18n.TextMessages" />
<ui:with field="res" type="com.sap.sailing.gwt.home.mobile.resources.SharedResources" />
<ui:with field="local_res" type="com.sap.sailing.gwt.home.mobile.partials.recents.EventsOverviewRecentResources" />
<g:FlowPanel ui:field='year' addStyleNames="{local_res.css.eventsoverviewrecent} {local_res.css.accordion}">
</g:FlowPanel>
<g:FlowPanel ui:field='year' addStyleNames="{local_res.css.eventsoverviewrecent} {local_res.css.accordion}" />
</ui:UiBinder>
@@ -16,6 +16,7 @@ import com.google.gwt.user.client.ui.Widget;
import com.sap.sailing.gwt.home.client.place.event.EventDefaultPlace;
import com.sap.sailing.gwt.home.client.place.events.CollapseAnimation;
import com.sap.sailing.gwt.home.mobile.app.MobilePlacesNavigator;
import com.sap.sailing.gwt.home.mobile.partials.stage.Stage;
import com.sap.sailing.gwt.home.shared.app.PlaceNavigation;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.shared.eventlist.EventListEventDTO;
@@ -31,6 +32,7 @@ public class EventsOverviewRecentYear extends Composite {
@UiField SpanElement year;
@UiField SpanElement eventsCount;
@UiField FlowPanel recentEventsTeaserPanel;
@UiField (provided = true) Stage eventStage;
@UiField DivElement contentDiv;
@UiField HTMLPanel headerDiv;
@UiField StringMessages i18n;
@@ -41,7 +43,7 @@ public class EventsOverviewRecentYear extends Composite {
public EventsOverviewRecentYear(EventListYearDTO yearDTO, MobilePlacesNavigator navigator, boolean showInitial) {
List<EventListEventDTO> events = yearDTO.getEvents();
eventStage = new Stage(navigator, false);
EventsOverviewRecentResources.INSTANCE.css().ensureInjected();
initWidget(uiBinder.createAndBindUi(this));
@@ -63,10 +65,12 @@ public class EventsOverviewRecentYear extends Composite {
first = false;
}
}
eventStage.setFeaturedEvents(events);
// eventStage.removeFromParent();
headerDiv.addDomHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
onHeaderCicked();
onHeaderClicked();
}
}, ClickEvent.getType());
@@ -75,7 +79,7 @@ public class EventsOverviewRecentYear extends Composite {
updateAccordionState();
}
private void onHeaderCicked() {
void onHeaderClicked() {
isContentVisible = !isContentVisible;
updateContentVisibility();
}
@@ -1,6 +1,6 @@
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
xmlns:g="urn:import:com.google.gwt.user.client.ui" xmlns:s="urn:import:com.sap.sailing.gwt.home.client.shared">
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" xmlns:g="urn:import:com.google.gwt.user.client.ui"
xmlns:mp="urn:import:com.sap.sailing.gwt.home.mobile.partials" xmlns:s="urn:import:com.sap.sailing.gwt.home.client.shared">
<ui:with field="i18n" type="com.sap.sailing.gwt.ui.client.StringMessages" />
<ui:with field="res" type="com.sap.sailing.gwt.home.mobile.resources.SharedResources" />
<ui:with field="local_res" type="com.sap.sailing.gwt.home.mobile.partials.recents.EventsOverviewRecentResources" />
@@ -33,6 +33,7 @@
</div>
</g:HTMLPanel>
<div ui:field="contentDiv" class="{local_res.css.eventsoverviewrecent_year_content} {local_res.css.accordion_content}">
<mp:stage.Stage ui:field='eventStage'/>
<g:FlowPanel ui:field="recentEventsTeaserPanel" styleName="{res.mediaCss.grid}" />
</div>
</g:HTMLPanel>
@@ -4,9 +4,7 @@ import com.google.gwt.core.client.GWT;
import com.google.gwt.dom.client.AnchorElement;
import com.google.gwt.dom.client.DivElement;
import com.google.gwt.dom.client.Element;
import com.google.gwt.dom.client.ImageElement;
import com.google.gwt.dom.client.SpanElement;
import com.google.gwt.dom.client.Style.Display;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Widget;
@@ -24,48 +22,28 @@ public class EventsOverviewRecentYearEvent extends Widget {
interface RecentEventTeaserUiBinder extends UiBinder<Element, EventsOverviewRecentYearEvent> {
}
@UiField
ImageElement eventImageUi;
@UiField
AnchorElement eventLinkUi;
@UiField
DivElement eventStateUi;
@UiField
SpanElement venueUi;
@UiField
SpanElement eventDateUi;
@UiField
SpanElement eventNameUi;
private final Element eventContainerUi;
@UiField AnchorElement eventLinkUi;
@UiField DivElement eventStateUi;
@UiField SpanElement venueUi;
@UiField SpanElement eventDateUi;
@UiField SpanElement eventNameUi;
public EventsOverviewRecentYearEvent(final PlaceNavigation<?> placeNavigation, final EventMetadataDTO event,
LabelType labelType, boolean isTeaserEvent) {
EventsOverviewRecentResources.INSTANCE.css().ensureInjected();
setElement(eventContainerUi = uiBinder.createAndBindUi(this));
eventNameUi.setInnerText(event.getDisplayName());
if (isTeaserEvent) {
eventImageUi.getStyle().setDisplay(Display.BLOCK);
if(event.getThumbnailImageURL() == null || event.getThumbnailImageURL().isEmpty()) {
eventImageUi.setSrc(EventsOverviewRecentResources.INSTANCE.defaultEventPhotoImage().getSafeUri().asString());
}else {
eventImageUi.setSrc(event.getThumbnailImageURL());
}
} else {
eventImageUi.getStyle().setDisplay(Display.NONE);
}
eventLinkUi.setTitle(event.getDisplayName());
eventLinkUi.setHref(placeNavigation.getTargetUrl());
placeNavigation.configureAnchorElement(eventLinkUi);
LabelTypeUtil.renderLabelType(eventStateUi, event.getState().getListStateMarker());
venueUi.setInnerText(event.getLocationOrVenue());
eventDateUi.setInnerText(EventDatesFormatterUtil.formatDateRangeWithoutYear(event.getStartDate(),
event.getEndDate()));
eventDateUi.setInnerText(EventDatesFormatterUtil.formatDateRangeWithoutYear(event.getStartDate(), event.getEndDate()));
}
public void setSeriesInformation(PlaceNavigation<?> seriesNavigation, EventListEventSeriesDTO eventSeries) {
eventContainerUi.appendChild(new EventOverviewRecentSeriesInfo(seriesNavigation, eventSeries).getElement());
}
}
@@ -8,24 +8,23 @@
<ui:with field="local_res"
type="com.sap.sailing.gwt.home.mobile.partials.recents.EventsOverviewRecentResources" />
<div>
<a ui:field="eventLinkUi">
<img ui:field="eventImageUi" class="{local_res.css.eventsoverviewrecent_event_image}"></img>
<div class="{local_res.css.eventsoverviewrecent_event}">
<div class="{local_res.css.eventteaser_title}">
<div class="{local_res.css.eventteaser_title_name}">
<span ui:field="eventNameUi" />
<div ui:field="eventStateUi"
class="{local_res.css.eventteaser_title_name_state} {res.mainCss.label}" />
</div>
<div class="{local_res.css.eventteaser_title_location}">
<span ui:field="venueUi" />,&nbsp;<span ui:field="eventDateUi" />
</div>
<a ui:field="eventLinkUi">
<div class="{local_res.css.eventsoverviewrecent_event}">
<div class="{local_res.css.eventteaser_title}">
<div class="{local_res.css.eventteaser_title_name}">
<span ui:field="eventNameUi" />
<div ui:field="eventStateUi"
class="{local_res.css.eventteaser_title_name_state} {res.mainCss.label}" />
</div>
<div class="{local_res.css.eventsoverviewrecent_event_arrow}">
<img src="images/home/arrow-down-grey.png" alt="{i18n.goToEventOverview}"
class="{local_res.css.eventsoverviewrecent_event_arrow_image}"></img>
<div class="{local_res.css.eventteaser_title_location}">
<span ui:field="venueUi" />,&nbsp;<span ui:field="eventDateUi" />
</div>
</div>
</a>
<div class="{local_res.css.eventsoverviewrecent_event_arrow}">
<img src="images/home/arrow-down-grey.png" alt="{i18n.goToEventOverview}"
class="{local_res.css.eventsoverviewrecent_event_arrow_image}"></img>
</div>
</div>
</a>
</div>
</ui:UiBinder>
@@ -1,13 +1,13 @@
package com.sap.sailing.gwt.home.mobile.partials.stage;
import com.sap.sailing.gwt.home.mobile.app.MobilePlacesNavigator;
import com.sap.sailing.gwt.ui.shared.start.EventStageDTO;
import com.sap.sailing.gwt.ui.shared.general.EventLinkAndMetadataDTO;
public class LiveEventStageTeaser extends StageTeaser {
private final LiveStageTeaserBand teaserBand;
public LiveEventStageTeaser(EventStageDTO event, MobilePlacesNavigator placeNavigator) {
public LiveEventStageTeaser(EventLinkAndMetadataDTO event, MobilePlacesNavigator placeNavigator) {
super(event);
title.setInnerText(event.getDisplayName());
@@ -4,7 +4,7 @@ import com.google.gwt.event.dom.client.ClickEvent;
import com.sap.sailing.gwt.common.client.i18n.TextMessages;
import com.sap.sailing.gwt.home.client.shared.EventDatesFormatterUtil;
import com.sap.sailing.gwt.home.mobile.app.MobilePlacesNavigator;
import com.sap.sailing.gwt.ui.shared.start.EventStageDTO;
import com.sap.sailing.gwt.ui.shared.general.EventLinkAndMetadataDTO;
/**
* Teaser band for a live event on the homepage stage
@@ -13,7 +13,7 @@ import com.sap.sailing.gwt.ui.shared.start.EventStageDTO;
*/
public class LiveStageTeaserBand extends StageTeaserBand {
public LiveStageTeaserBand(EventStageDTO event, MobilePlacesNavigator placeNavigator) {
public LiveStageTeaserBand(EventLinkAndMetadataDTO event, MobilePlacesNavigator placeNavigator) {
super(event, placeNavigator);
bandTitle.setInnerText(event.getDisplayName());
@@ -2,7 +2,7 @@ package com.sap.sailing.gwt.home.mobile.partials.stage;
import com.sap.sailing.gwt.home.client.shared.EventDatesFormatterUtil;
import com.sap.sailing.gwt.home.mobile.app.MobilePlacesNavigator;
import com.sap.sailing.gwt.ui.shared.start.EventStageDTO;
import com.sap.sailing.gwt.ui.shared.eventlist.EventListEventDTO;
/**
* Teaser band with no action on the homepage stage
@@ -10,7 +10,7 @@ import com.sap.sailing.gwt.ui.shared.start.EventStageDTO;
*/
public class NoActionStageTeaserBand extends StageTeaserBand {
public NoActionStageTeaserBand(EventStageDTO event, MobilePlacesNavigator placeNavigator) {
public NoActionStageTeaserBand(EventListEventDTO event, MobilePlacesNavigator placeNavigator) {
super(event, placeNavigator);
bandTitle.setInnerText(event.getDisplayName());
@@ -1,13 +1,13 @@
package com.sap.sailing.gwt.home.mobile.partials.stage;
import com.sap.sailing.gwt.home.mobile.app.MobilePlacesNavigator;
import com.sap.sailing.gwt.ui.shared.start.EventStageDTO;
import com.sap.sailing.gwt.ui.shared.general.EventLinkAndMetadataDTO;
public class PopularEventStageTeaser extends StageTeaser {
private final PopularEventStageTeaserBand teaserBand;
public PopularEventStageTeaser(EventStageDTO event, MobilePlacesNavigator placeNavigator) {
public PopularEventStageTeaser(EventLinkAndMetadataDTO event, MobilePlacesNavigator placeNavigator) {
super(event);
title.setInnerText(event.getDisplayName());
@@ -4,7 +4,7 @@ import com.google.gwt.event.dom.client.ClickEvent;
import com.sap.sailing.gwt.common.client.i18n.TextMessages;
import com.sap.sailing.gwt.home.client.shared.EventDatesFormatterUtil;
import com.sap.sailing.gwt.home.mobile.app.MobilePlacesNavigator;
import com.sap.sailing.gwt.ui.shared.start.EventStageDTO;
import com.sap.sailing.gwt.ui.shared.general.EventLinkAndMetadataDTO;
/**
* Teaser band for a popular but finished event on the homepage stage
@@ -13,7 +13,7 @@ import com.sap.sailing.gwt.ui.shared.start.EventStageDTO;
*/
public class PopularEventStageTeaserBand extends StageTeaserBand {
public PopularEventStageTeaserBand(EventStageDTO event, MobilePlacesNavigator placeNavigator) {
public PopularEventStageTeaserBand(EventLinkAndMetadataDTO event, MobilePlacesNavigator placeNavigator) {
super(event, placeNavigator);
bandTitle.setInnerText(event.getDisplayName());
@@ -4,42 +4,43 @@ import java.util.ArrayList;
import java.util.List;
import com.google.gwt.core.client.GWT;
import com.google.gwt.dom.client.DivElement;
import com.google.gwt.dom.client.Style.Unit;
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.Widget;
import com.sap.sailing.gwt.home.mobile.app.MobilePlacesNavigator;
import com.sap.sailing.gwt.ui.shared.start.EventStageDTO;
import com.sap.sailing.gwt.ui.shared.general.EventLinkAndMetadataDTO;
import com.sap.sse.gwt.client.controls.carousel.WidgetCarousel;
public class Stage extends Composite {
interface StageUiBinder extends UiBinder<Widget, Stage> {
}
private static StageUiBinder uiBinder = GWT.create(StageUiBinder.class);
private List<StageTeaser> stageTeaserComposites;
@UiField
WidgetCarousel widgetCarousel;
@UiField DivElement stageContainer;
@UiField WidgetCarousel widgetCarousel;
private StageTeaser stageTeaser;
private final MobilePlacesNavigator placeNavigator;
interface StageUiBinder extends UiBinder<Widget, Stage> {
}
private static StageUiBinder uiBinder = GWT.create(StageUiBinder.class);
public Stage(MobilePlacesNavigator placeNavigator) {
public Stage(MobilePlacesNavigator placeNavigator, boolean showDots) {
this.placeNavigator = placeNavigator;
StageResources.INSTANCE.css().ensureInjected();
initWidget(uiBinder.createAndBindUi(this));
widgetCarousel.setShowArrows(false);
if (!showDots) stageContainer.getStyle().setHeight(100, Unit.PCT);
widgetCarousel.setShowDots(showDots);
stageTeaserComposites = new ArrayList<StageTeaser>();
}
public void setFeaturedEvents(List<EventStageDTO> list) {
for (EventStageDTO event : list) {
public void setFeaturedEvents(List<? extends EventLinkAndMetadataDTO> list) {
for (EventLinkAndMetadataDTO event : list) {
switch (event.getStageType()) {
case POPULAR:
stageTeaser = new PopularEventStageTeaser(event, placeNavigator);
@@ -54,6 +55,5 @@ public class Stage extends Composite {
widgetCarousel.addWidget(stageTeaser);
stageTeaserComposites.add(stageTeaser);
}
}
}
@@ -11,7 +11,7 @@
<g:HTMLPanel>
<!-- The main stage -->
<div class="{local_res.css.stage}">
<div class="{local_res.css.stage_teasers} {local_res.css.swipercontainer}">
<div class="{local_res.css.stage_teasers} {local_res.css.swipercontainer}" ui:field="stageContainer">
<sse:carousel.WidgetCarousel ui:field="widgetCarousel" />
</div>
<div class="{local_res.css.stage_progress}">
@@ -13,12 +13,13 @@ 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.mobile.partials.countdown.CountdownTicker;
import com.sap.sailing.gwt.ui.shared.start.EventStageDTO;
import com.sap.sailing.gwt.ui.shared.general.EventLinkAndMetadataDTO;
import com.sap.sse.common.TimePoint;
import com.sap.sse.common.impl.MillisecondsTimePoint;
import com.sap.sse.gwt.client.controls.carousel.LazyLoadable;
public abstract class StageTeaser extends Composite implements LazyLoadable {
@UiField
DivElement bandCount;
@UiField
@@ -36,22 +37,20 @@ public abstract class StageTeaser extends Composite implements LazyLoadable {
}
private static StageTeaserUiBinder uiBinder = GWT.create(StageTeaserUiBinder.class);
private final EventStageDTO event;
private final EventLinkAndMetadataDTO event;
@Override
public void doInitializeLazyComponents() {
String stageImageUrl = event.getStageImageURL() != null ? event.getStageImageURL() : StageResources.INSTANCE
String stageImageUrl = event.getThumbnailImageURL() != null ? event.getThumbnailImageURL() : StageResources.INSTANCE
.defaultStageEventTeaserImage().getSafeUri().asString();
String backgroundImage = "url(" + stageImageUrl + ")";
teaserImage.getStyle().setBackgroundImage(backgroundImage);
}
protected void handleUserAction() {
}
public StageTeaser(EventStageDTO event) {
public StageTeaser(EventLinkAndMetadataDTO event) {
this.event = event;
StageResources.INSTANCE.css().ensureInjected();
@@ -76,10 +75,8 @@ public abstract class StageTeaser extends Composite implements LazyLoadable {
return;
}
handleUserAction();
}
}, ClickEvent.getType());
}
}
@@ -13,7 +13,7 @@ import com.sap.sailing.gwt.home.client.place.event.EventDefaultPlace;
import com.sap.sailing.gwt.home.mobile.app.MobilePlacesNavigator;
import com.sap.sailing.gwt.home.shared.app.PlaceNavigation;
import com.sap.sailing.gwt.home.shared.app.PlaceNavigator;
import com.sap.sailing.gwt.ui.shared.start.EventStageDTO;
import com.sap.sailing.gwt.ui.shared.general.EventLinkAndMetadataDTO;
public abstract class StageTeaserBand extends Composite {
@@ -29,10 +29,10 @@ public abstract class StageTeaserBand extends Composite {
@UiField Anchor actionLink;
private final MobilePlacesNavigator placeNavigator;
private final EventStageDTO event;
private final EventLinkAndMetadataDTO event;
private final PlaceNavigation<EventDefaultPlace> eventNavigation;
public StageTeaserBand(EventStageDTO event, MobilePlacesNavigator placeNavigator) {
public StageTeaserBand(EventLinkAndMetadataDTO event, MobilePlacesNavigator placeNavigator) {
this.event = event;
this.placeNavigator = placeNavigator;
@@ -51,7 +51,7 @@ public abstract class StageTeaserBand extends Composite {
return placeNavigator;
}
public EventStageDTO getEvent() {
public EventLinkAndMetadataDTO getEvent() {
return event;
}
@@ -1,13 +1,13 @@
package com.sap.sailing.gwt.home.mobile.partials.stage;
import com.sap.sailing.gwt.home.mobile.app.MobilePlacesNavigator;
import com.sap.sailing.gwt.ui.shared.start.EventStageDTO;
import com.sap.sailing.gwt.ui.shared.general.EventLinkAndMetadataDTO;
public class UpcomingEventStageTeaser extends StageTeaser {
private final UpcomingEventStageTeaserBand teaserBand;
public UpcomingEventStageTeaser(EventStageDTO event, MobilePlacesNavigator placeNavigator) {
public UpcomingEventStageTeaser(EventLinkAndMetadataDTO event, MobilePlacesNavigator placeNavigator) {
super(event);
title.setInnerText(event.getDisplayName());
@@ -4,7 +4,7 @@ import com.google.gwt.event.dom.client.ClickEvent;
import com.sap.sailing.gwt.common.client.i18n.TextMessages;
import com.sap.sailing.gwt.home.client.shared.EventDatesFormatterUtil;
import com.sap.sailing.gwt.home.mobile.app.MobilePlacesNavigator;
import com.sap.sailing.gwt.ui.shared.start.EventStageDTO;
import com.sap.sailing.gwt.ui.shared.general.EventLinkAndMetadataDTO;
/**
* Teaser band for an upcoming event on the homepage stage
@@ -13,7 +13,7 @@ import com.sap.sailing.gwt.ui.shared.start.EventStageDTO;
*/
public class UpcomingEventStageTeaserBand extends StageTeaserBand {
public UpcomingEventStageTeaserBand(EventStageDTO event, MobilePlacesNavigator placeNavigator) {
public UpcomingEventStageTeaserBand(EventLinkAndMetadataDTO event, MobilePlacesNavigator placeNavigator) {
super(event, placeNavigator);
bandTitle.setInnerText(event.getDisplayName());
@@ -29,7 +29,7 @@ public class StartActivity extends AbstractActivity implements Presenter {
public void start(final AcceptsOneWidget panel, EventBus eventBus) {
Window.setTitle(place.getTitle());
final StartView view = new StartViewImpl(StartActivity.this);
clientFactory.getDispatch().execute(new GetStagedEventsAction(true), new AsyncCallback<ListResult<EventStageDTO>>() {
clientFactory.getDispatch().execute(new GetStagedEventsAction(), new AsyncCallback<ListResult<EventStageDTO>>() {
@Override
public void onFailure(Throwable caught) {
// TODO Auto-generated method stub
@@ -7,7 +7,7 @@ import com.google.gwt.user.client.ui.Widget;
import com.sap.sailing.gwt.home.mobile.app.MobilePlacesNavigator;
import com.sap.sailing.gwt.home.shared.app.PlaceNavigation;
import com.sap.sailing.gwt.ui.shared.dispatch.start.EventQuickfinderDTO;
import com.sap.sailing.gwt.ui.shared.start.EventStageDTO;
import com.sap.sailing.gwt.ui.shared.general.EventLinkAndMetadataDTO;
public interface StartView {
@@ -21,6 +21,6 @@ public interface StartView {
PlaceNavigation<?> getEventNavigation(EventQuickfinderDTO event);
}
void setFeaturedEvents(List<EventStageDTO> list);
void setFeaturedEvents(List<? extends EventLinkAndMetadataDTO> list);
}
@@ -15,8 +15,8 @@ import com.sap.sailing.gwt.home.mobile.partials.stage.Stage;
import com.sap.sailing.gwt.home.shared.app.PlaceNavigation;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.shared.dispatch.start.EventQuickfinderDTO;
import com.sap.sailing.gwt.ui.shared.general.EventLinkAndMetadataDTO;
import com.sap.sailing.gwt.ui.shared.general.EventState;
import com.sap.sailing.gwt.ui.shared.start.EventStageDTO;
public class StartViewImpl extends Composite implements StartView {
private static StartPageViewUiBinder uiBinder = GWT.create(StartPageViewUiBinder.class);
@@ -36,14 +36,14 @@ public class StartViewImpl extends Composite implements StartView {
public StartViewImpl(Presenter presenter) {
this.currentPresenter = presenter;
stage = new Stage(presenter.getNavigator());
stage = new Stage(presenter.getNavigator(), true);
initWidget(uiBinder.createAndBindUi(this));
presenter.getNavigator().getEventsNavigation().configureAnchorElement(showAllEventsUi);
}
@Override
public void setFeaturedEvents(List<EventStageDTO> list) {
public void setFeaturedEvents(List<? extends EventLinkAndMetadataDTO> list) {
stage.setFeaturedEvents(list);
}
@@ -16,33 +16,20 @@ import com.sap.sse.common.Util.Pair;
public class GetStagedEventsAction implements Action<ListResult<EventStageDTO>> {
private boolean useTeaserImage;
protected GetStagedEventsAction() {
}
public GetStagedEventsAction(boolean useTeaserImage) {
this.useTeaserImage = useTeaserImage;
}
@GwtIncompatible
public ListResult<EventStageDTO> execute(final DispatchContext context) throws MalformedURLException {
EventStageCandidateCalculator stageCandidateCalculator = new EventStageCandidateCalculator();
HomeServiceUtil.forAllPublicEvents(context.getRacingEventService(), context.getRequest(), stageCandidateCalculator);
ListResult<EventStageDTO> result = new ListResult<>();
int count = 0;
for(Pair<StageEventType, EventHolder> pair : stageCandidateCalculator.getFeaturedEvents()) {
count++;
if(count > HomeServiceImpl.MAX_STAGE_EVENTS) {
break;
}
StageEventType stageType = pair.getA();
EventHolder holder = pair.getB();
result.addValue(HomeServiceUtil.convertToEventStageDTO(holder.event, holder.baseURL, holder.onRemoteServer, stageType, context.getRacingEventService(), useTeaserImage));
result.addValue(HomeServiceUtil.convertToEventStageDTO(holder.event, holder.baseURL, holder.onRemoteServer, stageType, context.getRacingEventService()));
}
return result;
}
@@ -1,9 +1,15 @@
package com.sap.sailing.gwt.ui.shared.general;
import com.sap.sailing.gwt.ui.shared.start.StageEventType;
public class EventLinkAndMetadataDTO extends EventMetadataDTO {
private String baseURL;
private boolean isOnRemoteServer;
public StageEventType getStageType() {
return getState() == EventState.RUNNING ? StageEventType.RUNNING : StageEventType.POPULAR;
}
public String getBaseURL() {
return baseURL;
@@ -7,6 +7,7 @@ public class EventStageDTO extends EventLinkAndMetadataDTO {
private StageEventType stageType;
private String stageImageURL;
@Override
public StageEventType getStageType() {
return stageType;
}