protected SolutionDescriptor buildSolutionDescriptor() {
if (solutionClass == null) {
throw new IllegalArgumentException("Configure a <solutionClass> in the solver configuration.");
}
SolutionDescriptor solutionDescriptor = new SolutionDescriptor(solutionClass);
solutionDescriptor.processAnnotations();
if (CollectionUtils.isEmpty(planningEntityClassSet)) {
throw new IllegalArgumentException(
"Configure at least 1 <planningEntityClass> in the solver configuration.");
}
for (Class<?> planningEntityClass : planningEntityClassSet) {
PlanningEntityDescriptor planningEntityDescriptor = new PlanningEntityDescriptor(
solutionDescriptor, planningEntityClass);
solutionDescriptor.addPlanningEntityDescriptor(planningEntityDescriptor);
planningEntityDescriptor.processAnnotations();
}
return solutionDescriptor;
}