Skip to content

Commit 1cbafac

Browse files
chore: move to finalized api
1 parent a7a814a commit 1cbafac

File tree

10 files changed

+37
-14
lines changed

10 files changed

+37
-14
lines changed

java/food-packaging/src/main/java/org/acme/foodpackaging/domain/Job.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33
import ai.timefold.solver.core.api.domain.entity.PlanningEntity;
44
import ai.timefold.solver.core.api.domain.entity.PlanningPin;
55
import ai.timefold.solver.core.api.domain.lookup.PlanningId;
6-
import ai.timefold.solver.core.api.domain.variable.CascadingUpdateShadowVariable;
76
import ai.timefold.solver.core.api.domain.variable.InverseRelationShadowVariable;
87
import ai.timefold.solver.core.api.domain.variable.NextElementShadowVariable;
98
import ai.timefold.solver.core.api.domain.variable.PreviousElementShadowVariable;
9+
import ai.timefold.solver.core.api.domain.variable.ShadowSources;
1010
import ai.timefold.solver.core.api.domain.variable.ShadowVariable;
11-
import ai.timefold.solver.core.preview.api.domain.variable.declarative.ShadowSources;
11+
import ai.timefold.solver.core.api.domain.variable.ShadowVariablesInconsistent;
1212

1313
import com.fasterxml.jackson.annotation.JsonIgnore;
1414

