This is an automated email from the git hooks/post-receive script. New commit to branch feature/7714 in repository faxtomail. See http://git.codelutin.com/faxtomail.git commit 60049985c999781b0d5c5085bb26a13057b24701 Author: Kevin Morin <morin@codelutin.com> Date: Thu Nov 12 16:23:40 2015 +0100 gestion du cas où plusieurs parties text/plain seraient dans le mail (refs #7714) --- .../ui/swing/content/demande/DemandeUIModel.java | 21 ++++++++++++++------- .../ui/swing/content/reply/ReplyFormUIHandler.java | 15 +++++++++++---- .../faxtomail/ui/swing/util/FaxToMailUIUtil.java | 11 ++++++++--- 3 files changed, 33 insertions(+), 14 deletions(-) diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java index bc22fc0..1d5ebd9 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java @@ -44,6 +44,7 @@ import com.franciaflex.faxtomail.services.FaxToMailServiceUtils; import com.franciaflex.faxtomail.ui.swing.content.attachment.AttachmentModelAware; import com.franciaflex.faxtomail.ui.swing.util.AbstractFaxToMailBeanUIModel; import com.google.common.collect.Lists; +import jaxx.runtime.JAXXUtil; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.StringUtils; @@ -117,7 +118,7 @@ public class DemandeUIModel extends AbstractFaxToMailBeanUIModel<Email, DemandeU protected List<String> htmlContents; - protected String plainContent; + protected List<String> plainContents; protected String subject; @@ -335,11 +336,11 @@ public class DemandeUIModel extends AbstractFaxToMailBeanUIModel<Email, DemandeU return StringUtils.join(ccRecipients, ", "); } - public String getPlainContent() { - if (plainContent == null) { + public List<String> getPlainContent() { + if (plainContents == null) { decomposeEmail(); } - return plainContent; + return plainContents; } public List<String> getHtmlContent() { @@ -929,7 +930,10 @@ public class DemandeUIModel extends AbstractFaxToMailBeanUIModel<Email, DemandeU } else if (message.isMimeType("text/*")) { String content = IOUtils.toString(message.getInputStream(), charset); - plainContent = content; + if (plainContents == null) { + plainContents = new ArrayList<String>(); + } + plainContents.add(JAXXUtil.getStringValue(content)); } } catch (Exception e) { @@ -937,7 +941,7 @@ public class DemandeUIModel extends AbstractFaxToMailBeanUIModel<Email, DemandeU log.warn("error while parsing the original email content, may come from the imported archives", e); } //may comes from the imported archives - plainContent = getOriginalEmailContent(); + plainContents = Lists.newArrayList(getOriginalEmailContent()); toRecipients = Lists.newArrayList(getRecipient()); } } @@ -965,7 +969,10 @@ public class DemandeUIModel extends AbstractFaxToMailBeanUIModel<Email, DemandeU String content = IOUtils.toString(bp.getInputStream(), charset); if (bp.isMimeType("text/plain")) { - plainContent = content; + if (plainContents == null) { + plainContents = new ArrayList<String>(); + } + plainContents.add(JAXXUtil.getStringValue(content)); } else { if (htmlContents == null) { diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUIHandler.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUIHandler.java index 8bdecde..f05b4ea 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUIHandler.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUIHandler.java @@ -36,7 +36,6 @@ import com.franciaflex.faxtomail.ui.swing.util.AbstractFaxToMailUIHandler; import com.franciaflex.faxtomail.ui.swing.util.FaxToMailUIUtil; import com.google.common.base.Strings; import com.google.common.collect.Lists; -import jaxx.runtime.JAXXUtil; import jaxx.runtime.SwingUtil; import jaxx.runtime.validator.swing.SwingValidator; import org.apache.commons.io.FileUtils; @@ -46,8 +45,16 @@ import org.apache.commons.logging.LogFactory; import org.nuiton.jaxx.application.swing.util.Cancelable; import org.nuiton.validator.bean.simple.SimpleBeanValidator; -import javax.swing.*; -import java.awt.*; +import javax.swing.ComboBoxEditor; +import javax.swing.DefaultComboBoxModel; +import javax.swing.JComboBox; +import javax.swing.JComponent; +import javax.swing.JFileChooser; +import javax.swing.JPanel; +import javax.swing.JTextField; +import javax.swing.JTextPane; +import java.awt.Component; +import java.awt.Dimension; import java.awt.event.ActionListener; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; @@ -123,7 +130,7 @@ public class ReplyFormUIHandler extends AbstractFaxToMailUIHandler<ReplyFormUIMo model.setSubject(t("faxtomail.reply.subject", demand.getSubject())); - String plainContent = JAXXUtil.getStringValue(demand.getPlainContent()); + String plainContent = StringUtils.join(demand.getPlainContent(), "\n\n----------------\n\n"); String quotedReply = t("faxtomail.reply.message", decorate(demand.getReceptionDate()), demand.getSender(), diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java index 5e0e049..16ed24a 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java @@ -352,9 +352,14 @@ public final class FaxToMailUIUtil extends ApplicationUIUtil { } } else { - JTextPane textPane = new JTextPane(); - textPane.setText(demandeUIModel.getPlainContent()); - textPanePanel.add(textPane);e + contents = demandeUIModel.getPlainContent(); + + for (String content : contents) { + JTextPane textPane = new JTextPane(); + textPane.setText(content); + textPanePanel.add(textPane); + textPanePanel.add(Box.createVerticalStrut(3)); + } } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.