Uploaded image for project: 'OptaPlanner'
  1. OptaPlanner
  2. PLANNER-1336

Kie import Employee_Rostering web example - testing call REST - got error with employeerostering.employeerostering.ShiftAssignment class

    XMLWordPrintable

Details

    • Bug
    • Resolution: Won't Do
    • Major
    • None
    • 7.12.0.Final
    • optaplanner-benchmark
    • None
    • Hide

      this is the REST call made with "X-KIE-ContentType" =XSTREAM in the Header:
      (in red the part that generates the error)

      <employeerostering.employeerostering.EmployeeRoster>
      <employeeList>
      <employeerostering.employeerostering.Employee>
      <name>John</name>
      <skills>
      <employeerostering.employeerostering.Skill>
      <name>reading</name>
      </employeerostering.employeerostering.Skill>
      </skills>
      </employeerostering.employeerostering.Employee>
      <employeerostering.employeerostering.Employee>
      <name>Mary</name>
      <skills>
      <employeerostering.employeerostering.Skill>
      <name>writing</name>
      </employeerostering.employeerostering.Skill>
      </skills>
      </employeerostering.employeerostering.Employee>
      <employeerostering.employeerostering.Employee>
      <name>Petr</name>
      <skills>
      <employeerostering.employeerostering.Skill>
      <name>speaking</name>
      </employeerostering.employeerostering.Skill>
      </skills>
      </employeerostering.employeerostering.Employee>
      </employeeList>
      <shiftList>
      <employeerostering.employeerostering.Shift>
      <timeslot>
      <startTime>2018-10-20T00:00:00</startTime>
      <endTime>2018-10-20T01:00:00</endTime>
      </timeslot>
      <requiredSkill reference="../../../employeeList/employeerostering.employeerostering.Employee/skills/employeerostering.employeerostering.Skill"/>
      </employeerostering.employeerostering.Shift>
      <employeerostering.employeerostering.Shift>
      <timeslot reference="../../employeerostering.employeerostering.Shift/timeslot"/>
      <requiredSkill reference="../../../employeeList/employeerostering.employeerostering.Employee[3]/skills/employeerostering.employeerostering.Skill"/>
      </employeerostering.employeerostering.Shift>
      <employeerostering.employeerostering.Shift>
      <timeslot reference="../../employeerostering.employeerostering.Shift/timeslot"/>
      <requiredSkill reference="../../../employeeList/employeerostering.employeerostering.Employee[2]/skills/employeerostering.employeerostering.Skill"/>
      </employeerostering.employeerostering.Shift>
      </shiftList>
      <skillList>
      <employeerostering.employeerostering.Skill reference="../../employeeList/employeerostering.employeerostering.Employee/skills/employeerostering.employeerostering.Skill"/>
      <employeerostering.employeerostering.Skill reference="../../employeeList/employeerostering.employeerostering.Employee[3]/skills/employeerostering.employeerostering.Skill"/>
      <employeerostering.employeerostering.Skill reference="../../employeeList/employeerostering.employeerostering.Employee[2]/skills/employeerostering.employeerostering.Skill"/>
      </skillList>
      <timeslotList>
      <employeerostering.employeerostering.Timeslot reference="../../shiftList/employeerostering.employeerostering.Shift/timeslot"/>
      </timeslotList>
      <dayOffRequestList/>
      <shiftAssignmentList>
      <employeerostering.employeerostering.Shift reference="../../shiftList/employeerostering.employeerostering.Shift"/>
      <employeerostering.employeerostering.Employee reference="../../employeeList/employeerostering.employeerostering.Employee"/>
      </shiftAssignmentList>

      </employeerostering.employeerostering.EmployeeRoster>

      Show
      this is the REST call made with "X-KIE-ContentType" =XSTREAM in the Header: (in red the part that generates the error) <employeerostering.employeerostering.EmployeeRoster> <employeeList> <employeerostering.employeerostering.Employee> <name>John</name> <skills> <employeerostering.employeerostering.Skill> <name>reading</name> </employeerostering.employeerostering.Skill> </skills> </employeerostering.employeerostering.Employee> <employeerostering.employeerostering.Employee> <name>Mary</name> <skills> <employeerostering.employeerostering.Skill> <name>writing</name> </employeerostering.employeerostering.Skill> </skills> </employeerostering.employeerostering.Employee> <employeerostering.employeerostering.Employee> <name>Petr</name> <skills> <employeerostering.employeerostering.Skill> <name>speaking</name> </employeerostering.employeerostering.Skill> </skills> </employeerostering.employeerostering.Employee> </employeeList> <shiftList> <employeerostering.employeerostering.Shift> <timeslot> <startTime>2018-10-20T00:00:00</startTime> <endTime>2018-10-20T01:00:00</endTime> </timeslot> <requiredSkill reference="../../../employeeList/employeerostering.employeerostering.Employee/skills/employeerostering.employeerostering.Skill"/> </employeerostering.employeerostering.Shift> <employeerostering.employeerostering.Shift> <timeslot reference="../../employeerostering.employeerostering.Shift/timeslot"/> <requiredSkill reference="../../../employeeList/employeerostering.employeerostering.Employee [3] /skills/employeerostering.employeerostering.Skill"/> </employeerostering.employeerostering.Shift> <employeerostering.employeerostering.Shift> <timeslot reference="../../employeerostering.employeerostering.Shift/timeslot"/> <requiredSkill reference="../../../employeeList/employeerostering.employeerostering.Employee [2] /skills/employeerostering.employeerostering.Skill"/> </employeerostering.employeerostering.Shift> </shiftList> <skillList> <employeerostering.employeerostering.Skill reference="../../employeeList/employeerostering.employeerostering.Employee/skills/employeerostering.employeerostering.Skill"/> <employeerostering.employeerostering.Skill reference="../../employeeList/employeerostering.employeerostering.Employee [3] /skills/employeerostering.employeerostering.Skill"/> <employeerostering.employeerostering.Skill reference="../../employeeList/employeerostering.employeerostering.Employee [2] /skills/employeerostering.employeerostering.Skill"/> </skillList> <timeslotList> <employeerostering.employeerostering.Timeslot reference="../../shiftList/employeerostering.employeerostering.Shift/timeslot"/> </timeslotList> <dayOffRequestList/> <shiftAssignmentList> <employeerostering.employeerostering.Shift reference="../../shiftList/employeerostering.employeerostering.Shift"/> <employeerostering.employeerostering.Employee reference="../../employeeList/employeerostering.employeerostering.Employee"/> </shiftAssignmentList> </employeerostering.employeerostering.EmployeeRoster>
    • NEW
    • NEW

    Description

      • by calling the POST method to test as described in the tutorial
      • I always get the same error when referring to the class/entity problem:

      12:23:24,742 ERROR [org.kie.server.services.optaplanner.SolverServiceBase] (pool-14-thread-2) Exception executing solver 'solver1' from container 'employeerostering_1.1'. Thread will terminate.: java.lang.IllegalArgumentException: A planning entity is an instance of an entitySubclass (class employeerostering.employeerostering.Shift) that is not configured as a planning entity.
      If that class (Shift) (or superclass thereof) is not a entityClass ([class employeerostering.employeerostering.ShiftAssignment]), check your Solution implementation's annotated methods.
      If it is, check your solver configuration.
      at org.optaplanner.core.impl.domain.solution.descriptor.SolutionDescriptor.findEntityDescriptorOrFail(SolutionDescriptor.java:820)
      at org.optaplanner.core.impl.domain.solution.descriptor.SolutionDescriptor.countUninitializedVariables(SolutionDescriptor.java:1008)
      at org.optaplanner.core.impl.score.director.AbstractScoreDirector.setWorkingSolution(AbstractScoreDirector.java:165)
      at org.optaplanner.core.impl.score.director.drools.DroolsScoreDirector.setWorkingSolution(DroolsScoreDirector.java:68)
      at org.optaplanner.core.impl.solver.scope.DefaultSolverScope.setWorkingSolutionFromBestSolution(DefaultSolverScope.java:230)
      at org.optaplanner.core.impl.solver.AbstractSolver.solvingStarted(AbstractSolver.java:75)
      at org.optaplanner.core.impl.solver.DefaultSolver.solvingStarted(DefaultSolver.java:210)
      at org.optaplanner.core.impl.solver.DefaultSolver.solve(DefaultSolver.java:190)
      at org.kie.server.services.optaplanner.SolverServiceBase.lambda$solvePlanningProblem$3(SolverServiceBase.java:493)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
      at java.lang.Thread.run(Thread.java:748)

      Attachments

        Activity

          People

            gdesmet@redhat.com Geoffrey De Smet (Inactive)
            gricciardulli@indracompany.com Gianluca Ricciardulli (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: