import org.lilie.services.eliot.applications.textes.importexport.erreur.TextesErreurXmlInvalide
import org.lilie.services.eliot.applications.textes.importexport.erreur.TextesErreurInconnue
import org.lilie.services.eliot.applications.textes.importexport.erreur.TextesErreurConnue
+import org.lilie.services.eliot.securite.AutorisationException
/**
* Service principal des imports de cahiers de textes depuis des fichiers XML
cheminImport
)
}
- catch (Exception e) {
+ catch (TextesInvalideXmlException e) {
traiteErreurXmlInvalide(e, rapportPrincipal)
return rapportPrincipal
}
importeCdt(securiteSession, cdt, rapportPrincipal)
}
+ // si un seul cahier est en échec, l'import de tous les cahiers sera rollbacké
+ if (rapportPrincipal.nombreCdtCreer < rapportPrincipal.nombreCdtParse){
+ rapportPrincipal.nombreCdtCreer = 0
+ rapportPrincipal.listWarnings = []
+ }
+
return rapportPrincipal
}
rapportPrincipal.incNombreCdtParse()
ImportCahierCommand cahierCommand = textesImportTransformService.transform(
- cahierInfo
+ cahierInfo,
+ rapportPrincipal
)
textesImportLoaderService.load(securiteSession, cahierCommand)
rapportPrincipal.incNombreCdtCreer()
}
catch (CahierDeTextesInvalideException e) {
- log.error("Erreur durant l'import d'un cahier", e)
-
- rapportPrincipal.ajouterErreur(new TextesErreurConnue(erreur: e))
+ traiteErreurConnue(e, rapportPrincipal)
}
catch (RecherchePersonneUniqueException e) {
- log.error("Erreur durant l'import d'un cahier", e)
-
- rapportPrincipal.ajouterErreur(new TextesErreurConnue(erreur: e))
+ traiteErreurConnue(e, rapportPrincipal)
}
catch (CreationContenuException e) {
- log.error("Erreur durant l'import d'un cahier", e)
-
- rapportPrincipal.ajouterErreur(new TextesErreurConnue(erreur: e))
+ traiteErreurConnue(e, rapportPrincipal)
+ }
+ catch (AutorisationException e){
+ traiteErreurConnue(e, rapportPrincipal)
}
catch (Exception e) {
- log.error("Erreur durant l'import d'un cahier", e)
-
- rapportPrincipal.ajouterErreur(new TextesErreurInconnue(erreur: e))
+ traiteErreurInconnue(e, rapportPrincipal)
}
}
* @param e : exception
* @param rapportPrincipal : rapport principal affiche cette erreur
*/
- private void traiteErreurXmlInvalide(Exception e,
+ private void traiteErreurXmlInvalide(TextesInvalideXmlException e,
TextesImportRapport rapportPrincipal) {
log.error("Le fichier XML est invalide", e)
new TextesErreurXmlInvalide(erreur: e)
)
}
+
+ private void traiteErreurConnue(Exception e,
+ TextesImportRapport rapportPrincipal) {
+ log.error("Erreur de type durant l'import d'un cahier", e)
+
+ rapportPrincipal.ajouterErreur(new TextesErreurConnue(erreur: e))
+ }
+
+ private void traiteErreurInconnue(Exception e,
+ TextesImportRapport rapportPrincipal) {
+ log.error("Erreur durant l'import d'un cahier", e)
+
+ rapportPrincipal.ajouterErreur(new TextesErreurInconnue(erreur: e))
+ }
}