diff --git a/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/client/actions/GetCompetitorInLeaderboardAction.java b/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/client/actions/GetCompetitorInLeaderboardAction.java index 00b89b38845..0e5da39fdc6 100644 --- a/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/client/actions/GetCompetitorInLeaderboardAction.java +++ b/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/client/actions/GetCompetitorInLeaderboardAction.java @@ -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.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; 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 competitorsFromBestToWorst = lb.getCompetitorsFromBestToWorst(MillisecondsTimePoint.now()); - List competitorDTOs = dashboardDispatchContext.getRacingEventService().getBaseDomainFactory().getCompetitorDTOList(competitorsFromBestToWorst); + List competitorDTOs = dashboardDispatchContext.getRacingEventService().getBaseDomainFactory().getCompetitorDTOList(competitorsFromBestToWorst); result.setCompetitors(competitorDTOs); return result; } diff --git a/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/client/popups/competitorselection/CompetitorSelectionListener.java b/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/client/popups/competitorselection/CompetitorSelectionListener.java index b4ec20fdf25..d09a013adad 100644 --- a/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/client/popups/competitorselection/CompetitorSelectionListener.java +++ b/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/client/popups/competitorselection/CompetitorSelectionListener.java @@ -1,8 +1,8 @@ package com.sap.sailing.dashboards.gwt.client.popups.competitorselection; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; public interface CompetitorSelectionListener { - public void didClickOKWithSelectedCompetitor(CompetitorDTO competitor); + public void didClickOKWithSelectedCompetitor(CompetitorWithBoatDTO competitor); } diff --git a/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/client/popups/competitorselection/CompetitorSelectionPopup.java b/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/client/popups/competitorselection/CompetitorSelectionPopup.java index 743eb998187..0f39f6724c8 100644 --- a/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/client/popups/competitorselection/CompetitorSelectionPopup.java +++ b/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/client/popups/competitorselection/CompetitorSelectionPopup.java @@ -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.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; 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 CompetitorDTO currentCompetitorSelected; + private CompetitorWithBoatDTO 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 competitorList) { + public void show(List 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(CompetitorDTO competitor) { + public void notifyListenerAboutOKButtonClickedWithSelectedCompetitorName(CompetitorWithBoatDTO competitor) { for (CompetitorSelectionListener newStartAnalysisListener : competitorSelectionPopupListener) { newStartAnalysisListener.didClickOKWithSelectedCompetitor(competitor); } @@ -127,7 +127,7 @@ public class CompetitorSelectionPopup extends Composite implements HasWidgets, C } @Override - public void didSelectedRowWithCompetitorName(CompetitorDTO competitor) { + public void didSelectedRowWithCompetitorName(CompetitorWithBoatDTO competitor) { currentCompetitorSelected = competitor; } diff --git a/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/client/popups/competitorselection/table/CompetitorTable.java b/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/client/popups/competitorselection/table/CompetitorTable.java index 56ae2e648c1..f000b1f68f9 100644 --- a/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/client/popups/competitorselection/table/CompetitorTable.java +++ b/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/client/popups/competitorselection/table/CompetitorTable.java @@ -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.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sse.gwt.client.celltable.BaseCelltable; public class CompetitorTable extends AbsolutePanel { - private CellTable table; + private CellTable table; private CompetitorTableRowSelectionListener competitorTableRowSelectionListener; public CompetitorTable(CompetitorTableRowSelectionListener competitorTableRowSelectionListener) { this.competitorTableRowSelectionListener = competitorTableRowSelectionListener; } - public void setTableContent(List competitorNames) { + public void setTableContent(List competitorNames) { if (table == null) { initTable(competitorNames); } } - private void initTable(List competitorNames) { + private void initTable(List competitorNames) { CellTable.Resources tableRes = GWT.create(CompetitorTableStyleResource.class); - table = new BaseCelltable(15, tableRes); + table = new BaseCelltable(15, tableRes); table.getElement().getStyle().setWidth(100, Unit.PCT); table.setSkipRowHoverStyleUpdate(true); table.setSkipRowHoverCheck(true); table.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.DISABLED); - final SingleSelectionModel selectionModel = new SingleSelectionModel(); + final SingleSelectionModel selectionModel = new SingleSelectionModel(); table.setSelectionModel(selectionModel); selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() { public void onSelectionChange(SelectionChangeEvent event) { - CompetitorDTO selected = selectionModel.getSelectedObject(); + CompetitorWithBoatDTO selected = selectionModel.getSelectedObject(); if (selected != null) { competitorTableRowSelectionListener.didSelectedRowWithCompetitorName(selected); } } }); - TextColumn competitorNameCollumn = new TextColumn() { + TextColumn competitorNameCollumn = new TextColumn() { @Override - public String getValue(CompetitorDTO competitor) { + public String getValue(CompetitorWithBoatDTO competitor) { return competitor.getName(); } }; diff --git a/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/client/popups/competitorselection/table/CompetitorTableRowSelectionListener.java b/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/client/popups/competitorselection/table/CompetitorTableRowSelectionListener.java index 3087d8745b4..b0dad07ee3a 100644 --- a/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/client/popups/competitorselection/table/CompetitorTableRowSelectionListener.java +++ b/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/client/popups/competitorselection/table/CompetitorTableRowSelectionListener.java @@ -1,8 +1,8 @@ package com.sap.sailing.dashboards.gwt.client.popups.competitorselection.table; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; public interface CompetitorTableRowSelectionListener { - public void didSelectedRowWithCompetitorName(CompetitorDTO competitor); + public void didSelectedRowWithCompetitorName(CompetitorWithBoatDTO competitor); } diff --git a/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/client/widgets/startanalysis/StartAnalysisWidget.java b/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/client/widgets/startanalysis/StartAnalysisWidget.java index b808797b761..e866e290961 100644 --- a/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/client/widgets/startanalysis/StartAnalysisWidget.java +++ b/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/client/widgets/startanalysis/StartAnalysisWidget.java @@ -40,7 +40,7 @@ import com.sap.sailing.dashboards.gwt.shared.DashboardURLParameters; 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.CompetitorWithBoatDTO; import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sailing.gwt.ui.client.shared.racemap.RaceMapResources; @@ -240,7 +240,7 @@ public class StartAnalysisWidget extends Composite implements HasWidgets, PollsL competitorSelectionPopup.addListener(new CompetitorSelectionListener() { @Override - public void didClickOKWithSelectedCompetitor(CompetitorDTO competitor) { + public void didClickOKWithSelectedCompetitor(CompetitorWithBoatDTO 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)); @@ -421,7 +421,7 @@ public class StartAnalysisWidget extends Composite implements HasWidgets, PollsL private String getCompetitorIdAsStringFromFirstDisplayedStartAnalysis() { String result = null; if (starts != null && starts.size() > 0) { - CompetitorDTO competitor = starts.get(0).competitor; + CompetitorWithBoatDTO competitor = starts.get(0).competitor; if (competitor != null) result = starts.get(0).competitor.getIdAsString(); } diff --git a/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/client/widgets/startanalysis/card/StartAnalysisCard.java b/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/client/widgets/startanalysis/card/StartAnalysisCard.java index e8aa94cfe14..e77052ae87b 100644 --- a/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/client/widgets/startanalysis/card/StartAnalysisCard.java +++ b/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/client/widgets/startanalysis/card/StartAnalysisCard.java @@ -24,8 +24,6 @@ import com.sap.sailing.dashboards.gwt.client.widgets.startanalysis.rankingtable. import com.sap.sailing.dashboards.gwt.shared.StartlineAdvantageType; import com.sap.sailing.dashboards.gwt.shared.dto.StartAnalysisDTO; import com.sap.sailing.domain.common.racelog.RacingProcedureType; -import com.sap.sailing.gwt.ui.client.CompetitorColorProvider; -import com.sap.sailing.gwt.ui.client.CompetitorColorProviderImpl; import com.sap.sailing.gwt.ui.client.RaceCompetitorSelectionModel; import com.sap.sailing.gwt.ui.client.RaceTimesInfoProvider; import com.sap.sailing.gwt.ui.client.SailingServiceAsync; @@ -75,7 +73,6 @@ public class StartAnalysisCard extends Composite implements HasWidgets, StartAna private SailingServiceAsync sailingServiceAsync; private StringMessages stringMessages; private final RaceCompetitorSelectionModel competitorSelectionModel; - private final CompetitorColorProvider colorProvider; private final double WIND_LINE_ADVANTAGE_DIV_WIDTH_IN_PT = 185; private final double GEOMETRIC_LINE_ADVANTAGE_DIV_WIDTH_IN_PT = 210; @@ -87,8 +84,7 @@ public class StartAnalysisCard extends Composite implements HasWidgets, StartAna stringMessages = StringMessages.INSTANCE; this.sailingServiceAsync = sailingServiceAsync; this.raceMapResources = raceMapResources; - colorProvider = new CompetitorColorProviderImpl(); - competitorSelectionModel = new RaceCompetitorSelectionModel(/* hasMultiSelection */true, colorProvider); + competitorSelectionModel = new RaceCompetitorSelectionModel(/* hasMultiSelection */true); competitorSelectionModel.setCompetitors(startAnalysisDTO.getCompetitorDTOsFromStartAnaylsisCompetitorDTOs(), raceMap); initWidget(uiBinder.createAndBindUi(this)); diff --git a/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/shared/dto/LeaderboardCompetitorsDTO.java b/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/shared/dto/LeaderboardCompetitorsDTO.java index f402d3031eb..ab99aac4387 100644 --- a/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/shared/dto/LeaderboardCompetitorsDTO.java +++ b/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/shared/dto/LeaderboardCompetitorsDTO.java @@ -2,7 +2,7 @@ package com.sap.sailing.dashboards.gwt.shared.dto; import java.util.List; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; 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 competitors; + private List competitors; public LeaderboardCompetitorsDTO() {} - public List getCompetitors() { + public List getCompetitors() { return competitors; } - public void setCompetitors(List competitors) { + public void setCompetitors(List competitors) { this.competitors = competitors; } } diff --git a/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/shared/dto/StartAnalysisCompetitorDTO.java b/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/shared/dto/StartAnalysisCompetitorDTO.java index 42c2acd9715..c0c928b6705 100644 --- a/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/shared/dto/StartAnalysisCompetitorDTO.java +++ b/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/shared/dto/StartAnalysisCompetitorDTO.java @@ -2,12 +2,12 @@ package com.sap.sailing.dashboards.gwt.shared.dto; import java.io.Serializable; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; public class StartAnalysisCompetitorDTO implements Serializable{ private static final long serialVersionUID = -4236444628127858568L; - public CompetitorDTO competitorDTO; + public CompetitorWithBoatDTO competitorDTO; public StartAnalysisRankingTableEntryDTO rankingTableEntryDTO; } diff --git a/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/shared/dto/StartAnalysisDTO.java b/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/shared/dto/StartAnalysisDTO.java index 40f25217439..c007eb5fc6d 100644 --- a/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/shared/dto/StartAnalysisDTO.java +++ b/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/shared/dto/StartAnalysisDTO.java @@ -5,7 +5,7 @@ import java.util.ArrayList; import java.util.List; import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.domain.common.racelog.RacingProcedureType; public class StartAnalysisDTO implements Serializable, Comparable { @@ -13,7 +13,7 @@ public class StartAnalysisDTO implements Serializable, Comparable startAnalysisCompetitorDTOs; public long timeOfStartInMilliSeconds; @@ -29,8 +29,8 @@ public class StartAnalysisDTO implements Serializable, Comparable getCompetitorDTOsFromStartAnaylsisCompetitorDTOs() { - List competitorDTOs = new ArrayList(); + public List getCompetitorDTOsFromStartAnaylsisCompetitorDTOs() { + List competitorDTOs = new ArrayList(); for (StartAnalysisCompetitorDTO startAnalysisCompetitorDTO : startAnalysisCompetitorDTOs) { competitorDTOs.add(startAnalysisCompetitorDTO.competitorDTO); } diff --git a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/AbstractLeaderboardDTO.java b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/AbstractLeaderboardDTO.java index 657dc991b86..fbd4e7a6e9a 100755 --- a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/AbstractLeaderboardDTO.java +++ b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/AbstractLeaderboardDTO.java @@ -23,8 +23,8 @@ public abstract class AbstractLeaderboardDTO implements Serializable { public String name; private List races; - public Map competitorDisplayNames; - public Map rows; + public Map competitorDisplayNames; + public Map rows; public boolean hasCarriedPoints; public int[] discardThresholds; @@ -53,7 +53,7 @@ public abstract class AbstractLeaderboardDTO implements Serializable { private void collectBoatClasses(Collection boatClasses) { if (rows != null) { - for (CompetitorDTO competitor : rows.keySet()) { + for (CompetitorWithBoatDTO competitor : rows.keySet()) { boatClasses.add(competitor.getBoatClass()); } } @@ -69,7 +69,7 @@ public abstract class AbstractLeaderboardDTO implements Serializable { return displayName; } - public String getDisplayName(CompetitorDTO competitor) { + public String getDisplayName(CompetitorWithBoatDTO competitor) { if (competitorDisplayNames == null || competitorDisplayNames.get(competitor) == null) { return competitor.getName(); } else { @@ -115,7 +115,7 @@ public abstract class AbstractLeaderboardDTO implements Serializable { * Tells if the competitor scored (and therefore presumably participated) in a medal race represented * in this leaderboard. */ - public boolean scoredInMedalRace(CompetitorDTO competitor) { + public boolean scoredInMedalRace(CompetitorWithBoatDTO competitor) { LeaderboardRowDTO row = rows.get(competitor); for (RaceColumnDTO race : races) { if (race.isMedalRace() && row.fieldsByRaceColumnName.get(race.getRaceColumnName()).netPoints > 0) { @@ -125,7 +125,7 @@ public abstract class AbstractLeaderboardDTO implements Serializable { return false; } - public Double getTotalPoints(CompetitorDTO competitor, String nameOfLastRaceSoFar) { + public Double getTotalPoints(CompetitorWithBoatDTO competitor, String nameOfLastRaceSoFar) { Double totalPoints = null; final LeaderboardRowDTO row = rows.get(competitor); if (row != null) { @@ -431,7 +431,7 @@ public abstract class AbstractLeaderboardDTO implements Serializable { return true; } - public boolean isDisplayNameSet(CompetitorDTO competitor) { + public boolean isDisplayNameSet(CompetitorWithBoatDTO competitor) { return competitorDisplayNames.get(competitor) != null; } diff --git a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/CompetitorDTO.java b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/CompetitorDTO.java old mode 100755 new mode 100644 index 83118be02bf..c52f5f31573 --- a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/CompetitorDTO.java +++ b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/CompetitorDTO.java @@ -1,36 +1,47 @@ package com.sap.sailing.domain.common.dto; +import java.io.Serializable; + +import com.sap.sailing.domain.common.racelog.tracking.MappableToDevice; +import com.sap.sse.common.Color; +import com.sap.sse.common.Duration; + /** - * Equality and hash code are based on the {@link #getIdAsString() ID}, the {@link #getSailID() sail number}, the - * {@link #getBoatClass() boat class} (whose equality and hash code, in turn, depends on its name) and the - * {@link #getThreeLetterIocCountryCode() IOC country code}. Note that the three latter properties are subject - * to change for a competitor while the ID remains unchanged. - * - * @author Axel Uhl (d043530) - * + * Equality and hash code are based on the {@link #getIdAsString() ID} and all contained attributes like name, shortName, email, etc. */ -public interface CompetitorDTO extends CompetitorWithoutBoatDTO { - // TODO bug2822: Should we remove this? - String getSailID(); +public interface CompetitorDTO extends Serializable, MappableToDevice { + + String getTwoLetterIsoCountryCode(); + + String getThreeLetterIocCountryCode(); + + String getCountryName(); + + String getIdAsString(); + + String getSearchTag(); /** - * Returns a derived short information about a competitor depending on the information available - * If we have a short name set on the competitor this name will be returned. - * If no short name exist but a boat the either the sailId or the boat name will returned. - * If all these attributes have no value null is returned. + * If the {@code searchTag} is not contained in {@link #getSearchTag()}, appends it to the search tag, separated by a space character */ - String getShortInfo(); + void addToSearchTag(String searchTag); + + String getName(); - BoatDTO getBoat(); + String getShortName(); - void setBoat(BoatDTO boat); + Color getColor(); + + String getEmail(); + + boolean hasEmail(); - // TODO bug2822: Should we remove this? - BoatClassDTO getBoatClass(); + String getFlagImageURL(); + + String getImageURL(); + + Double getTimeOnTimeFactor(); + + Duration getTimeOnDistanceAllowancePerNauticalMile(); - /** - * A regular instance will simply return this object. A compacted version may compute the result by looking it up - * from the previous version of the enclosing leaderboard. - */ - CompetitorDTO getCompetitorFromPrevious(LeaderboardDTO previousVersion); } diff --git a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/CompetitorDTOImpl.java b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/CompetitorDTOImpl.java old mode 100755 new mode 100644 index aa249733c4d..b6160dd77e8 --- a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/CompetitorDTOImpl.java +++ b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/CompetitorDTOImpl.java @@ -5,36 +5,64 @@ import java.io.Serializable; import com.sap.sse.common.Color; import com.sap.sse.common.Duration; -public class CompetitorDTOImpl extends CompetitorWithoutBoatDTOImpl implements CompetitorDTO, Serializable { - private static final long serialVersionUID = -4997852354821083154L; - private BoatDTO boat; +/** + * Equality and hash code are based on the {@link #getIdAsString() ID}, the {@link #getSailID() sail number}, the + * {@link #getBoatClass() boat class} (whose equality and hash code, in turn, depends on its name) and the + * {@link #getThreeLetterIocCountryCode() IOC country code}. Note that the three latter properties are subject + * to change for a competitor while the ID remains unchanged. + * + * @author Axel Uhl (d043530) + * + */ +public class CompetitorDTOImpl extends NamedDTO implements CompetitorDTO, Serializable { + private static final long serialVersionUID = 3019126418065082622L; + private String countryName; + private String twoLetterIsoCountryCode; + private String threeLetterIocCountryCode; + private Color color; + private String shortName; + private String email; + private String searchTag; + private String idAsString; + private String imageURL; + private String flagImageURL; + private Double timeOnTimeFactor; + private Duration timeOnDistanceAllowancePerNauticalMile; - public CompetitorDTOImpl() { - boat = new BoatDTO(); - } + public CompetitorDTOImpl() {} public CompetitorDTOImpl(String name, String shortName, Color color, String email, String twoLetterIsoCountryCode, String threeLetterIocCountryCode, String countryName, String idAsString, String imageURL, String flagImageURL, - Double timeOnTimeFactor, Duration timeOnDistanceAllowancePerNauticalMile, String searchTag, BoatDTO boat) { - super(name, shortName, color, email, twoLetterIsoCountryCode, threeLetterIocCountryCode, - countryName, idAsString, imageURL, flagImageURL, - timeOnTimeFactor, timeOnDistanceAllowancePerNauticalMile, searchTag); - this.boat = boat; - } - - public CompetitorDTOImpl(CompetitorWithoutBoatDTO c, BoatDTO boat) { - super(c.getName(), c.getShortName(), c.getColor(), c.getEmail(), - c.getTwoLetterIsoCountryCode(), c.getThreeLetterIocCountryCode(), c.getCountryName(), c.getIdAsString(), - c.getImageURL(), c.getFlagImageURL(), c.getTimeOnTimeFactor(), - c.getTimeOnDistanceAllowancePerNauticalMile(), c.getSearchTag()); - this.boat = boat; + Double timeOnTimeFactor, Duration timeOnDistanceAllowancePerNauticalMile, String searchTag) { + super(name); + this.shortName = shortName; + this.color = color; + this.email = email; + this.twoLetterIsoCountryCode = twoLetterIsoCountryCode; + this.threeLetterIocCountryCode = threeLetterIocCountryCode; + this.countryName = countryName; + this.idAsString = idAsString; + this.imageURL = imageURL; + this.flagImageURL = flagImageURL; + this.timeOnTimeFactor = timeOnTimeFactor; + this.timeOnDistanceAllowancePerNauticalMile = timeOnDistanceAllowancePerNauticalMile; + this.searchTag = searchTag; } @Override public int hashCode() { final int prime = 31; int result = super.hashCode(); - result = prime * result + ((boat == null) ? 0 : boat.hashCode()); + result = prime * result + ((idAsString == null) ? 0 : idAsString.hashCode()); + result = prime * result + ((color == null) ? 0 : color.hashCode()); + result = prime * result + ((email == null) ? 0 : email.hashCode()); + result = prime * result + ((shortName == null) ? 0 : shortName.hashCode()); + result = prime * result + ((threeLetterIocCountryCode == null) ? 0 : threeLetterIocCountryCode.hashCode()); + result = prime * result + ((imageURL == null) ? 0 : imageURL.hashCode()); + result = prime * result + ((flagImageURL == null) ? 0 : flagImageURL.hashCode()); + result = prime * result + ((timeOnTimeFactor == null) ? 0 : timeOnTimeFactor.hashCode()); + result = prime * result + ((timeOnDistanceAllowancePerNauticalMile == null) ? 0 : timeOnDistanceAllowancePerNauticalMile.hashCode()); + result = prime * result + ((searchTag == null) ? 0 : searchTag.hashCode()); return result; } @@ -47,47 +75,130 @@ public class CompetitorDTOImpl extends CompetitorWithoutBoatDTOImpl implements C if (getClass() != obj.getClass()) return false; CompetitorDTOImpl other = (CompetitorDTOImpl) obj; - if (boat == null) { - if (other.boat != null) + if (idAsString == null) { + if (other.idAsString != null) return false; - } else if (!boat.equals(other.boat)) + } else if (!idAsString.equals(other.idAsString)) + return false; + if (threeLetterIocCountryCode == null) { + if (other.threeLetterIocCountryCode != null) + return false; + } else if (!threeLetterIocCountryCode.equals(other.threeLetterIocCountryCode)) + return false; + if (color == null) { + if (other.color != null) + return false; + } else if (!color.equals(other.color)) + return false; + if (email == null) { + if (other.email != null) + return false; + } else if (!email.equals(other.email)) + return false; + if (shortName == null) { + if (other.shortName != null) + return false; + } else if (!shortName.equals(other.shortName)) + return false; + if (imageURL == null) { + if (other.imageURL != null) + return false; + } else if (!imageURL.equals(other.imageURL)) + return false; + if (flagImageURL == null) { + if (other.flagImageURL != null) + return false; + } else if (!flagImageURL.equals(other.flagImageURL)) + return false; + if (timeOnTimeFactor == null) { + if (other.timeOnTimeFactor != null) + return false; + } else if (!timeOnTimeFactor.equals(other.timeOnTimeFactor)) + return false; + if (timeOnDistanceAllowancePerNauticalMile == null) { + if (other.timeOnDistanceAllowancePerNauticalMile != null) + return false; + } else if (!timeOnDistanceAllowancePerNauticalMile.equals(other.timeOnDistanceAllowancePerNauticalMile)) + return false; + if (searchTag == null) { + if (other.searchTag != null) + return false; + } else if (!searchTag.equals(other.searchTag)) return false; return true; } @Override - public CompetitorDTO getCompetitorFromPrevious(LeaderboardDTO previousVersion) { - return this; + public String getTwoLetterIsoCountryCode() { + return twoLetterIsoCountryCode; } @Override - public String getShortInfo() { - String result = null; - if (getShortName() != null && !getShortName().trim().isEmpty()) { - result = getShortName(); - } else if (getBoat() != null) { - result = getBoat().getSailId() != null ? getBoat().getSailId() : getBoat().getName(); - } - return result; + public String getThreeLetterIocCountryCode() { + return threeLetterIocCountryCode; } @Override - public String getSailID() { - return boat == null ? null : boat.getSailId(); + public String getCountryName() { + return countryName; + } + + @Override + public String getShortName() { + return shortName; + } + + @Override + public String getImageURL() { + return imageURL; + } + + @Override + public String getFlagImageURL() { + return flagImageURL; + } + + @Override + public String getIdAsString() { + return idAsString; + } + + @Override + public Color getColor() { + return color; + } + + @Override + public String getSearchTag() { + return searchTag; } @Override - public BoatClassDTO getBoatClass() { - return boat == null ? null : boat.getBoatClass(); + public void addToSearchTag(String searchTag) { + if (this.searchTag == null) { + this.searchTag = searchTag; + } else if (!this.searchTag.contains(searchTag)) { + this.searchTag += " "+searchTag; + } } @Override - public void setBoat(BoatDTO boat) { - this.boat = boat; - } + public String getEmail() { + return email; + } + + @Override + public boolean hasEmail() { + return email != null && !email.isEmpty(); + } @Override - public BoatDTO getBoat() { - return boat; - } + public Double getTimeOnTimeFactor() { + return timeOnTimeFactor; + } + + @Override + public Duration getTimeOnDistanceAllowancePerNauticalMile() { + return timeOnDistanceAllowancePerNauticalMile; + } } diff --git a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/CompetitorWithBoatDTO.java b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/CompetitorWithBoatDTO.java new file mode 100755 index 00000000000..2cd202ed0c7 --- /dev/null +++ b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/CompetitorWithBoatDTO.java @@ -0,0 +1,36 @@ +package com.sap.sailing.domain.common.dto; + +/** + * Equality and hash code are based on the {@link #getIdAsString() ID}, the {@link #getSailID() sail number}, the + * {@link #getBoatClass() boat class} (whose equality and hash code, in turn, depends on its name) and the + * {@link #getThreeLetterIocCountryCode() IOC country code}. Note that the three latter properties are subject + * to change for a competitor while the ID remains unchanged. + * + * @author Axel Uhl (d043530) + * + */ +public interface CompetitorWithBoatDTO extends CompetitorDTO { + // TODO bug2822: Should we remove this? + String getSailID(); + + /** + * Returns a derived short information about a competitor depending on the information available + * If we have a short name set on the competitor this name will be returned. + * If no short name exist but a boat the either the sailId or the boat name will returned. + * If all these attributes have no value null is returned. + */ + String getShortInfo(); + + BoatDTO getBoat(); + + void setBoat(BoatDTO boat); + + // TODO bug2822: Should we remove this? + BoatClassDTO getBoatClass(); + + /** + * A regular instance will simply return this object. A compacted version may compute the result by looking it up + * from the previous version of the enclosing leaderboard. + */ + CompetitorWithBoatDTO getCompetitorFromPrevious(LeaderboardDTO previousVersion); +} diff --git a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/CompetitorWithBoatDTOImpl.java b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/CompetitorWithBoatDTOImpl.java new file mode 100755 index 00000000000..42ed8621d84 --- /dev/null +++ b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/CompetitorWithBoatDTOImpl.java @@ -0,0 +1,93 @@ +package com.sap.sailing.domain.common.dto; + +import java.io.Serializable; + +import com.sap.sse.common.Color; +import com.sap.sse.common.Duration; + +public class CompetitorWithBoatDTOImpl extends CompetitorDTOImpl implements CompetitorWithBoatDTO, Serializable { + private static final long serialVersionUID = -4997852354821083154L; + private BoatDTO boat; + + public CompetitorWithBoatDTOImpl() { + boat = new BoatDTO(); + } + + public CompetitorWithBoatDTOImpl(String name, String shortName, Color color, String email, String twoLetterIsoCountryCode, String threeLetterIocCountryCode, + String countryName, String idAsString, String imageURL, String flagImageURL, + Double timeOnTimeFactor, Duration timeOnDistanceAllowancePerNauticalMile, String searchTag, BoatDTO boat) { + super(name, shortName, color, email, twoLetterIsoCountryCode, threeLetterIocCountryCode, + countryName, idAsString, imageURL, flagImageURL, + timeOnTimeFactor, timeOnDistanceAllowancePerNauticalMile, searchTag); + this.boat = boat; + } + + public CompetitorWithBoatDTOImpl(CompetitorDTO c, BoatDTO boat) { + super(c.getName(), c.getShortName(), c.getColor(), c.getEmail(), + c.getTwoLetterIsoCountryCode(), c.getThreeLetterIocCountryCode(), c.getCountryName(), c.getIdAsString(), + c.getImageURL(), c.getFlagImageURL(), c.getTimeOnTimeFactor(), + c.getTimeOnDistanceAllowancePerNauticalMile(), c.getSearchTag()); + this.boat = boat; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = super.hashCode(); + result = prime * result + ((boat == null) ? 0 : boat.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (!super.equals(obj)) + return false; + if (getClass() != obj.getClass()) + return false; + CompetitorWithBoatDTOImpl other = (CompetitorWithBoatDTOImpl) obj; + if (boat == null) { + if (other.boat != null) + return false; + } else if (!boat.equals(other.boat)) + return false; + return true; + } + + @Override + public CompetitorWithBoatDTO getCompetitorFromPrevious(LeaderboardDTO previousVersion) { + return this; + } + + @Override + public String getShortInfo() { + String result = null; + if (getShortName() != null && !getShortName().trim().isEmpty()) { + result = getShortName(); + } else if (getBoat() != null) { + result = getBoat().getSailId() != null ? getBoat().getSailId() : getBoat().getName(); + } + return result; + } + + @Override + public String getSailID() { + return boat == null ? null : boat.getSailId(); + } + + @Override + public BoatClassDTO getBoatClass() { + return boat == null ? null : boat.getBoatClass(); + } + + @Override + public void setBoat(BoatDTO boat) { + this.boat = boat; + } + + @Override + public BoatDTO getBoat() { + return boat; + } +} diff --git a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/CompetitorWithToolTipDTO.java b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/CompetitorWithToolTipDTO.java index e4f2cf6da06..cf44fae4af6 100644 --- a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/CompetitorWithToolTipDTO.java +++ b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/CompetitorWithToolTipDTO.java @@ -4,18 +4,18 @@ import java.util.Objects; public class CompetitorWithToolTipDTO { - private CompetitorDTO competitor; + private CompetitorWithBoatDTO competitor; private String toolTipMessage; public CompetitorWithToolTipDTO() { } - public CompetitorWithToolTipDTO(CompetitorDTO competitor, String toolTipMessage) { + public CompetitorWithToolTipDTO(CompetitorWithBoatDTO competitor, String toolTipMessage) { this.competitor = competitor; this.toolTipMessage = toolTipMessage; } - public CompetitorDTO getCompetitor() { + public CompetitorWithBoatDTO getCompetitor() { return competitor; } diff --git a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/CompetitorWithoutBoatDTO.java b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/CompetitorWithoutBoatDTO.java deleted file mode 100644 index b1f3adfc5d9..00000000000 --- a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/CompetitorWithoutBoatDTO.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.sap.sailing.domain.common.dto; - -import java.io.Serializable; - -import com.sap.sailing.domain.common.racelog.tracking.MappableToDevice; -import com.sap.sse.common.Color; -import com.sap.sse.common.Duration; - -/** - * Equality and hash code are based on the {@link #getIdAsString() ID} and all contained attributes like name, shortName, email, etc. - */ -public interface CompetitorWithoutBoatDTO extends Serializable, MappableToDevice { - - String getTwoLetterIsoCountryCode(); - - String getThreeLetterIocCountryCode(); - - String getCountryName(); - - String getIdAsString(); - - String getSearchTag(); - - /** - * If the {@code searchTag} is not contained in {@link #getSearchTag()}, appends it to the search tag, separated by a space character - */ - void addToSearchTag(String searchTag); - - String getName(); - - String getShortName(); - - Color getColor(); - - String getEmail(); - - boolean hasEmail(); - - String getFlagImageURL(); - - String getImageURL(); - - Double getTimeOnTimeFactor(); - - Duration getTimeOnDistanceAllowancePerNauticalMile(); - -} diff --git a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/CompetitorWithoutBoatDTOImpl.java b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/CompetitorWithoutBoatDTOImpl.java deleted file mode 100644 index 601b4631d76..00000000000 --- a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/CompetitorWithoutBoatDTOImpl.java +++ /dev/null @@ -1,204 +0,0 @@ -package com.sap.sailing.domain.common.dto; - -import java.io.Serializable; - -import com.sap.sse.common.Color; -import com.sap.sse.common.Duration; - -/** - * Equality and hash code are based on the {@link #getIdAsString() ID}, the {@link #getSailID() sail number}, the - * {@link #getBoatClass() boat class} (whose equality and hash code, in turn, depends on its name) and the - * {@link #getThreeLetterIocCountryCode() IOC country code}. Note that the three latter properties are subject - * to change for a competitor while the ID remains unchanged. - * - * @author Axel Uhl (d043530) - * - */ -public class CompetitorWithoutBoatDTOImpl extends NamedDTO implements CompetitorWithoutBoatDTO, Serializable { - private static final long serialVersionUID = 3019126418065082622L; - private String countryName; - private String twoLetterIsoCountryCode; - private String threeLetterIocCountryCode; - private Color color; - private String shortName; - private String email; - private String searchTag; - private String idAsString; - private String imageURL; - private String flagImageURL; - private Double timeOnTimeFactor; - private Duration timeOnDistanceAllowancePerNauticalMile; - - public CompetitorWithoutBoatDTOImpl() {} - - public CompetitorWithoutBoatDTOImpl(String name, String shortName, Color color, String email, String twoLetterIsoCountryCode, String threeLetterIocCountryCode, - String countryName, String idAsString, String imageURL, String flagImageURL, - Double timeOnTimeFactor, Duration timeOnDistanceAllowancePerNauticalMile, String searchTag) { - super(name); - this.shortName = shortName; - this.color = color; - this.email = email; - this.twoLetterIsoCountryCode = twoLetterIsoCountryCode; - this.threeLetterIocCountryCode = threeLetterIocCountryCode; - this.countryName = countryName; - this.idAsString = idAsString; - this.imageURL = imageURL; - this.flagImageURL = flagImageURL; - this.timeOnTimeFactor = timeOnTimeFactor; - this.timeOnDistanceAllowancePerNauticalMile = timeOnDistanceAllowancePerNauticalMile; - this.searchTag = searchTag; - } - - @Override - public int hashCode() { - final int prime = 31; - int result = super.hashCode(); - result = prime * result + ((idAsString == null) ? 0 : idAsString.hashCode()); - result = prime * result + ((color == null) ? 0 : color.hashCode()); - result = prime * result + ((email == null) ? 0 : email.hashCode()); - result = prime * result + ((shortName == null) ? 0 : shortName.hashCode()); - result = prime * result + ((threeLetterIocCountryCode == null) ? 0 : threeLetterIocCountryCode.hashCode()); - result = prime * result + ((imageURL == null) ? 0 : imageURL.hashCode()); - result = prime * result + ((flagImageURL == null) ? 0 : flagImageURL.hashCode()); - result = prime * result + ((timeOnTimeFactor == null) ? 0 : timeOnTimeFactor.hashCode()); - result = prime * result + ((timeOnDistanceAllowancePerNauticalMile == null) ? 0 : timeOnDistanceAllowancePerNauticalMile.hashCode()); - result = prime * result + ((searchTag == null) ? 0 : searchTag.hashCode()); - return result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (!super.equals(obj)) - return false; - if (getClass() != obj.getClass()) - return false; - CompetitorWithoutBoatDTOImpl other = (CompetitorWithoutBoatDTOImpl) obj; - if (idAsString == null) { - if (other.idAsString != null) - return false; - } else if (!idAsString.equals(other.idAsString)) - return false; - if (threeLetterIocCountryCode == null) { - if (other.threeLetterIocCountryCode != null) - return false; - } else if (!threeLetterIocCountryCode.equals(other.threeLetterIocCountryCode)) - return false; - if (color == null) { - if (other.color != null) - return false; - } else if (!color.equals(other.color)) - return false; - if (email == null) { - if (other.email != null) - return false; - } else if (!email.equals(other.email)) - return false; - if (shortName == null) { - if (other.shortName != null) - return false; - } else if (!shortName.equals(other.shortName)) - return false; - if (imageURL == null) { - if (other.imageURL != null) - return false; - } else if (!imageURL.equals(other.imageURL)) - return false; - if (flagImageURL == null) { - if (other.flagImageURL != null) - return false; - } else if (!flagImageURL.equals(other.flagImageURL)) - return false; - if (timeOnTimeFactor == null) { - if (other.timeOnTimeFactor != null) - return false; - } else if (!timeOnTimeFactor.equals(other.timeOnTimeFactor)) - return false; - if (timeOnDistanceAllowancePerNauticalMile == null) { - if (other.timeOnDistanceAllowancePerNauticalMile != null) - return false; - } else if (!timeOnDistanceAllowancePerNauticalMile.equals(other.timeOnDistanceAllowancePerNauticalMile)) - return false; - if (searchTag == null) { - if (other.searchTag != null) - return false; - } else if (!searchTag.equals(other.searchTag)) - return false; - return true; - } - - @Override - public String getTwoLetterIsoCountryCode() { - return twoLetterIsoCountryCode; - } - - @Override - public String getThreeLetterIocCountryCode() { - return threeLetterIocCountryCode; - } - - @Override - public String getCountryName() { - return countryName; - } - - @Override - public String getShortName() { - return shortName; - } - - @Override - public String getImageURL() { - return imageURL; - } - - @Override - public String getFlagImageURL() { - return flagImageURL; - } - - @Override - public String getIdAsString() { - return idAsString; - } - - @Override - public Color getColor() { - return color; - } - - @Override - public String getSearchTag() { - return searchTag; - } - - @Override - public void addToSearchTag(String searchTag) { - if (this.searchTag == null) { - this.searchTag = searchTag; - } else if (!this.searchTag.contains(searchTag)) { - this.searchTag += " "+searchTag; - } - } - - @Override - public String getEmail() { - return email; - } - - @Override - public boolean hasEmail() { - return email != null && !email.isEmpty(); - } - - @Override - public Double getTimeOnTimeFactor() { - return timeOnTimeFactor; - } - - @Override - public Duration getTimeOnDistanceAllowancePerNauticalMile() { - return timeOnDistanceAllowancePerNauticalMile; - } -} diff --git a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/IncrementalLeaderboardDTO.java b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/IncrementalLeaderboardDTO.java index 935b3f52ef8..e8fd3b495bb 100755 --- a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/IncrementalLeaderboardDTO.java +++ b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/IncrementalLeaderboardDTO.java @@ -40,8 +40,8 @@ public class IncrementalLeaderboardDTO extends LeaderboardDTO implements Increme /** * If null, {@link #competitors} is filled and must not be touched; otherwise, the size of the array tells the new size - * of {@link #competitors}, and for each index it either tells the index of the {@link CompetitorDTO} object to use in the previous - * leaderboard's {@link #competitors} list, or holds -1, meaning that the next {@link CompetitorDTO} object is to be used from + * of {@link #competitors}, and for each index it either tells the index of the {@link CompetitorWithBoatDTO} object to use in the previous + * leaderboard's {@link #competitors} list, or holds -1, meaning that the next {@link CompetitorWithBoatDTO} object is to be used from * {@link #addedCompetitors} which only needs to hold a valid collection if at least one new competitor exists. */ private int[] competitorIndexesInPreviousCompetitorsList; @@ -50,7 +50,7 @@ public class IncrementalLeaderboardDTO extends LeaderboardDTO implements Increme * The "uncompacted" original competitors that were added. There is no need to try to compact these because they haven't existed * in the previous leaderboard and therefore need to be transmitted in their entirety. */ - private List addedCompetitors; + private List addedCompetitors; private boolean suppressedCompetitorsUnchanged; private boolean competitorDisplayNamesUnchanged; @@ -160,14 +160,14 @@ public class IncrementalLeaderboardDTO extends LeaderboardDTO implements Increme * Creates a bit set that is large enough to hold the bit for the index of competitor in the previous leaderboard's competitors * list and sets the bit for that competitor. */ - private long[] createBitSet(CompetitorDTO competitor) { + private long[] createBitSet(CompetitorWithBoatDTO competitor) { final int indexOfCompetitor = previousLeaderboard.competitors.indexOf(competitor); long[] result = new long[1+indexOfCompetitor/Long.SIZE]; result[indexOfCompetitor/Long.SIZE] = 1l << (indexOfCompetitor%Long.SIZE); return result; } - private int getIndexOfCompetitor(CompetitorDTO competitor) { + private int getIndexOfCompetitor(CompetitorWithBoatDTO competitor) { return previousLeaderboard.competitors.indexOf(competitor); } @@ -179,7 +179,7 @@ public class IncrementalLeaderboardDTO extends LeaderboardDTO implements Increme * @param previousVersion * needed because after serialization/deserialization, the transient {@link #previousLeaderboard} * will be null. - * @return a map whose keys are the {@link CompetitorDTO#getIdAsString()} of the competitors for which the value + * @return a map whose keys are the {@link CompetitorWithBoatDTO#getIdAsString()} of the competitors for which the value * tells the set of keys that are unchanged */ public Map> getAllUnchangedCompetitorIdsAsStringAndKeys(LeaderboardDTO previousVersion) { @@ -188,7 +188,7 @@ public class IncrementalLeaderboardDTO extends LeaderboardDTO implements Increme final long[] bitset = raceColumnNameAndBitSet.getValue(); if (bitset == null) { // this means that all entries for the column are unchanged for all competitors - for (CompetitorDTO competitor : previousVersion.competitors) { + for (CompetitorWithBoatDTO competitor : previousVersion.competitors) { Util.add(result, competitor.getIdAsString(), raceColumnNameAndBitSet.getKey()); } } else { @@ -219,7 +219,7 @@ public class IncrementalLeaderboardDTO extends LeaderboardDTO implements Increme * @param competitor * a competitor that already existed in the previous version of the leaderboard */ - public void unchanged(CompetitorDTO competitor, K key) { + public void unchanged(CompetitorWithBoatDTO competitor, K key) { assert getIndexOfCompetitor(competitor) >= 0; long[] bitset = getUnchangedBitset(key); if (bitset == null) { @@ -258,7 +258,7 @@ public class IncrementalLeaderboardDTO extends LeaderboardDTO implements Increme /** * A specialized, bit set-based structure for marking leg details that haven't changed. The key is a composite of * the race column name and the zero-based leg index. If null is used for the leg index in a call to - * {@link #unchanged(CompetitorDTO, Object)}, this means that all leg details in that race were unchanged for the + * {@link #unchanged(CompetitorWithBoatDTO, Object)}, this means that all leg details in that race were unchanged for the * competitor, e.g., because they were null both in the old and new version. * * @author Axel Uhl (d043530) @@ -331,8 +331,8 @@ public class IncrementalLeaderboardDTO extends LeaderboardDTO implements Increme // other than strings when there is a map or set to be implemented that has a lot of strain on the // put / add / contains methods. For this, we use the competitor's getIdAsString() result that // identifies them reasonably well. - final Map competitorsOfPreviousVersionByIdAsString = new HashMap<>(); - for (final CompetitorDTO c : previousVersion.competitors) { + final Map competitorsOfPreviousVersionByIdAsString = new HashMap<>(); + for (final CompetitorWithBoatDTO c : previousVersion.competitors) { competitorsOfPreviousVersionByIdAsString.put(c.getIdAsString(), c); } if (this.updatedFromPreviousVersionWithId != null) { @@ -363,8 +363,8 @@ public class IncrementalLeaderboardDTO extends LeaderboardDTO implements Increme this.regattaName = previousVersion.regattaName; } if (this.competitorIndexesInPreviousCompetitorsList != null) { - this.competitors = new ArrayList(competitorIndexesInPreviousCompetitorsList.length); - Iterator addedCompetitorsIter = null; + this.competitors = new ArrayList(competitorIndexesInPreviousCompetitorsList.length); + Iterator addedCompetitorsIter = null; for (int i=0; i suppressedCompetitors = new ArrayList(); + List suppressedCompetitors = new ArrayList(); if (suppressedCompetitorsUnchanged) { Util.addAll(previousVersion.getSuppressedCompetitors(), suppressedCompetitors); } else { - for (CompetitorDTO compactSuppressedCompetitor : getSuppressedCompetitors()) { + for (CompetitorWithBoatDTO compactSuppressedCompetitor : getSuppressedCompetitors()) { suppressedCompetitors.add(compactSuppressedCompetitor.getCompetitorFromPrevious(previousVersion)); } } @@ -388,8 +388,8 @@ public class IncrementalLeaderboardDTO extends LeaderboardDTO implements Increme if (competitorDisplayNamesUnchanged) { competitorDisplayNames = previousVersion.competitorDisplayNames; } else { - Map expandedCompetitorDisplayNames = new HashMap(); - for (Map.Entry e : competitorDisplayNames.entrySet()) { + Map expandedCompetitorDisplayNames = new HashMap(); + for (Map.Entry e : competitorDisplayNames.entrySet()) { expandedCompetitorDisplayNames.put(e.getKey().getCompetitorFromPrevious(previousVersion), e.getValue()); } competitorDisplayNames = expandedCompetitorDisplayNames; @@ -409,17 +409,17 @@ public class IncrementalLeaderboardDTO extends LeaderboardDTO implements Increme } // expand all other ordered competitor lists for all races where it changed for (String columnNameForWhichToExpandCompetitorOrderingPerRace : columnNamesForWhichToExpandCompetitorOrderingPerRace) { - List competitorsFromBestToWorstForRace = getCompetitorsFromBestToWorst(columnNameForWhichToExpandCompetitorOrderingPerRace); + List competitorsFromBestToWorstForRace = getCompetitorsFromBestToWorst(columnNameForWhichToExpandCompetitorOrderingPerRace); for (int i=competitorsFromBestToWorstForRace.size()-1; i>=0; i--) { competitorsFromBestToWorstForRace.set(i, competitorsFromBestToWorstForRace.get(i).getCompetitorFromPrevious(previousVersion)); } } if (rows == null) { - rows = new HashMap(); + rows = new HashMap(); } // expand all keys and remove values from compact keys and re-enter with expanded keys; expand their competitor field - for (CompetitorDTO compactCompetitor : new ArrayList(rows.keySet())) { - final CompetitorDTO expandedCompetitor = compactCompetitor.getCompetitorFromPrevious(previousVersion); + for (CompetitorWithBoatDTO compactCompetitor : new ArrayList(rows.keySet())) { + final CompetitorWithBoatDTO expandedCompetitor = compactCompetitor.getCompetitorFromPrevious(previousVersion); final LeaderboardRowDTO row = rows.remove(compactCompetitor); row.competitor = expandedCompetitor; rows.put(expandedCompetitor, row); @@ -428,7 +428,7 @@ public class IncrementalLeaderboardDTO extends LeaderboardDTO implements Increme if (rowsUnchanged != null) { for (Entry> rowUnchanged : rowsUnchanged.getAllUnchangedCompetitorIdsAsStringAndKeys(previousVersion).entrySet()) { rowsUnchangedForCompetitorsWithIdAsString.add(rowUnchanged.getKey()); - final CompetitorDTO previousCompetitor = competitorsOfPreviousVersionByIdAsString.get(rowUnchanged.getKey()); + final CompetitorWithBoatDTO previousCompetitor = competitorsOfPreviousVersionByIdAsString.get(rowUnchanged.getKey()); rows.put(previousCompetitor, previousVersion.rows.get(previousCompetitor)); } } @@ -437,7 +437,7 @@ public class IncrementalLeaderboardDTO extends LeaderboardDTO implements Increme unchangedLeaderboardEntries.getAllUnchangedCompetitorIdsAsStringAndKeys(previousVersion); if (unchangedLeaderboardEntries != null) { for (Entry> competitorAndColumnNames : allUnchangedLeaderboardEntriesAsCompetitorIdsAsStringAndColumnNames.entrySet()) { - CompetitorDTO previousCompetitor = competitorsOfPreviousVersionByIdAsString.get(competitorAndColumnNames.getKey()); + CompetitorWithBoatDTO previousCompetitor = competitorsOfPreviousVersionByIdAsString.get(competitorAndColumnNames.getKey()); for (final String columnName : competitorAndColumnNames.getValue()) { if (!rowsUnchangedForCompetitorsWithIdAsString.contains(competitorAndColumnNames.getKey())) { // only care if not the entire row was marked unchanged LeaderboardEntryDTO previousEntry = previousVersion.rows.get(previousCompetitor).fieldsByRaceColumnName.get(columnName); @@ -452,7 +452,7 @@ public class IncrementalLeaderboardDTO extends LeaderboardDTO implements Increme if (legDetailsUnchanged != null) { for (Entry>> competitorInPreviosAndColumnNameAndLegDetailsIndex : legDetailsUnchanged.getAllUnchangedCompetitorIdsAsStringAndKeys(previousVersion).entrySet()) { - CompetitorDTO previousCompetitor = competitorsOfPreviousVersionByIdAsString.get(competitorInPreviosAndColumnNameAndLegDetailsIndex.getKey()); + CompetitorWithBoatDTO previousCompetitor = competitorsOfPreviousVersionByIdAsString.get(competitorInPreviosAndColumnNameAndLegDetailsIndex.getKey()); for (final Pair columnNameAndLegDetailsIndex : competitorInPreviosAndColumnNameAndLegDetailsIndex.getValue()) { final String raceColumnName = columnNameAndLegDetailsIndex.getA(); // if it's already clear that the entire LeaderboardEntryDTO was unchanged, the entry in legDetailsUnchanged was @@ -526,19 +526,19 @@ public class IncrementalLeaderboardDTO extends LeaderboardDTO implements Increme // for this stripping run, remembers the mapping of real CompetitorDTO objects to the compact form that only holds an int as reference to the // previous version's competitors list; those will be used to replace the real CompetitorDTO objects where possible and will be replaced the other // way in applyThisToPreviousVersionByUpdatingThis(...). - Map compactCompetitorMap = new HashMap(); + Map compactCompetitorMap = new HashMap(); int i=0; - for (CompetitorDTO competitor : competitors) { + for (CompetitorWithBoatDTO competitor : competitors) { int indexInPrevious = previousVersion.competitors.indexOf(competitor); competitorIndexesInPreviousCompetitorsList[i++] = indexInPrevious; if (indexInPrevious == -1) { if (addedCompetitors == null) { - addedCompetitors = new ArrayList(); + addedCompetitors = new ArrayList(); } addedCompetitors.add(competitor); compactCompetitorMap.put(competitor, competitor); } else { - CompetitorDTO compactReplacementCompetitor = new PreviousCompetitorDTOImpl(indexInPrevious); + CompetitorWithBoatDTO compactReplacementCompetitor = new PreviousCompetitorDTOImpl(indexInPrevious); compactCompetitorMap.put(competitor, compactReplacementCompetitor); } } @@ -547,12 +547,12 @@ public class IncrementalLeaderboardDTO extends LeaderboardDTO implements Increme suppressedCompetitorsUnchanged = true; setSuppressedCompetitors(null); } else { - List compactSuppressedCompetitors = new ArrayList(); - for (CompetitorDTO suppressedCompetitor : getSuppressedCompetitors()) { + List compactSuppressedCompetitors = new ArrayList(); + for (CompetitorWithBoatDTO suppressedCompetitor : getSuppressedCompetitors()) { final int indexOfSuppressedCompetitorInPreviousSuppressed = Util.indexOf(previousVersion.getSuppressedCompetitors(), suppressedCompetitor); if (indexOfSuppressedCompetitorInPreviousSuppressed == -1) { // not found in previous version's suppressed competitors; maybe it just transitioned from non-suppressed to suppressed - final CompetitorDTO compactedFromPreviousCompetitors = compactCompetitorMap.get(suppressedCompetitor); + final CompetitorWithBoatDTO compactedFromPreviousCompetitors = compactCompetitorMap.get(suppressedCompetitor); if (compactedFromPreviousCompetitors != null) { compactSuppressedCompetitors.add(compactedFromPreviousCompetitors); } else { @@ -569,24 +569,24 @@ public class IncrementalLeaderboardDTO extends LeaderboardDTO implements Increme competitorDisplayNamesUnchanged = true; competitorDisplayNames = null; } else { - Map compactCompetitorDisplayNames = new HashMap(); - for (Map.Entry e : competitorDisplayNames.entrySet()) { + Map compactCompetitorDisplayNames = new HashMap(); + for (Map.Entry e : competitorDisplayNames.entrySet()) { compactCompetitorDisplayNames.put(compactCompetitorMap.get(e.getKey()), e.getValue()); } competitorDisplayNames = compactCompetitorDisplayNames; } raceColumnNamesForWhichCompetitorOrderingPerRaceUnchanged = new HashSet(); - final HashMap> competitorOrderingPerRaceColumnName = new HashMap>(getCompetitorOrderingPerRaceColumnName()); + final HashMap> competitorOrderingPerRaceColumnName = new HashMap>(getCompetitorOrderingPerRaceColumnName()); for (RaceColumnDTO raceColumn : this.getRaceList()) { - List competitorsFromBestToWorstForRaceColumn = getCompetitorsFromBestToWorst(raceColumn.getName()); - List previousCompetitorsFromBestToWorstForRaceColumn = previousVersion.getCompetitorsFromBestToWorst(raceColumn.getName()); + List competitorsFromBestToWorstForRaceColumn = getCompetitorsFromBestToWorst(raceColumn.getName()); + List previousCompetitorsFromBestToWorstForRaceColumn = previousVersion.getCompetitorsFromBestToWorst(raceColumn.getName()); if (Util.equalsWithNull(competitorsFromBestToWorstForRaceColumn, previousCompetitorsFromBestToWorstForRaceColumn)) { raceColumnNamesForWhichCompetitorOrderingPerRaceUnchanged.add(raceColumn.getName()); competitorOrderingPerRaceColumnName.remove(raceColumn.getName()); } else { // try at least partial compaction - List compactedCompetitorsFromBestToWorstForRaceColumn = new ArrayList(); - for (CompetitorDTO competitor : competitorsFromBestToWorstForRaceColumn) { + List compactedCompetitorsFromBestToWorstForRaceColumn = new ArrayList(); + for (CompetitorWithBoatDTO competitor : competitorsFromBestToWorstForRaceColumn) { compactedCompetitorsFromBestToWorstForRaceColumn.add(compactCompetitorMap.get(competitor)); } competitorOrderingPerRaceColumnName.put(raceColumn.getName(), compactedCompetitorsFromBestToWorstForRaceColumn); @@ -594,8 +594,8 @@ public class IncrementalLeaderboardDTO extends LeaderboardDTO implements Increme } setCompetitorOrderingPerRace(competitorOrderingPerRaceColumnName); // now clone the rows map to enable stripping the LeaderboardEntryDTOs inside - HashMap newRows = new HashMap(); - for (Map.Entry competitorAndRow : rows.entrySet()) { + HashMap newRows = new HashMap(); + for (Map.Entry competitorAndRow : rows.entrySet()) { LeaderboardRowDTO previousRowDTO = previousVersion.rows.get(competitorAndRow.getKey()); if (Util.equalsWithNull(competitorAndRow.getValue(), previousRowDTO) // can only compress for competitors that existed in the previous version @@ -605,7 +605,7 @@ public class IncrementalLeaderboardDTO extends LeaderboardDTO implements Increme } else { LeaderboardRowDTO newRowDTO = new LeaderboardRowDTO(); cloner.clone(competitorAndRow.getValue(), newRowDTO); - CompetitorDTO compactCompetitor = compactCompetitorMap.get(competitorAndRow.getKey()); + CompetitorWithBoatDTO compactCompetitor = compactCompetitorMap.get(competitorAndRow.getKey()); newRowDTO.competitor = compactCompetitor; newRows.put(compactCompetitor, newRowDTO); HashMap newFieldsByRaceColumnName = new HashMap(); @@ -700,7 +700,7 @@ public class IncrementalLeaderboardDTO extends LeaderboardDTO implements Increme * @param competitor * a competitor that already exists in previousVersion.competitors */ - private void entireRowUnchanged(LeaderboardDTO previousVersion, CompetitorDTO competitor) { + private void entireRowUnchanged(LeaderboardDTO previousVersion, CompetitorWithBoatDTO competitor) { assert previousVersion.competitors.contains(competitor); if (rowsUnchanged == null) { rowsUnchanged = new UnchangedWithCompetitorsInBitSet(previousVersion, rows.size()); diff --git a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/LeaderboardDTO.java b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/LeaderboardDTO.java index ef18169ceb9..0f15ff712df 100644 --- a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/LeaderboardDTO.java +++ b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/LeaderboardDTO.java @@ -33,14 +33,14 @@ public class LeaderboardDTO extends AbstractLeaderboardDTO implements Serializab /** * The competitor list, ordered ascending by total rank, suppressed competitors removed */ - public List competitors; + public List competitors; /** * A list with set semantics; no duplicates are allowed. */ - private List suppressedCompetitors; + private List suppressedCompetitors; - private Map> competitorOrderingPerRaceColumnName; + private Map> competitorOrderingPerRaceColumnName; /** * The validity time point for which this leaderboard DTO was requested (not to be confused with @@ -81,8 +81,8 @@ public class LeaderboardDTO extends AbstractLeaderboardDTO implements Serializab } private void initCollections() { - competitorOrderingPerRaceColumnName = new HashMap>(); - this.suppressedCompetitors = new ArrayList(); + competitorOrderingPerRaceColumnName = new HashMap>(); + this.suppressedCompetitors = new ArrayList(); } protected LeaderboardDTO(String id) { @@ -94,18 +94,18 @@ public class LeaderboardDTO extends AbstractLeaderboardDTO implements Serializab return id; } - public Iterable getSuppressedCompetitors() { + public Iterable getSuppressedCompetitors() { return suppressedCompetitors; } /** * @param suppressedCompetitors must not contain any duplicates ("set" semantics) */ - public void setSuppressedCompetitors(List suppressedCompetitors) { + public void setSuppressedCompetitors(List suppressedCompetitors) { this.suppressedCompetitors = suppressedCompetitors; } - public void setSuppressed(CompetitorDTO competitor, boolean suppressed) { + public void setSuppressed(CompetitorWithBoatDTO competitor, boolean suppressed) { if (suppressed && !suppressedCompetitors.contains(competitor)) { suppressedCompetitors.add(competitor); } else { @@ -117,7 +117,7 @@ public class LeaderboardDTO extends AbstractLeaderboardDTO implements Serializab return higherScoresIsBetter; } - public BoatDTO getBoatOfCompetitor(String raceColumnName, CompetitorDTO competitor) { + public BoatDTO getBoatOfCompetitor(String raceColumnName, CompetitorWithBoatDTO competitor) { BoatDTO result = null; if (rows != null) { LeaderboardRowDTO leaderboardRow = rows.get(competitor); @@ -135,7 +135,7 @@ public class LeaderboardDTO extends AbstractLeaderboardDTO implements Serializab return result; } - public void setBoatOfCompetitor(CompetitorDTO competitor, BoatDTO boat) { + public void setBoatOfCompetitor(CompetitorWithBoatDTO competitor, BoatDTO boat) { if (rows != null && this.canBoatsOfCompetitorsChangePerRace == false) { LeaderboardRowDTO leaderboardRowDTO = rows.get(competitor); if (leaderboardRowDTO != null) { @@ -144,7 +144,7 @@ public class LeaderboardDTO extends AbstractLeaderboardDTO implements Serializab } } - public void setBoatOfCompetitorForRace(String raceColumnName, CompetitorDTO competitor, BoatDTO boat) { + public void setBoatOfCompetitorForRace(String raceColumnName, CompetitorWithBoatDTO competitor, BoatDTO boat) { if (rows != null && this.canBoatsOfCompetitorsChangePerRace == true) { LeaderboardRowDTO leaderboardRow = rows.get(competitor); if (leaderboardRow != null) { @@ -156,31 +156,31 @@ public class LeaderboardDTO extends AbstractLeaderboardDTO implements Serializab } } - public void setCompetitorsFromBestToWorst(String raceColumnName, List orderedCompetitors) { + public void setCompetitorsFromBestToWorst(String raceColumnName, List orderedCompetitors) { competitorOrderingPerRaceColumnName.put(raceColumnName, orderedCompetitors); } - public void setCompetitorsFromBestToWorst(RaceColumnDTO raceColumn, List newOrdering) { + public void setCompetitorsFromBestToWorst(RaceColumnDTO raceColumn, List newOrdering) { setCompetitorsFromBestToWorst(raceColumn.getName(), newOrdering); } - public void setCompetitorOrderingPerRace(Map> competitorOrderingPerRaceColumnName) { + public void setCompetitorOrderingPerRace(Map> competitorOrderingPerRaceColumnName) { this.competitorOrderingPerRaceColumnName = competitorOrderingPerRaceColumnName; } - public Map> getCompetitorOrderingPerRaceColumnName() { + public Map> getCompetitorOrderingPerRaceColumnName() { return competitorOrderingPerRaceColumnName; } - public List getCompetitorsFromBestToWorst(String raceColumnName) { + public List getCompetitorsFromBestToWorst(String raceColumnName) { return competitorOrderingPerRaceColumnName.get(raceColumnName); } - public List getCompetitorsFromBestToWorst(RaceColumnDTO raceColumn) { + public List getCompetitorsFromBestToWorst(RaceColumnDTO raceColumn) { return competitorOrderingPerRaceColumnName.get(raceColumn.getName()); } - public int getTotalRank(CompetitorDTO competitor) { + public int getTotalRank(CompetitorWithBoatDTO competitor) { return competitors.indexOf(competitor) + 1; }; diff --git a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/LeaderboardRowDTO.java b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/LeaderboardRowDTO.java index e9f22db5586..a860572a810 100755 --- a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/LeaderboardRowDTO.java +++ b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/LeaderboardRowDTO.java @@ -15,7 +15,7 @@ import com.sap.sse.common.Duration; */ public class LeaderboardRowDTO implements Serializable { private static final long serialVersionUID = -5421934148931661900L; - public CompetitorDTO competitor; + public CompetitorWithBoatDTO competitor; public BoatDTO boat; public Map fieldsByRaceColumnName; public Double carriedPoints; diff --git a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/PairingListDTO.java b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/PairingListDTO.java index 46f82a6aa2b..c2751f2106e 100644 --- a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/PairingListDTO.java +++ b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/PairingListDTO.java @@ -9,28 +9,28 @@ import com.sap.sse.common.Util.Pair; public class PairingListDTO implements Serializable { private static final long serialVersionUID = 102220422437194196L; - private List>>> pairingList; + private List>>> pairingList; private List raceColumnNames; public PairingListDTO() { } - public PairingListDTO(List>>> result) { + public PairingListDTO(List>>> result) { this(result, null); } - public PairingListDTO(List>>> result, List raceColumnNames) { + public PairingListDTO(List>>> result, List raceColumnNames) { this.pairingList = result; this.raceColumnNames = raceColumnNames; } - public List>>> getPairingList() { + public List>>> getPairingList() { return pairingList; } public List getBoats() { List boats = new ArrayList<>(); - for (List> fleet : this.pairingList.get(0)) { - for (Pair competitorAndBoatPair : fleet) { + for (List> fleet : this.pairingList.get(0)) { + for (Pair competitorAndBoatPair : fleet) { if (!boats.contains(competitorAndBoatPair.getB())) { boats.add(competitorAndBoatPair.getB()); } diff --git a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/PreviousCompetitorDTOImpl.java b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/PreviousCompetitorDTOImpl.java index a220d771cf6..ceb88478fe1 100755 --- a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/PreviousCompetitorDTOImpl.java +++ b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/PreviousCompetitorDTOImpl.java @@ -9,7 +9,7 @@ import com.sap.sse.common.Duration; * @author Axel Uhl (d043530) * */ -public class PreviousCompetitorDTOImpl implements CompetitorDTO { +public class PreviousCompetitorDTOImpl implements CompetitorWithBoatDTO { private static final long serialVersionUID = 8820028699103040805L; private int indexInPreviousCompetitorList; @@ -49,125 +49,125 @@ public class PreviousCompetitorDTOImpl implements CompetitorDTO { @Override public String getTwoLetterIsoCountryCode() { throw new RuntimeException("Internal error. Objects of type "+PreviousCompetitorDTOImpl.class.getName()+ - " need to be replaced by an object of "+CompetitorDTOImpl.class.getName()+" after deserialization"); + " need to be replaced by an object of "+CompetitorWithBoatDTOImpl.class.getName()+" after deserialization"); } @Override public String getThreeLetterIocCountryCode() { throw new RuntimeException("Internal error. Objects of type "+PreviousCompetitorDTOImpl.class.getName()+ - " need to be replaced by an object of "+CompetitorDTOImpl.class.getName()+" after deserialization"); + " need to be replaced by an object of "+CompetitorWithBoatDTOImpl.class.getName()+" after deserialization"); } @Override public String getCountryName() { throw new RuntimeException("Internal error. Objects of type "+PreviousCompetitorDTOImpl.class.getName()+ - " need to be replaced by an object of "+CompetitorDTOImpl.class.getName()+" after deserialization"); + " need to be replaced by an object of "+CompetitorWithBoatDTOImpl.class.getName()+" after deserialization"); } @Override public String getShortName() { throw new RuntimeException("Internal error. Objects of type "+PreviousCompetitorDTOImpl.class.getName()+ - " need to be replaced by an object of "+CompetitorDTOImpl.class.getName()+" after deserialization"); + " need to be replaced by an object of "+CompetitorWithBoatDTOImpl.class.getName()+" after deserialization"); } @Override public String getShortInfo() { throw new RuntimeException("Internal error. Objects of type "+PreviousCompetitorDTOImpl.class.getName()+ - " need to be replaced by an object of "+CompetitorDTOImpl.class.getName()+" after deserialization"); + " need to be replaced by an object of "+CompetitorWithBoatDTOImpl.class.getName()+" after deserialization"); } @Override public String getSailID() { throw new RuntimeException("Internal error. Objects of type "+PreviousCompetitorDTOImpl.class.getName()+ - " need to be replaced by an object of "+CompetitorDTOImpl.class.getName()+" after deserialization"); + " need to be replaced by an object of "+CompetitorWithBoatDTOImpl.class.getName()+" after deserialization"); } @Override public BoatDTO getBoat() { throw new RuntimeException("Internal error. Objects of type "+PreviousCompetitorDTOImpl.class.getName()+ - " need to be replaced by an object of "+CompetitorDTOImpl.class.getName()+" after deserialization"); + " need to be replaced by an object of "+CompetitorWithBoatDTOImpl.class.getName()+" after deserialization"); } @Override public void setBoat(BoatDTO boat) { throw new RuntimeException("Internal error. Objects of type "+PreviousCompetitorDTOImpl.class.getName()+ - " need to be replaced by an object of "+CompetitorDTOImpl.class.getName()+" after deserialization"); + " need to be replaced by an object of "+CompetitorWithBoatDTOImpl.class.getName()+" after deserialization"); } @Override public Color getColor() { throw new RuntimeException("Internal error. Objects of type "+PreviousCompetitorDTOImpl.class.getName()+ - " need to be replaced by an object of "+CompetitorDTOImpl.class.getName()+" after deserialization"); + " need to be replaced by an object of "+CompetitorWithBoatDTOImpl.class.getName()+" after deserialization"); } @Override public String getIdAsString() { throw new RuntimeException("Internal error. Objects of type "+PreviousCompetitorDTOImpl.class.getName()+ - " need to be replaced by an object of "+CompetitorDTOImpl.class.getName()+" after deserialization"); + " need to be replaced by an object of "+CompetitorWithBoatDTOImpl.class.getName()+" after deserialization"); } @Override public BoatClassDTO getBoatClass() { throw new RuntimeException("Internal error. Objects of type "+PreviousCompetitorDTOImpl.class.getName()+ - " need to be replaced by an object of "+CompetitorDTOImpl.class.getName()+" after deserialization"); + " need to be replaced by an object of "+CompetitorWithBoatDTOImpl.class.getName()+" after deserialization"); } @Override public String getName() { throw new RuntimeException("Internal error. Objects of type "+PreviousCompetitorDTOImpl.class.getName()+ - " need to be replaced by an object of "+CompetitorDTOImpl.class.getName()+" after deserialization"); + " need to be replaced by an object of "+CompetitorWithBoatDTOImpl.class.getName()+" after deserialization"); } @Override public String getEmail() { throw new RuntimeException("Internal error. Objects of type "+PreviousCompetitorDTOImpl.class.getName()+ - " need to be replaced by an object of "+CompetitorDTOImpl.class.getName()+" after deserialization"); + " need to be replaced by an object of "+CompetitorWithBoatDTOImpl.class.getName()+" after deserialization"); } @Override public String getSearchTag() { throw new RuntimeException("Internal error. Objects of type "+PreviousCompetitorDTOImpl.class.getName()+ - " need to be replaced by an object of "+CompetitorDTOImpl.class.getName()+" after deserialization"); + " need to be replaced by an object of "+CompetitorWithBoatDTOImpl.class.getName()+" after deserialization"); } @Override public void addToSearchTag(String searchTag) { throw new RuntimeException("Internal error. Objects of type "+PreviousCompetitorDTOImpl.class.getName()+ - " need to be replaced by an object of "+CompetitorDTOImpl.class.getName()+" after deserialization"); + " need to be replaced by an object of "+CompetitorWithBoatDTOImpl.class.getName()+" after deserialization"); } @Override public String getImageURL() { throw new RuntimeException("Internal error. Objects of type "+PreviousCompetitorDTOImpl.class.getName()+ - " need to be replaced by an object of "+CompetitorDTOImpl.class.getName()+" after deserialization"); + " need to be replaced by an object of "+CompetitorWithBoatDTOImpl.class.getName()+" after deserialization"); } @Override public String getFlagImageURL() { throw new RuntimeException("Internal error. Objects of type "+PreviousCompetitorDTOImpl.class.getName()+ - " need to be replaced by an object of "+CompetitorDTOImpl.class.getName()+" after deserialization"); + " need to be replaced by an object of "+CompetitorWithBoatDTOImpl.class.getName()+" after deserialization"); } @Override public boolean hasEmail() { throw new RuntimeException("Internal error. Objects of type "+PreviousCompetitorDTOImpl.class.getName()+ - " need to be replaced by an object of "+CompetitorDTOImpl.class.getName()+" after deserialization"); + " need to be replaced by an object of "+CompetitorWithBoatDTOImpl.class.getName()+" after deserialization"); } @Override public Double getTimeOnTimeFactor() { throw new RuntimeException("Internal error. Objects of type "+PreviousCompetitorDTOImpl.class.getName()+ - " need to be replaced by an object of "+CompetitorDTOImpl.class.getName()+" after deserialization"); + " need to be replaced by an object of "+CompetitorWithBoatDTOImpl.class.getName()+" after deserialization"); } @Override public Duration getTimeOnDistanceAllowancePerNauticalMile() { throw new RuntimeException("Internal error. Objects of type "+PreviousCompetitorDTOImpl.class.getName()+ - " need to be replaced by an object of "+CompetitorDTOImpl.class.getName()+" after deserialization"); + " need to be replaced by an object of "+CompetitorWithBoatDTOImpl.class.getName()+" after deserialization"); } @Override - public CompetitorDTO getCompetitorFromPrevious(LeaderboardDTO previousVersion) { + public CompetitorWithBoatDTO getCompetitorFromPrevious(LeaderboardDTO previousVersion) { return previousVersion.competitors.get(indexInPreviousCompetitorList); } } \ No newline at end of file diff --git a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/PreviousSuppressedCompetitorDTOImpl.java b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/PreviousSuppressedCompetitorDTOImpl.java index 4d1fdbf97d0..dedeb12c36d 100755 --- a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/PreviousSuppressedCompetitorDTOImpl.java +++ b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/PreviousSuppressedCompetitorDTOImpl.java @@ -21,7 +21,7 @@ public class PreviousSuppressedCompetitorDTOImpl extends PreviousCompetitorDTOIm } @Override - public CompetitorDTO getCompetitorFromPrevious(LeaderboardDTO previousVersion) { + public CompetitorWithBoatDTO getCompetitorFromPrevious(LeaderboardDTO previousVersion) { return Util.get(previousVersion.getSuppressedCompetitors(), getIndexInPreviousCompetitorList()); } } diff --git a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/TrackedRaceStatisticsDTO.java b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/TrackedRaceStatisticsDTO.java index 852e97b3f90..7dc444c860d 100644 --- a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/TrackedRaceStatisticsDTO.java +++ b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/dto/TrackedRaceStatisticsDTO.java @@ -23,7 +23,7 @@ public class TrackedRaceStatisticsDTO implements Serializable { public Integer totalLegsCount; public Integer currentLegNo; - public CompetitorDTO leaderOrWinner; + public CompetitorWithBoatDTO leaderOrWinner; /** * Default constructor for GWT-Serialization */ diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/base/CompetitorStore.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/base/CompetitorAndBoatStore.java similarity index 94% rename from java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/base/CompetitorStore.java rename to java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/base/CompetitorAndBoatStore.java index d60d4960678..9715201b1cf 100755 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/base/CompetitorStore.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/base/CompetitorAndBoatStore.java @@ -7,8 +7,8 @@ import java.util.Map; import com.sap.sailing.domain.base.impl.DynamicBoat; import com.sap.sailing.domain.base.impl.DynamicTeam; import com.sap.sailing.domain.common.dto.BoatDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.domain.common.dto.CompetitorDTO; -import com.sap.sailing.domain.common.dto.CompetitorWithoutBoatDTO; import com.sap.sse.common.Color; import com.sap.sse.common.Duration; @@ -19,7 +19,7 @@ import com.sap.sse.common.Duration; * @author Axel Uhl (d043530) * */ -public interface CompetitorStore extends CompetitorFactory, BoatFactory { +public interface CompetitorAndBoatStore extends CompetitorFactory, BoatFactory { public interface CompetitorUpdateListener { void competitorUpdated(Competitor competitor); void competitorCreated(Competitor competitor); @@ -100,13 +100,13 @@ public interface CompetitorStore extends CompetitorFactory, BoatFactory { void addNewCompetitorsWithBoat(Iterable competitorsWithBoat); - CompetitorWithoutBoatDTO convertToCompetitorDTO(Competitor competitor); + CompetitorDTO convertToCompetitorDTO(Competitor competitor); - CompetitorDTO convertToCompetitorWithBoatDTO(Competitor c, Boat b); + CompetitorWithBoatDTO convertToCompetitorWithBoatDTO(Competitor c, Boat b); - CompetitorDTO convertToCompetitorWithOptionalBoatDTO(Competitor c); + CompetitorWithBoatDTO convertToCompetitorWithOptionalBoatDTO(Competitor c); - Map convertToCompetitorAndBoatDTOs(Map competitorsAndBoats); + Map convertToCompetitorAndBoatDTOs(Map competitorsAndBoats); /** * Listeners added here are notified whenever {@link #updateCompetitor(String, String, Color, String, Nationality)} is called diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/base/SharedDomainFactory.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/base/SharedDomainFactory.java index f2c9fa6aeaf..5d69f30f8d6 100755 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/base/SharedDomainFactory.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/base/SharedDomainFactory.java @@ -82,9 +82,9 @@ public interface SharedDomainFactory extends CompetitorFactory, BoatFactory { BoatClass getOrCreateBoatClass(String name); /** - * Gets the {@link CompetitorStore} of this {@link SharedDomainFactory}. + * Gets the {@link CompetitorAndBoatStore} of this {@link SharedDomainFactory}. */ - CompetitorStore getCompetitorStore(); + CompetitorAndBoatStore getCompetitorStore(); /** * If a {@link CourseArea} with the given id already exists, it is returned. Otherwise a new {@link CourseArea} diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/base/impl/SharedDomainFactoryImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/base/impl/SharedDomainFactoryImpl.java index 44bfc9a9b32..259ac4f6d2c 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/base/impl/SharedDomainFactoryImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/base/impl/SharedDomainFactoryImpl.java @@ -19,7 +19,7 @@ import com.sap.sailing.domain.abstractlog.race.analyzing.impl.RaceLogResolver; import com.sap.sailing.domain.base.Boat; import com.sap.sailing.domain.base.BoatClass; import com.sap.sailing.domain.base.Competitor; -import com.sap.sailing.domain.base.CompetitorStore; +import com.sap.sailing.domain.base.CompetitorAndBoatStore; import com.sap.sailing.domain.base.CompetitorWithBoat; import com.sap.sailing.domain.base.ControlPoint; import com.sap.sailing.domain.base.ControlPointWithTwoMarks; @@ -66,7 +66,7 @@ public class SharedDomainFactoryImpl implements SharedDomainFactory { private final Map boatClassCache; - protected final CompetitorStore competitorAndBoatStore; + protected final CompetitorAndBoatStore competitorAndBoatStore; private final Map courseAreaCache; @@ -116,10 +116,10 @@ public class SharedDomainFactoryImpl implements SharedDomainFactory { * Uses a transient competitor store */ public SharedDomainFactoryImpl(RaceLogResolver raceLogResolver) { - this(new TransientCompetitorStoreImpl(), raceLogResolver); + this(new TransientCompetitorAndBoatStoreImpl(), raceLogResolver); } - public SharedDomainFactoryImpl(CompetitorStore competitorStore, RaceLogResolver raceLogResolver) { + public SharedDomainFactoryImpl(CompetitorAndBoatStore competitorStore, RaceLogResolver raceLogResolver) { this.raceLogResolver = raceLogResolver; waypointCacheReferenceQueue = new ReferenceQueue(); nationalityCache = new HashMap(); @@ -333,7 +333,7 @@ public class SharedDomainFactoryImpl implements SharedDomainFactory { } @Override - public CompetitorStore getCompetitorStore() { + public CompetitorAndBoatStore getCompetitorStore() { return competitorAndBoatStore; } diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/base/impl/TransientCompetitorStoreImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/base/impl/TransientCompetitorAndBoatStoreImpl.java similarity index 94% rename from java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/base/impl/TransientCompetitorStoreImpl.java rename to java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/base/impl/TransientCompetitorAndBoatStoreImpl.java index 426ba1433fa..8ca5d9e308f 100755 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/base/impl/TransientCompetitorStoreImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/base/impl/TransientCompetitorAndBoatStoreImpl.java @@ -19,23 +19,23 @@ import java.util.logging.Logger; import com.sap.sailing.domain.base.Boat; import com.sap.sailing.domain.base.BoatClass; import com.sap.sailing.domain.base.Competitor; -import com.sap.sailing.domain.base.CompetitorStore; +import com.sap.sailing.domain.base.CompetitorAndBoatStore; import com.sap.sailing.domain.base.CompetitorWithBoat; import com.sap.sailing.domain.base.Nationality; import com.sap.sailing.domain.common.dto.BoatClassDTO; import com.sap.sailing.domain.common.dto.BoatDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTOImpl; import com.sap.sailing.domain.common.dto.CompetitorDTO; import com.sap.sailing.domain.common.dto.CompetitorDTOImpl; -import com.sap.sailing.domain.common.dto.CompetitorWithoutBoatDTO; -import com.sap.sailing.domain.common.dto.CompetitorWithoutBoatDTOImpl; import com.sap.sse.common.Color; import com.sap.sse.common.CountryCode; import com.sap.sse.common.Duration; import com.sap.sse.concurrent.LockUtil; import com.sap.sse.concurrent.NamedReentrantReadWriteLock; -public class TransientCompetitorStoreImpl implements CompetitorStore, Serializable { - private static final Logger logger = Logger.getLogger(TransientCompetitorStoreImpl.class.getName()); +public class TransientCompetitorAndBoatStoreImpl implements CompetitorAndBoatStore, Serializable { + private static final Logger logger = Logger.getLogger(TransientCompetitorAndBoatStoreImpl.class.getName()); private static final long serialVersionUID = -4198298775476586931L; private final Map competitorCache; @@ -52,7 +52,7 @@ public class TransientCompetitorStoreImpl implements CompetitorStore, Serializab */ private final Set competitorsToUpdateDuringGetOrCreate; - private transient WeakHashMap weakCompetitorDTOCache; + private transient WeakHashMap weakCompetitorDTOCache; private final Set boatsToUpdateDuringGetOrCreate; @@ -60,26 +60,26 @@ public class TransientCompetitorStoreImpl implements CompetitorStore, Serializab private final NamedReentrantReadWriteLock lock; - public TransientCompetitorStoreImpl() { + public TransientCompetitorAndBoatStoreImpl() { lock = new NamedReentrantReadWriteLock("CompetitorStore", /* fair */ false); competitorCache = new HashMap(); competitorsByIdAsString = new HashMap(); competitorsToUpdateDuringGetOrCreate = new HashSet(); - weakCompetitorDTOCache = new WeakHashMap(); - competitorUpdateListeners = Collections.synchronizedSet(new HashSet()); + weakCompetitorDTOCache = new WeakHashMap(); + competitorUpdateListeners = Collections.synchronizedSet(new HashSet()); boatCache = new HashMap(); boatsByIdAsString = new HashMap(); boatsToUpdateDuringGetOrCreate = new HashSet(); weakBoatDTOCache = new WeakHashMap(); - boatUpdateListeners = Collections.synchronizedSet(new HashSet()); + boatUpdateListeners = Collections.synchronizedSet(new HashSet()); } private void readObject(ObjectInputStream ois) throws ClassNotFoundException, IOException { ois.defaultReadObject(); - weakCompetitorDTOCache = new WeakHashMap(); - competitorUpdateListeners = Collections.synchronizedSet(new HashSet()); + weakCompetitorDTOCache = new WeakHashMap(); + competitorUpdateListeners = Collections.synchronizedSet(new HashSet()); weakBoatDTOCache = new WeakHashMap(); - boatUpdateListeners = Collections.synchronizedSet(new HashSet()); + boatUpdateListeners = Collections.synchronizedSet(new HashSet()); } @Override @@ -357,11 +357,11 @@ public class TransientCompetitorStoreImpl implements CompetitorStore, Serializab } @Override - public CompetitorWithoutBoatDTO convertToCompetitorDTO(Competitor c) { + public CompetitorDTO convertToCompetitorDTO(Competitor c) { LockUtil.lockForRead(lock); boolean needToUnlockReadLock = true; try { - CompetitorWithoutBoatDTO competitorDTO = weakCompetitorDTOCache.get(c); + CompetitorDTO competitorDTO = weakCompetitorDTOCache.get(c); if (competitorDTO == null) { LockUtil.unlockAfterRead(lock); needToUnlockReadLock = false; @@ -370,7 +370,7 @@ public class TransientCompetitorStoreImpl implements CompetitorStore, Serializab if (competitorDTO == null) { final Nationality nationality = c.getTeam().getNationality(); CountryCode countryCode = nationality == null ? null : nationality.getCountryCode(); - competitorDTO = new CompetitorWithoutBoatDTOImpl(c.getName(), c.getShortName(), c.getColor(), c.getEmail(), countryCode == null ? "" + competitorDTO = new CompetitorDTOImpl(c.getName(), c.getShortName(), c.getColor(), c.getEmail(), countryCode == null ? "" : countryCode.getTwoLetterISOCode(), countryCode == null ? "" : countryCode.getThreeLetterIOCCode(), countryCode == null ? "" : countryCode.getName(), c.getId().toString(), @@ -718,18 +718,18 @@ public class TransientCompetitorStoreImpl implements CompetitorStore, Serializab } @Override - public CompetitorDTO convertToCompetitorWithBoatDTO(Competitor competitor, Boat boat) { - CompetitorWithoutBoatDTO c = convertToCompetitorDTO(competitor); + public CompetitorWithBoatDTO convertToCompetitorWithBoatDTO(Competitor competitor, Boat boat) { + CompetitorDTO c = convertToCompetitorDTO(competitor); BoatDTO boatDTO = null; if (boat != null) { boatDTO = convertToBoatDTO(boat); } - CompetitorDTO competitorDTO = new CompetitorDTOImpl(c, boatDTO); + CompetitorWithBoatDTO competitorDTO = new CompetitorWithBoatDTOImpl(c, boatDTO); return competitorDTO; } @Override - public CompetitorDTO convertToCompetitorWithOptionalBoatDTO(Competitor competitor) { + public CompetitorWithBoatDTO convertToCompetitorWithOptionalBoatDTO(Competitor competitor) { if (isValidCompetitorWithBoat(competitor)) { return convertToCompetitorWithBoatDTO(competitor, ((CompetitorWithBoat) competitor).getBoat()); } else { @@ -738,10 +738,10 @@ public class TransientCompetitorStoreImpl implements CompetitorStore, Serializab } @Override - public Map convertToCompetitorAndBoatDTOs(Map competitorsAndBoats) { - Map result = new HashMap<>(); + public Map convertToCompetitorAndBoatDTOs(Map competitorsAndBoats) { + Map result = new HashMap<>(); for (Entry entry: competitorsAndBoats.entrySet()) { - CompetitorDTO competitorDTO = convertToCompetitorWithOptionalBoatDTO(entry.getKey()); + CompetitorWithBoatDTO competitorDTO = convertToCompetitorWithOptionalBoatDTO(entry.getKey()); BoatDTO boatDTO = convertToBoatDTO(entry.getValue()); result.put(competitorDTO, boatDTO); } diff --git a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/DomainFactoryImpl.java b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/DomainFactoryImpl.java index d3a303701ca..88e43d0b138 100755 --- a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/DomainFactoryImpl.java +++ b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/DomainFactoryImpl.java @@ -15,7 +15,7 @@ import java.util.logging.Logger; import com.sap.sailing.domain.base.Boat; import com.sap.sailing.domain.base.BoatClass; import com.sap.sailing.domain.base.Competitor; -import com.sap.sailing.domain.base.CompetitorStore; +import com.sap.sailing.domain.base.CompetitorAndBoatStore; import com.sap.sailing.domain.base.CompetitorWithBoat; import com.sap.sailing.domain.base.ControlPoint; import com.sap.sailing.domain.base.Nationality; @@ -120,7 +120,7 @@ public class DomainFactoryImpl implements DomainFactory { @Override public Pair createCompetitorWithID(com.sap.sailing.domain.swisstimingadapter.Competitor competitor, BoatClass boatClass) { - CompetitorStore competitorAndBoatStore = baseDomainFactory.getCompetitorStore(); + CompetitorAndBoatStore competitorAndBoatStore = baseDomainFactory.getCompetitorStore(); CompetitorWithBoat domainCompetitor = competitorAndBoatStore.getExistingCompetitorWithBoatByIdAsString(competitor.getID()); if (domainCompetitor == null || competitorAndBoatStore.isCompetitorToUpdateDuringGetOrCreate(domainCompetitor)) { List teamMembers = new ArrayList(); @@ -139,7 +139,7 @@ public class DomainFactoryImpl implements DomainFactory { @Override public Pair createCompetitorWithoutID(com.sap.sailing.domain.swisstimingadapter.Competitor competitor, String raceId, BoatClass boatClass) { - CompetitorStore competitorAndBoatStore = baseDomainFactory.getCompetitorStore(); + CompetitorAndBoatStore competitorAndBoatStore = baseDomainFactory.getCompetitorStore(); List teamMembers = new ArrayList(); for (String teamMemberName : competitor.getName().split("[-+&]")) { teamMembers.add(new PersonImpl(teamMemberName.trim(), getOrCreateNationality(competitor.getThreeLetterIOCCode()), diff --git a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingRaceTrackerImpl.java b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingRaceTrackerImpl.java index 87881b9e7b1..4433acec770 100644 --- a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingRaceTrackerImpl.java +++ b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingRaceTrackerImpl.java @@ -18,7 +18,7 @@ import java.util.logging.Logger; import com.sap.sailing.domain.abstractlog.race.analyzing.impl.RaceLogResolver; import com.sap.sailing.domain.base.BoatClass; import com.sap.sailing.domain.base.Competitor; -import com.sap.sailing.domain.base.CompetitorStore; +import com.sap.sailing.domain.base.CompetitorAndBoatStore; import com.sap.sailing.domain.base.Mark; import com.sap.sailing.domain.base.RaceDefinition; import com.sap.sailing.domain.base.Regatta; @@ -471,7 +471,7 @@ public class SwissTimingRaceTrackerImpl extends AbstractRaceTrackerImpl this.notifyAll(); } // temp - CompetitorStore competitorStore = domainFactory.getBaseDomainFactory().getCompetitorStore(); + CompetitorAndBoatStore competitorStore = domainFactory.getBaseDomainFactory().getCompetitorStore(); for (com.sap.sailing.domain.swisstimingadapter.Competitor c : startList.getCompetitors()) { Competitor existingCompetitor = competitorStore.getExistingCompetitorByIdAsString(c.getID()); if (existingCompetitor != null) { diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/common/test/LeaderboardDTODiffingTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/common/test/LeaderboardDTODiffingTest.java index 16e9520489e..e98eb0222e8 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/common/test/LeaderboardDTODiffingTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/common/test/LeaderboardDTODiffingTest.java @@ -26,8 +26,8 @@ import org.junit.Test; import com.sap.sailing.domain.common.BoatClassMasterdata; import com.sap.sailing.domain.common.dto.BoatClassDTO; import com.sap.sailing.domain.common.dto.BoatDTO; -import com.sap.sailing.domain.common.dto.CompetitorDTO; -import com.sap.sailing.domain.common.dto.CompetitorDTOImpl; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTOImpl; import com.sap.sailing.domain.common.dto.FleetDTO; import com.sap.sailing.domain.common.dto.IncrementalLeaderboardDTO; import com.sap.sailing.domain.common.dto.LeaderboardDTO; @@ -71,8 +71,8 @@ public class LeaderboardDTODiffingTest { cloner.clone(previousVersion, newVersion); } - private CompetitorDTO getPreviousCompetitorByName(String name) { - for (CompetitorDTO competitor : previousVersion.competitors) { + private CompetitorWithBoatDTO getPreviousCompetitorByName(String name) { + for (CompetitorWithBoatDTO competitor : previousVersion.competitors) { if (competitor.getName().equals(name)) { return competitor; } @@ -83,9 +83,9 @@ public class LeaderboardDTODiffingTest { @Test public void testEmptyLegDetailsGetFilled() throws FileNotFoundException, IOException, ClassNotFoundException { // remove legDetails for R9 for all competitors from previousVersion; remember which ones did contain data - Set hadLegDetailsInR9 = new HashSet<>(); - Map newRows = new HashMap<>(); - for (CompetitorDTO competitor : previousVersion.rows.keySet()) { + Set hadLegDetailsInR9 = new HashSet<>(); + Map newRows = new HashMap<>(); + for (CompetitorWithBoatDTO competitor : previousVersion.rows.keySet()) { LeaderboardRowDTO competitorRow = new LeaderboardRowDTO(); cloner.clone(newVersion.rows.get(competitor), competitorRow); Map newFieldsByRaceColumnName = new HashMap<>(); @@ -108,7 +108,7 @@ public class LeaderboardDTODiffingTest { newVersion.strip(previousVersion); // should contain the leg details now LeaderboardDTO applied = newVersion.getLeaderboardDTO(previousVersion); // now applied must contain the leg details - for (CompetitorDTO competitor : hadLegDetailsInR9) { + for (CompetitorWithBoatDTO competitor : hadLegDetailsInR9) { assertNotNull(applied.rows.get(competitor).fieldsByRaceColumnName.get("R9").legDetails); } } @@ -133,15 +133,15 @@ public class LeaderboardDTODiffingTest { @Test public void testMajorStripping() { - newVersion.rows = new HashMap(newVersion.rows); + newVersion.rows = new HashMap(newVersion.rows); List raceListBeforeStripping = new ArrayList(newVersion.getRaceList()); - CompetitorDTO wolfgang = getPreviousCompetitorByName("HUNGER +JESS"); + CompetitorWithBoatDTO wolfgang = getPreviousCompetitorByName("HUNGER +JESS"); assertNotNull(wolfgang); LeaderboardRowDTO wolfgangsRow = new LeaderboardRowDTO(); cloner.clone(newVersion.rows.get(wolfgang), wolfgangsRow); newVersion.rows.put(wolfgang, wolfgangsRow); wolfgangsRow.totalDistanceTraveledInMeters += 1; - Map rowsBeforeStripping = newVersion.rows; + Map rowsBeforeStripping = newVersion.rows; newVersion.strip(previousVersion); assertAllRowsKeysAreIdenticalToAllLeaderboardRowDTOCompetitors(newVersion); assertNotNull(newVersion.rows); @@ -159,11 +159,11 @@ public class LeaderboardDTODiffingTest { @Test public void testStrippingExceptOneColumnInOneRace() { - HashMap newRows = new HashMap(newVersion.rows); + HashMap newRows = new HashMap(newVersion.rows); double newDistance = 1234; String nameOfRaceColumnToChange = "R9"; int indexOfLegToChange = 7; // ( zero based: ) 8th leg is the last leg - for (Map.Entry e : newVersion.rows.entrySet()) { + for (Map.Entry e : newVersion.rows.entrySet()) { LeaderboardRowDTO newRow = new LeaderboardRowDTO(); cloner.clone(e.getValue(), newRow); newRows.put(e.getKey(), newRow); @@ -183,19 +183,19 @@ public class LeaderboardDTODiffingTest { } } newVersion.rows = newRows; - Map rowsBeforeStripping = newVersion.rows; - Map, List> previousLegDetailsBeforeStripping = new HashMap<>(); - for (Map.Entry e : rowsBeforeStripping.entrySet()) { + Map rowsBeforeStripping = newVersion.rows; + Map, List> previousLegDetailsBeforeStripping = new HashMap<>(); + for (Map.Entry e : rowsBeforeStripping.entrySet()) { for (Map.Entry e2 : e.getValue().fieldsByRaceColumnName.entrySet()) { if (e2.getValue().legDetails != null) { - previousLegDetailsBeforeStripping.put(new com.sap.sse.common.Util.Pair(e.getKey(), e2.getKey()), + previousLegDetailsBeforeStripping.put(new com.sap.sse.common.Util.Pair(e.getKey(), e2.getKey()), new ArrayList<>(e2.getValue().legDetails)); } } } newVersion.strip(previousVersion); // see bug 1455; check that the stripping doesn't kill the previous leaderboard's legDetails lists - for (Map.Entry, List> e : previousLegDetailsBeforeStripping.entrySet()) { + for (Map.Entry, List> e : previousLegDetailsBeforeStripping.entrySet()) { final LeaderboardRowDTO leaderboardRowDTO = rowsBeforeStripping.get(e.getKey().getA()); if (leaderboardRowDTO != null) { List newLegDetails = leaderboardRowDTO.fieldsByRaceColumnName.get(e.getKey().getB()).legDetails; @@ -207,7 +207,7 @@ public class LeaderboardDTODiffingTest { assertEquals(previousVersion.rows.size()-17, newVersion.rows.size()); // all rows have changed except for 17 that have no leg details in leg 8 // now assert that for all rows there is no leaderboard entry for all races but R9 and // for R9 there either are no leg details or all leg details for all legs other than L8 are null - for (Map.Entry e : newVersion.rows.entrySet()) { + for (Map.Entry e : newVersion.rows.entrySet()) { if (e.getValue().fieldsByRaceColumnName != null) { assertTrue(e.getValue().fieldsByRaceColumnName.size() <= 1); for (Map.Entry e2 : e.getValue().fieldsByRaceColumnName.entrySet()) { @@ -235,19 +235,19 @@ public class LeaderboardDTODiffingTest { @Test public void testCompetitorListChange() { - newVersion.competitors = new ArrayList(newVersion.competitors); // clone competitor list so it's not identical to that of previous version + newVersion.competitors = new ArrayList(newVersion.competitors); // clone competitor list so it's not identical to that of previous version BoatDTO boat = new BoatDTO("123", "LSC", new BoatClassDTO("505", BoatClassMasterdata._5O5.getHullLength(), BoatClassMasterdata._5O5.getHullBeam()), "GER 1234"); - CompetitorDTO somebodyNew = new CompetitorDTOImpl("Someone New", "SN", Color.RED, "someone@nobody.de", "DE", "GER", "Germany", "912p09871203987", + CompetitorWithBoatDTO somebodyNew = new CompetitorWithBoatDTOImpl("Someone New", "SN", Color.RED, "someone@nobody.de", "DE", "GER", "Germany", "912p09871203987", /* imageURL */ null, /* flagImageURL */ null, /* timeOnTimeFactor */ null, /* timeOnDistanceAllowancePerNauticalMile */ null, /* searchTag */ null, boat); newVersion.competitors.add(13, somebodyNew); // insert a competitor; this should mess up all others' indexes; check if this works - CompetitorDTO wolfgang = getPreviousCompetitorByName("HUNGER +JESS"); + CompetitorWithBoatDTO wolfgang = getPreviousCompetitorByName("HUNGER +JESS"); newVersion.competitors.remove(wolfgang); newVersion.rows.remove(wolfgang); // remove another competitor - List newCompetitorsBeforeStripping = new ArrayList(newVersion.competitors); + List newCompetitorsBeforeStripping = new ArrayList(newVersion.competitors); newVersion.strip(previousVersion); assertAllRowsKeysAreIdenticalToAllLeaderboardRowDTOCompetitors(newVersion); assertNull(newVersion.competitors); // but there should be an added competitor that we can't see through the public interface @@ -257,12 +257,12 @@ public class LeaderboardDTODiffingTest { @Test public void testSuppressionChange() { - final List newSuppressedCompetitors = new ArrayList(); + final List newSuppressedCompetitors = new ArrayList(); Util.addAll(newVersion.getSuppressedCompetitors(), newSuppressedCompetitors); newVersion.setSuppressedCompetitors(newSuppressedCompetitors); - newVersion.competitors = new ArrayList(newVersion.competitors); // clone competitor list so it's not identical to that of previous version + newVersion.competitors = new ArrayList(newVersion.competitors); // clone competitor list so it's not identical to that of previous version BoatDTO boat = new BoatDTO("123", "LSC", new BoatClassDTO("505", BoatClassMasterdata._5O5.getHullLength(), BoatClassMasterdata._5O5.getHullBeam()), "GER 1234"); - CompetitorDTO somebodyNew = new CompetitorDTOImpl("Someone New", "SN", Color.RED, "someone@nobody.de", "DE", "GER", "Germany", "912p09871203987", + CompetitorWithBoatDTO somebodyNew = new CompetitorWithBoatDTOImpl("Someone New", "SN", Color.RED, "someone@nobody.de", "DE", "GER", "Germany", "912p09871203987", /* imageURL */ null, /* flagImageURL */ null, /* timeOnTimeFactor */ null, /* timeOnDistanceAllowancePerNauticalMile */ null, @@ -270,15 +270,15 @@ public class LeaderboardDTODiffingTest { boat); newVersion.setSuppressed(newVersion.competitors.get(13), true); // suppress an existing competitor; compaction should reduce this to a single number only newVersion.setSuppressed(somebodyNew, true); // check that mixed mode with existing and new competitors works as well - List newSuppressedCompetitorsBeforeStripping = new ArrayList(); + List newSuppressedCompetitorsBeforeStripping = new ArrayList(); Util.addAll(newVersion.getSuppressedCompetitors(), newSuppressedCompetitorsBeforeStripping); newVersion.strip(previousVersion); assertAllRowsKeysAreIdenticalToAllLeaderboardRowDTOCompetitors(newVersion); assertEquals(2, Util.size(newVersion.getSuppressedCompetitors())); assertTrue(Util.contains(newVersion.getSuppressedCompetitors(), somebodyNew)); - for (CompetitorDTO compactSuppressedCompetitor : newVersion.getSuppressedCompetitors()) { + for (CompetitorWithBoatDTO compactSuppressedCompetitor : newVersion.getSuppressedCompetitors()) { if (compactSuppressedCompetitor != somebodyNew) { - assertFalse(compactSuppressedCompetitor instanceof CompetitorDTOImpl); // assert that the existing competitor was compacted + assertFalse(compactSuppressedCompetitor instanceof CompetitorWithBoatDTOImpl); // assert that the existing competitor was compacted } } LeaderboardDTO applied = newVersion.getLeaderboardDTO(previousVersion); @@ -287,27 +287,27 @@ public class LeaderboardDTODiffingTest { @Test public void testDisplayNameChange() { - newVersion.competitors = new ArrayList(newVersion.competitors); // clone competitor list so it's not identical to that of previous version + newVersion.competitors = new ArrayList(newVersion.competitors); // clone competitor list so it's not identical to that of previous version BoatDTO boat = new BoatDTO("123", "LSC", new BoatClassDTO("505", BoatClassMasterdata._5O5.getHullLength(), BoatClassMasterdata._5O5.getHullBeam()), "GER 1234"); - CompetitorDTO somebodyNew = new CompetitorDTOImpl("Someone New", "SN", Color.RED, "someone@nobody.de", "DE", "GER", "Germany", "912p09871203987", + CompetitorWithBoatDTO somebodyNew = new CompetitorWithBoatDTOImpl("Someone New", "SN", Color.RED, "someone@nobody.de", "DE", "GER", "Germany", "912p09871203987", /* imageURL */ null, /* flagImageURL */ null, /* timeOnTimeFactor */ null, /* timeOnDistanceAllowancePerNauticalMile */ null, /* searchTag */ null, boat); newVersion.competitors.add(somebodyNew); - newVersion.competitorDisplayNames = new HashMap(newVersion.competitorDisplayNames); + newVersion.competitorDisplayNames = new HashMap(newVersion.competitorDisplayNames); newVersion.competitorDisplayNames.put(newVersion.competitors.get(13), "Humba"); newVersion.competitorDisplayNames.put(somebodyNew, "Trala"); - final HashMap newDisplayNamesBeforeStripping = new HashMap(); + final HashMap newDisplayNamesBeforeStripping = new HashMap(); newDisplayNamesBeforeStripping.putAll(newVersion.competitorDisplayNames); newVersion.strip(previousVersion); assertAllRowsKeysAreIdenticalToAllLeaderboardRowDTOCompetitors(newVersion); assertEquals(2, newVersion.competitorDisplayNames.size()); assertTrue(newVersion.competitorDisplayNames.keySet().contains(somebodyNew)); - for (CompetitorDTO compactSuppressedCompetitor : newVersion.competitorDisplayNames.keySet()) { + for (CompetitorWithBoatDTO compactSuppressedCompetitor : newVersion.competitorDisplayNames.keySet()) { if (compactSuppressedCompetitor != somebodyNew) { - assertFalse(compactSuppressedCompetitor instanceof CompetitorDTOImpl); // assert that the existing competitor was compacted + assertFalse(compactSuppressedCompetitor instanceof CompetitorWithBoatDTOImpl); // assert that the existing competitor was compacted } } LeaderboardDTO applied = newVersion.getLeaderboardDTO(previousVersion); @@ -317,13 +317,13 @@ public class LeaderboardDTODiffingTest { @Test public void testCompetitorOrderingInRaceChange() { RaceColumnDTO r9 = newVersion.getRaceColumnByName("R9"); - Map> newCompetitorOrderingPerRace = new HashMap>(newVersion.getCompetitorOrderingPerRaceColumnName()); + Map> newCompetitorOrderingPerRace = new HashMap>(newVersion.getCompetitorOrderingPerRaceColumnName()); newVersion.setCompetitorOrderingPerRace(newCompetitorOrderingPerRace); - List newOrdering = new ArrayList(newVersion.getCompetitorsFromBestToWorst(r9)); + List newOrdering = new ArrayList(newVersion.getCompetitorsFromBestToWorst(r9)); newVersion.setCompetitorsFromBestToWorst(r9, newOrdering); - newVersion.competitors = new ArrayList(newVersion.competitors); // clone competitor list so it's not identical to that of previous version + newVersion.competitors = new ArrayList(newVersion.competitors); // clone competitor list so it's not identical to that of previous version BoatDTO boat = new BoatDTO("123", "LSC", new BoatClassDTO("505", BoatClassMasterdata._5O5.getHullLength(), BoatClassMasterdata._5O5.getHullBeam()), "GER 1234"); - CompetitorDTO somebodyNew = new CompetitorDTOImpl("Someone New", "SN", Color.RED, "someone@nobody.de", "DE", "GER", "Germany", "912p09871203987", + CompetitorWithBoatDTO somebodyNew = new CompetitorWithBoatDTOImpl("Someone New", "SN", Color.RED, "someone@nobody.de", "DE", "GER", "Germany", "912p09871203987", /* imageURL */ null, /* flagImageURL */ null, /* timeOnTimeFactor */ null, /* timeOnDistanceAllowancePerNauticalMile */ null, @@ -331,18 +331,18 @@ public class LeaderboardDTODiffingTest { boat); newVersion.competitors.add(somebodyNew); newOrdering.add(somebodyNew); - CompetitorDTO formerRank13 = newOrdering.remove(13); + CompetitorWithBoatDTO formerRank13 = newOrdering.remove(13); newOrdering.add(12, formerRank13); - List newOrderBeforeStripping = new ArrayList(newOrdering); + List newOrderBeforeStripping = new ArrayList(newOrdering); newVersion.strip(previousVersion); assertAllRowsKeysAreIdenticalToAllLeaderboardRowDTOCompetitors(newVersion); for (int i=1; i<9; i++) { assertNull(newVersion.getCompetitorsFromBestToWorst("R"+i)); } assertEquals(newVersion.getCompetitorsFromBestToWorst(r9).size()-1, newVersion.getCompetitorsFromBestToWorst(r9).indexOf(somebodyNew)); - for (CompetitorDTO compactSuppressedCompetitor : newVersion.getCompetitorsFromBestToWorst(r9)) { + for (CompetitorWithBoatDTO compactSuppressedCompetitor : newVersion.getCompetitorsFromBestToWorst(r9)) { if (compactSuppressedCompetitor != somebodyNew) { - assertFalse(compactSuppressedCompetitor instanceof CompetitorDTOImpl); // assert that the existing competitor was compacted + assertFalse(compactSuppressedCompetitor instanceof CompetitorWithBoatDTOImpl); // assert that the existing competitor was compacted } } LeaderboardDTO applied = newVersion.getLeaderboardDTO(previousVersion); @@ -351,7 +351,7 @@ public class LeaderboardDTODiffingTest { private void assertAllRowsKeysAreIdenticalToAllLeaderboardRowDTOCompetitors(LeaderboardDTO leaderboard) { if (leaderboard.rows != null) { - for (Map.Entry e : leaderboard.rows.entrySet()) { + for (Map.Entry e : leaderboard.rows.entrySet()) { assertSame(e.getKey(), e.getValue().competitor); } } diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java index 9892d333e1f..c8ef4d22ed3 100755 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java @@ -29,7 +29,7 @@ import com.sap.sailing.domain.abstractlog.race.analyzing.impl.RaceLogResolver; import com.sap.sailing.domain.base.Boat; import com.sap.sailing.domain.base.BoatClass; import com.sap.sailing.domain.base.Competitor; -import com.sap.sailing.domain.base.CompetitorStore; +import com.sap.sailing.domain.base.CompetitorAndBoatStore; import com.sap.sailing.domain.base.CompetitorWithBoat; import com.sap.sailing.domain.base.ControlPoint; import com.sap.sailing.domain.base.Course; @@ -296,7 +296,7 @@ public class DomainFactoryImpl implements DomainFactory { private CompetitorWithBoat getOrCreateCompetitorWithBoat(final UUID competitorId, final String nationalityAsString, final String name, final String shortName, float timeOnTimeFactor, float timeOnDistanceAllowanceInSecondsPerNauticalMile, String searchTag, String competitorClassName, String sailId) { - CompetitorStore competitorStore = baseDomainFactory.getCompetitorStore(); + CompetitorAndBoatStore competitorStore = baseDomainFactory.getCompetitorStore(); CompetitorWithBoat domainCompetitor = competitorStore.getExistingCompetitorWithBoatById(competitorId); if (domainCompetitor == null || competitorStore.isCompetitorToUpdateDuringGetOrCreate(domainCompetitor)) { BoatClass boatClass = getOrCreateBoatClass(competitorClassName); @@ -321,7 +321,7 @@ public class DomainFactoryImpl implements DomainFactory { private Competitor getOrCreateCompetitor(final UUID competitorId, final String nationalityAsString, final String name, final String shortName, float timeOnTimeFactor, float timeOnDistanceAllowanceInSecondsPerNauticalMile, String searchTag) { - CompetitorStore competitorStore = baseDomainFactory.getCompetitorStore(); + CompetitorAndBoatStore competitorStore = baseDomainFactory.getCompetitorStore(); Competitor domainCompetitor = competitorStore.getExistingCompetitorById(competitorId); if (domainCompetitor == null || competitorStore.isCompetitorToUpdateDuringGetOrCreate(domainCompetitor)) { Nationality nationality; @@ -341,7 +341,7 @@ public class DomainFactoryImpl implements DomainFactory { } public Boat getOrCreateBoat(Serializable boatId, String boatName, BoatClass boatClass, String sailId, Color boatColor) { - CompetitorStore competitorStore = baseDomainFactory.getCompetitorStore(); + CompetitorAndBoatStore competitorStore = baseDomainFactory.getCompetitorStore(); Boat domainBoat = competitorStore.getExistingBoatById(boatId); if (domainBoat == null) { domainBoat = baseDomainFactory.getCompetitorStore().getOrCreateBoat(boatId, boatName, boatClass, sailId, boatColor); @@ -708,7 +708,7 @@ public class DomainFactoryImpl implements DomainFactory { @Override public Map getOrCreateCompetitorsAndTheirBoats(DynamicTrackedRegatta trackedRegatta, LeaderboardGroupResolver leaderboardGroupResolver, IRace race, BoatClass defaultBoatClass) { - final CompetitorStore competitorAndBoatStore = baseDomainFactory.getCompetitorStore(); + final CompetitorAndBoatStore competitorAndBoatStore = baseDomainFactory.getCompetitorStore(); final Map competitorsAndBoats = new HashMap<>(); Regatta regatta = trackedRegatta.getRegatta(); LeaderboardGroup leaderboardGroup = leaderboardGroupResolver.resolveLeaderboardGroupByRegattaName(regatta.getName()); diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/DomainFactory.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/DomainFactory.java index b39824fead1..d78ba758bd3 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/DomainFactory.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/DomainFactory.java @@ -10,8 +10,8 @@ import com.sap.sailing.domain.common.Placemark; 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.CompetitorWithBoatDTO; 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; @@ -59,13 +59,13 @@ public interface DomainFactory extends SharedDomainFactory { ScoringScheme createScoringScheme(ScoringSchemeType scoringSchemeType); - CompetitorWithoutBoatDTO convertToCompetitorDTO(Competitor competitor); + CompetitorDTO convertToCompetitorDTO(Competitor competitor); - CompetitorDTO convertToCompetitorWithOptionalBoatDTO(Competitor competitor); + CompetitorWithBoatDTO convertToCompetitorWithOptionalBoatDTO(Competitor competitor); - CompetitorDTO convertToCompetitorDTO(Competitor competitor, Boat boat); + CompetitorWithBoatDTO convertToCompetitorDTO(Competitor competitor, Boat boat); - Map convertToCompetitorAndBoatDTOs(Map competitorsAndBoats); + Map convertToCompetitorAndBoatDTOs(Map competitorsAndBoats); BoatDTO convertToBoatDTO(Boat boat); @@ -78,11 +78,11 @@ public interface DomainFactory extends SharedDomainFactory { PlacemarkDTO convertToPlacemarkDTO(Placemark placemark); - List getCompetitorDTOList(Map competitors); + List getCompetitorDTOList(Map competitors); - List getCompetitorDTOList(Iterable competitors); + List getCompetitorDTOList(Iterable competitors); - List getCompetitorDTOList(List> competitors); + List getCompetitorDTOList(List> competitors); TrackedRaceDTO createTrackedRaceDTO(TrackedRace trackedRace); diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/DomainFactoryImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/DomainFactoryImpl.java index ca95530c97f..58ede5014ee 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/DomainFactoryImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/DomainFactoryImpl.java @@ -12,7 +12,7 @@ import java.util.logging.Logger; import com.sap.sailing.domain.abstractlog.race.analyzing.impl.RaceLogResolver; import com.sap.sailing.domain.base.Boat; import com.sap.sailing.domain.base.Competitor; -import com.sap.sailing.domain.base.CompetitorStore; +import com.sap.sailing.domain.base.CompetitorAndBoatStore; import com.sap.sailing.domain.base.DomainFactory; import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.base.Mark; @@ -27,8 +27,8 @@ import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; 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.CompetitorWithBoatDTO; 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; @@ -82,10 +82,10 @@ public class DomainFactoryImpl extends SharedDomainFactoryImpl implements Domain * Uses a transient competitor and boat store */ public DomainFactoryImpl(RaceLogResolver raceLogResolver) { - super(new TransientCompetitorStoreImpl(), raceLogResolver); + super(new TransientCompetitorAndBoatStoreImpl(), raceLogResolver); } - public DomainFactoryImpl(CompetitorStore competitorStore, RaceLogResolver raceLogResolver) { + public DomainFactoryImpl(CompetitorAndBoatStore competitorStore, RaceLogResolver raceLogResolver) { super(competitorStore, raceLogResolver); } @@ -147,22 +147,22 @@ public class DomainFactoryImpl extends SharedDomainFactoryImpl implements Domain } @Override - public CompetitorDTO convertToCompetitorDTO(Competitor competitor, Boat boat) { + public CompetitorWithBoatDTO convertToCompetitorDTO(Competitor competitor, Boat boat) { return competitorAndBoatStore.convertToCompetitorWithBoatDTO(competitor, boat); } @Override - public CompetitorDTO convertToCompetitorWithOptionalBoatDTO(Competitor competitor) { + public CompetitorWithBoatDTO convertToCompetitorWithOptionalBoatDTO(Competitor competitor) { return competitorAndBoatStore.convertToCompetitorWithOptionalBoatDTO(competitor); } @Override - public CompetitorWithoutBoatDTO convertToCompetitorDTO(Competitor competitor) { + public CompetitorDTO convertToCompetitorDTO(Competitor competitor) { return competitorAndBoatStore.convertToCompetitorDTO(competitor); } @Override - public Map convertToCompetitorAndBoatDTOs(Map competitorsAndBoats) { + public Map convertToCompetitorAndBoatDTOs(Map competitorsAndBoats) { return competitorAndBoatStore.convertToCompetitorAndBoatDTOs(competitorsAndBoats); } @@ -369,8 +369,8 @@ public class DomainFactoryImpl extends SharedDomainFactoryImpl implements Domain } @Override - public List getCompetitorDTOList(Map competitors) { - List result = new ArrayList(); + public List getCompetitorDTOList(Map competitors) { + List result = new ArrayList(); for (Entry competitorAndBoatEntry : competitors.entrySet()) { result.add(convertToCompetitorDTO(competitorAndBoatEntry.getKey(), competitorAndBoatEntry.getValue())); } @@ -378,16 +378,16 @@ public class DomainFactoryImpl extends SharedDomainFactoryImpl implements Domain } @Override - public List getCompetitorDTOList(Iterable competitors) { - List result = new ArrayList(); + public List getCompetitorDTOList(Iterable competitors) { + List result = new ArrayList(); for (Competitor competitor : competitors) { result.add(convertToCompetitorWithOptionalBoatDTO(competitor)); } return result; } - public List getCompetitorDTOList(List> competitors) { - List result = new ArrayList(); + public List getCompetitorDTOList(List> competitors) { + List result = new ArrayList(); for (Pair competitorAndBoat : competitors) { result.add(convertToCompetitorDTO(competitorAndBoat.getA(), competitorAndBoat.getB())); } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/DynamicCompetitorStore.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/DynamicCompetitorStore.java index 5789a45f517..aa1d4246a15 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/DynamicCompetitorStore.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/DynamicCompetitorStore.java @@ -3,11 +3,11 @@ package com.sap.sailing.domain.base.impl; import java.io.Serializable; import java.net.URI; -import com.sap.sailing.domain.base.CompetitorStore; +import com.sap.sailing.domain.base.CompetitorAndBoatStore; import com.sap.sse.common.Color; import com.sap.sse.common.Duration; -public interface DynamicCompetitorStore extends CompetitorStore { +public interface DynamicCompetitorStore extends CompetitorAndBoatStore { @Override DynamicCompetitor getExistingCompetitorById(Serializable competitorId); diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/AbstractLeaderboardWithCache.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/AbstractLeaderboardWithCache.java index 70982df935a..823efacedfd 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/AbstractLeaderboardWithCache.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/AbstractLeaderboardWithCache.java @@ -47,7 +47,7 @@ import com.sap.sailing.domain.common.RegattaNameAndRaceName; import com.sap.sailing.domain.common.Speed; import com.sap.sailing.domain.common.SpeedWithBearing; import com.sap.sailing.domain.common.dto.BasicRaceDTO; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.domain.common.dto.FleetDTO; import com.sap.sailing.domain.common.dto.LeaderboardDTO; import com.sap.sailing.domain.common.dto.LeaderboardEntryDTO; @@ -358,10 +358,10 @@ public abstract class AbstractLeaderboardWithCache implements Leaderboard { this.getScoringScheme() == null ? null : this.getScoringScheme().getType(), this .getScoringScheme().isHigherBetter(), new UUIDGenerator(), addOverallDetails); result.type = getLeaderboardType(); - result.competitors = new ArrayList(); + result.competitors = new ArrayList(); result.name = this.getName(); result.displayName = this.getDisplayName(); - result.competitorDisplayNames = new HashMap(); + result.competitorDisplayNames = new HashMap(); boolean isLeaderboardThatHasRegattaLike = this instanceof LeaderboardThatHasRegattaLike; if (isLeaderboardThatHasRegattaLike) { LeaderboardThatHasRegattaLike regattaLikeLeaderboard = (LeaderboardThatHasRegattaLike) this; @@ -375,7 +375,7 @@ public abstract class AbstractLeaderboardWithCache implements Leaderboard { } // Now create the race columns and, as a future task, set their competitorsFromBestToWorst, then wait for all these // futures to finish: - Map>> competitorsFromBestToWorstTasks = new HashMap<>(); + Map>> competitorsFromBestToWorstTasks = new HashMap<>(); for (final RaceColumn raceColumn : this.getRaceColumns()) { boolean isMetaLeaderboardColumn = raceColumn instanceof MetaLeaderboardColumn; RaceColumnDTO raceColumnDTO = result.createEmptyRaceColumn(raceColumn.getName(), raceColumn.isMedalRace(), @@ -402,12 +402,12 @@ public abstract class AbstractLeaderboardWithCache implements Leaderboard { raceColumn instanceof RaceColumnInSeries ? ((RaceColumnInSeries) raceColumn).getSeries().getName() : null, fleetDTO, raceColumn.isMedalRace(), raceIdentifier, race, isMetaLeaderboardColumn); } - Future> task = executor.submit( + Future> 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 - for (Map.Entry>> raceColumnAndTaskToJoin : competitorsFromBestToWorstTasks.entrySet()) { + for (Map.Entry>> raceColumnAndTaskToJoin : competitorsFromBestToWorstTasks.entrySet()) { try { result.setCompetitorsFromBestToWorst(raceColumnAndTaskToJoin.getKey().getName(), raceColumnAndTaskToJoin.getValue().get()); } catch (InterruptedException e) { @@ -425,7 +425,7 @@ public abstract class AbstractLeaderboardWithCache implements Leaderboard { } } result.setDelayToLiveInMillisForLatestRace(this.getDelayToLiveInMillis()); - result.rows = new HashMap(); + result.rows = new HashMap(); result.hasCarriedPoints = this.hasCarriedPoints(); if (this.getResultDiscardingRule() instanceof ThresholdBasedResultDiscardingRule) { result.discardThresholds = ((ThresholdBasedResultDiscardingRule) this.getResultDiscardingRule()) @@ -458,7 +458,7 @@ public abstract class AbstractLeaderboardWithCache implements Leaderboard { } } for (final Competitor competitor : this.getCompetitorsFromBestToWorst(timePoint)) { - CompetitorDTO competitorDTO = baseDomainFactory.convertToCompetitorWithOptionalBoatDTO(competitor); + CompetitorWithBoatDTO competitorDTO = baseDomainFactory.convertToCompetitorWithOptionalBoatDTO(competitor); LeaderboardRowDTO row = new LeaderboardRowDTO(); row.competitor = competitorDTO; row.fieldsByRaceColumnName = new HashMap(); @@ -513,7 +513,7 @@ public abstract class AbstractLeaderboardWithCache implements Leaderboard { // in case boats can't change set the also the boat on the row to simplify access if (result.canBoatsOfCompetitorsChangePerRace == false && !row.fieldsByRaceColumnName.isEmpty()) { // find a raceColumn where a boat is available - for (LeaderboardEntryDTO leaderboardEntry: row.fieldsByRaceColumnName.values()) { + for (LeaderboardEntryDTO leaderboardEntry : row.fieldsByRaceColumnName.values()) { if (leaderboardEntry.boat != null) { row.boat = leaderboardEntry.boat; break; diff --git a/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/SlicingTest.java b/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/SlicingTest.java index f0beb4ed1ec..85bd7c5ae26 100644 --- a/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/SlicingTest.java +++ b/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/SlicingTest.java @@ -23,7 +23,7 @@ import com.sap.sailing.domain.common.RankingMetrics; import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; import com.sap.sailing.domain.common.ScoringSchemeType; import com.sap.sailing.domain.common.abstractlog.TimePointSpecificationFoundInLogImpl; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.domain.common.dto.FleetDTO; import com.sap.sailing.domain.common.dto.RaceColumnDTO; import com.sap.sailing.domain.common.dto.RaceDTO; @@ -102,8 +102,8 @@ public class SlicingTest { columnNames.add(new Pair<>(columnNameOriginalRace, 0)); sailingService.addRaceColumnsToSeries(regatta.getRegattaIdentifier(), seriesName, columnNames); sailingService.createRegattaLeaderboard(regatta.getRegattaIdentifier(), regattaName, new int[0]); - final List competitors = sailingService.addCompetitors(Arrays.asList(competitor), null); - final CompetitorDTO competitorDTO = competitors.iterator().next(); + final List competitors = sailingService.addCompetitors(Arrays.asList(competitor), null); + final CompetitorWithBoatDTO competitorDTO = competitors.iterator().next(); sailingService.setCompetitorRegistrationsInRegattaLog(regattaName, new HashSet<>(competitors)); DeviceIdentifierDTO deviceId = new DeviceIdentifierDTO("FILE", UUID.randomUUID().toString()); final DeviceMappingDTO deviceMapping = new DeviceMappingDTO(deviceId, startOriginalRace.asDate(), endOriginalRace.asDate(), competitorDTO, null); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/afterliveraceloop/boats/RaceEndWithBoatsPresenterImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/afterliveraceloop/boats/RaceEndWithBoatsPresenterImpl.java index 8fd94fdc5ed..d55ce656960 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/afterliveraceloop/boats/RaceEndWithBoatsPresenterImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/afterliveraceloop/boats/RaceEndWithBoatsPresenterImpl.java @@ -7,7 +7,7 @@ import com.google.gwt.user.client.ui.Label; import com.sap.sailing.domain.common.Distance; import com.sap.sailing.domain.common.RaceIdentifier; import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.domain.common.dto.LeaderboardDTO; import com.sap.sailing.domain.common.dto.RaceColumnDTO; import com.sap.sailing.gwt.autoplay.client.app.AutoPlayClientFactory; @@ -70,7 +70,7 @@ public class RaceEndWithBoatsPresenterImpl extends AutoPlayPresenterConfigured sortedCompetitors = leaderboardPanel.getLeaderboard() + List sortedCompetitors = leaderboardPanel.getLeaderboard() .getCompetitorsFromBestToWorst(raceColumn); if (sortedCompetitors.size() >= 3) { diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/afterliveraceloop/boats/RaceEndWithBoatsView.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/afterliveraceloop/boats/RaceEndWithBoatsView.java index 6db249025c9..6de69a8d096 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/afterliveraceloop/boats/RaceEndWithBoatsView.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/afterliveraceloop/boats/RaceEndWithBoatsView.java @@ -2,7 +2,7 @@ package com.sap.sailing.gwt.autoplay.client.places.screens.afterliveraceloop.boa import com.google.gwt.user.client.ui.AcceptsOneWidget; import com.sap.sailing.domain.common.Distance; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.gwt.ui.leaderboard.SingleRaceLeaderboardPanel; import com.sap.sse.common.Duration; @@ -13,11 +13,11 @@ public interface RaceEndWithBoatsView { void setLeaderBoard(SingleRaceLeaderboardPanel leaderboardPanel); - void setFirst(CompetitorDTO c); + void setFirst(CompetitorWithBoatDTO c); - void setSecond(CompetitorDTO c); + void setSecond(CompetitorWithBoatDTO c); - void setThird(CompetitorDTO c); + void setThird(CompetitorWithBoatDTO c); void setStatistic(int competitorCount, Distance distance, Duration duration); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/afterliveraceloop/boats/RaceEndWithBoatsViewImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/afterliveraceloop/boats/RaceEndWithBoatsViewImpl.java index 513741a9b5c..9d668719b2f 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/afterliveraceloop/boats/RaceEndWithBoatsViewImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/afterliveraceloop/boats/RaceEndWithBoatsViewImpl.java @@ -11,7 +11,7 @@ import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.ResizeComposite; import com.google.gwt.user.client.ui.Widget; import com.sap.sailing.domain.common.Distance; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.gwt.autoplay.client.places.screens.preliveraceloop.leaderboard.PreLiveRaceLeaderBoardWithImageViewImpl.ImageProvider; import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sailing.gwt.ui.leaderboard.SingleRaceLeaderboardPanel; @@ -75,19 +75,19 @@ public class RaceEndWithBoatsViewImpl extends ResizeComposite implements RaceEnd } @Override - public void setFirst(CompetitorDTO c) { + public void setFirst(CompetitorWithBoatDTO c) { subline1.setText("1. " + c.getName()); setImage(image1, provider.getImageUrl(c), true); } @Override - public void setSecond(CompetitorDTO c) { + public void setSecond(CompetitorWithBoatDTO c) { subline2.setText("2. " + c.getName()); setImage(image2, provider.getImageUrl(c), false); } @Override - public void setThird(CompetitorDTO c) { + public void setThird(CompetitorWithBoatDTO c) { subline3.setText("3. " + c.getName()); setImage(image3, provider.getImageUrl(c), false); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/liveraceloop/raceboard/LiveRaceWithRaceboardPresenterImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/liveraceloop/raceboard/LiveRaceWithRaceboardPresenterImpl.java index 2d0916c0d0a..005aafd1248 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/liveraceloop/raceboard/LiveRaceWithRaceboardPresenterImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/liveraceloop/raceboard/LiveRaceWithRaceboardPresenterImpl.java @@ -3,7 +3,7 @@ package com.sap.sailing.gwt.autoplay.client.places.screens.liveraceloop.raceboar import java.util.ArrayList; import com.google.gwt.user.client.ui.AcceptsOneWidget; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.gwt.autoplay.client.app.AutoPlayClientFactory; import com.sap.sailing.gwt.autoplay.client.app.AutoPlayPresenterConfigured; @@ -11,7 +11,7 @@ public class LiveRaceWithRaceboardPresenterImpl extends AutoPlayPresenterConfigu implements LiveRaceWithRaceboardView.Slide7Presenter { protected static final int SWITCH_COMPETITOR_DELAY = 2000; private LiveRaceWithRaceboardView view; - ArrayList compList = new ArrayList<>(); + ArrayList compList = new ArrayList<>(); public LiveRaceWithRaceboardPresenterImpl(LiveRaceWithRaceboardPlace place, AutoPlayClientFactory clientFactory, LiveRaceWithRaceboardView LifeRaceWithRacemapViewImpl) { diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/liveraceloop/racemapwithleaderboard/LiveRaceWithRacemapAndLeaderBoardPresenterImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/liveraceloop/racemapwithleaderboard/LiveRaceWithRacemapAndLeaderBoardPresenterImpl.java index bc25a44f80b..3d436010ac0 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/liveraceloop/racemapwithleaderboard/LiveRaceWithRacemapAndLeaderBoardPresenterImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/liveraceloop/racemapwithleaderboard/LiveRaceWithRacemapAndLeaderBoardPresenterImpl.java @@ -10,7 +10,7 @@ import com.google.gwt.user.client.Timer; import com.google.gwt.user.client.ui.AcceptsOneWidget; import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; import com.sap.sailing.domain.common.WindSource; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.domain.common.dto.LeaderboardRowDTO; import com.sap.sailing.gwt.autoplay.client.app.AutoPlayClientFactory; import com.sap.sailing.gwt.autoplay.client.app.AutoPlayPresenterConfigured; @@ -39,7 +39,7 @@ public class LiveRaceWithRacemapAndLeaderBoardPresenterImpl private Timer selectionTimer; private SingleRaceLeaderboardPanel leaderboardPanel; private int selected = -1; - ArrayList compList = new ArrayList<>(); + ArrayList compList = new ArrayList<>(); private com.sap.sse.gwt.client.player.Timer timer; public LiveRaceWithRacemapAndLeaderBoardPresenterImpl(LiveRaceWithRacemapAndLeaderBoardPlace place, @@ -72,7 +72,7 @@ public class LiveRaceWithRacemapAndLeaderBoardPresenterImpl if (selected > compList.size() - 1) { selected = 0; } - CompetitorDTO marked = compList.get(selected); + CompetitorWithBoatDTO marked = compList.get(selected); getPlace().getRaceMapSelectionProvider().setSelected(marked, true); onSelect(marked); Scheduler.get().scheduleDeferred(new ScheduledCommand() { @@ -128,7 +128,7 @@ public class LiveRaceWithRacemapAndLeaderBoardPresenterImpl } } - private void onSelect(CompetitorDTO marked) { + private void onSelect(CompetitorWithBoatDTO marked) { view.onCompetitorSelect(marked); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/liveraceloop/racemapwithleaderboard/LiveRaceWithRacemapAndLeaderBoardView.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/liveraceloop/racemapwithleaderboard/LiveRaceWithRacemapAndLeaderBoardView.java index 676ad719698..a04878dbd4f 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/liveraceloop/racemapwithleaderboard/LiveRaceWithRacemapAndLeaderBoardView.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/liveraceloop/racemapwithleaderboard/LiveRaceWithRacemapAndLeaderBoardView.java @@ -2,7 +2,7 @@ package com.sap.sailing.gwt.autoplay.client.places.screens.liveraceloop.racemapw import com.google.gwt.user.client.ui.AcceptsOneWidget; import com.sap.sailing.domain.common.Distance; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.gwt.ui.client.shared.racemap.RaceMap; import com.sap.sailing.gwt.ui.leaderboard.SingleRaceLeaderboardPanel; @@ -15,7 +15,7 @@ public interface LiveRaceWithRacemapAndLeaderBoardView { void showErrorNoLive(LiveRaceWithRacemapAndLeaderBoardPresenterImpl slide7PresenterImpl, AcceptsOneWidget panel, Throwable error); - void onCompetitorSelect(CompetitorDTO marked); + void onCompetitorSelect(CompetitorWithBoatDTO marked); void scrollLeaderBoardToTop(); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/liveraceloop/racemapwithleaderboard/LiveRaceWithRacemapAndLeaderBoardViewImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/liveraceloop/racemapwithleaderboard/LiveRaceWithRacemapAndLeaderBoardViewImpl.java index 568ed50aeb9..48a72d6f12a 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/liveraceloop/racemapwithleaderboard/LiveRaceWithRacemapAndLeaderBoardViewImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/liveraceloop/racemapwithleaderboard/LiveRaceWithRacemapAndLeaderBoardViewImpl.java @@ -9,7 +9,7 @@ import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.ResizeComposite; import com.google.gwt.user.client.ui.Widget; import com.sap.sailing.domain.common.Distance; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sailing.gwt.ui.client.shared.racemap.RaceMap; import com.sap.sailing.gwt.ui.leaderboard.SingleRaceLeaderboardPanel; @@ -55,7 +55,7 @@ public class LiveRaceWithRacemapAndLeaderBoardViewImpl extends ResizeComposite i } @Override - public void onCompetitorSelect(CompetitorDTO marked) { + public void onCompetitorSelect(CompetitorWithBoatDTO marked) { rawRaceMap.addedToSelection(marked); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/preliveraceloop/competitors/CompetitorViewImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/preliveraceloop/competitors/CompetitorViewImpl.java index 409d903983b..1eb3017247c 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/preliveraceloop/competitors/CompetitorViewImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/preliveraceloop/competitors/CompetitorViewImpl.java @@ -7,7 +7,7 @@ import com.google.gwt.user.client.ui.Image; import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.ResizeComposite; import com.google.gwt.user.client.ui.Widget; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.gwt.autoplay.client.places.screens.preliveraceloop.leaderboard.PreLiveRaceLeaderBoardWithImageViewImpl.ImageProvider; public class CompetitorViewImpl extends ResizeComposite { @@ -23,7 +23,7 @@ public class CompetitorViewImpl extends ResizeComposite { @UiField Label subline2; - public CompetitorViewImpl(ImageProvider provider, CompetitorDTO competitor) { + public CompetitorViewImpl(ImageProvider provider, CompetitorWithBoatDTO competitor) { initWidget(uiBinder.createAndBindUi(this)); if (competitor.getBoat() != null && competitor.getBoat().getName() != null) { subline1.setText(competitor.getBoat().getName()); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/preliveraceloop/competitors/PreRaceCompetitorsPresenterImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/preliveraceloop/competitors/PreRaceCompetitorsPresenterImpl.java index a8b3d78c548..9073c1f5877 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/preliveraceloop/competitors/PreRaceCompetitorsPresenterImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/preliveraceloop/competitors/PreRaceCompetitorsPresenterImpl.java @@ -4,7 +4,7 @@ import java.util.List; import com.google.gwt.user.client.Timer; import com.google.gwt.user.client.ui.AcceptsOneWidget; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.gwt.autoplay.client.app.AutoPlayClientFactory; import com.sap.sailing.gwt.autoplay.client.app.AutoPlayPresenterConfigured; @@ -30,7 +30,7 @@ public class PreRaceCompetitorsPresenterImpl extends AutoPlayPresenterConfigured @Override public void startConfigured(AcceptsOneWidget panel) { view.startingWith(this, panel); - List data = null; + List data = null; view.setCompetitors(data); selectionScroll.scheduleRepeating(DELAY_NEXT); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/preliveraceloop/competitors/PreRaceCompetitorsView.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/preliveraceloop/competitors/PreRaceCompetitorsView.java index 259902fcafa..6cdcb929aed 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/preliveraceloop/competitors/PreRaceCompetitorsView.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/preliveraceloop/competitors/PreRaceCompetitorsView.java @@ -3,7 +3,7 @@ package com.sap.sailing.gwt.autoplay.client.places.screens.preliveraceloop.compe import java.util.List; import com.google.gwt.user.client.ui.AcceptsOneWidget; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; public interface PreRaceCompetitorsView { void startingWith(PreRaceCompetitorsPresenter p, AcceptsOneWidget panel); @@ -13,5 +13,5 @@ public interface PreRaceCompetitorsView { void move(); - void setCompetitors(List data); + void setCompetitors(List data); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/preliveraceloop/competitors/PreRaceCompetitorsViewImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/preliveraceloop/competitors/PreRaceCompetitorsViewImpl.java index 0676dcb1d5d..58f7ecea149 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/preliveraceloop/competitors/PreRaceCompetitorsViewImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/preliveraceloop/competitors/PreRaceCompetitorsViewImpl.java @@ -11,7 +11,7 @@ import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.LayoutPanel; import com.google.gwt.user.client.ui.ResizeComposite; import com.google.gwt.user.client.ui.Widget; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.gwt.autoplay.client.places.screens.preliveraceloop.leaderboard.PreLiveRaceLeaderBoardWithImageViewImpl.ImageProvider; public class PreRaceCompetitorsViewImpl extends ResizeComposite implements PreRaceCompetitorsView { @@ -44,15 +44,15 @@ public class PreRaceCompetitorsViewImpl extends ResizeComposite implements PreRa } @Override - public void setCompetitors(List competitors) { - for (CompetitorDTO competitor : competitors) { + public void setCompetitors(List competitors) { + for (CompetitorWithBoatDTO competitor : competitors) { Widget w = createCompetitorElement(competitor); competitorSlider.add(w); } competitorSlider.forceLayout(); } - private Widget createCompetitorElement(CompetitorDTO competitor) { + private Widget createCompetitorElement(CompetitorWithBoatDTO competitor) { FlowPanel competitorPanel = new FlowPanel(); competitorPanel.add(new CompetitorViewImpl(provider, competitor)); return new Label(competitor.getName()); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/preliveraceloop/leaderboard/PreLeaderboardWithImageView.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/preliveraceloop/leaderboard/PreLeaderboardWithImageView.java index ebbf9c1ca81..7ba834a2686 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/preliveraceloop/leaderboard/PreLeaderboardWithImageView.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/preliveraceloop/leaderboard/PreLeaderboardWithImageView.java @@ -2,7 +2,7 @@ package com.sap.sailing.gwt.autoplay.client.places.screens.preliveraceloop.leade import com.google.gwt.user.client.ui.AcceptsOneWidget; import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.gwt.ui.leaderboard.SingleRaceLeaderboardPanel; public interface PreLeaderboardWithImageView { @@ -12,7 +12,7 @@ public interface PreLeaderboardWithImageView { void setLeaderBoard(SingleRaceLeaderboardPanel leaderboardPanel); - void onCompetitorSelect(CompetitorDTO marked); + void onCompetitorSelect(CompetitorWithBoatDTO marked); void scrollLeaderBoardToTop(); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/preliveraceloop/leaderboard/PreLiveRaceLeaderBoardWithImagePresenterImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/preliveraceloop/leaderboard/PreLiveRaceLeaderBoardWithImagePresenterImpl.java index 99945cf1e1a..451859ba76b 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/preliveraceloop/leaderboard/PreLiveRaceLeaderBoardWithImagePresenterImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/preliveraceloop/leaderboard/PreLiveRaceLeaderBoardWithImagePresenterImpl.java @@ -8,7 +8,7 @@ import com.google.gwt.core.client.Scheduler.ScheduledCommand; import com.google.gwt.user.client.Timer; import com.google.gwt.user.client.ui.AcceptsOneWidget; import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.domain.common.dto.LeaderboardRowDTO; import com.sap.sailing.gwt.autoplay.client.app.AnimationPanel; import com.sap.sailing.gwt.autoplay.client.app.AutoPlayClientFactory; @@ -35,7 +35,7 @@ public class PreLiveRaceLeaderBoardWithImagePresenterImpl private SingleRaceLeaderboardPanel leaderboardPanel; private Timer selectionTimer; private RaceCompetitorSelectionModel competitorSelectionProvider; - ArrayList compList = new ArrayList<>(); + ArrayList compList = new ArrayList<>(); private com.sap.sse.gwt.client.player.Timer timer; public PreLiveRaceLeaderBoardWithImagePresenterImpl(AbstractPreRaceLeaderBoardWithImagePlace place, @@ -61,7 +61,7 @@ public class PreLiveRaceLeaderBoardWithImagePresenterImpl return; } if (selected >= 0) { - CompetitorDTO lastSelected = compList.get(selected); + CompetitorWithBoatDTO lastSelected = compList.get(selected); competitorSelectionProvider.setSelected(lastSelected, false); } selected++; @@ -69,7 +69,7 @@ public class PreLiveRaceLeaderBoardWithImagePresenterImpl if (selected > compList.size() - 1) { selected = 0; } - CompetitorDTO newSelected = compList.get(selected); + CompetitorWithBoatDTO newSelected = compList.get(selected); competitorSelectionProvider.setSelected(newSelected, true); view.onCompetitorSelect(newSelected); Scheduler.get().scheduleDeferred(new ScheduledCommand() { diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/preliveraceloop/leaderboard/PreLiveRaceLeaderBoardWithImageViewImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/preliveraceloop/leaderboard/PreLiveRaceLeaderBoardWithImageViewImpl.java index f49d97b9926..a48cccb8664 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/preliveraceloop/leaderboard/PreLiveRaceLeaderBoardWithImageViewImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/places/screens/preliveraceloop/leaderboard/PreLiveRaceLeaderBoardWithImageViewImpl.java @@ -9,7 +9,7 @@ import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.ResizeComposite; import com.google.gwt.user.client.ui.Widget; import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sailing.gwt.ui.leaderboard.SingleRaceLeaderboardPanel; import com.sap.sse.gwt.client.panels.ResizableFlowPanel; @@ -43,7 +43,7 @@ public class PreLiveRaceLeaderBoardWithImageViewImpl extends ResizeComposite imp public interface ImageProvider { - String getImageUrl(CompetitorDTO marked); + String getImageUrl(CompetitorWithBoatDTO marked); } @@ -63,7 +63,7 @@ public class PreLiveRaceLeaderBoardWithImageViewImpl extends ResizeComposite imp } @Override - public void onCompetitorSelect(CompetitorDTO selected) { + public void onCompetitorSelect(CompetitorWithBoatDTO selected) { image.setUrl(provider.getImageUrl(selected)); if (selected.getBoat() != null && selected.getBoat().getName() != null) { subline1.setText(selected.getBoat().getName()); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/utils/AutoplayHelper.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/utils/AutoplayHelper.java old mode 100644 new mode 100755 index f94d8820c74..6bede23a7b0 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/utils/AutoplayHelper.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/utils/AutoplayHelper.java @@ -12,7 +12,7 @@ import com.google.web.bindery.event.shared.EventBus; import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; import com.sap.sailing.domain.common.dto.AbstractLeaderboardDTO; import com.sap.sailing.domain.common.dto.BoatDTO; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.domain.common.dto.FleetDTO; import com.sap.sailing.domain.common.dto.RaceColumnDTO; import com.sap.sailing.gwt.home.communication.SailingDispatchSystem; @@ -184,10 +184,10 @@ public class AutoplayHelper { StrippedLeaderboardDTO selectedLeaderboard = AutoplayHelper.getSelectedLeaderboard(event, leaderBoardName); - sailingService.getCompetitorsOfLeaderboard(leaderBoardName, new AsyncCallback>() { + sailingService.getCompetitorsOfLeaderboard(leaderBoardName, new AsyncCallback>() { @Override - public void onSuccess(Iterable competitors) { + public void onSuccess(Iterable competitors) { RaceTimesInfoProvider creationTimeProvider = new RaceTimesInfoProvider(sailingService, asyncActionsExecutor, errorReporter, new ArrayList(), 1000l); @@ -198,21 +198,19 @@ public class AutoplayHelper { public void raceTimesInfosReceived(Map raceTimesInfo, long clientTimeWhenRequestWasSent, Date serverTimeDuringRequest, long clientTimeWhenResponseWasReceived) { - // keep the creationTime updated upon liveChanges! creationTimer.adjustClientServerOffset(clientTimeWhenRequestWasSent, serverTimeDuringRequest, clientTimeWhenResponseWasReceived); creationTimer .setLivePlayDelayInMillis(raceTimesInfo.get(regattaAndRaceIdentifier).delayToLiveInMs); creationTimer.play(); - if (regattaAndRaceIdentifier != null) { - if(!mapAlreadyCreated){ + if (!mapAlreadyCreated) { mapAlreadyCreated = true; sailingService.getCompetitorBoats(regattaAndRaceIdentifier, - new AsyncCallback>() { + new AsyncCallback>() { @Override - public void onSuccess(Map result) { + public void onSuccess(Map result) { createRaceMapIfNotExist(regattaAndRaceIdentifier, selectedLeaderboard, result, competitors, sailingService, AutoplayHelper.asyncActionsExecutor, errorReporter, creationTimer, @@ -269,8 +267,8 @@ public class AutoplayHelper { } private static void createRaceMapIfNotExist(RegattaAndRaceIdentifier currentLiveRace, - StrippedLeaderboardDTO selectedLeaderboard, Map result, - Iterable competitors, SailingServiceAsync sailingService, + StrippedLeaderboardDTO selectedLeaderboard, Map result, + Iterable competitors, SailingServiceAsync sailingService, AsyncActionsExecutor asyncActionsExecutor, ErrorReporter errorReporter, Timer raceboardTimer, AsyncCallback callback, long clientTimeWhenResponseWasReceived, Date serverTimeDuringRequest, long clientTimeWhenRequestWasSent, Map raceTimesInfos, @@ -281,17 +279,14 @@ public class AutoplayHelper { typesToConsiderOnZoom.add(ZoomTypes.BUOYS); typesToConsiderOnZoom.add(ZoomTypes.BOATS); RaceMapZoomSettings autoFollowRace = new RaceMapZoomSettings(typesToConsiderOnZoom, true); - RaceMapSettings settings = new RaceMapSettings(autoFollowRace, new RaceMapHelpLinesSettings(), false, 15, 100000l, false, RaceMapSettings.DEFAULT_BUOY_ZONE_RADIUS, false, true, false, false, false, false, RaceMapSettings.getDefaultManeuvers(), false, false); - RaceMapLifecycle raceMapLifecycle = new RaceMapLifecycle(StringMessages.INSTANCE); - final CompetitorColorProvider colorProvider = new CompetitorColorProviderImpl(currentLiveRace, result); RaceCompetitorSelectionModel competitorSelectionProvider = new RaceCompetitorSelectionModel( - /* hasMultiSelection */ true, colorProvider); - for (Entry entry : result.entrySet()) { + /* hasMultiSelection */ true, colorProvider, result); + for (Entry entry : result.entrySet()) { competitorSelectionProvider.setBoat(entry.getKey(), entry.getValue()); } competitorSelectionProvider.setCompetitors(competitors); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/utils/CompetitorImageProvider.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/utils/CompetitorImageProvider.java index ef7aebd323e..1b5d6aa8481 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/utils/CompetitorImageProvider.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/utils/CompetitorImageProvider.java @@ -1,12 +1,12 @@ package com.sap.sailing.gwt.autoplay.client.utils; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.gwt.autoplay.client.places.screens.preliveraceloop.leaderboard.PreLiveRaceLeaderBoardWithImageViewImpl.ImageProvider; public class CompetitorImageProvider implements ImageProvider { @Override - public String getImageUrl(CompetitorDTO marked) { + public String getImageUrl(CompetitorWithBoatDTO marked) { if (marked.getImageURL() != null) { return marked.getImageURL(); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/utils/FlagImageProvider.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/utils/FlagImageProvider.java index 7a304465708..a841609c4ea 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/utils/FlagImageProvider.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/utils/FlagImageProvider.java @@ -1,12 +1,12 @@ package com.sap.sailing.gwt.autoplay.client.utils; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.gwt.autoplay.client.places.screens.preliveraceloop.leaderboard.PreLiveRaceLeaderBoardWithImageViewImpl.ImageProvider; public class FlagImageProvider implements ImageProvider { @Override - public String getImageUrl(CompetitorDTO marked) { + public String getImageUrl(CompetitorWithBoatDTO marked) { if (marked.getFlagImageURL() != null) { return marked.getFlagImageURL(); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/communication/event/SimpleCompetitorDTO.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/communication/event/SimpleCompetitorDTO.java index 5215325e6bc..dea20eda19d 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/communication/event/SimpleCompetitorDTO.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/communication/event/SimpleCompetitorDTO.java @@ -5,7 +5,7 @@ import java.io.Serializable; import com.google.gwt.core.shared.GwtIncompatible; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.base.Nationality; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.domain.common.dto.NamedDTO; import com.sap.sse.common.CountryCode; import com.sap.sse.gwt.dispatch.shared.commands.DTO; @@ -35,7 +35,7 @@ public class SimpleCompetitorDTO extends NamedDTO implements DTO, Serializable, } @GwtIncompatible - public SimpleCompetitorDTO(CompetitorDTO competitor) { + public SimpleCompetitorDTO(CompetitorWithBoatDTO competitor) { super(competitor.getName()); this.shortInfo = competitor.getShortInfo(); if (shortInfo == null) { diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/communication/event/SimpleCompetitorWithIdDTO.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/communication/event/SimpleCompetitorWithIdDTO.java index b4038c5bec0..456eaf3eb15 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/communication/event/SimpleCompetitorWithIdDTO.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/communication/event/SimpleCompetitorWithIdDTO.java @@ -2,7 +2,7 @@ package com.sap.sailing.gwt.home.communication.event; import com.google.gwt.core.shared.GwtIncompatible; import com.sap.sailing.domain.base.Competitor; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; public class SimpleCompetitorWithIdDTO extends SimpleCompetitorDTO { @@ -20,7 +20,7 @@ public class SimpleCompetitorWithIdDTO extends SimpleCompetitorDTO { } @GwtIncompatible - public SimpleCompetitorWithIdDTO(CompetitorDTO competitor) { + public SimpleCompetitorWithIdDTO(CompetitorWithBoatDTO competitor) { super(competitor); this.idAsString = competitor.getIdAsString(); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/communication/user/profile/GetCompetitorsAction.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/communication/user/profile/GetCompetitorsAction.java index df0ffda1120..4e197938fbd 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/communication/user/profile/GetCompetitorsAction.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/communication/user/profile/GetCompetitorsAction.java @@ -4,7 +4,7 @@ import java.util.ArrayList; import com.google.gwt.core.shared.GwtIncompatible; import com.sap.sailing.domain.base.Competitor; -import com.sap.sailing.domain.base.CompetitorStore; +import com.sap.sailing.domain.base.CompetitorAndBoatStore; import com.sap.sailing.gwt.home.communication.SailingAction; import com.sap.sailing.gwt.home.communication.SailingDispatchContext; import com.sap.sailing.gwt.home.communication.event.SimpleCompetitorWithIdDTO; @@ -37,7 +37,7 @@ public class GetCompetitorsAction implements SailingAction execute(SailingDispatchContext ctx) throws DispatchException { - CompetitorStore competitorStore = ctx.getRacingEventService().getCompetitorStore(); + CompetitorAndBoatStore competitorStore = ctx.getRacingEventService().getCompetitorStore(); SortedSetResult result = new SortedSetResult<>(); for (String id : ids) { Competitor competitor = competitorStore.getExistingCompetitorByIdAsString(id); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/communication/user/profile/SaveFavoriteCompetitorsAction.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/communication/user/profile/SaveFavoriteCompetitorsAction.java index 1a7a3a8380b..b9f5614c94e 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/communication/user/profile/SaveFavoriteCompetitorsAction.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/communication/user/profile/SaveFavoriteCompetitorsAction.java @@ -5,7 +5,7 @@ import java.util.List; import com.google.gwt.core.shared.GwtIncompatible; import com.sap.sailing.domain.base.Competitor; -import com.sap.sailing.domain.base.CompetitorStore; +import com.sap.sailing.domain.base.CompetitorAndBoatStore; import com.sap.sailing.gwt.home.communication.SailingAction; import com.sap.sailing.gwt.home.communication.SailingDispatchContext; import com.sap.sailing.gwt.home.communication.event.SimpleCompetitorWithIdDTO; @@ -33,7 +33,7 @@ public class SaveFavoriteCompetitorsAction implements SailingAction public VoidResult execute(SailingDispatchContext ctx) throws DispatchException { CompetitorNotificationPreferences prefs = new CompetitorNotificationPreferences(ctx.getRacingEventService()); List competitorPreferences = new ArrayList<>(); - CompetitorStore competitorStore = ctx.getRacingEventService().getCompetitorStore(); + CompetitorAndBoatStore competitorStore = ctx.getRacingEventService().getCompetitorStore(); for (SimpleCompetitorWithIdDTO competitorDTO : favorites.getSelectedCompetitors()) { Competitor competitor = competitorStore.getExistingCompetitorByIdAsString(competitorDTO.getIdAsString()); competitorPreferences.add(new CompetitorNotificationPreference(competitorStore, competitor, diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/places/event/regatta/analyticstab/RegattaCompetitorAnalyticsTabView.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/places/event/regatta/analyticstab/RegattaCompetitorAnalyticsTabView.java index ed1a46f70b5..b11a7ba0dc9 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/places/event/regatta/analyticstab/RegattaCompetitorAnalyticsTabView.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/places/event/regatta/analyticstab/RegattaCompetitorAnalyticsTabView.java @@ -12,7 +12,7 @@ import com.google.gwt.user.client.ui.AcceptsOneWidget; import com.google.gwt.user.client.ui.HTMLPanel; import com.sap.sailing.domain.common.DetailType; import com.sap.sailing.domain.common.RaceIdentifier; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.domain.common.dto.LeaderboardDTO; import com.sap.sailing.domain.common.dto.RaceColumnDTO; import com.sap.sailing.gwt.common.client.controls.tabbar.TabView; @@ -149,8 +149,8 @@ public class RegattaCompetitorAnalyticsTabView extends SharedLeaderboardRegattaT int selectedCompetitorsCount = Util.size(competitorSelectionProvider.getSelectedCompetitors()); if(selectedCompetitorsCount == 0 && competitorsCount > MAX_COMPETITORS_IN_CHART) { - List selectedCompetitors = new ArrayList(); - Iterator allCompetitorsIt = competitorSelectionProvider.getAllCompetitors().iterator(); + List selectedCompetitors = new ArrayList(); + Iterator allCompetitorsIt = competitorSelectionProvider.getAllCompetitors().iterator(); int counter = 0; while(counter < MAX_COMPETITORS_IN_CHART) { selectedCompetitors.add(allCompetitorsIt.next()); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/places/fakeseries/EventSeriesAnalyticsDataManager.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/places/fakeseries/EventSeriesAnalyticsDataManager.java index c8bcf11c2f0..9b0d682d148 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/places/fakeseries/EventSeriesAnalyticsDataManager.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/places/fakeseries/EventSeriesAnalyticsDataManager.java @@ -5,7 +5,7 @@ import java.util.Iterator; import java.util.List; import com.sap.sailing.domain.common.DetailType; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.gwt.settings.client.leaderboard.MultiCompetitorLeaderboardChartSettings; import com.sap.sailing.gwt.settings.client.leaderboard.MultiRaceLeaderboardSettings; import com.sap.sailing.gwt.ui.client.CompetitorSelectionChangeListener; @@ -121,8 +121,8 @@ public class EventSeriesAnalyticsDataManager { int selectedCompetitorsCount = Util.size(competitorSelectionProvider.getSelectedCompetitors()); if(selectedCompetitorsCount == 0 && competitorsCount > MAX_COMPETITORS_IN_CHART) { - List selectedCompetitors = new ArrayList(); - Iterator allCompetitorsIt = competitorSelectionProvider.getAllCompetitors().iterator(); + List selectedCompetitors = new ArrayList(); + Iterator allCompetitorsIt = competitorSelectionProvider.getAllCompetitors().iterator(); int counter = 0; while(counter < MAX_COMPETITORS_IN_CHART) { selectedCompetitors.add(allCompetitorsIt.next()); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/places/fakeseries/analyticstab/EventSeriesCompetitorAnalyticsTabView.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/places/fakeseries/analyticstab/EventSeriesCompetitorAnalyticsTabView.java index 5bf74c3d03f..45ece44627d 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/places/fakeseries/analyticstab/EventSeriesCompetitorAnalyticsTabView.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/places/fakeseries/analyticstab/EventSeriesCompetitorAnalyticsTabView.java @@ -12,7 +12,7 @@ import com.google.gwt.user.client.ui.HTMLPanel; import com.google.gwt.user.client.ui.Label; import com.sap.sailing.domain.common.DetailType; import com.sap.sailing.domain.common.RaceIdentifier; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.domain.common.dto.LeaderboardDTO; import com.sap.sailing.domain.common.dto.RaceColumnDTO; import com.sap.sailing.gwt.common.client.controls.tabbar.TabView; @@ -134,8 +134,8 @@ public class EventSeriesCompetitorAnalyticsTabView extends SharedLeaderboardEven int selectedCompetitorsCount = Util.size(competitorSelectionProvider.getSelectedCompetitors()); if(selectedCompetitorsCount == 0 && competitorsCount > MAX_COMPETITORS_IN_CHART) { - List selectedCompetitors = new ArrayList(); - Iterator allCompetitorsIt = competitorSelectionProvider.getAllCompetitors().iterator(); + List selectedCompetitors = new ArrayList(); + Iterator allCompetitorsIt = competitorSelectionProvider.getAllCompetitors().iterator(); int counter = 0; while(counter < MAX_COMPETITORS_IN_CHART) { selectedCompetitors.add(allCompetitorsIt.next()); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/server/LeaderboardContext.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/server/LeaderboardContext.java index 8a723a7db9a..3e07f35ea79 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/server/LeaderboardContext.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/server/LeaderboardContext.java @@ -16,7 +16,7 @@ import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.base.RaceColumn; import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.common.Distance; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.domain.common.dto.LeaderboardDTO; import com.sap.sailing.domain.common.dto.LeaderboardEntryDTO; import com.sap.sailing.domain.common.dto.LeaderboardRowDTO; @@ -97,7 +97,7 @@ public class LeaderboardContext { result.setLive(isLive); int rank = 0; - for (CompetitorDTO competitor : leaderboardDTO.competitors) { + for (CompetitorWithBoatDTO competitor : leaderboardDTO.competitors) { rank++; LeaderboardRowDTO row = leaderboardDTO.rows.get(competitor); int raceCount = 0; diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/actions/AbstractGetMapRelatedDataAction.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/actions/AbstractGetMapRelatedDataAction.java index 71a07f9ab45..bbb83de58c3 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/actions/AbstractGetMapRelatedDataAction.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/actions/AbstractGetMapRelatedDataAction.java @@ -4,20 +4,20 @@ import java.util.Date; import java.util.Map; import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.gwt.ui.client.SailingServiceAsync; import com.sap.sse.gwt.client.async.AsyncAction; public abstract class AbstractGetMapRelatedDataAction implements AsyncAction { private final SailingServiceAsync sailingService; private final RegattaAndRaceIdentifier raceIdentifier; - private final Map from; - private final Map to; + private final Map from; + private final Map to; private final boolean extrapolate; public AbstractGetMapRelatedDataAction(SailingServiceAsync sailingService, - RegattaAndRaceIdentifier raceIdentifier, Map from, - Map to, boolean extrapolate) { + RegattaAndRaceIdentifier raceIdentifier, Map from, + Map to, boolean extrapolate) { this.sailingService = sailingService; this.raceIdentifier = raceIdentifier; this.from = from; @@ -33,11 +33,11 @@ public abstract class AbstractGetMapRelatedDataAction implements AsyncAction< return raceIdentifier; } - protected Map getFrom() { + protected Map getFrom() { return from; } - protected Map getTo() { + protected Map getTo() { return to; } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/actions/GetBoatPositionsAction.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/actions/GetBoatPositionsAction.java index 7b153fe21e3..b57d05638a5 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/actions/GetBoatPositionsAction.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/actions/GetBoatPositionsAction.java @@ -6,14 +6,14 @@ import java.util.Map; import com.google.gwt.user.client.rpc.AsyncCallback; import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.gwt.ui.client.SailingServiceAsync; import com.sap.sailing.gwt.ui.shared.CompactBoatPositionsDTO; public class GetBoatPositionsAction extends AbstractGetMapRelatedDataAction { public GetBoatPositionsAction(SailingServiceAsync sailingService, - RegattaAndRaceIdentifier raceIdentifier, Map from, - Map to, boolean extrapolate) { + RegattaAndRaceIdentifier raceIdentifier, Map from, + Map to, boolean extrapolate) { super(sailingService, raceIdentifier, from, to, extrapolate); } @@ -21,11 +21,11 @@ public class GetBoatPositionsAction extends AbstractGetMapRelatedDataAction callback) { Map fromByCompetitorIdAsString = new HashMap(); System.out.println(fromByCompetitorIdAsString); - for (Map.Entry fromEntry : getFrom().entrySet()) { + for (Map.Entry fromEntry : getFrom().entrySet()) { fromByCompetitorIdAsString.put(fromEntry.getKey().getIdAsString(), fromEntry.getValue()); } Map toByCompetitorIdAsString = new HashMap(); - for (Map.Entry toEntry : getTo().entrySet()) { + for (Map.Entry toEntry : getTo().entrySet()) { toByCompetitorIdAsString.put(toEntry.getKey().getIdAsString(), toEntry.getValue()); } getSailingService().getBoatPositions(getRaceIdentifier(), fromByCompetitorIdAsString, toByCompetitorIdAsString, diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/actions/GetCompetitorsRaceDataAction.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/actions/GetCompetitorsRaceDataAction.java index 02a701a1f9a..7b58d1d2714 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/actions/GetCompetitorsRaceDataAction.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/actions/GetCompetitorsRaceDataAction.java @@ -6,7 +6,7 @@ import java.util.List; import com.google.gwt.user.client.rpc.AsyncCallback; import com.sap.sailing.domain.common.DetailType; import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.gwt.ui.client.SailingServiceAsync; import com.sap.sailing.gwt.ui.shared.CompetitorsRaceDataDTO; import com.sap.sse.gwt.client.async.AsyncAction; @@ -14,7 +14,7 @@ import com.sap.sse.gwt.client.async.AsyncAction; public class GetCompetitorsRaceDataAction implements AsyncAction { private final SailingServiceAsync sailingService; private final RegattaAndRaceIdentifier raceIdentifier; - private final List competitors; + private final List competitors; private final Date fromDate; private final Date toDate; private final long stepSizeInMs; @@ -23,7 +23,7 @@ public class GetCompetitorsRaceDataAction implements AsyncAction competitors, Date fromDate, Date toDate, long stepSizeInMs, DetailType detailType, + List competitors, Date fromDate, Date toDate, long stepSizeInMs, DetailType detailType, String leaderboardGroupName, String leaderboardName) { this.sailingService = sailingService; this.raceIdentifier = raceIdentifier; diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/actions/GetLeaderboardDataEntriesAction.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/actions/GetLeaderboardDataEntriesAction.java index 46b335e4bbb..85aeff1a92a 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/actions/GetLeaderboardDataEntriesAction.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/actions/GetLeaderboardDataEntriesAction.java @@ -5,12 +5,12 @@ import java.util.List; import com.google.gwt.user.client.rpc.AsyncCallback; import com.sap.sailing.domain.common.DetailType; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.gwt.ui.client.SailingServiceAsync; import com.sap.sse.common.Util; import com.sap.sse.gwt.client.async.AsyncAction; -public class GetLeaderboardDataEntriesAction implements AsyncAction, List>>> { +public class GetLeaderboardDataEntriesAction implements AsyncAction, List>>> { private final SailingServiceAsync sailingService; private final DetailType detailType; private final String leaderboardName; @@ -24,7 +24,7 @@ public class GetLeaderboardDataEntriesAction implements AsyncAction, List>>> callback) { + public void execute(AsyncCallback, List>>> callback) { sailingService.getLeaderboardDataEntriesForAllRaceColumns(leaderboardName, date, detailType, callback); } } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/actions/GetRaceMapDataAction.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/actions/GetRaceMapDataAction.java index a4bc4b44490..86350fed188 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/actions/GetRaceMapDataAction.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/actions/GetRaceMapDataAction.java @@ -7,22 +7,22 @@ import java.util.Map; import com.google.gwt.user.client.rpc.AsyncCallback; import com.sap.sailing.domain.common.LegIdentifier; import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.gwt.ui.client.SailingServiceAsync; import com.sap.sailing.gwt.ui.shared.CompactRaceMapDataDTO; import com.sap.sailing.gwt.ui.shared.RaceMapDataDTO; public class GetRaceMapDataAction extends AbstractGetMapRelatedDataAction { - private final Map competitorsByIdAsString; + private final Map competitorsByIdAsString; private final Date date; private final LegIdentifier simulationLegIdentifier; private final byte[] md5OfIdsAsStringOfCompetitorParticipatingInRaceInAlphanumericOrderOfTheirID; private Date timeForEstimation; private boolean targetEstimationRequired; - public GetRaceMapDataAction(SailingServiceAsync sailingService, Map competitorsByIdAsString, - RegattaAndRaceIdentifier raceIdentifier, Date date, Map from, - Map to, boolean extrapolate, LegIdentifier simulationLegIdentifier, + public GetRaceMapDataAction(SailingServiceAsync sailingService, Map competitorsByIdAsString, + RegattaAndRaceIdentifier raceIdentifier, Date date, Map from, + Map to, boolean extrapolate, LegIdentifier simulationLegIdentifier, byte[] md5OfIdsAsStringOfCompetitorParticipatingInRaceInAlphanumericOrderOfTheirID,Date timeForEstimation, boolean targetEstimationRequired) { super(sailingService, raceIdentifier, from, to, extrapolate); this.competitorsByIdAsString = competitorsByIdAsString; @@ -36,11 +36,11 @@ public class GetRaceMapDataAction extends AbstractGetMapRelatedDataAction callback) { Map fromByCompetitorIdAsString = new HashMap(); - for (Map.Entry fromEntry : getFrom().entrySet()) { + for (Map.Entry fromEntry : getFrom().entrySet()) { fromByCompetitorIdAsString.put(fromEntry.getKey().getIdAsString(), fromEntry.getValue()); } Map toByCompetitorIdAsString = new HashMap(); - for (Map.Entry toEntry : getTo().entrySet()) { + for (Map.Entry toEntry : getTo().entrySet()) { toByCompetitorIdAsString.put(toEntry.getKey().getIdAsString(), toEntry.getValue()); } getSailingService().getRaceMapData(getRaceIdentifier(), date, fromByCompetitorIdAsString, toByCompetitorIdAsString, diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/AbstractCompetitorRegistrationDialog.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/AbstractCompetitorRegistrationDialog.java index 369f44679e8..0502ac0393d 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/AbstractCompetitorRegistrationDialog.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/AbstractCompetitorRegistrationDialog.java @@ -6,13 +6,13 @@ import java.util.function.Consumer; import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.gwt.user.client.ui.Widget; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.gwt.ui.client.SailingServiceAsync; import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sse.gwt.client.ErrorReporter; import com.sap.sse.gwt.client.dialog.DataEntryDialog; -public abstract class AbstractCompetitorRegistrationDialog extends DataEntryDialog> { +public abstract class AbstractCompetitorRegistrationDialog extends DataEntryDialog> { protected final ErrorReporter errorReporter; protected final SailingServiceAsync sailingService; protected final StringMessages stringMessages; @@ -22,9 +22,9 @@ public abstract class AbstractCompetitorRegistrationDialog extends DataEntryDial public AbstractCompetitorRegistrationDialog(SailingServiceAsync sailingService, StringMessages stringMessages, ErrorReporter errorReporter, boolean editable, - com.sap.sse.gwt.client.dialog.DataEntryDialog.DialogCallback> callback, + com.sap.sse.gwt.client.dialog.DataEntryDialog.DialogCallback> callback, String leaderboardName, boolean canBoatsOfCompetitorsChangePerRace, String boatClass, String okButtonMessage, - Validator> validator) { + Validator> validator) { super(stringMessages.registerCompetitors(), /* messsage */null, okButtonMessage, stringMessages.cancel(), validator, callback); this.errorReporter = errorReporter; @@ -42,11 +42,11 @@ public abstract class AbstractCompetitorRegistrationDialog extends DataEntryDial } @Override - protected Set getResult() { + protected Set getResult() { return competitorRegistrationsPanel.getResult(); } - protected abstract Consumer>> getRegisteredCompetitorsRetriever(); + protected abstract Consumer>> getRegisteredCompetitorsRetriever(); protected abstract Widget[] getAdditionalWidgetsToInsertAboveCompetitorTables(StringMessages stringMessages); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/AbstractCompetitorWithBoatDialog.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/AbstractCompetitorWithBoatDialog.java index dd2d250c6b2..d1670a50d20 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/AbstractCompetitorWithBoatDialog.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/AbstractCompetitorWithBoatDialog.java @@ -4,9 +4,9 @@ import com.google.gwt.user.client.ui.FocusWidget; import com.google.gwt.user.client.ui.SuggestBox; import com.google.gwt.user.client.ui.TextBox; import com.sap.sailing.domain.common.dto.BoatDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTOImpl; import com.sap.sailing.domain.common.dto.CompetitorDTO; -import com.sap.sailing.domain.common.dto.CompetitorDTOImpl; -import com.sap.sailing.domain.common.dto.CompetitorWithoutBoatDTO; import com.sap.sailing.gwt.common.client.suggestion.BoatClassMasterdataSuggestOracle; import com.sap.sailing.gwt.ui.client.StringMessages; @@ -31,7 +31,7 @@ public abstract class AbstractCompetitorWithBoatDialog extends CompetitorEditDia } @Override - public String getErrorMessage(CompetitorDTO competitorToValidate) { + public String getErrorMessage(CompetitorWithBoatDTO competitorToValidate) { String result = super.getErrorMessage(competitorToValidate); if (result == null) { BoatDTO boatToValidate = competitorToValidate.getBoat(); @@ -58,8 +58,8 @@ public abstract class AbstractCompetitorWithBoatDialog extends CompetitorEditDia * The boat class is the default shown boat class for new boats. Set null if your boat is * already initialized or you don't want a default boat class. */ - public AbstractCompetitorWithBoatDialog(String dialogTitle, StringMessages stringMessages, CompetitorDTO competitorToEdit, - DialogCallback callback, String boatClass) { + public AbstractCompetitorWithBoatDialog(String dialogTitle, StringMessages stringMessages, CompetitorWithBoatDTO competitorToEdit, + DialogCallback callback, String boatClass) { super(dialogTitle, stringMessages, competitorToEdit, new AbstractCompetitorWithBoatDialog.CompetitorWithBoatValidator(stringMessages), callback); final BoatDTO boatToEdit = competitorToEdit.getBoat(); @@ -86,10 +86,10 @@ public abstract class AbstractCompetitorWithBoatDialog extends CompetitorEditDia protected abstract BoatDTO getBoat(); @Override - protected CompetitorDTO getResult() { - CompetitorWithoutBoatDTO c = super.getResult(); + protected CompetitorWithBoatDTO getResult() { + CompetitorDTO c = super.getResult(); BoatDTO boat = getBoat(); - CompetitorDTO result = new CompetitorDTOImpl(c.getName(), c.getShortName(), c.getColor(), c.getEmail(), + CompetitorWithBoatDTO result = new CompetitorWithBoatDTOImpl(c.getName(), c.getShortName(), c.getColor(), c.getEmail(), c.getTwoLetterIsoCountryCode(), c.getThreeLetterIocCountryCode(), c.getCountryName(), getCompetitorToEdit().getIdAsString(), c.getImageURL(), c.getFlagImageURL(), diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/AbstractRegattaLogFixesAddMappingsDialog.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/AbstractRegattaLogFixesAddMappingsDialog.java index 79ab27783be..a350a9e7878 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/AbstractRegattaLogFixesAddMappingsDialog.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/AbstractRegattaLogFixesAddMappingsDialog.java @@ -14,7 +14,7 @@ import com.google.gwt.user.client.ui.VerticalPanel; import com.google.gwt.user.client.ui.Widget; import com.google.gwt.view.client.SingleSelectionModel; import com.sap.sailing.domain.common.dto.BoatDTO; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.domain.common.racelog.tracking.MappableToDevice; import com.sap.sailing.gwt.ui.client.SailingServiceAsync; import com.sap.sailing.gwt.ui.client.StringMessages; @@ -32,12 +32,12 @@ public class AbstractRegattaLogFixesAddMappingsDialog extends DataEntryDialog> competitorTable; + private final CompetitorTableWrapper> competitorTable; private final MarkTableWrapper> markTable; private final BoatTableWrapper> boatTable; private TrackFileImportDeviceIdentifierDTO deviceToSelect; - private CompetitorDTO compToSelect; + private CompetitorWithBoatDTO compToSelect; private MarkDTO markToSelect; private BoatDTO boatToSelect; private boolean inInstableTransitionState = false; @@ -108,9 +108,9 @@ public class AbstractRegattaLogFixesAddMappingsDialog extends DataEntryDialog>() { + new AsyncCallback>() { @Override - public void onSuccess(Collection result) { + public void onSuccess(Collection result) { competitorTable.refreshCompetitorList(result); } @@ -157,8 +157,8 @@ public class AbstractRegattaLogFixesAddMappingsDialog extends DataEntryDialog> boatTable; - private final CompetitorTableWrapper> competitorTable; + private final CompetitorTableWrapper> competitorTable; private final StringMessages stringMessages; private TrackFileImportDeviceIdentifierDTO deviceToSelect; - private CompetitorDTO compToSelect; + private CompetitorWithBoatDTO compToSelect; private BoatDTO boatToSelect; private boolean inInstableTransitionState = false; @@ -92,9 +92,9 @@ public abstract class AbstractRegattaLogSensorDataAddMappingsDialog extends Data private void getCompetitorRegistrations(SailingServiceAsync sailingService, final ErrorReporter errorReporter) { sailingService.getCompetitorRegistrationsForLeaderboard(leaderboardName, - new AsyncCallback>() { + new AsyncCallback>() { @Override - public void onSuccess(Collection result) { + public void onSuccess(Collection result) { competitorTable.refreshCompetitorList(result); } @@ -174,8 +174,8 @@ public abstract class AbstractRegattaLogSensorDataAddMappingsDialog extends Data if (!inInstableTransitionState) { deviceIdTable.setMappedObjectForSelectedDevice(mappedTo); - if (mappedTo instanceof CompetitorDTO) { - compToSelect = (CompetitorDTO) mappedTo; + if (mappedTo instanceof CompetitorWithBoatDTO) { + compToSelect = (CompetitorWithBoatDTO) mappedTo; boatToSelect = null; } else if (mappedTo instanceof BoatDTO) { compToSelect = null; @@ -194,8 +194,8 @@ public abstract class AbstractRegattaLogSensorDataAddMappingsDialog extends Data if (deviceId != null) { final MappableToDevice mappedTo = deviceIdTable.getMappedObjectForDeviceId(deviceId); - if (mappedTo instanceof CompetitorDTO) { - compToSelect = (CompetitorDTO) mappedTo; + if (mappedTo instanceof CompetitorWithBoatDTO) { + compToSelect = (CompetitorWithBoatDTO) mappedTo; } else if (mappedTo instanceof BoatDTO) { boatToSelect = (BoatDTO) mappedTo; } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompactBoatTableWrapper.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompactBoatTableWrapper.java index de667accc06..bb30ea019c0 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompactBoatTableWrapper.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompactBoatTableWrapper.java @@ -14,7 +14,7 @@ import com.google.gwt.user.cellview.client.TextColumn; import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.gwt.user.client.ui.Label; import com.sap.sailing.domain.common.dto.BoatDTO; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.gwt.ui.adminconsole.ColorColumn.ColorRetriever; import com.sap.sailing.gwt.ui.client.SailingServiceAsync; import com.sap.sailing.gwt.ui.client.StringMessages; @@ -180,14 +180,14 @@ public class CompactBoatTableWrapper> myCallback = new AsyncCallback>() { + final AsyncCallback> myCallback = new AsyncCallback>() { @Override public void onFailure(Throwable caught) { errorReporter.reportError("Remote Procedure Call refreshBoatListFromRace() - Failure: " + caught.getMessage()); } @Override - public void onSuccess(Map result) { + public void onSuccess(Map result) { filterBoats(result.values()); } }; diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompactCompetitorTableWrapper.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompactCompetitorTableWrapper.java index 3dbf9202a1a..6df1318c5d7 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompactCompetitorTableWrapper.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompactCompetitorTableWrapper.java @@ -16,7 +16,7 @@ import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.gwt.user.client.ui.ImageResourceRenderer; import com.google.gwt.user.client.ui.Label; import com.sap.sailing.domain.common.dto.BoatDTO; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.gwt.ui.client.FlagImageResolverImpl; import com.sap.sailing.gwt.ui.client.SailingServiceAsync; import com.sap.sailing.gwt.ui.client.StringMessages; @@ -36,57 +36,57 @@ import com.sap.sse.gwt.client.panels.LabeledAbstractFilterablePanel; * * @param */ -public class CompactCompetitorTableWrapper> extends TableWrapper { - private final LabeledAbstractFilterablePanel filterField; +public class CompactCompetitorTableWrapper> extends TableWrapper { + private final LabeledAbstractFilterablePanel filterField; public CompactCompetitorTableWrapper(SailingServiceAsync sailingService, StringMessages stringMessages, ErrorReporter errorReporter, boolean multiSelection, boolean enablePager) { super(sailingService, stringMessages, errorReporter, multiSelection, enablePager, - new EntityIdentityComparator() { + new EntityIdentityComparator() { @Override - public boolean representSameEntity(CompetitorDTO dto1, CompetitorDTO dto2) { + public boolean representSameEntity(CompetitorWithBoatDTO dto1, CompetitorWithBoatDTO dto2) { return dto1.getIdAsString().equals(dto2.getIdAsString()); } @Override - public int hashCode(CompetitorDTO t) { + public int hashCode(CompetitorWithBoatDTO t) { return t.getIdAsString().hashCode(); } }); - ListHandler competitorColumnListHandler = getColumnSortHandler(); + ListHandler competitorColumnListHandler = getColumnSortHandler(); // competitors table - TextColumn competitorNameColumn = new TextColumn() { + TextColumn competitorNameColumn = new TextColumn() { @Override - public String getValue(CompetitorDTO competitor) { + public String getValue(CompetitorWithBoatDTO competitor) { return competitor.getName(); } }; competitorNameColumn.setSortable(true); - competitorColumnListHandler.setComparator(competitorNameColumn, new Comparator() { + competitorColumnListHandler.setComparator(competitorNameColumn, new Comparator() { @Override - public int compare(CompetitorDTO o1, CompetitorDTO o2) { + public int compare(CompetitorWithBoatDTO o1, CompetitorWithBoatDTO o2) { return o1.getName().compareTo(o2.getName()); } }); - TextColumn competitorShortNameColumn = new TextColumn() { + TextColumn competitorShortNameColumn = new TextColumn() { @Override - public String getValue(CompetitorDTO competitor) { + public String getValue(CompetitorWithBoatDTO competitor) { return competitor.getShortName(); } }; competitorShortNameColumn.setSortable(true); - competitorColumnListHandler.setComparator(competitorShortNameColumn, new Comparator() { + competitorColumnListHandler.setComparator(competitorShortNameColumn, new Comparator() { private final NaturalComparator comparator = new NaturalComparator(/* case sensitive */ false); @Override - public int compare(CompetitorDTO o1, CompetitorDTO o2) { + public int compare(CompetitorWithBoatDTO o1, CompetitorWithBoatDTO o2) { return comparator.compare(o1.getShortName(), o2.getShortName()); } }); - Column flagImageColumn = new Column(new SafeHtmlCell()) { + Column flagImageColumn = new Column(new SafeHtmlCell()) { @Override - public SafeHtml getValue(CompetitorDTO competitor) { + public SafeHtml getValue(CompetitorWithBoatDTO competitor) { SafeHtmlBuilder sb = new SafeHtmlBuilder(); ImageResourceRenderer renderer = new ImageResourceRenderer(); final String twoLetterIsoCountryCode = competitor.getTwoLetterIsoCountryCode(); @@ -110,32 +110,32 @@ public class CompactCompetitorTableWrapper competitorSearchTagColumn = new TextColumn() { + TextColumn competitorSearchTagColumn = new TextColumn() { @Override - public String getValue(CompetitorDTO competitor) { + public String getValue(CompetitorWithBoatDTO competitor) { return competitor.getSearchTag(); } }; competitorSearchTagColumn.setSortable(true); - competitorColumnListHandler.setComparator(competitorSearchTagColumn, new Comparator() { + competitorColumnListHandler.setComparator(competitorSearchTagColumn, new Comparator() { @Override - public int compare(CompetitorDTO o1, CompetitorDTO o2) { + public int compare(CompetitorWithBoatDTO o1, CompetitorWithBoatDTO o2) { return new NaturalComparator(false).compare(o1.getSearchTag(), o2.getSearchTag()); } }); - TextColumn isBoatLinkedColumn = new TextColumn() { + TextColumn isBoatLinkedColumn = new TextColumn() { @Override - public String getValue(CompetitorDTO competitor) { + public String getValue(CompetitorWithBoatDTO competitor) { boolean hasBoat = competitor.getBoat() != null; return hasBoat ? stringMessages.yes() : stringMessages.no(); } }; - filterField = new LabeledAbstractFilterablePanel(new Label(stringMessages.filterCompetitors()), - new ArrayList(), table, dataProvider) { + filterField = new LabeledAbstractFilterablePanel(new Label(stringMessages.filterCompetitors()), + new ArrayList(), table, dataProvider) { @Override - public Iterable getSearchableStrings(CompetitorDTO t) { + public Iterable getSearchableStrings(CompetitorWithBoatDTO t) { List string = new ArrayList(); string.add(t.getName()); string.add(t.getShortName()); @@ -155,34 +155,34 @@ public class CompactCompetitorTableWrapper getAllCompetitors() { + public Iterable getAllCompetitors() { return filterField.getAll(); } - public LabeledAbstractFilterablePanel getFilterField() { + public LabeledAbstractFilterablePanel getFilterField() { return filterField; } - public void refreshCompetitorList(Iterable competitors) { + public void refreshCompetitorList(Iterable competitors) { getFilteredCompetitors(competitors); } public void refreshCompetitorListFromRace(String leaderboardName, String raceColumnName, String fleetName) { - final AsyncCallback> myCallback = new AsyncCallback>() { + final AsyncCallback> myCallback = new AsyncCallback>() { @Override public void onFailure(Throwable caught) { errorReporter.reportError("Remote Procedure Call getCompetitors() - Failure: " + caught.getMessage()); } @Override - public void onSuccess(Map result) { + public void onSuccess(Map result) { refreshCompetitorList(result.keySet()); } }; sailingService.getCompetitorsAndBoatsOfRace(leaderboardName, raceColumnName, fleetName, myCallback); } - private void getFilteredCompetitors(Iterable result) { + private void getFilteredCompetitors(Iterable result) { filterField.updateAll(result); } } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorDescriptorTableWrapper.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorDescriptorTableWrapper.java index c6816b97e6f..3b515b9757c 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorDescriptorTableWrapper.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorDescriptorTableWrapper.java @@ -17,7 +17,7 @@ import com.google.gwt.user.cellview.client.ColumnSortEvent.ListHandler; import com.google.gwt.user.cellview.client.TextColumn; import com.google.gwt.user.client.ui.Label; import com.sap.sailing.domain.common.CompetitorDescriptor; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.gwt.ui.client.FlagImageResolverImpl; import com.sap.sailing.gwt.ui.client.SailingServiceAsync; import com.sap.sailing.gwt.ui.client.StringMessages; @@ -86,7 +86,7 @@ public class CompetitorDescriptorTableWrapper unlinkColumn, CompetitorsToImportToExistingLinking unlinkCallback) { ListHandler competitorColumnListHandler = getColumnSortHandler(); final NaturalComparator caseInsensitiveNaturalComparator = new NaturalComparator(/* case sensitive */ false); - final Comparator nullFirstComparator = Comparator.nullsFirst(/* real comparator */ null); + final Comparator nullFirstComparator = Comparator.nullsFirst(/* real comparator */ null); competitorColumnListHandler.setComparator(competitorNameColumn, (cd1, cd2)->caseInsensitiveNaturalComparator.compare(cd1.getName(), cd2.getName())); competitorColumnListHandler.setComparator(boatClassNameColumn, (cd1, cd2)->caseInsensitiveNaturalComparator.compare(cd1.getBoatClassName(), cd2.getBoatClassName())); competitorColumnListHandler.setComparator(sailIdColumn, (cd1, cd2)->caseInsensitiveNaturalComparator.compare(cd1.getSailNumber(), cd2.getSailNumber())); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorEditDialog.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorEditDialog.java index 3ca32ce1378..eb0103a0119 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorEditDialog.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorEditDialog.java @@ -12,8 +12,8 @@ import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.ListBox; import com.google.gwt.user.client.ui.TextBox; import com.google.gwt.user.client.ui.Widget; -import com.sap.sailing.domain.common.dto.CompetitorDTO; -import com.sap.sailing.domain.common.dto.CompetitorDTOImpl; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTOImpl; import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sse.common.Color; import com.sap.sse.common.CountryCode; @@ -26,15 +26,15 @@ import com.sap.sse.gwt.client.dialog.DataEntryDialog; /** * The competitors produced by this dialog will have a null - * {@link CompetitorDTO#getTwoLetterIsoCountryCode() twoLetterIsoCountryCode} and a null - * {@link CompetitorDTO#getCountryName() countryName} because all of these can be derived from a valid - * {@link CompetitorDTO#getThreeLetterIocCountryCode() threeLetterIocCountryCode}. + * {@link CompetitorWithBoatDTO#getTwoLetterIsoCountryCode() twoLetterIsoCountryCode} and a null + * {@link CompetitorWithBoatDTO#getCountryName() countryName} because all of these can be derived from a valid + * {@link CompetitorWithBoatDTO#getThreeLetterIocCountryCode() threeLetterIocCountryCode}. * * @author Axel Uhl (d043530) * */ -public class CompetitorEditDialog extends DataEntryDialog { - private final CompetitorDTO competitorToEdit; +public class CompetitorEditDialog extends DataEntryDialog { + private final CompetitorWithBoatDTO competitorToEdit; private final TextBox name; private final TextBox shortName; private final TextBox displayColorTextBox; @@ -48,7 +48,7 @@ public class CompetitorEditDialog extends DataEntryDialog { private final DoubleBox timeOnTimeFactor; private final DoubleBox timeOnDistanceAllowanceInSecondsPerNauticalMile; - protected static class CompetitorWithoutBoatValidator implements Validator { + protected static class CompetitorWithoutBoatValidator implements Validator { protected final StringMessages stringMessages; public CompetitorWithoutBoatValidator(StringMessages stringMessages) { @@ -56,7 +56,7 @@ public class CompetitorEditDialog extends DataEntryDialog { } @Override - public String getErrorMessage(CompetitorDTO valueToValidate) { + public String getErrorMessage(CompetitorWithBoatDTO valueToValidate) { String result = null; if (valueToValidate.getName() == null || valueToValidate.getName().isEmpty()) { result = stringMessages.pleaseEnterAName(); @@ -70,8 +70,8 @@ public class CompetitorEditDialog extends DataEntryDialog { } } - public static CompetitorEditDialog create(StringMessages stringMessages, CompetitorDTO competitorToEdit, - DialogCallback callback) { + public static CompetitorEditDialog create(StringMessages stringMessages, CompetitorWithBoatDTO competitorToEdit, + DialogCallback callback) { return new CompetitorEditDialog(stringMessages.editCompetitor(), stringMessages, competitorToEdit, new CompetitorEditDialog.CompetitorWithoutBoatValidator(stringMessages), callback); } @@ -82,8 +82,8 @@ public class CompetitorEditDialog extends DataEntryDialog { * @param competitorToEdit * The 'competitorToEdit' parameter contains the competitor which should be changed or initialized. */ - protected CompetitorEditDialog(String dialogTitle, StringMessages stringMessages, CompetitorDTO competitorToEdit, - Validator validator, DialogCallback callback) { + protected CompetitorEditDialog(String dialogTitle, StringMessages stringMessages, CompetitorWithBoatDTO competitorToEdit, + Validator validator, DialogCallback callback) { super(dialogTitle, null, stringMessages.ok(), stringMessages.cancel(), validator, /* animationEnabled */true, callback); this.ensureDebugId("CompetitorEditDialog"); @@ -174,7 +174,7 @@ public class CompetitorEditDialog extends DataEntryDialog { } @Override - protected CompetitorDTO getResult() { + protected CompetitorWithBoatDTO getResult() { Color color; if (displayColorTextBox.getText() == null || displayColorTextBox.getText().isEmpty()) { color = null; @@ -185,7 +185,7 @@ public class CompetitorEditDialog extends DataEntryDialog { color = new InvalidColor(iae); } } - CompetitorDTO result = new CompetitorDTOImpl(name.getText(), + CompetitorWithBoatDTO result = new CompetitorWithBoatDTOImpl(name.getText(), shortName.getText().trim().isEmpty() ? null : shortName.getText(), color, email.getText().trim().isEmpty() ? null : email.getText(), /* twoLetterIsoCountryCode */ null, @@ -224,7 +224,7 @@ public class CompetitorEditDialog extends DataEntryDialog { return result; } - protected CompetitorDTO getCompetitorToEdit() { + protected CompetitorWithBoatDTO getCompetitorToEdit() { return competitorToEdit; } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorImportMatcher.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorImportMatcher.java index e472d3f8795..42b382e81c3 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorImportMatcher.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorImportMatcher.java @@ -4,7 +4,7 @@ import java.util.HashSet; import java.util.Set; import com.sap.sailing.domain.common.CompetitorDescriptor; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sse.common.Util; /** @@ -16,18 +16,18 @@ import com.sap.sse.common.Util; */ public class CompetitorImportMatcher { //FIXME: Not sure about the amount of data. May be need to implement some cache for that. - private final Iterable existingCompetitorDTOs; + private final Iterable existingCompetitorDTOs; - public CompetitorImportMatcher(Iterable existingCompetitors) { + public CompetitorImportMatcher(Iterable existingCompetitors) { this.existingCompetitorDTOs = existingCompetitors; } - public Set getMatchesCompetitors(CompetitorDescriptor competitorDescriptor) { - Set matchesCompetitor = new HashSet<>(); + public Set getMatchesCompetitors(CompetitorDescriptor competitorDescriptor) { + Set matchesCompetitor = new HashSet<>(); if (competitorDescriptor == null) { return matchesCompetitor; } - for (CompetitorDTO existingCompetitor : existingCompetitorDTOs) { + for (CompetitorWithBoatDTO existingCompetitor : existingCompetitorDTOs) { if (isEqual(competitorDescriptor, existingCompetitor)) { matchesCompetitor.add(existingCompetitor); } @@ -35,7 +35,7 @@ public class CompetitorImportMatcher { return matchesCompetitor; } - private boolean isEqual(CompetitorDescriptor competitorDescriptor, CompetitorDTO existingCompetitor) { + private boolean isEqual(CompetitorDescriptor competitorDescriptor, CompetitorWithBoatDTO existingCompetitor) { return Util.equalsWithNull(competitorDescriptor.getName(), existingCompetitor.getName(), /* ignoreCase */ true) && Util.equalsWithNull(removeSpaces(competitorDescriptor.getSailNumber()), removeSpaces(existingCompetitor.getSailID()), /* ignoreCase */ true) && compareCountryCode(competitorDescriptor, existingCompetitor); @@ -45,7 +45,7 @@ public class CompetitorImportMatcher { return s==null?null:s.replace(" ", "").replace("\t", ""); } - private boolean compareCountryCode(CompetitorDescriptor competitorDescriptor, CompetitorDTO existingCompetitor) { + private boolean compareCountryCode(CompetitorDescriptor competitorDescriptor, CompetitorWithBoatDTO existingCompetitor) { return Util.equalsWithNull(competitorDescriptor.getCountryCode() == null ? null : competitorDescriptor.getCountryCode().getThreeLetterIOCCode(), existingCompetitor.getThreeLetterIocCountryCode(), /* ignoreCase */ true); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorImportProviderSelectionDialog.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorImportProviderSelectionDialog.java index 4a81ff8c700..e0032fca986 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorImportProviderSelectionDialog.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorImportProviderSelectionDialog.java @@ -14,9 +14,9 @@ import com.google.gwt.user.client.ui.FocusWidget; import com.google.gwt.user.client.ui.ListBox; import com.google.gwt.user.client.ui.VerticalPanel; import com.google.gwt.user.client.ui.Widget; -import com.sap.sailing.domain.base.CompetitorStore; +import com.sap.sailing.domain.base.CompetitorAndBoatStore; import com.sap.sailing.domain.common.CompetitorDescriptor; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.gwt.ui.client.ParallelExecutionCallback; import com.sap.sailing.gwt.ui.client.ParallelExecutionHolder; import com.sap.sailing.gwt.ui.client.SailingServiceAsync; @@ -188,7 +188,7 @@ public class CompetitorImportProviderSelectionDialog extends DataEntryDialog[] competitorDescriptors = (Iterable[]) new Iterable[1]; @SuppressWarnings("unchecked") - final Iterable[] competitors = (Iterable[]) new Iterable[1]; + final Iterable[] competitors = (Iterable[]) new Iterable[1]; final ParallelExecutionCallback> getCompetitorDescriptorsCallback = new ParallelExecutionCallback>() { @Override @@ -197,10 +197,10 @@ public class CompetitorImportProviderSelectionDialog extends DataEntryDialog> getCompetitorsCallback = - new ParallelExecutionCallback>() { + final ParallelExecutionCallback> getCompetitorsCallback = + new ParallelExecutionCallback>() { @Override - public void onSuccess(Iterable myCompetitors) { + public void onSuccess(Iterable myCompetitors) { competitors[0] = myCompetitors; super.onSuccess(myCompetitors); } @@ -234,13 +234,13 @@ public class CompetitorImportProviderSelectionDialog extends DataEntryDialog competitorDescriptors, Iterable competitors); + Iterable competitorDescriptors, Iterable competitors); } @Override diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorInvitationHelper.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorInvitationHelper.java index 3fd308ec1b6..b6ffe99fce1 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorInvitationHelper.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorInvitationHelper.java @@ -5,7 +5,7 @@ import java.util.Set; import com.google.gwt.i18n.client.LocaleInfo; import com.google.gwt.user.client.Window; import com.google.gwt.user.client.rpc.AsyncCallback; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.gwt.ui.client.SailingServiceAsync; import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sailing.gwt.ui.shared.EventDTO; @@ -25,7 +25,7 @@ public class CompetitorInvitationHelper { this.errorReporter = errorReporter; } - public void inviteCompetitors(Set competitors, String leaderboardName) { + public void inviteCompetitors(Set competitors, String leaderboardName) { if (competitors.size() == 0){ Window.alert(stringMessages.selectAtLeastOneCompetitorForInvitation()); } else { @@ -39,8 +39,8 @@ public class CompetitorInvitationHelper { } } - private boolean isEmailProvidedForAll(Iterable allCompetitors) { - for (CompetitorDTO competitor : allCompetitors) { + private boolean isEmailProvidedForAll(Iterable allCompetitors) { + for (CompetitorWithBoatDTO competitor : allCompetitors) { if (!competitor.hasEmail()) { return false; } @@ -49,7 +49,7 @@ public class CompetitorInvitationHelper { return true; } - private void openChooseEventDialogAndSendMails(final Set competitors, final String leaderboardName) { + private void openChooseEventDialogAndSendMails(final Set competitors, final String leaderboardName) { new SelectEventAndHostnameDialog(sailingService, stringMessages, errorReporter, leaderboardName, new DialogCallback>() { @Override diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorPanel.java index 9af90da4ab1..36e858d1dc1 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorPanel.java @@ -12,8 +12,8 @@ import com.google.gwt.user.client.ui.VerticalPanel; import com.google.gwt.view.client.SelectionChangeEvent; import com.google.gwt.view.client.SelectionChangeEvent.Handler; import com.sap.sailing.domain.common.CompetitorDescriptor; -import com.sap.sailing.domain.common.dto.CompetitorDTO; -import com.sap.sailing.domain.common.dto.CompetitorDTOImpl; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTOImpl; import com.sap.sailing.gwt.ui.adminconsole.CompetitorImportProviderSelectionDialog.MatchImportedCompetitorsDialogFactory; import com.sap.sailing.gwt.ui.client.SailingServiceAsync; import com.sap.sailing.gwt.ui.client.StringMessages; @@ -30,8 +30,8 @@ import com.sap.sse.gwt.client.controls.busyindicator.SimpleBusyIndicator; * */ public class CompetitorPanel extends SimplePanel implements BusyDisplay { - private final CompetitorTableWrapper> competitorTable; - private final RefreshableMultiSelectionModel refreshableCompetitorSelectionModel; + private final CompetitorTableWrapper> competitorTable; + private final RefreshableMultiSelectionModel refreshableCompetitorSelectionModel; private final String leaderboardName; private final BusyIndicator busyIndicator; @@ -47,7 +47,7 @@ public class CompetitorPanel extends SimplePanel implements BusyDisplay { this.leaderboardName = leaderboardName; this.competitorTable = new CompetitorTableWrapper<>(sailingService, stringMessages, errorReporter, /* multiSelection */ true, /* enablePager */ true, /* filterCompetitorWithBoat */ false, /* filterCompetitorsWithoutBoat */ false); - this.refreshableCompetitorSelectionModel = (RefreshableMultiSelectionModel) competitorTable.getSelectionModel(); + this.refreshableCompetitorSelectionModel = (RefreshableMultiSelectionModel) competitorTable.getSelectionModel(); busyIndicator = new SimpleBusyIndicator(false, 0.8f); @@ -90,7 +90,7 @@ public class CompetitorPanel extends SimplePanel implements BusyDisplay { selectAllButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { - for (CompetitorDTO c : competitorTable.getDataProvider().getList()) { + for (CompetitorWithBoatDTO c : competitorTable.getDataProvider().getList()) { refreshableCompetitorSelectionModel.setSelected(c, true); } } @@ -128,7 +128,7 @@ public class CompetitorPanel extends SimplePanel implements BusyDisplay { inviteCompetitorsButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { - Set competitors = refreshableCompetitorSelectionModel.getSelectedSet(); + Set competitors = refreshableCompetitorSelectionModel.getSelectedSet(); CompetitorInvitationHelper helper = new CompetitorInvitationHelper(sailingService, stringMessages, errorReporter); helper.inviteCompetitors(competitors, leaderboardName); } @@ -160,11 +160,11 @@ public class CompetitorPanel extends SimplePanel implements BusyDisplay { @Override public MatchImportedCompetitorsDialog createMatchImportedCompetitorsDialog( final Iterable competitorDescriptors, - final Iterable competitors) { + final Iterable competitors) { ImportCompetitorCallback importCompetitorCallback = new ImportCompetitorCallback(sailingService, errorReporter, stringMessages) { @Override - public void registerCompetitors(Set competitorDTOs) { + public void registerCompetitors(Set competitorDTOs) { super.registerCompetitors(competitorDTOs); refreshCompetitorList(); } @@ -176,7 +176,7 @@ public class CompetitorPanel extends SimplePanel implements BusyDisplay { } private void openAddCompetitorDialog() { - CompetitorDTOImpl competitorDTO = new CompetitorDTOImpl(); + CompetitorWithBoatDTOImpl competitorDTO = new CompetitorWithBoatDTOImpl(); competitorDTO.setBoat(null); competitorTable.openEditCompetitorWithoutBoatDialog(competitorDTO); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorRegistrationsPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorRegistrationsPanel.java index a362b9a44e2..fc2bb759fa9 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorRegistrationsPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorRegistrationsPanel.java @@ -20,8 +20,8 @@ import com.google.gwt.user.client.ui.HorizontalPanel; import com.google.gwt.user.client.ui.VerticalPanel; import com.google.gwt.user.client.ui.Widget; import com.sap.sailing.domain.common.CompetitorDescriptor; -import com.sap.sailing.domain.common.dto.CompetitorDTO; -import com.sap.sailing.domain.common.dto.CompetitorDTOImpl; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTOImpl; import com.sap.sailing.domain.common.dto.CompetitorWithToolTipDTO; import com.sap.sailing.gwt.ui.adminconsole.CompetitorImportProviderSelectionDialog.MatchImportedCompetitorsDialogFactory; import com.sap.sailing.gwt.ui.client.SailingServiceAsync; @@ -37,14 +37,14 @@ import com.sap.sse.gwt.client.controls.busyindicator.SimpleBusyIndicator; * Shows two competitor tables next to each other; the table on the left is that of the "registered" competitors, the table * on the right is the "pool" of all competitors with those already "registered" removed. Between the tables are buttons * to move competitors left and right, thereby assigning them to the "registered" set or moving them back to the pool. - * The {@link #getResult result} consists of all {@link CompetitorDTO competitors} in the table of "registered" competitors.

+ * The {@link #getResult result} consists of all {@link CompetitorWithBoatDTO competitors} in the table of "registered" competitors.

* * @author Axel Uhl (D043530) * */ public class CompetitorRegistrationsPanel extends FlowPanel implements BusyDisplay { - private final CompetitorTableWrapper> allCompetitorsTable; - private final CompetitorTableWrapper> registeredCompetitorsTable; + private final CompetitorTableWrapper> allCompetitorsTable; + private final CompetitorTableWrapper> registeredCompetitorsTable; private final ErrorReporter errorReporter; private Button registerBtn; private Button unregisterBtn; @@ -55,7 +55,7 @@ public class CompetitorRegistrationsPanel extends FlowPanel implements BusyDispl private final BusyIndicator busyIndicator; private final ImportCompetitorCallback importCompetitorCallback; private final Runnable validator; - private final Consumer>> registeredCompetitorsRetriever; + private final Consumer>> registeredCompetitorsRetriever; private final boolean restrictPoolToLeaderboard; /** @@ -78,7 +78,7 @@ public class CompetitorRegistrationsPanel extends FlowPanel implements BusyDispl protected CompetitorRegistrationsPanel(final SailingServiceAsync sailingService, final StringMessages stringMessages, final ErrorReporter errorReporter, boolean editable, String leaderboardName, boolean canBoatsOfCompetitorsChangePerRace, String boatClass, Runnable validator, - Consumer>> registeredCompetitorsRetriever, + Consumer>> registeredCompetitorsRetriever, boolean restrictPoolToLeaderboard, Widget... additionalWidgetsBeforeTables) { this.errorReporter = errorReporter; this.restrictPoolToLeaderboard = restrictPoolToLeaderboard; @@ -92,7 +92,7 @@ public class CompetitorRegistrationsPanel extends FlowPanel implements BusyDispl addCompetitorButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { - CompetitorDTOImpl competitorDTO = new CompetitorDTOImpl(); + CompetitorWithBoatDTOImpl competitorDTO = new CompetitorWithBoatDTOImpl(); competitorDTO.setBoat(null); registeredCompetitorsTable.openEditCompetitorWithoutBoatDialog(competitorDTO); } @@ -101,7 +101,7 @@ public class CompetitorRegistrationsPanel extends FlowPanel implements BusyDispl addCompetitorWithBoatButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { - CompetitorDTOImpl competitorDTO = new CompetitorDTOImpl(); + CompetitorWithBoatDTOImpl competitorDTO = new CompetitorWithBoatDTOImpl(); registeredCompetitorsTable.openEditCompetitorWithBoatDialog(competitorDTO, boatClass); } }); @@ -110,7 +110,7 @@ public class CompetitorRegistrationsPanel extends FlowPanel implements BusyDispl inviteCompetitorsButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { - Set competitors = registeredCompetitorsTable.getSelectionModel().getSelectedSet(); + Set competitors = registeredCompetitorsTable.getSelectionModel().getSelectedSet(); CompetitorInvitationHelper helper = new CompetitorInvitationHelper(sailingService, stringMessages, errorReporter); helper.inviteCompetitors(competitors, leaderboardName); @@ -210,7 +210,7 @@ public class CompetitorRegistrationsPanel extends FlowPanel implements BusyDispl @Override public MatchImportedCompetitorsDialog createMatchImportedCompetitorsDialog( final Iterable competitorDescriptors, - final Iterable competitors) { + final Iterable competitors) { return new MatchImportedCompetitorsDialog(competitorDescriptors, competitors, stringMessages, sailingService, errorReporter, importCompetitorCallback); } @@ -222,19 +222,19 @@ public class CompetitorRegistrationsPanel extends FlowPanel implements BusyDispl busyIndicator.setBusy(isBusy); } - protected void move(CompetitorTableWrapper from, CompetitorTableWrapper to, Iterable toMove) { + protected void move(CompetitorTableWrapper from, CompetitorTableWrapper to, Iterable toMove) { from.getFilterField().removeAll(toMove); to.getFilterField().addAll(toMove); } - protected void addImportedCompetitorsToRegisteredCompetitorsTableAndRemoveFromAllCompetitorsTable(Iterable competitorsImported) { + protected void addImportedCompetitorsToRegisteredCompetitorsTableAndRemoveFromAllCompetitorsTable(Iterable competitorsImported) { allCompetitorsTable.getFilterField().removeAll(competitorsImported); registeredCompetitorsTable.getFilterField().addAll(competitorsImported); validateAndUpdate(); } - private void moveSelected(CompetitorTableWrapper> from, - CompetitorTableWrapper> to) { + private void moveSelected(CompetitorTableWrapper> from, + CompetitorTableWrapper> to) { move(from, to, from.getSelectionModel().getSelectedSet()); validateAndUpdate(); } @@ -250,12 +250,12 @@ public class CompetitorRegistrationsPanel extends FlowPanel implements BusyDispl } private void setRegisterableCompetitorsAndRegisteredCompetitors() { - allCompetitorsTable.refreshCompetitorList(this.restrictPoolToLeaderboard ? leaderboardName : null, new Callback, Throwable>() { + allCompetitorsTable.refreshCompetitorList(this.restrictPoolToLeaderboard ? leaderboardName : null, new Callback, Throwable>() { @Override - public void onSuccess(Iterable result) { - registeredCompetitorsRetriever.accept(new AsyncCallback>() { + public void onSuccess(Iterable result) { + registeredCompetitorsRetriever.accept(new AsyncCallback>() { @Override - public void onSuccess(Collection registeredCompetitors) { + public void onSuccess(Collection registeredCompetitors) { moveFromPoolToRegistered(registeredCompetitors); validateAndUpdate(); } @@ -304,8 +304,8 @@ public class CompetitorRegistrationsPanel extends FlowPanel implements BusyDispl validateAndUpdate(); } - public Set getResult() { - final Set registeredCompetitors = new HashSet<>(); + public Set getResult() { + final Set registeredCompetitors = new HashSet<>(); Util.addAll(registeredCompetitorsTable.getAllCompetitors(), registeredCompetitors); return registeredCompetitors; } @@ -318,7 +318,7 @@ public class CompetitorRegistrationsPanel extends FlowPanel implements BusyDispl allCompetitorsTable.grayOutCompetitors(competitors); } - public void moveFromPoolToRegistered(Collection registeredCompetitors) { + public void moveFromPoolToRegistered(Collection registeredCompetitors) { move(allCompetitorsTable, registeredCompetitorsTable, registeredCompetitors); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorTableWrapper.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorTableWrapper.java index b7280553188..47cd7bd2789 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorTableWrapper.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorTableWrapper.java @@ -21,7 +21,7 @@ import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.gwt.user.client.ui.Label; import com.google.gwt.view.client.CellPreviewEvent; import com.sap.sailing.domain.common.dto.BoatDTO; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.domain.common.dto.CompetitorWithToolTipDTO; import com.sap.sailing.gwt.ui.adminconsole.ColorColumn.ColorRetriever; import com.sap.sailing.gwt.ui.client.FlagImageResolverImpl; @@ -48,8 +48,8 @@ import com.sap.sse.gwt.client.panels.LabeledAbstractFilterablePanel; * * @param */ -public class CompetitorTableWrapper> extends TableWrapper { - private final LabeledAbstractFilterablePanel filterField; +public class CompetitorTableWrapper> extends TableWrapper { + private final LabeledAbstractFilterablePanel filterField; private final boolean filterCompetitorsWithBoat; private final boolean filterCompetitorsWithoutBoat; @@ -65,61 +65,61 @@ public class CompetitorTableWrapper() { + new EntityIdentityComparator() { @Override - public boolean representSameEntity(CompetitorDTO dto1, CompetitorDTO dto2) { + public boolean representSameEntity(CompetitorWithBoatDTO dto1, CompetitorWithBoatDTO dto2) { return dto1.getIdAsString().equals(dto2.getIdAsString()); } @Override - public int hashCode(CompetitorDTO t) { + public int hashCode(CompetitorWithBoatDTO t) { return t.getIdAsString().hashCode(); } }); this.filterCompetitorsWithBoat = filterCompetitorsWithBoat; this.filterCompetitorsWithoutBoat = filterCompetitorsWithoutBoat; - ListHandler competitorColumnListHandler = getColumnSortHandler(); + ListHandler competitorColumnListHandler = getColumnSortHandler(); // competitors table - TextColumn competitorNameColumn = new TextColumn() { + TextColumn competitorNameColumn = new TextColumn() { @Override - public String getValue(CompetitorDTO competitor) { + public String getValue(CompetitorWithBoatDTO competitor) { return competitor.getName(); } }; competitorNameColumn.setSortable(true); - competitorColumnListHandler.setComparator(competitorNameColumn, new Comparator() { + competitorColumnListHandler.setComparator(competitorNameColumn, new Comparator() { @Override - public int compare(CompetitorDTO o1, CompetitorDTO o2) { + public int compare(CompetitorWithBoatDTO o1, CompetitorWithBoatDTO o2) { return o1.getName().compareTo(o2.getName()); } }); - TextColumn competitorShortNameColumn = new TextColumn() { + TextColumn competitorShortNameColumn = new TextColumn() { @Override - public String getValue(CompetitorDTO competitor) { + public String getValue(CompetitorWithBoatDTO competitor) { return competitor.getShortName(); } }; competitorShortNameColumn.setSortable(true); - competitorColumnListHandler.setComparator(competitorShortNameColumn, new Comparator() { + competitorColumnListHandler.setComparator(competitorShortNameColumn, new Comparator() { private final NaturalComparator comparator = new NaturalComparator(/* case sensitive */ false); @Override - public int compare(CompetitorDTO o1, CompetitorDTO o2) { + public int compare(CompetitorWithBoatDTO o1, CompetitorWithBoatDTO o2) { return comparator.compare(o1.getShortName(), o2.getShortName()); } }); - TextColumn boatClassColumn = new TextColumn() { + TextColumn boatClassColumn = new TextColumn() { @Override - public String getValue(CompetitorDTO competitor) { + public String getValue(CompetitorWithBoatDTO competitor) { return competitor.getBoatClass() != null ? competitor.getBoatClass().getName() : ""; } }; boatClassColumn.setSortable(true); - competitorColumnListHandler.setComparator(boatClassColumn, new Comparator() { + competitorColumnListHandler.setComparator(boatClassColumn, new Comparator() { private final NaturalComparator comparator = new NaturalComparator(/* caseSensitive */ false); @Override - public int compare(CompetitorDTO o1, CompetitorDTO o2) { + public int compare(CompetitorWithBoatDTO o1, CompetitorWithBoatDTO o2) { BoatDTO boat1 = o1.getBoat(); BoatDTO boat2 = o2.getBoat(); if (boat1 == null && boat2 == null) { @@ -133,9 +133,9 @@ public class CompetitorTableWrapper flagImageColumn = new Column(new SafeHtmlCell()) { + Column flagImageColumn = new Column(new SafeHtmlCell()) { @Override - public SafeHtml getValue(CompetitorDTO competitor) { + public SafeHtml getValue(CompetitorWithBoatDTO competitor) { SafeHtmlBuilder sb = new SafeHtmlBuilder(); final String twoLetterIsoCountryCode = competitor.getTwoLetterIsoCountryCode(); final String flagImageURL = competitor.getFlagImageURL(); @@ -158,9 +158,9 @@ public class CompetitorTableWrapper sailIdColumn = new TextColumn() { + TextColumn sailIdColumn = new TextColumn() { @Override - public String getValue(CompetitorDTO competitor) { + public String getValue(CompetitorWithBoatDTO competitor) { if (competitor.getBoat() != null) { return competitor.getBoat().getSailId(); } @@ -169,10 +169,10 @@ public class CompetitorTableWrapper() { + competitorColumnListHandler.setComparator(sailIdColumn, new Comparator() { private final NaturalComparator comparator = new NaturalComparator(/* case sensitive */ false); @Override - public int compare(CompetitorDTO o1, CompetitorDTO o2) { + public int compare(CompetitorWithBoatDTO o1, CompetitorWithBoatDTO o2) { BoatDTO boat1 = o1.getBoat(); BoatDTO boat2 = o2.getBoat(); if (boat1 == null && boat2 == null) { @@ -186,16 +186,16 @@ public class CompetitorTableWrapper displayColorColumn = new ColorColumn<>(new ColorRetriever() { + Column displayColorColumn = new ColorColumn<>(new ColorRetriever() { @Override - public Color getColor(CompetitorDTO t) { + public Color getColor(CompetitorWithBoatDTO t) { return t.getColor(); } }); - Column imageColumn = new Column(new SafeHtmlCell()) { + Column imageColumn = new Column(new SafeHtmlCell()) { @Override - public SafeHtml getValue(CompetitorDTO competitor) { + public SafeHtml getValue(CompetitorWithBoatDTO competitor) { SafeHtmlBuilder sb = new SafeHtmlBuilder(); if (competitor.getImageURL() != null && !competitor.getImageURL().isEmpty()) { sb.appendHtmlConstant("() { + competitorColumnListHandler.setComparator(imageColumn, new Comparator() { private final NaturalComparator comparator = new NaturalComparator(/* case sensitive */ false); @Override - public int compare(CompetitorDTO o1, CompetitorDTO o2) { + public int compare(CompetitorWithBoatDTO o1, CompetitorWithBoatDTO o2) { return comparator.compare(o1.getImageURL(), o2.getImageURL()); } }); - TextColumn competitorIdColumn = new TextColumn() { + TextColumn competitorIdColumn = new TextColumn() { @Override - public String getValue(CompetitorDTO competitor) { + public String getValue(CompetitorWithBoatDTO competitor) { return competitor.getIdAsString(); } }; competitorIdColumn.setSortable(true); - competitorColumnListHandler.setComparator(competitorIdColumn, new Comparator() { + competitorColumnListHandler.setComparator(competitorIdColumn, new Comparator() { @Override - public int compare(CompetitorDTO o1, CompetitorDTO o2) { + public int compare(CompetitorWithBoatDTO o1, CompetitorWithBoatDTO o2) { return new NaturalComparator(false).compare(o1.getIdAsString(), o2.getIdAsString()); } }); - TextColumn competitorEMailColumn = new TextColumn() { + TextColumn competitorEMailColumn = new TextColumn() { @Override - public String getValue(CompetitorDTO competitor) { + public String getValue(CompetitorWithBoatDTO competitor) { return competitor.getEmail(); } }; competitorEMailColumn.setSortable(true); - competitorColumnListHandler.setComparator(competitorEMailColumn, new Comparator() { + competitorColumnListHandler.setComparator(competitorEMailColumn, new Comparator() { @Override - public int compare(CompetitorDTO o1, CompetitorDTO o2) { + public int compare(CompetitorWithBoatDTO o1, CompetitorWithBoatDTO o2) { return new NaturalComparator(false).compare(o1.getEmail(), o2.getEmail()); } }); - TextColumn competitorSearchTagColumn = new TextColumn() { + TextColumn competitorSearchTagColumn = new TextColumn() { @Override - public String getValue(CompetitorDTO competitor) { + public String getValue(CompetitorWithBoatDTO competitor) { return competitor.getSearchTag(); } }; competitorSearchTagColumn.setSortable(true); - competitorColumnListHandler.setComparator(competitorSearchTagColumn, new Comparator() { + competitorColumnListHandler.setComparator(competitorSearchTagColumn, new Comparator() { @Override - public int compare(CompetitorDTO o1, CompetitorDTO o2) { + public int compare(CompetitorWithBoatDTO o1, CompetitorWithBoatDTO o2) { return new NaturalComparator(false).compare(o1.getSearchTag(), o2.getSearchTag()); } }); - TextColumn timeOnTimeFactorColumn = new TextColumn() { + TextColumn timeOnTimeFactorColumn = new TextColumn() { @Override - public String getValue(CompetitorDTO competitor) { + public String getValue(CompetitorWithBoatDTO competitor) { return competitor.getTimeOnTimeFactor()==null?"":(""+competitor.getTimeOnTimeFactor()); } }; timeOnTimeFactorColumn.setSortable(true); - competitorColumnListHandler.setComparator(timeOnTimeFactorColumn, new Comparator() { + competitorColumnListHandler.setComparator(timeOnTimeFactorColumn, new Comparator() { @Override - public int compare(CompetitorDTO o1, CompetitorDTO o2) { + public int compare(CompetitorWithBoatDTO o1, CompetitorWithBoatDTO o2) { return o1.getTimeOnTimeFactor()==null?o2.getTimeOnTimeFactor()==null?0:-1:o2.getTimeOnTimeFactor()==null?1: o1.getTimeOnTimeFactor().compareTo(o2.getTimeOnTimeFactor()); } }); - TextColumn timeOnDistanceAllowancePerNauticalMileColumn = new TextColumn() { + TextColumn timeOnDistanceAllowancePerNauticalMileColumn = new TextColumn() { @Override - public String getValue(CompetitorDTO competitor) { + public String getValue(CompetitorWithBoatDTO competitor) { return competitor.getTimeOnDistanceAllowancePerNauticalMile()==null?"":(""+competitor.getTimeOnDistanceAllowancePerNauticalMile()); } }; timeOnTimeFactorColumn.setSortable(true); - competitorColumnListHandler.setComparator(timeOnDistanceAllowancePerNauticalMileColumn, new Comparator() { + competitorColumnListHandler.setComparator(timeOnDistanceAllowancePerNauticalMileColumn, new Comparator() { @Override - public int compare(CompetitorDTO o1, CompetitorDTO o2) { + public int compare(CompetitorWithBoatDTO o1, CompetitorWithBoatDTO o2) { return o1.getTimeOnDistanceAllowancePerNauticalMile() == null ? o2 .getTimeOnDistanceAllowancePerNauticalMile() == null ? 0 : -1 : o2 .getTimeOnDistanceAllowancePerNauticalMile() == null ? 1 : o1 @@ -288,10 +288,10 @@ public class CompetitorTableWrapper(new Label(stringMessages.filterCompetitors()), - new ArrayList(), table, dataProvider) { + filterField = new LabeledAbstractFilterablePanel(new Label(stringMessages.filterCompetitors()), + new ArrayList(), table, dataProvider) { @Override - public Iterable getSearchableStrings(CompetitorDTO t) { + public Iterable getSearchableStrings(CompetitorWithBoatDTO t) { List string = new ArrayList(); string.add(t.getName()); string.add(t.getShortName()); @@ -309,11 +309,11 @@ public class CompetitorTableWrapper competitorActionColumn = new ImagesBarColumn( + ImagesBarColumn competitorActionColumn = new ImagesBarColumn( new CompetitorConfigImagesBarCell(stringMessages)); - competitorActionColumn.setFieldUpdater(new FieldUpdater() { + competitorActionColumn.setFieldUpdater(new FieldUpdater() { @Override - public void update(int index, final CompetitorDTO competitor, String value) { + public void update(int index, final CompetitorWithBoatDTO competitor, String value) { if (CompetitorConfigImagesBarCell.ACTION_EDIT.equals(value)) { if (competitor.getBoat() != null) { String boatClass = null; @@ -348,15 +348,15 @@ public class CompetitorTableWrapper getAllCompetitors() { + public Iterable getAllCompetitors() { return filterField.getAll(); } - public LabeledAbstractFilterablePanel getFilterField() { + public LabeledAbstractFilterablePanel getFilterField() { return filterField; } - public void refreshCompetitorList(Iterable competitors) { + public void refreshCompetitorList(Iterable competitors) { getFilteredCompetitors(competitors); } @@ -367,9 +367,9 @@ public class CompetitorTableWrapper, + public void refreshCompetitorList(String leaderboardName, final Callback, Throwable> callback) { - final AsyncCallback> myCallback = new AsyncCallback>() { + final AsyncCallback> myCallback = new AsyncCallback>() { @Override public void onFailure(Throwable caught) { errorReporter.reportError("Remote Procedure Call getCompetitors() - Failure: " + caught.getMessage()); @@ -379,7 +379,7 @@ public class CompetitorTableWrapper result) { + public void onSuccess(Iterable result) { getFilteredCompetitors(result); refreshCompetitorList(result); if (callback != null) { @@ -394,23 +394,23 @@ public class CompetitorTableWrapper result) { + private void getFilteredCompetitors(Iterable result) { filterField.updateAll(result); } - void openEditCompetitorWithBoatDialog(final CompetitorDTO originalCompetitor, String boatClass) { + void openEditCompetitorWithBoatDialog(final CompetitorWithBoatDTO originalCompetitor, String boatClass) { final CompetitorWithBoatEditDialog dialog = new CompetitorWithBoatEditDialog(stringMessages, - originalCompetitor, new DialogCallback() { + originalCompetitor, new DialogCallback() { @Override - public void ok(final CompetitorDTO competitor) { - sailingService.addOrUpdateCompetitorWithBoat(competitor, new AsyncCallback() { + public void ok(final CompetitorWithBoatDTO competitor) { + sailingService.addOrUpdateCompetitorWithBoat(competitor, new AsyncCallback() { @Override public void onFailure(Throwable caught) { errorReporter.reportError("Error trying to update competitor with boat: " + caught.getMessage()); } @Override - public void onSuccess(CompetitorDTO updatedCompetitor) { + public void onSuccess(CompetitorWithBoatDTO updatedCompetitor) { //only reload selected competitors reloading with refreshCompetitorList(leaderboardName) //would not work in case the list is not based on a leaderboard e.g. AbstractCompetitorRegistrationDialog int editedCompetitorIndex = getFilterField().indexOf(originalCompetitor); @@ -433,18 +433,18 @@ public class CompetitorTableWrapper() { + void openEditCompetitorWithoutBoatDialog(final CompetitorWithBoatDTO originalCompetitor) { + final CompetitorEditDialog dialog = CompetitorEditDialog.create(stringMessages, originalCompetitor, new DialogCallback() { @Override - public void ok(final CompetitorDTO competitor) { - sailingService.addOrUpdateCompetitorWithoutBoat(competitor, new AsyncCallback() { + public void ok(final CompetitorWithBoatDTO competitor) { + sailingService.addOrUpdateCompetitorWithoutBoat(competitor, new AsyncCallback() { @Override public void onFailure(Throwable caught) { errorReporter.reportError("Error trying to update competitor: " + caught.getMessage()); } @Override - public void onSuccess(CompetitorDTO updatedCompetitor) { + public void onSuccess(CompetitorWithBoatDTO updatedCompetitor) { //only reload selected competitors reloading with refreshCompetitorList(leaderboardName) //would not work in case the list is not based on a leaderboard e.g. AbstractCompetitorRegistrationDialog int editedCompetitorIndex = getFilterField().indexOf(originalCompetitor); @@ -467,8 +467,8 @@ public class CompetitorTableWrapper competitors) { - List serializableSingletonList = new ArrayList(); + protected void allowUpdate(final Iterable competitors) { + List serializableSingletonList = new ArrayList(); Util.addAll(competitors, serializableSingletonList); sailingService.allowCompetitorResetToDefaults(serializableSingletonList, new AsyncCallback() { @Override @@ -488,14 +488,14 @@ public class CompetitorTableWrapper competitors) { - table.addCellPreviewHandler((CellPreviewEvent event) -> { + table.addCellPreviewHandler((CellPreviewEvent event) -> { for (CompetitorWithToolTipDTO competitor : competitors) { if (competitor.getCompetitor().equals(event.getValue())) { table.getRowElement(event.getIndex()).setTitle(competitor.getToolTipMessage()); } } }); - table.setRowStyles((CompetitorDTO row, int rowIndex) -> { + table.setRowStyles((CompetitorWithBoatDTO row, int rowIndex) -> { for (CompetitorWithToolTipDTO competitor : competitors) { if (competitor.getCompetitor().equals(row)) { return tableRes.cellTableStyle().cellTableDisabledRow(); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorToBoatMappingsDialog.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorToBoatMappingsDialog.java index 2e39bee3532..60cb31c382d 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorToBoatMappingsDialog.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorToBoatMappingsDialog.java @@ -18,7 +18,7 @@ import com.google.gwt.user.client.ui.Widget; import com.google.gwt.view.client.ListDataProvider; import com.google.gwt.view.client.SelectionChangeEvent; import com.sap.sailing.domain.common.dto.BoatDTO; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.gwt.ui.client.SailingServiceAsync; import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sse.gwt.client.ErrorReporter; @@ -32,27 +32,27 @@ import com.sap.sse.gwt.client.dialog.DataEntryDialog; * @author Frank Mittag * */ -public class CompetitorToBoatMappingsDialog extends DataEntryDialog> { - private final CompactCompetitorTableWrapper> competitorTable; +public class CompetitorToBoatMappingsDialog extends DataEntryDialog> { + private final CompactCompetitorTableWrapper> competitorTable; private final CompactBoatTableWrapper> boatTable; private final RefreshableSelectionModel refreshableBoatSelectionModel; - private final RefreshableSelectionModel refreshableCompetitorSelectionModel; + private final RefreshableSelectionModel refreshableCompetitorSelectionModel; private final StringMessages stringMessages; private final SelectionChangeEvent.Handler boatListHandler; private HandlerRegistration boatListHandlerRegistration; - private final Map competitorToBoatMappings; + private final Map competitorToBoatMappings; - protected static class CompetitorToBoatMappingValidator implements Validator> { + protected static class CompetitorToBoatMappingValidator implements Validator> { public CompetitorToBoatMappingValidator() { } @Override - public String getErrorMessage(Map valueToValidate) { + public String getErrorMessage(Map valueToValidate) { String errorMessage = null; - for (Map.Entry competitorAndBoatEntry: valueToValidate.entrySet()) { + for (Map.Entry competitorAndBoatEntry: valueToValidate.entrySet()) { if (competitorAndBoatEntry.getValue() == null) { errorMessage = "It's required that all competitors have an assigned boat."; break; @@ -64,7 +64,7 @@ public class CompetitorToBoatMappingsDialog extends DataEntryDialog competitorsAndBoats, DialogCallback> callback) { + final ErrorReporter errorReporter, Map competitorsAndBoats, DialogCallback> callback) { super(stringMessages.actionEditCompetitorToBoatAssignments(), null, stringMessages.ok(), stringMessages.cancel(), new CompetitorToBoatMappingValidator(), callback); this.stringMessages = stringMessages; @@ -73,10 +73,10 @@ public class CompetitorToBoatMappingsDialog extends DataEntryDialog(sailingService, stringMessages, errorReporter, /* multiSelection */ false, /* enablePager */ true); this.boatTable = new CompactBoatTableWrapper<>(sailingService, stringMessages, errorReporter, /* multiSelection */ false, /* enablePager */ true); - ImagesBarColumn competitorActionColumn = new ImagesBarColumn<>(new CompactCompetitorConfigImagesBarCell(stringMessages)); - competitorActionColumn.setFieldUpdater(new FieldUpdater() { + ImagesBarColumn competitorActionColumn = new ImagesBarColumn<>(new CompactCompetitorConfigImagesBarCell(stringMessages)); + competitorActionColumn.setFieldUpdater(new FieldUpdater() { @Override - public void update(int index, CompetitorDTO competitor, String value) { + public void update(int index, CompetitorWithBoatDTO competitor, String value) { if (CompactCompetitorConfigImagesBarCell.ACTION_UNLINK.equals(value)) { unlinkBoatFromCompetitor(competitor); validateAndUpdate(); @@ -92,7 +92,7 @@ public class CompetitorToBoatMappingsDialog extends DataEntryDialog selectedBoats = refreshableBoatSelectionModel.getSelectedSet(); - CompetitorDTO selectedCompetitor = getSelectedCompetitor(); + CompetitorWithBoatDTO selectedCompetitor = getSelectedCompetitor(); // if no competitor is selected, ignore the boat selection change if (selectedCompetitor != null) { if (selectedBoats.isEmpty()) { @@ -121,11 +121,11 @@ public class CompetitorToBoatMappingsDialog extends DataEntryDialog competitorAndBoatEntry: competitorToBoatMappings.entrySet()) { - CompetitorDTO c = competitorAndBoatEntry.getKey(); + for (Map.Entry competitorAndBoatEntry: competitorToBoatMappings.entrySet()) { + CompetitorWithBoatDTO c = competitorAndBoatEntry.getKey(); if (competitorAndBoatEntry.getValue() != null) { c.setBoat(competitorAndBoatEntry.getValue()); } @@ -167,7 +167,7 @@ public class CompetitorToBoatMappingsDialog extends DataEntryDialog getResult() { + protected Map getResult() { return competitorToBoatMappings; } } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorToBoatMappingsViewPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorToBoatMappingsViewPanel.java index c0f6754140b..c6899ce250a 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorToBoatMappingsViewPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorToBoatMappingsViewPanel.java @@ -9,7 +9,7 @@ import com.google.gwt.user.client.ui.SimplePanel; import com.google.gwt.user.client.ui.VerticalPanel; import com.google.gwt.view.client.SelectionChangeEvent; import com.sap.sailing.domain.common.dto.BoatDTO; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.gwt.ui.client.SailingServiceAsync; import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sse.gwt.client.ErrorReporter; @@ -24,7 +24,7 @@ import com.sap.sse.gwt.client.celltable.RefreshableSingleSelectionModel; * */ public class CompetitorToBoatMappingsViewPanel extends SimplePanel { - private final CompactCompetitorTableWrapper> competitorTable; + private final CompactCompetitorTableWrapper> competitorTable; private final CompactBoatTableWrapper> boatTable; private final String leaderboardName; private final String raceColumnName; @@ -32,7 +32,7 @@ public class CompetitorToBoatMappingsViewPanel extends SimplePanel { private final SailingServiceAsync sailingService; private final ErrorReporter errorReporter; - private final RefreshableSelectionModel refreshableCompetitorSelectionModel; + private final RefreshableSelectionModel refreshableCompetitorSelectionModel; public CompetitorToBoatMappingsViewPanel(final SailingServiceAsync sailingService, final StringMessages stringMessages, final ErrorReporter errorReporter, final String leaderboardName, final String raceColumnName, final String fleetName) { @@ -86,7 +86,7 @@ public class CompetitorToBoatMappingsViewPanel extends SimplePanel { } private void competitorSelectionChanged() { - CompetitorDTO selectedCompetitor = getSelectedCompetitor(); + CompetitorWithBoatDTO selectedCompetitor = getSelectedCompetitor(); if (selectedCompetitor != null) { selectBoatForCompetitor(selectedCompetitor); } else { @@ -98,7 +98,7 @@ public class CompetitorToBoatMappingsViewPanel extends SimplePanel { boatTable.selectBoat(boat); } - private void selectBoatForCompetitor(CompetitorDTO selectedCompetitor) { + private void selectBoatForCompetitor(CompetitorWithBoatDTO selectedCompetitor) { sailingService.getBoatLinkedToCompetitorForRace(leaderboardName, raceColumnName, fleetName, selectedCompetitor.getIdAsString(), new MarkedAsyncCallback( new AsyncCallback() { @@ -122,7 +122,7 @@ public class CompetitorToBoatMappingsViewPanel extends SimplePanel { })); } - private CompetitorDTO getSelectedCompetitor() { + private CompetitorWithBoatDTO getSelectedCompetitor() { if (competitorTable.getSelectionModel().getSelectedSet().isEmpty()) { return null; } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorWithBoatCreateDialog.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorWithBoatCreateDialog.java index 6a57c5aa5a9..1d1a9f477c2 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorWithBoatCreateDialog.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorWithBoatCreateDialog.java @@ -14,7 +14,7 @@ import com.google.gwt.view.client.SelectionChangeEvent; import com.sap.sailing.domain.common.Distance; import com.sap.sailing.domain.common.dto.BoatClassDTO; import com.sap.sailing.domain.common.dto.BoatDTO; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.gwt.ui.client.SailingServiceAsync; import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sse.gwt.client.ErrorReporter; @@ -42,8 +42,8 @@ public class CompetitorWithBoatCreateDialog extends AbstractCompetitorWithBoatDi * The boat class is the default shown boat class for new boats. Set null if your boat is * already initialized or you don't want a default boat class. */ - public CompetitorWithBoatCreateDialog(SailingServiceAsync sailingService, StringMessages stringMessages, ErrorReporter errorReporter, CompetitorDTO competitorToEdit, - DialogCallback callback, String boatClass) { + public CompetitorWithBoatCreateDialog(SailingServiceAsync sailingService, StringMessages stringMessages, ErrorReporter errorReporter, CompetitorWithBoatDTO competitorToEdit, + DialogCallback callback, String boatClass) { super("Add competitor with boat", stringMessages, competitorToEdit, callback, boatClass); this.ensureDebugId("CompetitorWithBoatCreateDialog"); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorWithBoatEditDialog.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorWithBoatEditDialog.java index bc4171025cb..0675bb02b6c 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorWithBoatEditDialog.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorWithBoatEditDialog.java @@ -7,7 +7,7 @@ import com.google.gwt.user.client.ui.Widget; import com.sap.sailing.domain.common.Distance; import com.sap.sailing.domain.common.dto.BoatClassDTO; import com.sap.sailing.domain.common.dto.BoatDTO; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sse.common.Color; import com.sap.sse.common.impl.RGBColor; @@ -26,8 +26,8 @@ public class CompetitorWithBoatEditDialog extends AbstractCompetitorWithBoatDial * The boat class is the default shown boat class for new boats. Set null if your boat is * already initialized or you don't want a default boat class. */ - public CompetitorWithBoatEditDialog(StringMessages stringMessages, CompetitorDTO competitorToEdit, - DialogCallback callback, String boatClass) { + public CompetitorWithBoatEditDialog(StringMessages stringMessages, CompetitorWithBoatDTO competitorToEdit, + DialogCallback callback, String boatClass) { super("Edit competitor with boat", stringMessages, competitorToEdit, callback, boatClass); this.ensureDebugId("CompetitorWithBoatEditDialog"); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/EditCompetitorsDialog.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/EditCompetitorsDialog.java index ca764094bbf..923f5e1b5e5 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/EditCompetitorsDialog.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/EditCompetitorsDialog.java @@ -3,31 +3,31 @@ package com.sap.sailing.gwt.ui.adminconsole; import java.util.List; import com.google.gwt.user.client.ui.Widget; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.gwt.ui.client.SailingServiceAsync; import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sse.gwt.client.ErrorReporter; import com.sap.sse.gwt.client.dialog.DataEntryDialog; -public class EditCompetitorsDialog extends DataEntryDialog> { +public class EditCompetitorsDialog extends DataEntryDialog> { private final SailingServiceAsync sailingService; private final StringMessages stringMessages; private final ErrorReporter errorReporter; private final String leaderboardName; - protected static class CompetitorsValidator implements Validator> { + protected static class CompetitorsValidator implements Validator> { public CompetitorsValidator() { super(); } @Override - public String getErrorMessage(List valueToValidate) { + public String getErrorMessage(List valueToValidate) { return null; } } public EditCompetitorsDialog(final SailingServiceAsync sailingService, String leaderboardName, final StringMessages stringMessages, - final ErrorReporter errorReporter, DialogCallback> callback) { + final ErrorReporter errorReporter, DialogCallback> callback) { super(stringMessages.actionEditCompetitors(), null, stringMessages.ok(), stringMessages.cancel(), new CompetitorsValidator(), callback); this.sailingService = sailingService; this.stringMessages = stringMessages; @@ -36,7 +36,7 @@ public class EditCompetitorsDialog extends DataEntryDialog> } @Override - protected List getResult() { + protected List getResult() { return null; } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/ExpeditionAllInOneAfterImportHandler.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/ExpeditionAllInOneAfterImportHandler.java old mode 100644 new mode 100755 index 7695fa387ac..0c2eb9c0257 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/ExpeditionAllInOneAfterImportHandler.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/ExpeditionAllInOneAfterImportHandler.java @@ -10,7 +10,7 @@ import java.util.UUID; import com.google.gwt.user.client.Window; import com.google.gwt.user.client.rpc.AsyncCallback; import com.sap.sailing.domain.common.RegattaNameAndRaceName; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.gwt.ui.client.SailingServiceAsync; import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sailing.gwt.ui.shared.DeviceMappingDTO; @@ -128,7 +128,7 @@ public class ExpeditionAllInOneAfterImportHandler { this.stringMessages = stringMessages; } @Override - public String getErrorMessage(Set valueToValidate) { + public String getErrorMessage(Set valueToValidate) { if (competitorRegistrationsPanel == null || competitorRegistrationsPanel.getSelectedRegisteredCompetitors().size() != 1) { return stringMessages.selectOneCompetitorToMapTheImportedData(); } @@ -173,11 +173,11 @@ public class ExpeditionAllInOneAfterImportHandler { leaderboard.canBoatsOfCompetitorsChangePerRace).show(); } - private void mapCompetitorsToGPSFixDeviceIds(final Set mappedCompetitors) { + private void mapCompetitorsToGPSFixDeviceIds(final Set mappedCompetitors) { if (gpsFixesDeviceIDs.size() == 1 && mappedCompetitors.size() == 1) { // If there is exactly one device and one Competitor, the mapping is automatically added without user interaction final TrackFileImportDeviceIdentifierDTO deviceIdentifierDTO = gpsFixesDeviceIDs.iterator().next(); - final CompetitorDTO competitor = mappedCompetitors.iterator().next(); + final CompetitorWithBoatDTO competitor = mappedCompetitors.iterator().next(); saveCompetitorGPSMapping(mappedCompetitors, Collections.singleton(new DeviceMappingDTO(deviceIdentifierDTO, deviceIdentifierDTO.from, deviceIdentifierDTO.to, competitor, null))); } else { new RegattaLogFixesAddMappingsDialog(sailingService, errorReporter, stringMessages, @@ -192,17 +192,17 @@ public class ExpeditionAllInOneAfterImportHandler { } } - private void saveCompetitorGPSMapping(final Set mappedCompetitors, final Collection mappings) { + private void saveCompetitorGPSMapping(final Set mappedCompetitors, final Collection mappings) { new AddDeviceMappingsToRegattaLog(leaderboard.getName(), mappings, () -> { mapCompetitorsToSensorFixDeviceIds(mappedCompetitors); }); } - private final void mapCompetitorsToSensorFixDeviceIds(final Set mappedCompetitors) { + private final void mapCompetitorsToSensorFixDeviceIds(final Set mappedCompetitors) { if (sensorFixesDeviceIDs.size() == 1 && mappedCompetitors.size() == 1) { // If there is exactly one device and one Competitor, the mapping is automatically added without user interaction final TrackFileImportDeviceIdentifierDTO deviceIdentifierDTO = sensorFixesDeviceIDs.iterator().next(); - final CompetitorDTO competitor = mappedCompetitors.iterator().next(); + final CompetitorWithBoatDTO competitor = mappedCompetitors.iterator().next(); saveCompetitorSensorFixMapping(Collections.singleton(new TypedDeviceMappingDTO(deviceIdentifierDTO, deviceIdentifierDTO.from, deviceIdentifierDTO.to, competitor, null, sensorImporterType))); } else if (sensorFixesDeviceIDs.size() > 0) { new RegattaLogSensorDataAddMappingsDialog(sailingService, errorReporter, stringMessages, leaderboard.getName(), diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/ImportCompetitorCallback.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/ImportCompetitorCallback.java index 6fdfed9b1b3..0e9027f4e2e 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/ImportCompetitorCallback.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/ImportCompetitorCallback.java @@ -9,7 +9,7 @@ import java.util.stream.Collectors; import com.google.gwt.user.client.rpc.AsyncCallback; import com.sap.sailing.domain.common.CompetitorDescriptor; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.gwt.ui.client.SailingServiceAsync; import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sse.common.Util; @@ -19,18 +19,18 @@ import com.sap.sse.gwt.client.async.MarkedAsyncCallback; import com.sap.sse.gwt.client.dialog.DataEntryDialog.DialogCallback; /** - * Callback is responsible for creation competitors for which no {@link CompetitorDTO} that represents an + * Callback is responsible for creation competitors for which no {@link CompetitorWithBoatDTO} that represents an * already existing competitor has been provided, and save those newly created competitors to * the competitor store using {@link SailingServiceAsync#addCompetitors(Iterable, AsyncCallback)}. The combined - * set of competitors as represented by the {@link CompetitorDTO}s provided as values representing the existing - * competitors to use, plus those {@link CompetitorDTO}s returned from the service representing the newly + * set of competitors as represented by the {@link CompetitorWithBoatDTO}s provided as values representing the existing + * competitors to use, plus those {@link CompetitorWithBoatDTO}s returned from the service representing the newly * created competitors (those actually "imported") are then passed to {@link #registerCompetitors(Set)} which * in this class does nothing but may be overridden by subclasses. * * @author Alexander Tatarinovich * */ -public class ImportCompetitorCallback implements DialogCallback, String>> { +public class ImportCompetitorCallback implements DialogCallback, String>> { protected final SailingServiceAsync sailingService; protected final ErrorReporter errorReporter; protected final StringMessages stringMessages; @@ -47,22 +47,22 @@ public class ImportCompetitorCallback implements DialogCallback, String> competitorsForRegisteringAndSearchTag) { - final Set existingCompetitorsSelected = new HashSet<>(); - for (final CompetitorDTO existingCompetitor : competitorsForRegisteringAndSearchTag.getA().values()) { + public void ok(final Pair, String> competitorsForRegisteringAndSearchTag) { + final Set existingCompetitorsSelected = new HashSet<>(); + for (final CompetitorWithBoatDTO existingCompetitor : competitorsForRegisteringAndSearchTag.getA().values()) { if (existingCompetitor != null) { existingCompetitor.addToSearchTag(competitorsForRegisteringAndSearchTag.getB()); existingCompetitorsSelected.add(existingCompetitor); } } sailingService.addOrUpdateCompetitors(new ArrayList<>(existingCompetitorsSelected), new MarkedAsyncCallback<>( - new AsyncCallback>() { + new AsyncCallback>() { @Override public void onFailure(Throwable caught) { errorReporter.reportError(caught.getMessage()); } @Override - public void onSuccess(List result) { + public void onSuccess(List result) { // TODO trigger an update of any client-side competitor display } })); @@ -81,16 +81,16 @@ public class ImportCompetitorCallback implements DialogCallback competitorsForSaving, - final Iterable competitorsForRegistration, String searchTag) { - sailingService.addCompetitors(competitorsForSaving, searchTag, new AsyncCallback>() { + final Iterable competitorsForRegistration, String searchTag) { + sailingService.addCompetitors(competitorsForSaving, searchTag, new AsyncCallback>() { @Override public void onFailure(Throwable caught) { errorReporter.reportError(caught.getMessage()); } @Override - public void onSuccess(List result) { - final Set competitorsToAddWithNewOnesReplacedBySavedOnesWithId = new HashSet<>(); + public void onSuccess(List result) { + final Set competitorsToAddWithNewOnesReplacedBySavedOnesWithId = new HashSet<>(); Util.addAll(competitorsForRegistration, competitorsToAddWithNewOnesReplacedBySavedOnesWithId); // add those competitors returned by the server after saving to the competitor store where they received an ID: competitorsToAddWithNewOnesReplacedBySavedOnesWithId.addAll(result); @@ -99,7 +99,7 @@ public class ImportCompetitorCallback implements DialogCallback competitorDTOs) { + protected void registerCompetitors(Set competitorDTOs) { // Don't register by default } } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/ItemToMapToDeviceSelectionPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/ItemToMapToDeviceSelectionPanel.java index 1c716c1b1cb..ebe79ae8506 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/ItemToMapToDeviceSelectionPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/ItemToMapToDeviceSelectionPanel.java @@ -11,7 +11,7 @@ import com.google.gwt.view.client.SelectionChangeEvent; import com.google.gwt.view.client.SelectionModel; import com.google.gwt.view.client.SingleSelectionModel; import com.sap.sailing.domain.common.dto.BoatDTO; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.domain.common.racelog.tracking.MappableToDevice; import com.sap.sailing.gwt.ui.client.SailingServiceAsync; import com.sap.sailing.gwt.ui.client.StringMessages; @@ -20,7 +20,7 @@ import com.sap.sse.gwt.client.ErrorReporter; import com.sap.sse.gwt.client.celltable.RefreshableSingleSelectionModel; public class ItemToMapToDeviceSelectionPanel implements IsWidget { - private final CompetitorTableWrapper> competitorTable; + private final CompetitorTableWrapper> competitorTable; private final BoatTableWrapper> boatTable; private final MarkTableWrapper> markTable; private MappableToDevice selected; @@ -28,7 +28,7 @@ public class ItemToMapToDeviceSelectionPanel implements IsWidget { private final ErrorReporter errorReporter; static interface SelectionChangedHandler { - void onSelectionChange(CompetitorDTO competitor); + void onSelectionChange(CompetitorWithBoatDTO competitor); void onSelectionChange(BoatDTO boat); void onSelectionChange(MarkDTO mark); } @@ -46,7 +46,7 @@ public class ItemToMapToDeviceSelectionPanel implements IsWidget { @Override public void onSelectionChange(SelectionChangeEvent event) { if (competitorTable.getSelectionModel().getSelectedSet().size() == 1) { - CompetitorDTO selectedCompetitor = competitorTable.getSelectionModel().getSelectedSet().iterator() + CompetitorWithBoatDTO selectedCompetitor = competitorTable.getSelectionModel().getSelectedSet().iterator() .next(); ItemToMapToDeviceSelectionPanel.this.selected = selectedCompetitor; deselectAll(boatTable.getSelectionModel(), boatTable.getDataProvider().getList()); @@ -116,10 +116,10 @@ public class ItemToMapToDeviceSelectionPanel implements IsWidget { } } - public AsyncCallback> getSetCompetitorsCallback() { - return new AsyncCallback>() { + public AsyncCallback> getSetCompetitorsCallback() { + return new AsyncCallback>() { @Override - public void onSuccess(Collection result) { + public void onSuccess(Collection result) { competitorTable.refreshCompetitorList(result); select(result, competitorTable.getSelectionModel()); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java index 7eccbb32bf7..00648d8ea7b 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java @@ -37,7 +37,7 @@ import com.sap.sailing.domain.common.RegattaIdentifier; import com.sap.sailing.domain.common.RegattaName; import com.sap.sailing.domain.common.ScoringSchemeType; import com.sap.sailing.domain.common.dto.AbstractLeaderboardDTO; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.domain.common.dto.FleetDTO; import com.sap.sailing.domain.common.dto.PairingListTemplateDTO; import com.sap.sailing.domain.common.dto.RaceColumnDTO; @@ -319,13 +319,13 @@ TrackedRaceChangedListener, LeaderboardsDisplayer { Window.open(leaderboardEditingUrl, "_blank", null); } else if (LeaderboardConfigImagesBarCell.ACTION_EDIT_COMPETITORS.equals(value)) { EditCompetitorsDialog editCompetitorsDialog = new EditCompetitorsDialog(sailingService, leaderboardDTO.name, stringMessages, - errorReporter, new DialogCallback>() { + errorReporter, new DialogCallback>() { @Override public void cancel() { } @Override - public void ok(final List result) { + public void ok(final List result) { } }); editCompetitorsDialog.show(); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardDescriptorWithEliminations.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardDescriptorWithEliminations.java index ea659cd13f5..44e5c7da41c 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardDescriptorWithEliminations.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardDescriptorWithEliminations.java @@ -2,17 +2,17 @@ package com.sap.sailing.gwt.ui.adminconsole; import java.util.Set; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; public class LeaderboardDescriptorWithEliminations extends LeaderboardDescriptor { - private final Set eliminatedCompetitors; + private final Set eliminatedCompetitors; - public LeaderboardDescriptorWithEliminations(LeaderboardDescriptor base, Set eliminatedCompetitors) { + public LeaderboardDescriptorWithEliminations(LeaderboardDescriptor base, Set eliminatedCompetitors) { super(base.getName(), base.getDisplayName(), base.getScoringScheme(), base.getDiscardThresholds(), base.getRegattaName(), base.getCourseAreaId()); this.eliminatedCompetitors = eliminatedCompetitors; } - public Set getEliminatedCompetitors() { + public Set getEliminatedCompetitors() { return eliminatedCompetitors; } } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/MatchImportedCompetitorsDialog.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/MatchImportedCompetitorsDialog.java index 9579c1cf36c..f6a1195f878 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/MatchImportedCompetitorsDialog.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/MatchImportedCompetitorsDialog.java @@ -15,7 +15,7 @@ import com.google.gwt.user.client.ui.Widget; import com.google.gwt.view.client.SelectionChangeEvent; import com.google.gwt.view.client.SelectionChangeEvent.Handler; import com.sap.sailing.domain.common.CompetitorDescriptor; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.gwt.ui.adminconsole.CompetitorDescriptorTableWrapper.CompetitorsToImportToExistingLinking; import com.sap.sailing.gwt.ui.client.SailingServiceAsync; import com.sap.sailing.gwt.ui.client.StringMessages; @@ -34,14 +34,14 @@ import com.sap.sse.gwt.client.dialog.DataEntryDialog; * optionally defining mappings from the importable competitors to existing competitors where instead of creating a new * competitor by means of import the existing one shall be used. Then, the user can make a selection in the table with * the importable competitors, including those for which a mapping to an existing competitor was defined. Pressing OK - * will produce a set of {@link CompetitorDTO}s where the ones coming from the set of already existing competitors have - * a non-{@code null} {@link CompetitorDTO#getIdAsString() ID} whereas the ones to import have all but an - * {@link CompetitorDTO#getIdAsString() ID}. + * will produce a set of {@link CompetitorWithBoatDTO}s where the ones coming from the set of already existing competitors have + * a non-{@code null} {@link CompetitorWithBoatDTO#getIdAsString() ID} whereas the ones to import have all but an + * {@link CompetitorWithBoatDTO#getIdAsString() ID}. *

* * The result is a {@link Map} whose keys are all competitors selected for import and whose values are {@code null} - * in case the competitor shall really be imported and hence be created anew, or a valid {@link CompetitorDTO} with - * a valid {@link CompetitorDTO#getIdAsString() ID}, representing an already existing competitor that shall be used + * in case the competitor shall really be imported and hence be created anew, or a valid {@link CompetitorWithBoatDTO} with + * a valid {@link CompetitorWithBoatDTO#getIdAsString() ID}, representing an already existing competitor that shall be used * instead of the key competitor descriptor.

* * Use an {@link ImportCompetitorCallback} or subclass thereof as the {@link DialogCallback} passed to the constructor @@ -53,10 +53,10 @@ import com.sap.sse.gwt.client.dialog.DataEntryDialog; * @author Alexander Tatarinovich * */ -public class MatchImportedCompetitorsDialog extends DataEntryDialog, String>> { +public class MatchImportedCompetitorsDialog extends DataEntryDialog, String>> { private CompetitorDescriptorTableWrapper> importedCompetitorsTable; - private CompetitorTableWrapper> existingCompetitorsTable; + private CompetitorTableWrapper> existingCompetitorsTable; private TextBox searchTagField; @@ -67,12 +67,12 @@ public class MatchImportedCompetitorsDialog extends DataEntryDialog CompetitorDescriptors; private final CompetitorImportMatcher competitorImportMatcher; - private final Map existingCompetitorsByImported = new HashMap<>(); + private final Map existingCompetitorsByImported = new HashMap<>(); public MatchImportedCompetitorsDialog(final Iterable CompetitorDescriptors, - final Iterable existingCompetitor, StringMessages stringMessages, + final Iterable existingCompetitor, StringMessages stringMessages, SailingServiceAsync sailingService, ErrorReporter errorReporter, - DialogCallback, String>> callback) { + DialogCallback, String>> callback) { super(stringMessages.importCompetitors(), stringMessages.chooseWhichCompetitorsShouldBeImported(), stringMessages.ok(), stringMessages.cancel(), /* validator */ null, callback); this.stringMessages = stringMessages; @@ -95,7 +95,7 @@ public class MatchImportedCompetitorsDialog extends DataEntryDialog existingCompetitorSelectionModel = existingCompetitorsTable + final RefreshableSingleSelectionModel existingCompetitorSelectionModel = existingCompetitorsTable .getSelectionModel(); existingCompetitorSelectionModel.addSelectionChangeHandler(getHandlerForExistingCompetitorsModel( importedCompetitorSelectionModel, existingCompetitorSelectionModel)); @@ -147,13 +147,13 @@ public class MatchImportedCompetitorsDialog extends DataEntryDialog importedCompetitorSelectionModel, - final RefreshableSingleSelectionModel existingCompetitorSelectionModel) { + final RefreshableSingleSelectionModel existingCompetitorSelectionModel) { return new Handler() { @Override public void onSelectionChange(SelectionChangeEvent event) { Set competitorDescriptors = importedCompetitorSelectionModel.getSelectedSet(); if (competitorDescriptors.size() == 1) { - final CompetitorDTO selectedCompetitor = existingCompetitorSelectionModel.getSelectedObject(); + final CompetitorWithBoatDTO selectedCompetitor = existingCompetitorSelectionModel.getSelectedObject(); final CompetitorDescriptor competitorFromImport = competitorDescriptors.iterator().next(); final boolean changed; if (selectedCompetitor == null) { @@ -188,7 +188,7 @@ public class MatchImportedCompetitorsDialog extends DataEntryDialog, String> getResult() { - final Map result = new HashMap<>(); + protected Pair, String> getResult() { + final Map result = new HashMap<>(); for (CompetitorDescriptor competitorDescriptor : importedCompetitorsTable.getSelectionModel().getSelectedSet()) { result.put(competitorDescriptor, existingCompetitorsByImported.get(competitorDescriptor)); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/PairingListPreviewDialog.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/PairingListPreviewDialog.java index 4277ef2bc2b..a73a819a977 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/PairingListPreviewDialog.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/PairingListPreviewDialog.java @@ -20,7 +20,7 @@ import com.google.gwt.user.client.ui.ScrollPanel; import com.google.gwt.user.client.ui.VerticalPanel; import com.google.gwt.user.client.ui.Widget; import com.sap.sailing.domain.common.dto.BoatDTO; -import com.sap.sailing.domain.common.dto.CompetitorWithoutBoatDTO; +import com.sap.sailing.domain.common.dto.CompetitorDTO; import com.sap.sailing.domain.common.dto.PairingListDTO; import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sse.common.Color; @@ -107,7 +107,7 @@ public class PairingListPreviewDialog extends DataEntryDialog { String color = BACKGROUND_SHADE; pairingListGrid.getCellFormatter().getElement(0, 0).getStyle().setBackgroundColor(BACKGROUND_SHADE); pairingListGrid.getCellFormatter().getElement(0, 1).getStyle().setBackgroundColor(BACKGROUND_SHADE); - for (List>> flight : pairingListDTO.getPairingList()) { + for (List>> flight : pairingListDTO.getPairingList()) { color = (color.equals("none") ? BACKGROUND_SHADE : "none"); // setting up race int currentRaceInGridCells = (((flightIndexInGrid - 1) * groupCount) + 1); @@ -116,7 +116,7 @@ public class PairingListPreviewDialog extends DataEntryDialog { pairingListGrid.getCellFormatter().getElement(currentRaceInGridCells, 0).getStyle().setPadding(5, Unit.PX); pairingListGrid.getCellFormatter().getElement(currentRaceInGridCells, 0).getStyle() .setBackgroundColor(color); - for (List> group : flight) { + for (List> group : flight) { // setting up fleet pairingListGrid.getCellFormatter().getElement(groupIndex, 0).getStyle().setPadding(3, Unit.PX); pairingListGrid.getCellFormatter().getElement(groupIndex, 0).getStyle().setBackgroundColor(color); @@ -127,14 +127,14 @@ public class PairingListPreviewDialog extends DataEntryDialog { pairingListGrid.getCellFormatter().getElement(groupIndex, 1).getStyle().setBackgroundColor(color); if (group.size() < boatCount) { List unusedBoats = new ArrayList<>(boats); - for (Pair competitorAndBoatPair : group) { + for (Pair competitorAndBoatPair : group) { unusedBoats.remove(competitorAndBoatPair.getB()); } for (BoatDTO unusedBoat : unusedBoats) { group.add(new Pair<>(null, unusedBoat)); } } - for (Pair competitorAndBoatPair : group) { + for (Pair competitorAndBoatPair : group) { int boatIndexInGrid = boats.indexOf(competitorAndBoatPair.getB()) + 2; if (competitorAndBoatPair.getA() == null) { pairingListGrid.setWidget(groupIndex, boatIndexInGrid, new Label(stringMessages.empty())); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RaceLogCompetitorRegistrationDialog.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RaceLogCompetitorRegistrationDialog.java index 73df6a8cc30..1a39230e75f 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RaceLogCompetitorRegistrationDialog.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RaceLogCompetitorRegistrationDialog.java @@ -17,7 +17,7 @@ import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.gwt.user.client.ui.CheckBox; import com.google.gwt.user.client.ui.Widget; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.domain.common.dto.CompetitorWithToolTipDTO; import com.sap.sailing.domain.common.dto.FleetDTO; import com.sap.sailing.gwt.ui.client.ParallelExecutionCallback; @@ -32,14 +32,14 @@ public class RaceLogCompetitorRegistrationDialog extends AbstractCompetitorRegis private String fleetName; private String raceColumnName; private CheckBox competitorRegistrationInRaceLogCheckBox; - private final Map> fleetNameWithCompetitors; + private final Map> fleetNameWithCompetitors; private final ErrorReporter errorReporter; private final SailingServiceAsync sailingService; private final StringMessages stringMessages; - private static class Validator implements com.sap.sse.gwt.client.dialog.DataEntryDialog.Validator> { + private static class Validator implements com.sap.sse.gwt.client.dialog.DataEntryDialog.Validator> { private CheckBox competitorRegistrationInRaceLogCheckBox; - private Map> fleetsWithCompetitors; + private Map> fleetsWithCompetitors; private final StringMessages stringMessages; public Validator(StringMessages stringMessages) { @@ -47,13 +47,13 @@ public class RaceLogCompetitorRegistrationDialog extends AbstractCompetitorRegis } @Override - public String getErrorMessage(Set valueToValidate) { + public String getErrorMessage(Set valueToValidate) { String result = null; if (getCompetitorRegistrationInRaceLogCheckBox() != null && !getCompetitorRegistrationInRaceLogCheckBox().getValue()) { result = stringMessages.competitorRegistrationsOnRaceDisabled(); } else { - Set difference = new HashSet<>(); - for (Set competitors : fleetsWithCompetitors.values()) { + Set difference = new HashSet<>(); + for (Set competitors : fleetsWithCompetitors.values()) { difference.addAll(intersection(valueToValidate, competitors)); } if (!difference.isEmpty()) { @@ -63,10 +63,10 @@ public class RaceLogCompetitorRegistrationDialog extends AbstractCompetitorRegis return result; } - private String createLineOfCompetitors(Set competitors) { + private String createLineOfCompetitors(Set competitors) { StringBuilder lineOfCompetitors = new StringBuilder(); if (!competitors.isEmpty()) { - for (CompetitorDTO competitor : competitors) { + for (CompetitorWithBoatDTO competitor : competitors) { lineOfCompetitors.append(competitor.getName()).append(", "); } lineOfCompetitors.delete(lineOfCompetitors.length() - 2, lineOfCompetitors.length() - 1); @@ -74,8 +74,8 @@ public class RaceLogCompetitorRegistrationDialog extends AbstractCompetitorRegis return lineOfCompetitors.toString(); } - private Set intersection(Set firstSet, Set secondSet) { - Set result = new LinkedHashSet<>(firstSet); + private Set intersection(Set firstSet, Set secondSet) { + Set result = new LinkedHashSet<>(firstSet); result.retainAll(secondSet); return result; } @@ -88,7 +88,7 @@ public class RaceLogCompetitorRegistrationDialog extends AbstractCompetitorRegis this.competitorRegistrationInRaceLogCheckBox = competitorRegistrationInRaceLogCheckBox; } - public void setFleetWithCompetitors(Map> fleetNameWithCompetitors) { + public void setFleetWithCompetitors(Map> fleetNameWithCompetitors) { this.fleetsWithCompetitors = fleetNameWithCompetitors; } } @@ -96,14 +96,14 @@ public class RaceLogCompetitorRegistrationDialog extends AbstractCompetitorRegis public RaceLogCompetitorRegistrationDialog(String boatClass, SailingServiceAsync sailingService, StringMessages stringMessages, ErrorReporter errorReporter, boolean editable, String leaderboardName, boolean canBoatsOfCompetitorsChangePerRace, String raceColumnName, String fleetName, List fleets, - com.sap.sse.gwt.client.dialog.DataEntryDialog.DialogCallback> callback) { + com.sap.sse.gwt.client.dialog.DataEntryDialog.DialogCallback> callback) { this(sailingService, stringMessages, errorReporter, editable, callback, leaderboardName, canBoatsOfCompetitorsChangePerRace, boatClass, raceColumnName, fleetName, fleets, new Validator(stringMessages)); } public RaceLogCompetitorRegistrationDialog(SailingServiceAsync sailingService, StringMessages stringMessages, ErrorReporter errorReporter, boolean editable, - com.sap.sse.gwt.client.dialog.DataEntryDialog.DialogCallback> callback, + com.sap.sse.gwt.client.dialog.DataEntryDialog.DialogCallback> callback, String leaderboardName, boolean canBoatsOfCompetitorsChangePerRace, String boatClass, String raceColumnName, String fleetName, List fleets, Validator validator) { super(sailingService, stringMessages, errorReporter, editable, callback, leaderboardName, canBoatsOfCompetitorsChangePerRace, boatClass, @@ -132,7 +132,7 @@ public class RaceLogCompetitorRegistrationDialog extends AbstractCompetitorRegis } @Override - protected Consumer>> getRegisteredCompetitorsRetriever() { + protected Consumer>> getRegisteredCompetitorsRetriever() { return (callback)->getRegisteredCompetitors(callback); } @@ -140,15 +140,15 @@ public class RaceLogCompetitorRegistrationDialog extends AbstractCompetitorRegis * For all {@code fleets} passed and not equal to {@link #fleetName} retrieves the competitor-per-race registrations * for the {@link #raceColumnName}. */ - private Map> findCompetitorsFromTheSameRaceColumn(final List fleets) { - final Map> result = new HashMap<>(); - final Map>> callbacksForFleetNames = new HashMap<>(); + private Map> findCompetitorsFromTheSameRaceColumn(final List fleets) { + final Map> result = new HashMap<>(); + final Map>> callbacksForFleetNames = new HashMap<>(); for (FleetDTO fleetDTO : fleets) { final String curFleetName = fleetDTO.getName(); if (!curFleetName.equals(fleetName)) { - callbacksForFleetNames.put(curFleetName, new ParallelExecutionCallback>() { + callbacksForFleetNames.put(curFleetName, new ParallelExecutionCallback>() { @Override - public void onSuccess(Collection competitorRegistrationsForRace) { + public void onSuccess(Collection competitorRegistrationsForRace) { result.put(curFleetName, new HashSet<>(competitorRegistrationsForRace)); super.onSuccess(competitorRegistrationsForRace); } @@ -168,7 +168,7 @@ public class RaceLogCompetitorRegistrationDialog extends AbstractCompetitorRegis errorReporter.reportError("Could not load already registered competitors: " + t.getMessage()); } }; - for (final Entry>> fleetNameAndCallback : callbacksForFleetNames + for (final Entry>> fleetNameAndCallback : callbacksForFleetNames .entrySet()) { sailingService.getCompetitorRegistrationsForRace(leaderboardName, raceColumnName, fleetNameAndCallback.getKey(), fleetNameAndCallback.getValue()); @@ -182,9 +182,9 @@ public class RaceLogCompetitorRegistrationDialog extends AbstractCompetitorRegis */ private void grayOutRows() { List competitors = new ArrayList<>(); - for (Map.Entry> entry : fleetNameWithCompetitors.entrySet()) { + for (Map.Entry> entry : fleetNameWithCompetitors.entrySet()) { if (!entry.getKey().equals(fleetName)) { - for (CompetitorDTO competitor : entry.getValue()) { + for (CompetitorWithBoatDTO competitor : entry.getValue()) { competitors.add(new CompetitorWithToolTipDTO(competitor, stringMessages .competitorToolTipMessage(competitor.getName(), fleetName, entry.getKey(), raceColumnName))); } @@ -194,7 +194,7 @@ public class RaceLogCompetitorRegistrationDialog extends AbstractCompetitorRegis competitorRegistrationsPanel.grayOutCompetitorsFromRegistered(competitors); } - private void getRegisteredCompetitors(AsyncCallback> callback) { + private void getRegisteredCompetitors(AsyncCallback> callback) { if (competitorRegistrationsPanel.showOnlyCompetitorsOfLog()) { sailingService.getCompetitorRegistrationsInRaceLog(leaderboardName, raceColumnName, fleetName, callback); } else { @@ -291,7 +291,7 @@ public class RaceLogCompetitorRegistrationDialog extends AbstractCompetitorRegis } @Override - protected Set getResult() { + protected Set getResult() { if (getOrCreateCompetitorRegistrationInRaceLogCheckBox(stringMessages).getValue()) { return super.getResult(); } else { diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RaceOrRegattaImportCompetitorCallback.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RaceOrRegattaImportCompetitorCallback.java index 75ddbdd25c7..057c2abbe62 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RaceOrRegattaImportCompetitorCallback.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RaceOrRegattaImportCompetitorCallback.java @@ -2,7 +2,7 @@ package com.sap.sailing.gwt.ui.adminconsole; import java.util.Set; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.gwt.ui.client.SailingServiceAsync; import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sse.gwt.client.ErrorReporter; @@ -17,7 +17,7 @@ public class RaceOrRegattaImportCompetitorCallback extends ImportCompetitorCallb } @Override - protected void registerCompetitors(Set competitors) { + protected void registerCompetitors(Set competitors) { registrationsDialog.addImportedCompetitorsToRegisteredCompetitorsTableAndRemoveFromAllCompetitorsTable(competitors); } } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaLeaderboardWithEliminationsCreateDialog.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaLeaderboardWithEliminationsCreateDialog.java index 134bbcf452d..28c02dc56f5 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaLeaderboardWithEliminationsCreateDialog.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaLeaderboardWithEliminationsCreateDialog.java @@ -6,7 +6,7 @@ import java.util.HashSet; import java.util.function.Consumer; import com.google.gwt.user.client.rpc.AsyncCallback; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.gwt.ui.client.SailingServiceAsync; import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sailing.gwt.ui.shared.RegattaDTO; @@ -25,7 +25,7 @@ public class RegattaLeaderboardWithEliminationsCreateDialog extends RegattaLeade } @Override - protected Consumer>> getEliminatedCompetitorsRetriever() { + protected Consumer>> getEliminatedCompetitorsRetriever() { eliminatedCompetitors = new HashSet<>(); return callback->callback.onSuccess(eliminatedCompetitors); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaLeaderboardWithEliminationsDialog.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaLeaderboardWithEliminationsDialog.java index a56470909f6..b32a2aa0dd9 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaLeaderboardWithEliminationsDialog.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaLeaderboardWithEliminationsDialog.java @@ -16,7 +16,7 @@ import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.ListBox; import com.google.gwt.user.client.ui.VerticalPanel; import com.google.gwt.user.client.ui.Widget; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.gwt.ui.client.SailingServiceAsync; import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sailing.gwt.ui.shared.RegattaDTO; @@ -39,7 +39,7 @@ public abstract class RegattaLeaderboardWithEliminationsDialog extends AbstractL * this field. For an existing leaderboard with eliminations it is initially filled from the * server's copy of that leaderboard. For new leaderboards it starts out empty. */ - protected Collection eliminatedCompetitors; + protected Collection eliminatedCompetitors; protected static class LeaderboardParameterValidator implements Validator { protected final StringMessages stringMessages; @@ -139,7 +139,7 @@ public abstract class RegattaLeaderboardWithEliminationsDialog extends AbstractL * this hasn't happened before, and the result is cached locally. In the {@link #getResult()} implementation the * eliminations are then taken from the local state. */ - protected abstract Consumer>> getEliminatedCompetitorsRetriever(); + protected abstract Consumer>> getEliminatedCompetitorsRetriever(); /** * Based on the contents of {@link #regattaLeaderboardsListBox} obtains the leaderboard from diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaLeaderboardWithEliminationsEditDialog.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaLeaderboardWithEliminationsEditDialog.java index e8971e90192..b3142d92b78 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaLeaderboardWithEliminationsEditDialog.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaLeaderboardWithEliminationsEditDialog.java @@ -5,7 +5,7 @@ import java.util.HashSet; import java.util.function.Consumer; import com.google.gwt.user.client.rpc.AsyncCallback; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.gwt.ui.client.SailingServiceAsync; import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sailing.gwt.ui.shared.RegattaDTO; @@ -47,20 +47,20 @@ public class RegattaLeaderboardWithEliminationsEditDialog extends RegattaLeaderb } @Override - protected Consumer>> getEliminatedCompetitorsRetriever() { + protected Consumer>> getEliminatedCompetitorsRetriever() { eliminatedCompetitors = null; return callback->{ if (eliminatedCompetitors != null) { callback.onSuccess(eliminatedCompetitors); } else { - sailingService.getEliminatedCompetitors(nameTextBox.getValue(), new AsyncCallback>() { + sailingService.getEliminatedCompetitors(nameTextBox.getValue(), new AsyncCallback>() { @Override public void onFailure(Throwable caught) { callback.onFailure(caught); } @Override - public void onSuccess(Collection result) { + public void onSuccess(Collection result) { eliminatedCompetitors = new HashSet<>(result); callback.onSuccess(eliminatedCompetitors); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaLogAddDeviceMappingDialog.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaLogAddDeviceMappingDialog.java index 8fcc1aacb54..bd7ce824d63 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaLogAddDeviceMappingDialog.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaLogAddDeviceMappingDialog.java @@ -16,7 +16,7 @@ import com.google.gwt.user.client.ui.TextBox; import com.google.gwt.user.client.ui.VerticalPanel; import com.google.gwt.user.client.ui.Widget; import com.sap.sailing.domain.common.dto.BoatDTO; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.domain.common.racelog.tracking.DeviceMappingConstants; import com.sap.sailing.domain.common.racelog.tracking.MappableToDevice; import com.sap.sailing.domain.common.racelog.tracking.QRCodeURLCreationException; @@ -121,7 +121,7 @@ public class RegattaLogAddDeviceMappingDialog extends DataEntryDialogWithDateTim } @Override - public void onSelectionChange(CompetitorDTO competitor) { + public void onSelectionChange(CompetitorWithBoatDTO competitor) { selectedItem = competitor; qrWidget.setMappedItem(DeviceMappingConstants.URL_COMPETITOR_ID_AS_STRING, competitor.getIdAsString()); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaLogCompetitorRegistrationDialog.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaLogCompetitorRegistrationDialog.java old mode 100644 new mode 100755 index 22122cb82c5..4ec58e6a164 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaLogCompetitorRegistrationDialog.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaLogCompetitorRegistrationDialog.java @@ -6,7 +6,7 @@ import java.util.function.Consumer; import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.gwt.user.client.ui.Widget; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.gwt.ui.client.SailingServiceAsync; import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sse.gwt.client.ErrorReporter; @@ -15,7 +15,7 @@ public class RegattaLogCompetitorRegistrationDialog extends AbstractCompetitorRe public RegattaLogCompetitorRegistrationDialog(String boatClass, SailingServiceAsync sailingService, StringMessages stringMessages, ErrorReporter errorReporter, boolean editable, String leaderboardName, boolean canBoatsOfCompetitorsChangePerRace, - com.sap.sse.gwt.client.dialog.DataEntryDialog.DialogCallback> callback) { + com.sap.sse.gwt.client.dialog.DataEntryDialog.DialogCallback> callback) { this(boatClass, sailingService, stringMessages, errorReporter, editable, leaderboardName, canBoatsOfCompetitorsChangePerRace, /* validator */ null, callback); } @@ -29,11 +29,11 @@ public class RegattaLogCompetitorRegistrationDialog extends AbstractCompetitorRe } @Override - protected Consumer>> getRegisteredCompetitorsRetriever() { + protected Consumer>> getRegisteredCompetitorsRetriever() { return (callback)->getRegisteredCompetitors(callback); } - private void getRegisteredCompetitors(AsyncCallback> callback) { + private void getRegisteredCompetitors(AsyncCallback> callback) { if (competitorRegistrationsPanel.showOnlyCompetitorsOfLog()) { sailingService.getCompetitorRegistrationsInRegattaLog(leaderboardName, callback); } else { diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/SmartphoneTrackingEventManagementPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/SmartphoneTrackingEventManagementPanel.java index 362d978711d..d98ed097ceb 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/SmartphoneTrackingEventManagementPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/SmartphoneTrackingEventManagementPanel.java @@ -40,7 +40,7 @@ import com.sap.sailing.domain.common.RegattaName; import com.sap.sailing.domain.common.TrackedRaceStatusEnum; import com.sap.sailing.domain.common.abstractlog.TimePointSpecificationFoundInLog; import com.sap.sailing.domain.common.dto.BoatDTO; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.domain.common.dto.FleetDTO; import com.sap.sailing.domain.common.dto.RaceColumnDTO; import com.sap.sailing.domain.common.dto.RaceDTO; @@ -176,9 +176,9 @@ public class SmartphoneTrackingEventManagementPanel extends AbstractLeaderboardC new RegattaLogCompetitorRegistrationDialog(boatClassName, sailingService, stringMessages, errorReporter, /* editable */true, leaderboardName, canBoatsOfCompetitorsChangePerRace, - new DialogCallback>() { + new DialogCallback>() { @Override - public void ok(Set registeredCompetitors) { + public void ok(Set registeredCompetitors) { sailingService.setCompetitorRegistrationsInRegattaLog(leaderboardName, registeredCompetitors, new AsyncCallback() { @Override @@ -413,18 +413,18 @@ public class SmartphoneTrackingEventManagementPanel extends AbstractLeaderboardC RaceLogCompetitorRegistrationDialog dialog = new RaceLogCompetitorRegistrationDialog(boatClassName, sailingService, stringMessages, errorReporter, editable, leaderboardName, canBoatsOfCompetitorsChangePerRace, raceColumnName, fleetName, - raceColumnDTOAndFleetDTO.getA().getFleets(), new DialogCallback>() { + raceColumnDTOAndFleetDTO.getA().getFleets(), new DialogCallback>() { @Override - public void ok(final Set registeredCompetitors) { + public void ok(final Set registeredCompetitors) { if (canBoatsOfCompetitorsChangePerRace) { - sailingService.getCompetitorAndBoatRegistrationsInRaceLog(leaderboardName, raceColumnName, fleetName, new AsyncCallback>() { + sailingService.getCompetitorAndBoatRegistrationsInRaceLog(leaderboardName, raceColumnName, fleetName, new AsyncCallback>() { @Override - public void onSuccess(Map existingCompetitorToBoatMappings) { + public void onSuccess(Map existingCompetitorToBoatMappings) { // remove the competitors which has been removed in the first dialog (competitor selection) - Map newCompetitorToBoatMappings = new HashMap<>(); + Map newCompetitorToBoatMappings = new HashMap<>(); - for (CompetitorDTO competitorDTO: registeredCompetitors) { + for (CompetitorWithBoatDTO competitorDTO: registeredCompetitors) { if (existingCompetitorToBoatMappings.containsKey((competitorDTO))) { BoatDTO boatDTO = existingCompetitorToBoatMappings.get(competitorDTO); newCompetitorToBoatMappings.put(competitorDTO, boatDTO); @@ -434,9 +434,9 @@ public class SmartphoneTrackingEventManagementPanel extends AbstractLeaderboardC } new CompetitorToBoatMappingsDialog(sailingService, stringMessages, - errorReporter, newCompetitorToBoatMappings, new DialogCallback>() { + errorReporter, newCompetitorToBoatMappings, new DialogCallback>() { @Override - public void ok(final Map competitorToBoatMappings) { + public void ok(final Map competitorToBoatMappings) { sailingService.setCompetitorRegistrationsInRaceLog(leaderboardName, raceColumnName, fleetName, competitorToBoatMappings, new AsyncCallback() { @Override diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/TrackFileImportDeviceIdentifierTableWrapper.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/TrackFileImportDeviceIdentifierTableWrapper.java index b4944cb126b..439b7c4ff7f 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/TrackFileImportDeviceIdentifierTableWrapper.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/TrackFileImportDeviceIdentifierTableWrapper.java @@ -12,7 +12,7 @@ import com.google.gwt.user.cellview.client.DefaultCellTableBuilder; import com.google.gwt.user.cellview.client.RowStyles; import com.google.gwt.user.cellview.client.TextColumn; import com.sap.sailing.domain.common.dto.BoatDTO; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.domain.common.racelog.tracking.MappableToDevice; import com.sap.sailing.gwt.ui.client.MappableToDeviceFormatter; import com.sap.sailing.gwt.ui.client.SailingServiceAsync; @@ -142,8 +142,8 @@ public class TrackFileImportDeviceIdentifierTableWrapper extends td.className(tdClasses.toString()); td.colSpan(getColumns().size() - 1); final String nameOfMappedItem; - if (mappableToDevice instanceof CompetitorDTO) { - final CompetitorDTO competitorDTO = (CompetitorDTO) mappableToDevice; + if (mappableToDevice instanceof CompetitorWithBoatDTO) { + final CompetitorWithBoatDTO competitorDTO = (CompetitorWithBoatDTO) mappableToDevice; nameOfMappedItem = competitorDTO.getName(); } else if (mappableToDevice instanceof BoatDTO) { final BoatDTO boatDTO = (BoatDTO) mappableToDevice; diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/CompetitorColorProvider.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/CompetitorColorProvider.java index 295205c0df6..c2336d395cb 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/CompetitorColorProvider.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/CompetitorColorProvider.java @@ -1,7 +1,7 @@ package com.sap.sailing.gwt.ui.client; import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sse.common.Color; /** @@ -12,9 +12,9 @@ import com.sap.sse.common.Color; * @author Frank Mittag */ public interface CompetitorColorProvider { - Color getColor(CompetitorDTO competitor); + Color getColor(CompetitorWithBoatDTO competitor); - Color getColor(CompetitorDTO competitor, RegattaAndRaceIdentifier raceIdentfier); + Color getColor(CompetitorWithBoatDTO competitor, RegattaAndRaceIdentifier raceIdentfier); void addBlockedColor(Color color); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/CompetitorColorProviderImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/CompetitorColorProviderImpl.java index 0edcd5904d3..fc1b2e3397b 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/CompetitorColorProviderImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/CompetitorColorProviderImpl.java @@ -8,32 +8,32 @@ import java.util.Map.Entry; import com.sap.sailing.domain.common.ColorMap; import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; import com.sap.sailing.domain.common.dto.BoatDTO; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.domain.common.impl.ColorMapImpl; import com.sap.sailing.gwt.ui.client.shared.racemap.RaceMap; import com.sap.sse.common.Color; public class CompetitorColorProviderImpl implements CompetitorColorProvider { /** - * Uses the {@link CompetitorDTO#getIdAsString()} as the ID for the color map + * Uses the {@link CompetitorWithBoatDTO#getIdAsString()} as the ID for the color map */ private final ColorMap competitorsColorMap; - private final Map> competitorsBoatColorsPerRace; + private final Map> competitorsBoatColorsPerRace; public CompetitorColorProviderImpl() { - this(null, Collections. emptyMap()); + this(null, Collections. emptyMap()); } public CompetitorColorProviderImpl(RegattaAndRaceIdentifier raceIdentifier, - Map competitorsAndTheirBoats) { + Map competitorsAndTheirBoats) { this.competitorsColorMap = new ColorMapImpl<>(RaceMap.WATER_COLOR); - this.competitorsBoatColorsPerRace = new HashMap>(); + this.competitorsBoatColorsPerRace = new HashMap>(); if (raceIdentifier != null) { - for (Entry competitorAndBoat : competitorsAndTheirBoats.entrySet()) { + for (Entry competitorAndBoat : competitorsAndTheirBoats.entrySet()) { if (competitorAndBoat.getValue() != null) { - Map raceColors = competitorsBoatColorsPerRace.get(raceIdentifier); + Map raceColors = competitorsBoatColorsPerRace.get(raceIdentifier); if (raceColors == null) { - raceColors = new HashMap(); + raceColors = new HashMap(); competitorsBoatColorsPerRace.put(raceIdentifier, raceColors); } Color boatColor = competitorAndBoat.getValue().getColor(); @@ -47,15 +47,15 @@ public class CompetitorColorProviderImpl implements CompetitorColorProvider { } @Override - public Color getColor(CompetitorDTO competitor) { + public Color getColor(CompetitorWithBoatDTO competitor) { return getColor(competitor, null); } @Override - public Color getColor(CompetitorDTO competitor, RegattaAndRaceIdentifier raceIdentfier) { + public Color getColor(CompetitorWithBoatDTO competitor, RegattaAndRaceIdentifier raceIdentfier) { Color result = null; if (raceIdentfier != null) { - Map raceColors = competitorsBoatColorsPerRace.get(raceIdentfier); + Map raceColors = competitorsBoatColorsPerRace.get(raceIdentfier); if (raceColors != null) { result = raceColors.get(competitor); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/CompetitorSelectionChangeListener.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/CompetitorSelectionChangeListener.java index 7ae4bf85f96..956d37d3174 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/CompetitorSelectionChangeListener.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/CompetitorSelectionChangeListener.java @@ -1,6 +1,6 @@ package com.sap.sailing.gwt.ui.client; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sse.common.filter.Filter; import com.sap.sse.common.filter.FilterSet; @@ -10,21 +10,21 @@ import com.sap.sse.common.filter.FilterSet; */ public interface CompetitorSelectionChangeListener { - void competitorsListChanged(Iterable competitors); + void competitorsListChanged(Iterable competitors); /** * Notifies listeners of a change of the competitor filter set. Note that if the list of filtered competitors has * changed, a separate call to filteredCompetitorsListChanged will occur, and that this does not necessarily have to * be the case, e.g., if old and new filter match the same set of competitors. */ - void filterChanged(FilterSet> oldFilterSet, FilterSet> newFilterSet); + void filterChanged(FilterSet> oldFilterSet, FilterSet> newFilterSet); /** * Notifies listeners that the list of filtered competitors has changed. Possible reasons include a change of the * filter condition or a change in the overall list of competitors. */ - void filteredCompetitorsListChanged(Iterable filteredCompetitors); + void filteredCompetitorsListChanged(Iterable filteredCompetitors); - void addedToSelection(CompetitorDTO competitor); - void removedFromSelection(CompetitorDTO competitor); + void addedToSelection(CompetitorWithBoatDTO competitor); + void removedFromSelection(CompetitorWithBoatDTO competitor); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/CompetitorSelectionModel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/CompetitorSelectionModel.java index b9400ddab0a..af18a55aba5 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/CompetitorSelectionModel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/CompetitorSelectionModel.java @@ -11,25 +11,25 @@ import java.util.LinkedHashSet; import java.util.Map; import java.util.Set; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sse.common.Color; import com.sap.sse.common.Util; import com.sap.sse.common.filter.Filter; import com.sap.sse.common.filter.FilterSet; public class CompetitorSelectionModel implements CompetitorSelectionProvider { - protected final Set allCompetitors; + protected final Set allCompetitors; /** - * Keys are {@link CompetitorDTO#getIdAsString()} of their values + * Keys are {@link CompetitorWithBoatDTO#getIdAsString()} of their values */ - private final LinkedHashMap selectedCompetitors; + private final LinkedHashMap selectedCompetitors; private final Set listeners; private final boolean hasMultiSelection; - private FilterSet> competitorsFilterSet; + private FilterSet> competitorsFilterSet; protected final CompetitorColorProvider competitorColorProvider; @@ -41,12 +41,12 @@ public class CompetitorSelectionModel implements CompetitorSelectionProvider { this(hasMultiSelection, competitorColorProvider, null); } - private CompetitorSelectionModel(boolean hasMultiSelection, CompetitorColorProvider competitorColorProvider, FilterSet> competitorsFilterSet) { + private CompetitorSelectionModel(boolean hasMultiSelection, CompetitorColorProvider competitorColorProvider, FilterSet> competitorsFilterSet) { super(); this.hasMultiSelection = hasMultiSelection; this.competitorColorProvider = competitorColorProvider; this.competitorsFilterSet = competitorsFilterSet; - this.allCompetitors = new LinkedHashSet(); + this.allCompetitors = new LinkedHashSet<>(); this.selectedCompetitors = new LinkedHashMap<>(); this.listeners = new HashSet(); } @@ -55,11 +55,11 @@ public class CompetitorSelectionModel implements CompetitorSelectionProvider { * Adds a competitor to the {@link #getAllCompetitors() set of all competitors}. If the competitor was not yet * contained, it will be deselected. */ - public void add(CompetitorDTO competitor) { + public void add(CompetitorWithBoatDTO competitor) { add(competitor, true); } - private void add(CompetitorDTO competitor, boolean notifyListeners) { + private void add(CompetitorWithBoatDTO competitor, boolean notifyListeners) { if (competitor.getColor() != null) { competitorColorProvider.addBlockedColor(competitor.getColor()); } @@ -79,9 +79,9 @@ public class CompetitorSelectionModel implements CompetitorSelectionProvider { * were selected so far. */ public void clear() { - Iterator selIter = getSelectedCompetitors().iterator(); + Iterator selIter = getSelectedCompetitors().iterator(); while (selIter.hasNext()) { - CompetitorDTO selected = selIter.next(); + CompetitorWithBoatDTO selected = selIter.next(); setSelected(selected, false); selIter = getSelectedCompetitors().iterator(); } @@ -90,9 +90,9 @@ public class CompetitorSelectionModel implements CompetitorSelectionProvider { fireListChanged(getAllCompetitors()); } - public void addAll(Iterable competitors) { + public void addAll(Iterable competitors) { boolean changed = false; - for (CompetitorDTO competitor : competitors) { + for (CompetitorWithBoatDTO competitor : competitors) { add(competitor, false); changed = true; } @@ -105,7 +105,7 @@ public class CompetitorSelectionModel implements CompetitorSelectionProvider { * Removes the competitor from the {@link #getAllCompetitors() set of all competitor}. If the competitor was previously * contained and selected, it is deselected first. */ - public void remove(CompetitorDTO competitor) { + public void remove(CompetitorWithBoatDTO competitor) { if (isSelected(competitor)) { setSelected(competitor, false); } @@ -119,29 +119,29 @@ public class CompetitorSelectionModel implements CompetitorSelectionProvider { } @Override - public Iterable getSelectedCompetitors() { + public Iterable getSelectedCompetitors() { return Collections.unmodifiableCollection(selectedCompetitors.values()); } @Override - public Iterable getSelectedFilteredCompetitors() { - Set result = new HashSet<>(selectedCompetitors.values()); + public Iterable getSelectedFilteredCompetitors() { + Set result = new HashSet<>(selectedCompetitors.values()); result.retainAll(getFilteredCompetitors()); return result; } @Override - public Iterable getAllCompetitors() { + public Iterable getAllCompetitors() { return Collections.unmodifiableCollection(allCompetitors); } @Override - public Collection getFilteredCompetitors() { - Set currentFilteredList = new LinkedHashSet(allCompetitors); + public Collection getFilteredCompetitors() { + Set currentFilteredList = new LinkedHashSet(allCompetitors); if (competitorsFilterSet != null) { - for (Filter filter : competitorsFilterSet.getFilters()) { - for (Iterator i=currentFilteredList.iterator(); i.hasNext(); ) { - CompetitorDTO competitorDTO = i.next(); + for (Filter filter : competitorsFilterSet.getFilters()) { + for (Iterator i=currentFilteredList.iterator(); i.hasNext(); ) { + CompetitorWithBoatDTO competitorDTO = i.next(); if (!filter.matches(competitorDTO)) { i.remove(); } @@ -151,7 +151,7 @@ public class CompetitorSelectionModel implements CompetitorSelectionProvider { return currentFilteredList; } - public void setSelected(CompetitorDTO competitor, boolean selected, CompetitorSelectionChangeListener... listenersNotToNotify) { + public void setSelected(CompetitorWithBoatDTO competitor, boolean selected, CompetitorSelectionChangeListener... listenersNotToNotify) { if (selected) { if (allCompetitors.contains(competitor) && !selectedCompetitors.containsKey(competitor.getIdAsString())) { selectedCompetitors.put(competitor.getIdAsString(), competitor); @@ -165,7 +165,7 @@ public class CompetitorSelectionModel implements CompetitorSelectionProvider { } } - private void fireAddedToSelection(CompetitorDTO competitor, CompetitorSelectionChangeListener... listenersNotToNotify) { + private void fireAddedToSelection(CompetitorWithBoatDTO competitor, CompetitorSelectionChangeListener... listenersNotToNotify) { for (CompetitorSelectionChangeListener listener : listeners) { if (listenersNotToNotify == null || !Arrays.asList(listenersNotToNotify).contains(listener)) { listener.addedToSelection(competitor); @@ -173,7 +173,7 @@ public class CompetitorSelectionModel implements CompetitorSelectionProvider { } } - private void fireRemovedFromSelection(CompetitorDTO competitor, CompetitorSelectionChangeListener... listenersNotToNotify) { + private void fireRemovedFromSelection(CompetitorWithBoatDTO competitor, CompetitorSelectionChangeListener... listenersNotToNotify) { for (CompetitorSelectionChangeListener listener : listeners) { if (listenersNotToNotify == null || !Arrays.asList(listenersNotToNotify).contains(listener)) { listener.removedFromSelection(competitor); @@ -181,7 +181,7 @@ public class CompetitorSelectionModel implements CompetitorSelectionProvider { } } - private void fireListChanged(Iterable competitors, CompetitorSelectionChangeListener... listenersNotToNotify) { + private void fireListChanged(Iterable competitors, CompetitorSelectionChangeListener... listenersNotToNotify) { for (CompetitorSelectionChangeListener listener : listeners) { if (listenersNotToNotify == null || !Arrays.asList(listenersNotToNotify).contains(listener)) { listener.competitorsListChanged(competitors); @@ -190,7 +190,7 @@ public class CompetitorSelectionModel implements CompetitorSelectionProvider { } @Override - public boolean isSelected(CompetitorDTO competitor) { + public boolean isSelected(CompetitorWithBoatDTO competitor) { return selectedCompetitors.containsKey(competitor.getIdAsString()); } @@ -205,25 +205,25 @@ public class CompetitorSelectionModel implements CompetitorSelectionProvider { } @Override - public void setSelection(Iterable newSelection, CompetitorSelectionChangeListener... listenersNotToNotify) { - Set competitorsToRemoveFromSelection = new HashSet(selectedCompetitors.values()); - for (CompetitorDTO newSelectedCompetitor : newSelection) { + public void setSelection(Iterable newSelection, CompetitorSelectionChangeListener... listenersNotToNotify) { + Set competitorsToRemoveFromSelection = new HashSet(selectedCompetitors.values()); + for (CompetitorWithBoatDTO newSelectedCompetitor : newSelection) { setSelected(newSelectedCompetitor, true, listenersNotToNotify); competitorsToRemoveFromSelection.remove(newSelectedCompetitor); } - for (CompetitorDTO competitorToRemoveFromSelection : competitorsToRemoveFromSelection) { + for (CompetitorWithBoatDTO competitorToRemoveFromSelection : competitorsToRemoveFromSelection) { setSelected(competitorToRemoveFromSelection, false, listenersNotToNotify); } } @Override - public void setCompetitors(Iterable newCompetitors, CompetitorSelectionChangeListener... listenersNotToNotify) { + public void setCompetitors(Iterable newCompetitors, CompetitorSelectionChangeListener... listenersNotToNotify) { boolean changed = false; - Map oldCompetitorsToRemove = new HashMap(); - for (final CompetitorDTO c : allCompetitors) { + Map oldCompetitorsToRemove = new HashMap(); + for (final CompetitorWithBoatDTO c : allCompetitors) { oldCompetitorsToRemove.put(c.getIdAsString(), c); } - for (CompetitorDTO newCompetitor : newCompetitors) { + for (CompetitorWithBoatDTO newCompetitor : newCompetitors) { // Search by equality, including all CompetitorDTO fields; if equal object is found, leave it in place; // non-equal objects may still represent the same competitor entity; yet, replace the object to obtain the // new, changed state; make sure the selection keeps unchanged regarding the selected competitor "entities"; @@ -244,7 +244,7 @@ public class CompetitorSelectionModel implements CompetitorSelectionProvider { changed = true; } } - for (CompetitorDTO oldCompetitorToRemove : oldCompetitorsToRemove.values()) { + for (CompetitorWithBoatDTO oldCompetitorToRemove : oldCompetitorsToRemove.values()) { remove(oldCompetitorToRemove); changed = true; } @@ -255,26 +255,26 @@ public class CompetitorSelectionModel implements CompetitorSelectionProvider { } @Override - public Color getColor(CompetitorDTO competitor) { + public Color getColor(CompetitorWithBoatDTO competitor) { return allCompetitors.contains(competitor) ? competitorColorProvider.getColor(competitor) : null; } @Override - public FilterSet> getCompetitorsFilterSet() { + public FilterSet> getCompetitorsFilterSet() { return competitorsFilterSet; } @Override - public FilterSet> getOrCreateCompetitorsFilterSet(String nameToAssignToNewFilterSet) { + public FilterSet> getOrCreateCompetitorsFilterSet(String nameToAssignToNewFilterSet) { if (competitorsFilterSet == null) { - competitorsFilterSet = new FilterSet>(nameToAssignToNewFilterSet); + competitorsFilterSet = new FilterSet>(nameToAssignToNewFilterSet); } return getCompetitorsFilterSet(); } @Override - public void setCompetitorsFilterSet(FilterSet> competitorsFilterSet) { - FilterSet> oldFilterSet = this.competitorsFilterSet; + public void setCompetitorsFilterSet(FilterSet> competitorsFilterSet) { + FilterSet> oldFilterSet = this.competitorsFilterSet; this.competitorsFilterSet = competitorsFilterSet; if (!Util.equalsWithNull(competitorsFilterSet, oldFilterSet)) { for (CompetitorSelectionChangeListener listener : listeners) { @@ -295,9 +295,9 @@ public class CompetitorSelectionModel implements CompetitorSelectionProvider { @Override public void clearAllFilters() { if (hasActiveFilters()) { - Iterator selIter = getSelectedCompetitors().iterator(); + Iterator selIter = getSelectedCompetitors().iterator(); while (selIter.hasNext()) { - CompetitorDTO selected = selIter.next(); + CompetitorWithBoatDTO selected = selIter.next(); setSelected(selected, false); selIter = getSelectedCompetitors().iterator(); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/CompetitorSelectionProvider.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/CompetitorSelectionProvider.java index 61f8bfd93a2..baad07582f8 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/CompetitorSelectionProvider.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/CompetitorSelectionProvider.java @@ -1,6 +1,6 @@ package com.sap.sailing.gwt.ui.client; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sse.common.Color; import com.sap.sse.common.filter.Filter; import com.sap.sse.common.filter.FilterSet; @@ -12,30 +12,30 @@ public interface CompetitorSelectionProvider { * which elements were selected; all competitors contained in the structure returned are also in the * structure returned by {@link #getAllCompetitors()} at the time of the call. */ - Iterable getSelectedCompetitors(); + Iterable getSelectedCompetitors(); /** * The intersection of {@link #getSelectedCompetitors()} and {@link #getFilteredCompetitors()} */ - Iterable getSelectedFilteredCompetitors(); + Iterable getSelectedFilteredCompetitors(); /** * @return a non-null sequence of all competitors which may be empty. */ - Iterable getAllCompetitors(); + Iterable getAllCompetitors(); /** * @return a non-null sequence of all competitors filtered by the applied * {@link #getCompetitorsFilterSet() filter set} (which may be null). */ - Iterable getFilteredCompetitors(); + Iterable getFilteredCompetitors(); /** * Updates the selection state of competitor if contained in {@link #getAllCompetitors()}. If this * means a change in competitor's selection state, all listeners except for those in * listenersNotToNotify will be informed. */ - void setSelected(CompetitorDTO competitor, boolean selected, CompetitorSelectionChangeListener... listenersNotToNotify); + void setSelected(CompetitorWithBoatDTO competitor, boolean selected, CompetitorSelectionChangeListener... listenersNotToNotify); /** * Those competitors in newSelection that are also in {@link #getAllCompetitors()} will be selected, @@ -46,7 +46,7 @@ public interface CompetitorSelectionProvider { * @param listenersNotToNotify * if provided, these listeners will not be notified about the selection changes caused by this call */ - void setSelection(Iterable newSelection, CompetitorSelectionChangeListener... listenersNotToNotify); + void setSelection(Iterable newSelection, CompetitorSelectionChangeListener... listenersNotToNotify); /** * Deselects and removes all competitors from {@link #getAllCompetitors()} which are not in newCompetitor and @@ -54,23 +54,23 @@ public interface CompetitorSelectionProvider { * of {@link #getAllCompetitors()} are equal to newCompetitors except for ordering which is not guaranteed * to be stable. */ - void setCompetitors(Iterable newCompetitors, CompetitorSelectionChangeListener... listenersNotToNotify); + void setCompetitors(Iterable newCompetitors, CompetitorSelectionChangeListener... listenersNotToNotify); - boolean isSelected(CompetitorDTO competitor); + boolean isSelected(CompetitorWithBoatDTO competitor); boolean hasMultiSelection(); - Color getColor(CompetitorDTO competitor); + Color getColor(CompetitorWithBoatDTO competitor); void addCompetitorSelectionChangeListener(CompetitorSelectionChangeListener listener); void removeCompetitorSelectionChangeListener(CompetitorSelectionChangeListener listener); - public FilterSet> getCompetitorsFilterSet(); + public FilterSet> getCompetitorsFilterSet(); - public void setCompetitorsFilterSet(FilterSet> competitorsFilterSet); + public void setCompetitorsFilterSet(FilterSet> competitorsFilterSet); - FilterSet> getOrCreateCompetitorsFilterSet(String nameToAssignToNewFilterSet); + FilterSet> getOrCreateCompetitorsFilterSet(String nameToAssignToNewFilterSet); /** * Returns true if the provider has any filters that will restrain the selection. diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/CompetitorWithBoatSelectionModel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/CompetitorWithBoatSelectionModel.java deleted file mode 100644 index 844a3b2f6f4..00000000000 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/CompetitorWithBoatSelectionModel.java +++ /dev/null @@ -1,313 +0,0 @@ -package com.sap.sailing.gwt.ui.client; - -import java.util.Arrays; -import java.util.Collection; -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.LinkedHashMap; -import java.util.LinkedHashSet; -import java.util.Map; -import java.util.Set; - -import com.sap.sailing.domain.common.dto.CompetitorDTO; -import com.sap.sse.common.Color; -import com.sap.sse.common.Util; -import com.sap.sse.common.filter.Filter; -import com.sap.sse.common.filter.FilterSet; - -public class CompetitorWithBoatSelectionModel implements CompetitorSelectionProvider { - private final Set allCompetitors; - - /** - * Keys are {@link CompetitorDTO#getIdAsString()} of their values - */ - private final LinkedHashMap selectedCompetitors; - - private final Set listeners; - - private final boolean hasMultiSelection; - - private FilterSet> competitorsFilterSet; - - private final CompetitorColorProvider competitorColorProvider; - - public CompetitorWithBoatSelectionModel(boolean hasMultiSelection) { - this(hasMultiSelection, new CompetitorColorProviderImpl(), null); - } - - public CompetitorWithBoatSelectionModel(boolean hasMultiSelection, CompetitorColorProvider competitorColorProvider) { - this(hasMultiSelection, competitorColorProvider, null); - } - - private CompetitorWithBoatSelectionModel(boolean hasMultiSelection, CompetitorColorProvider competitorColorProvider, FilterSet> competitorsFilterSet) { - super(); - this.hasMultiSelection = hasMultiSelection; - this.competitorColorProvider = competitorColorProvider; - this.competitorsFilterSet = competitorsFilterSet; - this.allCompetitors = new LinkedHashSet(); - this.selectedCompetitors = new LinkedHashMap<>(); - this.listeners = new HashSet(); - } - - /** - * Adds a competitor to the {@link #getAllCompetitors() set of all competitors}. If the competitor was not yet - * contained, it will be deselected. - */ - public void add(CompetitorDTO competitor) { - add(competitor, true); - } - - private void add(CompetitorDTO competitor, boolean notifyListeners) { - if (competitor.getColor() != null) { - competitorColorProvider.addBlockedColor(competitor.getColor()); - } - boolean changed = allCompetitors.add(competitor); - if (notifyListeners && changed) { - fireListChanged(getAllCompetitors()); - } - } - - @Override - public boolean hasMultiSelection() { - return hasMultiSelection; - } - - /** - * Removes all competitors. Afterwards, this model is empty. Deselection events are issued for all competitors that - * were selected so far. - */ - public void clear() { - Iterator selIter = getSelectedCompetitors().iterator(); - while (selIter.hasNext()) { - CompetitorDTO selected = selIter.next(); - setSelected(selected, false); - selIter = getSelectedCompetitors().iterator(); - } - assert selectedCompetitors.isEmpty(); - allCompetitors.clear(); - fireListChanged(getAllCompetitors()); - } - - public void addAll(Iterable competitors) { - boolean changed = false; - for (CompetitorDTO competitor : competitors) { - add(competitor, false); - changed = true; - } - if (changed) { - fireListChanged(getAllCompetitors()); - } - } - - /** - * Removes the competitor from the {@link #getAllCompetitors() set of all competitor}. If the competitor was previously - * contained and selected, it is deselected first. - */ - public void remove(CompetitorDTO competitor) { - if (isSelected(competitor)) { - setSelected(competitor, false); - } - if (competitor.getColor() != null) { - competitorColorProvider.removeBlockedColor(competitor.getColor()); - } - boolean changed = allCompetitors.remove(competitor); - if (changed) { - fireListChanged(getAllCompetitors()); - } - } - - @Override - public Iterable getSelectedCompetitors() { - return Collections.unmodifiableCollection(selectedCompetitors.values()); - } - - @Override - public Iterable getSelectedFilteredCompetitors() { - Set result = new HashSet<>(selectedCompetitors.values()); - result.retainAll(getFilteredCompetitors()); - return result; - } - - @Override - public Iterable getAllCompetitors() { - return Collections.unmodifiableCollection(allCompetitors); - } - - @Override - public Collection getFilteredCompetitors() { - Set currentFilteredList = new LinkedHashSet(allCompetitors); - if (competitorsFilterSet != null) { - for (Filter filter : competitorsFilterSet.getFilters()) { - for (Iterator i=currentFilteredList.iterator(); i.hasNext(); ) { - CompetitorDTO competitorDTO = i.next(); - if (!filter.matches(competitorDTO)) { - i.remove(); - } - } - } - } - return currentFilteredList; - } - - public void setSelected(CompetitorDTO competitor, boolean selected, CompetitorSelectionChangeListener... listenersNotToNotify) { - if (selected) { - if (allCompetitors.contains(competitor) && !selectedCompetitors.containsKey(competitor.getIdAsString())) { - selectedCompetitors.put(competitor.getIdAsString(), competitor); - fireAddedToSelection(competitor, listenersNotToNotify); - } - } else { - if (selectedCompetitors.containsKey(competitor.getIdAsString())) { - selectedCompetitors.remove(competitor.getIdAsString()); - fireRemovedFromSelection(competitor, listenersNotToNotify); - } - } - } - - private void fireAddedToSelection(CompetitorDTO competitor, CompetitorSelectionChangeListener... listenersNotToNotify) { - for (CompetitorSelectionChangeListener listener : listeners) { - if (listenersNotToNotify == null || !Arrays.asList(listenersNotToNotify).contains(listener)) { - listener.addedToSelection(competitor); - } - } - } - - private void fireRemovedFromSelection(CompetitorDTO competitor, CompetitorSelectionChangeListener... listenersNotToNotify) { - for (CompetitorSelectionChangeListener listener : listeners) { - if (listenersNotToNotify == null || !Arrays.asList(listenersNotToNotify).contains(listener)) { - listener.removedFromSelection(competitor); - } - } - } - - private void fireListChanged(Iterable competitors, CompetitorSelectionChangeListener... listenersNotToNotify) { - for (CompetitorSelectionChangeListener listener : listeners) { - if (listenersNotToNotify == null || !Arrays.asList(listenersNotToNotify).contains(listener)) { - listener.competitorsListChanged(competitors); - } - } - } - - @Override - public boolean isSelected(CompetitorDTO competitor) { - return selectedCompetitors.containsKey(competitor.getIdAsString()); - } - - @Override - public void addCompetitorSelectionChangeListener(CompetitorSelectionChangeListener listener) { - listeners.add(listener); - } - - @Override - public void removeCompetitorSelectionChangeListener(CompetitorSelectionChangeListener listener) { - listeners.remove(listener); - } - - @Override - public void setSelection(Iterable newSelection, CompetitorSelectionChangeListener... listenersNotToNotify) { - Set competitorsToRemoveFromSelection = new HashSet(selectedCompetitors.values()); - for (CompetitorDTO newSelectedCompetitor : newSelection) { - setSelected(newSelectedCompetitor, true, listenersNotToNotify); - competitorsToRemoveFromSelection.remove(newSelectedCompetitor); - } - for (CompetitorDTO competitorToRemoveFromSelection : competitorsToRemoveFromSelection) { - setSelected(competitorToRemoveFromSelection, false, listenersNotToNotify); - } - } - - @Override - public void setCompetitors(Iterable newCompetitors, CompetitorSelectionChangeListener... listenersNotToNotify) { - boolean changed = false; - Map oldCompetitorsToRemove = new HashMap(); - for (final CompetitorDTO c : allCompetitors) { - oldCompetitorsToRemove.put(c.getIdAsString(), c); - } - for (CompetitorDTO newCompetitor : newCompetitors) { - // Search by equality, including all CompetitorDTO fields; if equal object is found, leave it in place; - // non-equal objects may still represent the same competitor entity; yet, replace the object to obtain the - // new, changed state; make sure the selection keeps unchanged regarding the selected competitor "entities"; - // see also bug 3413 for more background. - if (allCompetitors.contains(newCompetitor)) { - oldCompetitorsToRemove.remove(newCompetitor.getIdAsString()); // the old competitor object remains in allCompetitors; it is equal but doesn't have to be identical to newCompetitor - } else { - boolean selected = isSelected(newCompetitor); - if (selected) { - remove(oldCompetitorsToRemove.get(newCompetitor.getIdAsString())); - oldCompetitorsToRemove.remove(newCompetitor.getIdAsString()); - } - add(newCompetitor, false); // due to the equals definition of CompetitorDTOImpl that compares most fields, state changes lead to a replacement here - if (selected) { - // restore selection for replaced element - setSelected(newCompetitor, selected, listenersNotToNotify); - } - changed = true; - } - } - for (CompetitorDTO oldCompetitorToRemove : oldCompetitorsToRemove.values()) { - remove(oldCompetitorToRemove); - changed = true; - } - - if (changed) { - fireListChanged(getAllCompetitors(), listenersNotToNotify); - } - } - - @Override - public Color getColor(CompetitorDTO competitor) { - return allCompetitors.contains(competitor) ? competitorColorProvider.getColor(competitor) : null; - } - - @Override - public FilterSet> getCompetitorsFilterSet() { - return competitorsFilterSet; - } - - @Override - public FilterSet> getOrCreateCompetitorsFilterSet(String nameToAssignToNewFilterSet) { - if (competitorsFilterSet == null) { - competitorsFilterSet = new FilterSet>(nameToAssignToNewFilterSet); - } - return getCompetitorsFilterSet(); - } - - @Override - public void setCompetitorsFilterSet(FilterSet> competitorsFilterSet) { - FilterSet> oldFilterSet = this.competitorsFilterSet; - this.competitorsFilterSet = competitorsFilterSet; - if (!Util.equalsWithNull(competitorsFilterSet, oldFilterSet)) { - for (CompetitorSelectionChangeListener listener : listeners) { - listener.filterChanged(oldFilterSet, competitorsFilterSet); - } - } - for (CompetitorSelectionChangeListener listener : listeners) { - listener.filteredCompetitorsListChanged(getFilteredCompetitors()); - } - } - - @Override - public boolean hasActiveFilters() { - return (competitorsFilterSet != null && !competitorsFilterSet.getFilters().isEmpty() - && getFilteredCompetitors().size() != allCompetitors.size()); - } - - @Override - public void clearAllFilters() { - if (hasActiveFilters()) { - Iterator selIter = getSelectedCompetitors().iterator(); - while (selIter.hasNext()) { - CompetitorDTO selected = selIter.next(); - setSelected(selected, false); - selIter = getSelectedCompetitors().iterator(); - } - competitorsFilterSet = null; - fireListChanged(getAllCompetitors()); - } - } - - @Override - public int getFilteredCompetitorsListSize() { - return getFilteredCompetitors().size(); - } -} diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/MappableToDeviceFormatter.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/MappableToDeviceFormatter.java index 8b6fc02d3f0..44f8418d072 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/MappableToDeviceFormatter.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/MappableToDeviceFormatter.java @@ -1,8 +1,8 @@ package com.sap.sailing.gwt.ui.client; import com.sap.sailing.domain.common.dto.BoatDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.domain.common.dto.CompetitorDTO; -import com.sap.sailing.domain.common.dto.CompetitorWithoutBoatDTO; import com.sap.sailing.domain.common.racelog.tracking.MappableToDevice; import com.sap.sailing.gwt.ui.shared.MarkDTO; @@ -17,7 +17,7 @@ public abstract class MappableToDeviceFormatter { * @return the {@link String} representing of the given mappedTo instance */ public static String formatType(final MappableToDevice mappedTo, final StringMessages stringMessages) { - if (mappedTo instanceof CompetitorDTO || mappedTo instanceof CompetitorWithoutBoatDTO) { + if (mappedTo instanceof CompetitorWithBoatDTO || mappedTo instanceof CompetitorDTO) { return stringMessages.competitor(); } else if (mappedTo instanceof BoatDTO) { return stringMessages.boat(); @@ -36,8 +36,8 @@ public abstract class MappableToDeviceFormatter { * @return the {@link String} representing of the given mappedTo instance */ public static String formatName(final MappableToDevice mappedTo) { - if (mappedTo instanceof CompetitorDTO || mappedTo instanceof CompetitorWithoutBoatDTO) { - return ((CompetitorWithoutBoatDTO) mappedTo).getName(); + if (mappedTo instanceof CompetitorWithBoatDTO || mappedTo instanceof CompetitorDTO) { + return ((CompetitorDTO) mappedTo).getName(); } else if (mappedTo instanceof BoatDTO) { return ((BoatDTO) mappedTo).getDisplayName(); } else if (mappedTo instanceof MarkDTO) { diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/RaceCompetitorSelectionModel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/RaceCompetitorSelectionModel.java index 4a17af31d65..30d8883b4ba 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/RaceCompetitorSelectionModel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/RaceCompetitorSelectionModel.java @@ -5,32 +5,35 @@ import java.util.Map; import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; import com.sap.sailing.domain.common.dto.BoatDTO; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sse.common.Color; public class RaceCompetitorSelectionModel extends CompetitorSelectionModel implements RaceCompetitorSelectionProvider { - private final Map boatsOfCompetitors = new HashMap<>(); + private final Map boatsOfCompetitors; public RaceCompetitorSelectionModel(boolean hasMultiSelection) { super(hasMultiSelection); + boatsOfCompetitors = new HashMap<>(); } - public RaceCompetitorSelectionModel(boolean hasMultiSelection, CompetitorColorProvider competitorColorProvider) { + public RaceCompetitorSelectionModel(boolean hasMultiSelection, CompetitorColorProvider competitorColorProvider, Map boatsOfCompetitors) { super(hasMultiSelection, competitorColorProvider); + this.boatsOfCompetitors = boatsOfCompetitors; + addAll(boatsOfCompetitors.keySet()); } @Override - public Color getColor(CompetitorDTO competitor, RegattaAndRaceIdentifier raceIdentfier) { + public Color getColor(CompetitorWithBoatDTO competitor, RegattaAndRaceIdentifier raceIdentfier) { return allCompetitors.contains(competitor) ? competitorColorProvider.getColor(competitor, raceIdentfier) : Color.WHITE /* safe default */; } @Override - public void setBoat(CompetitorDTO competitor, BoatDTO boat) { + public void setBoat(CompetitorWithBoatDTO competitor, BoatDTO boat) { boatsOfCompetitors.put(competitor, boat); } @Override - public BoatDTO getBoat(CompetitorDTO competitor) { + public BoatDTO getBoat(CompetitorWithBoatDTO competitor) { return boatsOfCompetitors.get(competitor); } } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/RaceCompetitorSelectionProvider.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/RaceCompetitorSelectionProvider.java index 46b00bd0eca..7fc0e7a0bda 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/RaceCompetitorSelectionProvider.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/RaceCompetitorSelectionProvider.java @@ -2,14 +2,14 @@ package com.sap.sailing.gwt.ui.client; import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; import com.sap.sailing.domain.common.dto.BoatDTO; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sse.common.Color; public interface RaceCompetitorSelectionProvider extends CompetitorSelectionProvider { - Color getColor(CompetitorDTO competitor, RegattaAndRaceIdentifier raceIdentfier); + Color getColor(CompetitorWithBoatDTO competitor, RegattaAndRaceIdentifier raceIdentfier); - void setBoat(CompetitorDTO competitor, BoatDTO boat); + void setBoat(CompetitorWithBoatDTO competitor, BoatDTO boat); - BoatDTO getBoat(CompetitorDTO competitor); + BoatDTO getBoat(CompetitorWithBoatDTO competitor); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java index aff2ed8f42f..a778a56abc7 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java @@ -33,8 +33,8 @@ import com.sap.sailing.domain.common.WindSource; import com.sap.sailing.domain.common.abstractlog.NotRevokableException; import com.sap.sailing.domain.common.abstractlog.TimePointSpecificationFoundInLog; import com.sap.sailing.domain.common.dto.BoatDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; 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.IncrementalOrFullLeaderboardDTO; import com.sap.sailing.domain.common.dto.PairingListDTO; @@ -173,7 +173,7 @@ public interface SailingService extends RemoteService, FileStorageManagementGwtS RaceboardDataDTO getRaceboardData(String regattaName, String raceName, String leaderboardName, String leaderboardGroupName, UUID eventId); - Map getCompetitorBoats(RegattaAndRaceIdentifier raceIdentifier); + Map getCompetitorBoats(RegattaAndRaceIdentifier raceIdentifier); CompactRaceMapDataDTO getRaceMapData(RegattaAndRaceIdentifier raceIdentifier, Date date, Map fromPerCompetitorIdAsString, Map toPerCompetitorIdAsString, boolean extrapolate, LegIdentifier simulationLegIdentifier, @@ -285,11 +285,11 @@ public interface SailingService extends RemoteService, FileStorageManagementGwtS String[] getCountryCodes(); - Map> getDouglasPoints(RegattaAndRaceIdentifier raceIdentifier, - Map from, Map to, double meters) throws NoWindException; + Map> getDouglasPoints(RegattaAndRaceIdentifier raceIdentifier, + Map from, Map to, double meters) throws NoWindException; - Map> getManeuvers(RegattaAndRaceIdentifier raceIdentifier, - Map from, Map to) throws NoWindException; + Map> getManeuvers(RegattaAndRaceIdentifier raceIdentifier, + Map from, Map to) throws NoWindException; List getLeaderboardsByRaceAndRegatta(String raceName, RegattaIdentifier regattaIdentifier); @@ -308,7 +308,7 @@ public interface SailingService extends RemoteService, FileStorageManagementGwtS void updateLeaderboardGroup(String oldName, String newName, String description, String newDisplayName, List leaderboardNames, int[] overallLeaderboardDiscardThresholds, ScoringSchemeType overallLeaderboardScoringSchemeType); - CompetitorsRaceDataDTO getCompetitorsRaceData(RegattaAndRaceIdentifier race, List competitors, Date from, Date to, + CompetitorsRaceDataDTO getCompetitorsRaceData(RegattaAndRaceIdentifier race, List competitors, Date from, Date to, long stepSizeInMs, DetailType detailType, String leaderboardGroupName, String leaderboardName) throws NoWindException; void setRaceIsKnownToStartUpwind(RegattaAndRaceIdentifier raceIdentifier, boolean raceIsKnownToStartUpwind); @@ -394,7 +394,7 @@ public interface SailingService extends RemoteService, FileStorageManagementGwtS List listSwissTiminigReplayRaces(String swissTimingUrl); - List, List>> getLeaderboardDataEntriesForAllRaceColumns(String leaderboardName, + List, List>> getLeaderboardDataEntriesForAllRaceColumns(String leaderboardName, Date date, DetailType detailType) throws Exception; List getOverallLeaderboardNamesContaining(String leaderboardName); @@ -437,21 +437,21 @@ public interface SailingService extends RemoteService, FileStorageManagementGwtS DataImportProgress getImportOperationProgress(UUID id); - Iterable getCompetitors(boolean filterCompetitorsWithBoat, boolean filterCompetitorsWithoutBoat); + Iterable getCompetitors(boolean filterCompetitorsWithBoat, boolean filterCompetitorsWithoutBoat); - Iterable getCompetitorsOfLeaderboard(String leaderboardName); + Iterable getCompetitorsOfLeaderboard(String leaderboardName); - Map getCompetitorsAndBoatsOfRace(String leaderboardName, String raceColumnName, String fleetName); + Map getCompetitorsAndBoatsOfRace(String leaderboardName, String raceColumnName, String fleetName); - List addOrUpdateCompetitors(List competitors) throws Exception; + List addOrUpdateCompetitors(List competitors) throws Exception; - CompetitorDTO addOrUpdateCompetitorWithBoat(CompetitorDTO competitor) throws Exception; + CompetitorWithBoatDTO addOrUpdateCompetitorWithBoat(CompetitorWithBoatDTO competitor) throws Exception; - CompetitorDTO addOrUpdateCompetitorWithoutBoat(CompetitorDTO competitor) throws Exception; + CompetitorWithBoatDTO addOrUpdateCompetitorWithoutBoat(CompetitorWithBoatDTO competitor) throws Exception; - List addCompetitors(List competitorsForSaving, String searchTag) throws Exception; + List addCompetitors(List competitorsForSaving, String searchTag) throws Exception; - void allowCompetitorResetToDefaults(Iterable competitors); + void allowCompetitorResetToDefaults(Iterable competitors); Iterable getAllBoats(); @@ -520,9 +520,9 @@ public interface SailingService extends RemoteService, FileStorageManagementGwtS void startRaceLogTracking(List> leaderboardRaceColumnFleetNames, boolean trackWind, boolean correctWindByDeclination) throws NotDenotedForRaceLogTrackingException, Exception; - void setCompetitorRegistrationsInRaceLog(String leaderboardName, String raceColumnName, String fleetName, Set competitors) throws CompetitorRegistrationOnRaceLogDisabledException, NotFoundException; + void setCompetitorRegistrationsInRaceLog(String leaderboardName, String raceColumnName, String fleetName, Set competitors) throws CompetitorRegistrationOnRaceLogDisabledException, NotFoundException; - void setCompetitorRegistrationsInRaceLog(String leaderboardName, String raceColumnName, String fleetName, Map competitorsAndBoats) throws CompetitorRegistrationOnRaceLogDisabledException, NotFoundException; + void setCompetitorRegistrationsInRaceLog(String leaderboardName, String raceColumnName, String fleetName, Map competitorsAndBoats) throws CompetitorRegistrationOnRaceLogDisabledException, NotFoundException; /** * Adds the course definition to the racelog, while trying to reuse existing marks, controlpoints and waypoints @@ -569,9 +569,9 @@ public interface SailingService extends RemoteService, FileStorageManagementGwtS PolarSheetsXYDiagramData createXYDiagramForBoatClass(String itemText); /** - * @see SailingServiceAsync#getCompetitorMarkPassings(RegattaAndRaceIdentifier, CompetitorDTO, boolean, com.google.gwt.user.client.rpc.AsyncCallback) + * @see SailingServiceAsync#getCompetitorMarkPassings(RegattaAndRaceIdentifier, CompetitorWithBoatDTO, boolean, com.google.gwt.user.client.rpc.AsyncCallback) */ - Map getCompetitorMarkPassings(RegattaAndRaceIdentifier race, CompetitorDTO competitorDTO, + Map getCompetitorMarkPassings(RegattaAndRaceIdentifier race, CompetitorWithBoatDTO competitorDTO, boolean waitForCalculations); /** @@ -581,15 +581,15 @@ public interface SailingService extends RemoteService, FileStorageManagementGwtS * passing and a valid {@link Date} objects represents a fixed mark passing. */ Map getCompetitorRaceLogMarkPassingData(String leaderboardName, String raceColumnName, String fleetName, - CompetitorDTO competitor); + CompetitorWithBoatDTO competitor); void updateSuppressedMarkPassings(String leaderboardName, String raceColumnName, String fleetName, - Integer newZeroBasedIndexOfSuppressedMarkPassing, CompetitorDTO competitorDTO); + Integer newZeroBasedIndexOfSuppressedMarkPassing, CompetitorWithBoatDTO competitorDTO); void updateFixedMarkPassing(String leaderboardName, String raceColumnName, String fleetName, Integer indexOfWaypoint, - Date dateOfMarkPassing, CompetitorDTO competitorDTO); + Date dateOfMarkPassing, CompetitorWithBoatDTO competitorDTO); - void setCompetitorRegistrationsInRegattaLog(String leaderboardName, Set competitors) + void setCompetitorRegistrationsInRegattaLog(String leaderboardName, Set competitors) throws DoesNotHaveRegattaLogException, NotFoundException; /** @@ -611,7 +611,7 @@ public interface SailingService extends RemoteService, FileStorageManagementGwtS Integer getStructureImportOperationProgress(); void inviteCompetitorsForTrackingViaEmail(String serverUrlWithoutTrailingSlash, EventDTO event, - String leaderboardName, Collection competitors, String iOSAppUrl, String androidAppUrl, + String leaderboardName, Collection competitors, String iOSAppUrl, String androidAppUrl, String localeInfo) throws MailException; void inviteBuoyTenderViaEmail(String serverUrlWithoutTrailingSlash, EventDTO eventDto, String leaderboardName, @@ -661,14 +661,14 @@ public interface SailingService extends RemoteService, FileStorageManagementGwtS * in the raceLog (in case of e.g. splitFleets) or in the RegattaLog (default) * @throws NotFoundException */ - Collection getCompetitorRegistrationsForRace(String leaderboardName, String raceColumnName, + Collection getCompetitorRegistrationsForRace(String leaderboardName, String raceColumnName, String fleetName) throws DoesNotHaveRegattaLogException, NotFoundException; void addMarkToRegattaLog(String leaderboardName, MarkDTO mark) throws DoesNotHaveRegattaLogException; void revokeMarkDefinitionEventInRegattaLog(String leaderboardName, MarkDTO markDTO) throws DoesNotHaveRegattaLogException; - Collection getCompetitorRegistrationsInRegattaLog(String leaderboardName) throws DoesNotHaveRegattaLogException, NotFoundException; + Collection getCompetitorRegistrationsInRegattaLog(String leaderboardName) throws DoesNotHaveRegattaLogException, NotFoundException; Collection getBoatRegistrationsInRegattaLog(String leaderboardName) throws DoesNotHaveRegattaLogException, NotFoundException; @@ -685,13 +685,13 @@ public interface SailingService extends RemoteService, FileStorageManagementGwtS Pair checkIfMarksAreUsedInOtherRaceLogs(String leaderboardName, String raceColumnName, String fleetName, Set marksToRemove) throws NotFoundException; - Collection getCompetitorRegistrationsInRaceLog(String leaderboardName, String raceColumnName, + Collection getCompetitorRegistrationsInRaceLog(String leaderboardName, String raceColumnName, String fleetName) throws NotFoundException; - Map getCompetitorAndBoatRegistrationsInRaceLog(String leaderboardName, String raceColumnName, + Map getCompetitorAndBoatRegistrationsInRaceLog(String leaderboardName, String raceColumnName, String fleetName) throws NotFoundException; - Collection getCompetitorRegistrationsForLeaderboard(String leaderboardName) throws NotFoundException; + Collection getCompetitorRegistrationsForLeaderboard(String leaderboardName) throws NotFoundException; Iterable getMarksInTrackedRace(String leaderboardName, String raceColumnName, String fleetName); @@ -716,9 +716,9 @@ public interface SailingService extends RemoteService, FileStorageManagementGwtS Pair serializationDummy(PersonDTO dummy, CountryCode ccDummy, PreciseCompactPosition preciseCompactPosition); - Collection getEliminatedCompetitors(String leaderboardName); + Collection getEliminatedCompetitors(String leaderboardName); - void setEliminatedCompetitors(String leaderboardName, Set eliminatedCompetitors); + void setEliminatedCompetitors(String leaderboardName, Set eliminatedCompetitors); /** * Used to determine for a Chart the available Detailtypes. This is for example used to only show the RideHeight as diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java index 873009f07b9..cfef3c0d461 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java @@ -30,8 +30,8 @@ import com.sap.sailing.domain.common.ScoringSchemeType; import com.sap.sailing.domain.common.WindSource; import com.sap.sailing.domain.common.abstractlog.TimePointSpecificationFoundInLog; import com.sap.sailing.domain.common.dto.BoatDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; 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.IncrementalOrFullLeaderboardDTO; import com.sap.sailing.domain.common.dto.PairingListDTO; @@ -335,11 +335,11 @@ public interface SailingServiceAsync extends ServerInfoRetriever, FileStorageMan void getCountryCodes(AsyncCallback callback); - void getDouglasPoints(RegattaAndRaceIdentifier raceIdentifier, Map from, - Map to, double meters, AsyncCallback>> callback); + void getDouglasPoints(RegattaAndRaceIdentifier raceIdentifier, Map from, + Map to, double meters, AsyncCallback>> callback); - void getManeuvers(RegattaAndRaceIdentifier raceIdentifier, Map from, - Map to, AsyncCallback>> callback); + void getManeuvers(RegattaAndRaceIdentifier raceIdentifier, Map from, + Map to, AsyncCallback>> callback); void getLeaderboardGroups(boolean withGeoLocationData, AsyncCallback> callback); @@ -381,7 +381,7 @@ public interface SailingServiceAsync extends ServerInfoRetriever, FileStorageMan void setWindSourcesToExclude(RegattaAndRaceIdentifier raceIdentifier, Iterable windSourcesToExclude, AsyncCallback callback); - void getCompetitorBoats(RegattaAndRaceIdentifier raceIdentifier, AsyncCallback> callback); + void getCompetitorBoats(RegattaAndRaceIdentifier raceIdentifier, AsyncCallback> callback); void getRaceboardData(String regattaName, String raceName, String leaderboardName, String leaderboardGroupName, UUID eventId, AsyncCallback callback); @@ -529,7 +529,7 @@ public interface SailingServiceAsync extends ServerInfoRetriever, FileStorageMan * resolution will automatically be lowered so that no more than * {@link SailingServiceConstants#MAX_NUMBER_OF_FIXES_TO_QUERY} are returned per competitor. */ - void getCompetitorsRaceData(RegattaAndRaceIdentifier race, List competitors, Date from, Date to, + void getCompetitorsRaceData(RegattaAndRaceIdentifier race, List competitors, Date from, Date to, long stepSize, DetailType detailType, String leaderboarGroupName, String leaderboardName, AsyncCallback callback); @@ -556,10 +556,10 @@ public interface SailingServiceAsync extends ServerInfoRetriever, FileStorageMan * {@link DetailType#OVERALL_RANK}. * * @return the first triple element is the race column name; then follows the list of competitors, and finally the - * list of values whose indices correspond with the elements in the {@link CompetitorDTO} list. + * list of values whose indices correspond with the elements in the {@link CompetitorWithBoatDTO} list. */ void getLeaderboardDataEntriesForAllRaceColumns(String leaderboardName, Date date, DetailType detailType, - AsyncCallback, List>>> callback); + AsyncCallback, List>>> callback); void getLeaderboardsNamesOfMetaLeaderboard(String metaLeaderboardName, AsyncCallback>> callback); @@ -595,22 +595,22 @@ public interface SailingServiceAsync extends ServerInfoRetriever, FileStorageMan void getLeaderboardGroupNamesFromRemoteServer(String host, AsyncCallback> leaderboardGroupNames); - void getCompetitors(boolean filterCompetitorsWithBoat, boolean filterCompetitorsWithoutBoat, AsyncCallback> asyncCallback); + void getCompetitors(boolean filterCompetitorsWithBoat, boolean filterCompetitorsWithoutBoat, AsyncCallback> asyncCallback); - void getCompetitorsOfLeaderboard(String leaderboardName, AsyncCallback> asyncCallback); + void getCompetitorsOfLeaderboard(String leaderboardName, AsyncCallback> asyncCallback); - void getCompetitorsAndBoatsOfRace(String leaderboardName, String raceColumnName, String fleetName, AsyncCallback> asyncCallback); + void getCompetitorsAndBoatsOfRace(String leaderboardName, String raceColumnName, String fleetName, AsyncCallback> asyncCallback); - void addOrUpdateCompetitors(List competitors, AsyncCallback> asyncCallback); + void addOrUpdateCompetitors(List competitors, AsyncCallback> asyncCallback); - void addOrUpdateCompetitorWithBoat(CompetitorDTO competitor, AsyncCallback asyncCallback); + void addOrUpdateCompetitorWithBoat(CompetitorWithBoatDTO competitor, AsyncCallback asyncCallback); - void addOrUpdateCompetitorWithoutBoat(CompetitorDTO competitor, AsyncCallback asyncCallback); + void addOrUpdateCompetitorWithoutBoat(CompetitorWithBoatDTO competitor, AsyncCallback asyncCallback); void addCompetitors(List competitorsForSaving, String searchTag, - AsyncCallback> asyncCallback); + AsyncCallback> asyncCallback); - void allowCompetitorResetToDefaults(Iterable competitors, AsyncCallback asyncCallback); + void allowCompetitorResetToDefaults(Iterable competitors, AsyncCallback asyncCallback); void getAllBoats(AsyncCallback> asyncCallback); @@ -702,24 +702,24 @@ public interface SailingServiceAsync extends ServerInfoRetriever, FileStorageMan * in {@code competitors}. */ void setCompetitorRegistrationsInRaceLog(String leaderboardName, String raceColumnName, String fleetName, - Set competitors, AsyncCallback callback); + Set competitors, AsyncCallback callback); /** * Set the competitor and boat registrations in the racelog. Unregisters formerly registered competitors that are not listed * in {@code competitors}. */ void setCompetitorRegistrationsInRaceLog(String leaderboardName, String raceColumnName, String fleetName, - Map competitorsAndBoats, AsyncCallback callback); + Map competitorsAndBoats, AsyncCallback callback); /** * Set the competitor registrations in the leaderboard. Unregisters formerly registered competitors that are not * listed in {@code competitors}. */ - void setCompetitorRegistrationsInRegattaLog(String leaderboardName, Set competitors, + void setCompetitorRegistrationsInRegattaLog(String leaderboardName, Set competitors, AsyncCallback callback); void getCompetitorRegistrationsForRace(String leaderboardName, String raceColumnName, String fleetName, - AsyncCallback> callback); + AsyncCallback> callback); void addCourseDefinitionToRaceLog(String leaderboardName, String raceColumnName, String fleetName, List> course, AsyncCallback callback); @@ -767,24 +767,24 @@ public interface SailingServiceAsync extends ServerInfoRetriever, FileStorageMan * whether to obtain a snapshot immediately of wait for pending updates. Waiting may be desirable, e.g., when having * submitted a fixed mark passing into a race log which triggers the re-calculations asynchronously. */ - void getCompetitorMarkPassings(RegattaAndRaceIdentifier race, CompetitorDTO competitorDTO, + void getCompetitorMarkPassings(RegattaAndRaceIdentifier race, CompetitorWithBoatDTO competitorDTO, boolean waitForCalculations, AsyncCallback> callback); void getCompetitorRaceLogMarkPassingData(String leaderboardName, String raceColumnName, String fleetName, - CompetitorDTO competitor, AsyncCallback> callback); + CompetitorWithBoatDTO competitor, AsyncCallback> callback); void updateSuppressedMarkPassings(String leaderboardName, String raceColumnName, String fleetName, - Integer newZeroBasedIndexOfSuppressedMarkPassing, CompetitorDTO competitorDTO, AsyncCallback callback); + Integer newZeroBasedIndexOfSuppressedMarkPassing, CompetitorWithBoatDTO competitorDTO, AsyncCallback callback); void createRegattaStructure(Iterable regattaNames, EventDTO newEvent, AsyncCallback asyncCallback); void updateFixedMarkPassing(String leaderboardName, String raceColumnName, String fleetName, - Integer indexOfWaypoint, Date dateOfMarkPassing, CompetitorDTO competitorDTO, AsyncCallback callback); + Integer indexOfWaypoint, Date dateOfMarkPassing, CompetitorWithBoatDTO competitorDTO, AsyncCallback callback); void getActiveFileStorageServiceName(AsyncCallback callback); void inviteCompetitorsForTrackingViaEmail(String serverUrlWithoutTrailingSlash, EventDTO event, - String leaderboardName, Collection competitors, String iOSAppUrl, String androidAppUrl, + String leaderboardName, Collection competitors, String iOSAppUrl, String androidAppUrl, String localeInfo, AsyncCallback callback); @@ -847,16 +847,16 @@ public interface SailingServiceAsync extends ServerInfoRetriever, FileStorageMan Set marksToRemove, AsyncCallback> asyncCallback); void getCompetitorRegistrationsInRaceLog(String leaderboardName, String raceColumnName, String fleetName, - AsyncCallback> callback); + AsyncCallback> callback); void getCompetitorAndBoatRegistrationsInRaceLog(String leaderboardName, String raceColumnName, String fleetName, - AsyncCallback> callback); + AsyncCallback> callback); void getCompetitorRegistrationsForLeaderboard(String leaderboardName, - AsyncCallback> callback); + AsyncCallback> callback); void getCompetitorRegistrationsInRegattaLog(String leaderboardName, - AsyncCallback> setCompetitorsCallback); + AsyncCallback> setCompetitorsCallback); void getBoatRegistrationsInRegattaLog(String leaderboardName, AsyncCallback> setBoatsCallback); @@ -897,9 +897,9 @@ public interface SailingServiceAsync extends ServerInfoRetriever, FileStorageMan * @param leaderboardName * expected to match a regatta leaderboard with eliminations */ - void getEliminatedCompetitors(String leaderboardName, AsyncCallback> asyncCallback); + void getEliminatedCompetitors(String leaderboardName, AsyncCallback> asyncCallback); - void setEliminatedCompetitors(String leaderboardName, Set eliminatedCompetitors, + void setEliminatedCompetitors(String leaderboardName, Set eliminatedCompetitors, AsyncCallback callback); /** diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/AbstractCompetitorLeaderboardChart.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/AbstractCompetitorLeaderboardChart.java index d1da8af2e5a..b4bcfd85c03 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/AbstractCompetitorLeaderboardChart.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/AbstractCompetitorLeaderboardChart.java @@ -32,7 +32,7 @@ import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.gwt.user.client.ui.RequiresResize; import com.google.gwt.user.client.ui.Widget; import com.sap.sailing.domain.common.DetailType; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.gwt.ui.actions.GetLeaderboardDataEntriesAction; import com.sap.sailing.gwt.ui.client.CompetitorSelectionChangeListener; import com.sap.sailing.gwt.ui.client.CompetitorSelectionProvider; @@ -63,7 +63,7 @@ public abstract class AbstractCompetitorLeaderboardChart competitorSeries; + protected final Map competitorSeries; protected Chart chart; protected final Timer timer; private DetailType selectedDetailType; @@ -91,7 +91,7 @@ public abstract class AbstractCompetitorLeaderboardChart(); + competitorSeries = new HashMap(); raceColumnNames = new ArrayList(); raceColumnNamesWithData = new ArrayList(); } @@ -108,7 +108,7 @@ public abstract class AbstractCompetitorLeaderboardChart, List>>>() { + new AsyncCallback, List>>>() { @Override - public void onSuccess(List, List>> result) { + public void onSuccess(List, List>> result) { List chartSeries = new ArrayList(Arrays.asList(chart.getSeries())); chart.hideLoading(); setWidget(chart); @@ -271,7 +271,7 @@ public abstract class AbstractCompetitorLeaderboardChart, List>> result, List chartSeries) { + private void fillTotalRanksSeries(List, List>> result, List chartSeries) { Set unusedSeries = new HashSet(competitorSeries.values()); for (Series series : competitorSeries.values()) { for (Point p : new ArrayList(Arrays.asList(series.getPoints()))) { @@ -280,14 +280,14 @@ public abstract class AbstractCompetitorLeaderboardChart, List> entry : result) { + for (com.sap.sse.common.Util.Triple, List> entry : result) { List dataValues = entry.getC(); raceColumnNames.add(entry.getA()); if(hasValidValues(dataValues)) { raceColumnNamesWithData.add(entry.getA()); int index = 0; maxCompetitorCount = Math.max(maxCompetitorCount, entry.getB().size()); - for (CompetitorDTO competitor : entry.getB()) { + for (CompetitorWithBoatDTO competitor : entry.getB()) { if (isCompetitorVisible(competitor)) { Series series = getOrCreateSeries(competitor); Double dataValue = dataValues.get(index); @@ -314,7 +314,7 @@ public abstract class AbstractCompetitorLeaderboardChart, List>> result, + List, List>> result, List chartSeries) { Double maxTotalPoints = 0.0; Set unusedSeries = new HashSet(competitorSeries.values()); @@ -325,14 +325,14 @@ public abstract class AbstractCompetitorLeaderboardChart, List> entry : result) { + for (com.sap.sse.common.Util.Triple, List> entry : result) { List dataValues = entry.getC(); raceColumnNames.add(entry.getA()); if (hasValidValues(dataValues)) { raceColumnNamesWithData.add(entry.getA()); int index = 0; maxCompetitorCount = Math.max(maxCompetitorCount, entry.getB().size()); - for (CompetitorDTO competitor : entry.getB()) { + for (CompetitorWithBoatDTO competitor : entry.getB()) { if (isCompetitorVisible(competitor)) { Series series = getOrCreateSeries(competitor); Double dataValue = dataValues.get(index); @@ -374,17 +374,17 @@ public abstract class AbstractCompetitorLeaderboardChart competitors) { + public void competitorsListChanged(Iterable competitors) { timeChanged(timer.getTime(), null); } @Override - public void addedToSelection(CompetitorDTO competitor) { + public void addedToSelection(CompetitorWithBoatDTO competitor) { timeChanged(timer.getTime(), null); } @Override - public void removedFromSelection(CompetitorDTO competitor) { + public void removedFromSelection(CompetitorWithBoatDTO competitor) { timeChanged(timer.getTime(), null); } @@ -393,11 +393,11 @@ public abstract class AbstractCompetitorLeaderboardChart filteredCompetitors) { + public void filteredCompetitorsListChanged(Iterable filteredCompetitors) { } @Override - public void filterChanged(FilterSet> oldFilterSet, - FilterSet> newFilterSet) { + public void filterChanged(FilterSet> oldFilterSet, + FilterSet> newFilterSet) { } } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/AbstractCompetitorRaceChart.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/AbstractCompetitorRaceChart.java index 9badb7f719b..ef66a8d677d 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/AbstractCompetitorRaceChart.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/AbstractCompetitorRaceChart.java @@ -43,7 +43,7 @@ import com.google.gwt.user.client.ui.Widget; import com.sap.sailing.domain.common.DetailType; import com.sap.sailing.domain.common.RaceIdentifier; import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.gwt.ui.actions.GetCompetitorsRaceDataAction; import com.sap.sailing.gwt.ui.client.CompetitorSelectionChangeListener; import com.sap.sailing.gwt.ui.client.DetailTypeFormatter; @@ -96,8 +96,8 @@ public abstract class AbstractCompetitorRaceChart, Series> dataSeriesForDetailTypeAndCompetitor = new HashMap<>(); - private final Map, Series> markPassingSeriesByCompetitor = new HashMap<>(); + private final Map, Series> dataSeriesForDetailTypeAndCompetitor = new HashMap<>(); + private final Map, Series> markPassingSeriesByCompetitor = new HashMap<>(); private final TimingHolder primary = new TimingHolder(); private final TimingHolder secondary = new TimingHolder(); @@ -221,8 +221,8 @@ public abstract class AbstractCompetitorRaceChart competitorsToLoad = new ArrayList(); - for (CompetitorDTO competitorDTO : getSelectedCompetitors()) { + ArrayList competitorsToLoad = new ArrayList(); + for (CompetitorWithBoatDTO competitorDTO : getSelectedCompetitors()) { competitorsToLoad.add(competitorDTO); } loadData(from, to, competitorsToLoad, append); @@ -234,15 +234,15 @@ public abstract class AbstractCompetitorRaceChart competitors, final boolean append) { + private void loadData(final Date from, final Date to, final List competitors, final boolean append) { if (isVisible()) { // if no data is loaded yet, or if it is not playing and not live (append loading every second) show loading // indicator if (shouldShowLoading(primary.timeOfLatestRequestInMillis)) { showLoading(stringMessages.loadingCompetitorData()); } - ArrayList competitorsToLoad = new ArrayList(); - for (CompetitorDTO competitorDTO : competitors) { + ArrayList competitorsToLoad = new ArrayList(); + for (CompetitorWithBoatDTO competitorDTO : competitors) { competitorsToLoad.add(competitorDTO); } // If the time interval is too long and the step size too small, the number of fixes the query would have to @@ -270,7 +270,7 @@ public abstract class AbstractCompetitorRaceChart competitorsToLoad, final DetailType selectedDataTypeToRetrieve, final TimingHolder tholder) { + ArrayList competitorsToLoad, final DetailType selectedDataTypeToRetrieve, final TimingHolder tholder) { long effectiveStepSize = getEffectiveStepSize(from, to); GetCompetitorsRaceDataAction getCompetitorsRaceDataAction = new GetCompetitorsRaceDataAction(sailingService, selectedRaceIdentifier, competitorsToLoad, from, to, effectiveStepSize, selectedDataTypeToRetrieve, @@ -336,10 +336,10 @@ public abstract class AbstractCompetitorRaceChart competitorsToLoad = new ArrayList(); + ArrayList competitorsToLoad = new ArrayList(); competitorsToLoad.add(competitor); { @@ -356,8 +356,8 @@ public abstract class AbstractCompetitorRaceChart coDePair : dataSeriesForDetailTypeAndCompetitor.keySet()) { + public void removedFromSelection(CompetitorWithBoatDTO competitor) { + for (Pair coDePair : dataSeriesForDetailTypeAndCompetitor.keySet()) { if (!coDePair.getA().equals(competitor)) { continue; } @@ -387,7 +387,7 @@ public abstract class AbstractCompetitorRaceChart getSelectedCompetitors() { + private Iterable getSelectedCompetitors() { return competitorSelectionProvider.getSelectedCompetitors(); } @@ -462,8 +462,8 @@ public abstract class AbstractCompetitorRaceChart coDePair = new Pair(competitor, + protected Series getOrCreateCompetitorDataSeries(DetailType seriesDetailType, final CompetitorWithBoatDTO competitor) { + final Pair coDePair = new Pair(competitor, seriesDetailType); final int yAxisIndex = yAxisIndex(seriesDetailType); Series result = this.dataSeriesForDetailTypeAndCompetitor.get(coDePair); @@ -496,8 +496,8 @@ public abstract class AbstractCompetitorRaceChart coDePair = new Pair(competitor, + CompetitorWithBoatDTO competitor) { + final Pair coDePair = new Pair(competitor, seriesDetailType); Series result = markPassingSeriesByCompetitor.get(coDePair); final int yAxisIndex = yAxisIndex(seriesDetailType); @@ -717,7 +717,7 @@ public abstract class AbstractCompetitorRaceChart, Series> entry : dataSeriesForDetailTypeAndCompetitor.entrySet()) { + for (Entry, Series> entry : dataSeriesForDetailTypeAndCompetitor.entrySet()) { if (entry.getValue().equals(series)) { return entry.getKey().getB().equals(selectedSecondDetailType); } @@ -830,18 +830,18 @@ public abstract class AbstractCompetitorRaceChart competitors) { + public void competitorsListChanged(Iterable competitors) { timeChanged(timer.getTime(), null); } @Override - public void filteredCompetitorsListChanged(Iterable filteredCompetitors) { + public void filteredCompetitorsListChanged(Iterable filteredCompetitors) { timeChanged(timer.getTime(), null); } @Override - public void filterChanged(FilterSet> oldFilterSet, - FilterSet> newFilterSet) { + public void filterChanged(FilterSet> oldFilterSet, + FilterSet> newFilterSet) { // nothing to do; if it changes the filtered competitor list, a separate call to filteredCompetitorsListChanged will occur } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/EditMarkPassingsPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/EditMarkPassingsPanel.java index 54dc3a976b0..344cc2d79d6 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/EditMarkPassingsPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/EditMarkPassingsPanel.java @@ -28,7 +28,7 @@ import com.google.gwt.view.client.SelectionChangeEvent; import com.google.gwt.view.client.SelectionChangeEvent.Handler; import com.google.gwt.view.client.SingleSelectionModel; import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.domain.common.dto.LeaderboardDTO; import com.sap.sailing.gwt.ui.client.CompetitorSelectionChangeListener; import com.sap.sailing.gwt.ui.client.CompetitorSelectionProvider; @@ -65,7 +65,7 @@ public class EditMarkPassingsPanel extends AbstractCompositeComponent> oldFilterSet, - FilterSet> newFilterSet) { + public void filterChanged(FilterSet> oldFilterSet, + FilterSet> newFilterSet) { } @Override - public void competitorsListChanged(Iterable competitors) { + public void competitorsListChanged(Iterable competitors) { } @Override - public void filteredCompetitorsListChanged(Iterable filteredCompetitors) { + public void filteredCompetitorsListChanged(Iterable filteredCompetitors) { } @Override diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/filter/AbstractCompetitorNumberFilterUIFactory.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/filter/AbstractCompetitorNumberFilterUIFactory.java index 2462bbe2d35..5dd67397e90 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/filter/AbstractCompetitorNumberFilterUIFactory.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/filter/AbstractCompetitorNumberFilterUIFactory.java @@ -4,17 +4,17 @@ import java.util.ArrayList; import java.util.List; import com.google.gwt.user.client.ui.ListBox; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sse.common.filter.BinaryOperator; import com.sap.sse.common.filter.NumberFilter; import com.sap.sse.gwt.client.dialog.DataEntryDialog; -public abstract class AbstractCompetitorNumberFilterUIFactory implements FilterUIFactory { +public abstract class AbstractCompetitorNumberFilterUIFactory implements FilterUIFactory { protected List supportedOperators; protected BinaryOperator.Operators defaultOperator; - protected NumberFilter competitorNumberFilter; + protected NumberFilter competitorNumberFilter; - public AbstractCompetitorNumberFilterUIFactory(NumberFilter competitorNumberFilter, BinaryOperator.Operators defaultOperator) { + public AbstractCompetitorNumberFilterUIFactory(NumberFilter competitorNumberFilter, BinaryOperator.Operators defaultOperator) { this.competitorNumberFilter = competitorNumberFilter; this.defaultOperator = defaultOperator; supportedOperators = new ArrayList(); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/filter/AbstractCompetitorTextFilterUIFactory.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/filter/AbstractCompetitorTextFilterUIFactory.java index c98d27ddb80..376672547c2 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/filter/AbstractCompetitorTextFilterUIFactory.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/filter/AbstractCompetitorTextFilterUIFactory.java @@ -4,18 +4,18 @@ import java.util.ArrayList; import java.util.List; import com.google.gwt.user.client.ui.ListBox; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sse.common.filter.TextFilter; import com.sap.sse.common.filter.TextOperator; import com.sap.sse.gwt.client.dialog.DataEntryDialog; -public abstract class AbstractCompetitorTextFilterUIFactory implements FilterUIFactory { +public abstract class AbstractCompetitorTextFilterUIFactory implements FilterUIFactory { protected List supportedOperators; protected TextOperator.Operators defaultOperator; - protected TextFilter competitorTextFilter; + protected TextFilter competitorTextFilter; - public AbstractCompetitorTextFilterUIFactory(TextFilter competitorTextFilter, TextOperator.Operators defaultOperator) { + public AbstractCompetitorTextFilterUIFactory(TextFilter competitorTextFilter, TextOperator.Operators defaultOperator) { this.competitorTextFilter = competitorTextFilter; this.defaultOperator = defaultOperator; supportedOperators = new ArrayList(); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/filter/AbstractCompetitorsFilterSetDialog.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/filter/AbstractCompetitorsFilterSetDialog.java index 220b2e1dd7e..0de9162b862 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/filter/AbstractCompetitorsFilterSetDialog.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/filter/AbstractCompetitorsFilterSetDialog.java @@ -17,14 +17,14 @@ import com.google.gwt.user.client.ui.ListBox; import com.google.gwt.user.client.ui.TextBox; import com.google.gwt.user.client.ui.VerticalPanel; import com.google.gwt.user.client.ui.Widget; -import com.sap.sailing.domain.common.dto.CompetitorDTO; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sse.common.filter.Filter; import com.sap.sse.common.filter.FilterSet; import com.sap.sse.gwt.client.dialog.DataEntryDialog; -public abstract class AbstractCompetitorsFilterSetDialog extends DataEntryDialog>> { - private final FilterSet> competitorsFilterSet; +public abstract class AbstractCompetitorsFilterSetDialog extends DataEntryDialog>> { + private final FilterSet> competitorsFilterSet; private final StringMessages stringMessages; private final List availableCompetitorFilterNames; @@ -38,12 +38,12 @@ public abstract class AbstractCompetitorsFilterSetDialog extends DataEntryDialog private VerticalPanel mainPanel; private final List filterEditWidgets; - private final List> filterUIFactories; + private final List> filterUIFactories; private final List