-
Feature Request
-
Resolution: Done
-
Critical
-
None
-
None
-
NEW
-
NEW
It's a pain that workbench planning solutions need to extend AbstractSolution.
Requirements
- If autodiscover is FIELD (resp. GETTER), it applies to all fields (resp. getters), including subclasses (and superclasses)
- If autodiscover is FIELD and a field has an explicit annotation, that annotation overrides the autodetected behavior. (Similar for GETTER)
- if an autodiscovered member is a Score then it's PlanningScore. (Unit test wanted for BendableScore? Impossible to autodiscover I think)
- if an autodiscovered member is entityClass or a subclass thereof (Unit test needed) then it's PlanningEntityProperty
- if an autodiscovered member is a Collection of entityClass or a subclass thereof (Unit test needed) then it's PlanningEntityCollectionProperty
- if an autodiscovered member is a Collection then it's ProblemFactCollectionProperty
- else then it's ProblemFactCollectionProperty
- (Unit test needed for if a getter is overriden and the parent was autodetect but the child has an explicit annotation - and vica versa)
Proposal A)
@PlanningSolution(autoDetectStrategyType = AutoDetectStrategyType.FIELDS) public class MySolution { @ValueRangeProvider(id = "valueRange") private List<TestdataValue> valueList; // Automatically behaves as @ProblemFactCollectionProperty private List<TestdataEntity> entityList; // Automatically behaves as @PlanningEntityCollectionProperty private TestdataValue value; // Automatically behaves as @ProblemFactProperty private TestdataEntity entity; // Automatically behaves as @PlanningEntityProperty }
- blocks
-
PLANNER-784 Workbench: AbstractSolution.score can't be marshaled when using JAXB
- Resolved
- causes
-
PLANNER-813 Workbench: Display a conversion popup when version 6 Solution is opened in the Workbench
- Closed
- is related to
-
PLANNER-831 @PlanningSolution class A extends @PlanningSolution class B: allow overwriting methods
- Resolved
-
PLANNER-829 Fail fast if @PlanningSolution A extends @PlanningSolution B and A given to a B solver.
- Closed
-
PLANNER-576 Replace @PlanningEntityCollectionProperty and @ProblemFactCollectionProperty with @PlanningEntityProperty and @ProblemFactProperty
- Open