8d026ac2cb140d35037e474c3c4db210c868cd26
java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java
| ... | ... | @@ -3353,9 +3353,6 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { |
| 3353 | 3353 | } |
| 3354 | 3354 | |
| 3355 | 3355 | private Maneuver loadManeuver(Competitor competitor, Document maneuvers, Course course, TrackedRace trackedRace) { |
| 3356 | - //final int waypointIndex = maneuvers.getInteger(FieldNames.MANEUVER.name()); |
|
| 3357 | - //final Waypoint waypoint = Util.get(course.getWaypoints(), waypointIndex); |
|
| 3358 | - //final TimePoint timePoint = TimePoint.of(maneuvers.getLong(FieldNames.TIME_AS_MILLIS.name())); |
|
| 3359 | 3356 | final TimePoint timePoint = TimePoint.of( maneuvers.getLong(FieldNames.TIMEPOINT.name())); |
| 3360 | 3357 | final double maxTurningRateInDegreesPerSecond = maneuvers.getDouble(FieldNames.MAX_TURNING_RATE_IN_DEGREE_PER_SECOUND.name()); |
| 3361 | 3358 | final String typeName = maneuvers.getString(FieldNames.TYPE.name()); |
| ... | ... | @@ -3369,38 +3366,42 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { |
| 3369 | 3366 | final ManeuverCurveBoundaries mainCurveBoundaries = loadManeuverCurveBoundaries((Document) maneuvers.get(FieldNames.MAIN_CURVE_BOUNDARIES.name())); |
| 3370 | 3367 | final ManeuverCurveBoundaries maneuverCurveWithStableSpeedAndCourseBoundaries = loadManeuverCurveBoundaries((Document) maneuvers.get(FieldNames.MANEUVER_CURVE_WITH_STABLE_SPEED_AND_COURSE_BOUNDERIES.name())); |
| 3371 | 3368 | final ManeuverLoss maneuverLoss = loadManeuverLoss((Document) maneuvers.get(FieldNames.MANEUVER_LOSS.name())); |
| 3372 | - MarkPassingProxy markPassingProxy = new MarkPassingProxy(timePoint, waypointIndex, competitor.getId(), trackedRace );// wie kommt man auf das Race? |
|
| 3369 | + final MarkPassingProxy markPassingProxy = new MarkPassingProxy(timePoint, waypointIndex, competitor.getId(), trackedRace );// wie kommt man auf das Race? |
|
| 3370 | + final Maneuver maneuver; |
|
| 3373 | 3371 | if (waypointIndex == -1) { |
| 3374 | - final Maneuver maneuver = new ManeuverWithMainCurveBoundariesImpl(type, newTack, position, timePoint, mainCurveBoundaries, maneuverCurveWithStableSpeedAndCourseBoundaries, |
|
| 3375 | - maxTurningRateInDegreesPerSecond, null, maneuverLoss); |
|
| 3376 | - return maneuver; |
|
| 3372 | + maneuver = new ManeuverWithMainCurveBoundariesImpl(type, newTack, position, timePoint, mainCurveBoundaries, maneuverCurveWithStableSpeedAndCourseBoundaries, |
|
| 3373 | + maxTurningRateInDegreesPerSecond, /* mark passing */ null, maneuverLoss); |
|
| 3374 | + } else { |
|
| 3375 | + final MarkPassing markpassing = new MarkPassingImpl(timePoint, markPassingProxy.getWaypoint(), competitor); |
|
| 3376 | + maneuver = new ManeuverWithMainCurveBoundariesImpl(type, newTack, position, timePoint, mainCurveBoundaries, maneuverCurveWithStableSpeedAndCourseBoundaries, |
|
| 3377 | + maxTurningRateInDegreesPerSecond, markpassing, maneuverLoss); |
|
| 3377 | 3378 | } |
| 3378 | - MarkPassing markpassing = new MarkPassingImpl(timePoint, markPassingProxy.getWaypoint(), competitor); |
|
| 3379 | - final Maneuver maneuver = new ManeuverWithMainCurveBoundariesImpl(type, newTack, position, timePoint, mainCurveBoundaries, maneuverCurveWithStableSpeedAndCourseBoundaries, |
|
| 3380 | - maxTurningRateInDegreesPerSecond, markpassing, maneuverLoss); |
|
| 3381 | 3379 | return maneuver; |
| 3382 | 3380 | } |
| 3383 | 3381 | |
| 3384 | 3382 | private ManeuverLoss loadManeuverLoss(Document document) { |
| 3385 | - if(document == null) |
|
| 3386 | - return null; |
|
| 3387 | - final Double distanceDouble = document.getDouble(FieldNames.DISTANCE_SAILED_POMA.name()); |
|
| 3388 | - final Distance distance = new MeterDistance(distanceDouble); |
|
| 3389 | - final Distance distanceIfNorManeuvering = new MeterDistance(document.getDouble(FieldNames.DISTANCE_SAILED_INMPOMA.name())); |
|
| 3390 | - final double startPositionLatRad = document.getDouble(FieldNames.START_POSITION_LAT_RAD.name()); |
|
| 3391 | - final double startPositionLngRad = document.getDouble(FieldNames.START_POSITION_LNG_RAD.name()); |
|
| 3392 | - final Position startPosition = new RadianPosition(startPositionLatRad, startPositionLngRad); |
|
| 3393 | - final double endPositionLatRad = document.getDouble(FieldNames.END_POSITION_LAT_RAD.name()); |
|
| 3394 | - final double endPositionLngRad = document.getDouble(FieldNames.END_POSITION_LNG_RAD.name()); |
|
| 3395 | - final Position endPosition = new RadianPosition(endPositionLatRad, endPositionLngRad); |
|
| 3396 | - final Duration duration = Duration.ofMillis(document.getLong(FieldNames.DURATION.name())); |
|
| 3397 | - final Double SpeedWithBearingBeforeDegrees = document.getDouble(FieldNames.SPEED_WITH_BEARING_BEFORE_DEGREES.name()); |
|
| 3398 | - final Double SpeedWithBearingBeforeSpeed = document.getDouble(FieldNames.SPEED_WITH_BEARING_BEFORE_SPEED.name()); |
|
| 3399 | - final Bearing bearingBefore = new DegreeBearingImpl(SpeedWithBearingBeforeDegrees); |
|
| 3400 | - final SpeedWithBearing SpeedWithBearingBefore = new KnotSpeedWithBearingImpl(SpeedWithBearingBeforeSpeed, bearingBefore); |
|
| 3401 | - final Bearing middeManeuverAngle = new DegreeBearingImpl(document.getDouble(FieldNames.DEGREE_BEARING.name())); |
|
| 3402 | - |
|
| 3403 | - return new ManeuverLoss(distance, distanceIfNorManeuvering, startPosition, endPosition, duration, SpeedWithBearingBefore, middeManeuverAngle); |
|
| 3383 | + final ManeuverLoss maneuverLoss; |
|
| 3384 | + if (document != null) { |
|
| 3385 | + final Double distanceDouble = document.getDouble(FieldNames.DISTANCE_SAILED_POMA.name()); |
|
| 3386 | + final Distance distance = new MeterDistance(distanceDouble); |
|
| 3387 | + final Distance distanceIfNorManeuvering = new MeterDistance(document.getDouble(FieldNames.DISTANCE_SAILED_INMPOMA.name())); |
|
| 3388 | + final double startPositionLatRad = document.getDouble(FieldNames.START_POSITION_LAT_RAD.name()); |
|
| 3389 | + final double startPositionLngRad = document.getDouble(FieldNames.START_POSITION_LNG_RAD.name()); |
|
| 3390 | + final Position startPosition = new RadianPosition(startPositionLatRad, startPositionLngRad); |
|
| 3391 | + final double endPositionLatRad = document.getDouble(FieldNames.END_POSITION_LAT_RAD.name()); |
|
| 3392 | + final double endPositionLngRad = document.getDouble(FieldNames.END_POSITION_LNG_RAD.name()); |
|
| 3393 | + final Position endPosition = new RadianPosition(endPositionLatRad, endPositionLngRad); |
|
| 3394 | + final Duration duration = Duration.ofMillis(document.getLong(FieldNames.DURATION.name())); |
|
| 3395 | + final Double SpeedWithBearingBeforeDegrees = document.getDouble(FieldNames.SPEED_WITH_BEARING_BEFORE_DEGREES.name()); |
|
| 3396 | + final Double SpeedWithBearingBeforeSpeed = document.getDouble(FieldNames.SPEED_WITH_BEARING_BEFORE_SPEED.name()); |
|
| 3397 | + final Bearing bearingBefore = new DegreeBearingImpl(SpeedWithBearingBeforeDegrees); |
|
| 3398 | + final SpeedWithBearing SpeedWithBearingBefore = new KnotSpeedWithBearingImpl(SpeedWithBearingBeforeSpeed, bearingBefore); |
|
| 3399 | + final Bearing middeManeuverAngle = new DegreeBearingImpl(document.getDouble(FieldNames.DEGREE_BEARING.name())); |
|
| 3400 | + maneuverLoss = new ManeuverLoss(distance, distanceIfNorManeuvering, startPosition, endPosition, duration, SpeedWithBearingBefore, middeManeuverAngle); |
|
| 3401 | + } else { |
|
| 3402 | + maneuverLoss = null; |
|
| 3403 | + } |
|
| 3404 | + return maneuverLoss; |
|
| 3404 | 3405 | } |
| 3405 | 3406 | |
| 3406 | 3407 | private ManeuverCurveBoundaries loadManeuverCurveBoundaries(Document maneuvers) { |