r211 - in trunk: faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities faxtomail-persistence/src/main/resources faxtomail-persistence/src/main/xmi faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/de
Author: kmorin Date: 2014-06-18 10:26:11 +0200 (Wed, 18 Jun 2014) New Revision: 211 Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/211 Log: tentative de chargement des fichiers seulement au moment ou on en a besoin Added: trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/AttachmentImpl.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/EditAttachmentAction.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/OpenAttachmentAction.java Modified: trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/AttachmentFileImpl.java trunk/faxtomail-persistence/src/main/resources/faxToMail.properties trunk/faxtomail-persistence/src/main/xmi/faxtomail.properties trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailService.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/GenerateAnnotatedAttachmentAction.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentCellEditor.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentEditorUIHandler.java 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/DemandeUIHandler.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java 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/util/FaxToMailUIUtil.java trunk/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/job/MailFilterJob.java Modified: trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/AttachmentFileImpl.java =================================================================== --- trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/AttachmentFileImpl.java 2014-06-17 17:01:10 UTC (rev 210) +++ trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/AttachmentFileImpl.java 2014-06-18 08:26:11 UTC (rev 211) @@ -65,9 +65,9 @@ // if the file already exists, then add a number to the name int i = 1; String extension = "." + FileUtil.extension(fileName); - String name = FileUtil.basename(extension); + String name = FileUtil.basename(fileName); while (tmpLocalFile.exists()) { - tmpLocalFile = new File(tempFolder, name + "-" + i + extension); + tmpLocalFile = new File(tempFolder, name + "-" + i++ + extension); } if (log.isDebugEnabled()) { Added: trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/AttachmentImpl.java =================================================================== --- trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/AttachmentImpl.java (rev 0) +++ trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/AttachmentImpl.java 2014-06-18 08:26:11 UTC (rev 211) @@ -0,0 +1,20 @@ +package com.franciaflex.faxtomail.persistence.entities; + +/** + * @author Kevin Morin (Code Lutin) + * @since x.x + */ +public class AttachmentImpl extends AttachmentAbstract { + + @Override + public void setOriginalFile(AttachmentFile originalFile) { + super.setOriginalFile(originalFile); + setOriginalFileName(originalFile != null ? originalFile.getFilename() : null); + } + + @Override + public void setEditedFile(AttachmentFile editedFile) { + super.setEditedFile(editedFile); + setEditedFileName(editedFile != null ? editedFile.getFilename() : null); + } +} Modified: trunk/faxtomail-persistence/src/main/resources/faxToMail.properties =================================================================== --- trunk/faxtomail-persistence/src/main/resources/faxToMail.properties 2014-06-17 17:01:10 UTC (rev 210) +++ trunk/faxtomail-persistence/src/main/resources/faxToMail.properties 2014-06-18 08:26:11 UTC (rev 211) @@ -34,7 +34,8 @@ #hibernate.connection.username=fx #hibernate.connection.password=FX2013! -hibernate.hbm2ddl.auto=validate +#hibernate.hbm2ddl.auto=validate +hibernate.hbm2ddl.auto= #hibernate.show_sql=true #hibernate.format_sql=true #hibernate.ejb.naming_strategy=org.hibernate.cfg.ImprovedNamingStrategy Modified: trunk/faxtomail-persistence/src/main/xmi/faxtomail.properties =================================================================== --- trunk/faxtomail-persistence/src/main/xmi/faxtomail.properties 2014-06-17 17:01:10 UTC (rev 210) +++ trunk/faxtomail-persistence/src/main/xmi/faxtomail.properties 2014-06-18 08:26:11 UTC (rev 211) @@ -53,11 +53,11 @@ # Attachment -com.franciaflex.faxtomail.persistence.entities.Attachment.attribute.originalFile.tagvalue.notNull=true +#com.franciaflex.faxtomail.persistence.entities.Attachment.attribute.originalFile.tagvalue.notNull=true # AttachmentFile com.franciaflex.faxtomail.persistence.entities.AttachmentFile.attribute.filename.tagvalue.notNull=true -com.franciaflex.faxtomail.persistence.entities.AttachmentFile.attribute.content.tagvalue.notNull=true +#com.franciaflex.faxtomail.persistence.entities.AttachmentFile.attribute.content.tagvalue.notNull=true # MailFolder com.franciaflex.faxtomail.persistence.entities.MailFolder.class.tagvalue.naturalIdMutable=true 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-06-17 17:01:10 UTC (rev 210) +++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailService.java 2014-06-18 08:26:11 UTC (rev 211) @@ -46,6 +46,7 @@ import javax.activation.FileDataSource; import javax.mail.MessagingException; +import com.franciaflex.faxtomail.persistence.entities.AttachmentTopiaDao; import com.franciaflex.faxtomail.persistence.entities.MailField; import org.apache.commons.collections4.CollectionUtils; @@ -155,19 +156,28 @@ attachmentBinder.copy(attachment, currentAttachment); // persist - if (currentAttachment.getEditedFile() != null) { - if (!currentAttachment.getEditedFile().isPersisted()) { - attachementFileTopiaDao.create(currentAttachment.getEditedFile()); + AttachmentFile editedFile = currentAttachment.getEditedFile(); + if (editedFile != null) { + if (!editedFile.isPersisted()) { + attachementFileTopiaDao.create(editedFile); } else { - attachementFileTopiaDao.update(currentAttachment.getEditedFile()); + attachementFileTopiaDao.update(editedFile); } + } else if (attachment.isPersisted()) { + AttachmentFile attachmentFile = getAttachmentFile(attachment.getTopiaId(), false); + currentAttachment.setEditedFile(attachmentFile); } - if (currentAttachment.getOriginalFile() != null) { - if (!currentAttachment.getOriginalFile().isPersisted()) { - attachementFileTopiaDao.create(currentAttachment.getOriginalFile()); + + AttachmentFile originalFile = currentAttachment.getOriginalFile(); + if (originalFile != null) { + if (!originalFile.isPersisted()) { + attachementFileTopiaDao.create(originalFile); } else { - attachementFileTopiaDao.update(currentAttachment.getOriginalFile()); + attachementFileTopiaDao.update(originalFile); } + } else if (attachment.isPersisted()) { + AttachmentFile attachmentFile = getAttachmentFile(attachment.getTopiaId(), true); + currentAttachment.setOriginalFile(attachmentFile); } if (!attachment.isPersisted()) { @@ -577,6 +587,13 @@ return attachmentFile; } + public AttachmentFile getAttachmentFile(String attachmentId, boolean original) { + AttachmentTopiaDao dao = getPersistenceContext().getAttachmentDao(); + Attachment attachment = dao.findByTopiaId(attachmentId); + return original ? attachment.getOriginalFile() : attachment.getEditedFile(); + } + + /** * Retourne la liste des email ayant un verrouillage actif. * Added: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/EditAttachmentAction.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/EditAttachmentAction.java (rev 0) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/EditAttachmentAction.java 2014-06-18 08:26:11 UTC (rev 211) @@ -0,0 +1,59 @@ +package com.franciaflex.faxtomail.ui.swing.actions; + +import com.franciaflex.faxtomail.persistence.entities.Attachment; +import com.franciaflex.faxtomail.persistence.entities.AttachmentFile; +import com.franciaflex.faxtomail.ui.swing.content.MainUI; +import com.franciaflex.faxtomail.ui.swing.content.attachment.AttachmentEditorUI; +import com.franciaflex.faxtomail.ui.swing.content.attachment.AttachmentEditorUIHandler; +import com.franciaflex.faxtomail.ui.swing.content.attachment.AttachmentEditorUIModel; +import com.franciaflex.faxtomail.ui.swing.content.pdfeditor.PDFEditorUI; +import com.franciaflex.faxtomail.ui.swing.util.FaxToMailUIUtil; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import java.awt.*; +import java.io.IOException; + +import static org.nuiton.i18n.I18n.t; + +/** + * @author Kevin Morin (Code Lutin) + * @since x.x + */ +public class EditAttachmentAction extends AbstractFaxToMailAction<AttachmentEditorUIModel, AttachmentEditorUI, AttachmentEditorUIHandler> { + + private static final Log log = LogFactory.getLog(EditAttachmentAction.class); + + protected Attachment attachment; + + public EditAttachmentAction(AttachmentEditorUIHandler handler) { + super(handler, false); + } + + public void setAttachment(Attachment attachment) { + this.attachment = attachment; + String attachmentName = attachment.getEditedFileName() != null ? attachment.getEditedFileName() : attachment.getOriginalFileName(); + setActionDescription(t("faxtomail.action.attachment.edit.tip", attachmentName)); + } + + @Override + public void doAction() throws Exception { + MainUI mainUI = getContext().getMainUI(); + PDFEditorUI dialogContent = new PDFEditorUI(getUI()); + + boolean editedNull = attachment.getEditedFileName() == null; + AttachmentFile attachmentFile = editedNull ? attachment.getOriginalFile() : attachment.getEditedFile(); + if (attachmentFile == null) { + attachmentFile = getContext().getEmailService().getAttachmentFile(attachment.getTopiaId(), editedNull); + } + + if (editedNull) { + attachment.setOriginalFile(attachmentFile); + } else { + attachment.setEditedFile(attachmentFile); + } + dialogContent.getModel().fromEntity(attachment); + getHandler().openDialog(dialogContent, attachment.getOriginalFileName(), mainUI.getSize()); + dialogContent.getModel().toEntity(attachment); + } +} \ No newline at end of file Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/GenerateAnnotatedAttachmentAction.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/GenerateAnnotatedAttachmentAction.java 2014-06-17 17:01:10 UTC (rev 210) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/GenerateAnnotatedAttachmentAction.java 2014-06-18 08:26:11 UTC (rev 211) @@ -250,7 +250,8 @@ // convert content to blob InputStream is = new BufferedInputStream(new FileInputStream(target)); AttachmentFile attachmentFileNew = getContext().getEmailService().getAttachmentFileFromStream(is); - attachmentFileNew.setFilename(FaxToMailUIUtil.getEditedFileName(getModel().getOriginalFile())); + String fileName = getModel().getNotNullFile().getFilename(); + attachmentFileNew.setFilename(FaxToMailUIUtil.getEditedFileName(fileName)); getModel().setEditedFile(attachmentFileNew); } Added: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/OpenAttachmentAction.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/OpenAttachmentAction.java (rev 0) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/OpenAttachmentAction.java 2014-06-18 08:26:11 UTC (rev 211) @@ -0,0 +1,63 @@ +package com.franciaflex.faxtomail.ui.swing.actions; + +import com.franciaflex.faxtomail.persistence.entities.Attachment; +import com.franciaflex.faxtomail.persistence.entities.AttachmentFile; +import com.franciaflex.faxtomail.ui.swing.content.attachment.AttachmentEditorUI; +import com.franciaflex.faxtomail.ui.swing.content.attachment.AttachmentEditorUIHandler; +import com.franciaflex.faxtomail.ui.swing.content.attachment.AttachmentEditorUIModel; +import com.franciaflex.faxtomail.ui.swing.content.attachment.AttachmentItem; +import com.franciaflex.faxtomail.ui.swing.util.FaxToMailUIUtil; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import java.awt.*; +import java.io.File; +import java.io.IOException; + +import static org.nuiton.i18n.I18n.t; + +/** + * @author Kevin Morin (Code Lutin) + * @since x.x + */ +public class OpenAttachmentAction extends AbstractFaxToMailAction<AttachmentEditorUIModel, AttachmentEditorUI, AttachmentEditorUIHandler> { + + private static final Log log = LogFactory.getLog(OpenAttachmentAction.class); + + protected Attachment attachment; + protected boolean original; + + public OpenAttachmentAction(AttachmentEditorUIHandler handler) { + super(handler, false); + } + + public void setAttachment(Attachment attachment, boolean original) { + this.attachment = attachment; + this.original = original; + String attachmentName = original ? attachment.getOriginalFileName() : attachment.getEditedFileName(); + setActionDescription(t("faxtomail.action.attachment.open.tip", attachmentName)); + } + + @Override + public void doAction() throws Exception { + getModel().fireAttachmentOpened(attachment, original); + AttachmentFile attachmentFile = original ? attachment.getOriginalFile() : attachment.getEditedFile(); + if (attachmentFile == null) { + attachmentFile = getContext().getEmailService().getAttachmentFile(attachment.getTopiaId(), original); + if (original) { + attachment.setOriginalFile(attachmentFile); + } else { + attachment.setEditedFile(attachmentFile); + } + } +// AttachmentFile attachmentFile = original ? attachment.getOriginalFile() : attachment.getEditedFile(); + + Desktop desktop = FaxToMailUIUtil.getDesktopForOpen(); + try { + File file = attachmentFile.getFile(); + desktop.open(file); + } catch (IOException e) { + getContext().getErrorHelper().showErrorDialog(t("swing.error.cannot.open.file")); + } + } +} Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentCellEditor.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentCellEditor.java 2014-06-17 17:01:10 UTC (rev 210) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentCellEditor.java 2014-06-18 08:26:11 UTC (rev 211) @@ -113,7 +113,7 @@ if (original) { filename = attachment.getOriginalFileName(); } else { - filename = FaxToMailUIUtil.getEditedFileName(attachment.getOriginalFile()); + filename = FaxToMailUIUtil.getEditedFileName(attachment.getOriginalFileName()); } Email email = context.getEmailService().addToHistory(topiaId, HistoryType.ATTACHMENT_OPENING, @@ -131,7 +131,7 @@ HistoryType.ATTACHMENT_MODIFICATION, context.getCurrentUser(), new Date(), - FaxToMailUIUtil.getEditedFileName(attachment.getOriginalFile())); + FaxToMailUIUtil.getEditedFileName(attachment.getOriginalFileName())); model.fromEntity(email); } }; Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentEditorUIHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentEditorUIHandler.java 2014-06-17 17:01:10 UTC (rev 210) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentEditorUIHandler.java 2014-06-18 08:26:11 UTC (rev 211) @@ -26,6 +26,8 @@ import com.franciaflex.faxtomail.persistence.entities.Attachment; import com.franciaflex.faxtomail.persistence.entities.AttachmentImpl; +import com.franciaflex.faxtomail.ui.swing.actions.EditAttachmentAction; +import com.franciaflex.faxtomail.ui.swing.actions.OpenAttachmentAction; import com.franciaflex.faxtomail.ui.swing.content.MainUI; import com.franciaflex.faxtomail.ui.swing.content.pdfeditor.PDFEditorUI; import com.franciaflex.faxtomail.ui.swing.util.AbstractToolbarPopupHandler; @@ -88,6 +90,9 @@ public static final List<String> EDITABLE_EXTENSIONS = Lists.newArrayList("PDF", "PNG", "JPG", "JPEG", "GIF", "TIF", "BMP", "TXT"); + protected OpenAttachmentAction openAttachmentAction = new OpenAttachmentAction(this); + protected EditAttachmentAction editAttachmentAction = new EditAttachmentAction(this); + @Override public void afterInit(AttachmentEditorUI ui) { @@ -171,9 +176,8 @@ InputStream is = new BufferedInputStream(new FileInputStream(file)); AttachmentFile attachmentFile = getContext().getEmailService().getAttachmentFileFromStream(is); attachmentFile.setFilename(file.getName()); - //TODO 20140612 put in the impl - attachment.setOriginalFileName(file.getName()); attachment.setOriginalFile(attachmentFile); + } catch (Exception e) { getContext().getErrorHelper().showErrorDialog(t("swing.error.cannot.copy.file"), e); } @@ -187,61 +191,22 @@ } public void openAttachment(Attachment attachment) { - - getModel().fireAttachmentOpened(attachment, true); - log.info("before get file"); - File file = attachment.getOriginalFile().getFile(); - log.info("after get file"); - - Desktop desktop = FaxToMailUIUtil.getDesktopForOpen(); - try { - desktop.open(file); - } catch (IOException e) { - getContext().getErrorHelper().showErrorDialog(t("swing.error.cannot.open.file")); - } + openAttachmentAction.setAttachment(attachment, true); + getContext().getActionFactory().createUIAction(null, openAttachmentAction).actionPerformed(null); } public void editAttachment(Attachment attachment) { AttachmentEditorUIModel model = getModel(); - AttachmentFile attachmentFile = attachment.getEditedFile(); - if (attachmentFile == null) { - model.fireAttachmentOpened(attachment, true); - attachmentFile = attachment.getOriginalFile(); + String extension = FileUtil.extension(attachment.getOriginalFileName()); + if (model.isEditable() && EDITABLE_EXTENSIONS.contains(extension.toUpperCase())) { - } else { - model.fireAttachmentOpened(attachment, false); - } - File file = attachmentFile.getFile(); + editAttachmentAction.setAttachment(attachment); + getContext().getActionFactory().createUIAction(null, editAttachmentAction).actionPerformed(null); - if (model.isEditable()) { - String extension = FileUtil.extension(attachmentFile.getFilename()); - if (model.isEditable() && EDITABLE_EXTENSIONS.contains(extension.toUpperCase())) { - - MainUI mainUI = getContext().getMainUI(); - mainUI.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); - PDFEditorUI dialogContent = new PDFEditorUI(ui); - dialogContent.getModel().fromEntity(attachment); - mainUI.setCursor(Cursor.getDefaultCursor()); - openDialog(dialogContent, file.getName(), mainUI.getSize()); - dialogContent.getModel().toEntity(attachment); - - } else { - Desktop desktop = FaxToMailUIUtil.getDesktopForOpen(); - try { - desktop.open(file); - } catch (IOException e) { - getContext().getErrorHelper().showErrorDialog(t("swing.error.cannot.open.file")); - } - } - - } else { - Desktop desktop = FaxToMailUIUtil.getDesktopForBrowse(); - try { - desktop.open(file); - } catch (IOException e) { - getContext().getErrorHelper().showErrorDialog(t("swing.error.cannot.open.file")); - } + } else if (attachment.getEditedFileName() != null) { + openAttachmentAction.setAttachment(attachment, false); + getContext().getActionFactory().createUIAction(null, openAttachmentAction).actionPerformed(null); } } @@ -273,7 +238,7 @@ public boolean isAttachmentEditable(Attachment attachment) { String extension = FileUtil.extension(attachment.getOriginalFileName()); - return EDITABLE_EXTENSIONS.contains(extension.toUpperCase()); + return EDITABLE_EXTENSIONS.contains(extension.toUpperCase()) && (getModel().isEditable() || attachment.getEditedFileName() != null); } public boolean isAttachmentRemovable(Attachment attachment) { 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-06-17 17:01:10 UTC (rev 210) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUIHandler.java 2014-06-18 08:26:11 UTC (rev 211) @@ -454,6 +454,7 @@ for (Attachment attachment : demandeUIModel.getAttachment()) { AttachmentFile attachmentFile = attachment.getEditedFile(); if (attachmentFile == null) { + // TODO kmorin 20140617 put it in action and check if file is null attachmentFile = attachment.getOriginalFile(); } FaxToMailUIUtil.print(attachmentFile, true); Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIHandler.java 2014-06-17 17:01:10 UTC (rev 210) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIHandler.java 2014-06-18 08:26:11 UTC (rev 211) @@ -339,7 +339,7 @@ if (original) { filename = attachment.getOriginalFileName(); } else { - filename = FaxToMailUIUtil.getEditedFileName(attachment.getOriginalFile()); + filename = FaxToMailUIUtil.getEditedFileName(attachment.getOriginalFileName()); } Email email = getContext().getEmailService().addToHistory(topiaId, HistoryType.ATTACHMENT_OPENING, @@ -358,7 +358,7 @@ HistoryType.ATTACHMENT_MODIFICATION, getContext().getCurrentUser(), new Date(), - FaxToMailUIUtil.getEditedFileName(attachment.getOriginalFile())); + FaxToMailUIUtil.getEditedFileName(attachment.getOriginalFileName())); getModel().setHistory(email.getHistory()); } } Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java 2014-06-17 17:01:10 UTC (rev 210) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java 2014-06-18 08:26:11 UTC (rev 211) @@ -23,6 +23,8 @@ */ 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.AttachmentImpl; import com.franciaflex.faxtomail.persistence.entities.Client; import com.franciaflex.faxtomail.persistence.entities.DemandStatus; @@ -200,18 +202,17 @@ */ public void fromEntity(Email entity, boolean full) { //super.fromEntity(entity); - - fromBeanBinder.copyExcluding(entity, this); + fromBeanBinder.copyExcluding(entity, this, Email.PROPERTY_ATTACHMENT); // specific attachment copy Collection<Attachment> attachmentCopy = new ArrayList<Attachment>(); -// if (entity.getAttachment() != null) { -// for (Attachment attachment : entity.getAttachment()) { -// Attachment clone = new AttachmentImpl(); -// fromAttachmentBinder.copyExcluding(attachment, clone, Attachment.PROPERTY_ORIGINAL_FILE, Attachment.PROPERTY_EDITED_FILE_NAME); -// attachmentCopy.add(clone); -// } -// } -// setAttachment(attachmentCopy); + if (entity.getAttachment() != null) { + for (Attachment attachment : entity.getAttachment()) { + Attachment clone = new AttachmentImpl(); + fromAttachmentBinder.copyExcluding(attachment, clone, Attachment.PROPERTY_EDITED_FILE, Attachment.PROPERTY_ORIGINAL_FILE); + attachmentCopy.add(clone); + } + } + setAttachment(attachmentCopy); } @Override 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-06-17 17:01:10 UTC (rev 210) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/print/AttachmentToPrintChooserUIHandler.java 2014-06-18 08:26:11 UTC (rev 211) @@ -65,6 +65,7 @@ attachmentPanel.add(checkBox); for (Attachment attachment : demand.getAttachment()) { + //TODO kmorin 20140617 check if not null createCheckBox(attachment.getOriginalFile()); final AttachmentFile file = attachment.getEditedFile(); Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java 2014-06-17 17:01:10 UTC (rev 210) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java 2014-06-18 08:26:11 UTC (rev 211) @@ -225,9 +225,9 @@ content = content.replaceAll("<meta (.*?)>(</meta>)?", ""); for (Attachment attachment : demandeUIModel.getAttachment()) { - AttachmentFile file = attachment.getOriginalFile(); - log.info("file " + file.getFilename()); - String key = file.getFilename(); + String fileName = attachment.getOriginalFileName(); + log.info("file " + fileName); + String key = fileName; // replace the inline attachments with the extracted attachment file url //content = content.replaceAll("<img src=\"cid:" + key + "\"(.*?>)", "<img src=\"file://" + file.getAbsolutePath() + "\"$1"); throw new RuntimeException("Fix it"); @@ -315,7 +315,7 @@ } - public static String getEditedFileName(AttachmentFile originalFile) { - return t("faxtomail.attachment.editedFile.name", originalFile.getFilename()) + "-.pdf"; + public static String getEditedFileName(String originalFileName) { + return t("faxtomail.attachment.editedFile.name", originalFileName) + "-.pdf"; } } Modified: trunk/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties =================================================================== --- trunk/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties 2014-06-17 17:01:10 UTC (rev 210) +++ trunk/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties 2014-06-18 08:26:11 UTC (rev 211) @@ -4,6 +4,8 @@ application.action.create.error= application.error.ui.business.warning= faxtomail.action.archive.tip=Archiver l'élément +faxtomail.action.attachment.edit.tip=Edition du fichier %s +faxtomail.action.attachment.open.tip=Ouverture du fichier %s faxtomail.action.computeQuantitiesByRange.tip=Calculer les quantités par gamme faxtomail.action.configuration=Configuration faxtomail.action.configuration.mnemonic= Modified: trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/job/MailFilterJob.java =================================================================== --- trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/job/MailFilterJob.java 2014-06-17 17:01:10 UTC (rev 210) +++ trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/job/MailFilterJob.java 2014-06-18 08:26:11 UTC (rev 211) @@ -381,7 +381,6 @@ AttachmentFile attachmentFile = emailService.getAttachmentFileFromStream(dh.getInputStream()); attachmentFile.setFilename(fileName); attachment.setOriginalFile(attachmentFile); - attachment.setOriginalFileName(fileName); //email.addAttachment(attachment); attachments.add(attachment);
participants (1)
-
kmorin@users.forge.codelutin.com