diff --git a/java/com.sap.sailing.gwt.ui.test/META-INF/MANIFEST.MF b/java/com.sap.sailing.gwt.ui.test/META-INF/MANIFEST.MF index 3851347b653..032cdb7351b 100644 --- a/java/com.sap.sailing.gwt.ui.test/META-INF/MANIFEST.MF +++ b/java/com.sap.sailing.gwt.ui.test/META-INF/MANIFEST.MF @@ -12,7 +12,8 @@ Require-Bundle: com.sap.sailing.gwt.ui, com.sap.sailing.server, com.google.gwt.osgi;bundle-version="2.4.0", org.junit4, - com.sap.sailing.server.api + com.sap.sailing.server.api, + com.sap.sailing.domain.common Bundle-ClassPath: . Import-Package: org.osgi.framework, org.osgi.util.tracker;version="1.5.0" 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 9e4b7631445..33f1833ee14 100644 --- 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 @@ -7,6 +7,7 @@ import java.util.Map; import com.google.gwt.user.client.rpc.RemoteService; import com.google.gwt.user.client.rpc.RemoteServiceRelativePath; +import com.sap.sailing.domain.common.WindSource; import com.sap.sailing.gwt.ui.shared.CompetitorDAO; import com.sap.sailing.gwt.ui.shared.CompetitorInRaceDAO; import com.sap.sailing.gwt.ui.shared.CompetitorsAndTimePointsDAO; @@ -50,7 +51,7 @@ public interface SailingService extends RemoteService { void removeAndUntrackedRace(EventAndRaceIdentifier eventAndRaceidentifier) throws Exception; - WindInfoForRaceDAO getWindInfo(RaceIdentifier raceIdentifier, Date from, Date to, Collection windSources); + WindInfoForRaceDAO getWindInfo(RaceIdentifier raceIdentifier, Date from, Date to, WindSource[] windSources); void setWind(RaceIdentifier raceIdentifier, WindDAO wind); 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 0d7feb7dcad..c0c31e04244 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 @@ -9,7 +9,6 @@ import com.google.gwt.user.client.rpc.AsyncCallback; import com.sap.sailing.domain.base.Course; import com.sap.sailing.domain.common.WindSource; import com.sap.sailing.domain.leaderboard.RaceInLeaderboard; -import com.sap.sailing.domain.tracking.TrackedRace; import com.sap.sailing.gwt.ui.shared.CompetitorDAO; import com.sap.sailing.gwt.ui.shared.CompetitorInRaceDAO; import com.sap.sailing.gwt.ui.shared.CompetitorsAndTimePointsDAO; @@ -70,18 +69,9 @@ public interface SailingServiceAsync { void removeAndUntrackedRace(EventAndRaceIdentifier eventAndRaceidentifier, AsyncCallback callback); /** - * Retrieves wind information for the race identified by raceIdentifier. - * - * @param from - * if null, the race start time will be used instead - * @param to - * if null, the {@link TrackedRace#getTimePointOfNewestEvent() time of the newest event} is - * used instead. - * @param windWources - * if null, all available wind sources will be queries; otherwise, only those whose - * {@link WindSource} name is contained in this collection + * @param windSources if null, information about all available wind sources will be provided */ - void getWindInfo(RaceIdentifier raceIdentifier, Date from, Date to, Collection windSources, + void getWindInfo(RaceIdentifier raceIdentifier, Date from, Date to, WindSource[] windSources, AsyncCallback callback); /** diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java index 7675477bd2e..e15076be5fa 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java @@ -507,7 +507,7 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS } @Override - public WindInfoForRaceDAO getWindInfo(RaceIdentifier raceIdentifier, Date fromDate, Date toDate, Collection windSources) { + public WindInfoForRaceDAO getWindInfo(RaceIdentifier raceIdentifier, Date fromDate, Date toDate, WindSource[] windSources) { WindInfoForRaceDAO result = null; TrackedRace trackedRace = getTrackedRace(raceIdentifier); if (trackedRace != null) { @@ -519,24 +519,22 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS Map windTrackInfoDAOs = new HashMap(); result.windTrackInfoByWindSource = windTrackInfoDAOs; if (from != null && to != null) { - for (WindSource windSource : WindSource.values()) { - if (windSources == null || windSources.contains(windSource.name())) { - WindTrackInfoDAO windTrackInfoDAO = new WindTrackInfoDAO(); - windTrackInfoDAO.windFixes = new ArrayList(); - WindTrack windTrack = trackedRace.getWindTrack(windSource); - windTrackInfoDAO.dampeningIntervalInMilliseconds = windTrack - .getMillisecondsOverWhichToAverageWind(); - Iterator windIter = windTrack.getFixesIterator(from, /* inclusive */true); - while (windIter.hasNext()) { - Wind wind = windIter.next(); - if (wind.getTimePoint().compareTo(to) > 0) { - break; - } - WindDAO windDAO = createWindDAO(wind, windTrack); - windTrackInfoDAO.windFixes.add(windDAO); + for (WindSource windSource : (windSources == null ? WindSource.values() : windSources)) { + WindTrackInfoDAO windTrackInfoDAO = new WindTrackInfoDAO(); + windTrackInfoDAO.windFixes = new ArrayList(); + WindTrack windTrack = trackedRace.getWindTrack(windSource); + windTrackInfoDAO.dampeningIntervalInMilliseconds = windTrack + .getMillisecondsOverWhichToAverageWind(); + Iterator windIter = windTrack.getFixesIterator(from, /* inclusive */true); + while (windIter.hasNext()) { + Wind wind = windIter.next(); + if (wind.getTimePoint().compareTo(to) > 0) { + break; } - windTrackInfoDAOs.put(windSource, windTrackInfoDAO); + WindDAO windDAO = createWindDAO(wind, windTrack); + windTrackInfoDAO.windFixes.add(windDAO); } + windTrackInfoDAOs.put(windSource, windTrackInfoDAO); } } }