472ad76d343beb084124af7001fbc8ee5ebc77c6
java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/FieldNames.java
| ... | ... | @@ -202,9 +202,9 @@ public enum FieldNames { |
| 202 | 202 | MANEUVER_CURVE_WITH_STABLE_SPEED_AND_COURSE_BOUNDERIES, MAX_TURNING_RATE_IN_DEGREE_PER_SECOUND, MANEUVER_LOSS, |
| 203 | 203 | // MANEUVERS main curve boundaries properties, see MAIN_CURVE_BOUNDARIES field above |
| 204 | 204 | MANEUVER_TIMEPOINT_BEFORE, MANEUVER_TIMEPOINT_AFTER, MANEUVER_SPEED_WITH_BEARING_BEFORE, MANEUVER_SPEED_WITH_BEARING_AFTER, |
| 205 | - MANEUVER_DIRECTION_CHANGE_IN_DEGREES, MANEUVER_LOWEST_SPEED, MANEUVER_HIGHEST_SPEED, |
|
| 205 | + MANEUVER_DIRECTION_CHANGE_IN_DEGREES, MANEUVER_LOWEST_SPEED_IN_KNOTS, MANEUVER_HIGHEST_SPEED_IN_KNOTS, |
|
| 206 | 206 | MANEUVER_DISTANCE_SAILED_POMA, MANEUVER_DISTANCE_SAILED_INMPOMA, MANEUVER_SPEED_WITH_BEARING_BEFORE_DEGREES, |
| 207 | - MANEUVER_SPEED_WITH_BEARING_BEFORE_SPEED, MANEUVER_SPEED_WITH_BEARING_AFTER_DEGREES, MANEUVER_SPEED_WITH_BEARING_AFTER_SPEED, |
|
| 207 | + MANEUVER_SPEED_WITH_BEARING_BEFORE_SPEED, MANEUVER_SPEED_WITH_BEARING_AFTER_DEGREES, MANEUVER_SPEED_WITH_BEARING_AFTER_SPEED_IN_KNOTS, |
|
| 208 | 208 | MANEUVER_START_POSITION_LAT_RAD, MANEUVER_START_POSITION_LNG_RAD, MANEUVER_END_POSITION_LAT_RAD, |
| 209 | 209 | MANEUVER_END_POSITION_LNG_RAD, MIDDLE_MAEUVER_ANGLE, MANEUVER_LOSS_DURATION |
| 210 | 210 | ; |
java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java
| ... | ... | @@ -3410,14 +3410,14 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { |
| 3410 | 3410 | final Bearing bearingBefore = new DegreeBearingImpl(speedWithBearingBeforeDegrees); |
| 3411 | 3411 | final SpeedWithBearing speedWithBearingBefore = new KnotSpeedWithBearingImpl(speedWithBearingBeforeSpeed, bearingBefore); |
| 3412 | 3412 | final Double speedWithBearingAfterDegrees = document.getDouble(FieldNames.MANEUVER_SPEED_WITH_BEARING_AFTER_DEGREES.name()); |
| 3413 | - final Double speedWithBearingAfterSpeed = document.getDouble(FieldNames.MANEUVER_SPEED_WITH_BEARING_AFTER_SPEED.name()); |
|
| 3414 | - final Bearing bearingAfter = new DegreeBearingImpl(speedWithBearingAfterSpeed); |
|
| 3415 | - final SpeedWithBearing speedWithBearingAfter = new KnotSpeedWithBearingImpl(speedWithBearingAfterDegrees, bearingAfter); |
|
| 3413 | + final Double speedWithBearingAfterSpeedInKnots = document.getDouble(FieldNames.MANEUVER_SPEED_WITH_BEARING_AFTER_SPEED_IN_KNOTS.name()); |
|
| 3414 | + final Bearing bearingAfter = new DegreeBearingImpl(speedWithBearingAfterDegrees); |
|
| 3415 | + final SpeedWithBearing speedWithBearingAfter = new KnotSpeedWithBearingImpl(speedWithBearingAfterSpeedInKnots, bearingAfter); |
|
| 3416 | 3416 | final double directionChangeInDegrees = document.getDouble(FieldNames.MANEUVER_DIRECTION_CHANGE_IN_DEGREES.name()); |
| 3417 | - final double lowestSpeedDouble = document.getDouble(FieldNames.MANEUVER_LOWEST_SPEED.name()); |
|
| 3418 | - final Speed lowestSpeed = new KnotSpeedImpl(lowestSpeedDouble); |
|
| 3419 | - final double highestSpeedDouble = document.getDouble(FieldNames.MANEUVER_HIGHEST_SPEED.name()); |
|
| 3420 | - final Speed highestSpeed = new KnotSpeedImpl(highestSpeedDouble); |
|
| 3417 | + final double lowestSpeedInKnotsDouble = document.getDouble(FieldNames.MANEUVER_LOWEST_SPEED_IN_KNOTS.name()); |
|
| 3418 | + final Speed lowestSpeed = new KnotSpeedImpl(lowestSpeedInKnotsDouble); |
|
| 3419 | + final double highestSpeedInKnotsDouble = document.getDouble(FieldNames.MANEUVER_HIGHEST_SPEED_IN_KNOTS.name()); |
|
| 3420 | + final Speed highestSpeed = new KnotSpeedImpl(highestSpeedInKnotsDouble); |
|
| 3421 | 3421 | final ManeuverCurveBoundaries maneuverCurveBoundaries = new ManeuverCurveBoundariesImpl(timePointBefore, |
| 3422 | 3422 | timePointAfter, speedWithBearingBefore, speedWithBearingAfter, directionChangeInDegrees, lowestSpeed, |
| 3423 | 3423 | highestSpeed); |
java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java
| ... | ... | @@ -2090,10 +2090,10 @@ public class MongoObjectFactoryImpl implements MongoObjectFactory { |
| 2090 | 2090 | d.put(FieldNames.MANEUVER_SPEED_WITH_BEARING_BEFORE_DEGREES.name(), f.getSpeedWithBearingBefore().getBearing().getDegrees()); |
| 2091 | 2091 | d.put(FieldNames.MANEUVER_SPEED_WITH_BEARING_BEFORE_SPEED.name(), f.getSpeedWithBearingBefore().getKnots()); |
| 2092 | 2092 | d.put(FieldNames.MANEUVER_SPEED_WITH_BEARING_AFTER_DEGREES.name(), f.getSpeedWithBearingAfter().getBearing().getDegrees()); |
| 2093 | - d.put(FieldNames.MANEUVER_SPEED_WITH_BEARING_AFTER_SPEED.name(), f.getSpeedWithBearingAfter().getKnots()); |
|
| 2093 | + d.put(FieldNames.MANEUVER_SPEED_WITH_BEARING_AFTER_SPEED_IN_KNOTS.name(), f.getSpeedWithBearingAfter().getKnots()); |
|
| 2094 | 2094 | d.put(FieldNames.MANEUVER_DIRECTION_CHANGE_IN_DEGREES.name(), f.getDirectionChangeInDegrees()); |
| 2095 | - d.put(FieldNames.MANEUVER_LOWEST_SPEED.name(), f.getLowestSpeed().getKnots()); |
|
| 2096 | - d.put(FieldNames.MANEUVER_HIGHEST_SPEED.name(), f.getHighestSpeed().getKnots()); |
|
| 2095 | + d.put(FieldNames.MANEUVER_LOWEST_SPEED_IN_KNOTS.name(), f.getLowestSpeed().getKnots()); |
|
| 2096 | + d.put(FieldNames.MANEUVER_HIGHEST_SPEED_IN_KNOTS.name(), f.getHighestSpeed().getKnots()); |
|
| 2097 | 2097 | return d; |
| 2098 | 2098 | } |
| 2099 | 2099 |
java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/ManeuverRaceFingerprintConversionTest.java
| ... | ... | @@ -1,6 +1,7 @@ |
| 1 | 1 | package com.sap.sailing.mongodb.test; |
| 2 | 2 | |
| 3 | 3 | import static org.junit.jupiter.api.Assertions.assertEquals; |
| 4 | +import static org.junit.jupiter.api.Assertions.assertSame; |
|
| 4 | 5 | import static org.junit.jupiter.api.Assertions.assertTrue; |
| 5 | 6 | |
| 6 | 7 | import java.net.MalformedURLException; |
| ... | ... | @@ -27,9 +28,11 @@ import com.sap.sailing.domain.persistence.PersistenceFactory; |
| 27 | 28 | import com.sap.sailing.domain.persistence.impl.MongoObjectFactoryImpl; |
| 28 | 29 | import com.sap.sailing.domain.test.OnlineTracTracBasedTest; |
| 29 | 30 | import com.sap.sailing.domain.tracking.Maneuver; |
| 31 | +import com.sap.sailing.domain.tracking.ManeuverCurveBoundaries; |
|
| 30 | 32 | import com.sap.sailing.domain.tracking.ManeuverLoss; |
| 31 | 33 | import com.sap.sailing.domain.tracking.impl.DynamicTrackedRaceImpl; |
| 32 | 34 | import com.sap.sailing.domain.tractracadapter.ReceiverType; |
| 35 | +import com.sap.sse.common.SpeedWithBearing; |
|
| 33 | 36 | import com.sap.sse.mongodb.MongoDBConfiguration; |
| 34 | 37 | |
| 35 | 38 | public class ManeuverRaceFingerprintConversionTest extends OnlineTracTracBasedTest { |
| ... | ... | @@ -85,13 +88,28 @@ public class ManeuverRaceFingerprintConversionTest extends OnlineTracTracBasedTe |
| 85 | 88 | final Iterator<Maneuver> maneuverIter = maneuvers.get(c).iterator(); |
| 86 | 89 | for (final Maneuver m : maneuversLoaded.get(c)) { |
| 87 | 90 | final Maneuver maneuverDetected = maneuverIter.next(); |
| 91 | + assertSame(maneuverDetected.getClass(), m.getClass()); |
|
| 88 | 92 | assertEqualManeuverLoss(maneuverDetected.getManeuverLoss(), m.getManeuverLoss()); |
| 89 | 93 | assertEquals(maneuverDetected.getAvgTurningRateInDegreesPerSecond(), m.getAvgTurningRateInDegreesPerSecond(), 0.000001); |
| 90 | 94 | assertEquals(maneuverDetected.getDirectionChangeInDegrees(), m.getDirectionChangeInDegrees()); |
| 95 | + assertEqualsManeuverCurveBoundaries(maneuverDetected.getManeuverBoundaries(), m.getManeuverBoundaries()); |
|
| 96 | + assertEqualsManeuverCurveBoundaries(maneuverDetected.getManeuverCurveWithStableSpeedAndCourseBoundaries(), m.getManeuverCurveWithStableSpeedAndCourseBoundaries()); |
|
| 91 | 97 | } |
| 92 | 98 | } |
| 93 | 99 | } |
| 94 | 100 | |
| 101 | + private void assertEqualsManeuverCurveBoundaries(ManeuverCurveBoundaries maneuverBoundaries1, ManeuverCurveBoundaries maneuverBoundaries2) { |
|
| 102 | + assertEquals(maneuverBoundaries1.getDirectionChangeInDegrees(), maneuverBoundaries2.getDirectionChangeInDegrees(), 0.000001); |
|
| 103 | + assertEquals(maneuverBoundaries1.getDuration().asSeconds(), maneuverBoundaries2.getDuration().asSeconds(), 0.000001); |
|
| 104 | + assertEquals(maneuverBoundaries1.getHighestSpeed().getKnots(), maneuverBoundaries2.getHighestSpeed().getKnots(), 0.000001); |
|
| 105 | + assertEquals(maneuverBoundaries1.getLowestSpeed().getKnots(), maneuverBoundaries2.getLowestSpeed().getKnots(), 0.000001); |
|
| 106 | + assertEquals(maneuverBoundaries1.getMiddleCourse().getDegrees(), maneuverBoundaries2.getMiddleCourse().getDegrees(), 0.000001); |
|
| 107 | + assertEqualSpeeds(maneuverBoundaries1.getSpeedWithBearingAfter(), maneuverBoundaries2.getSpeedWithBearingAfter()); |
|
| 108 | + assertEqualSpeeds(maneuverBoundaries1.getSpeedWithBearingBefore(), maneuverBoundaries2.getSpeedWithBearingBefore()); |
|
| 109 | + assertEquals(maneuverBoundaries1.getTimePointAfter(), maneuverBoundaries2.getTimePointAfter()); |
|
| 110 | + assertEquals(maneuverBoundaries1.getTimePointBefore(), maneuverBoundaries2.getTimePointBefore()); |
|
| 111 | + } |
|
| 112 | + |
|
| 95 | 113 | private void assertEqualManeuverLoss(ManeuverLoss maneuverLoss1, ManeuverLoss maneuverLoss2) { |
| 96 | 114 | if (maneuverLoss1 != null) { |
| 97 | 115 | assertEquals(maneuverLoss1.getManeuverStartPosition(), maneuverLoss2.getManeuverStartPosition()); |
| ... | ... | @@ -104,8 +122,12 @@ public class ManeuverRaceFingerprintConversionTest extends OnlineTracTracBasedTe |
| 104 | 122 | assertEquals(maneuverLoss1.getMiddleManeuverAngle().getDegrees(), maneuverLoss2.getMiddleManeuverAngle().getDegrees(), 0.000001); |
| 105 | 123 | assertEquals(maneuverLoss1.getProjectedDistanceLost().getMeters(), maneuverLoss2.getProjectedDistanceLost().getMeters(), 0.000001); |
| 106 | 124 | assertEquals(maneuverLoss1.getRatioBetweenDistanceSailedWithAndWithoutManeuver(), maneuverLoss2.getRatioBetweenDistanceSailedWithAndWithoutManeuver(), 0.000001); |
| 107 | - assertEquals(maneuverLoss1.getSpeedWithBearingBefore().getKnots(), maneuverLoss2.getSpeedWithBearingBefore().getKnots(), 0.000001); |
|
| 108 | - assertEquals(maneuverLoss1.getSpeedWithBearingBefore().getBearing().getDegrees(), maneuverLoss2.getSpeedWithBearingBefore().getBearing().getDegrees(), 0.000001); |
|
| 125 | + assertEqualSpeeds(maneuverLoss1.getSpeedWithBearingBefore(), maneuverLoss2.getSpeedWithBearingBefore()); |
|
| 109 | 126 | } |
| 110 | 127 | } |
| 128 | + |
|
| 129 | + private void assertEqualSpeeds(SpeedWithBearing speedWithBearing1, SpeedWithBearing speedWithBearing2) { |
|
| 130 | + assertEquals(speedWithBearing1.getKnots(), speedWithBearing2.getKnots(), 0.000001); |
|
| 131 | + assertEquals(speedWithBearing1.getBearing().getDegrees(), speedWithBearing2.getBearing().getDegrees(), 0.000001); |
|
| 132 | + } |
|
| 111 | 133 | } |