@POST @Path("/{triggerId}/dampenings") @Consumes(APPLICATION_JSON) @Produces(APPLICATION_JSON) @ApiOperation( value = "Create a new dampening", notes = "Returns Dampening created if operation finishes correctly") @ApiResponses( value = { @ApiResponse(code = 200, message = "Success, Dampening created"), @ApiResponse(code = 500, message = "Internal server error"), @ApiResponse(code = 400, message = "Bad Request/Invalid Parameters") }) public Response createDampening( @ApiParam(value = "Trigger definition id attached to dampening", required = true) @PathParam("triggerId") final String triggerId, @ApiParam(value = "Dampening definition to be created", required = true) final Dampening dampening) { try { dampening.setTriggerId(triggerId); boolean exists = (definitions.getDampening(tenantId, dampening.getDampeningId()) != null); if (!exists) { // make sure we have the best chance of clean data.. Dampening d = getCleanDampening(dampening); definitions.addDampening(tenantId, d); if (log.isDebugEnabled()) { log.debug("Dampening: " + d); } return ResponseUtil.ok(d); } else { return ResponseUtil.badRequest( "Existing dampening for dampeningId: " + dampening.getDampeningId()); } } catch (Exception e) { log.debug(e.getMessage(), e); return ResponseUtil.internalError(e.getMessage()); } }