added canSendRequests parameter to SailMasterConnectorImpl and refactored clients accordingly; fixed startTime

This commit is contained in:
Axel Uhl committed 2011-11-17 14:42:16 +01:00
1 parent 102c607b65
commit 3b40bc6773
18 files changed
+136 -69

No files matched your search

@@ -138,7 +138,7 @@ public interface RacingEventService extends TrackedEventRegistry {
Pair<String, List<RaceRecord>> getTracTracRaceRecords(URL jsonURL) throws IOException, ParseException,
org.json.simple.parser.ParseException, URISyntaxException;
List<com.sap.sailing.domain.swisstimingadapter.RaceRecord> getSwissTimingRaceRecords(String hostname, int port)
List<com.sap.sailing.domain.swisstimingadapter.RaceRecord> getSwissTimingRaceRecords(String hostname, int port, boolean canSendRequests)
throws InterruptedException, UnknownHostException, IOException, ParseException;
boolean isRaceBeingTracked(RaceDefinition r);
@@ -180,8 +180,8 @@ public interface RacingEventService extends TrackedEventRegistry {
*/
void updateStoredLeaderboard(Leaderboard leaderboard);
RaceHandle addSwissTimingRace(String raceID, String hostname, int port, WindStore windStore,
long timeoutInMilliseconds) throws InterruptedException, UnknownHostException, IOException, ParseException;
RaceHandle addSwissTimingRace(String raceID, String hostname, int port, boolean canSendRequests,
WindStore windStore, long timeoutInMilliseconds) throws InterruptedException, UnknownHostException, IOException, ParseException;
SwissTimingFactory getSwissTimingFactory();
@@ -235,24 +235,26 @@ public class RacingEventServiceImpl implements RacingEventService {
@Override
public List<com.sap.sailing.domain.swisstimingadapter.RaceRecord> getSwissTimingRaceRecords(String hostname,
int port) throws InterruptedException, UnknownHostException, IOException, ParseException {
int port, boolean canSendRequests) throws InterruptedException, UnknownHostException, IOException, ParseException {
List<com.sap.sailing.domain.swisstimingadapter.RaceRecord> result = new ArrayList<com.sap.sailing.domain.swisstimingadapter.RaceRecord>();
SailMasterConnector swissTimingConnector = swissTimingFactory.getOrCreateSailMasterConnector(hostname, port, swissTimingAdapterPersistence);
SailMasterConnector swissTimingConnector = swissTimingFactory.getOrCreateSailMasterConnector(hostname, port, swissTimingAdapterPersistence,
canSendRequests);
for (Race race : swissTimingConnector.getRaces()) {
TimePoint startTime = swissTimingConnector.getStartTime(race.getRaceID());
result.add(new com.sap.sailing.domain.swisstimingadapter.RaceRecord(race.getRaceID(), race.getDescription(), startTime.asDate()));
result.add(new com.sap.sailing.domain.swisstimingadapter.RaceRecord(race.getRaceID(), race.getDescription(),
startTime==null?null:startTime.asDate()));
}
return result;
}
@Override
public synchronized RaceHandle addSwissTimingRace(String raceID, String hostname, int port, WindStore windStore,
long timeoutInMilliseconds) throws InterruptedException, UnknownHostException, IOException, ParseException {
public synchronized RaceHandle addSwissTimingRace(String raceID, String hostname, int port, boolean canSendRequests,
WindStore windStore, long timeoutInMilliseconds) throws InterruptedException, UnknownHostException, IOException, ParseException {
Triple<String, String, Integer> key = new Triple<String, String, Integer>(raceID, hostname, port);
RaceTracker tracker = raceTrackersByID.get(key);
if (tracker == null) {
tracker = getSwissTimingFactory().createRaceTracker(raceID, hostname, port, windStore,
swissTimingAdapterPersistence, swissTimingDomainFactory, this);
tracker = getSwissTimingFactory().createRaceTracker(raceID, hostname, port, canSendRequests,
windStore, swissTimingAdapterPersistence, swissTimingDomainFactory, this);
raceTrackersByID.put(tracker.getID(), tracker);
Set<RaceTracker> trackers = raceTrackersByEvent.get(tracker.getEvent());
if (trackers == null) {