// UPDATE @PUT @Path("/{androidID}") @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) public Response updateAndroidVariation( @Context HttpServletRequest request, @PathParam("pushAppID") String id, @PathParam("androidID") String androidID, AndroidVariant updatedAndroidApplication) { AndroidVariant androidVariant = (AndroidVariant) variantService.findByVariantIDForDeveloper( androidID, request.getUserPrincipal().getName()); if (androidVariant != null) { // some validation try { validateModelClass(updatedAndroidApplication); } catch (ConstraintViolationException cve) { // Build and return the 400 (Bad Request) response ResponseBuilder builder = createBadRequestResponse(cve.getConstraintViolations()); return builder.build(); } // apply updated data: androidVariant.setGoogleKey(updatedAndroidApplication.getGoogleKey()); androidVariant.setProjectNumber(updatedAndroidApplication.getProjectNumber()); androidVariant.setName(updatedAndroidApplication.getName()); androidVariant.setDescription(updatedAndroidApplication.getDescription()); variantService.updateVariant(androidVariant); return Response.noContent().build(); } return Response.status(Status.NOT_FOUND).entity("Could not find requested Variant").build(); }