@@ -38,6 +38,11 @@ public class Job {
3838
@InverseRelationShadowVariable(sourceVariableName = "jobs")
3939
private Line line;
4040

41+
// TODO: Remove me when solver has supplier
42+
@JsonIgnore
43+
@ShadowVariablesInconsistent
44+
private boolean isInconsistent;
45+
4146
@ShadowVariable(supplierName = "lineOperatorSupplier")
4247
private Operator lineOperator;
4348
@JsonIgnore

java/food-packaging/src/main/resources/application.properties

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
# The solver runs for 30 seconds. To run for 5 minutes use "5m" and for 2 hours use "2h".
66
quarkus.timefold.solver.termination.spent-limit=30s
7-
quarkus.timefold.solver.enabled-preview-features=DECLARATIVE_SHADOW_VARIABLES
87

98
# To change how many solvers to run in parallel
109
# timefold.solver-manager.parallel-solver-count=4

java/maintenance-scheduling/src/main/java/org/acme/maintenancescheduling/domain/Job.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,11 @@
66
import ai.timefold.solver.core.api.domain.entity.PlanningEntity;
77
import ai.timefold.solver.core.api.domain.lookup.PlanningId;
88
import ai.timefold.solver.core.api.domain.variable.PlanningVariable;
9+
import ai.timefold.solver.core.api.domain.variable.ShadowSources;
910
import ai.timefold.solver.core.api.domain.variable.ShadowVariable;
10-
import ai.timefold.solver.core.preview.api.domain.variable.declarative.ShadowSources;
11+
import ai.timefold.solver.core.api.domain.variable.ShadowVariablesInconsistent;
12+
13+
import com.fasterxml.jackson.annotation.JsonIgnore;
1114

1215
@PlanningEntity
1316
public class Job {
@@ -31,6 +34,11 @@ public class Job {
3134
@ShadowVariable(supplierName = "endDateSupplier")
3235
private LocalDate endDate; // Exclusive
3336

37+
// TODO: Remove me when solver has supplier
38+
@JsonIgnore
39+
@ShadowVariablesInconsistent
40+
private boolean isInconsistent;
41+
3442
public Job() {
3543
}
3644

java/maintenance-scheduling/src/main/resources/application.properties

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
# The solver runs for 30 seconds. To run for 5 minutes use "5m" and for 2 hours use "2h".
66
quarkus.timefold.solver.termination.spent-limit=30s
7-
quarkus.timefold.solver.enabled-preview-features=DECLARATIVE_SHADOW_VARIABLES
87

98
# To change how many solvers to run in parallel
109
# timefold.solver-manager.parallel-solver-count=4

java/project-job-scheduling/src/main/java/org/acme/projectjobschedule/domain/Allocation.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package org.acme.projectjobschedule.domain;
22

33
import java.util.Arrays;
4-
import java.util.Collections;
54
import java.util.List;
65
import java.util.Objects;
76

@@ -12,8 +11,9 @@
1211
import ai.timefold.solver.core.api.domain.valuerange.ValueRangeFactory;
1312
import ai.timefold.solver.core.api.domain.valuerange.ValueRangeProvider;
1413
import ai.timefold.solver.core.api.domain.variable.PlanningVariable;
14+
import ai.timefold.solver.core.api.domain.variable.ShadowSources;
1515
import ai.timefold.solver.core.api.domain.variable.ShadowVariable;
16-
import ai.timefold.solver.core.preview.api.domain.variable.declarative.ShadowSources;
16+
import ai.timefold.solver.core.api.domain.variable.ShadowVariablesInconsistent;
1717

1818
import org.acme.projectjobschedule.domain.solver.DelayStrengthComparator;
1919

@@ -50,6 +50,11 @@ public class Allocation {
5050
private Integer delay; // In days
5151

5252
// Shadow variables
53+
// TODO: Remove me when solver has supplier
54+
@JsonIgnore
55+
@ShadowVariablesInconsistent
56+
private boolean isInconsistent;
57+
5358
@ShadowVariable(supplierName = "predecessorsDoneDateSupplier")
5459
private Integer predecessorsDoneDate;
5560

java/project-job-scheduling/src/main/resources/application.properties

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
# The solver runs for 30 seconds. To run for 5 minutes use "5m" and for 2 hours use "2h".
66
quarkus.timefold.solver.termination.spent-limit=30s
7-
quarkus.timefold.solver.enabled-preview-features=DECLARATIVE_SHADOW_VARIABLES
87

98
# To change how many solvers to run in parallel
109
# timefold.solver-manager.parallel-solver-count=4

java/task-assigning/src/main/java/org/acme/taskassigning/domain/Task.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
import ai.timefold.solver.core.api.domain.entity.PlanningEntity;
44
import ai.timefold.solver.core.api.domain.lookup.PlanningId;
5-
import ai.timefold.solver.core.api.domain.variable.CascadingUpdateShadowVariable;
65
import ai.timefold.solver.core.api.domain.variable.InverseRelationShadowVariable;
76
import ai.timefold.solver.core.api.domain.variable.PreviousElementShadowVariable;
7+
import ai.timefold.solver.core.api.domain.variable.ShadowSources;
88
import ai.timefold.solver.core.api.domain.variable.ShadowVariable;
9-
import ai.timefold.solver.core.preview.api.domain.variable.declarative.ShadowSources;
9+
import ai.timefold.solver.core.api.domain.variable.ShadowVariablesInconsistent;
1010

1111
import com.fasterxml.jackson.annotation.JsonIdentityInfo;
1212
import com.fasterxml.jackson.annotation.JsonIgnore;
@@ -25,6 +25,11 @@ public class Task {
2525
private Priority priority;
2626

2727
// Shadow variables
28+
// TODO: Remove me when solver has supplier
29+
@JsonIgnore
30+
@ShadowVariablesInconsistent
31+
private boolean isInconsistent;
32+
2833
@JsonIgnore
2934
@InverseRelationShadowVariable(sourceVariableName = "tasks")
3035
private Employee employee;

java/task-assigning/src/main/resources/application.properties

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
# The solver runs for 30 seconds. To run for 5 minutes use "5m" and for 2 hours use "2h".
66
quarkus.timefold.solver.termination.spent-limit=30s
7-
quarkus.timefold.solver.enabled-preview-features=DECLARATIVE_SHADOW_VARIABLES
87

98
# To change how many solvers to run in parallel
109
# timefold.solver-manager.parallel-solver-count=4

java/vehicle-routing/src/main/java/org/acme/vehiclerouting/domain/Visit.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@
66

77
import ai.timefold.solver.core.api.domain.entity.PlanningEntity;
88
import ai.timefold.solver.core.api.domain.lookup.PlanningId;
9-
import ai.timefold.solver.core.api.domain.variable.CascadingUpdateShadowVariable;
109
import ai.timefold.solver.core.api.domain.variable.InverseRelationShadowVariable;
1110
import ai.timefold.solver.core.api.domain.variable.PreviousElementShadowVariable;
11+
import ai.timefold.solver.core.api.domain.variable.ShadowSources;
1212
import ai.timefold.solver.core.api.domain.variable.ShadowVariable;
13-
import ai.timefold.solver.core.preview.api.domain.variable.declarative.ShadowSources;
13+
import ai.timefold.solver.core.api.domain.variable.ShadowVariablesInconsistent;
1414

1515
import com.fasterxml.jackson.annotation.JsonIdentityInfo;
1616
import com.fasterxml.jackson.annotation.JsonIdentityReference;
@@ -31,6 +31,11 @@ public class Visit implements LocationAware {
3131
private LocalDateTime maxEndTime;
3232
private Duration serviceDuration;
3333

34+
// TODO: Remove me when solver has supplier
35+
@JsonIgnore
36+
@ShadowVariablesInconsistent
37+
private boolean isInconsistent;
38+
3439
@JsonIdentityReference(alwaysAsId = true)
3540
@InverseRelationShadowVariable(sourceVariableName = "visits")
3641
private Vehicle vehicle;

java/vehicle-routing/src/main/resources/application.properties

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
# The solver runs for 30 seconds. To run for 5 minutes use "5m" and for 2 hours use "2h".
66
quarkus.timefold.solver.termination.spent-limit=30s
7-
quarkus.timefold.solver.enabled-preview-features=DECLARATIVE_SHADOW_VARIABLES
87

98
# To change how many solvers to run in parallel
109
# timefold.solver-manager.parallel-solver-count=4

0 commit comments

Comments
 (0)