tractrac.autoload.json_urls. This
diff --git a/java/com.sap.sailing.barbados.resultimport.test/src/com/sap/sailing/barbados/resultimport/test/BarbadosResultImportTest.java b/java/com.sap.sailing.barbados.resultimport.test/src/com/sap/sailing/barbados/resultimport/test/BarbadosResultImportTest.java
index 67eb041fbdf..5467c11f134 100755
--- a/java/com.sap.sailing.barbados.resultimport.test/src/com/sap/sailing/barbados/resultimport/test/BarbadosResultImportTest.java
+++ b/java/com.sap.sailing.barbados.resultimport.test/src/com/sap/sailing/barbados/resultimport/test/BarbadosResultImportTest.java
@@ -26,13 +26,13 @@ import com.sap.sailing.barbados.resultimport.impl.ScoreCorrectionProviderImpl;
import com.sap.sailing.domain.common.MaxPointsReason;
import com.sap.sailing.domain.common.RegattaScoreCorrections;
import com.sap.sailing.domain.common.RegattaScoreCorrections.ScoreCorrectionsForRace;
-import com.sap.sailing.domain.common.TimePoint;
-import com.sap.sailing.domain.common.impl.MillisecondsTimePoint;
import com.sap.sailing.resultimport.RegattaResults;
import com.sap.sailing.resultimport.ResultDocumentDescriptor;
import com.sap.sailing.resultimport.ResultDocumentProvider;
import com.sap.sailing.resultimport.impl.ResultDocumentDescriptorImpl;
+import com.sap.sse.common.TimePoint;
import com.sap.sse.common.Util;
+import com.sap.sse.common.impl.MillisecondsTimePoint;
public class BarbadosResultImportTest {
private static final MillisecondsTimePoint NOW = MillisecondsTimePoint.now();
diff --git a/java/com.sap.sailing.barbados.resultimport/src/com/sap/sailing/barbados/resultimport/impl/ScoreCorrectionProviderImpl.java b/java/com.sap.sailing.barbados.resultimport/src/com/sap/sailing/barbados/resultimport/impl/ScoreCorrectionProviderImpl.java
index e662784cc3c..0f3c5a4aaea 100644
--- a/java/com.sap.sailing.barbados.resultimport/src/com/sap/sailing/barbados/resultimport/impl/ScoreCorrectionProviderImpl.java
+++ b/java/com.sap.sailing.barbados.resultimport/src/com/sap/sailing/barbados/resultimport/impl/ScoreCorrectionProviderImpl.java
@@ -8,12 +8,12 @@ import java.util.logging.Level;
import java.util.logging.Logger;
import com.sap.sailing.domain.common.RegattaScoreCorrections;
-import com.sap.sailing.domain.common.TimePoint;
import com.sap.sailing.resultimport.RegattaResults;
import com.sap.sailing.resultimport.ResultDocumentDescriptor;
import com.sap.sailing.resultimport.ResultDocumentProvider;
import com.sap.sailing.resultimport.impl.AbstractDocumentBasedScoreCorrectionProvider;
import com.sap.sailing.resultimport.impl.RegattaScoreCorrectionsImpl;
+import com.sap.sse.common.TimePoint;
import com.sap.sse.common.Util;
public class ScoreCorrectionProviderImpl extends AbstractDocumentBasedScoreCorrectionProvider {
diff --git a/java/com.sap.sailing.datamining/src/com/sap/sailing/datamining/impl/data/TrackedLegOfCompetitorWithContext.java b/java/com.sap.sailing.datamining/src/com/sap/sailing/datamining/impl/data/TrackedLegOfCompetitorWithContext.java
index 3c846bf6c44..bb8be89c260 100644
--- a/java/com.sap.sailing.datamining/src/com/sap/sailing/datamining/impl/data/TrackedLegOfCompetitorWithContext.java
+++ b/java/com.sap.sailing.datamining/src/com/sap/sailing/datamining/impl/data/TrackedLegOfCompetitorWithContext.java
@@ -3,8 +3,8 @@ package com.sap.sailing.datamining.impl.data;
import com.sap.sailing.datamining.data.HasTrackedLegContext;
import com.sap.sailing.datamining.data.HasTrackedLegOfCompetitorContext;
import com.sap.sailing.domain.base.Competitor;
-import com.sap.sailing.domain.common.TimePoint;
import com.sap.sailing.domain.tracking.TrackedLegOfCompetitor;
+import com.sap.sse.common.TimePoint;
public class TrackedLegOfCompetitorWithContext implements HasTrackedLegOfCompetitorContext {
diff --git a/java/com.sap.sailing.datamining/src/com/sap/sailing/datamining/impl/data/TrackedLegWithContext.java b/java/com.sap.sailing.datamining/src/com/sap/sailing/datamining/impl/data/TrackedLegWithContext.java
index 01809721e6f..7ba9c7c6516 100644
--- a/java/com.sap.sailing.datamining/src/com/sap/sailing/datamining/impl/data/TrackedLegWithContext.java
+++ b/java/com.sap.sailing.datamining/src/com/sap/sailing/datamining/impl/data/TrackedLegWithContext.java
@@ -4,10 +4,10 @@ import com.sap.sailing.datamining.data.HasTrackedLegContext;
import com.sap.sailing.datamining.data.HasTrackedRaceContext;
import com.sap.sailing.domain.common.LegType;
import com.sap.sailing.domain.common.NoWindException;
-import com.sap.sailing.domain.common.TimePoint;
-import com.sap.sailing.domain.common.impl.MillisecondsTimePoint;
import com.sap.sailing.domain.tracking.TrackedLeg;
import com.sap.sailing.domain.tracking.TrackedLegOfCompetitor;
+import com.sap.sse.common.TimePoint;
+import com.sap.sse.common.impl.MillisecondsTimePoint;
public class TrackedLegWithContext implements HasTrackedLegContext {
diff --git a/java/com.sap.sailing.datamining/src/com/sap/sailing/datamining/impl/data/TrackedRaceWithContext.java b/java/com.sap.sailing.datamining/src/com/sap/sailing/datamining/impl/data/TrackedRaceWithContext.java
index 774c73940bb..c61c70a0df3 100644
--- a/java/com.sap.sailing.datamining/src/com/sap/sailing/datamining/impl/data/TrackedRaceWithContext.java
+++ b/java/com.sap.sailing.datamining/src/com/sap/sailing/datamining/impl/data/TrackedRaceWithContext.java
@@ -8,8 +8,8 @@ import com.sap.sailing.domain.base.CourseArea;
import com.sap.sailing.domain.base.Fleet;
import com.sap.sailing.domain.base.RaceDefinition;
import com.sap.sailing.domain.base.Regatta;
-import com.sap.sailing.domain.common.TimePoint;
import com.sap.sailing.domain.tracking.TrackedRace;
+import com.sap.sse.common.TimePoint;
public class TrackedRaceWithContext implements HasTrackedRaceContext {
diff --git a/java/com.sap.sailing.declination.test/src/com/sap/sailing/declination/test/DeclinationImportTest.java b/java/com.sap.sailing.declination.test/src/com/sap/sailing/declination/test/DeclinationImportTest.java
index ea668f4854d..830aa4b0241 100755
--- a/java/com.sap.sailing.declination.test/src/com/sap/sailing/declination/test/DeclinationImportTest.java
+++ b/java/com.sap.sailing.declination.test/src/com/sap/sailing/declination/test/DeclinationImportTest.java
@@ -15,7 +15,7 @@ import org.xml.sax.SAXException;
import com.sap.sailing.declination.Declination;
import com.sap.sailing.domain.common.impl.DegreePosition;
-import com.sap.sailing.domain.common.impl.MillisecondsTimePoint;
+import com.sap.sse.common.impl.MillisecondsTimePoint;
public class DeclinationImportTest extends AbstractDeclinationTest {
@Test
diff --git a/java/com.sap.sailing.declination.test/src/com/sap/sailing/declination/test/DeclinationServiceTest.java b/java/com.sap.sailing.declination.test/src/com/sap/sailing/declination/test/DeclinationServiceTest.java
index c897ba0486b..9b9aa589f19 100755
--- a/java/com.sap.sailing.declination.test/src/com/sap/sailing/declination/test/DeclinationServiceTest.java
+++ b/java/com.sap.sailing.declination.test/src/com/sap/sailing/declination/test/DeclinationServiceTest.java
@@ -15,7 +15,7 @@ import com.sap.sailing.declination.DeclinationService;
import com.sap.sailing.declination.impl.DeclinationServiceImpl;
import com.sap.sailing.domain.common.impl.CentralAngleDistance;
import com.sap.sailing.domain.common.impl.DegreePosition;
-import com.sap.sailing.domain.common.impl.MillisecondsTimePoint;
+import com.sap.sse.common.impl.MillisecondsTimePoint;
public class DeclinationServiceTest extends AbstractDeclinationTest {
private DeclinationService service;
diff --git a/java/com.sap.sailing.declination.test/src/com/sap/sailing/declination/test/DeclinationStoreTest.java b/java/com.sap.sailing.declination.test/src/com/sap/sailing/declination/test/DeclinationStoreTest.java
index 0b84e59bae3..98087aff3ae 100755
--- a/java/com.sap.sailing.declination.test/src/com/sap/sailing/declination/test/DeclinationStoreTest.java
+++ b/java/com.sap.sailing.declination.test/src/com/sap/sailing/declination/test/DeclinationStoreTest.java
@@ -32,11 +32,11 @@ import com.sap.sailing.declination.impl.DeclinationRecordImpl;
import com.sap.sailing.declination.impl.DeclinationStore;
import com.sap.sailing.domain.common.Bearing;
import com.sap.sailing.domain.common.Position;
-import com.sap.sailing.domain.common.TimePoint;
import com.sap.sailing.domain.common.impl.DegreeBearingImpl;
import com.sap.sailing.domain.common.impl.DegreePosition;
-import com.sap.sailing.domain.common.impl.MillisecondsTimePoint;
import com.sap.sailing.domain.common.quadtree.QuadTree;
+import com.sap.sse.common.TimePoint;
+import com.sap.sse.common.impl.MillisecondsTimePoint;
public class DeclinationStoreTest extends AbstractDeclinationTest {
private DeclinationStore store;
diff --git a/java/com.sap.sailing.declination.test/src/com/sap/sailing/declination/test/SimpleDeclinationTest.java b/java/com.sap.sailing.declination.test/src/com/sap/sailing/declination/test/SimpleDeclinationTest.java
index 6851293a84b..403c64cb46c 100755
--- a/java/com.sap.sailing.declination.test/src/com/sap/sailing/declination/test/SimpleDeclinationTest.java
+++ b/java/com.sap.sailing.declination.test/src/com/sap/sailing/declination/test/SimpleDeclinationTest.java
@@ -12,9 +12,9 @@ import org.xml.sax.SAXException;
import com.sap.sailing.declination.Declination;
import com.sap.sailing.domain.common.Bearing;
-import com.sap.sailing.domain.common.TimePoint;
import com.sap.sailing.domain.common.impl.DegreePosition;
-import com.sap.sailing.domain.common.impl.MillisecondsTimePoint;
+import com.sap.sse.common.TimePoint;
+import com.sap.sse.common.impl.MillisecondsTimePoint;
public class SimpleDeclinationTest extends AbstractDeclinationTest {
@Test
diff --git a/java/com.sap.sailing.declination/META-INF/MANIFEST.MF b/java/com.sap.sailing.declination/META-INF/MANIFEST.MF
index 61d334496f0..304ba0e53eb 100644
--- a/java/com.sap.sailing.declination/META-INF/MANIFEST.MF
+++ b/java/com.sap.sailing.declination/META-INF/MANIFEST.MF
@@ -7,7 +7,8 @@ Bundle-Vendor: SAP
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-ActivationPolicy: lazy
Require-Bundle: com.sap.sailing.domain,
- com.sap.sailing.domain.common
+ com.sap.sailing.domain.common,
+ com.sap.sse.common
Export-Package: com.sap.sailing.declination
Import-Package: com.sap.sailing.domain.common,
com.sap.sailing.domain.common.impl,
diff --git a/java/com.sap.sailing.declination/src/com/sap/sailing/declination/Declination.java b/java/com.sap.sailing.declination/src/com/sap/sailing/declination/Declination.java
index 9de3dcba313..df53c7cce35 100755
--- a/java/com.sap.sailing.declination/src/com/sap/sailing/declination/Declination.java
+++ b/java/com.sap.sailing.declination/src/com/sap/sailing/declination/Declination.java
@@ -3,7 +3,7 @@ package com.sap.sailing.declination;
import com.sap.sailing.domain.base.Timed;
import com.sap.sailing.domain.common.Bearing;
import com.sap.sailing.domain.common.Position;
-import com.sap.sailing.domain.common.TimePoint;
+import com.sap.sse.common.TimePoint;
/**
* Tells the magnetic declination for a position and a given point in time together with an anticipated annual change.
diff --git a/java/com.sap.sailing.declination/src/com/sap/sailing/declination/DeclinationService.java b/java/com.sap.sailing.declination/src/com/sap/sailing/declination/DeclinationService.java
index 8bd18565c10..63081de7da8 100755
--- a/java/com.sap.sailing.declination/src/com/sap/sailing/declination/DeclinationService.java
+++ b/java/com.sap.sailing.declination/src/com/sap/sailing/declination/DeclinationService.java
@@ -8,8 +8,8 @@ import com.sap.sailing.declination.impl.NOAAImporter;
import com.sap.sailing.domain.common.Distance;
import com.sap.sailing.domain.common.Mile;
import com.sap.sailing.domain.common.Position;
-import com.sap.sailing.domain.common.TimePoint;
import com.sap.sailing.domain.common.impl.CentralAngleDistance;
+import com.sap.sse.common.TimePoint;
public interface DeclinationService {
/**
diff --git a/java/com.sap.sailing.declination/src/com/sap/sailing/declination/impl/DeclinationRecordImpl.java b/java/com.sap.sailing.declination/src/com/sap/sailing/declination/impl/DeclinationRecordImpl.java
index 5fdf0e97491..62b4e4801ce 100755
--- a/java/com.sap.sailing.declination/src/com/sap/sailing/declination/impl/DeclinationRecordImpl.java
+++ b/java/com.sap.sailing.declination/src/com/sap/sailing/declination/impl/DeclinationRecordImpl.java
@@ -3,8 +3,8 @@ package com.sap.sailing.declination.impl;
import com.sap.sailing.declination.Declination;
import com.sap.sailing.domain.common.Bearing;
import com.sap.sailing.domain.common.Position;
-import com.sap.sailing.domain.common.TimePoint;
import com.sap.sailing.domain.common.impl.DegreeBearingImpl;
+import com.sap.sse.common.TimePoint;
public class DeclinationRecordImpl implements Declination {
private static final long serialVersionUID = 6918630656182340186L;
diff --git a/java/com.sap.sailing.declination/src/com/sap/sailing/declination/impl/DeclinationServiceImpl.java b/java/com.sap.sailing.declination/src/com/sap/sailing/declination/impl/DeclinationServiceImpl.java
index f367854c858..257cd93d293 100755
--- a/java/com.sap.sailing.declination/src/com/sap/sailing/declination/impl/DeclinationServiceImpl.java
+++ b/java/com.sap.sailing.declination/src/com/sap/sailing/declination/impl/DeclinationServiceImpl.java
@@ -11,8 +11,8 @@ import com.sap.sailing.declination.Declination;
import com.sap.sailing.declination.DeclinationService;
import com.sap.sailing.domain.common.Distance;
import com.sap.sailing.domain.common.Position;
-import com.sap.sailing.domain.common.TimePoint;
import com.sap.sailing.domain.common.quadtree.QuadTree;
+import com.sap.sse.common.TimePoint;
public class DeclinationServiceImpl implements DeclinationService {
private final Distance defaultMaxDistance;
diff --git a/java/com.sap.sailing.declination/src/com/sap/sailing/declination/impl/DeclinationStore.java b/java/com.sap.sailing.declination/src/com/sap/sailing/declination/impl/DeclinationStore.java
index cab34d79b03..29f68ff783f 100755
--- a/java/com.sap.sailing.declination/src/com/sap/sailing/declination/impl/DeclinationStore.java
+++ b/java/com.sap.sailing.declination/src/com/sap/sailing/declination/impl/DeclinationStore.java
@@ -21,11 +21,11 @@ import org.xml.sax.SAXException;
import com.sap.sailing.declination.Declination;
import com.sap.sailing.domain.common.Bearing;
import com.sap.sailing.domain.common.Position;
-import com.sap.sailing.domain.common.TimePoint;
import com.sap.sailing.domain.common.impl.DegreeBearingImpl;
import com.sap.sailing.domain.common.impl.DegreePosition;
-import com.sap.sailing.domain.common.impl.MillisecondsTimePoint;
import com.sap.sailing.domain.common.quadtree.QuadTree;
+import com.sap.sse.common.TimePoint;
+import com.sap.sse.common.impl.MillisecondsTimePoint;
/**
* Manages resources in which declinations can be stored for off-line look-up. Time resolution is
diff --git a/java/com.sap.sailing.declination/src/com/sap/sailing/declination/impl/NOAAImporter.java b/java/com.sap.sailing.declination/src/com/sap/sailing/declination/impl/NOAAImporter.java
index 86fd5ac0043..bf74003907b 100755
--- a/java/com.sap.sailing.declination/src/com/sap/sailing/declination/impl/NOAAImporter.java
+++ b/java/com.sap.sailing.declination/src/com/sap/sailing/declination/impl/NOAAImporter.java
@@ -20,8 +20,8 @@ import org.xml.sax.SAXException;
import com.sap.sailing.declination.Declination;
import com.sap.sailing.domain.common.Position;
-import com.sap.sailing.domain.common.TimePoint;
import com.sap.sailing.domain.common.impl.DegreeBearingImpl;
+import com.sap.sse.common.TimePoint;
/**
* Imports magnetic declination data for earth from NOAA (http://www.ngdc.noaa.gov)
diff --git a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/AbstractSpeedImpl.java b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/AbstractSpeedImpl.java
index 1e5e04aca31..7ba1e76b252 100644
--- a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/AbstractSpeedImpl.java
+++ b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/AbstractSpeedImpl.java
@@ -1,6 +1,7 @@
package com.sap.sailing.domain.common;
import com.sap.sailing.domain.common.impl.NauticalMileDistance;
+import com.sap.sse.common.TimePoint;
public abstract class AbstractSpeedImpl implements Speed {
diff --git a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/DurationFormatter.java b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/DurationFormatter.java
index 323c2675340..4f4e7bf5654 100644
--- a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/DurationFormatter.java
+++ b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/DurationFormatter.java
@@ -1,5 +1,7 @@
package com.sap.sailing.domain.common;
+import com.sap.sse.common.Duration;
+
/**
* Provides methods to format a {@link Duration}.
*
diff --git a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/ScoreCorrectionProvider.java b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/ScoreCorrectionProvider.java
index 4e3b966c2ae..d273c8a27c1 100755
--- a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/ScoreCorrectionProvider.java
+++ b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/ScoreCorrectionProvider.java
@@ -4,6 +4,7 @@ import java.util.Map;
import java.util.Set;
import com.sap.sse.common.Named;
+import com.sap.sse.common.TimePoint;
import com.sap.sse.common.Util;
import com.sap.sse.common.Util.Pair;
diff --git a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/Speed.java b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/Speed.java
index a8944893e70..46d505e84e0 100755
--- a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/Speed.java
+++ b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/Speed.java
@@ -2,6 +2,7 @@ package com.sap.sailing.domain.common;
import java.io.Serializable;
+import com.sap.sse.common.TimePoint;
import com.sap.sse.datamining.shared.Unit;
import com.sap.sse.datamining.shared.annotations.Statistic;
diff --git a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/SpeedWithBearing.java b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/SpeedWithBearing.java
index 1d77e1c5df6..afda577f31a 100755
--- a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/SpeedWithBearing.java
+++ b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/SpeedWithBearing.java
@@ -1,5 +1,7 @@
package com.sap.sailing.domain.common;
+import com.sap.sse.common.TimePoint;
+
public interface SpeedWithBearing extends Speed {
diff --git a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/TimeRange.java b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/TimeRange.java
index 600474436a5..d79a0905a9e 100644
--- a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/TimeRange.java
+++ b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/TimeRange.java
@@ -2,6 +2,9 @@ package com.sap.sailing.domain.common;
import java.io.Serializable;
+import com.sap.sse.common.Duration;
+import com.sap.sse.common.TimePoint;
+
public interface TimeRange extends Comparable
diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/impl/AbstractLogEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/impl/AbstractLogEventImpl.java
index c3be178f6bd..d6e50866d1c 100644
--- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/impl/AbstractLogEventImpl.java
+++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/impl/AbstractLogEventImpl.java
@@ -4,7 +4,7 @@ import java.io.Serializable;
import com.sap.sailing.domain.abstractlog.AbstractLogEvent;
import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor;
-import com.sap.sailing.domain.common.TimePoint;
+import com.sap.sse.common.TimePoint;
public abstract class AbstractLogEventImpl
@@ -15,7 +16,7 @@ import com.sap.sailing.domain.common.configuration.DeviceConfigurationMatcherTyp
* The rank (see {@link DeviceConfigurationMatcher#getMatchingRank()}) is used as a priority when multiple matchers
* are matching a {@link DeviceConfigurationIdentifier} (see also {@link DeviceConfigurationMapImpl}) (lower wins).
+ *
+ * Note: In order to allow the deserialization process to find all the classes required, it is a good idea to
+ * {@link Thread#setContextClassLoader(ClassLoader) set the context class loader} on the
+ * {@link Thread#currentThread() current thread} to one that can see and resolve all the classes that have instances
+ * in the stream. Example:
- *
- * Create an instance of this class using
- * {@link DomainFactory#createObjectInputStreamResolvingAgainstThisFactory(InputStream)}.
- *
- * @author Axel Uhl (D043530)
- *
- */
-public abstract class ObjectInputStreamResolvingAgainstDomainFactory extends ObjectInputStream implements HasDomainFactory {
- private final DomainFactory domainFactory;
-
- /**
- * Package protected on purpose; instances to be created using
- * {@link DomainFactory#createObjectInputStreamResolvingAgainstThisFactory(InputStream)}. This constructor
- * {@link #enableResolveObject(boolean) enables resolving} by default.
- */
- protected ObjectInputStreamResolvingAgainstDomainFactory(InputStream in, DomainFactory domainFactory) throws IOException {
- super(in);
- this.domainFactory = domainFactory;
- enableResolveObject(true);
- }
-
- @Override
- public DomainFactory getDomainFactory() {
- return domainFactory;
- }
-
- @Override
- protected Class> resolveClass(ObjectStreamClass classDesc) throws IOException, ClassNotFoundException {
- String className = classDesc.getName();
- // see http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6554519
- // If using loadClass(...) on the class loader directly, an exception is thrown:
- // StreamCorruptedException: invalid type code 00
- return Class.forName(className, /* initialize */ true, Thread.currentThread().getContextClassLoader());
- }
-
- @Override
- protected Object resolveObject(Object o) {
- Object result;
- if (o instanceof IsManagedBySharedDomainFactory) {
- result = ((IsManagedBySharedDomainFactory) o).resolve(getDomainFactory());
- } else {
- result = o;
- }
- return result;
- }
-}
diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/RaceDefinition.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/RaceDefinition.java
index 40e7bddd570..eda3492c879 100755
--- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/RaceDefinition.java
+++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/RaceDefinition.java
@@ -2,8 +2,8 @@ package com.sap.sailing.domain.base;
import java.io.Serializable;
-import com.sap.sailing.domain.common.WithID;
import com.sap.sse.common.Named;
+import com.sap.sse.common.WithID;
/**
* Tells the {@link BoatClass boat class} and the {@link Course course} for a single race that is usually part of a
diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Regatta.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Regatta.java
index 449bd68b010..fd16747d261 100755
--- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Regatta.java
+++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Regatta.java
@@ -3,11 +3,11 @@ package com.sap.sailing.domain.base;
import com.sap.sailing.domain.base.configuration.RegattaConfiguration;
import com.sap.sailing.domain.common.RegattaAndRaceIdentifier;
import com.sap.sailing.domain.common.RegattaIdentifier;
-import com.sap.sailing.domain.common.WithID;
import com.sap.sailing.domain.leaderboard.ScoringScheme;
import com.sap.sailing.domain.tracking.TrackedRace;
import com.sap.sailing.domain.tracking.TrackedRegatta;
import com.sap.sse.common.Named;
+import com.sap.sse.common.WithID;
/**
* The name shall be unique across all regattas tracked concurrently. In particular, if you want to
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 69356fe5bc5..898f9a24e6f 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
@@ -13,7 +13,6 @@ import com.sap.sailing.domain.base.CompetitorStore;
import com.sap.sailing.domain.base.DomainFactory;
import com.sap.sailing.domain.base.Fleet;
import com.sap.sailing.domain.base.Mark;
-import com.sap.sailing.domain.base.ObjectInputStreamResolvingAgainstDomainFactory;
import com.sap.sailing.domain.base.RaceColumn;
import com.sap.sailing.domain.base.RaceDefinition;
import com.sap.sailing.domain.base.Waypoint;
@@ -23,7 +22,6 @@ import com.sap.sailing.domain.common.Placemark;
import com.sap.sailing.domain.common.Position;
import com.sap.sailing.domain.common.RegattaAndRaceIdentifier;
import com.sap.sailing.domain.common.ScoringSchemeType;
-import com.sap.sailing.domain.common.TimePoint;
import com.sap.sailing.domain.common.WindSourceType;
import com.sap.sailing.domain.common.dto.CompetitorDTO;
import com.sap.sailing.domain.common.dto.FleetDTO;
@@ -34,7 +32,6 @@ import com.sap.sailing.domain.common.dto.RaceDTO;
import com.sap.sailing.domain.common.dto.RaceStatusDTO;
import com.sap.sailing.domain.common.dto.TrackedRaceDTO;
import com.sap.sailing.domain.common.dto.TrackedRaceStatisticsDTO;
-import com.sap.sailing.domain.common.impl.MillisecondsTimePoint;
import com.sap.sailing.domain.common.media.MediaTrack;
import com.sap.sailing.domain.leaderboard.Leaderboard;
import com.sap.sailing.domain.leaderboard.ScoringScheme;
@@ -60,7 +57,10 @@ import com.sap.sailing.domain.tracking.TrackedRegattaRegistry;
import com.sap.sailing.domain.tracking.impl.MarkPassingImpl;
import com.sap.sailing.domain.tracking.impl.TrackedRaceImpl;
import com.sap.sailing.geocoding.ReverseGeocoder;
+import com.sap.sse.common.TimePoint;
import com.sap.sse.common.Util;
+import com.sap.sse.common.impl.MillisecondsTimePoint;
+import com.sap.sse.replication.impl.ObjectInputStreamResolvingAgainstCache;
public class DomainFactoryImpl extends SharedDomainFactoryImpl implements DomainFactory {
private static Logger logger = Logger.getLogger(DomainFactoryImpl.class.getName());
@@ -82,7 +82,7 @@ public class DomainFactoryImpl extends SharedDomainFactoryImpl implements Domain
}
@Override
- public ObjectInputStreamResolvingAgainstDomainFactory createObjectInputStreamResolvingAgainstThisFactory(InputStream inputStream) throws IOException {
+ public ObjectInputStreamResolvingAgainstCache
diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/LeaderboardCacheManager.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/LeaderboardCacheManager.java
index d9df5650770..93fa4dacce7 100755
--- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/LeaderboardCacheManager.java
+++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/LeaderboardCacheManager.java
@@ -11,25 +11,17 @@ import com.sap.sailing.domain.abstractlog.race.RaceLogEvent;
import com.sap.sailing.domain.base.Competitor;
import com.sap.sailing.domain.base.CompetitorChangeListener;
import com.sap.sailing.domain.base.Fleet;
-import com.sap.sailing.domain.base.Mark;
import com.sap.sailing.domain.base.Nationality;
import com.sap.sailing.domain.base.RaceColumn;
import com.sap.sailing.domain.base.RaceColumnListener;
-import com.sap.sailing.domain.base.Waypoint;
import com.sap.sailing.domain.base.WithNationality;
import com.sap.sailing.domain.common.Color;
import com.sap.sailing.domain.common.MaxPointsReason;
-import com.sap.sailing.domain.common.TimePoint;
-import com.sap.sailing.domain.common.WindSource;
import com.sap.sailing.domain.leaderboard.caching.LeaderboardCache;
import com.sap.sailing.domain.racelog.RaceLogIdentifier;
-import com.sap.sailing.domain.tracking.GPSFix;
-import com.sap.sailing.domain.tracking.GPSFixMoving;
-import com.sap.sailing.domain.tracking.MarkPassing;
import com.sap.sailing.domain.tracking.RaceChangeListener;
import com.sap.sailing.domain.tracking.TrackedRace;
-import com.sap.sailing.domain.tracking.TrackedRaceStatus;
-import com.sap.sailing.domain.tracking.Wind;
+import com.sap.sailing.domain.tracking.impl.AbstractRaceChangeListener;
import com.sap.sailing.util.impl.ConcurrentWeakHashMap;
import com.sap.sailing.util.impl.LockUtil;
import com.sap.sailing.util.impl.NamedReentrantReadWriteLock;
@@ -50,7 +42,7 @@ public class LeaderboardCacheManager {
private final ConcurrentWeakHashMap
diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/NoCachingWindLegTypeAndLegBearingCache.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/NoCachingWindLegTypeAndLegBearingCache.java
index db8e22865fd..0e353696763 100755
--- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/NoCachingWindLegTypeAndLegBearingCache.java
+++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/NoCachingWindLegTypeAndLegBearingCache.java
@@ -4,11 +4,11 @@ import com.sap.sailing.domain.base.Competitor;
import com.sap.sailing.domain.common.Bearing;
import com.sap.sailing.domain.common.LegType;
import com.sap.sailing.domain.common.NoWindException;
-import com.sap.sailing.domain.common.TimePoint;
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.domain.tracking.WindLegTypeAndLegBearingCache;
+import com.sap.sse.common.TimePoint;
/**
* This trivial "cache" implementation doesn't cache and may be used as a default for those cases where only few
diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/RaceRankComparator.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/RaceRankComparator.java
index eff98aa1050..4f9e4e554f2 100755
--- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/RaceRankComparator.java
+++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/RaceRankComparator.java
@@ -10,12 +10,12 @@ import java.util.SortedSet;
import com.sap.sailing.domain.base.Competitor;
import com.sap.sailing.domain.common.Distance;
import com.sap.sailing.domain.common.NoWindException;
-import com.sap.sailing.domain.common.TimePoint;
import com.sap.sailing.domain.leaderboard.caching.LeaderboardDTOCalculationReuseCache;
import com.sap.sailing.domain.tracking.MarkPassing;
import com.sap.sailing.domain.tracking.TrackedLegOfCompetitor;
import com.sap.sailing.domain.tracking.TrackedRace;
import com.sap.sailing.domain.tracking.WindPositionMode;
+import com.sap.sse.common.TimePoint;
/**
* Compares two competitors by their ranking in the overall race for a given time point. Competitors who haven't started
diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/ScalableWind.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/ScalableWind.java
index c9611e5c0c3..bd8efce45b0 100755
--- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/ScalableWind.java
+++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/ScalableWind.java
@@ -2,11 +2,11 @@ package com.sap.sailing.domain.tracking.impl;
import com.sap.sailing.domain.common.AbstractPosition;
import com.sap.sailing.domain.common.Position;
-import com.sap.sailing.domain.common.impl.MillisecondsTimePoint;
import com.sap.sailing.domain.common.scalablevalue.ScalableValue;
import com.sap.sailing.domain.common.scalablevalue.impl.ScalablePosition;
import com.sap.sailing.domain.common.scalablevalue.impl.ScalableSpeedWithBearing;
import com.sap.sailing.domain.tracking.Wind;
+import com.sap.sse.common.impl.MillisecondsTimePoint;
/**
* Wind values are scaled by separately scaling their speed and bearing, and separately scaling their time point, and
diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/ShortTimeWindCache.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/ShortTimeWindCache.java
index 21e12985a66..ca115d83d22 100755
--- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/ShortTimeWindCache.java
+++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/ShortTimeWindCache.java
@@ -9,9 +9,9 @@ import java.util.logging.Level;
import java.util.logging.Logger;
import com.sap.sailing.domain.common.Position;
-import com.sap.sailing.domain.common.TimePoint;
import com.sap.sailing.domain.common.WindSource;
import com.sap.sailing.domain.tracking.WindWithConfidence;
+import com.sap.sse.common.TimePoint;
import com.sap.sse.common.Util.Pair;
import com.sap.sse.common.Util.Triple;
diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackBasedEstimationWindTrackImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackBasedEstimationWindTrackImpl.java
index c2f4f47f4e8..d1936011d72 100755
--- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackBasedEstimationWindTrackImpl.java
+++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackBasedEstimationWindTrackImpl.java
@@ -18,21 +18,16 @@ import com.sap.sailing.domain.base.Mark;
import com.sap.sailing.domain.base.Waypoint;
import com.sap.sailing.domain.common.Position;
import com.sap.sailing.domain.common.SpeedWithBearing;
-import com.sap.sailing.domain.common.TimePoint;
import com.sap.sailing.domain.common.TrackedRaceStatusEnum;
import com.sap.sailing.domain.common.WindSource;
import com.sap.sailing.domain.common.WindSourceType;
import com.sap.sailing.domain.common.confidence.Weigher;
import com.sap.sailing.domain.common.confidence.impl.PositionAndTimePointWeigher;
-import com.sap.sailing.domain.common.impl.AbstractTimePoint;
import com.sap.sailing.domain.common.impl.DegreeBearingImpl;
import com.sap.sailing.domain.common.impl.KnotSpeedWithBearingImpl;
-import com.sap.sailing.domain.common.impl.MillisecondsTimePoint;
-import com.sap.sailing.domain.common.impl.SerializableComparator;
import com.sap.sailing.domain.tracking.GPSFix;
import com.sap.sailing.domain.tracking.GPSFixMoving;
import com.sap.sailing.domain.tracking.MarkPassing;
-import com.sap.sailing.domain.tracking.RaceChangeListener;
import com.sap.sailing.domain.tracking.TrackedRace;
import com.sap.sailing.domain.tracking.TrackedRaceStatus;
import com.sap.sailing.domain.tracking.Wind;
@@ -41,8 +36,12 @@ import com.sap.sailing.domain.tracking.WindWithConfidence;
import com.sap.sailing.util.impl.ArrayListNavigableSet;
import com.sap.sailing.util.impl.LockUtil;
import com.sap.sailing.util.impl.NamedReentrantReadWriteLock;
+import com.sap.sse.common.TimePoint;
import com.sap.sse.common.Util;
import com.sap.sse.common.Util.Pair;
+import com.sap.sse.common.impl.AbstractTimePoint;
+import com.sap.sse.common.impl.MillisecondsTimePoint;
+import com.sap.sse.common.impl.SerializableComparator;
/**
* A virtual wind track that computes and caches the wind bearing based on the boat tracks recorded in the tracked race
@@ -74,7 +73,7 @@ import com.sap.sse.common.Util.Pair;
* @author Axel Uhl (d043530)
*
*/
-public class TrackBasedEstimationWindTrackImpl extends VirtualWindTrackImpl implements RaceChangeListener {
+public class TrackBasedEstimationWindTrackImpl extends VirtualWindTrackImpl {
private static final long serialVersionUID = -4397496421917807499L;
private static final SpeedWithBearing defaultSpeedWithBearing = new KnotSpeedWithBearingImpl(0, new DegreeBearingImpl(0));
@@ -222,6 +221,8 @@ public class TrackBasedEstimationWindTrackImpl extends VirtualWindTrackImpl impl
*/
private final InvalidationInterval scheduledRefreshInterval;
+ private final CacheInvalidationRaceChangeListener listener;
+
/**
* @param delayForCacheInvalidationInMilliseconds
* When mark and boat position changes are received, they cause the cache to be invalidated a certain
@@ -257,7 +258,8 @@ public class TrackBasedEstimationWindTrackImpl extends VirtualWindTrackImpl impl
virtualInternalRawFixes = new EstimatedWindFixesAsNavigableSet(trackedRace);
weigher = new PositionAndTimePointWeigher(
/* halfConfidenceAfterMilliseconds */WindTrack.WIND_HALF_CONFIDENCE_TIME_MILLIS, WindTrack.WIND_HALF_CONFIDENCE_DISTANCE);
- trackedRace.addListener(this); // in particular, race status changes will be notified, unblocking waiting computations after LOADING phase
+ listener = new CacheInvalidationRaceChangeListener();
+ trackedRace.addListener(listener); // in particular, race status changes will be notified, unblocking waiting computations after LOADING phase
this.timePointsWithCachedNullResult = new ArrayListNavigableSet Sailing Analytics Abstract base class for unit tests with Selenium. This class is already annotated as required to get executed
@@ -89,7 +88,7 @@ public abstract class AbstractSeleniumTest {
public void setUpAuthenticatedSession() {
logger.info("Authenticating session...");
Cookie sessionCookie = authenticate(getContextRoot());
- getWebDriver().get(getContextRoot() + "security/ui/Login.html?" + HostPage.getGWTCodeServer()); // initialize web driver so setting a cookie for the local domain is possible
+ getWebDriver().get(getContextRoot() + "index.html"); // initialize web driver so setting a cookie for the local domain is possible
getWebDriver().manage().addCookie(sessionCookie);
logger.info("...obtained session cookie "+sessionCookie);
}
diff --git a/java/com.sap.sailing.server.gateway.ess40/META-INF/MANIFEST.MF b/java/com.sap.sailing.server.gateway.ess40/META-INF/MANIFEST.MF
index a50950ece8b..b94ba1f61af 100644
--- a/java/com.sap.sailing.server.gateway.ess40/META-INF/MANIFEST.MF
+++ b/java/com.sap.sailing.server.gateway.ess40/META-INF/MANIFEST.MF
@@ -17,6 +17,8 @@ Require-Bundle: com.sap.sailing.domain,
javax.servlet;bundle-version="2.6.0",
com.sap.sailing.domain.common,
com.sap.sailing.server.gateway,
- com.sap.sse.common
+ com.sap.sse.common,
+ com.sap.sse.replication,
+ com.sap.sse
Bundle-ClassPath: .
Web-ContextPath: /gateway-ess40
diff --git a/java/com.sap.sailing.server.gateway.ess40/src/com/sap/sailing/server/gateway/ess40/ESS40ResultsAsCSVServlet.java b/java/com.sap.sailing.server.gateway.ess40/src/com/sap/sailing/server/gateway/ess40/ESS40ResultsAsCSVServlet.java
index d8b34af2103..64cab6d02c9 100644
--- a/java/com.sap.sailing.server.gateway.ess40/src/com/sap/sailing/server/gateway/ess40/ESS40ResultsAsCSVServlet.java
+++ b/java/com.sap.sailing.server.gateway.ess40/src/com/sap/sailing/server/gateway/ess40/ESS40ResultsAsCSVServlet.java
@@ -18,11 +18,11 @@ import javax.servlet.http.HttpServletResponse;
import com.sap.sailing.domain.base.Competitor;
import com.sap.sailing.domain.base.RaceColumn;
import com.sap.sailing.domain.common.MaxPointsReason;
-import com.sap.sailing.domain.common.TimePoint;
-import com.sap.sailing.domain.common.impl.MillisecondsTimePoint;
import com.sap.sailing.domain.leaderboard.Leaderboard;
import com.sap.sailing.server.RacingEventService;
import com.sap.sailing.server.gateway.AbstractCSVHttpServlet;
+import com.sap.sse.common.TimePoint;
+import com.sap.sse.common.impl.MillisecondsTimePoint;
/**
* Exports leaderboards of the ESS40 Series to a specific .csv format which is used by a native iOS app to show them.
diff --git a/java/com.sap.sailing.server.gateway.serialization.test/src/com/sap/sailing/server/gateway/serialization/test/EventDataJsonSerializerTest.java b/java/com.sap.sailing.server.gateway.serialization.test/src/com/sap/sailing/server/gateway/serialization/test/EventDataJsonSerializerTest.java
index da407f47f20..9351a3dcd5b 100755
--- a/java/com.sap.sailing.server.gateway.serialization.test/src/com/sap/sailing/server/gateway/serialization/test/EventDataJsonSerializerTest.java
+++ b/java/com.sap.sailing.server.gateway.serialization.test/src/com/sap/sailing/server/gateway/serialization/test/EventDataJsonSerializerTest.java
@@ -19,8 +19,6 @@ import com.sap.sailing.domain.base.DomainFactory;
import com.sap.sailing.domain.base.EventBase;
import com.sap.sailing.domain.base.Venue;
import com.sap.sailing.domain.base.impl.VenueImpl;
-import com.sap.sailing.domain.common.TimePoint;
-import com.sap.sailing.domain.common.impl.MillisecondsTimePoint;
import com.sap.sailing.domain.leaderboard.LeaderboardGroup;
import com.sap.sailing.server.gateway.deserialization.JsonDeserializationException;
import com.sap.sailing.server.gateway.deserialization.impl.CourseAreaJsonDeserializer;
@@ -32,6 +30,8 @@ import com.sap.sailing.server.gateway.serialization.impl.CourseAreaJsonSerialize
import com.sap.sailing.server.gateway.serialization.impl.EventBaseJsonSerializer;
import com.sap.sailing.server.gateway.serialization.impl.LeaderboardGroupBaseJsonSerializer;
import com.sap.sailing.server.gateway.serialization.impl.VenueJsonSerializer;
+import com.sap.sse.common.TimePoint;
+import com.sap.sse.common.impl.MillisecondsTimePoint;
public class EventDataJsonSerializerTest {
protected final UUID expectedId = UUID.randomUUID();
diff --git a/java/com.sap.sailing.server.gateway.serialization.test/src/com/sap/sailing/server/gateway/serialization/test/EventDataJsonSerializerWithNullValuesTest.java b/java/com.sap.sailing.server.gateway.serialization.test/src/com/sap/sailing/server/gateway/serialization/test/EventDataJsonSerializerWithNullValuesTest.java
index fe4d370ec18..3bee26cc81a 100755
--- a/java/com.sap.sailing.server.gateway.serialization.test/src/com/sap/sailing/server/gateway/serialization/test/EventDataJsonSerializerWithNullValuesTest.java
+++ b/java/com.sap.sailing.server.gateway.serialization.test/src/com/sap/sailing/server/gateway/serialization/test/EventDataJsonSerializerWithNullValuesTest.java
@@ -19,8 +19,6 @@ import com.sap.sailing.domain.base.DomainFactory;
import com.sap.sailing.domain.base.EventBase;
import com.sap.sailing.domain.base.Venue;
import com.sap.sailing.domain.base.impl.VenueImpl;
-import com.sap.sailing.domain.common.TimePoint;
-import com.sap.sailing.domain.common.impl.MillisecondsTimePoint;
import com.sap.sailing.domain.leaderboard.LeaderboardGroup;
import com.sap.sailing.server.gateway.deserialization.JsonDeserializationException;
import com.sap.sailing.server.gateway.deserialization.impl.CourseAreaJsonDeserializer;
@@ -32,6 +30,8 @@ import com.sap.sailing.server.gateway.serialization.impl.CourseAreaJsonSerialize
import com.sap.sailing.server.gateway.serialization.impl.EventBaseJsonSerializer;
import com.sap.sailing.server.gateway.serialization.impl.LeaderboardGroupBaseJsonSerializer;
import com.sap.sailing.server.gateway.serialization.impl.VenueJsonSerializer;
+import com.sap.sse.common.TimePoint;
+import com.sap.sse.common.impl.MillisecondsTimePoint;
public class EventDataJsonSerializerWithNullValuesTest {
protected final UUID expectedId = UUID.randomUUID();
diff --git a/java/com.sap.sailing.server.gateway.serialization.test/src/com/sap/sailing/server/gateway/serialization/test/EventWithNullStartAndEndDataJsonSerializerTest.java b/java/com.sap.sailing.server.gateway.serialization.test/src/com/sap/sailing/server/gateway/serialization/test/EventWithNullStartAndEndDataJsonSerializerTest.java
index 8686bccb3fb..ddfc72afdf7 100755
--- a/java/com.sap.sailing.server.gateway.serialization.test/src/com/sap/sailing/server/gateway/serialization/test/EventWithNullStartAndEndDataJsonSerializerTest.java
+++ b/java/com.sap.sailing.server.gateway.serialization.test/src/com/sap/sailing/server/gateway/serialization/test/EventWithNullStartAndEndDataJsonSerializerTest.java
@@ -20,7 +20,6 @@ import com.sap.sailing.domain.base.EventBase;
import com.sap.sailing.domain.base.LeaderboardGroupBase;
import com.sap.sailing.domain.base.Venue;
import com.sap.sailing.domain.base.impl.VenueImpl;
-import com.sap.sailing.domain.common.TimePoint;
import com.sap.sailing.server.gateway.deserialization.JsonDeserializationException;
import com.sap.sailing.server.gateway.deserialization.impl.CourseAreaJsonDeserializer;
import com.sap.sailing.server.gateway.deserialization.impl.EventBaseJsonDeserializer;
@@ -31,6 +30,7 @@ import com.sap.sailing.server.gateway.serialization.impl.CourseAreaJsonSerialize
import com.sap.sailing.server.gateway.serialization.impl.EventBaseJsonSerializer;
import com.sap.sailing.server.gateway.serialization.impl.LeaderboardGroupBaseJsonSerializer;
import com.sap.sailing.server.gateway.serialization.impl.VenueJsonSerializer;
+import com.sap.sse.common.TimePoint;
public class EventWithNullStartAndEndDataJsonSerializerTest {
diff --git a/java/com.sap.sailing.server.gateway.serialization.test/src/com/sap/sailing/server/gateway/serialization/test/racelog/AbstractEventSerializerTest.java b/java/com.sap.sailing.server.gateway.serialization.test/src/com/sap/sailing/server/gateway/serialization/test/racelog/AbstractEventSerializerTest.java
index a09d4fe6b56..81b381d352a 100644
--- a/java/com.sap.sailing.server.gateway.serialization.test/src/com/sap/sailing/server/gateway/serialization/test/racelog/AbstractEventSerializerTest.java
+++ b/java/com.sap.sailing.server.gateway.serialization.test/src/com/sap/sailing/server/gateway/serialization/test/racelog/AbstractEventSerializerTest.java
@@ -17,9 +17,9 @@ import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor;
import com.sap.sailing.domain.abstractlog.race.RaceLogEvent;
import com.sap.sailing.domain.abstractlog.race.impl.RaceLogEventAuthorImpl;
import com.sap.sailing.domain.base.Competitor;
-import com.sap.sailing.domain.common.TimePoint;
import com.sap.sailing.server.gateway.serialization.JsonSerializer;
import com.sap.sailing.server.gateway.serialization.racelog.impl.BaseRaceLogEventSerializer;
+import com.sap.sse.common.TimePoint;
public abstract class AbstractEventSerializerTestItemType. It allows clients to ask for a value
diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/tracking/impl/TrackImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/tracking/impl/TrackImpl.java
index 88e4e1d968d..6fc368cdcdc 100644
--- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/tracking/impl/TrackImpl.java
+++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/tracking/impl/TrackImpl.java
@@ -7,13 +7,13 @@ import java.util.Iterator;
import java.util.NavigableSet;
import com.sap.sailing.domain.base.Timed;
-import com.sap.sailing.domain.common.Duration;
-import com.sap.sailing.domain.common.TimePoint;
import com.sap.sailing.domain.tracking.Track;
import com.sap.sailing.util.impl.ArrayListNavigableSet;
import com.sap.sailing.util.impl.LockUtil;
import com.sap.sailing.util.impl.NamedReentrantReadWriteLock;
import com.sap.sailing.util.impl.UnmodifiableNavigableSet;
+import com.sap.sse.common.Duration;
+import com.sap.sse.common.TimePoint;
public class TrackImpl
+ * ClassLoader oldContextClassLoader = Thread.currentThread().getContextClassLoader();
+ * Thread.currentThread().setContextClassLoader(TopLevelMasterData.class.getClassLoader());
+ * Object o = domainFactory.createObjectInputStreamResolvingAgainstThisFactory(inputStream).readObject();
+ * Thread.currentThread().setContextClassLoader(oldContextClassLoader);
+ *
*/
- ObjectInputStreamResolvingAgainstDomainFactory createObjectInputStreamResolvingAgainstThisFactory(InputStream inputStream) throws IOException;
+ ObjectInputStreamResolvingAgainstCacherace hasn't {@link TrackedRace#hasStarted(TimePoint) started} yet
* or no {@link TrackedRace} exists for race, 0 will be returned for all those competitors. The tracked
* race for the correct {@link Fleet} is determined using {@link RaceColumn#getTrackedRace(Competitor)}.i results if the number of races started is greater or equal to
diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/meta/AbstractMetaLeaderboard.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/meta/AbstractMetaLeaderboard.java
index dba8eb2aeb1..5da296d39de 100755
--- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/meta/AbstractMetaLeaderboard.java
+++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/meta/AbstractMetaLeaderboard.java
@@ -18,7 +18,6 @@ import com.sap.sailing.domain.base.RaceColumn;
import com.sap.sailing.domain.base.impl.FleetImpl;
import com.sap.sailing.domain.common.MaxPointsReason;
import com.sap.sailing.domain.common.NoWindException;
-import com.sap.sailing.domain.common.TimePoint;
import com.sap.sailing.domain.leaderboard.Leaderboard;
import com.sap.sailing.domain.leaderboard.MetaLeaderboard;
import com.sap.sailing.domain.leaderboard.ScoreCorrectionListener;
@@ -27,6 +26,7 @@ import com.sap.sailing.domain.leaderboard.SettableScoreCorrection;
import com.sap.sailing.domain.leaderboard.ThresholdBasedResultDiscardingRule;
import com.sap.sailing.domain.leaderboard.impl.AbstractSimpleLeaderboardImpl;
import com.sap.sailing.domain.tracking.TrackedRace;
+import com.sap.sse.common.TimePoint;
import com.sap.sse.common.Util;
/**
diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/meta/MetaLeaderboardScoreCorrection.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/meta/MetaLeaderboardScoreCorrection.java
index 4e1e4cd2a94..11206d8011e 100755
--- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/meta/MetaLeaderboardScoreCorrection.java
+++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/meta/MetaLeaderboardScoreCorrection.java
@@ -3,11 +3,11 @@ package com.sap.sailing.domain.leaderboard.meta;
import com.sap.sailing.domain.base.Competitor;
import com.sap.sailing.domain.base.RaceColumn;
import com.sap.sailing.domain.common.MaxPointsReason;
-import com.sap.sailing.domain.common.TimePoint;
import com.sap.sailing.domain.leaderboard.Leaderboard;
import com.sap.sailing.domain.leaderboard.MetaLeaderboard;
import com.sap.sailing.domain.leaderboard.NumberOfCompetitorsInLeaderboardFetcher;
import com.sap.sailing.domain.leaderboard.impl.ScoreCorrectionImpl;
+import com.sap.sse.common.TimePoint;
import com.sap.sse.common.Util;
public class MetaLeaderboardScoreCorrection extends ScoreCorrectionImpl {
diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/Candidate.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/Candidate.java
index 041869b02c6..8e6dd45374e 100755
--- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/Candidate.java
+++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/Candidate.java
@@ -1,7 +1,7 @@
package com.sap.sailing.domain.markpassingcalculation;
import com.sap.sailing.domain.base.Waypoint;
-import com.sap.sailing.domain.common.TimePoint;
+import com.sap.sse.common.TimePoint;
/**
* A possible passing of a {@link Waypoint}. It contains the {@link Waypoint} that it might be passing, a
diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/CandidateChooser.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/CandidateChooser.java
index 261a20eccfa..97318ab4b97 100755
--- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/CandidateChooser.java
+++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/CandidateChooser.java
@@ -14,12 +14,12 @@ import com.sap.sailing.domain.base.Waypoint;
import com.sap.sailing.domain.common.Distance;
import com.sap.sailing.domain.common.LegType;
import com.sap.sailing.domain.common.NoWindException;
-import com.sap.sailing.domain.common.TimePoint;
import com.sap.sailing.domain.common.impl.MeterDistance;
import com.sap.sailing.domain.tracking.DynamicTrackedRace;
import com.sap.sailing.domain.tracking.MarkPassing;
import com.sap.sailing.domain.tracking.TrackedLeg;
import com.sap.sailing.domain.tracking.impl.MarkPassingImpl;
+import com.sap.sse.common.TimePoint;
import com.sap.sse.common.Util;
/**
diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/CandidateFinder.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/CandidateFinder.java
index a6a31d751f9..75814996290 100755
--- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/CandidateFinder.java
+++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/CandidateFinder.java
@@ -19,11 +19,11 @@ import com.sap.sailing.domain.common.Bearing;
import com.sap.sailing.domain.common.Distance;
import com.sap.sailing.domain.common.PassingInstruction;
import com.sap.sailing.domain.common.Position;
-import com.sap.sailing.domain.common.TimePoint;
import com.sap.sailing.domain.common.impl.DegreeBearingImpl;
import com.sap.sailing.domain.common.impl.MeterDistance;
import com.sap.sailing.domain.tracking.DynamicTrackedRace;
import com.sap.sailing.domain.tracking.GPSFix;
+import com.sap.sse.common.TimePoint;
import com.sap.sse.common.Util;
/**
diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/MarkPassingCalculator.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/MarkPassingCalculator.java
index e91b39f0f37..84db016bb74 100755
--- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/MarkPassingCalculator.java
+++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/MarkPassingCalculator.java
@@ -23,8 +23,8 @@ import com.sap.sailing.domain.base.Waypoint;
import com.sap.sailing.domain.tracking.DynamicTrackedRace;
import com.sap.sailing.domain.tracking.GPSFix;
import com.sap.sailing.domain.tracking.MarkPassing;
-import com.sap.sailing.util.impl.ThreadFactoryWithPriority;
import com.sap.sse.common.Util;
+import com.sap.sse.util.impl.ThreadFactoryWithPriority;
/**
* Calculates the {@link MarkPassing}s for a {@link DynamicTrackedRace} using a {@link AbstractCandidateFinder} and a
diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/polarsheets/PerRaceAndCompetitorPolarSheetGenerationWorker.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/polarsheets/PerRaceAndCompetitorPolarSheetGenerationWorker.java
index 6c7270f181c..9b3fefc6072 100644
--- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/polarsheets/PerRaceAndCompetitorPolarSheetGenerationWorker.java
+++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/polarsheets/PerRaceAndCompetitorPolarSheetGenerationWorker.java
@@ -11,7 +11,6 @@ import java.util.Set;
import com.sap.sailing.domain.base.Competitor;
import com.sap.sailing.domain.common.PolarSheetGenerationSettings;
import com.sap.sailing.domain.common.Position;
-import com.sap.sailing.domain.common.TimePoint;
import com.sap.sailing.domain.common.WindSource;
import com.sap.sailing.domain.common.WindSourceType;
import com.sap.sailing.domain.tracking.GPSFixMoving;
@@ -19,6 +18,7 @@ import com.sap.sailing.domain.tracking.GPSFixTrack;
import com.sap.sailing.domain.tracking.MarkPassing;
import com.sap.sailing.domain.tracking.TrackedRace;
import com.sap.sailing.domain.tracking.WindWithConfidence;
+import com.sap.sse.common.TimePoint;
import com.sap.sse.common.Util;
/**
diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/polarsheets/PolarFix.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/polarsheets/PolarFix.java
index 2cd6b47d21f..dd9fa06a434 100644
--- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/polarsheets/PolarFix.java
+++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/polarsheets/PolarFix.java
@@ -10,13 +10,13 @@ import com.sap.sailing.domain.common.PolarSheetGenerationSettings;
import com.sap.sailing.domain.common.Position;
import com.sap.sailing.domain.common.Speed;
import com.sap.sailing.domain.common.SpeedWithBearing;
-import com.sap.sailing.domain.common.TimePoint;
import com.sap.sailing.domain.common.WindSource;
import com.sap.sailing.domain.common.WindSourceType;
import com.sap.sailing.domain.tracking.GPSFixMoving;
import com.sap.sailing.domain.tracking.GPSFixTrack;
import com.sap.sailing.domain.tracking.TrackedRace;
import com.sap.sailing.domain.tracking.Wind;
+import com.sap.sse.common.TimePoint;
public class PolarFix {
diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/polarsheets/PolarSheetGenerationWorker.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/polarsheets/PolarSheetGenerationWorker.java
index 512ec0c81c0..8d56adaf30c 100644
--- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/polarsheets/PolarSheetGenerationWorker.java
+++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/polarsheets/PolarSheetGenerationWorker.java
@@ -19,10 +19,10 @@ import com.sap.sailing.domain.common.PolarSheetGenerationSettings;
import com.sap.sailing.domain.common.PolarSheetsData;
import com.sap.sailing.domain.common.PolarSheetsHistogramData;
import com.sap.sailing.domain.common.Speed;
-import com.sap.sailing.domain.common.TimePoint;
import com.sap.sailing.domain.common.impl.PolarSheetsDataImpl;
import com.sap.sailing.domain.common.impl.WindSteppingWithMaxDistance;
import com.sap.sailing.domain.tracking.TrackedRace;
+import com.sap.sse.common.TimePoint;
/**
* Allows extracting data about average speed for each angle creating the foundation of polar-sheet generation. Tasks
diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/racelog/RaceStateOfSameDayHelper.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/racelog/RaceStateOfSameDayHelper.java
index c6a5d4f100e..30bcbf35bca 100644
--- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/racelog/RaceStateOfSameDayHelper.java
+++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/racelog/RaceStateOfSameDayHelper.java
@@ -3,7 +3,7 @@ package com.sap.sailing.domain.racelog;
import java.util.Calendar;
import java.util.Date;
-import com.sap.sailing.domain.common.TimePoint;
+import com.sap.sse.common.TimePoint;
public class RaceStateOfSameDayHelper {
diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/trackfiles/TrackFileImportDeviceIdentifier.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/trackfiles/TrackFileImportDeviceIdentifier.java
index c132f06b630..01e488a0564 100644
--- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/trackfiles/TrackFileImportDeviceIdentifier.java
+++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/trackfiles/TrackFileImportDeviceIdentifier.java
@@ -3,7 +3,7 @@ package com.sap.sailing.domain.trackfiles;
import java.util.UUID;
import com.sap.sailing.domain.abstractlog.race.tracking.DeviceIdentifier;
-import com.sap.sailing.domain.common.TimePoint;
+import com.sap.sse.common.TimePoint;
/**
* Identifies a device that generated fixes imported from a track file, such as a GPX file.
diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/trackfiles/TrackFileImportDeviceIdentifierImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/trackfiles/TrackFileImportDeviceIdentifierImpl.java
index b601611e416..e6d3ce02b18 100644
--- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/trackfiles/TrackFileImportDeviceIdentifierImpl.java
+++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/trackfiles/TrackFileImportDeviceIdentifierImpl.java
@@ -5,9 +5,9 @@ import java.util.UUID;
import java.util.concurrent.ConcurrentHashMap;
import com.sap.sailing.domain.abstractlog.race.tracking.DeviceIdentifier;
-import com.sap.sailing.domain.common.TimePoint;
-import com.sap.sailing.domain.common.impl.MillisecondsTimePoint;
import com.sap.sailing.domain.common.racelog.tracking.TransformationException;
+import com.sap.sse.common.TimePoint;
+import com.sap.sse.common.impl.MillisecondsTimePoint;
public class TrackFileImportDeviceIdentifierImpl implements TrackFileImportDeviceIdentifier {
private static final long serialVersionUID = 552465264341485161L;
diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/DynamicTrackedRace.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/DynamicTrackedRace.java
index 34e528415b5..0c13b707efa 100755
--- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/DynamicTrackedRace.java
+++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/DynamicTrackedRace.java
@@ -5,9 +5,9 @@ import com.sap.sailing.domain.base.CourseBase;
import com.sap.sailing.domain.base.Mark;
import com.sap.sailing.domain.base.Waypoint;
import com.sap.sailing.domain.common.Bearing;
-import com.sap.sailing.domain.common.TimePoint;
import com.sap.sailing.domain.common.WindSource;
import com.sap.sailing.domain.common.racelog.Flags;
+import com.sap.sse.common.TimePoint;
import com.sap.sse.common.Util;
public interface DynamicTrackedRace extends TrackedRace {
diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/GPSFixTrack.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/GPSFixTrack.java
index be51d2c670f..fc716b6cae2 100755
--- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/GPSFixTrack.java
+++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/GPSFixTrack.java
@@ -8,8 +8,8 @@ import com.sap.sailing.domain.common.Distance;
import com.sap.sailing.domain.common.Position;
import com.sap.sailing.domain.common.Speed;
import com.sap.sailing.domain.common.SpeedWithBearing;
-import com.sap.sailing.domain.common.TimePoint;
import com.sap.sailing.domain.common.confidence.Weigher;
+import com.sap.sse.common.TimePoint;
import com.sap.sse.common.Util;
/**
diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/LegBearingCache.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/LegBearingCache.java
index 40af8fb53c3..4ebcbf5f692 100755
--- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/LegBearingCache.java
+++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/LegBearingCache.java
@@ -1,7 +1,7 @@
package com.sap.sailing.domain.tracking;
import com.sap.sailing.domain.common.Bearing;
-import com.sap.sailing.domain.common.TimePoint;
+import com.sap.sse.common.TimePoint;
/**
* When comprehensive calculations are prone to query a leg's bearing several times for the same leg for
diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/LegTypeCache.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/LegTypeCache.java
index dc086b3fd31..b319af6d2c6 100755
--- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/LegTypeCache.java
+++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/LegTypeCache.java
@@ -2,7 +2,7 @@ package com.sap.sailing.domain.tracking;
import com.sap.sailing.domain.common.LegType;
import com.sap.sailing.domain.common.NoWindException;
-import com.sap.sailing.domain.common.TimePoint;
+import com.sap.sse.common.TimePoint;
/**
* When comprehensive calculations are prone to query the leg type several times for the same leg for the same time
diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/LineDetails.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/LineDetails.java
index 76bad215d50..8f10b68174b 100755
--- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/LineDetails.java
+++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/LineDetails.java
@@ -5,7 +5,7 @@ import com.sap.sailing.domain.base.Waypoint;
import com.sap.sailing.domain.common.Bearing;
import com.sap.sailing.domain.common.Distance;
import com.sap.sailing.domain.common.NauticalSide;
-import com.sap.sailing.domain.common.TimePoint;
+import com.sap.sse.common.TimePoint;
/**
* For a line such as a start or a finish line, tells the line's length at a given time, which side is
diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/RaceChangeListener.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/RaceChangeListener.java
index 5fe31595664..6dbefd5a3ca 100755
--- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/RaceChangeListener.java
+++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/RaceChangeListener.java
@@ -6,8 +6,8 @@ import com.sap.sailing.domain.base.Competitor;
import com.sap.sailing.domain.base.CourseListener;
import com.sap.sailing.domain.base.Mark;
import com.sap.sailing.domain.base.Waypoint;
-import com.sap.sailing.domain.common.TimePoint;
import com.sap.sailing.domain.common.WindSource;
+import com.sap.sse.common.TimePoint;
public interface RaceChangeListener extends CourseListener {
@@ -31,7 +31,11 @@ public interface RaceChangeListener extends CourseListener {
void windAveragingChanged(long oldMillisecondsOverWhichToAverage, long newMillisecondsOverWhichToAverage);
- void raceTimesChanged(TimePoint startOfTracking, TimePoint endOfTracking, TimePoint startTimeReceived);
+ void startOfTrackingChanged(TimePoint startOfTracking);
+
+ void endOfTrackingChanged(TimePoint endOfTracking);
+
+ void startTimeReceivedChanged(TimePoint startTimeReceived);
/**
* Fired when the {@link TrackedRace#getStartOfRace() start of race} time point has changed for the tracked race
diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/StartTimeChangedListener.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/StartTimeChangedListener.java
index 8f6d1542470..895aa71be57 100644
--- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/StartTimeChangedListener.java
+++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/StartTimeChangedListener.java
@@ -3,7 +3,7 @@ package com.sap.sailing.domain.tracking;
import java.io.IOException;
import java.net.MalformedURLException;
-import com.sap.sailing.domain.common.TimePoint;
+import com.sap.sse.common.TimePoint;
public interface StartTimeChangedListener {
diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedLeg.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedLeg.java
index 9e3afe0911d..923ae63b150 100755
--- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedLeg.java
+++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedLeg.java
@@ -10,8 +10,8 @@ import com.sap.sailing.domain.common.Distance;
import com.sap.sailing.domain.common.LegType;
import com.sap.sailing.domain.common.NoWindException;
import com.sap.sailing.domain.common.Position;
-import com.sap.sailing.domain.common.TimePoint;
import com.sap.sailing.domain.tracking.impl.TrackedLegImpl;
+import com.sap.sse.common.TimePoint;
public interface TrackedLeg extends Serializable {
Leg getLeg();
diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedLegOfCompetitor.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedLegOfCompetitor.java
index ae3d5add2bd..99d8c1bb697 100755
--- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedLegOfCompetitor.java
+++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedLegOfCompetitor.java
@@ -7,12 +7,12 @@ import com.sap.sailing.domain.base.Competitor;
import com.sap.sailing.domain.base.Leg;
import com.sap.sailing.domain.common.Bearing;
import com.sap.sailing.domain.common.Distance;
-import com.sap.sailing.domain.common.Duration;
import com.sap.sailing.domain.common.LegType;
import com.sap.sailing.domain.common.NoWindException;
import com.sap.sailing.domain.common.Speed;
import com.sap.sailing.domain.common.SpeedWithBearing;
-import com.sap.sailing.domain.common.TimePoint;
+import com.sap.sse.common.Duration;
+import com.sap.sse.common.TimePoint;
import com.sap.sse.common.Util;
public interface TrackedLegOfCompetitor extends Serializable {
diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRace.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRace.java
index 98332337845..06b1dc85562 100755
--- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRace.java
+++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRace.java
@@ -25,13 +25,13 @@ import com.sap.sailing.domain.common.RegattaAndRaceIdentifier;
import com.sap.sailing.domain.common.Speed;
import com.sap.sailing.domain.common.SpeedWithBearing;
import com.sap.sailing.domain.common.Tack;
-import com.sap.sailing.domain.common.TimePoint;
import com.sap.sailing.domain.common.TimingConstants;
import com.sap.sailing.domain.common.TrackedRaceStatusEnum;
import com.sap.sailing.domain.common.WindSource;
import com.sap.sailing.domain.common.WindSourceType;
import com.sap.sailing.domain.common.dto.TrackedRaceDTO;
import com.sap.sailing.domain.racelog.tracking.GPSFixStore;
+import com.sap.sse.common.TimePoint;
import com.sap.sse.common.Util;
/**
diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRegatta.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRegatta.java
index 4eb4c801d65..bdffd02721c 100755
--- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRegatta.java
+++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRegatta.java
@@ -9,8 +9,8 @@ import com.sap.sailing.domain.base.Regatta;
import com.sap.sailing.domain.base.Sideline;
import com.sap.sailing.domain.base.impl.TrackedRaces;
import com.sap.sailing.domain.common.NoWindException;
-import com.sap.sailing.domain.common.TimePoint;
import com.sap.sailing.domain.racelog.tracking.GPSFixStore;
+import com.sap.sse.common.TimePoint;
/**
* Manages a set of {@link TrackedRace} objects that belong to the same {@link Regatta} (regatta, sailing regatta for a
diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/WindCache.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/WindCache.java
index f677429f7d3..cd9047f6c3a 100755
--- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/WindCache.java
+++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/WindCache.java
@@ -1,7 +1,7 @@
package com.sap.sailing.domain.tracking;
import com.sap.sailing.domain.base.Competitor;
-import com.sap.sailing.domain.common.TimePoint;
+import com.sap.sse.common.TimePoint;
/**
* When comprehensive calculations are prone to query wind several times for the same competitor in the same race for
diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/WindTrack.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/WindTrack.java
index 0c0ec09e328..9a8b2dde7db 100755
--- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/WindTrack.java
+++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/WindTrack.java
@@ -2,8 +2,8 @@ package com.sap.sailing.domain.tracking;
import com.sap.sailing.domain.common.Distance;
import com.sap.sailing.domain.common.Position;
-import com.sap.sailing.domain.common.TimePoint;
import com.sap.sailing.domain.common.impl.MeterDistance;
+import com.sap.sse.common.TimePoint;
import com.sap.sse.common.Util;
public interface WindTrack extends DynamicTrack>() {
@Override
@@ -115,12 +116,14 @@ public class EventActivity extends AbstractActivity {
private void createEventView(EventDTO event, List
>() {
@Override
public void onSuccess(List
> implements Transformer