mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-14 22:43:57 +00:00
Bug 5085: Let the new domain types implement
WithQualifiedObjectIdentifier
This commit is contained in:
1 parent
59efca6560
commit
e788db59b5
3 files changed
+64
-3
No files matched your search
+22
-1
@@ -1,6 +1,13 @@
|
||||
package com.sap.sailing.domain.coursetemplate;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
import com.sap.sailing.domain.common.security.SecuredDomainType;
|
||||
import com.sap.sse.common.NamedWithUUID;
|
||||
import com.sap.sse.security.shared.HasPermissions;
|
||||
import com.sap.sse.security.shared.QualifiedObjectIdentifier;
|
||||
import com.sap.sse.security.shared.TypeRelativeObjectIdentifier;
|
||||
import com.sap.sse.security.shared.WithQualifiedObjectIdentifier;
|
||||
|
||||
/**
|
||||
* A {@link Course} can be created from this template. The template defines {@link MarkTemplate}s,
|
||||
@@ -27,7 +34,7 @@ import com.sap.sse.common.NamedWithUUID;
|
||||
* @author Axel Uhl (d043530)
|
||||
*
|
||||
*/
|
||||
public interface CourseTemplate extends WithOptionalRepeatablePart, NamedWithUUID, HasTags {
|
||||
public interface CourseTemplate extends WithOptionalRepeatablePart, NamedWithUUID, HasTags, WithQualifiedObjectIdentifier {
|
||||
/**
|
||||
* The templates for all the marks that shall be made available in the regatta when applying this template. All
|
||||
* marks required to construct the waypoint sequence must be produced from this set of mark templates. There may be
|
||||
@@ -55,4 +62,18 @@ public interface CourseTemplate extends WithOptionalRepeatablePart, NamedWithUUI
|
||||
* limitation.
|
||||
*/
|
||||
Iterable<WaypointTemplate> getWaypoints(int numberOfLaps);
|
||||
|
||||
public static TypeRelativeObjectIdentifier getTypeRelativeObjectIdentifier(UUID courseTemplateUUID) {
|
||||
return new TypeRelativeObjectIdentifier(courseTemplateUUID.toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
default QualifiedObjectIdentifier getIdentifier() {
|
||||
return getPermissionType().getQualifiedObjectIdentifier(getTypeRelativeObjectIdentifier(getId()));
|
||||
}
|
||||
|
||||
@Override
|
||||
default HasPermissions getPermissionType() {
|
||||
return SecuredDomainType.COURSE_TEMPLATE;
|
||||
}
|
||||
}
|
||||
+21
-1
@@ -1,14 +1,20 @@
|
||||
package com.sap.sailing.domain.coursetemplate;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
import com.sap.sailing.domain.base.Mark;
|
||||
import com.sap.sailing.domain.common.DeviceIdentifier;
|
||||
import com.sap.sailing.domain.common.MarkType;
|
||||
import com.sap.sailing.domain.common.Position;
|
||||
import com.sap.sailing.domain.common.security.SecuredDomainType;
|
||||
import com.sap.sse.common.Color;
|
||||
import com.sap.sse.common.NamedWithUUID;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
import com.sap.sse.security.shared.HasPermissions;
|
||||
import com.sap.sse.security.shared.QualifiedObjectIdentifier;
|
||||
import com.sap.sse.security.shared.TypeRelativeObjectIdentifier;
|
||||
import com.sap.sse.security.shared.WithQualifiedObjectIdentifier;
|
||||
|
||||
/**
|
||||
* Stores properties that can be applied to a mark in the context of an event or a regatta, including the mark's own
|
||||
@@ -35,7 +41,7 @@ import com.sap.sse.common.TimePoint;
|
||||
* @author Axel Uhl (d043530)
|
||||
*
|
||||
*/
|
||||
public interface MarkProperties extends CommonMarkPropertiesWithOptionalPositioning, NamedWithUUID, HasTags {
|
||||
public interface MarkProperties extends CommonMarkPropertiesWithOptionalPositioning, NamedWithUUID, HasTags, WithQualifiedObjectIdentifier {
|
||||
void setColor(Color color);
|
||||
|
||||
void setShape(String shape);
|
||||
@@ -68,4 +74,18 @@ public interface MarkProperties extends CommonMarkPropertiesWithOptionalPosition
|
||||
Map<MarkTemplate, TimePoint> getLastUsedTemplate();
|
||||
|
||||
Map<String, TimePoint> getLastUsedRole();
|
||||
|
||||
public static TypeRelativeObjectIdentifier getTypeRelativeObjectIdentifier(UUID markPropertiesUUID) {
|
||||
return new TypeRelativeObjectIdentifier(markPropertiesUUID.toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
default QualifiedObjectIdentifier getIdentifier() {
|
||||
return getPermissionType().getQualifiedObjectIdentifier(getTypeRelativeObjectIdentifier(getId()));
|
||||
}
|
||||
|
||||
@Override
|
||||
default HasPermissions getPermissionType() {
|
||||
return SecuredDomainType.MARK_PROPERTIES;
|
||||
}
|
||||
}
|
||||
+21
-1
@@ -1,6 +1,13 @@
|
||||
package com.sap.sailing.domain.coursetemplate;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
import com.sap.sailing.domain.base.Mark;
|
||||
import com.sap.sailing.domain.common.security.SecuredDomainType;
|
||||
import com.sap.sse.security.shared.HasPermissions;
|
||||
import com.sap.sse.security.shared.QualifiedObjectIdentifier;
|
||||
import com.sap.sse.security.shared.TypeRelativeObjectIdentifier;
|
||||
import com.sap.sse.security.shared.WithQualifiedObjectIdentifier;
|
||||
|
||||
/**
|
||||
* A template for creating a {@link Mark}. It has a globally unique ID and can be used in zero or more
|
||||
@@ -11,5 +18,18 @@ import com.sap.sailing.domain.base.Mark;
|
||||
* @author Axel Uhl (d043530)
|
||||
*
|
||||
*/
|
||||
public interface MarkTemplate extends ControlPointTemplate, CommonMarkProperties {
|
||||
public interface MarkTemplate extends ControlPointTemplate, CommonMarkProperties, WithQualifiedObjectIdentifier {
|
||||
public static TypeRelativeObjectIdentifier getTypeRelativeObjectIdentifier(UUID markTemplateUUID) {
|
||||
return new TypeRelativeObjectIdentifier(markTemplateUUID.toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
default QualifiedObjectIdentifier getIdentifier() {
|
||||
return getPermissionType().getQualifiedObjectIdentifier(getTypeRelativeObjectIdentifier(getId()));
|
||||
}
|
||||
|
||||
@Override
|
||||
default HasPermissions getPermissionType() {
|
||||
return SecuredDomainType.MARK_TEMPLATE;
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user