mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-09-25 06:58:39 +00:00
first step to use only CompetitorDTO instead of mixture of CompetitorDTO and CompetitorWithoutBoatDTO
This commit is contained in:
+2
-2
@@ -7,7 +7,7 @@ import com.sap.sailing.dashboards.gwt.shared.dispatch.DashboardAction;
|
||||
import com.sap.sailing.dashboards.gwt.shared.dispatch.DashboardDispatchContext;
|
||||
import com.sap.sailing.dashboards.gwt.shared.dto.LeaderboardCompetitorsDTO;
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorWithoutBoatDTO;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sailing.domain.leaderboard.Leaderboard;
|
||||
import com.sap.sse.common.impl.MillisecondsTimePoint;
|
||||
import com.sap.sse.gwt.dispatch.shared.exceptions.DispatchException;
|
||||
@@ -34,7 +34,7 @@ public class GetCompetitorInLeaderboardAction implements DashboardAction<Leaderb
|
||||
LeaderboardCompetitorsDTO result = new LeaderboardCompetitorsDTO();
|
||||
Leaderboard lb = dashboardDispatchContext.getRacingEventService().getLeaderboardByName(this.leaderboarName);
|
||||
List<Competitor> competitorsFromBestToWorst = lb.getCompetitorsFromBestToWorst(MillisecondsTimePoint.now());
|
||||
List<CompetitorWithoutBoatDTO> competitorDTOs = dashboardDispatchContext.getRacingEventService().getBaseDomainFactory().getCompetitorWithoutBoatDTOListTemp(competitorsFromBestToWorst);
|
||||
List<CompetitorDTO> competitorDTOs = dashboardDispatchContext.getRacingEventService().getBaseDomainFactory().getCompetitorDTOList(competitorsFromBestToWorst);
|
||||
result.setCompetitors(competitorDTOs);
|
||||
return result;
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
package com.sap.sailing.dashboards.gwt.client.popups.competitorselection;
|
||||
|
||||
import com.sap.sailing.domain.common.dto.CompetitorWithoutBoatDTO;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
|
||||
public interface CompetitorSelectionListener {
|
||||
|
||||
public void didClickOKWithSelectedCompetitor(CompetitorWithoutBoatDTO competitor);
|
||||
public void didClickOKWithSelectedCompetitor(CompetitorDTO competitor);
|
||||
}
|
||||
|
||||
+5
-5
@@ -16,7 +16,7 @@ import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sailing.dashboards.gwt.client.popups.competitorselection.table.CompetitorTable;
|
||||
import com.sap.sailing.dashboards.gwt.client.popups.competitorselection.table.CompetitorTableRowSelectionListener;
|
||||
import com.sap.sailing.dashboards.gwt.client.widgets.ActionPanel;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorWithoutBoatDTO;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
|
||||
public class CompetitorSelectionPopup extends Composite implements HasWidgets, CompetitorTableRowSelectionListener {
|
||||
|
||||
@@ -38,7 +38,7 @@ public class CompetitorSelectionPopup extends Composite implements HasWidgets, C
|
||||
@UiField(provided = true)
|
||||
ActionPanel okButton;
|
||||
|
||||
private CompetitorWithoutBoatDTO currentCompetitorSelected;
|
||||
private CompetitorDTO currentCompetitorSelected;
|
||||
private boolean isVisible;
|
||||
private CompetitorSelectionPopupResources competitorSelectionPopupResources = CompetitorSelectionPopupResources.INSTANCE;
|
||||
|
||||
@@ -63,7 +63,7 @@ public class CompetitorSelectionPopup extends Composite implements HasWidgets, C
|
||||
okButton.getElement().setInnerText("OK");
|
||||
}
|
||||
|
||||
public void show(List<CompetitorWithoutBoatDTO> competitorList) {
|
||||
public void show(List<CompetitorDTO> competitorList) {
|
||||
competitortable.setTableContent(competitorList);
|
||||
RootLayoutPanel.get().add(this);
|
||||
competitorselectionpopup.addStyleName(competitorSelectionPopupResources.gss().popupshow());
|
||||
@@ -88,7 +88,7 @@ public class CompetitorSelectionPopup extends Composite implements HasWidgets, C
|
||||
this.competitorSelectionPopupListener.remove(o);
|
||||
}
|
||||
|
||||
public void notifyListenerAboutOKButtonClickedWithSelectedCompetitorName(CompetitorWithoutBoatDTO competitor) {
|
||||
public void notifyListenerAboutOKButtonClickedWithSelectedCompetitorName(CompetitorDTO competitor) {
|
||||
for (CompetitorSelectionListener newStartAnalysisListener : competitorSelectionPopupListener) {
|
||||
newStartAnalysisListener.didClickOKWithSelectedCompetitor(competitor);
|
||||
}
|
||||
@@ -127,7 +127,7 @@ public class CompetitorSelectionPopup extends Composite implements HasWidgets, C
|
||||
}
|
||||
|
||||
@Override
|
||||
public void didSelectedRowWithCompetitorName(CompetitorWithoutBoatDTO competitor) {
|
||||
public void didSelectedRowWithCompetitorName(CompetitorDTO competitor) {
|
||||
currentCompetitorSelected = competitor;
|
||||
}
|
||||
|
||||
|
||||
+9
-9
@@ -10,46 +10,46 @@ import com.google.gwt.user.cellview.client.TextColumn;
|
||||
import com.google.gwt.user.client.ui.AbsolutePanel;
|
||||
import com.google.gwt.view.client.SelectionChangeEvent;
|
||||
import com.google.gwt.view.client.SingleSelectionModel;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorWithoutBoatDTO;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sse.gwt.client.celltable.BaseCelltable;
|
||||
|
||||
public class CompetitorTable extends AbsolutePanel {
|
||||
|
||||
private CellTable<CompetitorWithoutBoatDTO> table;
|
||||
private CellTable<CompetitorDTO> table;
|
||||
private CompetitorTableRowSelectionListener competitorTableRowSelectionListener;
|
||||
|
||||
public CompetitorTable(CompetitorTableRowSelectionListener competitorTableRowSelectionListener) {
|
||||
this.competitorTableRowSelectionListener = competitorTableRowSelectionListener;
|
||||
}
|
||||
|
||||
public void setTableContent(List<CompetitorWithoutBoatDTO> competitorNames) {
|
||||
public void setTableContent(List<CompetitorDTO> competitorNames) {
|
||||
if (table == null) {
|
||||
initTable(competitorNames);
|
||||
}
|
||||
}
|
||||
|
||||
private void initTable(List<CompetitorWithoutBoatDTO> competitorNames) {
|
||||
private void initTable(List<CompetitorDTO> competitorNames) {
|
||||
CellTable.Resources tableRes = GWT.create(CompetitorTableStyleResource.class);
|
||||
|
||||
table = new BaseCelltable<CompetitorWithoutBoatDTO>(15, tableRes);
|
||||
table = new BaseCelltable<CompetitorDTO>(15, tableRes);
|
||||
table.getElement().getStyle().setWidth(100, Unit.PCT);
|
||||
table.setSkipRowHoverStyleUpdate(true);
|
||||
table.setSkipRowHoverCheck(true);
|
||||
table.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.DISABLED);
|
||||
final SingleSelectionModel<CompetitorWithoutBoatDTO> selectionModel = new SingleSelectionModel<CompetitorWithoutBoatDTO>();
|
||||
final SingleSelectionModel<CompetitorDTO> selectionModel = new SingleSelectionModel<CompetitorDTO>();
|
||||
table.setSelectionModel(selectionModel);
|
||||
selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
|
||||
public void onSelectionChange(SelectionChangeEvent event) {
|
||||
CompetitorWithoutBoatDTO selected = selectionModel.getSelectedObject();
|
||||
CompetitorDTO selected = selectionModel.getSelectedObject();
|
||||
if (selected != null) {
|
||||
competitorTableRowSelectionListener.didSelectedRowWithCompetitorName(selected);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
TextColumn<CompetitorWithoutBoatDTO> competitorNameCollumn = new TextColumn<CompetitorWithoutBoatDTO>() {
|
||||
TextColumn<CompetitorDTO> competitorNameCollumn = new TextColumn<CompetitorDTO>() {
|
||||
@Override
|
||||
public String getValue(CompetitorWithoutBoatDTO competitor) {
|
||||
public String getValue(CompetitorDTO competitor) {
|
||||
return competitor.getName();
|
||||
}
|
||||
};
|
||||
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
package com.sap.sailing.dashboards.gwt.client.popups.competitorselection.table;
|
||||
|
||||
import com.sap.sailing.domain.common.dto.CompetitorWithoutBoatDTO;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
|
||||
public interface CompetitorTableRowSelectionListener {
|
||||
|
||||
public void didSelectedRowWithCompetitorName(CompetitorWithoutBoatDTO competitor);
|
||||
public void didSelectedRowWithCompetitorName(CompetitorDTO competitor);
|
||||
}
|
||||
|
||||
+1
-2
@@ -41,7 +41,6 @@ import com.sap.sailing.dashboards.gwt.shared.dto.LeaderboardCompetitorsDTO;
|
||||
import com.sap.sailing.dashboards.gwt.shared.dto.StartAnalysesDTO;
|
||||
import com.sap.sailing.dashboards.gwt.shared.dto.StartAnalysisDTO;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorWithoutBoatDTO;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.client.shared.racemap.RaceMapResources;
|
||||
|
||||
@@ -241,7 +240,7 @@ public class StartAnalysisWidget extends Composite implements HasWidgets, PollsL
|
||||
competitorSelectionPopup.addListener(new CompetitorSelectionListener() {
|
||||
|
||||
@Override
|
||||
public void didClickOKWithSelectedCompetitor(CompetitorWithoutBoatDTO competitor) {
|
||||
public void didClickOKWithSelectedCompetitor(CompetitorDTO competitor) {
|
||||
if (competitor != null) {
|
||||
Cookies.removeCookie(cookieKeyForSelectedCompetitorInLeaderboard);
|
||||
Cookies.setCookie(cookieKeyForSelectedCompetitorInLeaderboard, competitor.getIdAsString(), new Date(new Date().getTime()+SELECTED_COMPETITOR_ID_COOKIE_KEY_EXPIRE_TIME_IN_MILLIS));
|
||||
|
||||
+4
-4
@@ -2,7 +2,7 @@ package com.sap.sailing.dashboards.gwt.shared.dto;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.sap.sailing.domain.common.dto.CompetitorWithoutBoatDTO;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sse.gwt.dispatch.shared.commands.Result;
|
||||
|
||||
/**
|
||||
@@ -11,15 +11,15 @@ import com.sap.sse.gwt.dispatch.shared.commands.Result;
|
||||
*/
|
||||
public class LeaderboardCompetitorsDTO implements Result {
|
||||
|
||||
private List<CompetitorWithoutBoatDTO> competitors;
|
||||
private List<CompetitorDTO> competitors;
|
||||
|
||||
public LeaderboardCompetitorsDTO() {}
|
||||
|
||||
public List<CompetitorWithoutBoatDTO> getCompetitors() {
|
||||
public List<CompetitorDTO> getCompetitors() {
|
||||
return competitors;
|
||||
}
|
||||
|
||||
public void setCompetitors(List<CompetitorWithoutBoatDTO> competitors) {
|
||||
public void setCompetitors(List<CompetitorDTO> competitors) {
|
||||
this.competitors = competitors;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.sap.sailing.domain.base;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.sap.sailing.domain.base.impl.DomainFactoryImpl;
|
||||
import com.sap.sailing.domain.common.Placemark;
|
||||
@@ -10,7 +11,6 @@ import com.sap.sailing.domain.common.RegattaAndRaceIdentifier;
|
||||
import com.sap.sailing.domain.common.ScoringSchemeType;
|
||||
import com.sap.sailing.domain.common.dto.BoatDTO;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorWithoutBoatDTO;
|
||||
import com.sap.sailing.domain.common.dto.FleetDTO;
|
||||
import com.sap.sailing.domain.common.dto.PlacemarkDTO;
|
||||
import com.sap.sailing.domain.common.dto.RaceDTO;
|
||||
@@ -24,6 +24,7 @@ import com.sap.sailing.domain.tracking.TrackedRace;
|
||||
import com.sap.sailing.domain.tracking.TrackedRegattaRegistry;
|
||||
import com.sap.sse.common.IsManagedByCache;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
import com.sap.sse.common.Util.Pair;
|
||||
import com.sap.sse.util.ObjectInputStreamResolvingAgainstCache;
|
||||
|
||||
public interface DomainFactory extends SharedDomainFactory {
|
||||
@@ -63,8 +64,6 @@ public interface DomainFactory extends SharedDomainFactory {
|
||||
CompetitorDTO convertToCompetitorDTO(Competitor c);
|
||||
|
||||
CompetitorDTO convertToCompetitorDTO(Competitor c, Boat b);
|
||||
|
||||
CompetitorWithoutBoatDTO convertToCompetitorWithoutBoatDTO(Competitor c);
|
||||
|
||||
BoatDTO convertToBoatDTO(Boat boat);
|
||||
|
||||
@@ -77,13 +76,12 @@ public interface DomainFactory extends SharedDomainFactory {
|
||||
|
||||
PlacemarkDTO convertToPlacemarkDTO(Placemark placemark);
|
||||
|
||||
List<CompetitorDTO> getCompetitorDTOList(Iterable<CompetitorWithBoat> competitors);
|
||||
List<CompetitorDTO> getCompetitorDTOList(Map<Competitor, Boat> competitors);
|
||||
|
||||
/** Temporary function -> REMOVE later on */
|
||||
List<CompetitorWithoutBoatDTO> getCompetitorWithoutBoatDTOListTemp(Iterable<Competitor> competitors);
|
||||
|
||||
List<CompetitorDTO> getCompetitorDTOListTemp(Iterable<Competitor> competitors);
|
||||
List<CompetitorDTO> getCompetitorDTOList(Iterable<Competitor> competitors);
|
||||
|
||||
List<CompetitorDTO> getCompetitorDTOList(List<Pair<Competitor, Boat>> competitors);
|
||||
|
||||
TrackedRaceDTO createTrackedRaceDTO(TrackedRace trackedRace);
|
||||
|
||||
TrackedRaceStatisticsDTO createTrackedRaceStatisticsDTO(TrackedRace trackedRace, Leaderboard leaderboard, RaceColumn raceColumn,
|
||||
|
||||
+11
-15
@@ -5,6 +5,8 @@ import java.io.InputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import com.sap.sailing.domain.abstractlog.race.analyzing.impl.RaceLogResolver;
|
||||
@@ -27,7 +29,6 @@ import com.sap.sailing.domain.common.ScoringSchemeType;
|
||||
import com.sap.sailing.domain.common.WindSourceType;
|
||||
import com.sap.sailing.domain.common.dto.BoatDTO;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorWithoutBoatDTO;
|
||||
import com.sap.sailing.domain.common.dto.FleetDTO;
|
||||
import com.sap.sailing.domain.common.dto.PlacemarkDTO;
|
||||
import com.sap.sailing.domain.common.dto.PlacemarkOrderDTO;
|
||||
@@ -70,6 +71,7 @@ import com.sap.sailing.domain.tracking.impl.TrackedRaceImpl;
|
||||
import com.sap.sailing.geocoding.ReverseGeocoder;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
import com.sap.sse.common.Util;
|
||||
import com.sap.sse.common.Util.Pair;
|
||||
import com.sap.sse.common.impl.MillisecondsTimePoint;
|
||||
import com.sap.sse.util.ObjectInputStreamResolvingAgainstCache;
|
||||
|
||||
@@ -159,11 +161,6 @@ public class DomainFactoryImpl extends SharedDomainFactoryImpl implements Domain
|
||||
return competitorAndBoatStore.convertToCompetitorDTO(c);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CompetitorWithoutBoatDTO convertToCompetitorWithoutBoatDTO(Competitor c) {
|
||||
return competitorAndBoatStore.convertToCompetitorWithoutBoatDTO(c);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BoatDTO convertToBoatDTO(Boat boat) {
|
||||
return competitorAndBoatStore.convertToBoatDTO(boat);
|
||||
@@ -367,16 +364,16 @@ public class DomainFactoryImpl extends SharedDomainFactoryImpl implements Domain
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CompetitorDTO> getCompetitorDTOList(Iterable<CompetitorWithBoat> competitors) {
|
||||
public List<CompetitorDTO> getCompetitorDTOList(Map<Competitor, Boat> competitors) {
|
||||
List<CompetitorDTO> result = new ArrayList<CompetitorDTO>();
|
||||
for (CompetitorWithBoat competitor : competitors) {
|
||||
result.add(convertToCompetitorDTO(competitor));
|
||||
for (Entry<Competitor, Boat> competitorAndBoatEntry : competitors.entrySet()) {
|
||||
result.add(convertToCompetitorDTO(competitorAndBoatEntry.getKey(), competitorAndBoatEntry.getValue()));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CompetitorDTO> getCompetitorDTOListTemp(Iterable<Competitor> competitors) {
|
||||
public List<CompetitorDTO> getCompetitorDTOList(Iterable<Competitor> competitors) {
|
||||
List<CompetitorDTO> result = new ArrayList<CompetitorDTO>();
|
||||
for (Competitor competitor : competitors) {
|
||||
result.add(convertToCompetitorDTO(competitor));
|
||||
@@ -384,11 +381,10 @@ public class DomainFactoryImpl extends SharedDomainFactoryImpl implements Domain
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CompetitorWithoutBoatDTO> getCompetitorWithoutBoatDTOListTemp(Iterable<Competitor> competitors) {
|
||||
List<CompetitorWithoutBoatDTO> result = new ArrayList<CompetitorWithoutBoatDTO>();
|
||||
for (Competitor competitor : competitors) {
|
||||
result.add(convertToCompetitorWithoutBoatDTO(competitor));
|
||||
public List<CompetitorDTO> getCompetitorDTOList(List<Pair<Competitor, Boat>> competitors) {
|
||||
List<CompetitorDTO> result = new ArrayList<CompetitorDTO>();
|
||||
for (Pair<Competitor, Boat> competitorAndBoat : competitors) {
|
||||
result.add(convertToCompetitorDTO(competitorAndBoat.getA(), competitorAndBoat.getB()));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
+19
-2
@@ -25,6 +25,7 @@ import java.util.logging.Logger;
|
||||
|
||||
import com.sap.sailing.domain.abstractlog.race.InvalidatesLeaderboardCache;
|
||||
import com.sap.sailing.domain.abstractlog.race.RaceLogEvent;
|
||||
import com.sap.sailing.domain.base.Boat;
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.base.Course;
|
||||
import com.sap.sailing.domain.base.DomainFactory;
|
||||
@@ -78,6 +79,7 @@ import com.sap.sailing.domain.tracking.impl.AbstractRaceChangeListener;
|
||||
import com.sap.sse.common.Duration;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
import com.sap.sse.common.Util;
|
||||
import com.sap.sse.common.Util.Pair;
|
||||
import com.sap.sse.util.ThreadPoolUtil;
|
||||
import com.sap.sse.util.impl.FutureTaskWithTracingGet;
|
||||
|
||||
@@ -389,8 +391,23 @@ public abstract class AbstractLeaderboardWithCache implements Leaderboard {
|
||||
raceColumn instanceof RaceColumnInSeries ? ((RaceColumnInSeries) raceColumn).getSeries().getName() : null,
|
||||
fleetDTO, raceColumn.isMedalRace(), raceIdentifier, race, isMetaLeaderboardColumn);
|
||||
}
|
||||
Future<List<CompetitorDTO>> task = executor.submit(
|
||||
() -> baseDomainFactory.getCompetitorDTOListTemp(AbstractLeaderboardWithCache.this.getCompetitorsFromBestToWorst(raceColumn, timePoint)));
|
||||
Future<List<CompetitorDTO>> task = executor.submit(new Callable<List<CompetitorDTO>>() {
|
||||
public List<CompetitorDTO> call() throws NoWindException {
|
||||
Iterable<Competitor> competitorsFromBestToWorst = AbstractLeaderboardWithCache.this.getCompetitorsFromBestToWorst(raceColumn, timePoint);
|
||||
List<Pair<Competitor, Boat>> orderedeCompetitorsWithBoats = new ArrayList<>();
|
||||
Map<Competitor, Boat> allCompetitorsAndTheirBoats = raceColumn.getAllCompetitorsAndTheirBoats();
|
||||
for (Competitor c: competitorsFromBestToWorst) {
|
||||
Boat boat = null;
|
||||
if (!isMetaLeaderboardColumn) {
|
||||
boat = allCompetitorsAndTheirBoats.get(c);
|
||||
}
|
||||
orderedeCompetitorsWithBoats.add(new Pair<Competitor, Boat>(c, boat));
|
||||
}
|
||||
return baseDomainFactory.getCompetitorDTOList(orderedeCompetitorsWithBoats);
|
||||
}
|
||||
});
|
||||
// Future<List<CompetitorDTO>> task = executor.submit(
|
||||
// () -> baseDomainFactory.getCompetitorDTOList(AbstractLeaderboardWithCache.this.getCompetitorsFromBestToWorst(raceColumn, timePoint)));
|
||||
competitorsFromBestToWorstTasks.put(raceColumn, task);
|
||||
}
|
||||
// wait for the competitor orderings to have been computed for all race columns before continuing; subsequent tasks may depend on these data
|
||||
|
||||
Reference in New Issue
Block a user