Skip to content

Commit 539724b

Browse files
committed
Merge branch 'develop'
2 parents 3711d19 + 22e034d commit 539724b

File tree

2 files changed

+36
-2
lines changed

2 files changed

+36
-2
lines changed

src/main/java/fr/univlorraine/ecandidat/controllers/CandidatureController.java

Lines changed: 33 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import java.time.format.DateTimeFormatter;
2626
import java.time.temporal.Temporal;
2727
import java.util.ArrayList;
28+
import java.util.Calendar;
2829
import java.util.List;
2930
import java.util.Locale;
3031
import java.util.Optional;
@@ -38,6 +39,7 @@
3839
import org.apache.pdfbox.io.MemoryUsageSetting;
3940
import org.apache.pdfbox.multipdf.PDFMergerUtility;
4041
import org.apache.pdfbox.pdmodel.PDDocument;
42+
import org.apache.pdfbox.pdmodel.PDDocumentInformation;
4143
import org.apache.pdfbox.pdmodel.PDPage;
4244
import org.apache.pdfbox.pdmodel.PDPageContentStream;
4345
import org.apache.pdfbox.pdmodel.common.PDRectangle;
@@ -1389,18 +1391,30 @@ private OnDemandFile downlaodMultipleDossierPdf(final List<Candidature> liste, f
13891391
*/
13901392
public OnDemandFile downloadDossier(final Candidature candidature, final List<SimpleTablePresentation> listePresentation, final List<SimpleTablePresentation> listeDatePresentation,
13911393
final List<PjPresentation> listePj, final List<FormulairePresentation> listeForm, final Boolean addPj) {
1392-
String fileName = applicationContext.getMessage("candidature.download.file", new Object[] {candidature.getCandidat().getCompteMinima().getNumDossierOpiCptMin(),
1393-
candidature.getCandidat().getNomPatCandidat(), candidature.getCandidat().getPrenomCandidat(), candidature.getFormation().getCodForm()}, UI.getCurrent().getLocale());
1394+
1395+
/*Variables utiles*/
1396+
String numDossier = candidature.getCandidat().getCompteMinima().getNumDossierOpiCptMin();
1397+
String nom = candidature.getCandidat().getNomPatCandidat();
1398+
String prenom = candidature.getCandidat().getPrenomCandidat();
1399+
String codForm = candidature.getFormation().getCodForm();
1400+
String libForm = candidature.getFormation().getLibForm();
1401+
1402+
/*Nom du fichier*/
1403+
String fileName = applicationContext.getMessage("candidature.download.file", new Object[] {numDossier, nom, prenom, codForm}, UI.getCurrent().getLocale());
13941404

13951405
// Les parametres des PJ
13961406
Boolean enableAddApogeePJDossier = parametreController.getIsAddApogeePJDossier();
13971407

13981408
// Font
13991409
PDFont font = PDType1Font.HELVETICA_BOLD;
1410+
14001411
// le dossier outStream
14011412
ByteArrayInputStream bisDossier = null;
1413+
14021414
// liste des InputStream à fermer
14031415
List<InputStream> listeInputStreamToClose = new ArrayList<>();
1416+
1417+
/*Génération du dossier principal*/
14041418
try {
14051419
bisDossier = generateDossier(candidature, listePresentation, listeDatePresentation, listePj, listeForm);
14061420
if (bisDossier == null) {
@@ -1415,10 +1429,27 @@ public OnDemandFile downloadDossier(final Candidature candidature, final List<Si
14151429
ByteArrayInOutStream out = new ByteArrayInOutStream();
14161430
InputStream is = null;
14171431
try {
1432+
/*Merger*/
14181433
PDFMergerUtility ut = new PDFMergerUtility();
1434+
1435+
/*Propriétés du document*/
1436+
PDDocumentInformation info = new PDDocumentInformation();
1437+
info.setTitle(numDossier + "_" + nom + "_" + prenom + "_" + codForm);
1438+
info.setAuthor(ConstanteUtils.APP_NAME);
1439+
info.setSubject(nom + " " + prenom + " (" + numDossier + ") / " + libForm + " (" + codForm + ")");
1440+
Calendar calendar = Calendar.getInstance(UI.getCurrent().getLocale());
1441+
info.setCreationDate(calendar);
1442+
info.setModificationDate(calendar);
1443+
ut.setDestinationDocumentInformation(info);
1444+
1445+
/*Ajout du dossier*/
14191446
ut.addSource(bisDossier);
1447+
1448+
/*Gestion des erreurs de pj*/
14201449
Boolean errorAddPj = false;
14211450
List<String> fileNameError = new ArrayList<>();
1451+
1452+
/*Calcul si besoin d'ajouter les pj*/
14221453
Integer nbFilePJ = 0;
14231454
for (PjPresentation pj : listePj) {
14241455
if (pj.getFilePj() != null) {

src/main/java/fr/univlorraine/ecandidat/utils/ConstanteUtils.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -399,4 +399,7 @@ public class ConstanteUtils {
399399

400400
/*Max buffer size*/
401401
public static int MAX_BUFFER_SIZE = Integer.MAX_VALUE - 8;
402+
403+
/*App Name*/
404+
public static String APP_NAME = "eCandidat";
402405
}

0 commit comments

Comments
 (0)