fixed package naming and put scalablevalue packages into domain.common's GWT module descriptor

This commit is contained in:
Axel Uhl
2014-05-01 12:18:17 +02:00
parent af0adbf4a3
commit 386da3b6e3
24 changed files with 48 additions and 45 deletions
@@ -15,6 +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.scalablevalue,
com.sap.sailing.domain.scalablevalue.impl
com.sap.sailing.domain.common.scalablevalue,
com.sap.sailing.domain.common.scalablevalue.impl,
com.sap.sailing.domain.common.trackfiles
@@ -6,4 +6,6 @@
<source path='common/racelog'/>
<source path='common/filter'/>
<source path='common/media'/>
<source path='common/scalablevalue'/>
<source path='common/scalablevalue/impl'/>
</module>
@@ -1,4 +1,4 @@
package com.sap.sailing.domain.scalablevalue;
package com.sap.sailing.domain.common.scalablevalue;
/**
@@ -1,4 +1,4 @@
package com.sap.sailing.domain.scalablevalue;
package com.sap.sailing.domain.common.scalablevalue;
import java.io.Serializable;
@@ -1,4 +1,4 @@
package com.sap.sailing.domain.scalablevalue;
package com.sap.sailing.domain.common.scalablevalue;
public interface ScalableValue<ValueType, AveragesTo> {
ScalableValue<ValueType, AveragesTo> multiply(double factor);
@@ -1,9 +1,9 @@
package com.sap.sailing.domain.scalablevalue.impl;
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.scalablevalue.ScalableValue;
import com.sap.sailing.domain.common.scalablevalue.ScalableValue;
public class ScalableBearing implements ScalableValue<DoublePair, Bearing> {
private final double sin;
@@ -1,8 +1,8 @@
package com.sap.sailing.domain.scalablevalue.impl;
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.scalablevalue.ScalableValue;
import com.sap.sailing.domain.common.scalablevalue.ScalableValue;
public class ScalablePosition implements ScalableValue<ScalablePosition, Position> {
private final double x, y, z;
@@ -1,8 +1,8 @@
package com.sap.sailing.domain.scalablevalue.impl;
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.scalablevalue.ScalableValue;
import com.sap.sailing.domain.common.scalablevalue.ScalableValue;
public class ScalableSpeed implements ScalableValue<Double, Speed> {
private final double knots;
@@ -1,4 +1,4 @@
package com.sap.sailing.domain.scalablevalue.impl;
package com.sap.sailing.domain.common.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.scalablevalue.ScalableValue;
import com.sap.sailing.domain.common.scalablevalue.ScalableValue;
/**
* Separately scales speed and bearing. Instead of considering speed and bearing a single vector that can be scaled, the
@@ -21,6 +21,10 @@ 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.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;
import com.sap.sailing.domain.igtimiadapter.BulkFixReceiver;
import com.sap.sailing.domain.igtimiadapter.IgtimiConnection;
import com.sap.sailing.domain.igtimiadapter.IgtimiFixReceiverAdapter;
@@ -35,10 +39,6 @@ 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;
@@ -17,10 +17,10 @@ import com.sap.sailing.domain.common.Position;
import com.sap.sailing.domain.common.impl.DegreeBearingImpl;
import com.sap.sailing.domain.common.impl.DegreePosition;
import com.sap.sailing.domain.common.impl.RadianBearingImpl;
import com.sap.sailing.domain.common.scalablevalue.impl.ScalablePosition;
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;
@@ -23,6 +23,8 @@ import com.sap.sailing.domain.common.impl.DegreePosition;
import com.sap.sailing.domain.common.impl.KnotSpeedWithBearingImpl;
import com.sap.sailing.domain.common.impl.MillisecondsTimePoint;
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.ConfidenceBasedAverager;
import com.sap.sailing.domain.confidence.ConfidenceBasedWindAverager;
import com.sap.sailing.domain.confidence.ConfidenceFactory;
@@ -30,8 +32,6 @@ import com.sap.sailing.domain.confidence.HasConfidence;
import com.sap.sailing.domain.confidence.HasConfidenceAndIsScalable;
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,8 +1,8 @@
package com.sap.sailing.domain.base;
import com.sap.sailing.domain.common.Position;
import com.sap.sailing.domain.common.scalablevalue.impl.ScalablePosition;
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.scalablevalue.AbstractScalarValue;
import com.sap.sailing.domain.scalablevalue.ScalableValue;
import com.sap.sailing.domain.common.scalablevalue.AbstractScalarValue;
import com.sap.sailing.domain.common.scalablevalue.ScalableValue;
public class ScalableInteger implements AbstractScalarValue<Integer> {
@@ -3,9 +3,9 @@ package com.sap.sailing.domain.base.impl;
import com.sap.sailing.domain.base.BearingWithConfidence;
import com.sap.sailing.domain.common.Bearing;
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;
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;
public class BearingWithConfidenceImpl<RelativeTo> extends HasConfidenceImpl<DoublePair, Bearing, RelativeTo>
implements BearingWithConfidence<RelativeTo>, IsScalable<DoublePair, Bearing> {
@@ -2,8 +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.scalablevalue.IsScalable;
import com.sap.sailing.domain.scalablevalue.impl.ScalablePosition;
import com.sap.sailing.domain.common.scalablevalue.IsScalable;
import com.sap.sailing.domain.common.scalablevalue.impl.ScalablePosition;
public class PositionWithConfidenceImpl<RelativeTo> extends HasConfidenceImpl<ScalablePosition, Position, RelativeTo> implements
PositionWithConfidence<RelativeTo>, IsScalable<ScalablePosition, Position> {
@@ -4,9 +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.scalablevalue.IsScalable;
import com.sap.sailing.domain.scalablevalue.ScalableValue;
import com.sap.sailing.domain.scalablevalue.impl.ScalableSpeedWithBearing;
import com.sap.sailing.domain.common.scalablevalue.IsScalable;
import com.sap.sailing.domain.common.scalablevalue.ScalableValue;
import com.sap.sailing.domain.common.scalablevalue.impl.ScalableSpeedWithBearing;
public class SpeedWithBearingWithConfidenceImpl<RelativeTo> extends
HasConfidenceImpl<Triple<Speed, Double, Double>, SpeedWithBearing, RelativeTo> implements
@@ -2,8 +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.scalablevalue.ScalableValue;
import com.sap.sailing.domain.scalablevalue.impl.ScalableSpeed;
import com.sap.sailing.domain.common.scalablevalue.ScalableValue;
import com.sap.sailing.domain.common.scalablevalue.impl.ScalableSpeed;
public class SpeedWithConfidenceImpl<RelativeTo> extends HasConfidenceImpl<Double, Speed, RelativeTo> implements SpeedWithConfidence<RelativeTo> {
private static final long serialVersionUID = -3122580369653833748L;
@@ -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.scalablevalue.ScalableValue;
import com.sap.sailing.domain.common.scalablevalue.ScalableValue;
/**
* Some values, particularly those obtained from real-world measurements, are not always accurate. Some values are
@@ -1,6 +1,6 @@
package com.sap.sailing.domain.confidence;
import com.sap.sailing.domain.scalablevalue.IsScalable;
import com.sap.sailing.domain.common.scalablevalue.IsScalable;
public interface HasConfidenceAndIsScalable<ValueType, BaseType, RelativeTo> extends IsScalable<ValueType, BaseType>,
HasConfidence<ValueType, BaseType, RelativeTo> {
@@ -2,11 +2,11 @@ package com.sap.sailing.domain.confidence.impl;
import com.sap.sailing.domain.base.impl.HasConfidenceImpl;
import com.sap.sailing.domain.common.impl.Util;
import com.sap.sailing.domain.common.scalablevalue.ScalableValue;
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.Weigher;
import com.sap.sailing.domain.scalablevalue.ScalableValue;
/**
@@ -1,7 +1,7 @@
package com.sap.sailing.domain.confidence.impl;
import com.sap.sailing.domain.scalablevalue.AbstractScalarValue;
import com.sap.sailing.domain.scalablevalue.ScalableValue;
import com.sap.sailing.domain.common.scalablevalue.AbstractScalarValue;
import com.sap.sailing.domain.common.scalablevalue.ScalableValue;
public class ScalableDouble implements AbstractScalarValue<Double> {
private final double value;
@@ -3,9 +3,9 @@ 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.scalablevalue.ScalableValue;
import com.sap.sailing.domain.scalablevalue.impl.ScalablePosition;
import com.sap.sailing.domain.scalablevalue.impl.ScalableSpeedWithBearing;
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;
/**
@@ -69,6 +69,7 @@ import com.sap.sailing.domain.common.impl.RGBColor;
import com.sap.sailing.domain.common.impl.Util;
import com.sap.sailing.domain.common.impl.Util.Pair;
import com.sap.sailing.domain.common.impl.Util.Triple;
import com.sap.sailing.domain.common.scalablevalue.impl.ScalableBearing;
import com.sap.sailing.gwt.ui.actions.GetRaceMapDataAction;
import com.sap.sailing.gwt.ui.actions.GetWindInfoAction;
import com.sap.sailing.gwt.ui.adminconsole.DateAndTimeFormatterUtil;
@@ -1485,12 +1486,12 @@ public class RaceMap extends AbsolutePanel implements TimeListener, CompetitorSe
double factorForAfter = 1-factorForBefore;
PositionDTO betweenPosition = new PositionDTO(factorForBefore*fixBefore.position.latDeg + factorForAfter*fixAfter.position.latDeg,
factorForBefore*fixBefore.position.lngDeg + factorForAfter*fixAfter.position.lngDeg);
double betweenBearing = new DegreeBearingImpl(fixBefore.speedWithBearing.bearingInDegrees).middle(
new DegreeBearingImpl(fixAfter.speedWithBearing.bearingInDegrees)).getDegrees();
double betweenBearing = new ScalableBearing(new DegreeBearingImpl(fixBefore.speedWithBearing.bearingInDegrees)).
multiply(factorForBefore).add(new ScalableBearing(new DegreeBearingImpl(fixAfter.speedWithBearing.bearingInDegrees)).
multiply(factorForAfter)).divide(1).getDegrees();
SpeedWithBearingDTO betweenSpeed = new SpeedWithBearingDTO(
factorForBefore*fixBefore.speedWithBearing.speedInKnots + factorForAfter*fixAfter.speedWithBearing.speedInKnots,
betweenBearing);
// TODO move SpeedWithBearing and GPSFix with implementation classes to com.sap.sailing.domain.common and share in GWT bundle
result = new GPSFixDTO(date, betweenPosition, betweenSpeed, closer.degreesBoatToTheWind,
closer.tack, closer.legType, fixBefore.extrapolated || fixAfter.extrapolated);
}