mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-09-21 21:25:38 +00:00
bug5867/bug5866: made center/radius final fields in CourseArea
This commit is contained in:
-4
@@ -29,14 +29,10 @@ public interface CourseArea extends Positioned, NamedWithID, IsManagedByCache<Sh
|
||||
*/
|
||||
Position getCenterPosition();
|
||||
|
||||
void setCenterPosition(Position centerPosition);
|
||||
|
||||
/**
|
||||
* If {@link #getCenterPosition()} delivers a non-{@code null} result, asking the radius of this course area, which
|
||||
* is assumed to be of circulare shape, can make sense. If may, however, not be defined in which case {@code null}
|
||||
* is returned.
|
||||
*/
|
||||
Distance getRadius();
|
||||
|
||||
void setRadius(Distance radius);
|
||||
}
|
||||
|
||||
+3
-1
@@ -7,7 +7,9 @@ import java.util.UUID;
|
||||
import com.sap.sailing.domain.abstractlog.race.analyzing.impl.RaceLogResolver;
|
||||
import com.sap.sailing.domain.common.MarkType;
|
||||
import com.sap.sailing.domain.common.PassingInstruction;
|
||||
import com.sap.sailing.domain.common.Position;
|
||||
import com.sap.sse.common.Color;
|
||||
import com.sap.sse.common.Distance;
|
||||
|
||||
public interface SharedDomainFactory<RLR extends RaceLogResolver> extends CompetitorFactory, BoatFactory {
|
||||
|
||||
@@ -98,7 +100,7 @@ public interface SharedDomainFactory<RLR extends RaceLogResolver> extends Compet
|
||||
* If a {@link CourseArea} with the given id already exists, it is returned. Otherwise a new {@link CourseArea}
|
||||
* is created.
|
||||
*/
|
||||
CourseArea getOrCreateCourseArea(UUID id, String name);
|
||||
CourseArea getOrCreateCourseArea(UUID id, String name, Position centerPosition, Distance radius);
|
||||
|
||||
/**
|
||||
* Gets the {@link CourseArea} with passed id; if there is no such {@link CourseArea} <code>null</code> will be returned.
|
||||
|
||||
+6
-14
@@ -12,12 +12,14 @@ public class CourseAreaImpl extends NamedImpl implements CourseArea {
|
||||
private static final long serialVersionUID = 5912385360170509150L;
|
||||
|
||||
private final UUID id;
|
||||
private Position centerPosition; // no setter yet; TODO bug5867; clarify replication etc.
|
||||
private Distance radius; // no setter yet; TODO bug5867; clarify replication etc.
|
||||
private final Position centerPosition;
|
||||
private final Distance radius;
|
||||
|
||||
public CourseAreaImpl(String name, UUID id) {
|
||||
public CourseAreaImpl(String name, UUID id, Position centerPosition, Distance radius) {
|
||||
super(name);
|
||||
this.id = id;
|
||||
this.centerPosition = centerPosition;
|
||||
this.radius = radius;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -30,23 +32,13 @@ public class CourseAreaImpl extends NamedImpl implements CourseArea {
|
||||
return centerPosition;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCenterPosition(Position centerPosition) {
|
||||
this.centerPosition = centerPosition;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Distance getRadius() {
|
||||
return radius;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setRadius(Distance radius) {
|
||||
this.radius = radius;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CourseArea resolve(SharedDomainFactory<?> domainFactory) {
|
||||
return domainFactory.getOrCreateCourseArea(id, getName());
|
||||
return domainFactory.getOrCreateCourseArea(id, getName(), /* centerPosition */ null, /* radius */ null);
|
||||
}
|
||||
}
|
||||
|
||||
+4
-2
@@ -31,7 +31,9 @@ import com.sap.sailing.domain.base.Waypoint;
|
||||
import com.sap.sailing.domain.common.BoatClassMasterdata;
|
||||
import com.sap.sailing.domain.common.MarkType;
|
||||
import com.sap.sailing.domain.common.PassingInstruction;
|
||||
import com.sap.sailing.domain.common.Position;
|
||||
import com.sap.sse.common.Color;
|
||||
import com.sap.sse.common.Distance;
|
||||
import com.sap.sse.common.Duration;
|
||||
import com.sap.sse.common.WithID;
|
||||
|
||||
@@ -369,10 +371,10 @@ public class SharedDomainFactoryImpl<RLR extends RaceLogResolver> implements Sha
|
||||
}
|
||||
|
||||
@Override
|
||||
public CourseArea getOrCreateCourseArea(UUID courseAreaId, String name) {
|
||||
public CourseArea getOrCreateCourseArea(UUID courseAreaId, String name, Position centerPosition, Distance radius) {
|
||||
CourseArea result = getExistingCourseAreaById(courseAreaId);
|
||||
if (result == null) {
|
||||
result = new CourseAreaImpl(name, courseAreaId);
|
||||
result = new CourseAreaImpl(name, courseAreaId, centerPosition, radius);
|
||||
courseAreaCache.put(courseAreaId, result);
|
||||
}
|
||||
return result;
|
||||
|
||||
Reference in New Issue
Block a user