moved Util class to domain.common and use its Pair/Triple utility classes also in gwt.ui

This commit is contained in:
Axel Uhl committed 2011-12-30 09:49:02 +01:00
1 parent 5983eb2cf8
commit 9e388831e3
82 files changed
+111 -267

No files matched your search

@@ -1,5 +1,6 @@
package com.sap.sailing.util;
package com.sap.sailing.domain.common;
import java.io.Serializable;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
@@ -54,7 +55,8 @@ public class Util {
}
}
public static class Pair<A, B> {
public static class Pair<A, B> implements Serializable {
private static final long serialVersionUID = -7631774746419135931L;
private A a;
@@ -125,7 +127,8 @@ public class Util {
}
}
public static class Triple<A, B, C> {
public static class Triple<A, B, C> implements Serializable {
private static final long serialVersionUID = 6806146864367514601L;
private A a;
@@ -8,6 +8,7 @@ Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: com.sap.sailing.domain.swisstimingadapter,
com.mongodb.driver;bundle-version="2.6.2",
com.sap.sailing.mongodb,
com.sap.sailing.domain
com.sap.sailing.domain,
com.sap.sailing.domain.common
Export-Package: com.sap.sailing.domain.swisstimingadapter.persistence,
com.sap.sailing.domain.swisstimingadapter.persistence.impl; x-friends:="com.sap.sailing.domain.swisstimingadapter.test"
@@ -14,6 +14,7 @@ import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBObject;
import com.sap.sailing.domain.common.Util.Pair;
import com.sap.sailing.domain.swisstimingadapter.SailMasterMessage;
import com.sap.sailing.domain.swisstimingadapter.SailMasterTransceiver;
import com.sap.sailing.domain.swisstimingadapter.SwissTimingFactory;
@@ -21,7 +22,6 @@ import com.sap.sailing.domain.swisstimingadapter.persistence.impl.CollectionName
import com.sap.sailing.domain.swisstimingadapter.persistence.impl.FieldNames;
import com.sap.sailing.mongodb.MongoDBConfiguration;
import com.sap.sailing.mongodb.MongoDBService;
import com.sap.sailing.util.Util.Pair;
/**
* Receives events from a SwissTiming SailMaster server, stores valid messages received persistently and forward them
@@ -13,7 +13,8 @@ Require-Bundle: com.sap.sailing.domain.swisstimingadapter.persistence,
com.sap.sailing.mongodb,
com.googlecode.java-diff-utils;bundle-version="1.3.0",
com.sap.sailing.server,
com.sap.sailing.server.api
com.sap.sailing.server.api,
com.sap.sailing.domain.common
Bundle-ClassPath: resources/,
.
Import-Package: com.sap.sailing.server,
@@ -28,6 +28,7 @@ import com.sap.sailing.domain.base.Competitor;
import com.sap.sailing.domain.base.Event;
import com.sap.sailing.domain.base.RaceDefinition;
import com.sap.sailing.domain.base.Waypoint;
import com.sap.sailing.domain.common.Util;
import com.sap.sailing.domain.swisstimingadapter.MessageType;
import com.sap.sailing.domain.swisstimingadapter.SailMasterConnector;
import com.sap.sailing.domain.swisstimingadapter.SailMasterTransceiver;
@@ -43,7 +44,6 @@ import com.sap.sailing.domain.tracking.impl.EmptyWindStore;
import com.sap.sailing.mongodb.MongoDBService;
import com.sap.sailing.server.RacingEventService;
import com.sap.sailing.server.impl.RacingEventServiceImpl;
import com.sap.sailing.util.Util;
public class EndToEndListeningStoreAndFowardTest {
private static final Logger logger = Logger.getLogger(EndToEndListeningStoreAndFowardTest.class.getName());
@@ -21,6 +21,8 @@ import org.junit.Test;
import com.sap.sailing.domain.base.Distance;
import com.sap.sailing.domain.base.TimePoint;
import com.sap.sailing.domain.base.impl.MillisecondsTimePoint;
import com.sap.sailing.domain.common.Util;
import com.sap.sailing.domain.common.Util.Triple;
import com.sap.sailing.domain.swisstimingadapter.Competitor;
import com.sap.sailing.domain.swisstimingadapter.Course;
import com.sap.sailing.domain.swisstimingadapter.Fix;
@@ -35,8 +37,6 @@ import com.sap.sailing.domain.swisstimingadapter.StartList;
import com.sap.sailing.domain.swisstimingadapter.SwissTimingFactory;
import com.sap.sailing.domain.swisstimingadapter.impl.RaceImpl;
import com.sap.sailing.domain.swisstimingadapter.persistence.SwissTimingAdapterPersistence;
import com.sap.sailing.util.Util;
import com.sap.sailing.util.Util.Triple;
public class SailMasterConnectivityTest {
private static final int port = 24354;
@@ -7,10 +7,10 @@ import java.net.ServerSocket;
import java.net.Socket;
import java.util.logging.Logger;
import com.sap.sailing.domain.common.Util.Pair;
import com.sap.sailing.domain.swisstimingadapter.MessageType;
import com.sap.sailing.domain.swisstimingadapter.impl.SailMasterMessageImpl;
import com.sap.sailing.domain.swisstimingadapter.impl.SailMasterTransceiverImpl;
import com.sap.sailing.util.Util.Pair;
public class SailMasterDummy implements Runnable {
private static final Logger logger = Logger.getLogger(SailMasterDummy.class.getName());
@@ -13,6 +13,7 @@ import com.sap.sailing.domain.base.Event;
import com.sap.sailing.domain.base.RaceDefinition;
import com.sap.sailing.domain.base.Waypoint;
import com.sap.sailing.domain.base.impl.EventImpl;
import com.sap.sailing.domain.common.Util;
import com.sap.sailing.domain.swisstimingadapter.Competitor;
import com.sap.sailing.domain.swisstimingadapter.Course;
import com.sap.sailing.domain.swisstimingadapter.DomainFactory;
@@ -23,7 +24,6 @@ import com.sap.sailing.domain.swisstimingadapter.impl.CourseImpl;
import com.sap.sailing.domain.swisstimingadapter.impl.MarkImpl;
import com.sap.sailing.domain.swisstimingadapter.impl.RaceImpl;
import com.sap.sailing.domain.swisstimingadapter.impl.StartListImpl;
import com.sap.sailing.util.Util;
import difflib.PatchFailedException;
@@ -21,6 +21,9 @@ import org.junit.Test;
import com.sap.sailing.domain.base.Distance;
import com.sap.sailing.domain.base.Speed;
import com.sap.sailing.domain.base.TimePoint;
import com.sap.sailing.domain.common.Util;
import com.sap.sailing.domain.common.Util.Pair;
import com.sap.sailing.domain.common.Util.Triple;
import com.sap.sailing.domain.swisstimingadapter.Competitor;
import com.sap.sailing.domain.swisstimingadapter.Course;
import com.sap.sailing.domain.swisstimingadapter.Fix;
@@ -32,9 +35,6 @@ import com.sap.sailing.domain.swisstimingadapter.SailMasterListener;
import com.sap.sailing.domain.swisstimingadapter.StartList;
import com.sap.sailing.domain.swisstimingadapter.SwissTimingFactory;
import com.sap.sailing.domain.swisstimingadapter.persistence.SwissTimingAdapterPersistence;
import com.sap.sailing.util.Util;
import com.sap.sailing.util.Util.Pair;
import com.sap.sailing.util.Util.Triple;
@Ignore("This test doesn't work as long as the server doesn't play an actual race")
public class SwissTimingSailMasterLiveTest implements SailMasterListener {
@@ -7,7 +7,8 @@ Bundle-Vendor: SAP
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: com.sap.sailing.domain,
com.sap.sailing.udpconnector,
com.googlecode.java-diff-utils;bundle-version="1.3.0"
com.googlecode.java-diff-utils;bundle-version="1.3.0",
com.sap.sailing.domain.common
Import-Package: org.osgi.framework
Export-Package: com.sap.sailing.domain.swisstimingadapter,
com.sap.sailing.domain.swisstimingadapter.impl;x-friends:="com.sap.sailing.domain.swisstimingadapter.test"
@@ -5,7 +5,7 @@ import java.util.List;
import com.sap.sailing.domain.base.Distance;
import com.sap.sailing.domain.base.TimePoint;
import com.sap.sailing.util.Util.Triple;
import com.sap.sailing.domain.common.Util.Triple;
public abstract class SailMasterAdapter implements SailMasterListener {
@@ -9,8 +9,8 @@ import java.util.Map;
import com.sap.sailing.domain.base.Distance;
import com.sap.sailing.domain.base.Speed;
import com.sap.sailing.domain.base.TimePoint;
import com.sap.sailing.util.Util.Pair;
import com.sap.sailing.util.Util.Triple;
import com.sap.sailing.domain.common.Util.Pair;
import com.sap.sailing.domain.common.Util.Triple;
public interface SailMasterConnector {
SailMasterMessage sendRequestAndGetResponse(MessageType messageType, String... args) throws UnknownHostException, IOException, InterruptedException;
@@ -5,7 +5,7 @@ import java.util.List;
import com.sap.sailing.domain.base.Distance;
import com.sap.sailing.domain.base.TimePoint;
import com.sap.sailing.util.Util.Triple;
import com.sap.sailing.domain.common.Util.Triple;
public interface SailMasterListener {
void receivedRacePositionData(String raceID, RaceStatus status, TimePoint timePoint, TimePoint startTime,
@@ -4,7 +4,7 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import com.sap.sailing.util.Util.Pair;
import com.sap.sailing.domain.common.Util.Pair;
public interface SailMasterTransceiver {
/**
@@ -1,7 +1,7 @@
package com.sap.sailing.domain.swisstimingadapter;
import com.sap.sailing.domain.common.Util.Triple;
import com.sap.sailing.domain.tracking.RaceTracker;
import com.sap.sailing.util.Util.Triple;
public interface SwissTimingRaceTracker extends RaceTracker {
/**
@@ -28,6 +28,7 @@ import com.sap.sailing.domain.base.impl.MillisecondsTimePoint;
import com.sap.sailing.domain.base.impl.PersonImpl;
import com.sap.sailing.domain.base.impl.RaceDefinitionImpl;
import com.sap.sailing.domain.base.impl.TeamImpl;
import com.sap.sailing.domain.common.Util;
import com.sap.sailing.domain.swisstimingadapter.Course;
import com.sap.sailing.domain.swisstimingadapter.DomainFactory;
import com.sap.sailing.domain.swisstimingadapter.Fix;
@@ -38,7 +39,6 @@ import com.sap.sailing.domain.swisstimingadapter.StartList;
import com.sap.sailing.domain.tracking.GPSFixMoving;
import com.sap.sailing.domain.tracking.MarkPassing;
import com.sap.sailing.domain.tracking.impl.GPSFixMovingImpl;
import com.sap.sailing.util.Util;
import difflib.PatchFailedException;
@@ -36,6 +36,8 @@ import com.sap.sailing.domain.base.impl.KnotSpeedImpl;
import com.sap.sailing.domain.base.impl.KnotSpeedWithBearingImpl;
import com.sap.sailing.domain.base.impl.MeterDistance;
import com.sap.sailing.domain.base.impl.MillisecondsTimePoint;
import com.sap.sailing.domain.common.Util.Pair;
import com.sap.sailing.domain.common.Util.Triple;
import com.sap.sailing.domain.swisstimingadapter.Competitor;
import com.sap.sailing.domain.swisstimingadapter.Course;
import com.sap.sailing.domain.swisstimingadapter.Fix;
@@ -49,8 +51,6 @@ import com.sap.sailing.domain.swisstimingadapter.SailMasterListener;
import com.sap.sailing.domain.swisstimingadapter.SailMasterMessage;
import com.sap.sailing.domain.swisstimingadapter.StartList;
import com.sap.sailing.domain.swisstimingadapter.TrackerType;
import com.sap.sailing.util.Util.Pair;
import com.sap.sailing.util.Util.Triple;
/**
* Implements the connector to the SwissTiming Sail Master system. It uses a host name and port number to establish the
@@ -6,9 +6,9 @@ import java.io.InputStream;
import java.io.OutputStream;
import java.nio.charset.Charset;
import com.sap.sailing.domain.common.Util.Pair;
import com.sap.sailing.domain.swisstimingadapter.SailMasterMessage;
import com.sap.sailing.domain.swisstimingadapter.SailMasterTransceiver;
import com.sap.sailing.util.Util.Pair;
/**
* A sender / receiver for a SwissTiming Sail Master system.
@@ -8,6 +8,7 @@ import java.util.HashMap;
import java.util.Map;
import com.sap.sailing.domain.base.TimePoint;
import com.sap.sailing.domain.common.Util.Triple;
import com.sap.sailing.domain.swisstimingadapter.DomainFactory;
import com.sap.sailing.domain.swisstimingadapter.Race;
import com.sap.sailing.domain.swisstimingadapter.RaceSpecificMessageLoader;
@@ -20,7 +21,6 @@ import com.sap.sailing.domain.swisstimingadapter.SwissTimingMessageParser;
import com.sap.sailing.domain.swisstimingadapter.SwissTimingRaceTracker;
import com.sap.sailing.domain.tracking.TrackedEventRegistry;
import com.sap.sailing.domain.tracking.WindStore;
import com.sap.sailing.util.Util.Triple;
public class SwissTimingFactoryImpl implements SwissTimingFactory {
private final Map<Triple<String, Integer, RaceSpecificMessageLoader>, SailMasterConnector> connectors;
@@ -19,6 +19,8 @@ import com.sap.sailing.domain.base.RaceDefinition;
import com.sap.sailing.domain.base.TimePoint;
import com.sap.sailing.domain.base.Waypoint;
import com.sap.sailing.domain.base.impl.MillisecondsTimePoint;
import com.sap.sailing.domain.common.Util;
import com.sap.sailing.domain.common.Util.Triple;
import com.sap.sailing.domain.swisstimingadapter.Course;
import com.sap.sailing.domain.swisstimingadapter.DomainFactory;
import com.sap.sailing.domain.swisstimingadapter.Fix;
@@ -44,8 +46,6 @@ import com.sap.sailing.domain.tracking.TrackedEventRegistry;
import com.sap.sailing.domain.tracking.TrackedRace;
import com.sap.sailing.domain.tracking.WindStore;
import com.sap.sailing.domain.tracking.WindTrack;
import com.sap.sailing.util.Util;
import com.sap.sailing.util.Util.Triple;
import difflib.PatchFailedException;
@@ -18,9 +18,9 @@ import java.util.regex.Pattern;
import org.junit.Ignore;
import org.junit.Test;
import com.sap.sailing.domain.common.Util;
import com.sap.sailing.util.CountryCode;
import com.sap.sailing.util.CountryCodeFactory;
import com.sap.sailing.util.Util;
public class CountryCodeTest {
private static final int NUMBER_OF_COUNTRY_CODES = 259;
@@ -13,7 +13,7 @@ import com.sap.sailing.domain.base.Waypoint;
import com.sap.sailing.domain.base.impl.BuoyImpl;
import com.sap.sailing.domain.base.impl.CourseImpl;
import com.sap.sailing.domain.base.impl.WaypointImpl;
import com.sap.sailing.util.Util;
import com.sap.sailing.domain.common.Util;
public class CourseTest {
@Test
@@ -28,6 +28,8 @@ import com.sap.sailing.domain.base.RaceDefinition;
import com.sap.sailing.domain.base.Waypoint;
import com.sap.sailing.domain.base.impl.BuoyImpl;
import com.sap.sailing.domain.base.impl.WaypointImpl;
import com.sap.sailing.domain.common.Util;
import com.sap.sailing.domain.common.Util.Triple;
import com.sap.sailing.domain.tracking.DynamicRaceDefinitionSet;
import com.sap.sailing.domain.tracking.DynamicTrackedEvent;
import com.sap.sailing.domain.tracking.TrackedLeg;
@@ -39,8 +41,6 @@ import com.sap.sailing.domain.tractracadapter.DomainFactory;
import com.sap.sailing.domain.tractracadapter.Receiver;
import com.sap.sailing.domain.tractracadapter.impl.DomainFactoryImpl;
import com.sap.sailing.domain.tractracadapter.impl.RaceCourseReceiver;
import com.sap.sailing.util.Util;
import com.sap.sailing.util.Util.Triple;
import com.tractrac.clientmodule.Race;
import com.tractrac.clientmodule.Route;
import com.tractrac.clientmodule.data.RouteData;
@@ -13,6 +13,7 @@ import com.sap.sailing.domain.base.impl.DegreeBearingImpl;
import com.sap.sailing.domain.base.impl.KnotSpeedWithBearingImpl;
import com.sap.sailing.domain.base.impl.MillisecondsTimePoint;
import com.sap.sailing.domain.common.WindSource;
import com.sap.sailing.domain.common.Util.Pair;
import com.sap.sailing.domain.leaderboard.RaceInLeaderboard;
import com.sap.sailing.domain.leaderboard.impl.LeaderboardImpl;
import com.sap.sailing.domain.leaderboard.impl.ResultDiscardingRuleImpl;
@@ -20,7 +21,6 @@ import com.sap.sailing.domain.leaderboard.impl.ScoreCorrectionImpl;
import com.sap.sailing.domain.tracking.NoWindException;
import com.sap.sailing.domain.tracking.impl.WindImpl;
import com.sap.sailing.domain.tractracadapter.ReceiverType;
import com.sap.sailing.util.Util.Pair;
public class LeaderboardForKielWeekTest extends OnlineTracTracBasedTest {
@@ -23,6 +23,8 @@ import com.sap.sailing.domain.base.impl.MillisecondsTimePoint;
import com.sap.sailing.domain.base.impl.NationalityImpl;
import com.sap.sailing.domain.base.impl.PersonImpl;
import com.sap.sailing.domain.base.impl.TeamImpl;
import com.sap.sailing.domain.common.Util;
import com.sap.sailing.domain.common.Util.Pair;
import com.sap.sailing.domain.leaderboard.Leaderboard;
import com.sap.sailing.domain.leaderboard.RaceInLeaderboard;
import com.sap.sailing.domain.leaderboard.ScoreCorrection.MaxPointsReason;
@@ -31,8 +33,6 @@ import com.sap.sailing.domain.leaderboard.impl.ResultDiscardingRuleImpl;
import com.sap.sailing.domain.leaderboard.impl.ScoreCorrectionImpl;
import com.sap.sailing.domain.tracking.NoWindException;
import com.sap.sailing.domain.tracking.TrackedRace;
import com.sap.sailing.util.Util;
import com.sap.sailing.util.Util.Pair;
public class LeaderboardOfflineTest {
private Set<TrackedRace> testRaces;
@@ -11,9 +11,9 @@ import org.junit.Test;
import com.maptrack.client.io.TypeController;
import com.sap.sailing.domain.base.Course;
import com.sap.sailing.domain.common.Util;
import com.sap.sailing.domain.tractracadapter.DomainFactory;
import com.sap.sailing.domain.tractracadapter.Receiver;
import com.sap.sailing.util.Util;
import com.tractrac.clientmodule.Route;
import com.tractrac.clientmodule.data.ICallbackData;
import com.tractrac.clientmodule.data.RouteData;
@@ -15,6 +15,7 @@ import com.sap.sailing.domain.base.TimePoint;
import com.sap.sailing.domain.base.impl.DegreeBearingImpl;
import com.sap.sailing.domain.base.impl.KnotSpeedWithBearingImpl;
import com.sap.sailing.domain.base.impl.MillisecondsTimePoint;
import com.sap.sailing.domain.common.Util;
import com.sap.sailing.domain.common.WindSource;
import com.sap.sailing.domain.tracking.NoWindException;
import com.sap.sailing.domain.tracking.TrackedRace;
@@ -23,7 +24,6 @@ import com.sap.sailing.domain.tracking.WindTrack;
import com.sap.sailing.domain.tracking.impl.TrackBasedEstimationWindTrackImpl;
import com.sap.sailing.domain.tracking.impl.WindImpl;
import com.sap.sailing.domain.tractracadapter.ReceiverType;
import com.sap.sailing.util.Util;
public class WindEstimationOnKielerWoche505Race2DataTest extends OnlineTracTracBasedTest {
@@ -14,12 +14,12 @@ import com.sap.sailing.domain.base.Competitor;
import com.sap.sailing.domain.base.TimePoint;
import com.sap.sailing.domain.base.impl.DegreeBearingImpl;
import com.sap.sailing.domain.base.impl.MillisecondsTimePoint;
import com.sap.sailing.domain.common.Util;
import com.sap.sailing.domain.tracking.GPSFixMoving;
import com.sap.sailing.domain.tracking.GPSFixTrack;
import com.sap.sailing.domain.tracking.NoWindException;
import com.sap.sailing.domain.tracking.Wind;
import com.sap.sailing.domain.tracking.impl.BearingCluster;
import com.sap.sailing.util.Util;
public class WindEstimationOnStoredTracksTest extends StoredTrackBasedTestWithTrackedRace {
@Test
@@ -15,11 +15,11 @@ import com.sap.sailing.domain.base.impl.DegreeBearingImpl;
import com.sap.sailing.domain.base.impl.DegreePosition;
import com.sap.sailing.domain.base.impl.KnotSpeedWithBearingImpl;
import com.sap.sailing.domain.base.impl.MillisecondsTimePoint;
import com.sap.sailing.domain.common.Util;
import com.sap.sailing.domain.tracking.Wind;
import com.sap.sailing.domain.tracking.WindTrack;
import com.sap.sailing.domain.tracking.impl.WindImpl;
import com.sap.sailing.domain.tracking.impl.WindTrackImpl;
import com.sap.sailing.util.Util;
public class WindTest {
private static final int AVERAGING_INTERVAL_MILLIS = 30000 /* 30s averaging interval */;
@@ -8,5 +8,6 @@ Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: com.mongodb.driver;bundle-version="2.6.2",
com.sap.sailing.mongodb,
com.sap.sailing.domain.tractracadapter,
com.sap.sailing.domain
com.sap.sailing.domain,
com.sap.sailing.domain.common
Export-Package: com.sap.sailing.domain.tractracadapter.persistence
@@ -19,6 +19,7 @@ import com.sap.sailing.domain.base.RaceDefinition;
import com.sap.sailing.domain.base.Team;
import com.sap.sailing.domain.base.TimePoint;
import com.sap.sailing.domain.base.Waypoint;
import com.sap.sailing.domain.common.Util.Pair;
import com.sap.sailing.domain.tracking.DynamicRaceDefinitionSet;
import com.sap.sailing.domain.tracking.DynamicTrackedEvent;
import com.sap.sailing.domain.tracking.DynamicTrackedRace;
@@ -32,7 +33,6 @@ import com.sap.sailing.domain.tracking.WindTrack;
import com.sap.sailing.domain.tracking.impl.EmptyWindStore;
import com.sap.sailing.domain.tractracadapter.impl.DomainFactoryImpl;
import com.sap.sailing.domain.tractracadapter.impl.RaceCourseReceiver;
import com.sap.sailing.util.Util.Pair;
import com.tractrac.clientmodule.Competitor;
import com.tractrac.clientmodule.CompetitorClass;
import com.tractrac.clientmodule.ControlPoint;
@@ -3,8 +3,8 @@ package com.sap.sailing.domain.tractracadapter;
import java.net.URI;
import java.net.URL;
import com.sap.sailing.domain.common.Util.Triple;
import com.sap.sailing.domain.tracking.RaceTracker;
import com.sap.sailing.util.Util.Triple;
public interface TracTracRaceTracker extends RaceTracker {
@@ -5,13 +5,13 @@ import java.util.concurrent.TimeUnit;
import java.util.logging.Logger;
import com.sap.sailing.domain.base.RaceDefinition;
import com.sap.sailing.domain.common.Util.Triple;
import com.sap.sailing.domain.tracking.DynamicTrackedEvent;
import com.sap.sailing.domain.tracking.DynamicTrackedRace;
import com.sap.sailing.domain.tracking.TrackedEvent;
import com.sap.sailing.domain.tracking.TrackedRace;
import com.sap.sailing.domain.tractracadapter.DomainFactory;
import com.sap.sailing.domain.tractracadapter.Receiver;
import com.sap.sailing.util.Util.Triple;
import com.tractrac.clientmodule.Event;
import com.tractrac.clientmodule.Race;
@@ -42,6 +42,8 @@ import com.sap.sailing.domain.base.impl.MillisecondsTimePoint;
import com.sap.sailing.domain.base.impl.PersonImpl;
import com.sap.sailing.domain.base.impl.RaceDefinitionImpl;
import com.sap.sailing.domain.base.impl.TeamImpl;
import com.sap.sailing.domain.common.Util;
import com.sap.sailing.domain.common.Util.Pair;
import com.sap.sailing.domain.tracking.DynamicRaceDefinitionSet;
import com.sap.sailing.domain.tracking.DynamicTrackedEvent;
import com.sap.sailing.domain.tracking.DynamicTrackedRace;
@@ -59,8 +61,6 @@ import com.sap.sailing.domain.tractracadapter.Receiver;
import com.sap.sailing.domain.tractracadapter.ReceiverType;
import com.sap.sailing.domain.tractracadapter.TracTracConfiguration;
import com.sap.sailing.domain.tractracadapter.TracTracRaceTracker;
import com.sap.sailing.util.Util;
import com.sap.sailing.util.Util.Pair;
import com.tractrac.clientmodule.CompetitorClass;
import com.tractrac.clientmodule.ControlPoint;
import com.tractrac.clientmodule.Race;
@@ -14,12 +14,12 @@ import com.sap.sailing.domain.base.RaceDefinition;
import com.sap.sailing.domain.base.TimePoint;
import com.sap.sailing.domain.base.Waypoint;
import com.sap.sailing.domain.base.impl.MillisecondsTimePoint;
import com.sap.sailing.domain.common.Util.Triple;
import com.sap.sailing.domain.tracking.DynamicTrackedEvent;
import com.sap.sailing.domain.tracking.DynamicTrackedRace;
import com.sap.sailing.domain.tracking.MarkPassing;
import com.sap.sailing.domain.tracking.TrackedRace;
import com.sap.sailing.domain.tractracadapter.DomainFactory;
import com.sap.sailing.util.Util.Triple;
import com.tractrac.clientmodule.ControlPoint;
import com.tractrac.clientmodule.Race;
import com.tractrac.clientmodule.RaceCompetitor;
@@ -9,6 +9,7 @@ import com.sap.sailing.domain.base.Buoy;
import com.sap.sailing.domain.base.Course;
import com.sap.sailing.domain.base.Event;
import com.sap.sailing.domain.base.RaceDefinition;
import com.sap.sailing.domain.common.Util.Triple;
import com.sap.sailing.domain.tracking.DynamicGPSFixTrack;
import com.sap.sailing.domain.tracking.DynamicTrackedEvent;
import com.sap.sailing.domain.tracking.DynamicTrackedRace;
@@ -17,7 +18,6 @@ import com.sap.sailing.domain.tracking.GPSFixTrack;
import com.sap.sailing.domain.tracking.TrackedEvent;
import com.sap.sailing.domain.tracking.TrackedRace;
import com.sap.sailing.domain.tractracadapter.DomainFactory;
import com.sap.sailing.util.Util.Triple;
import com.tractrac.clientmodule.ControlPoint;
import com.tractrac.clientmodule.Race;
import com.tractrac.clientmodule.data.ControlPointPositionData;
@@ -10,11 +10,11 @@ import com.sap.sailing.domain.base.ControlPoint;
import com.sap.sailing.domain.base.Course;
import com.sap.sailing.domain.base.Event;
import com.sap.sailing.domain.base.RaceDefinition;
import com.sap.sailing.domain.common.Util.Triple;
import com.sap.sailing.domain.tracking.DynamicRaceDefinitionSet;
import com.sap.sailing.domain.tracking.DynamicTrackedEvent;
import com.sap.sailing.domain.tracking.WindStore;
import com.sap.sailing.domain.tractracadapter.DomainFactory;
import com.sap.sailing.util.Util.Triple;
import com.tractrac.clientmodule.Race;
import com.tractrac.clientmodule.Route;
import com.tractrac.clientmodule.data.ICallbackData;
@@ -10,10 +10,10 @@ import com.sap.sailing.domain.base.Course;
import com.sap.sailing.domain.base.Event;
import com.sap.sailing.domain.base.RaceDefinition;
import com.sap.sailing.domain.base.impl.MillisecondsTimePoint;
import com.sap.sailing.domain.common.Util.Triple;
import com.sap.sailing.domain.tracking.DynamicTrackedEvent;
import com.sap.sailing.domain.tracking.DynamicTrackedRace;
import com.sap.sailing.domain.tractracadapter.DomainFactory;
import com.sap.sailing.util.Util.Triple;
import com.tractrac.clientmodule.Race;
import com.tractrac.clientmodule.data.ICallbackData;
import com.tractrac.clientmodule.data.StartStopTimesData;
@@ -6,11 +6,11 @@ import java.util.logging.Logger;
import com.maptrack.client.io.TypeController;
import com.sap.sailing.domain.base.Competitor;
import com.sap.sailing.domain.common.Util.Triple;
import com.sap.sailing.domain.tracking.DynamicTrackedEvent;
import com.sap.sailing.domain.tracking.DynamicTrackedRace;
import com.sap.sailing.domain.tracking.GPSFixMoving;
import com.sap.sailing.domain.tractracadapter.DomainFactory;
import com.sap.sailing.util.Util.Triple;
import com.tractrac.clientmodule.Race;
import com.tractrac.clientmodule.RaceCompetitor;
import com.tractrac.clientmodule.data.CompetitorPositionRawData;
@@ -21,6 +21,7 @@ import com.sap.sailing.domain.base.Course;
import com.sap.sailing.domain.base.RaceDefinition;
import com.sap.sailing.domain.base.impl.DegreePosition;
import com.sap.sailing.domain.base.impl.MillisecondsTimePoint;
import com.sap.sailing.domain.common.Util.Triple;
import com.sap.sailing.domain.tracking.AbstractRaceTrackerImpl;
import com.sap.sailing.domain.tracking.DynamicRaceDefinitionSet;
import com.sap.sailing.domain.tracking.DynamicGPSFixTrack;
@@ -37,7 +38,6 @@ import com.sap.sailing.domain.tracking.impl.GPSFixImpl;
import com.sap.sailing.domain.tractracadapter.DomainFactory;
import com.sap.sailing.domain.tractracadapter.Receiver;
import com.sap.sailing.domain.tractracadapter.TracTracRaceTracker;
import com.sap.sailing.util.Util.Triple;
import com.tractrac.clientmodule.ControlPoint;
import com.tractrac.clientmodule.Event;
import com.tractrac.clientmodule.Race;
@@ -17,9 +17,9 @@ import com.sap.sailing.domain.base.Bearing;
import com.sap.sailing.domain.base.Distance;
import com.sap.sailing.domain.base.Position;
import com.sap.sailing.domain.base.TimePoint;
import com.sap.sailing.domain.common.Util.Pair;
import com.sap.sailing.domain.tracking.GPSFix;
import com.sap.sailing.domain.tracking.GPSFixTrack;
import com.sap.sailing.util.Util.Pair;
/**
* Implements the (Ramer)-Douglas-Peucker algorithm on a segment of a {@link GPSFixTrack} with a configurable distance
@@ -5,10 +5,10 @@ import java.util.Map;
import com.sap.sailing.domain.base.Competitor;
import com.sap.sailing.domain.base.Named;
import com.sap.sailing.domain.base.TimePoint;
import com.sap.sailing.domain.common.Util.Pair;
import com.sap.sailing.domain.leaderboard.ScoreCorrection.MaxPointsReason;
import com.sap.sailing.domain.tracking.NoWindException;
import com.sap.sailing.domain.tracking.TrackedRace;
import com.sap.sailing.util.Util.Pair;
/**
* A leaderboard is used to display the results of one or more {@link TrackedRace races}. It manages the competitors'
@@ -1,8 +1,8 @@
package com.sap.sailing.domain.leaderboard;
import com.sap.sailing.domain.base.Competitor;
import com.sap.sailing.domain.common.Util.Pair;
import com.sap.sailing.domain.tracking.TrackedRace;
import com.sap.sailing.util.Util.Pair;
/**
* A column in a {@link Leaderboard} that represents the data of a race. Over the life time of this object it can be
@@ -11,6 +11,8 @@ import java.util.Set;
import com.sap.sailing.domain.base.Competitor;
import com.sap.sailing.domain.base.Named;
import com.sap.sailing.domain.base.TimePoint;
import com.sap.sailing.domain.common.Util;
import com.sap.sailing.domain.common.Util.Pair;
import com.sap.sailing.domain.leaderboard.Leaderboard;
import com.sap.sailing.domain.leaderboard.RaceInLeaderboard;
import com.sap.sailing.domain.leaderboard.ScoreCorrection.MaxPointsReason;
@@ -19,8 +21,6 @@ import com.sap.sailing.domain.leaderboard.SettableScoreCorrection;
import com.sap.sailing.domain.leaderboard.ThresholdBasedResultDiscardingRule;
import com.sap.sailing.domain.tracking.NoWindException;
import com.sap.sailing.domain.tracking.TrackedRace;
import com.sap.sailing.util.Util;
import com.sap.sailing.util.Util.Pair;
public class LeaderboardImpl implements Named, Leaderboard {
private final List<RaceInLeaderboard> races;
@@ -2,11 +2,11 @@ package com.sap.sailing.domain.leaderboard.impl;
import com.sap.sailing.domain.base.Competitor;
import com.sap.sailing.domain.base.TimePoint;
import com.sap.sailing.domain.common.Util.Pair;
import com.sap.sailing.domain.leaderboard.Leaderboard;
import com.sap.sailing.domain.leaderboard.RaceInLeaderboard;
import com.sap.sailing.domain.tracking.NoWindException;
import com.sap.sailing.domain.tracking.TrackedRace;
import com.sap.sailing.util.Util.Pair;
public class RaceInLeaderboardImpl implements RaceInLeaderboard {
private TrackedRace trackedRace;
@@ -5,12 +5,12 @@ import java.util.Map;
import com.sap.sailing.domain.base.Competitor;
import com.sap.sailing.domain.base.TimePoint;
import com.sap.sailing.domain.common.Util;
import com.sap.sailing.domain.common.Util.Pair;
import com.sap.sailing.domain.leaderboard.RaceInLeaderboard;
import com.sap.sailing.domain.leaderboard.ScoreCorrection;
import com.sap.sailing.domain.leaderboard.SettableScoreCorrection;
import com.sap.sailing.domain.tracking.TrackedRace;
import com.sap.sailing.util.Util;
import com.sap.sailing.util.Util.Pair;
/**
* Implements the basic logic of assigning a maximum score to a competitor in a race if that competitor was
@@ -5,7 +5,7 @@ import java.util.List;
import com.sap.sailing.domain.base.Bearing;
import com.sap.sailing.domain.base.impl.RadianBearingImpl;
import com.sap.sailing.util.Util.Pair;
import com.sap.sailing.domain.common.Util.Pair;
/**
* Contains a number of {@link Bearing} objects and maintains the average bearing. For a given {@link Bearing} it
@@ -14,6 +14,7 @@ import com.sap.sailing.domain.base.Competitor;
import com.sap.sailing.domain.base.Leg;
import com.sap.sailing.domain.base.Position;
import com.sap.sailing.domain.base.TimePoint;
import com.sap.sailing.domain.common.Util;
import com.sap.sailing.domain.common.WindSource;
import com.sap.sailing.domain.tracking.GPSFix;
import com.sap.sailing.domain.tracking.MarkPassing;
@@ -23,7 +24,6 @@ import com.sap.sailing.domain.tracking.TrackedLeg;
import com.sap.sailing.domain.tracking.TrackedLegOfCompetitor;
import com.sap.sailing.domain.tracking.TrackedRace;
import com.sap.sailing.domain.tracking.Wind;
import com.sap.sailing.util.Util;
public class TrackedLegImpl implements TrackedLeg, RaceChangeListener<Competitor> {
private final static Logger logger = Logger.getLogger(TrackedLegImpl.class.getName());
@@ -28,7 +28,9 @@ import com.sap.sailing.domain.base.Waypoint;
import com.sap.sailing.domain.base.impl.DouglasPeucker;
import com.sap.sailing.domain.base.impl.KnotSpeedWithBearingImpl;
import com.sap.sailing.domain.base.impl.MillisecondsTimePoint;
import com.sap.sailing.domain.common.Util;
import com.sap.sailing.domain.common.WindSource;
import com.sap.sailing.domain.common.Util.Pair;
import com.sap.sailing.domain.tracking.GPSFix;
import com.sap.sailing.domain.tracking.GPSFixMoving;
import com.sap.sailing.domain.tracking.GPSFixTrack;
@@ -46,8 +48,6 @@ import com.sap.sailing.domain.tracking.TrackedRace;
import com.sap.sailing.domain.tracking.Wind;
import com.sap.sailing.domain.tracking.WindStore;
import com.sap.sailing.domain.tracking.WindTrack;
import com.sap.sailing.util.Util;
import com.sap.sailing.util.Util.Pair;
public abstract class TrackedRaceImpl implements TrackedRace, CourseListener {
private static final Logger logger = Logger.getLogger(TrackedRaceImpl.class.getName());
@@ -4,6 +4,7 @@ import java.util.AbstractList;
import com.sap.sailing.domain.base.Course;
import com.sap.sailing.domain.base.Waypoint;
import com.sap.sailing.domain.common.Util;
import difflib.Patch;
@@ -10,7 +10,8 @@ Require-Bundle: com.sap.sailing.server,
com.sap.sailing.domain,
com.sap.sailing.declination,
com.sap.sailing.domain.test,
com.sap.sailing.udpconnector
com.sap.sailing.udpconnector,
com.sap.sailing.domain.common
Import-Package: junit.framework;version="4.8.1",
org.junit;version="4.8.1",
org.osgi.framework;version="1.6.0"
@@ -32,6 +32,7 @@ import com.sap.sailing.domain.base.Position;
import com.sap.sailing.domain.base.TimePoint;
import com.sap.sailing.domain.base.impl.DegreePosition;
import com.sap.sailing.domain.base.impl.MillisecondsTimePoint;
import com.sap.sailing.domain.common.Util;
import com.sap.sailing.domain.test.mock.MockedTrackedRace;
import com.sap.sailing.domain.tracking.GPSFix;
import com.sap.sailing.domain.tracking.Wind;
@@ -40,7 +41,6 @@ import com.sap.sailing.expeditionconnector.ExpeditionMessage;
import com.sap.sailing.expeditionconnector.ExpeditionWindTracker;
import com.sap.sailing.expeditionconnector.ExpeditionWindTrackerFactory;
import com.sap.sailing.expeditionconnector.UDPExpeditionReceiver;
import com.sap.sailing.util.Util;
public class UDPExpeditionReceiverTest {
private String[] validLines;
@@ -8,11 +8,11 @@ import com.google.gwt.core.client.GWT;
import com.google.gwt.junit.client.GWTTestCase;
import com.google.gwt.user.cellview.client.Column;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.sap.sailing.domain.common.Util.Pair;
import com.sap.sailing.gwt.ui.client.ExpandableSortableColumn;
import com.sap.sailing.gwt.ui.client.StringConstants;
import com.sap.sailing.gwt.ui.shared.LeaderboardDAO;
import com.sap.sailing.gwt.ui.shared.LeaderboardRowDAO;
import com.sap.sailing.gwt.ui.shared.Pair;
import com.sap.sailing.gwt.ui.shared.TracTracRaceRecordDAO;
import com.sap.sailing.server.api.EventNameAndRaceName;
@@ -55,10 +55,10 @@ import com.google.gwt.user.client.ui.RadioButton;
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.Util.Pair;
import com.sap.sailing.gwt.ui.shared.CompetitorDAO;
import com.sap.sailing.gwt.ui.shared.CompetitorInRaceDAO;
import com.sap.sailing.gwt.ui.shared.CompetitorsAndTimePointsDAO;
import com.sap.sailing.gwt.ui.shared.Pair;
import com.sap.sailing.server.api.DetailType;
import com.sap.sailing.server.api.RaceIdentifier;
@@ -13,11 +13,11 @@ import com.google.gwt.cell.client.HasCell;
import com.google.gwt.cell.client.SelectionCell;
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.sap.sailing.domain.common.Util.Pair;
import com.sap.sailing.gwt.ui.shared.CompetitorDAO;
import com.sap.sailing.gwt.ui.shared.LeaderboardDAO;
import com.sap.sailing.gwt.ui.shared.LeaderboardEntryDAO;
import com.sap.sailing.gwt.ui.shared.LeaderboardRowDAO;
import com.sap.sailing.gwt.ui.shared.Pair;
/**
* An editable version of the {@link LeaderboardPanel} which allows a user to enter carried / accumulated
@@ -41,13 +41,13 @@ import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.view.client.ListDataProvider;
import com.google.gwt.view.client.SelectionChangeEvent;
import com.google.gwt.view.client.SingleSelectionModel;
import com.sap.sailing.domain.common.Util.Pair;
import com.sap.sailing.domain.common.Util.Triple;
import com.sap.sailing.gwt.ui.shared.EventDAO;
import com.sap.sailing.gwt.ui.shared.LeaderboardDAO;
import com.sap.sailing.gwt.ui.shared.Pair;
import com.sap.sailing.gwt.ui.shared.RaceDAO;
import com.sap.sailing.gwt.ui.shared.RaceInLeaderboardDAO;
import com.sap.sailing.gwt.ui.shared.RegattaDAO;
import com.sap.sailing.gwt.ui.shared.Triple;
import com.sap.sailing.server.api.EventNameAndRaceName;
public class LeaderboardConfigPanel extends FormPanel implements EventDisplayer, RaceSelectionChangeListener,
@@ -15,8 +15,8 @@ import com.sap.sailing.gwt.ui.shared.LeaderboardDAO;
import com.sap.sailing.gwt.ui.shared.LeaderboardEntryDAO;
import com.sap.sailing.gwt.ui.shared.LeaderboardRowDAO;
import com.sap.sailing.gwt.ui.shared.LegEntryDAO;
import com.sap.sailing.gwt.ui.shared.Triple;
import com.sap.sailing.server.api.DetailType;
import com.sap.sailing.domain.common.Util.Triple;
public class ManeuverCountRaceColumn extends ExpandableSortableColumn<String> implements HasStringAndDoubleValue {
@@ -53,17 +53,17 @@ import com.google.gwt.user.client.ui.ProvidesResize;
import com.google.gwt.user.client.ui.RequiresResize;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
import com.sap.sailing.domain.common.Util.Pair;
import com.sap.sailing.domain.common.Util.Triple;
import com.sap.sailing.gwt.ui.shared.CompetitorDAO;
import com.sap.sailing.gwt.ui.shared.EventDAO;
import com.sap.sailing.gwt.ui.shared.GPSFixDAO;
import com.sap.sailing.gwt.ui.shared.ManeuverDAO;
import com.sap.sailing.gwt.ui.shared.MarkDAO;
import com.sap.sailing.gwt.ui.shared.Pair;
import com.sap.sailing.gwt.ui.shared.PositionDAO;
import com.sap.sailing.gwt.ui.shared.QuickRankDAO;
import com.sap.sailing.gwt.ui.shared.RaceDAO;
import com.sap.sailing.gwt.ui.shared.RegattaDAO;
import com.sap.sailing.gwt.ui.shared.Triple;
import com.sap.sailing.server.api.EventNameAndRaceName;
public class RaceMapPanel extends FormPanel implements EventDisplayer, TimeListener, ProvidesResize, RequiresResize,
@@ -2,10 +2,10 @@ package com.sap.sailing.gwt.ui.client;
import java.util.List;
import com.sap.sailing.domain.common.Util.Triple;
import com.sap.sailing.gwt.ui.shared.EventDAO;
import com.sap.sailing.gwt.ui.shared.RaceDAO;
import com.sap.sailing.gwt.ui.shared.RegattaDAO;
import com.sap.sailing.gwt.ui.shared.Triple;
/**
@@ -2,10 +2,10 @@ package com.sap.sailing.gwt.ui.client;
import java.util.List;
import com.sap.sailing.domain.common.Util.Triple;
import com.sap.sailing.gwt.ui.shared.EventDAO;
import com.sap.sailing.gwt.ui.shared.RaceDAO;
import com.sap.sailing.gwt.ui.shared.RegattaDAO;
import com.sap.sailing.gwt.ui.shared.Triple;
public interface RaceSelectionProvider {
/**
@@ -17,10 +17,10 @@ import com.google.gwt.user.client.ui.HorizontalPanel;
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.sap.sailing.domain.common.Util.Triple;
import com.sap.sailing.gwt.ui.shared.EventDAO;
import com.sap.sailing.gwt.ui.shared.RaceDAO;
import com.sap.sailing.gwt.ui.shared.RegattaDAO;
import com.sap.sailing.gwt.ui.shared.Triple;
public class RacesListBoxPanel extends FormPanel implements RaceSelectionProvider, EventDisplayer {
private final Set<RaceSelectionChangeListener> raceSelectionChangeListeners;
@@ -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.Util.Pair;
import com.sap.sailing.domain.common.WindSource;
import com.sap.sailing.gwt.ui.shared.CompetitorDAO;
import com.sap.sailing.gwt.ui.shared.CompetitorInRaceDAO;
@@ -16,7 +17,6 @@ import com.sap.sailing.gwt.ui.shared.GPSFixDAO;
import com.sap.sailing.gwt.ui.shared.LeaderboardDAO;
import com.sap.sailing.gwt.ui.shared.ManeuverDAO;
import com.sap.sailing.gwt.ui.shared.MarkDAO;
import com.sap.sailing.gwt.ui.shared.Pair;
import com.sap.sailing.gwt.ui.shared.QuickRankDAO;
import com.sap.sailing.gwt.ui.shared.SwissTimingConfigurationDAO;
import com.sap.sailing.gwt.ui.shared.SwissTimingRaceRecordDAO;
@@ -7,6 +7,7 @@ import java.util.Map;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.sap.sailing.domain.base.Course;
import com.sap.sailing.domain.common.Util.Pair;
import com.sap.sailing.domain.common.WindSource;
import com.sap.sailing.domain.leaderboard.RaceInLeaderboard;
import com.sap.sailing.gwt.ui.shared.CompetitorDAO;
@@ -18,7 +19,6 @@ import com.sap.sailing.gwt.ui.shared.LeaderboardDAO;
import com.sap.sailing.gwt.ui.shared.LeaderboardEntryDAO;
import com.sap.sailing.gwt.ui.shared.ManeuverDAO;
import com.sap.sailing.gwt.ui.shared.MarkDAO;
import com.sap.sailing.gwt.ui.shared.Pair;
import com.sap.sailing.gwt.ui.shared.QuickRankDAO;
import com.sap.sailing.gwt.ui.shared.RaceInLeaderboardDAO;
import com.sap.sailing.gwt.ui.shared.SwissTimingConfigurationDAO;
@@ -8,12 +8,12 @@ import com.google.gwt.user.client.ui.FormPanel;
import com.google.gwt.user.client.ui.Grid;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.sap.sailing.domain.common.Util.Triple;
import com.sap.sailing.domain.common.WindSource;
import com.sap.sailing.gwt.ui.shared.EventDAO;
import com.sap.sailing.gwt.ui.shared.PositionDAO;
import com.sap.sailing.gwt.ui.shared.RaceDAO;
import com.sap.sailing.gwt.ui.shared.RegattaDAO;
import com.sap.sailing.gwt.ui.shared.Triple;
import com.sap.sailing.gwt.ui.shared.WindDAO;
import com.sap.sailing.gwt.ui.shared.WindInfoForRaceDAO;
import com.sap.sailing.server.api.EventNameAndRaceName;
@@ -5,7 +5,7 @@ import com.google.gwt.user.client.ui.CheckBox;
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.gwt.ui.shared.Pair;
import com.sap.sailing.domain.common.Util.Pair;
public class TextfieldEntryDialogWithCheckbox extends DataEntryDialog<Pair<String, Boolean>> {
private final CheckBox checkbox;
@@ -34,8 +34,8 @@ import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.view.client.ListDataProvider;
import com.google.gwt.view.client.MultiSelectionModel;
import com.sap.sailing.domain.common.Util.Pair;
import com.sap.sailing.gwt.ui.shared.EventDAO;
import com.sap.sailing.gwt.ui.shared.Pair;
import com.sap.sailing.gwt.ui.shared.TracTracConfigurationDAO;
import com.sap.sailing.gwt.ui.shared.TracTracRaceRecordDAO;
@@ -16,8 +16,8 @@ import com.google.gwt.i18n.client.DateTimeFormat;
import com.google.gwt.i18n.client.DateTimeFormat.PredefinedFormat;
import com.google.gwt.text.client.DateTimeFormatRenderer;
import com.google.gwt.user.cellview.client.CellTable;
import com.google.gwt.user.cellview.client.ColumnSortEvent.ListHandler;
import com.google.gwt.user.cellview.client.ColumnSortEvent;
import com.google.gwt.user.cellview.client.ColumnSortEvent.ListHandler;
import com.google.gwt.user.cellview.client.ColumnSortList;
import com.google.gwt.user.cellview.client.TextColumn;
import com.google.gwt.user.client.rpc.AsyncCallback;
@@ -34,10 +34,10 @@ import com.google.gwt.view.client.SelectionChangeEvent;
import com.google.gwt.view.client.SelectionChangeEvent.Handler;
import com.google.gwt.view.client.SelectionModel;
import com.google.gwt.view.client.SingleSelectionModel;
import com.sap.sailing.domain.common.Util.Triple;
import com.sap.sailing.gwt.ui.shared.EventDAO;
import com.sap.sailing.gwt.ui.shared.RaceDAO;
import com.sap.sailing.gwt.ui.shared.RegattaDAO;
import com.sap.sailing.gwt.ui.shared.Triple;
import com.sap.sailing.server.api.EventNameAndRaceName;
/**
@@ -53,11 +53,11 @@ 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.view.client.ListDataProvider;
import com.sap.sailing.domain.common.Util.Triple;
import com.sap.sailing.domain.common.WindSource;
import com.sap.sailing.gwt.ui.shared.EventDAO;
import com.sap.sailing.gwt.ui.shared.RaceDAO;
import com.sap.sailing.gwt.ui.shared.RegattaDAO;
import com.sap.sailing.gwt.ui.shared.Triple;
import com.sap.sailing.gwt.ui.shared.WindDAO;
import com.sap.sailing.gwt.ui.shared.WindInfoForRaceDAO;
import com.sap.sailing.gwt.ui.shared.WindTrackInfoDAO;
@@ -10,11 +10,11 @@ import com.google.gwt.user.client.ui.DoubleBox;
import com.google.gwt.user.client.ui.FormPanel;
import com.google.gwt.user.client.ui.Grid;
import com.google.gwt.user.client.ui.Label;
import com.sap.sailing.domain.common.Util.Triple;
import com.sap.sailing.gwt.ui.shared.EventDAO;
import com.sap.sailing.gwt.ui.shared.PositionDAO;
import com.sap.sailing.gwt.ui.shared.RaceDAO;
import com.sap.sailing.gwt.ui.shared.RegattaDAO;
import com.sap.sailing.gwt.ui.shared.Triple;
import com.sap.sailing.gwt.ui.shared.WindDAO;
import com.sap.sailing.server.api.EventNameAndRaceName;
@@ -56,6 +56,7 @@ import com.sap.sailing.domain.base.impl.KnotSpeedImpl;
import com.sap.sailing.domain.base.impl.KnotSpeedWithBearingImpl;
import com.sap.sailing.domain.base.impl.MeterDistance;
import com.sap.sailing.domain.base.impl.MillisecondsTimePoint;
import com.sap.sailing.domain.common.Util.Pair;
import com.sap.sailing.domain.common.WindSource;
import com.sap.sailing.domain.leaderboard.Leaderboard;
import com.sap.sailing.domain.leaderboard.Leaderboard.Entry;
@@ -99,7 +100,6 @@ import com.sap.sailing.gwt.ui.shared.LeaderboardRowDAO;
import com.sap.sailing.gwt.ui.shared.LegEntryDAO;
import com.sap.sailing.gwt.ui.shared.ManeuverDAO;
import com.sap.sailing.gwt.ui.shared.MarkDAO;
import com.sap.sailing.gwt.ui.shared.Pair;
import com.sap.sailing.gwt.ui.shared.PositionDAO;
import com.sap.sailing.gwt.ui.shared.QuickRankDAO;
import com.sap.sailing.gwt.ui.shared.RaceDAO;
@@ -396,7 +396,7 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS
@Override
public Pair<String, List<TracTracRaceRecordDAO>> listTracTracRacesInEvent(String eventJsonURL) throws MalformedURLException, IOException,
ParseException, org.json.simple.parser.ParseException, URISyntaxException {
com.sap.sailing.util.Util.Pair<String,List<RaceRecord>> raceRecords;
com.sap.sailing.domain.common.Util.Pair<String,List<RaceRecord>> raceRecords;
raceRecords = getService().getTracTracRaceRecords(new URL(eventJsonURL));
List<TracTracRaceRecordDAO> result = new ArrayList<TracTracRaceRecordDAO>();
for (RaceRecord raceRecord : raceRecords.getB()) {
@@ -3,6 +3,7 @@ package com.sap.sailing.gwt.ui.shared;
import java.util.HashMap;
import com.google.gwt.user.client.rpc.IsSerializable;
import com.sap.sailing.domain.common.Util.Pair;
public class CompetitorsAndTimePointsDAO implements IsSerializable {
private static final long MILLISECONDS_BEFORE_RACE_TO_INCLUDE = 20000;
@@ -1,79 +0,0 @@
package com.sap.sailing.gwt.ui.shared;
import com.google.gwt.user.client.rpc.IsSerializable;
public class Pair<A, B> implements IsSerializable {
private A a;
private B b;
private int hashCode;
public Pair( A a, B b ) {
this.a = a;
this.b = b;
hashCode = 0;
}
/**
* package-protected default constructor for GWT RPC serialization
*/
Pair() {}
public void setA( A a ) {
this.a = a;
hashCode = 0;
}
public A getA( ) {
return a;
}
public void setB( B b ) {
this.b = b;
hashCode = 0;
}
public B getB( ) {
return b;
}
@Override
public int hashCode( ) {
if ( hashCode == 0 ) {
hashCode = 17;
hashCode = 37 * hashCode + ( a != null ? a.hashCode( ) : 0 );
hashCode = 37 * hashCode + ( b != null ? b.hashCode( ) : 0 );
}
return hashCode;
}
@Override
public boolean equals( Object obj ) {
boolean result;
if ( this == obj ) {
result = true;
} else if ( obj instanceof Pair<?, ?> ) {
Pair<?, ?> pair = (Pair<?, ?>) obj;
result = ( this.a != null && this.a.equals( pair.a ) || this.a == null && pair.a == null ) && ( this.b != null && this.b.equals( pair.b ) || this.b == null && pair.b == null );
} else {
result = false;
}
return result;
}
@Override
public String toString( ) {
return "[" + (a==null?"null":a.toString( )) + ", " +
(b==null?"null":b.toString( )) + "]"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
}
}
@@ -1,89 +0,0 @@
package com.sap.sailing.gwt.ui.shared;
public class Triple<A, B, C> {
private A a;
private B b;
private C c;
private int hashCode;
public Triple(A a, B b, C c) {
this.a = a;
this.b = b;
this.c = c;
hashCode = 0;
}
public void setA(A a) {
this.a = a;
hashCode = 0;
}
public A getA() {
return a;
}
public void setB(B b) {
this.b = b;
hashCode = 0;
}
public B getB() {
return b;
}
public void setC(C c) {
this.c = c;
hashCode = 0;
}
public C getC() {
return c;
}
@Override
public int hashCode() {
if (hashCode == 0) {
hashCode = 17;
hashCode = 37 * hashCode + (a != null ? a.hashCode() : 0);
hashCode = 37 * hashCode + (b != null ? b.hashCode() : 0);
hashCode = 37 * hashCode + (c != null ? c.hashCode() : 0);
}
return hashCode;
}
@Override
public boolean equals(Object obj) {
boolean result;
if (this == obj) {
result = true;
} else if (obj instanceof Triple<?, ?, ?>) {
Triple<?, ?, ?> thrice = (Triple<?, ?, ?>) obj;
result = (this.a != null && this.a.equals(thrice.a) || this.a == null && thrice.a == null)
&& (this.b != null && this.b.equals(thrice.b) || this.b == null && thrice.b == null)
&& (this.c != null && this.c.equals(thrice.c) || this.c == null && thrice.c == null);
} else {
result = false;
}
return result;
}
@Override
public String toString() {
return "[" + a.toString() + ", " + b.toString() + ", " + c.toString() + "]"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
}
}
@@ -16,6 +16,7 @@ import com.sap.sailing.domain.base.impl.CompetitorImpl;
import com.sap.sailing.domain.base.impl.NationalityImpl;
import com.sap.sailing.domain.base.impl.PersonImpl;
import com.sap.sailing.domain.base.impl.TeamImpl;
import com.sap.sailing.domain.common.Util;
import com.sap.sailing.domain.leaderboard.Leaderboard;
import com.sap.sailing.domain.leaderboard.RaceInLeaderboard;
import com.sap.sailing.domain.leaderboard.ScoreCorrection;
@@ -26,7 +27,6 @@ import com.sap.sailing.domain.persistence.impl.DomainObjectFactoryImpl;
import com.sap.sailing.domain.persistence.impl.MongoObjectFactoryImpl;
import com.sap.sailing.domain.test.MockedTrackedRaceWithFixedRank;
import com.sap.sailing.domain.tracking.TrackedRace;
import com.sap.sailing.util.Util;
public class TestStoringAndRetrievingLeaderboards extends AbstractMongoDBTest {
@Test
@@ -5,7 +5,8 @@ Bundle-SymbolicName: com.sap.sailing.mongodb
Bundle-Version: 1.0.0.qualifier
Bundle-Vendor: SAP
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: com.mongodb.driver;bundle-version="2.6.2"
Require-Bundle: com.mongodb.driver;bundle-version="2.6.2",
com.sap.sailing.domain.common
Export-Package: com.sap.sailing.mongodb
Bundle-ActivationPolicy: lazy
Import-Package: com.sap.sailing.util,
@@ -7,9 +7,9 @@ import java.util.logging.Logger;
import com.mongodb.DB;
import com.mongodb.Mongo;
import com.sap.sailing.domain.common.Util;
import com.sap.sailing.mongodb.MongoDBConfiguration;
import com.sap.sailing.mongodb.MongoDBService;
import com.sap.sailing.util.Util;
public class MongoDBServiceImpl implements MongoDBService {
@@ -9,7 +9,8 @@ Require-Bundle: com.sap.sailing.server,
com.sap.sailing.server.api,
com.sap.sailing.domain,
com.sap.sailing.domain.tractracadapter,
com.sap.sailing.domain.swisstimingadapter
com.sap.sailing.domain.swisstimingadapter,
com.sap.sailing.domain.common
Import-Package: junit.framework;version="4.8.1",
org.junit;version="4.8.1",
com.tractrac.clientmodule,
@@ -14,6 +14,8 @@ import java.util.Map;
import com.sap.sailing.domain.base.Event;
import com.sap.sailing.domain.base.RaceDefinition;
import com.sap.sailing.domain.common.Util.Pair;
import com.sap.sailing.domain.common.Util.Triple;
import com.sap.sailing.domain.leaderboard.Leaderboard;
import com.sap.sailing.domain.leaderboard.RaceInLeaderboard;
import com.sap.sailing.domain.swisstimingadapter.SwissTimingFactory;
@@ -28,8 +30,6 @@ import com.sap.sailing.domain.tractracadapter.RaceRecord;
import com.sap.sailing.domain.tractracadapter.TracTracRaceTracker;
import com.sap.sailing.server.api.EventIdentifier;
import com.sap.sailing.server.api.RaceIdentifier;
import com.sap.sailing.util.Util.Pair;
import com.sap.sailing.util.Util.Triple;
/**
* An OSGi service that can be used to track boat races using a TracTrac connector that pushes
@@ -13,8 +13,8 @@ import org.osgi.util.tracker.ServiceTracker;
import com.sap.sailing.domain.base.Event;
import com.sap.sailing.domain.base.RaceDefinition;
import com.sap.sailing.domain.common.Util.Triple;
import com.sap.sailing.server.RacingEventService;
import com.sap.sailing.util.Util.Triple;
public class Activator implements BundleActivator, ServiceListener {
private static final Logger logger = Logger.getLogger(Activator.class.getName());
@@ -32,6 +32,7 @@ import com.sap.sailing.domain.base.impl.DegreePosition;
import com.sap.sailing.domain.base.impl.KnotSpeedWithBearingImpl;
import com.sap.sailing.domain.base.impl.MillisecondsTimePoint;
import com.sap.sailing.domain.common.WindSource;
import com.sap.sailing.domain.common.Util.Triple;
import com.sap.sailing.domain.persistence.DomainObjectFactory;
import com.sap.sailing.domain.persistence.MongoObjectFactory;
import com.sap.sailing.domain.persistence.MongoWindStoreFactory;
@@ -46,7 +47,6 @@ import com.sap.sailing.domain.tracking.impl.WindImpl;
import com.sap.sailing.domain.tractracadapter.RaceRecord;
import com.sap.sailing.server.Servlet;
import com.sap.sailing.util.InvalidDateException;
import com.sap.sailing.util.Util.Triple;
public class AdminApp extends Servlet {
private static final long serialVersionUID = -6849138354941569249L;
@@ -28,6 +28,9 @@ import com.sap.sailing.domain.base.ControlPoint;
import com.sap.sailing.domain.base.Event;
import com.sap.sailing.domain.base.RaceDefinition;
import com.sap.sailing.domain.base.TimePoint;
import com.sap.sailing.domain.common.Util;
import com.sap.sailing.domain.common.Util.Pair;
import com.sap.sailing.domain.common.Util.Triple;
import com.sap.sailing.domain.leaderboard.Leaderboard;
import com.sap.sailing.domain.leaderboard.RaceInLeaderboard;
import com.sap.sailing.domain.leaderboard.impl.LeaderboardImpl;
@@ -62,9 +65,6 @@ import com.sap.sailing.server.api.EventNameAndRaceName;
import com.sap.sailing.server.api.LeaderboardNameAndRaceColumnName;
import com.sap.sailing.server.api.RaceFetcher;
import com.sap.sailing.server.api.RaceIdentifier;
import com.sap.sailing.util.Util;
import com.sap.sailing.util.Util.Pair;
import com.sap.sailing.util.Util.Triple;
public class RacingEventServiceImpl implements RacingEventService, EventFetcher, RaceFetcher {
private static final Logger logger = Logger.getLogger(RacingEventServiceImpl.class.getName());
@@ -20,11 +20,11 @@ import com.sap.sailing.domain.base.Leg;
import com.sap.sailing.domain.base.Position;
import com.sap.sailing.domain.base.RaceDefinition;
import com.sap.sailing.domain.base.Waypoint;
import com.sap.sailing.domain.common.Util;
import com.sap.sailing.domain.tracking.TrackedLeg;
import com.sap.sailing.domain.tracking.TrackedRace;
import com.sap.sailing.domain.tracking.Wind;
import com.sap.sailing.server.RacingEventService;
import com.sap.sailing.util.Util;
public class ListEvents extends Action {
public ListEvents(HttpServletRequest req, HttpServletResponse res, RacingEventService service, int maxRows) {