/** * Get an existing instance of LaboratoireReference * * @param entityId the id of the LaboratoireReferenceProxy to be fetched */ private void fetchLaboratoireReference(String entityId) { LaboratoireReferenceRequest request = requestFactory.laboratoireReferenceRequest(); /* get the LaboratoireReference instance from database */ Request<LaboratoireReferenceProxy> fetchRequest = request.findById(entityId); fetchRequest.with("nom"); fetchRequest.with("description"); fetchRequest.with("region"); fetchRequest.with("region.nom"); fetchRequest.with("districtSante"); fetchRequest.with("districtSante.nom"); fetchRequest.with("coordonnees"); fetchRequest.with("lieuxDits"); fetchRequest .to( new Receiver<LaboratoireReferenceProxy>() { @Override public void onSuccess(LaboratoireReferenceProxy entity) { viewLaboratoireReference(entity); } }) .fire(); }
/** Create a new instance of LaboratoireReference */ private void createNewLaboratoireReference() { request = requestFactory.laboratoireReferenceRequest(); /* create a new intance of LaboratoireReference */ LaboratoireReferenceProxy newLaboratoireReference = request.create(LaboratoireReferenceProxy.class); newLaboratoireReference.setId(ImogKeyGenerator.generateKeyId("LAB_REF")); LocalizedTextProxy newNom = request.create(LocalizedTextProxy.class); newLaboratoireReference.setNom(newNom); LocalizedTextProxy newDescription = request.create(LocalizedTextProxy.class); newLaboratoireReference.setDescription(newDescription); GeoFieldProxy newCoordonnees = request.create(GeoFieldProxy.class); newLaboratoireReference.setCoordonnees(newCoordonnees); /* push the instance to the editor */ current = newLaboratoireReference; editorDriver.edit(current, request); /* set request context for list editor operations */ editor.setRequestContextForListEditors(request); /* update field widgets in editor */ editor.computeVisibility(null, true); // Field districtSante depends on the value of field region editor.getDistrictSanteFilteredByRegion(null); editor.setEdited(true); }
/** 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(); }
/** * Display the current instance of LaboratoireReference in editor * * @param entity the LaboratoireReferenceProxy to be displayed */ private void viewLaboratoireReference(LaboratoireReferenceProxy entity) { /* display instance information */ setTitle( NLS.constants().laboratoireReference_name() + ": " + EpicamRenderer.get().getDisplayValue(entity)); setMetaData((ImogBeanProxy) entity); /* push the instance to the editor in view mode */ request = requestFactory.laboratoireReferenceRequest(); current = request.edit(entity); if (current.getNom() == null) { LocalizedTextProxy newNom = request.create(LocalizedTextProxy.class); current.setNom(newNom); } 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.canEditLaboratoireReference()) setModifiable(true); showGlassPanel = false; EpicamEntryPoint.GP.hide(); }