@Override
public void solvePlanningProblem(String containerId,
String solverId,
Object planningProblem) {
checkMandatoryParameter("ContainerID",
containerId);
checkMandatoryParameter("SolverId",
solverId);
checkMandatoryParameter("planningSolution",
planningProblem);
if (config.isRest()) {
String uri = getURI(containerId,
solverId) + "/" + RestURI.SOLVER_STATE_RUNNING;
makeHttpPostRequestAndCreateCustomResponse(uri,
planningProblem,
ServiceResponse.class,
getHeaders(planningProblem));
} else {
CommandScript script = new CommandScript(Collections.singletonList(new SolvePlanningProblemCommand(containerId,
solverId,
serialize(planningProblem))));
ServiceResponse<Void> response = (ServiceResponse<Void>) executeJmsCommand(script,
SolvePlanningProblemCommand.class.getName(),
KieServerConstants.CAPABILITY_BRP,
containerId).getResponses().get(0);
throwExceptionOnFailure(response);
}
}