@Override public void addProblemFactChange(String containerId, String solverId, ProblemFactChange problemFactChange) { checkMandatoryParameter("containerId", containerId); checkMandatoryParameter("solverId", solverId); checkMandatoryParameter("problemFactChange", problemFactChange); if (config.isRest()) { String uri = getURI(containerId, solverId) + "/" + RestURI.SOLVER_PROBLEM_FACT_CHANGES; makeHttpPostRequestAndCreateCustomResponse(uri, problemFactChange, ServiceResponse.class, getHeaders(problemFactChange)); } else { CommandScript script = new CommandScript(Collections.singletonList(new AddProblemFactChangeCommand(containerId, solverId, problemFactChange))); ServiceResponse<Void> response = (ServiceResponse<Void>) executeJmsCommand(script, AddProblemFactChangeCommand.class.getName(), KieServerConstants.CAPABILITY_BRP, containerId).getResponses().get(0); throwExceptionOnFailure(response); } }