import fr.gouv.minefi.cp.helios.pes_v2.commun.BaseAlphanum3;
import fr.gouv.minefi.cp.helios.pes_v2.commun.BaseAlphanum50;
import fr.gouv.minefi.cp.helios.pes_v2.commun.BaseAnnee;
-import fr.gouv.minefi.cp.helios.pes_v2.commun.BaseDate;
import fr.gouv.minefi.cp.helios.pes_v2.commun.BaseNum14;
import fr.gouv.minefi.cp.helios.pes_v2.commun.BaseNum2;
import fr.gouv.minefi.cp.helios.pes_v2.commun.BaseNum20;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
-import java.io.InputStream;
-import java.math.BigDecimal;
import java.util.Arrays;
-import java.util.Calendar;
-import java.util.Date;
import java.util.List;
import java.util.zip.GZIPOutputStream;
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Unmarshaller;
import javax.xml.datatype.XMLGregorianCalendar;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.xpath.XPath;
-import javax.xml.xpath.XPathConstants;
-import javax.xml.xpath.XPathFactory;
-import org.apache.commons.codec.binary.Base64;
import org.apache.commons.codec.binary.Base64OutputStream;
import org.apache.commons.io.FilenameUtils;
import org.apache.commons.io.IOUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
/**
*
* @author jp.tessier
*/
public class GeneratePesUtils {
+ private static Log logger = LogFactory.getLog(GeneratePesUtils.class);
// NODE NAMES
private static final String NODENAME_PESALLER = "PES_ALLER";
try {
compressAndBase64Encoding(pieceJustificative, contenu, pj);
- /*
- // Si ce n'est pas une facture, compression de la pj et encodage en base64 de son contenu
- if (!(typeFacture.contains(typePjKey))) {
- compressAndBase64Encoding(pieceJustificative, contenu, pj);
- } else {
- try {
- createPesFacture(pieceJustificative, contenu, pj);
- } catch (Exception ex) {
- compressAndBase64Encoding(pieceJustificative, contenu, pj);
- }
- }*/
} catch (Exception ex) {
+ logger.error("Problème lors du compressAndBase64Encoding()",ex);
throw new UnExpectedException(ex);
}
BaseAlphanum50 idunique = new BaseAlphanum50();
IOException {
TPESPJ.Contenu.Fichier fichier = new TPESPJ.Contenu.Fichier();
- fichier.setMIMEType(MimeType.getMimeTypeByExtension(FilenameUtils.getExtension(pieceJustificative)).getContentType());
+ String extensionFichier = FilenameUtils.getExtension(pieceJustificative);
+ MimeType mime = MimeType.getMimeTypeByExtension(extensionFichier);
+ String contentType = mime==null?extensionFichier:mime.getContentType();
+ fichier.setMIMEType(contentType);
// Creation d'un inputStream sur la PJ
FileInputStream fis = new FileInputStream(new File(pieceJustificative));
// Creation du gzip et d'un outputStream
ByteArrayOutputStream baos = new ByteArrayOutputStream();
GZIPOutputStream gzo = new GZIPOutputStream(baos);
-
+ Base64OutputStream base64output = new Base64OutputStream(baos);
try {
// GZIP du fichier
IOUtils.copy(fis, gzo);
gzo.finish();
gzo.flush();
- Base64OutputStream base64output = new Base64OutputStream(baos);
+ base64output = new Base64OutputStream(baos);
base64output.flush();
- fichier.setValue(baos.toByteArray());
- base64output.close();
- contenu.setFichier(fichier);
-
+ fichier.setValue(baos.toByteArray());
+ contenu.setFichier(fichier);
pj.setContenu(contenu);
} finally {
+ base64output.close();
fis.close();
gzo.close();
baos.close();