r308 - in trunk: . faxtomail-service faxtomail-service/src/main/java/com/franciaflex/faxtomail/services faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service faxtomail-service/src/main/resources faxtomail-service/src/main/resources/pdf faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service faxtomail-ui-swing faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomai
Author: echatellier Date: 2014-07-02 10:57:43 +0200 (Wed, 02 Jul 2014) New Revision: 308 Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/308 Log: Refactor email details pdf generation. Move code test service module. Add unit test. Added: trunk/faxtomail-service/src/main/resources/pdf/ trunk/faxtomail-service/src/main/resources/pdf/demande.odt Removed: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/print/ComputeDemandeContent.java trunk/faxtomail-ui-swing/src/main/resources/odt/ trunk/faxtomail-ui-swing/src/main/resources/pdf/ Modified: trunk/faxtomail-service/pom.xml trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/FaxToMailDecorator.java trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailService.java trunk/faxtomail-service/src/main/resources/pdf/demande.pdf trunk/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/EmailServiceTest.java trunk/faxtomail-ui-swing/pom.xml trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUIHandler.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/print/AttachmentToPrintChooserUIHandler.java trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/FaxToMailActionSupport.java trunk/pom.xml Modified: trunk/faxtomail-service/pom.xml =================================================================== --- trunk/faxtomail-service/pom.xml 2014-07-02 08:29:20 UTC (rev 307) +++ trunk/faxtomail-service/pom.xml 2014-07-02 08:57:43 UTC (rev 308) @@ -161,6 +161,11 @@ <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> </dependency> + + <dependency> + <groupId>org.apache.pdfbox</groupId> + <artifactId>pdfbox</artifactId> + </dependency> </dependencies> <build> Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/FaxToMailDecorator.java =================================================================== --- trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/FaxToMailDecorator.java 2014-07-02 08:29:20 UTC (rev 307) +++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/FaxToMailDecorator.java 2014-07-02 08:57:43 UTC (rev 308) @@ -46,10 +46,9 @@ import java.util.concurrent.ExecutionException; /** - * TODO + * Faxtomail decorator. * * @author tchemit <chemit@codelutin.com> - * @since TODO */ public class FaxToMailDecorator<O> extends MultiJXPathDecorator<O> implements Cloneable { Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailService.java =================================================================== --- trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailService.java 2014-07-02 08:29:20 UTC (rev 307) +++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailService.java 2014-07-02 08:57:43 UTC (rev 308) @@ -47,8 +47,6 @@ import javax.activation.FileDataSource; import javax.mail.MessagingException; -import com.franciaflex.faxtomail.persistence.entities.Range; - import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.Predicate; import org.apache.commons.io.IOUtils; @@ -60,6 +58,10 @@ import org.apache.commons.mail.EmailConstants; import org.apache.commons.mail.EmailException; import org.apache.commons.mail.MultiPartEmail; +import org.apache.pdfbox.pdmodel.PDDocument; +import org.apache.pdfbox.pdmodel.PDDocumentCatalog; +import org.apache.pdfbox.pdmodel.interactive.form.PDAcroForm; +import org.apache.pdfbox.pdmodel.interactive.form.PDField; import org.nuiton.topia.persistence.TopiaEntities; import org.nuiton.util.beans.Binder; import org.nuiton.util.beans.BinderFactory; @@ -89,12 +91,14 @@ import com.franciaflex.faxtomail.persistence.entities.MailField; import com.franciaflex.faxtomail.persistence.entities.MailFolder; import com.franciaflex.faxtomail.persistence.entities.MailFolderTopiaDao; +import com.franciaflex.faxtomail.persistence.entities.Range; import com.franciaflex.faxtomail.persistence.entities.RangeRow; import com.franciaflex.faxtomail.persistence.entities.RangeRowTopiaDao; import com.franciaflex.faxtomail.persistence.entities.Reply; import com.franciaflex.faxtomail.persistence.entities.ReplyTopiaDao; import com.franciaflex.faxtomail.services.FaxToMailServiceSupport; import com.google.common.base.Function; +import com.google.common.base.Joiner; import com.google.common.base.Preconditions; import com.google.common.base.Strings; import com.google.common.collect.Lists; @@ -806,4 +810,95 @@ ediReturnDao.deleteAll(ediReturns); getPersistenceContext().commit(); } + + /** + * Generate email details as PDF and return it as an printable attachment. + * + * @param email email + * @return attachment filled with pdf content + */ + public AttachmentFile getEmailDetailAsAttachment(Email email) { + Map<String, String> pdfFieldValues = Maps.newHashMap(); + InputStream emptyPage = null; + PDDocument resultDocument; + + AttachmentFile result = null; + + try { + + emptyPage = getClass().getResourceAsStream("/pdf/demande.pdf"); + resultDocument = PDDocument.load(emptyPage); + /*SetField fields = new SetField(); + if (log.isTraceEnabled()) { + log.trace("fields in document are:"); + PrintFields printFields = new PrintFields(); + printFields.printFields(resultDocument); + }*/ + + loadDocumentDedails(pdfFieldValues, email); + + + if (log.isDebugEnabled()) { + log.debug("will fill form document:\n" + pdfFieldValues); + } + + for (Map.Entry<String, String> field : pdfFieldValues.entrySet()) { + String fieldName = field.getKey(); + String fieldValue = field.getValue(); + setField(resultDocument, fieldName, fieldValue); + } + + + ByteArrayOutputStream out = new ByteArrayOutputStream(); + resultDocument.save(out); + resultDocument.close(); + + result = new AttachmentFileImpl(); + result.setContent(out.toByteArray()); + result.setFilename("demand_details.pdf"); + result.getFile(); + + } catch (Exception e) { + if (log.isErrorEnabled()) { + log.error("", e); + } + } finally { + IOUtils.closeQuietly(emptyPage); + } + return result; + } + + protected void loadDocumentDedails(Map<String, String> pdfFieldValues, Email email) { + setField(pdfFieldValues, "demand", email.getObject()); + setField(pdfFieldValues, "receivedDate", DateFormatUtils.format(email.getReceptionDate(), "dd/MM/yyyy")); + setField(pdfFieldValues, "sender", email.getSender()); + setField(pdfFieldValues, "object", email.getObject()); + setField(pdfFieldValues, "clientCode", email.getClient() == null ? "" : email.getClient().getCode()); + setField(pdfFieldValues, "demandType", email.getDemandType() == null ? "" : email.getDemandType().getLabel()); + setField(pdfFieldValues, "priority", email.getPriority() == null ? "" : email.getPriority().getLabel()); + setField(pdfFieldValues, "projectReference", email.getProjectReference()); + setField(pdfFieldValues, "companyReference", email.getCompanyReference()); + setField(pdfFieldValues, "etatAttente", email.getEtatAttente() == null ? "" : email.getEtatAttente().getLabel()); + setField(pdfFieldValues, "status", email.getDemandStatus() == null ? "" : email.getDemandStatus().getLabel()); + setField(pdfFieldValues, "takenBy", email.getTakenBy() == null ? "" : (email.getTakenBy().getLogin() + " " + email.getTakenBy().getFirstName() + " " + email.getTakenBy().getLastName())); + } + + protected void setField(Map<String, String> pdfFieldValues, String fieldName, String... value) { + if (value == null) { + pdfFieldValues.put(fieldName, ""); + } else { + pdfFieldValues.put(fieldName, Joiner.on(" ").skipNulls().join(value)); + } + } + + protected void setField( PDDocument pdfDocument, String name, String value ) throws IOException { + PDDocumentCatalog docCatalog = pdfDocument.getDocumentCatalog(); + PDAcroForm acroForm = docCatalog.getAcroForm(); + PDField field = acroForm.getField( name ); + if ( field != null ) { + field.setValue( value ); + } else if (log.isWarnEnabled()) { + log.warn("Can't find field " + name + " in pdf form"); + } + } } Copied: trunk/faxtomail-service/src/main/resources/pdf/demande.odt (from rev 306, trunk/faxtomail-ui-swing/src/main/resources/odt/demande.odt) =================================================================== (Binary files differ) Modified: trunk/faxtomail-service/src/main/resources/pdf/demande.pdf =================================================================== (Binary files differ) Modified: trunk/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/EmailServiceTest.java =================================================================== --- trunk/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/EmailServiceTest.java 2014-07-02 08:29:20 UTC (rev 307) +++ trunk/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/EmailServiceTest.java 2014-07-02 08:57:43 UTC (rev 308) @@ -33,6 +33,7 @@ import org.nuiton.util.pagination.PaginationParameter; import org.nuiton.util.pagination.PaginationResult; +import com.franciaflex.faxtomail.persistence.entities.AttachmentFile; import com.franciaflex.faxtomail.persistence.entities.DemandStatus; import com.franciaflex.faxtomail.persistence.entities.Email; import com.franciaflex.faxtomail.persistence.entities.EmailFilter; @@ -108,4 +109,21 @@ emails = service.search(filter, getCurrentUser(), paginationParameter); Assert.assertEquals(0, emails.getCount()); } + + /** + * Generate email detail as pdf test. + */ + @Test + public void testEmailDetailsPdf() { + + // select a random test email + PaginationParameter paginationParameter = PaginationParameter.of(0, 1); + EmailFilter filter = new EmailFilter(); + PaginationResult<Email> emails = service.search(filter, getCurrentUser(), paginationParameter); + Email testEmail = emails.getElements().get(0); + + // test pdf generation + AttachmentFile attachmentFile = service.getEmailDetailAsAttachment(testEmail); + Assert.assertNotNull(attachmentFile); + } } Modified: trunk/faxtomail-ui-swing/pom.xml =================================================================== --- trunk/faxtomail-ui-swing/pom.xml 2014-07-02 08:29:20 UTC (rev 307) +++ trunk/faxtomail-ui-swing/pom.xml 2014-07-02 08:57:43 UTC (rev 308) @@ -283,11 +283,6 @@ <artifactId>activation</artifactId> </dependency> - <dependency> - <groupId>org.apache.pdfbox</groupId> - <artifactId>pdfbox</artifactId> - </dependency> - </dependencies> <!-- TODO --> Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUIHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUIHandler.java 2014-07-02 08:29:20 UTC (rev 307) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUIHandler.java 2014-07-02 08:57:43 UTC (rev 308) @@ -38,11 +38,11 @@ import com.franciaflex.faxtomail.persistence.entities.HistoryType; import com.franciaflex.faxtomail.persistence.entities.MailFolder; import com.franciaflex.faxtomail.services.FaxToMailServiceUtils; +import com.franciaflex.faxtomail.services.service.EmailService; import com.franciaflex.faxtomail.ui.swing.actions.ArchiveFromListAction; import com.franciaflex.faxtomail.ui.swing.actions.ComputeQuantitiesByRangeAction; import com.franciaflex.faxtomail.ui.swing.actions.LoadFolderEmailsAction; import com.franciaflex.faxtomail.ui.swing.actions.SaveDemandeFromListAction; -import com.franciaflex.faxtomail.ui.swing.content.print.ComputeDemandeContent; import com.franciaflex.faxtomail.ui.swing.content.reply.ReplyFormUI; import com.franciaflex.faxtomail.ui.swing.content.reply.ReplyFormUIModel; import com.franciaflex.faxtomail.ui.swing.util.AbstractFaxToMailDemandListHandler; @@ -501,6 +501,7 @@ boolean take = Boolean.TRUE.equals(selectedFolder.getPrintActionEqualTakeAction()); FaxToMailUser currentUser = getContext().getCurrentUser(); + List<AttachmentFile> nonPrintedAttachment = new ArrayList<AttachmentFile>(); //TODO kmorin 20140606 print a result page and maybe a page to separate the demands List<DemandeUIModel> currentEmails = model.getCurrentEmails(); for (DemandeUIModel demandeUIModel : currentEmails) { @@ -508,12 +509,12 @@ demandeUIModel.setTakenBy(currentUser); } - final AttachmentFile demandFile = new AttachmentFileImpl(); - demandFile.setFilename("demand_details"); - ComputeDemandeContent generateDemandeContent = new ComputeDemandeContent(); - byte[] demandContent = generateDemandeContent.getDocumentContent(demandeUIModel); - demandFile.setContent(demandContent); - FaxToMailUIUtil.print(demandFile, true); + // generate details as pdf + EmailService emailService = getContext().getEmailService(); + Email email = demandeUIModel.toEntity(); + final AttachmentFile demandDetailAttachment = emailService.getEmailDetailAsAttachment(email); + // print details + FaxToMailUIUtil.print(demandDetailAttachment, true); for (Attachment attachment : demandeUIModel.getAttachment()) { @@ -528,10 +529,15 @@ if (printable) { FaxToMailUIUtil.print(attachmentFile, true); } else { - //TODO kmorin 20140629 add to errors + nonPrintedAttachment.add(attachmentFile); } } } + + // generate a new page with non printed attachment + /*for () { + + }*/ } public void reply() { Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/print/AttachmentToPrintChooserUIHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/print/AttachmentToPrintChooserUIHandler.java 2014-07-02 08:29:20 UTC (rev 307) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/print/AttachmentToPrintChooserUIHandler.java 2014-07-02 08:57:43 UTC (rev 308) @@ -24,27 +24,33 @@ * #L% */ +import static org.nuiton.i18n.I18n.t; + +import java.awt.event.ItemEvent; +import java.awt.event.ItemListener; +import java.util.List; + +import javax.swing.JCheckBox; +import javax.swing.JComponent; +import javax.swing.JOptionPane; + +import jaxx.runtime.JAXXUtil; +import jaxx.runtime.validator.swing.SwingValidator; + +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + import com.franciaflex.faxtomail.persistence.entities.Attachment; import com.franciaflex.faxtomail.persistence.entities.AttachmentFile; -import com.franciaflex.faxtomail.persistence.entities.AttachmentFileImpl; +import com.franciaflex.faxtomail.persistence.entities.Email; +import com.franciaflex.faxtomail.services.service.EmailService; import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel; import com.franciaflex.faxtomail.ui.swing.util.AbstractFaxToMailUIHandler; import com.franciaflex.faxtomail.ui.swing.util.Cancelable; import com.franciaflex.faxtomail.ui.swing.util.FaxToMailUIUtil; import com.google.common.collect.Lists; -import jaxx.runtime.JAXXUtil; -import jaxx.runtime.validator.swing.SwingValidator; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import javax.swing.*; -import java.awt.event.ItemEvent; -import java.awt.event.ItemListener; -import java.util.List; - -import static org.nuiton.i18n.I18n.t; - /** * @author Kevin Morin (Code Lutin) * @since x.x @@ -65,22 +71,20 @@ ui.getAttachmentPanel().add(checkBox); // add demand details - final AttachmentFile demandFile = new AttachmentFileImpl(); - demandFile.setFilename("demand_details"); - ComputeDemandeContent generateDemandeContent = new ComputeDemandeContent(); - byte[] demandContent = generateDemandeContent.getDocumentContent(demand); - demandFile.setContent(demandContent); - getModel().addAttachmentToPrint(demandFile); + EmailService emailService = getContext().getEmailService(); + Email email = getModel().getDemand().toEntity(); + final AttachmentFile demandDetailAttachment = emailService.getEmailDetailAsAttachment(email); // add attached files + getModel().addAttachmentToPrint(demandDetailAttachment); checkBox.addItemListener(new ItemListener() { @Override public void itemStateChanged(ItemEvent e) { log.info("state changed " + e.getStateChange()); if (e.getStateChange() == ItemEvent.SELECTED) { - getModel().addAttachmentToPrint(demandFile); + getModel().addAttachmentToPrint(demandDetailAttachment); } else { - getModel().removeAttachmentToPrint(demandFile); + getModel().removeAttachmentToPrint(demandDetailAttachment); } } }); @@ -179,6 +183,4 @@ closeDialog(); } } - - } Deleted: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/print/ComputeDemandeContent.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/print/ComputeDemandeContent.java 2014-07-02 08:29:20 UTC (rev 307) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/print/ComputeDemandeContent.java 2014-07-02 08:57:43 UTC (rev 308) @@ -1,136 +0,0 @@ -package com.franciaflex.faxtomail.ui.swing.content.print; - -/* - * #%L - * FaxToMail :: UI - * $Id:$ - * $HeadURL:$ - * %% - * Copyright (C) 2014 Franciaflex, Code Lutin - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel; -import com.google.common.base.Joiner; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; -import com.google.common.io.Closeables; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.apache.pdfbox.examples.fdf.PrintFields; -import org.apache.pdfbox.examples.fdf.SetField; -import org.apache.pdfbox.pdmodel.PDDocument; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.text.DateFormat; -import java.text.SimpleDateFormat; -import java.util.List; -import java.util.Map; - -/** - * Created by davidcosse on 27/06/14. - */ -public class ComputeDemandeContent { - - private static final Log log = LogFactory.getLog(ComputeDemandeContent.class); - protected Map<String, String> pdfFieldValues; - protected DateFormat dayFormat = new SimpleDateFormat("dd/MM/yyyy"); - - - public byte[] getDocumentContent(DemandeUIModel demand) { - pdfFieldValues = Maps.newHashMap(); - List<InputStream> streams = Lists.newArrayList(); - PDDocument resultDocument; - - byte[] result = null; - - try { - - InputStream emptyPage = getClass().getResourceAsStream("/pdf/demande.pdf"); - streams.add(emptyPage); - resultDocument = PDDocument.load(emptyPage); - SetField fields = new SetField(); - if (log.isTraceEnabled()) { - log.trace("fields in document are:"); - PrintFields printFields = new PrintFields(); - printFields.printFields(resultDocument); - } - - loadDocumentDedails(demand); - - - if (log.isDebugEnabled()) { - log.debug("will fill form document:\n" + pdfFieldValues); - } - - for (Map.Entry<String, String> field : pdfFieldValues.entrySet()) { - String fieldName = field.getKey(); - String fieldValue = field.getValue(); - fields.setField(resultDocument, fieldName, fieldValue); - } - - - ByteArrayOutputStream out = new ByteArrayOutputStream(); - resultDocument.save(out); - resultDocument.close(); - - result = out.toByteArray(); - - - } catch (Exception e) { - if (log.isErrorEnabled()) { - log.error("", e); - } - } finally { - for (InputStream is : streams) { - try { - Closeables.close(is, false); - } catch (IOException e) { - if (log.isErrorEnabled()) { - log.error("An exception occurred", e); - } - } - } - } - return result; - } - - protected void loadDocumentDedails(DemandeUIModel demand) { - setField("demand", demand.getObject()); - setField("receivedDate", dayFormat.format(demand.getReceptionDate())); - setField("sender", demand.getSender()); - setField("object", demand.getObject()); - setField("clientCode", demand.getClientCode()); - setField("demandType", (demand.getDemandType() == null) ? "" : demand.getDemandType().getLabel()); - setField("priority", (demand.getPriority() == null) ? "" : demand.getPriority().getLabel()); - setField("projectReference", demand.getProjectReference()); - setField("companyReference", demand.getCompanyReference()); - setField("etatAttente", (demand.getEtatAttente() == null) ? "" : demand.getEtatAttente().getLabel()); - setField("status", (demand.getDemandStatus() == null) ? "" : demand.getDemandStatus().getLabel()); - setField("takenBy", (demand.getTakenBy() == null) ? "" : (demand.getTakenBy().getLogin() + " " + demand.getTakenBy().getFirstName() + " " + demand.getTakenBy().getLastName())); - } - - protected void setField(String fieldName, String... value) { - if (value == null) { - pdfFieldValues.put(fieldName, ""); - } else { - pdfFieldValues.put(fieldName, Joiner.on(" ").skipNulls().join(value)); - } - } -} Modified: trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/FaxToMailActionSupport.java =================================================================== --- trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/FaxToMailActionSupport.java 2014-07-02 08:29:20 UTC (rev 307) +++ trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/FaxToMailActionSupport.java 2014-07-02 08:57:43 UTC (rev 308) @@ -71,7 +71,6 @@ protected static final ExclusionStrategy EXCLUSION_STRATEGY = new ExclusionStrategy() { @Override public boolean shouldSkipField(FieldAttributes f) { - // TODO AThimel 06/08/13 Maybe another Multimap implementation will do the job ? Class<?> declaringClass = f.getDeclaringClass(); String attributeName = f.getName(); boolean result = GSON_EXCLUSIONS.containsEntry(declaringClass, attributeName); Modified: trunk/pom.xml =================================================================== --- trunk/pom.xml 2014-07-02 08:29:20 UTC (rev 307) +++ trunk/pom.xml 2014-07-02 08:57:43 UTC (rev 308) @@ -135,7 +135,6 @@ <maven.compiler.target>1.7</maven.compiler.target> <signatureArtifactId>java17</signatureArtifactId> <signatureVersion>1.0</signatureVersion> - <pdfboxVersion>1.6.0</pdfboxVersion> <!-- Do not upgrade to version 1.7.x or 1.8.x because some classes are missing --> </properties> <repositories> @@ -487,12 +486,6 @@ </dependency> <dependency> - <groupId>org.apache.shiro</groupId> - <artifactId>shiro-web</artifactId> - <version>${shiroVersion}</version> - </dependency> - - <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.2.4</version> @@ -630,7 +623,7 @@ <dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox</artifactId> - <version>${pdfboxVersion}</version> + <version>1.8.6</version> </dependency> <dependency>
participants (1)
-
echatellier@users.forge.codelutin.com