java.lang.IllegalArgumentException: The entityClass (class org.optaplanner.examples.nurserostering.domain.ShiftAssignment) has a PlanningVariable annotated property (employee) that refers to a ValueRangeProvider annotated member (method getShiftAssignmentList on class org.optaplanner.examples.nurserostering.domain.NurseRoster) that returns a Collection with elements of type (class org.optaplanner.examples.nurserostering.domain.ShiftAssignment) which cannot be assigned to the PlanningVariable's type (class org.optaplanner.examples.nurserostering.domain.Employee).

JBoss Issue Tracker | Geoffrey De Smet | 1 year ago
tip
Your exception is missing from the Samebug knowledge base.
Here are the best solutions we found on the Internet.
Click on the to mark the helpful solution and get rewards for you help.
  1. 0

    see http://stackoverflow.com/questions/34029457/optaplanner-classcastexception-at-comparatorselectionsorter better than getting this unhelpful exception: {code} Exception in thread "main" java.lang.ClassCastException: org.demo.DemoApp.domain.JobAssignment cannot be cast to org.demo.DemoApp.domain.Employee at org.demo.DemoApp.domain.solver.EmployeeStrengthComparator.compare(EmployeeStrengthComparator.java:12) at java.util.TimSort.countRunAndMakeAscending(TimSort.java:355) at java.util.TimSort.sort(TimSort.java:220) at java.util.Arrays.sort(Arrays.java:1512) at java.util.ArrayList.sort(ArrayList.java:1454) at java.util.Collections.sort(Collections.java:175) at org.optaplanner.core.impl.heuristic.selector.common.decorator.ComparatorSelectionSorter.sort(ComparatorSelectionSorter.java:45) at org.optaplanner.core.impl.heuristic.selector.value.decorator.SortingValueSelector.constructCache(SortingValueSelector.java:43) at org.optaplanner.core.impl.heuristic.selector.common.SelectionCacheLifecycleBridge.phaseStarted(SelectionCacheLifecycleBridge.java:49) at org.optaplanner.core.impl.phase.event.PhaseLifecycleSupport.firePhaseStarted(PhaseLifecycleSupport.java:39) {code} or this one {code} java.lang.IllegalArgumentException: argument type mismatch at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.optaplanner.core.impl.domain.common.accessor.BeanPropertyMemberAccessor.executeSetter(BeanPropertyMemberAccessor.java:86) {code}

    JBoss Issue Tracker | 1 year ago | Geoffrey De Smet
    java.lang.IllegalArgumentException: The entityClass (class org.optaplanner.examples.nurserostering.domain.ShiftAssignment) has a PlanningVariable annotated property (employee) that refers to a ValueRangeProvider annotated member (method getShiftAssignmentList on class org.optaplanner.examples.nurserostering.domain.NurseRoster) that returns a Collection with elements of type (class org.optaplanner.examples.nurserostering.domain.ShiftAssignment) which cannot be assigned to the PlanningVariable's type (class org.optaplanner.examples.nurserostering.domain.Employee).
  2. 0

    see http://stackoverflow.com/questions/34029457/optaplanner-classcastexception-at-comparatorselectionsorter better than getting this unhelpful exception: {code} Exception in thread "main" java.lang.ClassCastException: org.demo.DemoApp.domain.JobAssignment cannot be cast to org.demo.DemoApp.domain.Employee at org.demo.DemoApp.domain.solver.EmployeeStrengthComparator.compare(EmployeeStrengthComparator.java:12) at java.util.TimSort.countRunAndMakeAscending(TimSort.java:355) at java.util.TimSort.sort(TimSort.java:220) at java.util.Arrays.sort(Arrays.java:1512) at java.util.ArrayList.sort(ArrayList.java:1454) at java.util.Collections.sort(Collections.java:175) at org.optaplanner.core.impl.heuristic.selector.common.decorator.ComparatorSelectionSorter.sort(ComparatorSelectionSorter.java:45) at org.optaplanner.core.impl.heuristic.selector.value.decorator.SortingValueSelector.constructCache(SortingValueSelector.java:43) at org.optaplanner.core.impl.heuristic.selector.common.SelectionCacheLifecycleBridge.phaseStarted(SelectionCacheLifecycleBridge.java:49) at org.optaplanner.core.impl.phase.event.PhaseLifecycleSupport.firePhaseStarted(PhaseLifecycleSupport.java:39) {code} or this one {code} java.lang.IllegalArgumentException: argument type mismatch at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.optaplanner.core.impl.domain.common.accessor.BeanPropertyMemberAccessor.executeSetter(BeanPropertyMemberAccessor.java:86) {code}

    JBoss Issue Tracker | 1 year ago | Geoffrey De Smet
    java.lang.IllegalArgumentException: The entityClass (class org.optaplanner.examples.nurserostering.domain.ShiftAssignment) has a PlanningVariable annotated property (employee) that refers to a ValueRangeProvider annotated member (method getShiftAssignmentList on class org.optaplanner.examples.nurserostering.domain.NurseRoster) that returns a Collection with elements of type (class org.optaplanner.examples.nurserostering.domain.ShiftAssignment) which cannot be assigned to the PlanningVariable's type (class org.optaplanner.examples.nurserostering.domain.Employee).

    Root Cause Analysis

    1. java.lang.IllegalArgumentException

      The entityClass (class org.optaplanner.examples.nurserostering.domain.ShiftAssignment) has a PlanningVariable annotated property (employee) that refers to a ValueRangeProvider annotated member (method getShiftAssignmentList on class org.optaplanner.examples.nurserostering.domain.NurseRoster) that returns a Collection with elements of type (class org.optaplanner.examples.nurserostering.domain.ShiftAssignment) which cannot be assigned to the PlanningVariable's type (class org.optaplanner.examples.nurserostering.domain.Employee).

      at org.optaplanner.core.impl.domain.valuerange.descriptor.AbstractFromPropertyValueRangeDescriptor.processValueRangeProviderAnnotation()
    2. OptaPlanner core
      AbstractFromPropertyValueRangeDescriptor.processValueRangeProviderAnnotation
      1. org.optaplanner.core.impl.domain.valuerange.descriptor.AbstractFromPropertyValueRangeDescriptor.processValueRangeProviderAnnotation(AbstractFromPropertyValueRangeDescriptor.java:108)
      1 frame