/** * Display the current instance of LieuDit in editor * * @param entity the LieuDitProxy to be displayed */ private void viewLieuDit(LieuDitProxy entity) { /* display instance information */ setTitle(NLS.constants().lieuDit_name() + ": " + EpicamRenderer.get().getDisplayValue(entity)); setMetaData((ImogBeanProxy) entity); /* push the instance to the editor in view mode */ request = requestFactory.lieuDitRequest(); current = request.edit(entity); if (current.getDescription() == null) { LocalizedTextProxy newDescription = request.create(LocalizedTextProxy.class); current.setDescription(newDescription); } if (current.getCoordonnees() == null) { GeoFieldProxy newCoordonnees = request.create(GeoFieldProxy.class); current.setCoordonnees(newCoordonnees); } editor.setEditedValue(current); /* set request context for list editor operations */ editor.setRequestContextForListEditors(request); editorDriver.edit(current, request); editor.setEdited(false); /* update field widgets in editor */ editor.computeVisibility(null, true); /* display edit button */ if (AccessManager.canEditLieuDit()) setModifiable(true); showGlassPanel = false; EpicamEntryPoint.GP.hide(); }
/** Edit the current instance of LieuDit in editor */ @Override protected void edit() { /* set the instance in edit mode in the editor */ editor.setEdited(true); /* update field widgets in editor */ }
/** Persist the current instance of LieuDit */ @Override protected void save() { editor.validateFields(); editorDriver.flush(); // Check for errors on the client side if (editorDriver.hasErrors()) { // Window.alert("LieuDit 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 SaveLieuDitEvent(current, initField)); closeForm(); } @Override public void onConstraintViolation(Set<ConstraintViolation<?>> errors) { // Window.alert("LieuDit 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 LieuDit"); super.onFailure(error); } }); request.fire(); }
/** Create a new instance of LieuDit */ private void createNewLieuDit() { request = requestFactory.lieuDitRequest(); /* create a new intance of LieuDit */ LieuDitProxy newLieuDit = request.create(LieuDitProxy.class); newLieuDit.setId(ImogKeyGenerator.generateKeyId("LD")); LocalizedTextProxy newDescription = request.create(LocalizedTextProxy.class); newLieuDit.setDescription(newDescription); GeoFieldProxy newCoordonnees = request.create(GeoFieldProxy.class); newLieuDit.setCoordonnees(newCoordonnees); /* push the instance to the editor */ current = newLieuDit; editorDriver.edit(current, request); /* set request context for list editor operations */ editor.setRequestContextForListEditors(request); /* update field widgets in editor */ editor.computeVisibility(null, true); editor.setEdited(true); }