/** Persist the current instance of LaboratoireReference */ @Override protected void save() { editor.validateFields(); editorDriver.flush(); // Check for errors on the client side if (editorDriver.hasErrors()) { // Window.alert("LaboratoireReference form not validated locally"); return; } Request<Void> saveRequest = request.save(current, isNew); saveRequest.to( new Receiver<Void>() { @Override public void onSuccess(Void response) { requestFactory .getEventBus() .fireEvent(new SaveLaboratoireReferenceEvent(current, initField)); closeForm(); } @Override public void onConstraintViolation(Set<ConstraintViolation<?>> errors) { // Window.alert("LaboratoireReference form not validated on server"); // TODO manage errors on client side when made available by GWT if (errors != null && errors.size() > 0) { // convert ConstraintViolation to get localized messages EpicamRenderer renderer = EpicamRenderer.get(); Set<ConstraintViolation<?>> imogErrors = new HashSet<ConstraintViolation<?>>(); for (ConstraintViolation<?> error : errors) { ImogConstraintViolation violation = new ImogConstraintViolation(); violation.setLeafBean((BaseProxy) error.getLeafBean()); violation.setPropertyPath(error.getPropertyPath()); violation.setRootBean((BaseProxy) error.getRootBean()); violation.setMessage(renderer.getI18nErrorMessage(error.getMessage())); imogErrors.add(violation); } editorDriver.setConstraintViolations(imogErrors); } } @Override public void onFailure(ServerFailure error) { Window.alert("Error updating the LaboratoireReference"); super.onFailure(error); } }); request.fire(); }