JaspertReport coupe Apache
Bonjour à tous,
Voilà j'ai enfin terminer mon projet il fonctionne nickel et j'arrive à générer mes document avec jaspertreport et iReports
par contre j'ai un "bug" que je n'arrive pas à comprendre et à résoudre :(
une fois que je lance la méthode pour générer mon pdf, il me le génère bien mais après si je regarder dans ecplise j'ai mon tomacat qui est stoper, je dois donc re lancer le projet aussi non il ne fonctionne plus.
avez vous déjà eu le cas, avez vous une piste pour résoudre cela ?
je vous met en annexe le code de ma classe
Encore merci à tous,
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
| /**
* Méthode permettant la création et la génération de lettre au format pdf
* pour toute les services qui peuvent fournir une ou plusieurs ressources
*
* @param id
* id du registerForm en cours de traitement
* @author Lemaitre Rudy
*/
public Boolean printResources(String idForm) throws SQLException {
JasperDesign jasperDesign = null;
JasperReport jasperReport = null;
JasperPrint jasperPrint = null;
File file = null;
Boolean validationPdf=false;
Boolean validationSql=false;
// chargement et compilation du rapport
try {
log.debug("Chargement du template : " + Constant.templates
+ "en cour");
jasperDesign = JRXmlLoader.load(Constant.templates);
log.debug("Chargement du template réussi");
jasperReport = JasperCompileManager.compileReport(jasperDesign);
log.debug("Chargement du template dans le compilateur : ok");
// paramètres à envoyer au rapport
Map parameters = new HashMap();
parameters.put("id", idForm);
// execution du rapport
jasperPrint = JasperFillManager.fillReport(jasperReport,
parameters, DbConnection.getInstance());
log.debug("Execution du rapport");
// création du rapport au format pdf
// Création du format de la date pour le répertoire
SimpleDateFormat dateFormatDirectory = new SimpleDateFormat("yyyy");
String dateDirectory = dateFormatDirectory.format(new Date());
// Création du format de la date pour le fichier
SimpleDateFormat dateFormat = new SimpleDateFormat(
"yyyy_MM_dd-HH-mm-ss");
String date = dateFormat.format(new Date());
// au besoin on creer le dossier principal des archive et le sous
// dossier qui correspond à l'année en cour
new File(Constant.dossierUplaod + dateDirectory).mkdirs();
// on donne le chemin d'écriture au fichier ainsi que sont nom
// et on le met dans l'année en cours
file = new File(Constant.dossierUplaod + dateDirectory, idForm
+ "_" + "Lettre" + "_" + date + ".pdf");
//Affiche le document à l'utilisateur
JasperViewer.viewReport(jasperPrint);
// Création du pdf
JasperExportManager.exportReportToPdfFile(jasperPrint,
file.getAbsolutePath());
log.debug("Génération du pdf en cours");
//opération réussie alors on dit youpie :)
validationPdf=true;
}
catch (JRException e) {
e.printStackTrace();
}
finally {
DbConnection.closeConnection();
log.debug("Déconnexion effectuée");
log.debug("document générer");
}
if(validationPdf){
// on écrit les informations de l'upload dans la db
AddDocumentLinkDAO documentLink = new AddDocumentLinkMySqlImpl();
try {
documentLink.addDocumentLink(idForm, file.getName(),
file.getAbsolutePath());
log.debug("Lien physique du fichier ajouter en base de données");
// on valide pour la valeur de retour;
validationSql = true;
}
catch (Exception e) {
log.error("Impossible d'ajouter le lien physique du document en base de données");
e.printStackTrace();
}
}
return validationSql;
} |