class PreparationAPI extends APIService {

    @RequestMapping(value = "/api/preparations/{preparationId}/steps/{stepId}/order", method = POST,
            consumes = APPLICATION_JSON_VALUE)
    @ApiOperation(value = "Moves a step within a preparation just after the specified <i>parentStepId</i>",
            notes = "Moves a step within a preparation.")
    @Timed
    public void moveStep(@PathVariable("preparationId") final String preparationId,
            @ApiParam(value = "The current index of the action we want to move.") @PathVariable("stepId") String stepId,
            @ApiParam(value = "The current index of the action we want to move.") @RequestParam String parentStepId) {
        //@formatter:on

        LOG.info("Moving step {} after step {}, within preparation {}", stepId, parentStepId, preparationId);

        final HystrixCommand<String> command =
                getCommand(PreparationReorderStep.class, preparationId, stepId, parentStepId);
        command.execute();

        LOG.debug("Step {} moved after step {}, within preparation {}", stepId, parentStepId, preparationId);

    }

}