From f14aadecf26a06ee2103a24d8e1b34b69081bdcb Mon Sep 17 00:00:00 2001 From: Steffen Jacobs Date: Tue, 13 Aug 2019 14:48:50 +0200 Subject: [PATCH] Bug 5085: added and used constructor with UUID to CourseTemplateImpl --- .../persistence/impl/DomainObjectFactoryImpl.java | 3 ++- .../coursetemplate/test/TestLapConfiguration.java | 3 ++- .../coursetemplate/impl/CourseTemplateImpl.java | 13 ++++++++++--- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java index ce13b5f934e..2d3d07e61a3 100644 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java @@ -3178,7 +3178,8 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { tagsDbObject.forEach(t -> tags.add(t.toString())); - final CourseTemplateImpl courseTemplateImpl = new CourseTemplateImpl(name, markTemplates, waypointTemplates, zeroBasedIndexOfRepeatablePartStart, + final CourseTemplateImpl courseTemplateImpl = new CourseTemplateImpl(id, name, markTemplates, waypointTemplates, + zeroBasedIndexOfRepeatablePartStart, zeroBasedIndexOfRepeatablePartEnd); courseTemplateImpl.setTags(tags); return courseTemplateImpl; diff --git a/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/coursetemplate/test/TestLapConfiguration.java b/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/coursetemplate/test/TestLapConfiguration.java index 298fac5d6b5..06c0fce31b8 100755 --- a/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/coursetemplate/test/TestLapConfiguration.java +++ b/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/coursetemplate/test/TestLapConfiguration.java @@ -7,6 +7,7 @@ import static org.junit.Assume.assumeNoException; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.UUID; import org.junit.Before; import org.junit.Test; @@ -42,7 +43,7 @@ public class TestLapConfiguration { gateRight = new MarkTemplateImpl("Leeward Gate Starboard", "4s", /* color */ null, /* shape */ null, /* pattern */ null, MarkType.BUOY); startFinish = new ControlPointTemplateImpl("Start/Finish", Arrays.asList(startBoat, pin)); gate = new ControlPointTemplateImpl("Leeward Gate", Arrays.asList(gateLeft, gateRight)); - courseTemplate = new CourseTemplateImpl("L", + courseTemplate = new CourseTemplateImpl(UUID.randomUUID(), "L", /* marks */ Arrays.asList(startBoat, pin, top, gateLeft, gateRight), /* waypoints */ Arrays.asList(new WaypointTemplateImpl(startFinish, PassingInstruction.Line), new WaypointTemplateImpl(top, PassingInstruction.Port), diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/coursetemplate/impl/CourseTemplateImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/coursetemplate/impl/CourseTemplateImpl.java index fc4f6453fae..2e1b73ca5be 100755 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/coursetemplate/impl/CourseTemplateImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/coursetemplate/impl/CourseTemplateImpl.java @@ -7,6 +7,7 @@ import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Set; +import java.util.UUID; import com.sap.sailing.domain.coursetemplate.CourseTemplate; import com.sap.sailing.domain.coursetemplate.MarkTemplate; @@ -38,13 +39,19 @@ public class CourseTemplateImpl extends NamedWithUUIDImpl implements CourseTempl */ private final int zeroBasedIndexOfRepeatablePartEnd; + /** Creates a course template with a random UUID. */ public CourseTemplateImpl(String name, Iterable marks, Iterable waypoints) { - this(name, marks, waypoints, -1, -1); // no repeatable part + this(UUID.randomUUID(), name, marks, waypoints); + } + + public CourseTemplateImpl(UUID id, String name, Iterable marks, + Iterable waypoints) { + this(id, name, marks, waypoints, -1, -1); // no repeatable part } - public CourseTemplateImpl(String name, Iterable marks, Iterable waypoints, + public CourseTemplateImpl(UUID id, String name, Iterable marks, Iterable waypoints, int zeroBasedIndexOfRepeatablePartStart, int zeroBasedIndexOfRepeatablePartEnd) { - super(name); + super(name, id); if ((zeroBasedIndexOfRepeatablePartEnd == -1) != (zeroBasedIndexOfRepeatablePartStart == -1)) { throw new IllegalArgumentException("Either both, start and end of repeatable sub-sequence indices must be -1 or none: "+ zeroBasedIndexOfRepeatablePartStart+".."+zeroBasedIndexOfRepeatablePartEnd);