-
Feature Request
-
Resolution: Done
-
Major
-
None
-
None
-
NEW
-
NEW
It's annoying that the user both has to declare a @PlanningSolution and implement the Solution interface. That's a ugly and inconsistent.
Some idea's how to deal with this if and only if the Solution interface isn't implemented:
- Introduce an optional method annotation @ProblemFacts.
- If is declared, that method is the getProblemFacts() method and must return a Collection
- If it is not declared, a reflection thing goes through all fields and adds all fields that aren't a @PlanningEntityCollectionProperty.
- If it's declared multiple times, fail fast.
- Introduce an required field/method annotation @Score for the score field
- If it's missing, fail fast. If it's declared multiple times, fail fast.
- If a solution class does implement the deprecated Solution interface, it all behaves backwards compatibly.
- is related to
-
PLANNER-435 Workbench: Data modeler's planning solution should implement Solution interface
- Resolved
-
PLANNER-383 7.0 backwards incompatible changes for next major version
- Resolved
-
PLANNER-357 Optaplanner should determine score type from domain classes
- Resolved