@POST @Path("/add") public Response addShirt( @BeanParam ShirtFormData shirtFormData, @Context SecurityContext securityContext) throws Exception { final Shirt shirt = new Shirt(shirtFormData.getName()); shirt.setCount(shirtFormData.getCount()); shirt.setCut(shirtFormData.getCut()); shirt.setSize(shirtFormData.getSize()); shirtDatastore.add(shirt); return Response.status(Response.Status.FOUND).location(INDEX_URI).build(); }
@POST @Path("/{id}/edit") public Response editShirt(@PathParam("id") String id, @BeanParam ShirtFormData shirtData) throws Exception { final Shirt toUpdate = new Shirt(shirtData.getName()); toUpdate.setId(id); toUpdate.setCount(shirtData.getCount()); toUpdate.setCut(shirtData.getCut()); toUpdate.setSize(shirtData.getSize()); shirtDatastore.update(toUpdate); return Response.status(Response.Status.FOUND).location(INDEX_URI).build(); }
@Override public String getValue(Shirt entity, int columnIndex) { switch (columnIndex) { case 0: return entity.getName(); case 1: return StringUtils.isBlank(entity.getCut()) ? "" : entity.getCut(); case 2: return StringUtils.isBlank(entity.getSize()) ? "" : entity.getSize(); case 3: return Integer.toString(entity.getCount()); default: throw new IllegalArgumentException("Unrecognized index: " + columnIndex); } }