mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-09-21 05:05:31 +00:00
Merge branch 'master' into android_apps
This commit is contained in:
@@ -3,6 +3,6 @@
|
||||
<classpathentry kind="con" path="com.google.gwt.eclipse.core.GWT_CONTAINER"/>
|
||||
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
eclipse.preferences.version=1
|
||||
encoding//src/com/sap/sailing/domain/common/AbstractBearing.java=UTF-8
|
||||
encoding//src/com/sap/sailing/domain/common/impl/CountryCodeFactoryImpl.java=UTF-8
|
||||
encoding//src/com/sap/sailing/domain/common/impl/AbstractSpeedWithAbstractBearingImpl.java=UTF-8
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
#Thu Jan 19 10:01:03 CET 2012
|
||||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
|
||||
org.eclipse.jdt.core.compiler.compliance=1.6
|
||||
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
|
||||
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
|
||||
org.eclipse.jdt.core.compiler.compliance=1.7
|
||||
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
|
||||
org.eclipse.jdt.core.compiler.debug.localVariable=generate
|
||||
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
|
||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.source=1.6
|
||||
org.eclipse.jdt.core.compiler.source=1.7
|
||||
|
||||
@@ -4,9 +4,10 @@ Bundle-Name: SAP Sailing Common
|
||||
Bundle-SymbolicName: com.sap.sailing.domain.common
|
||||
Bundle-Version: 1.0.0.qualifier
|
||||
Bundle-Vendor: SAP
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Export-Package: com.sap.sailing.domain.common,
|
||||
com.sap.sailing.domain.common.abstractlog,
|
||||
com.sap.sailing.domain.common.confidence,
|
||||
com.sap.sailing.domain.common.confidence.impl,
|
||||
com.sap.sailing.domain.common.configuration,
|
||||
@@ -18,9 +19,7 @@ Export-Package: com.sap.sailing.domain.common,
|
||||
com.sap.sailing.domain.common.racelog,
|
||||
com.sap.sailing.domain.common.racelog.tracking,
|
||||
com.sap.sailing.domain.common.racelog.utils,
|
||||
com.sap.sailing.domain.common.scalablevalue,
|
||||
com.sap.sailing.domain.common.scalablevalue.impl,
|
||||
com.sap.sailing.domain.common.trackfiles,
|
||||
com.sap.sailing.domain.common.abstractlog
|
||||
com.sap.sailing.domain.common.trackfiles
|
||||
Require-Bundle: com.sap.sse.datamining.shared,
|
||||
com.sap.sse.common
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package com.sap.sailing.domain.common;
|
||||
|
||||
import com.sap.sse.common.Color;
|
||||
|
||||
/**
|
||||
* Manages color assignments to objects.
|
||||
*
|
||||
|
||||
+2
-1
@@ -1,6 +1,7 @@
|
||||
package com.sap.sailing.domain.common;
|
||||
|
||||
import com.sap.sailing.domain.common.impl.RGBColor;
|
||||
import com.sap.sse.common.Color;
|
||||
import com.sap.sse.common.impl.RGBColor;
|
||||
|
||||
public enum FleetColors {
|
||||
GOLD (222, 138, 46, 1),
|
||||
|
||||
+1
-1
@@ -51,7 +51,7 @@ public class BearingWithConfidenceCluster<RelativeTo> {
|
||||
* remains empty.
|
||||
* @return two bearing clusters; both empty if this cluster is empty; only the second one empty if this cluster
|
||||
* contains only one bearing. Otherwise, the two bearings farthest apart (greatest absolute
|
||||
* {@link Bearing#getDifferenceTo(Bearing) difference}) are guaranteed not to be in different clusters, and
|
||||
* {@link Bearing#getDifferenceTo(Bearing) difference}) are guaranteed to be in different clusters, and
|
||||
* all other bearings contained in this cluster will be contained in the cluster that contains the extreme
|
||||
* bearing to which it's closer.
|
||||
*/
|
||||
|
||||
+1
-1
@@ -3,8 +3,8 @@ package com.sap.sailing.domain.common.confidence;
|
||||
import java.io.Serializable;
|
||||
|
||||
import com.sap.sailing.domain.common.Distance;
|
||||
import com.sap.sailing.domain.common.scalablevalue.ScalableValue;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
import com.sap.sse.common.scalablevalue.ScalableValue;
|
||||
|
||||
/**
|
||||
* Some values, particularly those obtained from real-world measurements, are not always accurate. Some values are
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package com.sap.sailing.domain.common.confidence;
|
||||
|
||||
import com.sap.sailing.domain.common.scalablevalue.IsScalable;
|
||||
import com.sap.sse.common.scalablevalue.IsScalable;
|
||||
|
||||
public interface HasConfidenceAndIsScalable<ValueType, BaseType, RelativeTo> extends IsScalable<ValueType, BaseType>,
|
||||
HasConfidence<ValueType, BaseType, RelativeTo> {
|
||||
|
||||
+2
-2
@@ -3,9 +3,9 @@ package com.sap.sailing.domain.common.confidence.impl;
|
||||
import com.sap.sailing.domain.common.Bearing;
|
||||
import com.sap.sailing.domain.common.DoublePair;
|
||||
import com.sap.sailing.domain.common.confidence.BearingWithConfidence;
|
||||
import com.sap.sailing.domain.common.scalablevalue.IsScalable;
|
||||
import com.sap.sailing.domain.common.scalablevalue.ScalableValue;
|
||||
import com.sap.sailing.domain.common.scalablevalue.impl.ScalableBearing;
|
||||
import com.sap.sse.common.scalablevalue.IsScalable;
|
||||
import com.sap.sse.common.scalablevalue.ScalableValue;
|
||||
|
||||
public class BearingWithConfidenceImpl<RelativeTo> extends HasConfidenceImpl<DoublePair, Bearing, RelativeTo>
|
||||
implements BearingWithConfidence<RelativeTo>, IsScalable<DoublePair, Bearing> {
|
||||
|
||||
+1
-1
@@ -4,8 +4,8 @@ import com.sap.sailing.domain.common.confidence.ConfidenceBasedAverager;
|
||||
import com.sap.sailing.domain.common.confidence.HasConfidence;
|
||||
import com.sap.sailing.domain.common.confidence.HasConfidenceAndIsScalable;
|
||||
import com.sap.sailing.domain.common.confidence.Weigher;
|
||||
import com.sap.sailing.domain.common.scalablevalue.ScalableValue;
|
||||
import com.sap.sse.common.Util;
|
||||
import com.sap.sse.common.scalablevalue.ScalableValue;
|
||||
|
||||
|
||||
/**
|
||||
|
||||
+17
-3
@@ -1,7 +1,7 @@
|
||||
package com.sap.sailing.domain.common.confidence.impl;
|
||||
|
||||
import com.sap.sailing.domain.common.scalablevalue.AbstractScalarValue;
|
||||
import com.sap.sailing.domain.common.scalablevalue.ScalableValue;
|
||||
import com.sap.sse.common.scalablevalue.AbstractScalarValue;
|
||||
import com.sap.sse.common.scalablevalue.ScalableValue;
|
||||
|
||||
public class ScalableDouble implements AbstractScalarValue<Double> {
|
||||
private final double value;
|
||||
@@ -11,7 +11,7 @@ public class ScalableDouble implements AbstractScalarValue<Double> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ScalableValue<Double, Double> multiply(double factor) {
|
||||
public ScalableDouble multiply(double factor) {
|
||||
return new ScalableDouble(factor*getValue());
|
||||
}
|
||||
|
||||
@@ -30,4 +30,18 @@ public class ScalableDouble implements AbstractScalarValue<Double> {
|
||||
return value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getDistance(Double other) {
|
||||
return Math.abs(value-other);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new Double(value).toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compareTo(Double o) {
|
||||
return new Double(value).compareTo(o);
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -2,8 +2,8 @@ package com.sap.sailing.domain.common.dto;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import com.sap.sailing.domain.common.Color;
|
||||
import com.sap.sailing.domain.common.racelog.tracking.MappableToDevice;
|
||||
import com.sap.sse.common.Color;
|
||||
|
||||
public interface CompetitorDTO extends Serializable, MappableToDevice {
|
||||
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@ package com.sap.sailing.domain.common.dto;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import com.sap.sailing.domain.common.Color;
|
||||
import com.sap.sse.common.Color;
|
||||
|
||||
/**
|
||||
* Equality and hash code are based on the {@link #getIdAsString() ID}, the {@link #getSailID() sail number}, the
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package com.sap.sailing.domain.common.dto;
|
||||
|
||||
import com.sap.sailing.domain.common.Color;
|
||||
import com.sap.sse.common.Color;
|
||||
|
||||
public class FleetDTO extends NamedDTO {
|
||||
private static final long serialVersionUID = 1336494392278190103L;
|
||||
|
||||
+1
-1
@@ -11,7 +11,7 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import com.sap.sailing.domain.common.Cloner;
|
||||
import com.sap.sse.common.Cloner;
|
||||
import com.sap.sse.common.Util;
|
||||
|
||||
/**
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package com.sap.sailing.domain.common.dto;
|
||||
|
||||
import com.sap.sailing.domain.common.Color;
|
||||
import com.sap.sse.common.Color;
|
||||
|
||||
/**
|
||||
* Equality and hash code are based on the index pointing into a previous leaderboard's competitors list.
|
||||
|
||||
+2
-1
@@ -4,9 +4,10 @@ import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import com.sap.sailing.domain.common.Color;
|
||||
import com.sap.sailing.domain.common.ColorMap;
|
||||
import com.sap.sse.common.Color;
|
||||
import com.sap.sse.common.Util;
|
||||
import com.sap.sse.common.impl.HSVColor;
|
||||
|
||||
|
||||
/**
|
||||
|
||||
+1
-1
@@ -1,10 +1,10 @@
|
||||
package com.sap.sailing.domain.common.impl;
|
||||
|
||||
import com.sap.sailing.domain.common.CountryCodeFactory;
|
||||
import com.sap.sailing.domain.common.Distance;
|
||||
import com.sap.sailing.domain.common.Placemark;
|
||||
import com.sap.sailing.domain.common.Position;
|
||||
import com.sap.sailing.domain.common.SerializablePosition;
|
||||
import com.sap.sse.common.CountryCodeFactory;
|
||||
|
||||
/**
|
||||
* Used to define a populated place in the world.<br />
|
||||
|
||||
+2
@@ -1,5 +1,7 @@
|
||||
package com.sap.sailing.domain.common.racelog.tracking;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* Marker interface that can be applied to DTOs that represent domain objects
|
||||
* that can be mapped to a device for racelog-tracking (see {@link DeviceMapping}.
|
||||
|
||||
+10
-4
@@ -3,9 +3,10 @@ package com.sap.sailing.domain.common.scalablevalue.impl;
|
||||
import com.sap.sailing.domain.common.Bearing;
|
||||
import com.sap.sailing.domain.common.DoublePair;
|
||||
import com.sap.sailing.domain.common.impl.RadianBearingImpl;
|
||||
import com.sap.sailing.domain.common.scalablevalue.ScalableValue;
|
||||
import com.sap.sse.common.scalablevalue.ScalableValue;
|
||||
import com.sap.sse.common.scalablevalue.ScalableValueWithDistance;
|
||||
|
||||
public class ScalableBearing implements ScalableValue<DoublePair, Bearing> {
|
||||
public class ScalableBearing implements ScalableValueWithDistance<DoublePair, Bearing> {
|
||||
private final double sin;
|
||||
private final double cos;
|
||||
|
||||
@@ -20,13 +21,13 @@ public class ScalableBearing implements ScalableValue<DoublePair, Bearing> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ScalableValue<DoublePair, Bearing> multiply(double factor) {
|
||||
public ScalableBearing multiply(double factor) {
|
||||
DoublePair pair = getValue();
|
||||
return new ScalableBearing(factor*pair.getA(), factor*pair.getB());
|
||||
}
|
||||
|
||||
@Override
|
||||
public ScalableValue<DoublePair, Bearing> add(ScalableValue<DoublePair, Bearing> t) {
|
||||
public ScalableBearing add(ScalableValue<DoublePair, Bearing> t) {
|
||||
DoublePair value = getValue();
|
||||
DoublePair tValue = t.getValue();
|
||||
return new ScalableBearing(value.getA()+tValue.getA(), value.getB()+tValue.getB());
|
||||
@@ -57,4 +58,9 @@ public class ScalableBearing implements ScalableValue<DoublePair, Bearing> {
|
||||
public DoublePair getValue() {
|
||||
return new DoublePair(sin, cos);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getDistance(Bearing other) {
|
||||
return Math.abs(divide(1).getDifferenceTo(other).getDegrees());
|
||||
}
|
||||
}
|
||||
|
||||
+8
-3
@@ -2,9 +2,10 @@ package com.sap.sailing.domain.common.scalablevalue.impl;
|
||||
|
||||
import com.sap.sailing.domain.common.Position;
|
||||
import com.sap.sailing.domain.common.impl.RadianPosition;
|
||||
import com.sap.sailing.domain.common.scalablevalue.ScalableValue;
|
||||
import com.sap.sse.common.scalablevalue.ScalableValue;
|
||||
import com.sap.sse.common.scalablevalue.ScalableValueWithDistance;
|
||||
|
||||
public class ScalablePosition implements ScalableValue<ScalablePosition, Position> {
|
||||
public class ScalablePosition implements ScalableValueWithDistance<ScalablePosition, Position> {
|
||||
private final double x, y, z;
|
||||
|
||||
public ScalablePosition(Position position) {
|
||||
@@ -58,5 +59,9 @@ public class ScalablePosition implements ScalableValue<ScalablePosition, Positio
|
||||
public ScalablePosition getValue() {
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public double getDistance(Position other) {
|
||||
return divide(1).getDistance(other).getCentralAngleDeg();
|
||||
}
|
||||
}
|
||||
+11
-4
@@ -2,9 +2,10 @@ package com.sap.sailing.domain.common.scalablevalue.impl;
|
||||
|
||||
import com.sap.sailing.domain.common.Speed;
|
||||
import com.sap.sailing.domain.common.impl.KnotSpeedImpl;
|
||||
import com.sap.sailing.domain.common.scalablevalue.ScalableValue;
|
||||
import com.sap.sse.common.scalablevalue.ScalableValue;
|
||||
import com.sap.sse.common.scalablevalue.ScalableValueWithDistance;
|
||||
|
||||
public class ScalableSpeed implements ScalableValue<Double, Speed> {
|
||||
public class ScalableSpeed implements ScalableValueWithDistance<Double, Speed> {
|
||||
private final double knots;
|
||||
|
||||
public ScalableSpeed(Speed speed) {
|
||||
@@ -16,12 +17,12 @@ public class ScalableSpeed implements ScalableValue<Double, Speed> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ScalableValue<Double, Speed> multiply(double factor) {
|
||||
public ScalableSpeed multiply(double factor) {
|
||||
return new ScalableSpeed(factor*knots);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ScalableValue<Double, Speed> add(ScalableValue<Double, Speed> t) {
|
||||
public ScalableSpeed add(ScalableValue<Double, Speed> t) {
|
||||
return new ScalableSpeed(knots+t.getValue());
|
||||
}
|
||||
|
||||
@@ -34,4 +35,10 @@ public class ScalableSpeed implements ScalableValue<Double, Speed> {
|
||||
public Double getValue() {
|
||||
return knots;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getDistance(Speed other) {
|
||||
return Math.abs(knots-other.getKnots());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+1
-1
@@ -6,8 +6,8 @@ import com.sap.sailing.domain.common.SpeedWithBearing;
|
||||
import com.sap.sailing.domain.common.impl.KnotSpeedImpl;
|
||||
import com.sap.sailing.domain.common.impl.KnotSpeedWithBearingImpl;
|
||||
import com.sap.sailing.domain.common.impl.RadianBearingImpl;
|
||||
import com.sap.sailing.domain.common.scalablevalue.ScalableValue;
|
||||
import com.sap.sse.common.Util;
|
||||
import com.sap.sse.common.scalablevalue.ScalableValue;
|
||||
|
||||
/**
|
||||
* Separately scales speed and bearing. Instead of considering speed and bearing a single vector that can be scaled, the
|
||||
|
||||
+1
-1
@@ -18,7 +18,6 @@ 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.impl.KnotSpeedWithBearingImpl;
|
||||
import com.sap.sailing.domain.common.scalablevalue.ScalableValue;
|
||||
import com.sap.sailing.domain.common.scalablevalue.impl.ScalableBearing;
|
||||
import com.sap.sailing.domain.common.scalablevalue.impl.ScalablePosition;
|
||||
import com.sap.sailing.domain.common.scalablevalue.impl.ScalableSpeed;
|
||||
@@ -44,6 +43,7 @@ import com.sap.sailing.domain.tracking.impl.DynamicTrackImpl;
|
||||
import com.sap.sailing.domain.tracking.impl.WindImpl;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
import com.sap.sse.common.Util;
|
||||
import com.sap.sse.common.scalablevalue.ScalableValue;
|
||||
|
||||
/**
|
||||
* Receives Igtimi {@link Fix}es and tries to generate a {@link Wind} object from each {@link AWS} fix. For this to
|
||||
|
||||
+2
-2
@@ -104,7 +104,6 @@ import com.sap.sailing.domain.base.impl.RemoteSailingServerReferenceImpl;
|
||||
import com.sap.sailing.domain.base.impl.SeriesImpl;
|
||||
import com.sap.sailing.domain.base.impl.VenueImpl;
|
||||
import com.sap.sailing.domain.base.impl.WaypointImpl;
|
||||
import com.sap.sailing.domain.common.Color;
|
||||
import com.sap.sailing.domain.common.MarkType;
|
||||
import com.sap.sailing.domain.common.MaxPointsReason;
|
||||
import com.sap.sailing.domain.common.PassingInstruction;
|
||||
@@ -120,7 +119,6 @@ import com.sap.sailing.domain.common.configuration.DeviceConfigurationMatcherTyp
|
||||
import com.sap.sailing.domain.common.impl.DegreeBearingImpl;
|
||||
import com.sap.sailing.domain.common.impl.DegreePosition;
|
||||
import com.sap.sailing.domain.common.impl.KnotSpeedWithBearingImpl;
|
||||
import com.sap.sailing.domain.common.impl.RGBColor;
|
||||
import com.sap.sailing.domain.common.impl.WindSourceImpl;
|
||||
import com.sap.sailing.domain.common.impl.WindSourceWithAdditionalID;
|
||||
import com.sap.sailing.domain.common.racelog.Flags;
|
||||
@@ -170,10 +168,12 @@ import com.sap.sailing.server.gateway.deserialization.impl.CompetitorJsonDeseria
|
||||
import com.sap.sailing.server.gateway.deserialization.impl.DeviceConfigurationJsonDeserializer;
|
||||
import com.sap.sailing.server.gateway.deserialization.impl.Helpers;
|
||||
import com.sap.sailing.server.gateway.deserialization.impl.RegattaConfigurationJsonDeserializer;
|
||||
import com.sap.sse.common.Color;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
import com.sap.sse.common.TimeRange;
|
||||
import com.sap.sse.common.Util;
|
||||
import com.sap.sse.common.impl.MillisecondsTimePoint;
|
||||
import com.sap.sse.common.impl.RGBColor;
|
||||
import com.sap.sse.common.impl.TimeRangeImpl;
|
||||
|
||||
public class DomainObjectFactoryImpl implements DomainObjectFactory {
|
||||
|
||||
@@ -14,4 +14,5 @@ Require-Bundle: com.sap.sailing.domain.common;bundle-version="1.0.0",
|
||||
com.sap.sailing.domain.test,
|
||||
com.sap.sailing.domain.racelogtrackingadapter.testsupport;bundle-version="1.0.0",
|
||||
com.sap.sse.common,
|
||||
com.sap.sse
|
||||
com.sap.sse,
|
||||
com.sap.sse.shared.android
|
||||
|
||||
+1
-1
@@ -11,7 +11,7 @@ import java.util.Random;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.sap.sailing.util.impl.ConcurrentHashBag;
|
||||
import com.sap.sse.concurrent.ConcurrentHashBag;
|
||||
|
||||
/**
|
||||
* Initiated by bug 2502 (http://bugzilla.sapsailing.com/bugzilla/show_bug.cgi?id=2502), this test tries to reproduce a
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
|
||||
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
||||
|
||||
@@ -1,7 +1,12 @@
|
||||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
|
||||
org.eclipse.jdt.core.compiler.compliance=1.6
|
||||
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
|
||||
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
|
||||
org.eclipse.jdt.core.compiler.compliance=1.7
|
||||
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
|
||||
org.eclipse.jdt.core.compiler.debug.localVariable=generate
|
||||
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
|
||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.source=1.6
|
||||
org.eclipse.jdt.core.compiler.source=1.7
|
||||
|
||||
@@ -4,11 +4,11 @@ Bundle-Name: com.sap.sailing.domain.shared.android
|
||||
Bundle-SymbolicName: com.sap.sailing.domain.shared.android
|
||||
Bundle-Version: 1.0.0.qualifier
|
||||
Bundle-Vendor: SAP
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
||||
Require-Bundle: com.sap.sailing.domain.common;bundle-version="1.0.0",
|
||||
com.sap.sse.datamining.shared;bundle-version="1.0.0",
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
|
||||
Require-Bundle: com.sap.sailing.domain.common,
|
||||
com.sap.sse.datamining.shared,
|
||||
com.sap.sse.common,
|
||||
com.sap.sse
|
||||
com.sap.sse.shared.android
|
||||
Export-Package: com.sap.sailing.domain.abstractlog,
|
||||
com.sap.sailing.domain.abstractlog.impl,
|
||||
com.sap.sailing.domain.abstractlog.race,
|
||||
@@ -47,5 +47,4 @@ Export-Package: com.sap.sailing.domain.abstractlog,
|
||||
com.sap.sailing.domain.racelogtracking,
|
||||
com.sap.sailing.domain.racelogtracking.impl,
|
||||
com.sap.sailing.domain.tracking,
|
||||
com.sap.sailing.domain.tracking.impl,
|
||||
com.sap.sailing.util.impl
|
||||
com.sap.sailing.domain.tracking.impl
|
||||
|
||||
@@ -10,4 +10,6 @@ dependencies {
|
||||
/* local dependencies */
|
||||
compile project(":java:com.sap.sailing.domain.common")
|
||||
compile project(":java:com.sap.sse.common")
|
||||
compile project(":java:com.sap.sse.datamining.shared")
|
||||
compile project(":java:com.sap.sse.shared.android")
|
||||
}
|
||||
|
||||
+1
-1
@@ -28,7 +28,7 @@ import com.sap.sailing.domain.common.abstractlog.NotRevokableException;
|
||||
import com.sap.sailing.domain.tracking.Track;
|
||||
import com.sap.sailing.domain.tracking.impl.PartialNavigableSetView;
|
||||
import com.sap.sailing.domain.tracking.impl.TrackImpl;
|
||||
import com.sap.sailing.util.impl.ArrayListNavigableSet;
|
||||
import com.sap.sse.common.ArrayListNavigableSet;
|
||||
|
||||
/**
|
||||
* {@link Track} implementation for {@link AbstractLogEvent}s.
|
||||
|
||||
+1
-1
@@ -4,8 +4,8 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.sap.sailing.domain.abstractlog.AbstractLog;
|
||||
import com.sap.sailing.domain.abstractlog.BaseLogAnalyzer;
|
||||
import com.sap.sailing.domain.abstractlog.AbstractLogEvent;
|
||||
import com.sap.sailing.domain.abstractlog.BaseLogAnalyzer;
|
||||
|
||||
/**
|
||||
* Finds all events in the log which is an {@code instanceof} {@link #ofType}.
|
||||
|
||||
+1
-1
@@ -1,8 +1,8 @@
|
||||
package com.sap.sailing.domain.abstractlog.impl;
|
||||
|
||||
import com.sap.sailing.domain.abstractlog.AbstractLog;
|
||||
import com.sap.sailing.domain.abstractlog.BaseLogAnalyzer;
|
||||
import com.sap.sailing.domain.abstractlog.AbstractLogEvent;
|
||||
import com.sap.sailing.domain.abstractlog.BaseLogAnalyzer;
|
||||
|
||||
/**
|
||||
* Finds the most recent event in the log which is an {@code instanceof} {@link #ofType}.
|
||||
|
||||
+1
-1
@@ -5,8 +5,8 @@ import java.util.List;
|
||||
|
||||
import com.sap.sailing.domain.abstractlog.race.RaceLog;
|
||||
import com.sap.sailing.domain.abstractlog.race.RaceLogEvent;
|
||||
import com.sap.sailing.domain.abstractlog.race.scoring.RaceLogAdditionalScoringInformationEvent;
|
||||
import com.sap.sailing.domain.abstractlog.race.scoring.AdditionalScoringInformationType;
|
||||
import com.sap.sailing.domain.abstractlog.race.scoring.RaceLogAdditionalScoringInformationEvent;
|
||||
|
||||
/**
|
||||
* Returns all {@link RaceLogAdditionalScoringInformationEvent}s from the race log
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@ import com.sap.sailing.domain.abstractlog.race.impl.BaseRaceLogEventVisitor;
|
||||
import com.sap.sailing.domain.abstractlog.race.impl.RaceLogRaceStatusEventComparator;
|
||||
import com.sap.sailing.domain.abstractlog.race.state.racingprocedure.ReadonlyRacingProcedure;
|
||||
import com.sap.sailing.domain.common.racelog.RaceLogRaceStatus;
|
||||
import com.sap.sailing.util.impl.ArrayListNavigableSet;
|
||||
import com.sap.sse.common.ArrayListNavigableSet;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
import com.sap.sse.common.impl.MillisecondsTimePoint;
|
||||
|
||||
|
||||
+1
-1
@@ -6,8 +6,8 @@ import java.util.List;
|
||||
import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor;
|
||||
import com.sap.sailing.domain.abstractlog.race.RaceLogEventVisitor;
|
||||
import com.sap.sailing.domain.abstractlog.race.impl.RaceLogEventImpl;
|
||||
import com.sap.sailing.domain.abstractlog.race.scoring.RaceLogAdditionalScoringInformationEvent;
|
||||
import com.sap.sailing.domain.abstractlog.race.scoring.AdditionalScoringInformationType;
|
||||
import com.sap.sailing.domain.abstractlog.race.scoring.RaceLogAdditionalScoringInformationEvent;
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
|
||||
|
||||
+1
-1
@@ -4,8 +4,8 @@ import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor;
|
||||
import com.sap.sailing.domain.abstractlog.race.CompetitorResults;
|
||||
import com.sap.sailing.domain.abstractlog.race.RaceLog;
|
||||
import com.sap.sailing.domain.abstractlog.race.RaceLogEvent;
|
||||
import com.sap.sailing.domain.abstractlog.race.scoring.RaceLogAdditionalScoringInformationEvent;
|
||||
import com.sap.sailing.domain.abstractlog.race.scoring.AdditionalScoringInformationType;
|
||||
import com.sap.sailing.domain.abstractlog.race.scoring.RaceLogAdditionalScoringInformationEvent;
|
||||
import com.sap.sailing.domain.abstractlog.race.state.racingprocedure.RacingProcedure;
|
||||
import com.sap.sailing.domain.abstractlog.race.state.racingprocedure.RacingProcedurePrerequisite;
|
||||
import com.sap.sailing.domain.abstractlog.race.state.racingprocedure.impl.RacingProcedurePrerequisiteAutoResolver;
|
||||
|
||||
+1
-1
@@ -10,8 +10,8 @@ import com.sap.sailing.domain.abstractlog.race.RaceLog;
|
||||
import com.sap.sailing.domain.abstractlog.race.RaceLogEventFactory;
|
||||
import com.sap.sailing.domain.abstractlog.race.analyzing.impl.AdditionalScoringInformationFinder;
|
||||
import com.sap.sailing.domain.abstractlog.race.analyzing.impl.RaceStatusAnalyzer;
|
||||
import com.sap.sailing.domain.abstractlog.race.scoring.RaceLogAdditionalScoringInformationEvent;
|
||||
import com.sap.sailing.domain.abstractlog.race.scoring.AdditionalScoringInformationType;
|
||||
import com.sap.sailing.domain.abstractlog.race.scoring.RaceLogAdditionalScoringInformationEvent;
|
||||
import com.sap.sailing.domain.abstractlog.race.state.RaceState;
|
||||
import com.sap.sailing.domain.abstractlog.race.state.racingprocedure.RacingProcedure;
|
||||
import com.sap.sailing.domain.abstractlog.race.state.racingprocedure.RacingProcedureFactory;
|
||||
|
||||
+1
-1
@@ -12,9 +12,9 @@ import com.sap.sailing.domain.abstractlog.race.analyzing.impl.LastPublishedCours
|
||||
import com.sap.sailing.domain.abstractlog.race.analyzing.impl.LastWindFixFinder;
|
||||
import com.sap.sailing.domain.abstractlog.race.analyzing.impl.ProtestStartTimeFinder;
|
||||
import com.sap.sailing.domain.abstractlog.race.analyzing.impl.RaceStatusAnalyzer;
|
||||
import com.sap.sailing.domain.abstractlog.race.analyzing.impl.RaceStatusAnalyzer.Clock;
|
||||
import com.sap.sailing.domain.abstractlog.race.analyzing.impl.RacingProcedureTypeAnalyzer;
|
||||
import com.sap.sailing.domain.abstractlog.race.analyzing.impl.StartTimeFinder;
|
||||
import com.sap.sailing.domain.abstractlog.race.analyzing.impl.RaceStatusAnalyzer.Clock;
|
||||
import com.sap.sailing.domain.abstractlog.race.impl.WeakRaceLogChangedVisitor;
|
||||
import com.sap.sailing.domain.abstractlog.race.state.RaceStateChangedListener;
|
||||
import com.sap.sailing.domain.abstractlog.race.state.RaceStateEvent;
|
||||
|
||||
+1
-1
@@ -1,10 +1,10 @@
|
||||
package com.sap.sailing.domain.abstractlog.regatta;
|
||||
|
||||
import com.sap.sailing.domain.abstractlog.regatta.events.RegattaLogCloseOpenEndedDeviceMappingEvent;
|
||||
import com.sap.sailing.domain.abstractlog.regatta.events.RegattaLogDeviceCompetitorMappingEvent;
|
||||
import com.sap.sailing.domain.abstractlog.regatta.events.RegattaLogDeviceMarkMappingEvent;
|
||||
import com.sap.sailing.domain.abstractlog.regatta.events.RegattaLogRegisterCompetitorEvent;
|
||||
import com.sap.sailing.domain.abstractlog.regatta.events.RegattaLogRevokeEvent;
|
||||
import com.sap.sailing.domain.abstractlog.regatta.events.RegattaLogDeviceCompetitorMappingEvent;
|
||||
|
||||
public interface RegattaLogEventVisitor {
|
||||
void visit(RegattaLogRevokeEvent event);
|
||||
|
||||
+1
-1
@@ -3,8 +3,8 @@ package com.sap.sailing.domain.abstractlog.regatta.impl;
|
||||
import java.io.Serializable;
|
||||
|
||||
import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor;
|
||||
import com.sap.sailing.domain.abstractlog.impl.LogEventComparator;
|
||||
import com.sap.sailing.domain.abstractlog.impl.AbstractLogImpl;
|
||||
import com.sap.sailing.domain.abstractlog.impl.LogEventComparator;
|
||||
import com.sap.sailing.domain.abstractlog.regatta.RegattaLog;
|
||||
import com.sap.sailing.domain.abstractlog.regatta.RegattaLogEvent;
|
||||
import com.sap.sailing.domain.abstractlog.regatta.RegattaLogEventVisitor;
|
||||
|
||||
+1
-1
@@ -1,8 +1,8 @@
|
||||
package com.sap.sailing.domain.abstractlog.shared.analyzing;
|
||||
|
||||
import com.sap.sailing.domain.abstractlog.AbstractLog;
|
||||
import com.sap.sailing.domain.abstractlog.BaseLogAnalyzer;
|
||||
import com.sap.sailing.domain.abstractlog.AbstractLogEvent;
|
||||
import com.sap.sailing.domain.abstractlog.BaseLogAnalyzer;
|
||||
import com.sap.sailing.domain.abstractlog.shared.events.DeviceMappingEvent;
|
||||
import com.sap.sse.common.WithID;
|
||||
|
||||
|
||||
+1
-1
@@ -5,9 +5,9 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.sap.sailing.domain.abstractlog.AbstractLog;
|
||||
import com.sap.sailing.domain.abstractlog.BaseLogAnalyzer;
|
||||
import com.sap.sailing.domain.abstractlog.AbstractLogEvent;
|
||||
import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor;
|
||||
import com.sap.sailing.domain.abstractlog.BaseLogAnalyzer;
|
||||
import com.sap.sailing.domain.abstractlog.shared.events.CloseOpenEndedDeviceMappingEvent;
|
||||
import com.sap.sailing.domain.abstractlog.shared.events.DeviceMappingEvent;
|
||||
import com.sap.sailing.domain.racelogtracking.DeviceMapping;
|
||||
|
||||
+2
-2
@@ -1,10 +1,10 @@
|
||||
package com.sap.sailing.domain.base;
|
||||
|
||||
import com.sap.sailing.domain.common.Color;
|
||||
import com.sap.sse.datamining.shared.annotations.Connector;
|
||||
import com.sap.sse.common.Color;
|
||||
import com.sap.sse.common.IsManagedByCache;
|
||||
import com.sap.sse.common.Named;
|
||||
import com.sap.sse.common.WithID;
|
||||
import com.sap.sse.datamining.shared.annotations.Connector;
|
||||
|
||||
public interface Competitor extends Named, WithID, IsManagedByCache<SharedDomainFactory> {
|
||||
@Connector(messageKey="Team", ordinal=9)
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package com.sap.sailing.domain.base;
|
||||
|
||||
import com.sap.sailing.domain.common.Color;
|
||||
import com.sap.sse.common.Color;
|
||||
|
||||
public interface CompetitorChangeListener extends BoatChangeListener, NationalityChangeListener {
|
||||
void colorChanged(Color oldColor, Color newColor);
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ import java.io.Serializable;
|
||||
|
||||
import com.sap.sailing.domain.base.impl.DynamicBoat;
|
||||
import com.sap.sailing.domain.base.impl.DynamicTeam;
|
||||
import com.sap.sailing.domain.common.Color;
|
||||
import com.sap.sse.common.Color;
|
||||
|
||||
/**
|
||||
* Base interface for classes managing a set of {@link Competitor} objects.
|
||||
|
||||
+1
-1
@@ -4,8 +4,8 @@ import java.io.Serializable;
|
||||
|
||||
import com.sap.sailing.domain.base.impl.DynamicBoat;
|
||||
import com.sap.sailing.domain.base.impl.DynamicTeam;
|
||||
import com.sap.sailing.domain.common.Color;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sse.common.Color;
|
||||
|
||||
/**
|
||||
* Manages a set of {@link Competitor} objects. There may be a transient implementation based on a simple cache,
|
||||
|
||||
+3
@@ -37,6 +37,9 @@ public interface CourseBase extends Named {
|
||||
|
||||
Waypoint getFirstWaypoint();
|
||||
|
||||
/**
|
||||
* @return the course's last waypoint if not empty, <code>null</code> otherwise. Acquires the course's read lock.
|
||||
*/
|
||||
Waypoint getLastWaypoint();
|
||||
|
||||
void addWaypoint(int zeroBasedPosition, Waypoint waypointToAdd);
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package com.sap.sailing.domain.base;
|
||||
|
||||
import com.sap.sailing.domain.common.Color;
|
||||
import com.sap.sse.common.Color;
|
||||
import com.sap.sse.common.Named;
|
||||
|
||||
/**
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package com.sap.sailing.domain.base;
|
||||
|
||||
import com.sap.sailing.domain.common.CountryCode;
|
||||
import com.sap.sse.common.CountryCode;
|
||||
import com.sap.sse.common.IsManagedByCache;
|
||||
import com.sap.sse.common.Named;
|
||||
import com.sap.sse.datamining.shared.annotations.Dimension;
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@ import java.util.Set;
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.base.CompetitorChangeListener;
|
||||
import com.sap.sailing.domain.base.SharedDomainFactory;
|
||||
import com.sap.sailing.domain.common.Color;
|
||||
import com.sap.sse.common.Color;
|
||||
import com.sap.sse.common.Util;
|
||||
|
||||
public class CompetitorImpl implements DynamicCompetitor {
|
||||
|
||||
+1
-1
@@ -1,8 +1,8 @@
|
||||
package com.sap.sailing.domain.base.impl;
|
||||
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.common.Color;
|
||||
import com.sap.sailing.domain.common.Renamable;
|
||||
import com.sap.sse.common.Color;
|
||||
|
||||
public interface DynamicCompetitor extends Competitor, Renamable {
|
||||
DynamicBoat getBoat();
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
package com.sap.sailing.domain.base.impl;
|
||||
|
||||
import com.sap.sailing.domain.base.Fleet;
|
||||
import com.sap.sailing.domain.common.Color;
|
||||
import com.sap.sse.common.Color;
|
||||
import com.sap.sse.common.impl.NamedImpl;
|
||||
|
||||
/**
|
||||
|
||||
+2
-2
@@ -2,8 +2,8 @@ package com.sap.sailing.domain.base.impl;
|
||||
|
||||
import com.sap.sailing.domain.base.Nationality;
|
||||
import com.sap.sailing.domain.base.SharedDomainFactory;
|
||||
import com.sap.sailing.domain.common.CountryCode;
|
||||
import com.sap.sailing.domain.common.CountryCodeFactory;
|
||||
import com.sap.sse.common.CountryCode;
|
||||
import com.sap.sse.common.CountryCodeFactory;
|
||||
import com.sap.sse.common.IsManagedByCache;
|
||||
|
||||
public class NationalityImpl implements Nationality {
|
||||
|
||||
+1
-1
@@ -29,10 +29,10 @@ import com.sap.sailing.domain.base.configuration.DeviceConfigurationMatcher;
|
||||
import com.sap.sailing.domain.base.configuration.impl.DeviceConfigurationMatcherMulti;
|
||||
import com.sap.sailing.domain.base.configuration.impl.DeviceConfigurationMatcherSingle;
|
||||
import com.sap.sailing.domain.common.BoatClassMasterdata;
|
||||
import com.sap.sailing.domain.common.Color;
|
||||
import com.sap.sailing.domain.common.MarkType;
|
||||
import com.sap.sailing.domain.common.PassingInstruction;
|
||||
import com.sap.sailing.domain.common.configuration.DeviceConfigurationMatcherType;
|
||||
import com.sap.sse.common.Color;
|
||||
import com.sap.sse.common.WithID;
|
||||
|
||||
public class SharedDomainFactoryImpl implements SharedDomainFactory {
|
||||
|
||||
+4
-4
@@ -16,13 +16,13 @@ import java.util.logging.Logger;
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.base.CompetitorStore;
|
||||
import com.sap.sailing.domain.base.Nationality;
|
||||
import com.sap.sailing.domain.common.Color;
|
||||
import com.sap.sailing.domain.common.CountryCode;
|
||||
import com.sap.sailing.domain.common.dto.BoatClassDTO;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTOImpl;
|
||||
import com.sap.sailing.util.impl.LockUtil;
|
||||
import com.sap.sailing.util.impl.NamedReentrantReadWriteLock;
|
||||
import com.sap.sse.common.Color;
|
||||
import com.sap.sse.common.CountryCode;
|
||||
import com.sap.sse.concurrent.LockUtil;
|
||||
import com.sap.sse.concurrent.NamedReentrantReadWriteLock;
|
||||
|
||||
public class TransientCompetitorStoreImpl implements CompetitorStore, Serializable {
|
||||
private static final Logger logger = Logger.getLogger(TransientCompetitorStoreImpl.class.getName());
|
||||
|
||||
+2
-2
@@ -8,8 +8,8 @@ import java.util.List;
|
||||
|
||||
import com.sap.sailing.domain.base.CourseArea;
|
||||
import com.sap.sailing.domain.base.Venue;
|
||||
import com.sap.sailing.util.impl.LockUtil;
|
||||
import com.sap.sailing.util.impl.NamedReentrantReadWriteLock;
|
||||
import com.sap.sse.concurrent.LockUtil;
|
||||
import com.sap.sse.concurrent.NamedReentrantReadWriteLock;
|
||||
|
||||
public class VenueImpl implements Venue {
|
||||
private static final long serialVersionUID = 6854152040737643290L;
|
||||
|
||||
+4
-4
@@ -8,12 +8,12 @@ import java.util.NavigableSet;
|
||||
|
||||
import com.sap.sailing.domain.base.Timed;
|
||||
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.ArrayListNavigableSet;
|
||||
import com.sap.sse.common.Duration;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
import com.sap.sse.concurrent.LockUtil;
|
||||
import com.sap.sse.concurrent.NamedReentrantReadWriteLock;
|
||||
import com.sap.sse.util.impl.UnmodifiableNavigableSet;
|
||||
|
||||
public class TrackImpl<FixType extends Timed> implements Track<FixType> {
|
||||
private static final long serialVersionUID = -4075853657857657528L;
|
||||
|
||||
+1
-1
@@ -24,7 +24,7 @@ import com.sap.sailing.domain.swisstimingreplayadapter.SwissTimingReplayListener
|
||||
import com.sap.sailing.domain.swisstimingreplayadapter.SwissTimingReplayRace;
|
||||
import com.sap.sailing.domain.swisstimingreplayadapter.SwissTimingReplayService;
|
||||
import com.sap.sailing.domain.tracking.TrackedRegattaRegistry;
|
||||
import com.sap.sailing.util.ByteArrayOutputStreamWithVisibleBuffer;
|
||||
import com.sap.sse.util.ByteArrayOutputStreamWithVisibleBuffer;
|
||||
|
||||
public class SwissTimingReplayServiceImpl implements SwissTimingReplayService {
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@ Require-Bundle: com.sap.sailing.domain,
|
||||
org.json.simple;bundle-version="1.1.0",
|
||||
com.sap.sse.common,
|
||||
com.sap.sse.replication,
|
||||
com.sap.sse
|
||||
com.sap.sse,
|
||||
com.sap.sse.shared.android
|
||||
Export-Package: com.sap.sailing.domain.test,
|
||||
com.sap.sailing.domain.test.mock
|
||||
|
||||
+3
-2
@@ -1,5 +1,8 @@
|
||||
package com.sap.sailing.domain.common;
|
||||
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import com.sap.sailing.domain.common.media.MediaTrack;
|
||||
@@ -8,8 +11,6 @@ import com.sap.sse.common.TimePoint;
|
||||
import com.sap.sse.common.impl.MillisecondsDurationImpl;
|
||||
import com.sap.sse.common.impl.MillisecondsTimePoint;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
public class MediaTrackTest {
|
||||
|
||||
private static final Duration ONE_MILLISECOND = new MillisecondsDurationImpl(1);
|
||||
|
||||
+3
-2
@@ -1,13 +1,14 @@
|
||||
package com.sap.sailing.domain.common;
|
||||
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import com.sap.sailing.domain.common.media.MediaUtil;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
import com.sap.sse.common.impl.MillisecondsTimePoint;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
public class MediaUtilTest {
|
||||
|
||||
@Test
|
||||
|
||||
+5
-2
@@ -1,7 +1,10 @@
|
||||
package com.sap.sailing.domain.common.test;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
import static org.hamcrest.Matchers.*;
|
||||
import static org.hamcrest.Matchers.is;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertThat;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
|
||||
+3
-3
@@ -23,8 +23,6 @@ import java.util.Set;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.sap.sailing.domain.common.Cloner;
|
||||
import com.sap.sailing.domain.common.Color;
|
||||
import com.sap.sailing.domain.common.dto.BoatClassDTO;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTOImpl;
|
||||
@@ -37,9 +35,11 @@ import com.sap.sailing.domain.common.dto.LegEntryDTO;
|
||||
import com.sap.sailing.domain.common.dto.RaceColumnDTO;
|
||||
import com.sap.sailing.domain.common.dto.RaceDTO;
|
||||
import com.sap.sailing.domain.test.StoredTrackBasedTest;
|
||||
import com.sap.sailing.util.ClonerImpl;
|
||||
import com.sap.sse.common.Cloner;
|
||||
import com.sap.sse.common.Color;
|
||||
import com.sap.sse.common.Util;
|
||||
import com.sap.sse.common.impl.MillisecondsTimePoint;
|
||||
import com.sap.sse.util.ClonerImpl;
|
||||
|
||||
/**
|
||||
* Tests the compressing / de-compressing functionality of {@link LeaderboardDTO} and {@link IncrementalLeaderboardDTO}.
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ import static org.junit.Assert.assertEquals;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import com.sap.sailing.domain.common.impl.RGBColor;
|
||||
import com.sap.sse.common.impl.RGBColor;
|
||||
|
||||
public class RGBColorTest {
|
||||
/**
|
||||
|
||||
+5
-3
@@ -1,13 +1,15 @@
|
||||
package com.sap.sailing.domain.common.test;
|
||||
|
||||
import static org.hamcrest.Matchers.is;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertThat;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import com.sap.sse.common.TimePoint;
|
||||
import com.sap.sse.common.impl.MillisecondsTimePoint;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
import static org.hamcrest.Matchers.*;
|
||||
|
||||
public class TimePointTest {
|
||||
@Test
|
||||
public void compare() {
|
||||
|
||||
+1
-1
@@ -11,7 +11,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.Color;
|
||||
import com.sap.sse.common.Color;
|
||||
|
||||
public abstract class AbstractLeaderboardTest {
|
||||
public static CompetitorImpl createCompetitor(String competitorName) {
|
||||
|
||||
+1
-2
@@ -112,8 +112,7 @@ public abstract class AbstractTracTracLiveTest extends StoredTrackBasedTest {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
// TODO Start live and stored data subscribers
|
||||
// test cases need to start the thread calling startController
|
||||
// test cases need to start the thread calling addListenersForStoredDataAndStartController
|
||||
// after adding their listeners
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -11,7 +11,7 @@ import java.util.Set;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import com.sap.sailing.util.impl.ArrayListNavigableSet;
|
||||
import com.sap.sse.common.ArrayListNavigableSet;
|
||||
|
||||
public class ArrayListNavigableSetTest {
|
||||
@Test
|
||||
|
||||
+2
-2
@@ -18,8 +18,8 @@ import com.sap.sailing.domain.base.Team;
|
||||
import com.sap.sailing.domain.base.WithNationality;
|
||||
import com.sap.sailing.domain.base.impl.DomainFactoryImpl;
|
||||
import com.sap.sailing.domain.base.impl.DynamicCompetitor;
|
||||
import com.sap.sailing.domain.common.Color;
|
||||
import com.sap.sailing.domain.common.impl.RGBColor;
|
||||
import com.sap.sse.common.Color;
|
||||
import com.sap.sse.common.impl.RGBColor;
|
||||
|
||||
/**
|
||||
* Tests the {@link CompetitorChangeListener} stuff including the serialization of the transitive listener
|
||||
|
||||
+1
-1
@@ -10,8 +10,8 @@ import java.util.concurrent.ConcurrentLinkedQueue;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import com.sap.sailing.util.impl.ConcurrentHashBag;
|
||||
import com.sap.sse.common.Util;
|
||||
import com.sap.sse.concurrent.ConcurrentHashBag;
|
||||
|
||||
/**
|
||||
* Measures the performance of different concurrent collections types and shows their add and remove behavior for
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@ import java.util.Set;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import com.sap.sailing.util.impl.ConcurrentWeakHashMap;
|
||||
import com.sap.sse.concurrent.ConcurrentWeakHashMap;
|
||||
|
||||
/**
|
||||
* Tests the class {@link ConcurrentWeakHashMap}.
|
||||
|
||||
+3
-3
@@ -15,10 +15,9 @@ import com.sap.sailing.domain.base.PositionWithConfidence;
|
||||
import com.sap.sailing.domain.base.impl.PositionWithConfidenceImpl;
|
||||
import com.sap.sailing.domain.common.Bearing;
|
||||
import com.sap.sailing.domain.common.Position;
|
||||
import com.sap.sailing.domain.common.confidence.ConfidenceBasedAverager;
|
||||
import com.sap.sailing.domain.confidence.ConfidenceFactory;
|
||||
import com.sap.sailing.domain.common.confidence.BearingWithConfidence;
|
||||
import com.sap.sailing.domain.common.confidence.BearingWithConfidenceCluster;
|
||||
import com.sap.sailing.domain.common.confidence.ConfidenceBasedAverager;
|
||||
import com.sap.sailing.domain.common.confidence.HasConfidence;
|
||||
import com.sap.sailing.domain.common.confidence.HasConfidenceAndIsScalable;
|
||||
import com.sap.sailing.domain.common.confidence.Weigher;
|
||||
@@ -30,9 +29,9 @@ import com.sap.sailing.domain.common.impl.KnotSpeedWithBearingImpl;
|
||||
import com.sap.sailing.domain.common.impl.MeterDistance;
|
||||
import com.sap.sailing.domain.common.impl.NauticalMileDistance;
|
||||
import com.sap.sailing.domain.common.impl.RadianBearingImpl;
|
||||
import com.sap.sailing.domain.common.scalablevalue.ScalableValue;
|
||||
import com.sap.sailing.domain.common.scalablevalue.impl.ScalablePosition;
|
||||
import com.sap.sailing.domain.confidence.ConfidenceBasedWindAverager;
|
||||
import com.sap.sailing.domain.confidence.ConfidenceFactory;
|
||||
import com.sap.sailing.domain.tracking.Wind;
|
||||
import com.sap.sailing.domain.tracking.WindWithConfidence;
|
||||
import com.sap.sailing.domain.tracking.impl.ScalableWind;
|
||||
@@ -40,6 +39,7 @@ import com.sap.sailing.domain.tracking.impl.WindImpl;
|
||||
import com.sap.sailing.domain.tracking.impl.WindWithConfidenceImpl;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
import com.sap.sse.common.impl.MillisecondsTimePoint;
|
||||
import com.sap.sse.common.scalablevalue.ScalableValue;
|
||||
|
||||
public class ConfidenceTest {
|
||||
private static class ScalableBearing implements ScalableValue<ScalableBearing, Bearing> {
|
||||
|
||||
+2
-2
@@ -19,8 +19,8 @@ import java.util.regex.Pattern;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.sap.sailing.domain.common.CountryCode;
|
||||
import com.sap.sailing.domain.common.CountryCodeFactory;
|
||||
import com.sap.sse.common.CountryCode;
|
||||
import com.sap.sse.common.CountryCodeFactory;
|
||||
import com.sap.sse.common.Util;
|
||||
|
||||
public class CountryCodeTest {
|
||||
|
||||
+90
@@ -0,0 +1,90 @@
|
||||
package com.sap.sailing.domain.test;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
import java.util.Set;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import com.sap.sailing.domain.base.ScalableInteger;
|
||||
import com.sap.sailing.domain.common.confidence.impl.ScalableDouble;
|
||||
import com.sap.sse.util.kmeans.Cluster;
|
||||
import com.sap.sse.util.kmeans.KMeansClusterer;
|
||||
import com.sap.sse.util.kmeans.KMeansClustererWithEquidistantInitialization;
|
||||
import com.sap.sse.util.kmeans.KMeansMappingClusterer;
|
||||
|
||||
public class KMeansTest {
|
||||
@Test
|
||||
public void simpleIntegerTestWithEquidistantInitialization() {
|
||||
KMeansClustererWithEquidistantInitialization<Integer, Integer, ScalableInteger> clusterer = new KMeansClustererWithEquidistantInitialization<>(4,
|
||||
Arrays.asList(new ScalableInteger(1), new ScalableInteger(1), new ScalableInteger(11), new ScalableInteger(11), new ScalableInteger(21), new ScalableInteger(21), new ScalableInteger(31), new ScalableInteger(31)));
|
||||
Set<Cluster<ScalableInteger, Integer, Integer, ScalableInteger>> clusters = clusterer.getClusters();
|
||||
assertEquals(4, clusters.size());
|
||||
Set<Integer> clusterCentroids = new HashSet<>();
|
||||
clusters.stream().map((c)->c.getCentroid()).forEach((e)->clusterCentroids.add(e));
|
||||
assertEquals(new HashSet<Integer>(Arrays.asList(1, 11, 21, 31)), clusterCentroids);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void doubleTestWithRandomInitialization() {
|
||||
Random random = new Random(1234);
|
||||
List<ScalableDouble> elements = new ArrayList<>();
|
||||
for (int i=0; i<100000; i++) {
|
||||
elements.add(new ScalableDouble(random.nextDouble()));
|
||||
}
|
||||
KMeansClusterer<Double, Double, ScalableDouble> clusterer = new KMeansClusterer<>(4, elements);
|
||||
Set<Cluster<ScalableDouble, Double, Double, ScalableDouble>> clusters = clusterer.getClusters();
|
||||
for (Cluster<ScalableDouble, Double, Double, ScalableDouble> cluster : clusters) {
|
||||
for (ScalableDouble element : cluster) {
|
||||
final Double elementVal = element.divide(1);
|
||||
final double actualDistanceFromMean = Math.abs(cluster.getMean() - elementVal);
|
||||
for (Cluster<ScalableDouble, Double, Double, ScalableDouble> otherCluster : clusters) {
|
||||
if (otherCluster != cluster) {
|
||||
Double otherClusterMean = otherCluster.getMean();
|
||||
final double distanceToOtherClusterMean = Math.abs(otherClusterMean - elementVal);
|
||||
// assert that all elements are in the cluster where they are closest to the cluster's mean
|
||||
assertTrue(distanceToOtherClusterMean >= actualDistanceFromMean);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMappingClusterer() {
|
||||
List<String> strings = new ArrayList<>();
|
||||
Random random = new Random();
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (int i=0; i<100000; i++) {
|
||||
for (int j=random.nextInt(100); j>=0; j--) {
|
||||
sb.append((char) ('A'+random.nextInt(26)));
|
||||
}
|
||||
strings.add(sb.toString());
|
||||
sb.delete(0, sb.length());
|
||||
}
|
||||
KMeansMappingClusterer<String, Integer, Integer, ScalableInteger> clusterer = new KMeansMappingClusterer<>(5, strings, (s)->new ScalableInteger(s.length()),
|
||||
Arrays.asList(5, 25, 50, 75, 100).iterator());
|
||||
Set<Cluster<String, Integer, Integer, ScalableInteger>> clusters = clusterer.getClusters();
|
||||
assertEquals(5, clusters.size());
|
||||
for (Cluster<String, Integer, Integer, ScalableInteger> cluster : clusters) {
|
||||
for (String element : cluster) {
|
||||
final int elementLength = element.length();
|
||||
double actualDistanceFromMean = Math.abs(cluster.getMean() - elementLength);
|
||||
for (Cluster<String, Integer, Integer, ScalableInteger> otherCluster : clusters) {
|
||||
if (otherCluster != cluster) {
|
||||
final int otherClusterMean = otherCluster.getMean();
|
||||
final double distanceToOtherClusterMean = Math.abs(otherClusterMean - elementLength);
|
||||
// assert that all elements are in the cluster where they are closest to the cluster's mean
|
||||
assertTrue(distanceToOtherClusterMean >= actualDistanceFromMean);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -38,7 +38,6 @@ import com.sap.sailing.domain.base.impl.MarkImpl;
|
||||
import com.sap.sailing.domain.base.impl.RegattaImpl;
|
||||
import com.sap.sailing.domain.base.impl.SeriesImpl;
|
||||
import com.sap.sailing.domain.base.impl.WaypointImpl;
|
||||
import com.sap.sailing.domain.common.Color;
|
||||
import com.sap.sailing.domain.common.NoWindException;
|
||||
import com.sap.sailing.domain.common.dto.LeaderboardDTO;
|
||||
import com.sap.sailing.domain.leaderboard.Leaderboard;
|
||||
@@ -54,6 +53,7 @@ import com.sap.sailing.domain.tracking.TrackedRegatta;
|
||||
import com.sap.sailing.domain.tracking.TrackedRegattaRegistry;
|
||||
import com.sap.sailing.domain.tracking.impl.DynamicTrackedRaceImpl;
|
||||
import com.sap.sailing.domain.tracking.impl.EmptyWindStore;
|
||||
import com.sap.sse.common.Color;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
import com.sap.sse.common.impl.MillisecondsTimePoint;
|
||||
|
||||
|
||||
+1
-1
@@ -72,7 +72,7 @@ import com.sap.sailing.domain.tracking.TrackedRace;
|
||||
import com.sap.sailing.domain.tracking.TrackedRegattaRegistry;
|
||||
import com.sap.sailing.domain.tracking.impl.MarkPassingImpl;
|
||||
import com.sap.sailing.domain.tracking.impl.TimedComparator;
|
||||
import com.sap.sailing.util.impl.ArrayListNavigableSet;
|
||||
import com.sap.sse.common.ArrayListNavigableSet;
|
||||
import com.sap.sse.common.Duration;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
import com.sap.sse.common.Util;
|
||||
|
||||
+3
-3
@@ -4,9 +4,9 @@ import static org.junit.Assert.assertEquals;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import com.sap.sailing.util.AutoCloseableReadLock;
|
||||
import com.sap.sailing.util.AutoCloseableWriteLock;
|
||||
import com.sap.sailing.util.impl.NamedReentrantReadWriteLock;
|
||||
import com.sap.sse.concurrent.NamedReentrantReadWriteLock;
|
||||
import com.sap.sse.util.AutoCloseableReadLock;
|
||||
import com.sap.sse.util.AutoCloseableWriteLock;
|
||||
|
||||
public class LockAsResourceTest {
|
||||
@Test
|
||||
|
||||
@@ -14,9 +14,9 @@ import org.junit.Test;
|
||||
import com.sap.sailing.domain.test.measurements.Measurement;
|
||||
import com.sap.sailing.domain.test.measurements.MeasurementCase;
|
||||
import com.sap.sailing.domain.test.measurements.MeasurementXMLFile;
|
||||
import com.sap.sailing.util.impl.LockUtil;
|
||||
import com.sap.sailing.util.impl.NamedReentrantReadWriteLock;
|
||||
import com.sap.sse.common.Util;
|
||||
import com.sap.sse.concurrent.LockUtil;
|
||||
import com.sap.sse.concurrent.NamedReentrantReadWriteLock;
|
||||
|
||||
public class LockTraceTest {
|
||||
private static class LockingThread extends Thread {
|
||||
|
||||
+1
-1
@@ -36,7 +36,6 @@ import com.sap.sailing.domain.base.impl.DomainFactoryImpl;
|
||||
import com.sap.sailing.domain.base.impl.EventImpl;
|
||||
import com.sap.sailing.domain.base.impl.PersonImpl;
|
||||
import com.sap.sailing.domain.base.impl.TeamImpl;
|
||||
import com.sap.sailing.domain.common.Color;
|
||||
import com.sap.sailing.domain.leaderboard.Leaderboard;
|
||||
import com.sap.sailing.domain.leaderboard.LeaderboardGroup;
|
||||
import com.sap.sailing.domain.leaderboard.impl.FlexibleLeaderboardImpl;
|
||||
@@ -44,6 +43,7 @@ import com.sap.sailing.domain.leaderboard.impl.HighPoint;
|
||||
import com.sap.sailing.domain.leaderboard.impl.LeaderboardGroupImpl;
|
||||
import com.sap.sailing.domain.leaderboard.impl.ThresholdBasedResultDiscardingRuleImpl;
|
||||
import com.sap.sailing.domain.leaderboard.meta.LeaderboardGroupMetaLeaderboard;
|
||||
import com.sap.sse.common.Color;
|
||||
import com.sap.sse.common.Duration;
|
||||
import com.sap.sse.common.Util;
|
||||
import com.sap.sse.common.impl.MillisecondsTimePoint;
|
||||
|
||||
+40
-5
@@ -24,6 +24,7 @@ import com.sap.sailing.domain.base.RaceDefinition;
|
||||
import com.sap.sailing.domain.base.Regatta;
|
||||
import com.sap.sailing.domain.base.Waypoint;
|
||||
import com.sap.sailing.domain.common.Position;
|
||||
import com.sap.sailing.domain.common.TrackedRaceStatusEnum;
|
||||
import com.sap.sailing.domain.common.impl.DegreePosition;
|
||||
import com.sap.sailing.domain.racelog.impl.EmptyRaceLogStore;
|
||||
import com.sap.sailing.domain.regattalog.impl.EmptyRegattaLogStore;
|
||||
@@ -35,6 +36,7 @@ import com.sap.sailing.domain.tracking.impl.DynamicTrackedRegattaImpl;
|
||||
import com.sap.sailing.domain.tracking.impl.EmptyWindStore;
|
||||
import com.sap.sailing.domain.tracking.impl.GPSFixImpl;
|
||||
import com.sap.sailing.domain.tracking.impl.TrackedLegImpl;
|
||||
import com.sap.sailing.domain.tracking.impl.TrackedRaceStatusImpl;
|
||||
import com.sap.sailing.domain.tractracadapter.Receiver;
|
||||
import com.sap.sailing.domain.tractracadapter.ReceiverType;
|
||||
import com.sap.sailing.domain.tractracadapter.TracTracConnectionConstants;
|
||||
@@ -109,11 +111,7 @@ public abstract class OnlineTracTracBasedTest extends AbstractTracTracLiveTest {
|
||||
throws InterruptedException {
|
||||
setStoredDataLoaded(false);
|
||||
ArrayList<Receiver> receivers = new ArrayList<Receiver>();
|
||||
for (Receiver r : domainFactory.getUpdateReceivers(trackedRegatta, getTracTracRace(), EmptyWindStore.INSTANCE, /* delayToLiveInMillis */0l, /* simulator */null, new DynamicRaceDefinitionSet() {
|
||||
@Override
|
||||
public void addRaceDefinition(RaceDefinition race, DynamicTrackedRace trackedRace) {
|
||||
}
|
||||
},
|
||||
for (Receiver r : domainFactory.getUpdateReceivers(trackedRegatta, getTracTracRace(), EmptyWindStore.INSTANCE, /* delayToLiveInMillis */0l, /* simulator */null, createRaceDefinitionSet(),
|
||||
/* trackedRegattaRegistry */null,
|
||||
/* courseDesignUpdateURI */null, /* tracTracUsername */null, null, /* tracTracPassword */
|
||||
getEventSubscriber(), getRaceSubscriber(), receiverTypes)) {
|
||||
@@ -125,6 +123,31 @@ public abstract class OnlineTracTracBasedTest extends AbstractTracTracLiveTest {
|
||||
|
||||
@Override
|
||||
public void gotStoredDataEvent(IStoredDataEvent storedDataEvent) {
|
||||
TrackedRaceStatusImpl lastStatus;
|
||||
switch (storedDataEvent.getType()) {
|
||||
case Begin:
|
||||
logger.info("Stored data begin");
|
||||
lastStatus = new TrackedRaceStatusImpl(TrackedRaceStatusEnum.LOADING, 0);
|
||||
if (getTrackedRace() != null) {
|
||||
getTrackedRace().setStatus(lastStatus);
|
||||
}
|
||||
break;
|
||||
case End:
|
||||
logger.info("Stored data end");
|
||||
lastStatus = new TrackedRaceStatusImpl(TrackedRaceStatusEnum.TRACKING, 1);
|
||||
if (getTrackedRace() != null) {
|
||||
getTrackedRace().setStatus(lastStatus);
|
||||
}
|
||||
break;
|
||||
case Progress:
|
||||
lastStatus = new TrackedRaceStatusImpl(TrackedRaceStatusEnum.LOADING, storedDataEvent.getProgress());
|
||||
if (getTrackedRace() != null) {
|
||||
getTrackedRace().setStatus(lastStatus);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
if (storedDataEvent.getProgress() == 1.0) {
|
||||
synchronized (semaphor) {
|
||||
storedDataLoaded = true;
|
||||
@@ -164,6 +187,18 @@ public abstract class OnlineTracTracBasedTest extends AbstractTracTracLiveTest {
|
||||
trackedRace = (DynamicTrackedRaceImpl) getTrackedRegatta().getTrackedRace(race);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a race definition set that receives a call-back when the tracked race has been created. Subclasses may override this
|
||||
* in order to be informed at the point in time when the race creation happens.
|
||||
*/
|
||||
protected DynamicRaceDefinitionSet createRaceDefinitionSet() {
|
||||
return new DynamicRaceDefinitionSet() {
|
||||
@Override
|
||||
public void addRaceDefinition(RaceDefinition race, DynamicTrackedRace trackedRace) {
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
private void setStoredDataLoaded(boolean storedDataLoaded) {
|
||||
this.storedDataLoaded = storedDataLoaded;
|
||||
}
|
||||
|
||||
+2
-2
@@ -4,8 +4,8 @@ import java.util.concurrent.locks.ReentrantReadWriteLock;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import com.sap.sailing.util.impl.LockUtil;
|
||||
import com.sap.sailing.util.impl.NamedReentrantReadWriteLock;
|
||||
import com.sap.sse.concurrent.LockUtil;
|
||||
import com.sap.sse.concurrent.NamedReentrantReadWriteLock;
|
||||
|
||||
/**
|
||||
* {@link ReentrantReadWriteLock} can produce a lock between readers and other readers if the lock
|
||||
|
||||
+1
-1
@@ -12,8 +12,8 @@ import org.junit.Test;
|
||||
import com.sap.sailing.domain.base.Course;
|
||||
import com.sap.sailing.domain.tractracadapter.DomainFactory;
|
||||
import com.sap.sailing.domain.tractracadapter.Receiver;
|
||||
import com.tractrac.model.lib.api.route.IControlRoute;
|
||||
import com.sap.sse.common.Util;
|
||||
import com.tractrac.model.lib.api.route.IControlRoute;
|
||||
import com.tractrac.subscription.lib.api.control.IControlRouteChangeListener;
|
||||
|
||||
public class RouteAssemblyTest extends AbstractTracTracLiveTest {
|
||||
|
||||
+1
-1
@@ -28,9 +28,9 @@ import com.sap.sailing.domain.tracking.DynamicGPSFixTrack;
|
||||
import com.sap.sailing.domain.tracking.GPSFixMoving;
|
||||
import com.sap.sailing.domain.tracking.impl.WindImpl;
|
||||
import com.sap.sailing.domain.tractracadapter.ReceiverType;
|
||||
import com.tractrac.model.lib.api.event.CreateModelException;
|
||||
import com.sap.sse.common.Util;
|
||||
import com.sap.sse.common.impl.MillisecondsTimePoint;
|
||||
import com.tractrac.model.lib.api.event.CreateModelException;
|
||||
import com.tractrac.subscription.lib.api.SubscriberInitializationException;
|
||||
|
||||
public class SerializationWithOnlineRaceTest extends OnlineTracTracBasedTest {
|
||||
|
||||
+4
-4
@@ -15,11 +15,11 @@ import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.sap.sailing.util.SmartFutureCache;
|
||||
import com.sap.sailing.util.SmartFutureCache.EmptyUpdateInterval;
|
||||
import com.sap.sailing.util.impl.LockUtil;
|
||||
import com.sap.sailing.util.impl.NamedReentrantReadWriteLock;
|
||||
import com.sap.sse.common.Util;
|
||||
import com.sap.sse.concurrent.LockUtil;
|
||||
import com.sap.sse.concurrent.NamedReentrantReadWriteLock;
|
||||
import com.sap.sse.util.SmartFutureCache;
|
||||
import com.sap.sse.util.SmartFutureCache.EmptyUpdateInterval;
|
||||
|
||||
/**
|
||||
* When the thread reading a value from the cache holds a fair read lock, and another thread is trying to obtain the
|
||||
|
||||
+3
-3
@@ -13,9 +13,9 @@ import java.util.concurrent.ConcurrentSkipListSet;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.sap.sailing.util.SmartFutureCache;
|
||||
import com.sap.sailing.util.SmartFutureCache.EmptyUpdateInterval;
|
||||
import com.sap.sailing.util.SmartFutureCache.UpdateInterval;
|
||||
import com.sap.sse.util.SmartFutureCache;
|
||||
import com.sap.sse.util.SmartFutureCache.EmptyUpdateInterval;
|
||||
import com.sap.sse.util.SmartFutureCache.UpdateInterval;
|
||||
|
||||
public class SmartFutureCacheTest {
|
||||
@Test
|
||||
|
||||
+1
-1
@@ -24,7 +24,6 @@ import com.sap.sailing.domain.base.impl.DynamicPerson;
|
||||
import com.sap.sailing.domain.base.impl.DynamicTeam;
|
||||
import com.sap.sailing.domain.base.impl.PersonImpl;
|
||||
import com.sap.sailing.domain.base.impl.TeamImpl;
|
||||
import com.sap.sailing.domain.common.Color;
|
||||
import com.sap.sailing.domain.common.Position;
|
||||
import com.sap.sailing.domain.common.SpeedWithBearing;
|
||||
import com.sap.sailing.domain.common.impl.DegreeBearingImpl;
|
||||
@@ -34,6 +33,7 @@ import com.sap.sailing.domain.tracking.DynamicGPSFixTrack;
|
||||
import com.sap.sailing.domain.tracking.GPSFixMoving;
|
||||
import com.sap.sailing.domain.tracking.impl.DynamicGPSFixMovingTrackImpl;
|
||||
import com.sap.sailing.domain.tracking.impl.GPSFixMovingImpl;
|
||||
import com.sap.sse.common.Color;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
import com.sap.sse.common.impl.MillisecondsTimePoint;
|
||||
|
||||
|
||||
@@ -15,7 +15,6 @@ 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.Color;
|
||||
import com.sap.sailing.domain.common.NoWindException;
|
||||
import com.sap.sailing.domain.common.Tack;
|
||||
import com.sap.sailing.domain.common.impl.DegreeBearingImpl;
|
||||
@@ -25,6 +24,7 @@ import com.sap.sailing.domain.tracking.DynamicGPSFixTrack;
|
||||
import com.sap.sailing.domain.tracking.GPSFixMoving;
|
||||
import com.sap.sailing.domain.tracking.Wind;
|
||||
import com.sap.sailing.domain.tracking.impl.GPSFixMovingImpl;
|
||||
import com.sap.sse.common.Color;
|
||||
import com.sap.sse.common.impl.MillisecondsTimePoint;
|
||||
|
||||
|
||||
|
||||
+1
-1
@@ -27,7 +27,6 @@ import com.sap.sailing.domain.base.impl.RaceDefinitionImpl;
|
||||
import com.sap.sailing.domain.base.impl.RegattaImpl;
|
||||
import com.sap.sailing.domain.base.impl.TeamImpl;
|
||||
import com.sap.sailing.domain.base.impl.WaypointImpl;
|
||||
import com.sap.sailing.domain.common.Color;
|
||||
import com.sap.sailing.domain.common.ScoringSchemeType;
|
||||
import com.sap.sailing.domain.common.WindSourceType;
|
||||
import com.sap.sailing.domain.common.impl.DegreeBearingImpl;
|
||||
@@ -45,6 +44,7 @@ import com.sap.sailing.domain.tracking.impl.EmptyWindStore;
|
||||
import com.sap.sailing.domain.tracking.impl.GPSFixImpl;
|
||||
import com.sap.sailing.domain.tracking.impl.MarkPassingImpl;
|
||||
import com.sap.sailing.domain.tracking.impl.WindImpl;
|
||||
import com.sap.sse.common.Color;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
import com.sap.sse.common.impl.MillisecondsTimePoint;
|
||||
|
||||
|
||||
+1
-1
@@ -30,10 +30,10 @@ 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.tractrac.model.lib.api.event.CreateModelException;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
import com.sap.sse.common.Util;
|
||||
import com.sap.sse.common.impl.MillisecondsTimePoint;
|
||||
import com.tractrac.model.lib.api.event.CreateModelException;
|
||||
import com.tractrac.subscription.lib.api.SubscriberInitializationException;
|
||||
|
||||
public class WindEstimationOnKielerWoche505Race2DataTest extends OnlineTracTracBasedTest {
|
||||
|
||||
@@ -33,7 +33,6 @@ import com.sap.sailing.domain.base.impl.RaceDefinitionImpl;
|
||||
import com.sap.sailing.domain.base.impl.RegattaImpl;
|
||||
import com.sap.sailing.domain.base.impl.TeamImpl;
|
||||
import com.sap.sailing.domain.common.Bearing;
|
||||
import com.sap.sailing.domain.common.Color;
|
||||
import com.sap.sailing.domain.common.Position;
|
||||
import com.sap.sailing.domain.common.ScoringSchemeType;
|
||||
import com.sap.sailing.domain.common.confidence.Weigher;
|
||||
@@ -59,6 +58,7 @@ import com.sap.sailing.domain.tracking.impl.MarkPassingImpl;
|
||||
import com.sap.sailing.domain.tracking.impl.WindImpl;
|
||||
import com.sap.sailing.domain.tracking.impl.WindTrackImpl;
|
||||
import com.sap.sailing.domain.tracking.impl.WindWithConfidenceImpl;
|
||||
import com.sap.sse.common.Color;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
import com.sap.sse.common.Util;
|
||||
import com.sap.sse.common.Util.Pair;
|
||||
|
||||
+1
-1
@@ -37,10 +37,10 @@ import com.sap.sailing.domain.tracking.GPSFixMoving;
|
||||
import com.sap.sailing.domain.tracking.MarkPassing;
|
||||
import com.sap.sailing.domain.tracking.impl.WindImpl;
|
||||
import com.sap.sailing.domain.tractracadapter.ReceiverType;
|
||||
import com.tractrac.model.lib.api.event.CreateModelException;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
import com.sap.sse.common.Util;
|
||||
import com.sap.sse.common.impl.MillisecondsTimePoint;
|
||||
import com.tractrac.model.lib.api.event.CreateModelException;
|
||||
import com.tractrac.subscription.lib.api.SubscriberInitializationException;
|
||||
|
||||
public abstract class AbstractMarkPassingTest extends OnlineTracTracBasedTest {
|
||||
|
||||
+1
-1
@@ -73,11 +73,11 @@ import com.sap.sailing.domain.tractracadapter.ReceiverType;
|
||||
import com.sap.sailing.domain.tractracadapter.TracTracConfiguration;
|
||||
import com.sap.sailing.domain.tractracadapter.TracTracControlPoint;
|
||||
import com.sap.sailing.domain.tractracadapter.TracTracRaceTracker;
|
||||
import com.sap.sailing.util.WeakIdentityHashMap;
|
||||
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.MillisecondsTimePoint;
|
||||
import com.sap.sse.util.WeakIdentityHashMap;
|
||||
import com.tractrac.model.lib.api.data.IPosition;
|
||||
import com.tractrac.model.lib.api.event.CreateModelException;
|
||||
import com.tractrac.model.lib.api.event.ICompetitor;
|
||||
|
||||
@@ -30,10 +30,11 @@ Export-Package: com.sap.sailing.domain.base,
|
||||
com.sap.sailing.util.impl;x-friends:="com.sap.sailing.server.replication,com.sap.sailing.domain.test"
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Require-Bundle: com.googlecode.java-diff-utils;bundle-version="1.3.0",
|
||||
com.sap.sailing.domain.shared.android;bundle-version="1.0.0",
|
||||
com.sap.sailing.domain.shared.android,
|
||||
com.sap.sailing.domain.common,
|
||||
org.json.simple;bundle-version="1.1.0",
|
||||
com.sap.sailing.geocoding,
|
||||
com.sap.sse.datamining.shared;bundle-version="1.0.0",
|
||||
com.sap.sse.datamining.shared,
|
||||
com.sap.sse.common,
|
||||
com.sap.sse
|
||||
com.sap.sse,
|
||||
com.sap.sse.shared.android
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.sap.sailing.domain.base;
|
||||
|
||||
import com.sap.sailing.domain.common.scalablevalue.AbstractScalarValue;
|
||||
import com.sap.sailing.domain.common.scalablevalue.ScalableValue;
|
||||
import com.sap.sse.common.scalablevalue.AbstractScalarValue;
|
||||
import com.sap.sse.common.scalablevalue.ScalableValue;
|
||||
|
||||
public class ScalableInteger implements AbstractScalarValue<Integer> {
|
||||
|
||||
@@ -12,12 +12,12 @@ public class ScalableInteger implements AbstractScalarValue<Integer> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ScalableValue<Integer, Integer> multiply(double factor) {
|
||||
public ScalableInteger multiply(double factor) {
|
||||
return new ScalableInteger((int) (getValue() * factor));
|
||||
}
|
||||
|
||||
@Override
|
||||
public ScalableValue<Integer, Integer> add(ScalableValue<Integer, Integer> t) {
|
||||
public ScalableInteger add(ScalableValue<Integer, Integer> t) {
|
||||
return new ScalableInteger(getValue() + t.getValue());
|
||||
}
|
||||
|
||||
@@ -31,4 +31,18 @@ public class ScalableInteger implements AbstractScalarValue<Integer> {
|
||||
return value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getDistance(Integer other) {
|
||||
return Math.abs(value-other);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return value.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compareTo(Integer o) {
|
||||
return new Integer(value).compareTo(o);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,10 +23,10 @@ import com.sap.sailing.domain.base.Leg;
|
||||
import com.sap.sailing.domain.base.Waypoint;
|
||||
import com.sap.sailing.domain.common.PassingInstruction;
|
||||
import com.sap.sailing.util.CourseAsWaypointList;
|
||||
import com.sap.sailing.util.impl.LockUtil;
|
||||
import com.sap.sailing.util.impl.NamedReentrantReadWriteLock;
|
||||
import com.sap.sse.common.Util;
|
||||
import com.sap.sse.common.impl.NamedImpl;
|
||||
import com.sap.sse.concurrent.LockUtil;
|
||||
import com.sap.sse.concurrent.NamedReentrantReadWriteLock;
|
||||
|
||||
import difflib.DiffUtils;
|
||||
import difflib.Patch;
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ package com.sap.sailing.domain.base.impl;
|
||||
import java.io.Serializable;
|
||||
|
||||
import com.sap.sailing.domain.base.CompetitorStore;
|
||||
import com.sap.sailing.domain.common.Color;
|
||||
import com.sap.sse.common.Color;
|
||||
|
||||
public interface DynamicCompetitorStore extends CompetitorStore {
|
||||
@Override
|
||||
|
||||
+1
-1
@@ -3,8 +3,8 @@ package com.sap.sailing.domain.base.impl;
|
||||
import com.sap.sailing.domain.base.PositionWithConfidence;
|
||||
import com.sap.sailing.domain.common.Position;
|
||||
import com.sap.sailing.domain.common.confidence.impl.HasConfidenceImpl;
|
||||
import com.sap.sailing.domain.common.scalablevalue.IsScalable;
|
||||
import com.sap.sailing.domain.common.scalablevalue.impl.ScalablePosition;
|
||||
import com.sap.sse.common.scalablevalue.IsScalable;
|
||||
|
||||
public class PositionWithConfidenceImpl<RelativeTo> extends HasConfidenceImpl<ScalablePosition, Position, RelativeTo> implements
|
||||
PositionWithConfidence<RelativeTo>, IsScalable<ScalablePosition, Position> {
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user