/** Charge les personnes pour la fusion. */ private void chargerPersonnesFusion() { LoadingPopup.afficher( new LoadingPopupConfiguration(presenterConstants.chargementPersonnesFusionEnCours())); final AsyncCallback<ParametresFusionModel> asyncCallback = new AsyncCallback<ParametresFusionModel>() { @Override public void onFailure(Throwable caught) { LoadingPopup.stopAll(); ErrorPopup.afficher(new ErrorPopupConfiguration(caught)); } @Override public void onSuccess(ParametresFusionModel result) { LoadingPopup.stop(); personneSourceEncours = result.getPersonneSource(); personneCibleEnCours = result.getPersonneCible(); view.chargerPersonnes(personneSourceEncours, personneCibleEnCours); } }; fusionRpcService.preparerFusion(idPersonne1, idPersonne2, asyncCallback); }
/** Vailde la fusion. */ private void validerFusion() { LoadingPopup.afficher( new LoadingPopupConfiguration(presenterConstants.validationFusionEnCours())); // Récupération de la personne source et de la personne cible final ParametresFusionModel parametresFusion = new ParametresFusionModel(); parametresFusion.setPersonneSource(personneSourceEncours); parametresFusion.setPersonneCible(personneCibleEnCours); // Appel asynchrone final AsyncCallback<Object> asyncCallback = new AsyncCallback<Object>() { @Override public void onFailure(Throwable caught) { LoadingPopup.stopAll(); if (caught instanceof ControleIntegriteFusionExceptionGwt) { afficherMessageErreurControleIntegrite((ControleIntegriteFusionExceptionGwt) caught); } else { ErrorPopup.afficher(new ErrorPopupConfiguration(caught)); } } @Override public void onSuccess(Object result) { LoadingPopup.stop(); // Envoi d'un évènement dans le bus pour mettre à jour la sélection de doublon fireEventLocalBus(new MajSelectionDoublonsEvent()); // Envoi d'un évènement pour indiquer la fin de la fusion des deux personnes fireEventLocalBus( new FinFusionPersonnesEvent( personneSourceEncours.getIdentifiant(), personneCibleEnCours.getIdentifiant())); // Initialisation de la vue de la fusion view.initVue(); } }; fusionRpcService.validerFusion(parametresFusion, asyncCallback); }