branch develop-1.1.x updated (ea1e141 -> 4f1cf53)
This is an automated email from the git hooks/post-receive script. New change to branch develop-1.1.x in repository faxtomail. See http://git.codelutin.com/faxtomail.git from ea1e141 Dans les réponses, la liste déroulante des expéditeurs n'est plus filtrée (fixes #8054) new e25bc94 - ajout du sujet dans l'email - correction des sujets mal formés refs #8053 new 7a1da45 ajout de la colonne sujet (refs #8053) new 1d67506 upgrade pom new 34a28fd migration des emails non archivés (refs #8053) new 4f1cf53 Merge branch 'feature/8053' into develop-1.1.x The 5 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit 4f1cf534cb1981fa690b72daf5629a88061ecbc5 Merge: ea1e141 34a28fd Author: Kevin Morin <morin@codelutin.com> Date: Thu Mar 3 16:16:22 2016 +0100 Merge branch 'feature/8053' into develop-1.1.x commit 34a28fd02916fbd56c747e0f2831dd05a3a09331 Author: Kevin Morin <morin@codelutin.com> Date: Thu Mar 3 15:52:38 2016 +0100 migration des emails non archivés (refs #8053) commit 1d67506668ffaa454da2138d6ca8e88709540f5b Author: Kevin Morin <morin@codelutin.com> Date: Thu Mar 3 15:52:03 2016 +0100 upgrade pom commit 7a1da45acfa95e2b53e7d39dd5f0f38e5a8bee69 Author: Kevin Morin <morin@codelutin.com> Date: Thu Mar 3 12:37:47 2016 +0100 ajout de la colonne sujet (refs #8053) commit e25bc94904a9f30ca169cfbbe561a12070bdc618 Author: Kevin Morin <morin@codelutin.com> Date: Thu Mar 3 11:50:20 2016 +0100 - ajout du sujet dans l'email - correction des sujets mal formés refs #8053 Summary of changes: faxtomail-ui-web/README.txt => README.md | 0 .../README.txt => faxtomail-persistence/README.md | 0 .../faxtomail/persistence/entities/MailField.java | 4 +- .../src/main/resources/faxToMail.properties | 4 +- faxtomail-persistence/src/main/xmi/faxtomail.zargo | Bin 30153 -> 30210 bytes faxtomail-service/{README.txt => README.md} | 0 .../faxtomail/services/FaxToMailServiceUtils.java | 14 +++ .../h2/V1_1_10_735__subject_migration.java | 120 +++++++++++++++++++++ .../sqlserver/V1_1_10_735__subject_migration.java | 119 ++++++++++++++++++++ .../h2/V1_1_10_734__add_subject_field_to_email.sql | 2 + .../V1_1_10_734__add_subject_field_to_email.sql | 2 + .../services/service/EmailServiceTest.java | 14 +++ .../service/migration/FlywayMigrationTest.java | 4 +- .../README.txt => faxtomail-ui-swing/README.md | 0 faxtomail-ui-swing/pom.xml | 6 ++ .../ui/swing/actions/OpenGroupedDemandAction.java | 8 +- .../ui/swing/actions/ShowDemandeAction.java | 2 +- .../ui/swing/content/demande/DemandeUIModel.java | 32 ++++-- .../faxtomail/ui/swing/util/DemandeTableModel.java | 6 ++ .../i18n/faxtomail-ui-swing_fr_FR.properties | 2 + README.txt => faxtomail-ui-web/README.md | 0 .../faxtomail/web/job/MailFilterJob.java | 2 + .../i18n/faxtomail-ui-web_fr_FR.properties | 1 + pom.xml | 22 ++-- 24 files changed, 337 insertions(+), 27 deletions(-) rename faxtomail-ui-web/README.txt => README.md (100%) rename faxtomail-ui-swing/README.txt => faxtomail-persistence/README.md (100%) rename faxtomail-service/{README.txt => README.md} (100%) create mode 100644 faxtomail-service/src/main/java/db/migration/h2/V1_1_10_735__subject_migration.java create mode 100644 faxtomail-service/src/main/java/db/migration/sqlserver/V1_1_10_735__subject_migration.java create mode 100644 faxtomail-service/src/main/resources/db/migration/h2/V1_1_10_734__add_subject_field_to_email.sql create mode 100644 faxtomail-service/src/main/resources/db/migration/sqlserver/V1_1_10_734__add_subject_field_to_email.sql rename faxtomail-persistence/README.txt => faxtomail-ui-swing/README.md (100%) rename README.txt => faxtomail-ui-web/README.md (100%) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop-1.1.x in repository faxtomail. See http://git.codelutin.com/faxtomail.git commit e25bc94904a9f30ca169cfbbe561a12070bdc618 Author: Kevin Morin <morin@codelutin.com> Date: Thu Mar 3 11:50:20 2016 +0100 - ajout du sujet dans l'email - correction des sujets mal formés refs #8053 --- .../src/main/resources/faxToMail.properties | 4 ++-- faxtomail-persistence/src/main/xmi/faxtomail.zargo | Bin 30153 -> 30210 bytes .../faxtomail/services/FaxToMailServiceUtils.java | 14 ++++++++++++++ .../h2/V1_1_10_734__add_subject_field_to_email.sql | 2 ++ .../V1_1_10_734__add_subject_field_to_email.sql | 2 ++ .../services/service/EmailServiceTest.java | 14 ++++++++++++++ .../ui/swing/content/demande/DemandeUIModel.java | 19 ++++++++++++++++--- .../faxtomail/web/job/MailFilterJob.java | 2 ++ 8 files changed, 52 insertions(+), 5 deletions(-) diff --git a/faxtomail-persistence/src/main/resources/faxToMail.properties b/faxtomail-persistence/src/main/resources/faxToMail.properties index 9e4dc11..c4a1023 100644 --- a/faxtomail-persistence/src/main/resources/faxToMail.properties +++ b/faxtomail-persistence/src/main/resources/faxToMail.properties @@ -24,8 +24,8 @@ hibernate.dialect=org.hibernate.dialect.H2Dialect hibernate.connection.driver_class=org.h2.Driver -hibernate.connection.url=jdbc:h2:file:/tmp/faxtomail/h2data;MODE=MSSQLServer;AUTO_SERVER=TRUE -#hibernate.connection.url=jdbc:h2:file:/home/kmorin/faxtomail/h2data;MODE=MSSQLServer;AUTO_SERVER=TRUE;CACHE_SIZE=8192 +#hibernate.connection.url=jdbc:h2:file:/tmp/faxtomail/h2data;MODE=MSSQLServer;AUTO_SERVER=TRUE +hibernate.connection.url=jdbc:h2:file:/opt/data/ftm/faxtomail-1.1/h2data;MODE=MSSQLServer;AUTO_SERVER=TRUE;CACHE_SIZE=8192 hibernate.connection.username=sa hibernate.connection.password= diff --git a/faxtomail-persistence/src/main/xmi/faxtomail.zargo b/faxtomail-persistence/src/main/xmi/faxtomail.zargo index 2b0db70..a6a2f22 100644 Binary files a/faxtomail-persistence/src/main/xmi/faxtomail.zargo and b/faxtomail-persistence/src/main/xmi/faxtomail.zargo differ diff --git a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/FaxToMailServiceUtils.java b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/FaxToMailServiceUtils.java index 4092f55..34aa7b4 100644 --- a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/FaxToMailServiceUtils.java +++ b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/FaxToMailServiceUtils.java @@ -25,6 +25,7 @@ package com.franciaflex.faxtomail.services; */ import com.franciaflex.faxtomail.persistence.entities.MailFolder; +import com.google.common.base.Preconditions; import org.apache.commons.httpclient.URIException; import org.apache.commons.httpclient.util.URIUtil; import org.apache.commons.io.Charsets; @@ -34,7 +35,9 @@ import org.apache.commons.logging.LogFactory; import javax.mail.MessagingException; import javax.mail.Part; import javax.mail.internet.ContentType; +import javax.mail.internet.MimeUtility; import java.awt.GraphicsEnvironment; +import java.io.UnsupportedEncodingException; import java.net.MalformedURLException; import java.net.URL; import java.nio.charset.Charset; @@ -155,4 +158,15 @@ public class FaxToMailServiceUtils { return emailContent; } + + public static String getDecodedSubject(String subject) throws UnsupportedEncodingException { + Preconditions.checkNotNull(subject); + + if (subject.startsWith("=?iso-")) { + subject = subject.replaceAll(" ", "=20"); + subject = MimeUtility.decodeText(subject); + } + + return subject; + } } diff --git a/faxtomail-service/src/main/resources/db/migration/h2/V1_1_10_734__add_subject_field_to_email.sql b/faxtomail-service/src/main/resources/db/migration/h2/V1_1_10_734__add_subject_field_to_email.sql new file mode 100644 index 0000000..0e45a8b --- /dev/null +++ b/faxtomail-service/src/main/resources/db/migration/h2/V1_1_10_734__add_subject_field_to_email.sql @@ -0,0 +1,2 @@ +-- add subject field +alter table email add subject longvarchar; \ No newline at end of file diff --git a/faxtomail-service/src/main/resources/db/migration/sqlserver/V1_1_10_734__add_subject_field_to_email.sql b/faxtomail-service/src/main/resources/db/migration/sqlserver/V1_1_10_734__add_subject_field_to_email.sql new file mode 100644 index 0000000..f570d09 --- /dev/null +++ b/faxtomail-service/src/main/resources/db/migration/sqlserver/V1_1_10_734__add_subject_field_to_email.sql @@ -0,0 +1,2 @@ +-- add subject field +alter table email add subject varchar(MAX); \ No newline at end of file diff --git a/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/EmailServiceTest.java b/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/EmailServiceTest.java index 8e3b156..b13512b 100644 --- a/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/EmailServiceTest.java +++ b/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/EmailServiceTest.java @@ -376,6 +376,20 @@ public class EmailServiceTest extends AbstractFaxToMailServiceTest { } + @Test + public void testDecodeSubject() { + try { + String subject = "=?iso-8859-1?Q?Un fax de 1 page(s) a =E9t=E9 re=E7u?="; + Assert.assertEquals("Un fax de 1 page(s) a été reçu", FaxToMailServiceUtils.getDecodedSubject(subject)); + + subject = "Un fax de 1 page(s) a été reçu"; + Assert.assertEquals("Un fax de 1 page(s) a été reçu", FaxToMailServiceUtils.getDecodedSubject(subject)); + + } catch (Exception e) { + Assert.fail(e.getMessage()); + } + } + // @Test // public void testSendEmail() { // try { 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 d0d2c8b..581c117 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 @@ -62,7 +62,6 @@ import javax.mail.Message; import javax.mail.Part; import javax.mail.Session; import javax.mail.internet.MimeMultipart; -import javax.mail.internet.MimeUtility; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.nio.charset.Charset; @@ -191,10 +190,15 @@ public class DemandeUIModel extends AbstractFaxToMailBeanUIModel<Email, DemandeU */ @Override public void fromEntity(Email entity) { - fromBeanBinder.copyExcluding(entity, this, Email.PROPERTY_ATTACHMENT, Email.PROPERTY_REPLIES, Email.PROPERTY_EMAIL_GROUP); + fromBeanBinder.copyExcluding(entity, this, + Email.PROPERTY_ATTACHMENT, + Email.PROPERTY_REPLIES, + Email.PROPERTY_EMAIL_GROUP, + Email.PROPERTY_SUBJECT); loadAttachments(entity); setGroupedDemandes(entity.getEmailGroup()); loadReplies(entity); + this.subject = entity.getSubject(); } public void fromEntityExcluding(Email entity, Set<String> properties) { @@ -204,6 +208,7 @@ public class DemandeUIModel extends AbstractFaxToMailBeanUIModel<Email, DemandeU boolean includeAttachment = properties.add(Email.PROPERTY_ATTACHMENT); boolean includeDemandGroup = properties.add(Email.PROPERTY_EMAIL_GROUP); boolean includeReply = properties.add(Email.PROPERTY_REPLIES); + boolean includeSubject = properties.add(Email.PROPERTY_SUBJECT); fromBeanBinder.copyExcluding(entity, this, properties.toArray(new String[properties.size()])); if (includeAttachment) { loadAttachments(entity); @@ -214,6 +219,9 @@ public class DemandeUIModel extends AbstractFaxToMailBeanUIModel<Email, DemandeU if (includeReply) { loadReplies(entity); } + if (includeSubject) { + this.subject = entity.getSubject(); + } } public void fromEntityIncluding(Email entity, Set<String> properties) { @@ -227,6 +235,9 @@ public class DemandeUIModel extends AbstractFaxToMailBeanUIModel<Email, DemandeU if (properties.isEmpty() || properties.contains(Email.PROPERTY_REPLIES)) { loadReplies(entity); } + if (properties.isEmpty() || properties.contains(Email.PROPERTY_SUBJECT)) { + this.subject = entity.getSubject(); + } } protected void loadAttachments(Email entity) { @@ -908,7 +919,9 @@ public class DemandeUIModel extends AbstractFaxToMailBeanUIModel<Email, DemandeU Charset charset = FaxToMailServiceUtils.getCharset(message); - subject = MimeUtility.decodeText(message.getSubject()); + if (subject == null) { + subject = FaxToMailServiceUtils.getDecodedSubject(message.getSubject()); + } toRecipients = new ArrayList<String>(); ccRecipients = new ArrayList<String>(); diff --git a/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/job/MailFilterJob.java b/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/job/MailFilterJob.java index ff389be..c2c7364 100644 --- a/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/job/MailFilterJob.java +++ b/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/job/MailFilterJob.java @@ -469,6 +469,8 @@ public class MailFilterJob extends AbstractFaxToMailJob { OriginalEmail originalEmail = emailService.originalEmailFromMessage((MimeMessage) message, charset); email.setOriginalEmail(originalEmail); + email.setSubject(FaxToMailServiceUtils.getDecodedSubject(message.getSubject())); + List<Attachment> attachments = new ArrayList<>(); if (message.isMimeType("multipart/*")) { -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop-1.1.x in repository faxtomail. See http://git.codelutin.com/faxtomail.git commit 7a1da45acfa95e2b53e7d39dd5f0f38e5a8bee69 Author: Kevin Morin <morin@codelutin.com> Date: Thu Mar 3 12:37:47 2016 +0100 ajout de la colonne sujet (refs #8053) --- .../faxtomail/persistence/entities/MailField.java | 4 +++- .../faxtomail/ui/swing/actions/OpenGroupedDemandAction.java | 8 ++------ .../faxtomail/ui/swing/actions/ShowDemandeAction.java | 2 +- .../faxtomail/ui/swing/content/demande/DemandeUIModel.java | 13 ++++++++++--- .../faxtomail/ui/swing/util/DemandeTableModel.java | 6 ++++++ .../main/resources/i18n/faxtomail-ui-swing_fr_FR.properties | 2 ++ .../main/resources/i18n/faxtomail-ui-web_fr_FR.properties | 1 + 7 files changed, 25 insertions(+), 11 deletions(-) diff --git a/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/MailField.java b/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/MailField.java index 6fe2f31..4918043 100644 --- a/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/MailField.java +++ b/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/MailField.java @@ -55,7 +55,8 @@ public enum MailField { REPLIES, ATTACHMENT, GROUP, - EDI_RETURN; + EDI_RETURN, + SUBJECT; public static MailField[] getCanBeRequiredMailFields() { return new MailField[] { @@ -78,6 +79,7 @@ public enum MailField { CLIENT_CODE, CLIENT_BRAND, SENDER, + SUBJECT, PROJECT_REFERENCE, COMPANY_REFERENCE, REFERENCE, diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/OpenGroupedDemandAction.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/OpenGroupedDemandAction.java index d8bc25d..8c90f27 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/OpenGroupedDemandAction.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/OpenGroupedDemandAction.java @@ -27,7 +27,6 @@ package com.franciaflex.faxtomail.ui.swing.actions; import com.franciaflex.faxtomail.persistence.entities.Email; import com.franciaflex.faxtomail.persistence.entities.FaxToMailUser; import com.franciaflex.faxtomail.persistence.entities.MailFolder; -import com.franciaflex.faxtomail.persistence.entities.RangeRow; import com.franciaflex.faxtomail.services.FaxToMailServiceContext; import com.franciaflex.faxtomail.services.service.EmailService; import com.franciaflex.faxtomail.services.service.exceptions.AlreadyLockedMailException; @@ -35,15 +34,12 @@ import com.franciaflex.faxtomail.services.service.exceptions.FolderNotReadableEx import com.franciaflex.faxtomail.ui.swing.content.MainUIHandler; import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel; import com.franciaflex.faxtomail.ui.swing.content.demande.DemandesUI; -import com.franciaflex.faxtomail.ui.swing.content.demande.RangeRowModel; import com.franciaflex.faxtomail.ui.swing.content.demande.demandgroup.DemandGroupUI; import com.franciaflex.faxtomail.ui.swing.content.demande.demandgroup.DemandGroupUIHandler; import org.apache.commons.lang3.StringUtils; import org.nuiton.jaxx.application.swing.AbstractApplicationUIHandler; -import javax.swing.*; -import java.util.ArrayList; -import java.util.Collection; +import javax.swing.JOptionPane; import static org.nuiton.i18n.I18n.t; @@ -155,7 +151,7 @@ public class OpenGroupedDemandAction extends AbstractFaxToMailAction<DemandeUIMo getContext().getCurrentUser(), takeEmail); - demandToOpen.fromEntity(email); + demandToOpen.fromEntity(email, true); demandToOpen.recomputeValidRangeRows(); MailFolder folder = demandToOpen.getMailFolder(); diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/ShowDemandeAction.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/ShowDemandeAction.java index 351a6b3..54a7472 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/ShowDemandeAction.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/ShowDemandeAction.java @@ -157,7 +157,7 @@ public class ShowDemandeAction extends AbstractChangeScreenAction { currentEmail.getTitle())); } - currentEmail.fromEntity(email); + currentEmail.fromEntity(email, true); MailFolder folder = currentEmail.getMailFolder(); if (currentEmail.getArchiveDate() != null 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 581c117..76079d0 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 @@ -190,6 +190,10 @@ public class DemandeUIModel extends AbstractFaxToMailBeanUIModel<Email, DemandeU */ @Override public void fromEntity(Email entity) { + fromEntity(entity, false); + } + + public void fromEntity(Email entity, boolean decomposeEmail) { fromBeanBinder.copyExcluding(entity, this, Email.PROPERTY_ATTACHMENT, Email.PROPERTY_REPLIES, @@ -199,6 +203,9 @@ public class DemandeUIModel extends AbstractFaxToMailBeanUIModel<Email, DemandeU setGroupedDemandes(entity.getEmailGroup()); loadReplies(entity); this.subject = entity.getSubject(); + if (decomposeEmail) { + decomposeEmail(); + } } public void fromEntityExcluding(Email entity, Set<String> properties) { @@ -327,9 +334,9 @@ public class DemandeUIModel extends AbstractFaxToMailBeanUIModel<Email, DemandeU } public String getSubject() { - if (subject == null) { - decomposeEmail(); - } +// if (subject == null) { +// decomposeEmail(); +// } return subject; } diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/DemandeTableModel.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/DemandeTableModel.java index 01c3426..a308789 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/DemandeTableModel.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/DemandeTableModel.java @@ -203,6 +203,12 @@ public class DemandeTableModel extends AbstractTableModel { n("faxtomail.demandeList.table.header.comment"), n("faxtomail.demandeList.table.header.comment.tip"))); + put(MailField.SUBJECT, + ColumnIdentifier.<Email>newId( + Email.PROPERTY_SUBJECT, + n("faxtomail.demandeList.table.header.subject"), + n("faxtomail.demandeList.table.header.subject.tip"))); + }}; public DemandeTableModel(TableColumnModelExt columnModel, MailField... editableProperties) { diff --git a/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties b/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties index 4d00e1a..0cc2754 100644 --- a/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties +++ b/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties @@ -211,6 +211,8 @@ faxtomail.demandeList.table.header.sender=Émetteur faxtomail.demandeList.table.header.sender.tip=Addresse email ou numéro de fax de l'émetteur faxtomail.demandeList.table.header.status=Statut faxtomail.demandeList.table.header.status.tip=Statut +faxtomail.demandeList.table.header.subject=Sujet +faxtomail.demandeList.table.header.subject.tip=Sujet de l'email reçu faxtomail.demandeList.table.header.type=Type faxtomail.demandeList.table.header.type.tip=Type faxtomail.demandeList.table.header.user=Pris par diff --git a/faxtomail-ui-web/src/main/resources/i18n/faxtomail-ui-web_fr_FR.properties b/faxtomail-ui-web/src/main/resources/i18n/faxtomail-ui-web_fr_FR.properties index 4ed536f..7c3d4f1 100644 --- a/faxtomail-ui-web/src/main/resources/i18n/faxtomail-ui-web_fr_FR.properties +++ b/faxtomail-ui-web/src/main/resources/i18n/faxtomail-ui-web_fr_FR.properties @@ -33,6 +33,7 @@ com.franciaflex.faxtomail.persistence.entities.MailField.REFERENCE=Référence com.franciaflex.faxtomail.persistence.entities.MailField.REPLIES=Réponses com.franciaflex.faxtomail.persistence.entities.MailField.SAV_NB=Quantité de SAV com.franciaflex.faxtomail.persistence.entities.MailField.SENDER=Émetteur +com.franciaflex.faxtomail.persistence.entities.MailField.SUBJECT=Sujet com.franciaflex.faxtomail.persistence.entities.MailField.TAKEN_BY=Pris par com.franciaflex.faxtomail.persistence.entities.MailField.WAITING_STATE=État d'attente faxtomail.demandDetail.noAttachmentForId=Aucune pièce jointe ne correspond à l'identifiant %s. -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop-1.1.x in repository faxtomail. See http://git.codelutin.com/faxtomail.git commit 1d67506668ffaa454da2138d6ca8e88709540f5b Author: Kevin Morin <morin@codelutin.com> Date: Thu Mar 3 15:52:03 2016 +0100 upgrade pom --- faxtomail-ui-web/README.txt => README.md | 0 .../README.txt => faxtomail-persistence/README.md | 0 faxtomail-service/{README.txt => README.md} | 0 .../README.txt => faxtomail-ui-swing/README.md | 0 faxtomail-ui-swing/pom.xml | 6 ++++++ README.txt => faxtomail-ui-web/README.md | 0 pom.xml | 22 +++++++++++++--------- 7 files changed, 19 insertions(+), 9 deletions(-) diff --git a/faxtomail-ui-web/README.txt b/README.md similarity index 100% rename from faxtomail-ui-web/README.txt rename to README.md diff --git a/faxtomail-ui-swing/README.txt b/faxtomail-persistence/README.md similarity index 100% rename from faxtomail-ui-swing/README.txt rename to faxtomail-persistence/README.md diff --git a/faxtomail-service/README.txt b/faxtomail-service/README.md similarity index 100% rename from faxtomail-service/README.txt rename to faxtomail-service/README.md diff --git a/faxtomail-persistence/README.txt b/faxtomail-ui-swing/README.md similarity index 100% rename from faxtomail-persistence/README.txt rename to faxtomail-ui-swing/README.md diff --git a/faxtomail-ui-swing/pom.xml b/faxtomail-ui-swing/pom.xml index 9976659..6d1e98b 100644 --- a/faxtomail-ui-swing/pom.xml +++ b/faxtomail-ui-swing/pom.xml @@ -279,6 +279,12 @@ <scope>runtime</scope> </dependency> + <dependency> + <groupId>com.levigo.jbig2</groupId> + <artifactId>levigo-jbig2-imageio</artifactId> + <scope>runtime</scope> + </dependency> + </dependencies> <build> diff --git a/README.txt b/faxtomail-ui-web/README.md similarity index 100% rename from README.txt rename to faxtomail-ui-web/README.md diff --git a/pom.xml b/pom.xml index ad8bce3..bdd710f 100644 --- a/pom.xml +++ b/pom.xml @@ -27,7 +27,7 @@ <parent> <groupId>org.nuiton</groupId> <artifactId>codelutinpom</artifactId> - <version>1.8.3</version> + <version>9</version> </parent> <groupId>com.franciaflex</groupId> @@ -71,11 +71,9 @@ </modules> <scm> - <connection>scm:git:http://git.codelutin.com/fatxomail.git</connection> - <developerConnection> - scm:git:https://git.codelutin.com/fatxomail.git - </developerConnection> - <url>https://gitweb.codelutin.com/fatxomail.git</url> + <url>https://gitlab.nuiton.org/codelutin/faxtomail</url> + <connection>scm:git:git@gitlab.nuiton.org:codelutin/faxtomail.git</connection> + <developerConnection>scm:git:git@gitlab.nuiton.org:codelutin/faxtomail.git</developerConnection> </scm> <distributionManagement> <site> @@ -92,8 +90,9 @@ <properties> - <platform>codelutin.com</platform> + <!--<platform>codelutin.com</platform>--> <projectId>faxtomail</projectId> + <ciViewId>FaxToMail</ciViewId> <!-- libraries version --> <nuitonI18nVersion>3.3</nuitonI18nVersion> @@ -139,8 +138,7 @@ <license.licenseName>gpl_v3</license.licenseName> <!-- Java version --> - <maven.compiler.source>1.7</maven.compiler.source> - <maven.compiler.target>1.7</maven.compiler.target> + <javaVersion>1.7</javaVersion> <signatureArtifactId>java17</signatureArtifactId> <signatureVersion>1.0</signatureVersion> @@ -737,6 +735,12 @@ </dependency> <dependency> + <groupId>com.levigo.jbig2</groupId> + <artifactId>levigo-jbig2-imageio</artifactId> + <version>1.6.5</version> + </dependency> + + <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${junitVersion}</version> -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop-1.1.x in repository faxtomail. See http://git.codelutin.com/faxtomail.git commit 34a28fd02916fbd56c747e0f2831dd05a3a09331 Author: Kevin Morin <morin@codelutin.com> Date: Thu Mar 3 15:52:38 2016 +0100 migration des emails non archivés (refs #8053) --- .../h2/V1_1_10_735__subject_migration.java | 120 +++++++++++++++++++++ .../sqlserver/V1_1_10_735__subject_migration.java | 119 ++++++++++++++++++++ .../service/migration/FlywayMigrationTest.java | 4 +- 3 files changed, 241 insertions(+), 2 deletions(-) diff --git a/faxtomail-service/src/main/java/db/migration/h2/V1_1_10_735__subject_migration.java b/faxtomail-service/src/main/java/db/migration/h2/V1_1_10_735__subject_migration.java new file mode 100644 index 0000000..6ebff4e --- /dev/null +++ b/faxtomail-service/src/main/java/db/migration/h2/V1_1_10_735__subject_migration.java @@ -0,0 +1,120 @@ +package db.migration.h2; + +/* + * #%L + * FaxToMail :: Service + * $Id:$ + * $HeadURL:$ + * %% + * Copyright (C) 2014 - 2016 Mac-Groupe, 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.services.FaxToMailServiceUtils; +import org.apache.commons.mail.util.MimeMessageUtils; +import org.flywaydb.core.api.migration.jdbc.JdbcMigration; +import org.flywaydb.core.internal.util.logging.Log; +import org.flywaydb.core.internal.util.logging.LogFactory; + +import javax.mail.Session; +import javax.mail.internet.MimeMessage; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.util.Properties; + +/** + * @author Kevin Morin (Code Lutin) + * @since 1.1.10 + */ +public class V1_1_10_735__subject_migration implements JdbcMigration { + + /** Logger. */ + private static final Log log = LogFactory.getLog(V1_1_10_735__subject_migration.class); + + @Override + public void migrate(Connection connection) throws Exception { + + PreparedStatement updateStatement = null; + ResultSet resultSet = null; + + try { + connection.setAutoCommit(false); + + updateStatement = + connection.prepareStatement("UPDATE email SET subject = ? WHERE topiaid = ?"); + + int emailWoSubjectRemaining = 100; + + while (emailWoSubjectRemaining > 0) { + + emailWoSubjectRemaining = 0; + + resultSet = connection.createStatement() + .executeQuery("SELECT e.topiaId, oe.content " + + "FROM email e LEFT OUTER JOIN originalemail oe " + + "ON e.originalemail = oe.topiaid " + + "WHERE e.archivedate IS NULL AND e.subject IS NULL " + + "LIMIT 100"); + + while (resultSet.next()) { + emailWoSubjectRemaining++; + + String emailId = resultSet.getString(1); + String emailContent = resultSet.getString(2); + + Properties properties = new Properties(); + // set the mail.mime.address.strict to false to avoid + // javax.mail.internet.AddressException: Domain contains illegal character errors when recipients contains [] + properties.setProperty("mail.mime.address.strict", "false"); + + Session session = Session.getInstance(properties); + String subject; + try { + MimeMessage message = MimeMessageUtils.createMimeMessage(session, emailContent); + subject = FaxToMailServiceUtils.getDecodedSubject(message.getSubject()); + + } catch (Exception e) { + subject = ""; + } + + updateStatement.setString(1, subject); + updateStatement.setString(2, emailId); + updateStatement.addBatch(); + } + + log.info("update " + emailWoSubjectRemaining + " emails"); + + updateStatement.executeBatch(); + resultSet.close(); + } + + log.info("commit"); + connection.commit(); + + } finally { + if (resultSet != null) { + resultSet.close(); + } + if (updateStatement != null) { + updateStatement.close(); + } + } + + log.info("done !"); + } +} diff --git a/faxtomail-service/src/main/java/db/migration/sqlserver/V1_1_10_735__subject_migration.java b/faxtomail-service/src/main/java/db/migration/sqlserver/V1_1_10_735__subject_migration.java new file mode 100644 index 0000000..f9c132e --- /dev/null +++ b/faxtomail-service/src/main/java/db/migration/sqlserver/V1_1_10_735__subject_migration.java @@ -0,0 +1,119 @@ +package db.migration.sqlserver; + +/* + * #%L + * FaxToMail :: Service + * $Id:$ + * $HeadURL:$ + * %% + * Copyright (C) 2014 - 2016 Mac-Groupe, 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.services.FaxToMailServiceUtils; +import org.apache.commons.mail.util.MimeMessageUtils; +import org.flywaydb.core.api.migration.jdbc.JdbcMigration; +import org.flywaydb.core.internal.util.logging.Log; +import org.flywaydb.core.internal.util.logging.LogFactory; + +import javax.mail.Session; +import javax.mail.internet.MimeMessage; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.util.Properties; + +/** + * @author Kevin Morin (Code Lutin) + * @since 1.1.10 + */ +public class V1_1_10_735__subject_migration implements JdbcMigration { + + /** Logger. */ + private static final Log log = LogFactory.getLog(V1_1_10_735__subject_migration.class); + + @Override + public void migrate(Connection connection) throws Exception { + + PreparedStatement updateStatement = null; + ResultSet resultSet = null; + + try { + connection.setAutoCommit(false); + + updateStatement = + connection.prepareStatement("UPDATE email SET subject = ? WHERE topiaid = ?"); + + int emailWoSubjectRemaining = 100; + + while (emailWoSubjectRemaining > 0) { + + emailWoSubjectRemaining = 0; + + resultSet = connection.createStatement() + .executeQuery("SELECT TOP(100) e.topiaId, oe.content " + + "FROM email e LEFT OUTER JOIN originalemail oe " + + "ON e.originalemail = oe.topiaid " + + "WHERE e.archivedate IS NULL AND e.subject IS NULL"); + + while (resultSet.next()) { + emailWoSubjectRemaining++; + + String emailId = resultSet.getString(1); + String emailContent = resultSet.getString(2); + + Properties properties = new Properties(); + // set the mail.mime.address.strict to false to avoid + // javax.mail.internet.AddressException: Domain contains illegal character errors when recipients contains [] + properties.setProperty("mail.mime.address.strict", "false"); + + Session session = Session.getInstance(properties); + String subject; + try { + MimeMessage message = MimeMessageUtils.createMimeMessage(session, emailContent); + subject = FaxToMailServiceUtils.getDecodedSubject(message.getSubject()); + + } catch (Exception e) { + subject = ""; + } + + updateStatement.setString(1, subject); + updateStatement.setString(2, emailId); + updateStatement.addBatch(); + } + + log.info("update " + emailWoSubjectRemaining + " emails"); + + updateStatement.executeBatch(); + resultSet.close(); + } + + log.info("commit"); + connection.commit(); + + } finally { + if (resultSet != null) { + resultSet.close(); + } + if (updateStatement != null) { + updateStatement.close(); + } + } + + log.info("done !"); + } +} diff --git a/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/migration/FlywayMigrationTest.java b/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/migration/FlywayMigrationTest.java index fb81152..b2289a7 100644 --- a/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/migration/FlywayMigrationTest.java +++ b/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/migration/FlywayMigrationTest.java @@ -110,7 +110,7 @@ public class FlywayMigrationTest extends AbstractFaxToMailServiceTest { // il y en a au moins 4 depuis la version 1.0.0-rc-3 Assert.assertTrue(migrationCount >= 4); - // +1 car il y a l'init en plus - Assert.assertEquals(migrationFiles.size() + 1, migrationCount.intValue()); + // +2 car il y a l'init en plus et les fichiers java + Assert.assertEquals(migrationFiles.size() + 2, migrationCount.intValue()); } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop-1.1.x in repository faxtomail. See http://git.codelutin.com/faxtomail.git commit 4f1cf534cb1981fa690b72daf5629a88061ecbc5 Merge: ea1e141 34a28fd Author: Kevin Morin <morin@codelutin.com> Date: Thu Mar 3 16:16:22 2016 +0100 Merge branch 'feature/8053' into develop-1.1.x faxtomail-ui-web/README.txt => README.md | 0 .../README.txt => faxtomail-persistence/README.md | 0 .../faxtomail/persistence/entities/MailField.java | 4 +- .../src/main/resources/faxToMail.properties | 4 +- faxtomail-persistence/src/main/xmi/faxtomail.zargo | Bin 30153 -> 30210 bytes faxtomail-service/{README.txt => README.md} | 0 .../faxtomail/services/FaxToMailServiceUtils.java | 14 +++ .../h2/V1_1_10_735__subject_migration.java | 120 +++++++++++++++++++++ .../sqlserver/V1_1_10_735__subject_migration.java | 119 ++++++++++++++++++++ .../h2/V1_1_10_734__add_subject_field_to_email.sql | 2 + .../V1_1_10_734__add_subject_field_to_email.sql | 2 + .../services/service/EmailServiceTest.java | 14 +++ .../service/migration/FlywayMigrationTest.java | 4 +- .../README.txt => faxtomail-ui-swing/README.md | 0 faxtomail-ui-swing/pom.xml | 6 ++ .../ui/swing/actions/OpenGroupedDemandAction.java | 8 +- .../ui/swing/actions/ShowDemandeAction.java | 2 +- .../ui/swing/content/demande/DemandeUIModel.java | 32 ++++-- .../faxtomail/ui/swing/util/DemandeTableModel.java | 6 ++ .../i18n/faxtomail-ui-swing_fr_FR.properties | 2 + README.txt => faxtomail-ui-web/README.md | 0 .../faxtomail/web/job/MailFilterJob.java | 2 + .../i18n/faxtomail-ui-web_fr_FR.properties | 1 + pom.xml | 22 ++-- 24 files changed, 337 insertions(+), 27 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm