mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-09-23 14:08:40 +00:00
moved Scalable* to domain.common to be able to use it also in GWT bundles
This commit is contained in:
@@ -15,4 +15,6 @@ Export-Package: com.sap.sailing.domain.common,
|
||||
com.sap.sailing.domain.common.quadtree.impl;x-friends:="com.sap.sailing.domain.test",
|
||||
com.sap.sailing.domain.common.racelog,
|
||||
com.sap.sailing.domain.common.racelog.utils,
|
||||
com.sap.sailing.domain.common.trackfiles
|
||||
com.sap.sailing.domain.common.trackfiles,
|
||||
com.sap.sailing.domain.scalablevalue,
|
||||
com.sap.sailing.domain.scalablevalue.impl
|
||||
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
package com.sap.sailing.domain.common;
|
||||
|
||||
public class DoublePair {
|
||||
private final double a;
|
||||
private final double b;
|
||||
|
||||
public DoublePair(double a, double b) {
|
||||
super();
|
||||
this.a = a;
|
||||
this.b = b;
|
||||
}
|
||||
|
||||
public double getA() {
|
||||
return a;
|
||||
}
|
||||
|
||||
public double getB() {
|
||||
return b;
|
||||
}
|
||||
}
|
||||
+2
-1
@@ -1,4 +1,5 @@
|
||||
package com.sap.sailing.domain.confidence;
|
||||
package com.sap.sailing.domain.scalablevalue;
|
||||
|
||||
|
||||
/**
|
||||
* A {@link ScalableValue} where the <code>ValueType</code> and the <code>AveragesTo</code> type are both the same because
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.domain.confidence;
|
||||
package com.sap.sailing.domain.scalablevalue;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.domain.confidence;
|
||||
package com.sap.sailing.domain.scalablevalue;
|
||||
|
||||
public interface ScalableValue<ValueType, AveragesTo> {
|
||||
ScalableValue<ValueType, AveragesTo> multiply(double factor);
|
||||
+3
-3
@@ -1,9 +1,9 @@
|
||||
package com.sap.sailing.domain.base.impl;
|
||||
package com.sap.sailing.domain.scalablevalue.impl;
|
||||
|
||||
import com.sap.sailing.domain.base.BearingWithConfidence.DoublePair;
|
||||
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.confidence.ScalableValue;
|
||||
import com.sap.sailing.domain.scalablevalue.ScalableValue;
|
||||
|
||||
public class ScalableBearing implements ScalableValue<DoublePair, Bearing> {
|
||||
private final double sin;
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
package com.sap.sailing.domain.base.impl;
|
||||
package com.sap.sailing.domain.scalablevalue.impl;
|
||||
|
||||
import com.sap.sailing.domain.common.Position;
|
||||
import com.sap.sailing.domain.common.impl.RadianPosition;
|
||||
import com.sap.sailing.domain.confidence.ScalableValue;
|
||||
import com.sap.sailing.domain.scalablevalue.ScalableValue;
|
||||
|
||||
public class ScalablePosition implements ScalableValue<ScalablePosition, Position> {
|
||||
private final double x, y, z;
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
package com.sap.sailing.domain.base.impl;
|
||||
package com.sap.sailing.domain.scalablevalue.impl;
|
||||
|
||||
import com.sap.sailing.domain.common.Speed;
|
||||
import com.sap.sailing.domain.common.impl.KnotSpeedImpl;
|
||||
import com.sap.sailing.domain.confidence.ScalableValue;
|
||||
import com.sap.sailing.domain.scalablevalue.ScalableValue;
|
||||
|
||||
public class ScalableSpeed implements ScalableValue<Double, Speed> {
|
||||
private final double knots;
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.domain.base.impl;
|
||||
package com.sap.sailing.domain.scalablevalue.impl;
|
||||
|
||||
import com.sap.sailing.domain.common.Bearing;
|
||||
import com.sap.sailing.domain.common.Speed;
|
||||
@@ -7,7 +7,7 @@ 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.impl.Util.Triple;
|
||||
import com.sap.sailing.domain.confidence.ScalableValue;
|
||||
import com.sap.sailing.domain.scalablevalue.ScalableValue;
|
||||
|
||||
/**
|
||||
* Separately scales speed and bearing. Instead of considering speed and bearing a single vector that can be scaled, the
|
||||
+4
-4
@@ -13,9 +13,6 @@ import java.util.logging.Logger;
|
||||
import com.sap.sailing.declination.Declination;
|
||||
import com.sap.sailing.declination.DeclinationService;
|
||||
import com.sap.sailing.domain.base.Timed;
|
||||
import com.sap.sailing.domain.base.impl.ScalableBearing;
|
||||
import com.sap.sailing.domain.base.impl.ScalablePosition;
|
||||
import com.sap.sailing.domain.base.impl.ScalableSpeed;
|
||||
import com.sap.sailing.domain.common.Bearing;
|
||||
import com.sap.sailing.domain.common.Position;
|
||||
import com.sap.sailing.domain.common.Speed;
|
||||
@@ -24,7 +21,6 @@ import com.sap.sailing.domain.common.TimePoint;
|
||||
import com.sap.sailing.domain.common.impl.KnotSpeedWithBearingImpl;
|
||||
import com.sap.sailing.domain.common.impl.Util;
|
||||
import com.sap.sailing.domain.common.impl.Util.Pair;
|
||||
import com.sap.sailing.domain.confidence.ScalableValue;
|
||||
import com.sap.sailing.domain.igtimiadapter.BulkFixReceiver;
|
||||
import com.sap.sailing.domain.igtimiadapter.IgtimiConnection;
|
||||
import com.sap.sailing.domain.igtimiadapter.IgtimiFixReceiverAdapter;
|
||||
@@ -39,6 +35,10 @@ import com.sap.sailing.domain.igtimiadapter.datatypes.HDGM;
|
||||
import com.sap.sailing.domain.igtimiadapter.datatypes.SOG;
|
||||
import com.sap.sailing.domain.igtimiadapter.datatypes.Type;
|
||||
import com.sap.sailing.domain.igtimiadapter.websocket.WebSocketConnectionManager;
|
||||
import com.sap.sailing.domain.scalablevalue.ScalableValue;
|
||||
import com.sap.sailing.domain.scalablevalue.impl.ScalableBearing;
|
||||
import com.sap.sailing.domain.scalablevalue.impl.ScalablePosition;
|
||||
import com.sap.sailing.domain.scalablevalue.impl.ScalableSpeed;
|
||||
import com.sap.sailing.domain.tracking.DynamicTrack;
|
||||
import com.sap.sailing.domain.tracking.Track;
|
||||
import com.sap.sailing.domain.tracking.Wind;
|
||||
|
||||
@@ -12,7 +12,6 @@ import org.junit.Test;
|
||||
import com.sap.sailing.domain.base.BearingWithConfidence;
|
||||
import com.sap.sailing.domain.base.impl.BearingWithConfidenceImpl;
|
||||
import com.sap.sailing.domain.base.impl.PositionWithConfidenceImpl;
|
||||
import com.sap.sailing.domain.base.impl.ScalablePosition;
|
||||
import com.sap.sailing.domain.common.Bearing;
|
||||
import com.sap.sailing.domain.common.Position;
|
||||
import com.sap.sailing.domain.common.impl.DegreeBearingImpl;
|
||||
@@ -21,6 +20,7 @@ import com.sap.sailing.domain.common.impl.RadianBearingImpl;
|
||||
import com.sap.sailing.domain.confidence.ConfidenceBasedAverager;
|
||||
import com.sap.sailing.domain.confidence.ConfidenceFactory;
|
||||
import com.sap.sailing.domain.confidence.HasConfidence;
|
||||
import com.sap.sailing.domain.scalablevalue.impl.ScalablePosition;
|
||||
import com.sap.sailing.domain.tracking.impl.BearingCluster;
|
||||
import com.sap.sailing.domain.tracking.impl.BearingWithConfidenceCluster;
|
||||
|
||||
|
||||
+2
-2
@@ -15,7 +15,6 @@ import com.sap.sailing.domain.base.BearingWithConfidence;
|
||||
import com.sap.sailing.domain.base.PositionWithConfidence;
|
||||
import com.sap.sailing.domain.base.impl.BearingWithConfidenceImpl;
|
||||
import com.sap.sailing.domain.base.impl.PositionWithConfidenceImpl;
|
||||
import com.sap.sailing.domain.base.impl.ScalablePosition;
|
||||
import com.sap.sailing.domain.common.Bearing;
|
||||
import com.sap.sailing.domain.common.Position;
|
||||
import com.sap.sailing.domain.common.TimePoint;
|
||||
@@ -29,9 +28,10 @@ import com.sap.sailing.domain.confidence.ConfidenceBasedWindAverager;
|
||||
import com.sap.sailing.domain.confidence.ConfidenceFactory;
|
||||
import com.sap.sailing.domain.confidence.HasConfidence;
|
||||
import com.sap.sailing.domain.confidence.HasConfidenceAndIsScalable;
|
||||
import com.sap.sailing.domain.confidence.ScalableValue;
|
||||
import com.sap.sailing.domain.confidence.Weigher;
|
||||
import com.sap.sailing.domain.confidence.impl.ScalableDoubleWithConfidence;
|
||||
import com.sap.sailing.domain.scalablevalue.ScalableValue;
|
||||
import com.sap.sailing.domain.scalablevalue.impl.ScalablePosition;
|
||||
import com.sap.sailing.domain.tracking.Wind;
|
||||
import com.sap.sailing.domain.tracking.WindWithConfidence;
|
||||
import com.sap.sailing.domain.tracking.impl.BearingWithConfidenceCluster;
|
||||
|
||||
+1
-19
@@ -1,27 +1,9 @@
|
||||
package com.sap.sailing.domain.base;
|
||||
|
||||
import com.sap.sailing.domain.base.BearingWithConfidence.DoublePair;
|
||||
import com.sap.sailing.domain.common.Bearing;
|
||||
import com.sap.sailing.domain.common.DoublePair;
|
||||
import com.sap.sailing.domain.confidence.HasConfidenceAndIsScalable;
|
||||
|
||||
|
||||
public interface BearingWithConfidence<RelativeTo> extends HasConfidenceAndIsScalable<DoublePair, Bearing, RelativeTo> {
|
||||
public static class DoublePair {
|
||||
private final double a;
|
||||
private final double b;
|
||||
|
||||
public DoublePair(double a, double b) {
|
||||
super();
|
||||
this.a = a;
|
||||
this.b = b;
|
||||
}
|
||||
|
||||
public double getA() {
|
||||
return a;
|
||||
}
|
||||
|
||||
public double getB() {
|
||||
return b;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,8 +1,8 @@
|
||||
package com.sap.sailing.domain.base;
|
||||
|
||||
import com.sap.sailing.domain.base.impl.ScalablePosition;
|
||||
import com.sap.sailing.domain.common.Position;
|
||||
import com.sap.sailing.domain.confidence.HasConfidenceAndIsScalable;
|
||||
import com.sap.sailing.domain.scalablevalue.impl.ScalablePosition;
|
||||
|
||||
/**
|
||||
* A position with a confidence attached. The scalable intermediate type represents the x/y/z coordinate of the
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.sap.sailing.domain.base;
|
||||
|
||||
import com.sap.sailing.domain.confidence.AbstractScalarValue;
|
||||
import com.sap.sailing.domain.confidence.ScalableValue;
|
||||
import com.sap.sailing.domain.scalablevalue.AbstractScalarValue;
|
||||
import com.sap.sailing.domain.scalablevalue.ScalableValue;
|
||||
|
||||
public class ScalableInteger implements AbstractScalarValue<Integer> {
|
||||
|
||||
|
||||
+4
-3
@@ -1,10 +1,11 @@
|
||||
package com.sap.sailing.domain.base.impl;
|
||||
|
||||
import com.sap.sailing.domain.base.BearingWithConfidence;
|
||||
import com.sap.sailing.domain.base.BearingWithConfidence.DoublePair;
|
||||
import com.sap.sailing.domain.common.Bearing;
|
||||
import com.sap.sailing.domain.confidence.IsScalable;
|
||||
import com.sap.sailing.domain.confidence.ScalableValue;
|
||||
import com.sap.sailing.domain.common.DoublePair;
|
||||
import com.sap.sailing.domain.scalablevalue.IsScalable;
|
||||
import com.sap.sailing.domain.scalablevalue.ScalableValue;
|
||||
import com.sap.sailing.domain.scalablevalue.impl.ScalableBearing;
|
||||
|
||||
public class BearingWithConfidenceImpl<RelativeTo> extends HasConfidenceImpl<DoublePair, Bearing, RelativeTo>
|
||||
implements BearingWithConfidence<RelativeTo>, IsScalable<DoublePair, Bearing> {
|
||||
|
||||
+2
-1
@@ -2,7 +2,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.confidence.IsScalable;
|
||||
import com.sap.sailing.domain.scalablevalue.IsScalable;
|
||||
import com.sap.sailing.domain.scalablevalue.impl.ScalablePosition;
|
||||
|
||||
public class PositionWithConfidenceImpl<RelativeTo> extends HasConfidenceImpl<ScalablePosition, Position, RelativeTo> implements
|
||||
PositionWithConfidence<RelativeTo>, IsScalable<ScalablePosition, Position> {
|
||||
|
||||
+3
-2
@@ -4,8 +4,9 @@ import com.sap.sailing.domain.base.SpeedWithBearingWithConfidence;
|
||||
import com.sap.sailing.domain.common.Speed;
|
||||
import com.sap.sailing.domain.common.SpeedWithBearing;
|
||||
import com.sap.sailing.domain.common.impl.Util.Triple;
|
||||
import com.sap.sailing.domain.confidence.IsScalable;
|
||||
import com.sap.sailing.domain.confidence.ScalableValue;
|
||||
import com.sap.sailing.domain.scalablevalue.IsScalable;
|
||||
import com.sap.sailing.domain.scalablevalue.ScalableValue;
|
||||
import com.sap.sailing.domain.scalablevalue.impl.ScalableSpeedWithBearing;
|
||||
|
||||
public class SpeedWithBearingWithConfidenceImpl<RelativeTo> extends
|
||||
HasConfidenceImpl<Triple<Speed, Double, Double>, SpeedWithBearing, RelativeTo> implements
|
||||
|
||||
+2
-1
@@ -2,7 +2,8 @@ package com.sap.sailing.domain.base.impl;
|
||||
|
||||
import com.sap.sailing.domain.base.SpeedWithConfidence;
|
||||
import com.sap.sailing.domain.common.Speed;
|
||||
import com.sap.sailing.domain.confidence.ScalableValue;
|
||||
import com.sap.sailing.domain.scalablevalue.ScalableValue;
|
||||
import com.sap.sailing.domain.scalablevalue.impl.ScalableSpeed;
|
||||
|
||||
public class SpeedWithConfidenceImpl<RelativeTo> extends HasConfidenceImpl<Double, Speed, RelativeTo> implements SpeedWithConfidence<RelativeTo> {
|
||||
private static final long serialVersionUID = -3122580369653833748L;
|
||||
|
||||
+2
-2
@@ -4,7 +4,7 @@ import java.io.Serializable;
|
||||
|
||||
import com.sap.sailing.domain.common.Distance;
|
||||
import com.sap.sailing.domain.common.TimePoint;
|
||||
import com.sap.sailing.domain.tracking.GPSFixTrack;
|
||||
import com.sap.sailing.domain.scalablevalue.ScalableValue;
|
||||
|
||||
/**
|
||||
* Some values, particularly those obtained from real-world measurements, are not always accurate. Some values are
|
||||
@@ -72,7 +72,7 @@ public interface HasConfidence<ValueType, BaseType, RelativeTo> extends Serializ
|
||||
|
||||
/**
|
||||
* The confidence attached to a value is usually relative to some reference point, such as a time point or
|
||||
* a position. For example, when a {@link GPSFixTrack} is asked to deliver an estimation for the tracked item's
|
||||
* a position. For example, when a <code>GPSFixTrack</code> is asked to deliver an estimation for the tracked item's
|
||||
* {@link Position} at some given {@link TimePoint}, the track computes some average from a number of GPS fixes. The resulting
|
||||
* position has a certain confidence, depending on the time differences between the fixes and the time point for which
|
||||
* the position estimation was requested. The result therefore carries this reference time point for which the estimation
|
||||
|
||||
+2
@@ -1,5 +1,7 @@
|
||||
package com.sap.sailing.domain.confidence;
|
||||
|
||||
import com.sap.sailing.domain.scalablevalue.IsScalable;
|
||||
|
||||
public interface HasConfidenceAndIsScalable<ValueType, BaseType, RelativeTo> extends IsScalable<ValueType, BaseType>,
|
||||
HasConfidence<ValueType, BaseType, RelativeTo> {
|
||||
}
|
||||
|
||||
+1
-1
@@ -5,8 +5,8 @@ import com.sap.sailing.domain.common.impl.Util;
|
||||
import com.sap.sailing.domain.confidence.ConfidenceBasedAverager;
|
||||
import com.sap.sailing.domain.confidence.HasConfidence;
|
||||
import com.sap.sailing.domain.confidence.HasConfidenceAndIsScalable;
|
||||
import com.sap.sailing.domain.confidence.ScalableValue;
|
||||
import com.sap.sailing.domain.confidence.Weigher;
|
||||
import com.sap.sailing.domain.scalablevalue.ScalableValue;
|
||||
|
||||
|
||||
/**
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
package com.sap.sailing.domain.confidence.impl;
|
||||
|
||||
import com.sap.sailing.domain.confidence.AbstractScalarValue;
|
||||
import com.sap.sailing.domain.confidence.ScalableValue;
|
||||
import com.sap.sailing.domain.scalablevalue.AbstractScalarValue;
|
||||
import com.sap.sailing.domain.scalablevalue.ScalableValue;
|
||||
|
||||
public class ScalableDouble implements AbstractScalarValue<Double> {
|
||||
private final double value;
|
||||
|
||||
+1
-1
@@ -5,9 +5,9 @@ import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import com.sap.sailing.domain.base.BearingWithConfidence;
|
||||
import com.sap.sailing.domain.base.BearingWithConfidence.DoublePair;
|
||||
import com.sap.sailing.domain.base.impl.BearingWithConfidenceImpl;
|
||||
import com.sap.sailing.domain.common.Bearing;
|
||||
import com.sap.sailing.domain.common.DoublePair;
|
||||
import com.sap.sailing.domain.common.impl.Util.Pair;
|
||||
import com.sap.sailing.domain.confidence.ConfidenceBasedAverager;
|
||||
import com.sap.sailing.domain.confidence.ConfidenceFactory;
|
||||
|
||||
+3
-3
@@ -1,11 +1,11 @@
|
||||
package com.sap.sailing.domain.tracking.impl;
|
||||
|
||||
import com.sap.sailing.domain.base.impl.ScalablePosition;
|
||||
import com.sap.sailing.domain.base.impl.ScalableSpeedWithBearing;
|
||||
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.confidence.ScalableValue;
|
||||
import com.sap.sailing.domain.scalablevalue.ScalableValue;
|
||||
import com.sap.sailing.domain.scalablevalue.impl.ScalablePosition;
|
||||
import com.sap.sailing.domain.scalablevalue.impl.ScalableSpeedWithBearing;
|
||||
import com.sap.sailing.domain.tracking.Wind;
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user