diff --git a/scheduler-driver/src/main/java/gov/nasa/jpl/aerie/scheduler/model/SchedulingActivityDirective.java b/scheduler-driver/src/main/java/gov/nasa/jpl/aerie/scheduler/model/SchedulingActivityDirective.java index 7d130207e0..aaeb28c314 100644 --- a/scheduler-driver/src/main/java/gov/nasa/jpl/aerie/scheduler/model/SchedulingActivityDirective.java +++ b/scheduler-driver/src/main/java/gov/nasa/jpl/aerie/scheduler/model/SchedulingActivityDirective.java @@ -100,7 +100,15 @@ public static SchedulingActivityDirective of(ActivityType type, Duration startOf parameters, topParent, anchorId, anchoredToStart); } - private static SchedulingActivityDirective of(SchedulingActivityDirectiveId id, ActivityType type, Duration startOffset, Duration duration, Map parameters, SchedulingActivityDirectiveId topParent, SchedulingActivityDirectiveId anchorId, boolean anchoredToStart) { + public static SchedulingActivityDirective of( + SchedulingActivityDirectiveId id, + ActivityType type, + Duration startOffset, + Duration duration, + Map parameters, + SchedulingActivityDirectiveId topParent, + SchedulingActivityDirectiveId anchorId, + boolean anchoredToStart) { return new SchedulingActivityDirective( id, type, @@ -124,6 +132,18 @@ public static SchedulingActivityDirective copyOf(SchedulingActivityDirective act activityInstance.anchoredToStart); } + public static SchedulingActivityDirective copyOf(SchedulingActivityDirective activityInstance, SchedulingActivityDirectiveId anchorId, boolean anchoredToStart, Duration startOffset){ + return SchedulingActivityDirective.of( + activityInstance.id, + activityInstance.type, + startOffset, + activityInstance.duration, + new HashMap<>(activityInstance.arguments), + activityInstance.topParent, + anchorId, + anchoredToStart); + } + /** * Scheduler Activity Directives generated from the Plan have their ID set to the negative of the ActivityDirectiveId */