r223 - in trunk: . faxtomail-persistence/src/main/java/com/franciaflex/faxtomail faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities 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/reply
Author: echatellier Date: 2014-06-18 18:46:34 +0200 (Wed, 18 Jun 2014) New Revision: 223 Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/223 Log: Fix attachment saving (editing still not working) Change file open to use xdg-open. Modified: trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfiguration.java trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfigurationOption.java trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/AttachmentFileImpl.java trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailService.java trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/InitFaxToMailService.java 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/content/reply/ReplyFormUIHandler.java trunk/pom.xml Modified: trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfiguration.java =================================================================== --- trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfiguration.java 2014-06-18 15:23:42 UTC (rev 222) +++ trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfiguration.java 2014-06-18 16:46:34 UTC (rev 223) @@ -276,10 +276,6 @@ return applicationConfig.getOption(FaxToMailConfigurationOption.INSTANCE_DISCLAIMER.getKey()); } - public File getStorageFile() { - return applicationConfig.getOptionAsFile(FaxToMailConfigurationOption.STORAGE_FILE.getKey()); - } - public boolean isLogConfigurationProvided() { boolean logConfigurationProvided = StringUtils.isNotBlank(applicationConfig.getOption(FaxToMailConfigurationOption.LOG_CONFIGURATION_FILE.getKey())); Modified: trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfigurationOption.java =================================================================== --- trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfigurationOption.java 2014-06-18 15:23:42 UTC (rev 222) +++ trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfigurationOption.java 2014-06-18 16:46:34 UTC (rev 223) @@ -77,11 +77,6 @@ "Mode développement, court-circuite l'envoi de mail", "false", Boolean.class), - STORAGE_FILE( - "faxtomail.storage", - "L'emplacement de stockage des fichiers, répertoire accessible en écriture sur le FS", - "/tmp/faxtomail/storage", File.class), - LOG_CONFIGURATION_FILE( "logConfigurationFile", "Chemin vers le fichier de configuration des journaux", 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-18 15:23:42 UTC (rev 222) +++ trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/AttachmentFileImpl.java 2014-06-18 16:46:34 UTC (rev 223) @@ -65,7 +65,7 @@ // if the file already exists, then add a number to the name int i = 1; String extension = "." + FileUtil.extension(fileName); - String name = FileUtil.basename(fileName); + String name = FileUtil.basename(fileName, extension); while (tmpLocalFile.exists()) { tmpLocalFile = new File(tempFolder, name + "-" + i++ + extension); } 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-18 15:23:42 UTC (rev 222) +++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailService.java 2014-06-18 16:46:34 UTC (rev 223) @@ -144,6 +144,15 @@ AttachmentFileTopiaDao attachementFileTopiaDao = getPersistenceContext().getAttachmentFileDao(); for (Attachment attachment : attachments) { + + // get attchment BEFORE for flush + AttachmentFile originalFile = null; + AttachmentFile editedFile = null; + if (attachment.isPersisted()) { + originalFile = getAttachmentFile(attachment.getTopiaId(), true); + editedFile = getAttachmentFile(attachment.getTopiaId(), false); + } + // get session attachment from id Attachment currentAttachment; if (StringUtils.isNoneBlank(attachment.getTopiaId())) { @@ -152,35 +161,44 @@ currentAttachment = new AttachmentImpl(); } + if (!attachment.isPersisted()) { + originalFile = attachment.getOriginalFile(); + editedFile = attachment.getEditedFile(); + } + // copy new data - attachmentBinder.copy(attachment, currentAttachment); + currentAttachment.setAddedByUser(attachment.isAddedByUser()); + currentAttachment.setEditedFile(editedFile); + currentAttachment.setOriginalFile(originalFile); - // persist - AttachmentFile editedFile = currentAttachment.getEditedFile(); + // ici les pieces jointes peuvent être sauvegardées sans que les pièces jointes + // soit présentes dans les entités car l'ui ne les a pas copiées + // pour ne pas les charger inutilement + // donc on les remet manuellement + + //if (originalFile != null) { + if (!originalFile.isPersisted()) { + attachementFileTopiaDao.create(originalFile); + } else { + attachementFileTopiaDao.update(originalFile); + } + /*} else if (attachment.isPersisted()) { + AttachmentFile attachmentFile = getAttachmentFile(attachment.getTopiaId(), true); + currentAttachment.setOriginalFile(attachmentFile); + }*/ + if (editedFile != null) { if (!editedFile.isPersisted()) { attachementFileTopiaDao.create(editedFile); } else { attachementFileTopiaDao.update(editedFile); } - } else if (attachment.isPersisted()) { + } /*else if (attachment.isPersisted()) { AttachmentFile attachmentFile = getAttachmentFile(attachment.getTopiaId(), false); currentAttachment.setEditedFile(attachmentFile); - } + }*/ - AttachmentFile originalFile = currentAttachment.getOriginalFile(); - if (originalFile != null) { - if (!originalFile.isPersisted()) { - attachementFileTopiaDao.create(originalFile); - } else { - attachementFileTopiaDao.update(originalFile); - } - } else if (attachment.isPersisted()) { - AttachmentFile attachmentFile = getAttachmentFile(attachment.getTopiaId(), true); - currentAttachment.setOriginalFile(attachmentFile); - } - - if (!attachment.isPersisted()) { + if (!currentAttachment.isPersisted()) { // persist using cascade email.addAttachment(currentAttachment); } Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/InitFaxToMailService.java =================================================================== --- trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/InitFaxToMailService.java 2014-06-18 15:23:42 UTC (rev 222) +++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/InitFaxToMailService.java 2014-06-18 16:46:34 UTC (rev 223) @@ -43,9 +43,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.decorator.Decorator; -import org.nuiton.jaxx.application.ApplicationTechnicalException; -import com.franciaflex.faxtomail.FaxToMailConfiguration; import com.franciaflex.faxtomail.persistence.entities.Client; import com.franciaflex.faxtomail.persistence.entities.DemandStatus; import com.franciaflex.faxtomail.persistence.entities.DemandType; @@ -84,8 +82,6 @@ log.info("faxtomail initialization started"); } - checkStorage(); - boolean devMode = serviceContext.getApplicationConfig().isDevMode(); if (devMode) { @@ -102,38 +98,6 @@ } - protected void checkStorage() { - - FaxToMailConfiguration applicationConfig = getApplicationConfig(); - - File storageFile = applicationConfig.getStorageFile(); - - if (storageFile.exists()) { - if (log.isInfoEnabled()) { - log.info("storage directory exists " + storageFile.getAbsolutePath()); - } - } else { - if (log.isInfoEnabled()) { - log.info("storage directory does not exist, creating " + storageFile.getAbsolutePath()); - } - - boolean created = storageFile.mkdirs(); - - if ( ! created) { - throw new ApplicationTechnicalException("unable to create directory " + storageFile.getAbsolutePath()); - } - } - - if ( ! storageFile.isDirectory()) { - throw new ApplicationTechnicalException("file exists but is not a directory " + storageFile.getAbsolutePath()); - } - - if ( ! storageFile.canWrite()) { - throw new ApplicationTechnicalException("directory exists but is not writable " + storageFile.getAbsolutePath()); - } - - } - protected void initSampleData() { log.debug("init Sample Data"); Modified: 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 2014-06-18 15:23:42 UTC (rev 222) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/OpenAttachmentAction.java 2014-06-18 16:46:34 UTC (rev 223) @@ -5,14 +5,12 @@ 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 org.nuiton.util.DesktopUtil; -import java.awt.*; import java.io.File; -import java.io.IOException; import static org.nuiton.i18n.I18n.t; @@ -50,14 +48,8 @@ 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")); - } + File file = attachmentFile.getFile(); + DesktopUtil.browse(file.toURI()); } } Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUIHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUIHandler.java 2014-06-18 15:23:42 UTC (rev 222) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUIHandler.java 2014-06-18 16:46:34 UTC (rev 223) @@ -27,12 +27,12 @@ import static org.nuiton.i18n.I18n.t; import com.franciaflex.faxtomail.persistence.entities.AttachmentFileImpl; + import org.apache.commons.io.FileUtils; -import org.nuiton.util.FileUtil; +import org.nuiton.util.DesktopUtil; import org.nuiton.validator.bean.simple.SimpleBeanValidator; import java.awt.Component; -import java.awt.Desktop; import java.awt.event.ActionListener; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; @@ -55,7 +55,6 @@ import jaxx.runtime.swing.renderer.DecoratorListCellRenderer; import jaxx.runtime.validator.swing.SwingValidator; -import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -65,7 +64,6 @@ 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; /** @@ -282,14 +280,8 @@ public void openAttachment(AttachmentFile attachment) { File file = attachment.getFile(); + DesktopUtil.open(file); - Desktop desktop = FaxToMailUIUtil.getDesktopForOpen(); - try { - desktop.open(file); - - } catch (IOException e) { - getContext().getErrorHelper().showErrorDialog(t("swing.error.cannot.open.file")); - } } protected class FileComboBoxEditor implements ComboBoxEditor { Modified: trunk/pom.xml =================================================================== --- trunk/pom.xml 2014-06-18 15:23:42 UTC (rev 222) +++ trunk/pom.xml 2014-06-18 16:46:34 UTC (rev 223) @@ -100,7 +100,7 @@ <nuitonCsvVersion>3.0-rc-2</nuitonCsvVersion> <nuitonDecoratorVersion>3.0-alpha-3</nuitonDecoratorVersion> <nuitonUpdaterVersion>3.0-alpha-2</nuitonUpdaterVersion> - <nuitonUtilsVersion>3.0-rc-3</nuitonUtilsVersion> + <nuitonUtilsVersion>3.0-SNAPSHOT</nuitonUtilsVersion> <nuitonValidatorVersion>3.0-rc-1</nuitonValidatorVersion> <nuitonWebVersion>1.16</nuitonWebVersion>
participants (1)
-
echatellier@users.forge.codelutin.com