Использования логического переменного планирования, определенные в сущности планирования, как:Optaplanner IllegalArgumentException: valueRangeProviderRef не появляется в valueRangeProvideIds
@PlanningVariable(nullable = true, valueRangeProviderRefs = {"selectedRange"})
public Boolean getSelected() {
return selected;
}
public void setSelected(Boolean selected) {
this.selected = selected;
}
и в решении планирования я определить поставщик диапазона значений как:
@ValueRangeProvider(id = "selectedRange")
List<Boolean> getValueRange() {
return Arrays.asList(Boolean.FALSE, Boolean.TRUE);
}
public List<Boolean> getBooleanList() {
return selectedList;
}
public void setBooleanList(List<Boolean> selectedList) {
this.selectedList = selectedList;
}
Я получил следующее сообщение об ошибке:
Exception in thread "AWT-EventQueue-0"
java.lang.IllegalArgumentException:The
entityClass
has aPlanningVariable
annotated property (selected) with avalueRangeProviderRef
(selectedRange) that does not exist on a registeredPlanningSolution
orPlanningEntity
.The
valueRangeProviderRef
(selectedRange) does not appear invalueRangeProvideIds
([]).
Я не могу признать причины проблемы.
Спасибо, хороший ответ. Я использую версию 6.2.0, я добавил публикацию в список getValueRange(), и ошибка исчезла. –