branch develop updated (77e001c0 -> 94eb3a90)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository faxtomail. See https://gitlab.nuiton.org/codelutin/faxtomail.git from 77e001c0 refs #9986 new 94eb3a90 refs #9986 The 1 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 94eb3a903086b930bcf20eb38d7cf9906a90af26 Author: jcouteau <couteau@codelutin.com> Date: Tue Jul 3 14:56:09 2018 +0200 refs #9986 Summary of changes: .../faxtomail/services/service/EmailService.java | 2 +- .../services/service/EmailServiceImpl.java | 51 +++++++++++++--------- .../services/service/EmailServiceTest.java | 4 +- .../demande/takenby/actions/TakenByAction.java | 23 ++++++---- 4 files changed, 48 insertions(+), 32 deletions(-) -- 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 in repository faxtomail. See https://gitlab.nuiton.org/codelutin/faxtomail.git commit 94eb3a903086b930bcf20eb38d7cf9906a90af26 Author: jcouteau <couteau@codelutin.com> Date: Tue Jul 3 14:56:09 2018 +0200 refs #9986 --- .../faxtomail/services/service/EmailService.java | 2 +- .../services/service/EmailServiceImpl.java | 51 +++++++++++++--------- .../services/service/EmailServiceTest.java | 4 +- .../demande/takenby/actions/TakenByAction.java | 23 ++++++---- 4 files changed, 48 insertions(+), 32 deletions(-) diff --git a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailService.java b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailService.java index 0afd616e..27dcbcc1 100644 --- a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailService.java +++ b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailService.java @@ -78,7 +78,7 @@ public interface EmailService extends FaxToMailService { Email saveEmail(Email email, Collection<Attachment> attachments, Collection<Reply> replies, FaxToMailUser user, String... modifiedFields) throws InvalidClientException; - Email takeBy(Email email, FaxToMailUser user); + List<Email> takeBy(List<Email> email, FaxToMailUser user); void transmitPendingDemandsToEdi(); diff --git a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java index e3442bb2..086f2af0 100644 --- a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java +++ b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java @@ -373,7 +373,7 @@ public class EmailServiceImpl extends FaxToMailServiceSupport implements EmailSe @Override - public Email takeBy(final Email email, final FaxToMailUser user) { + public List<Email> takeBy(final List<Email> emails, final FaxToMailUser user) { TopiaSqlSupport sqlSupport = getPersistenceContext().getSqlSupport(); @@ -384,28 +384,31 @@ public class EmailServiceImpl extends FaxToMailServiceSupport implements EmailSe HistoryTopiaDao historyDao = getPersistenceContext().getHistoryDao(); - Set<String> fieldSet = Sets.newHashSet(Email.PROPERTY_TAKEN_BY); - final History history = historyDao.create(History.PROPERTY_TYPE, HistoryType.MODIFICATION, - History.PROPERTY_FAX_TO_MAIL_USER, user, - History.PROPERTY_MODIFICATION_DATE, now, - History.PROPERTY_EMAIL, email, - History.PROPERTY_FIELDS_JSON, AbstractFaxToMailTopiaDao.GSON_INSTANCE.toJson(fieldSet)); + for (Email email:emails) { - getPersistenceContext().getHibernateSupport().getHibernateSession().flush(); + Set<String> fieldSet = Sets.newHashSet(Email.PROPERTY_TAKEN_BY); + final History history = historyDao.create(History.PROPERTY_TYPE, HistoryType.MODIFICATION, + History.PROPERTY_FAX_TO_MAIL_USER, user, + History.PROPERTY_MODIFICATION_DATE, now, + History.PROPERTY_EMAIL, email, + History.PROPERTY_FIELDS_JSON, AbstractFaxToMailTopiaDao.GSON_INSTANCE.toJson(fieldSet)); - try (PreparedStatement updateStatement = connection.prepareStatement("UPDATE email SET takenby = ? WHERE topiaid = ?"); - PreparedStatement historyStatement = connection.prepareStatement("UPDATE history SET email = ? WHERE topiaid = ?")) { + getPersistenceContext().getHibernateSupport().getHibernateSession().flush(); - updateStatement.setString(1, user.getTopiaId()); - updateStatement.setString(2, email.getTopiaId()); - int result = updateStatement.executeUpdate(); + try (PreparedStatement updateStatement = connection.prepareStatement("UPDATE email SET takenby = ? WHERE topiaid = ?"); + PreparedStatement historyStatement = connection.prepareStatement("UPDATE history SET email = ? WHERE topiaid = ?")) { - historyStatement.setString(1, email.getTopiaId()); - historyStatement.setString(2, history.getTopiaId()); - int result2 = historyStatement.executeUpdate(); + updateStatement.setString(1, user.getTopiaId()); + updateStatement.setString(2, email.getTopiaId()); + int result = updateStatement.executeUpdate(); - if (result != 1 || result2 != 1) { - log.error(String.format("Could not take email ($s) by user ($s)", email.getTopiaId(), user.getTopiaId())); + historyStatement.setString(1, email.getTopiaId()); + historyStatement.setString(2, history.getTopiaId()); + int result2 = historyStatement.executeUpdate(); + + if (result != 1 || result2 != 1) { + log.error(String.format("Could not take email ($s) by user ($s)", email.getTopiaId(), user.getTopiaId())); + } } } @@ -417,11 +420,17 @@ public class EmailServiceImpl extends FaxToMailServiceSupport implements EmailSe getPersistenceContext().commit(); getPersistenceContext().getHibernateSupport().getHibernateSession().clear(); - getPersistenceContext().getHibernateSupport().getHibernateSession().refresh(email); - Email returnValue = getFullEmailById(email.getTopiaId()); + List<Email> returnValues= new ArrayList<>(); + + for (Email email:emails) { + + Email returnValue = getFullEmailById(email.getTopiaId()); + + returnValues.add(returnValue); + } - return returnValue; + return returnValues; } /** 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 9006683a..071e8636 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 @@ -62,6 +62,7 @@ import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; import java.io.InputStream; +import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.List; @@ -312,7 +313,7 @@ public class EmailServiceTest extends AbstractFaxToMailServiceTest { Assert.assertNotEquals(cmarquis,email.getTakenBy()); - service.takeBy(email, cmarquis); + service.takeBy(emails, cmarquis); Email emailToTest = service.getEmailById(email.getTopiaId()); @@ -321,7 +322,6 @@ public class EmailServiceTest extends AbstractFaxToMailServiceTest { Assert.assertEquals(cmarquis.getTrigraph(),emailToTest.getTakenBy().getTrigraph()); //TODO should test history to - } @Test diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/takenby/actions/TakenByAction.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/takenby/actions/TakenByAction.java index 69b4f081..f6c08931 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/takenby/actions/TakenByAction.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/takenby/actions/TakenByAction.java @@ -34,7 +34,9 @@ import com.franciaflex.faxtomail.ui.swing.content.demande.takenby.TakenByFormUI; import com.franciaflex.faxtomail.ui.swing.content.demande.takenby.TakenByFormUIHandler; import com.franciaflex.faxtomail.ui.swing.content.demande.takenby.TakenByFormUIModel; +import java.util.ArrayList; import java.util.Collection; +import java.util.List; import static org.nuiton.i18n.I18n.t; @@ -57,18 +59,23 @@ public class TakenByAction extends AbstractFaxToMailAction<TakenByFormUIModel, T FaxToMailUser user = getModel().getTakenBy(); Collection<DemandeUIModel> demands = getModel().getDemandsToTake(); - for (DemandeUIModel demand : demands) { - demand.setTakenBy(user); + List<Email> emails = new ArrayList<>(); - String topiaId = demand.getTopiaId(); - Email persistedEmail = emailService.getFullEmailById(topiaId); + for (DemandeUIModel demand : demands) { + Email email = demand.toEntity(); + emails.add(email); + } - Email email = demand.toEntity(persistedEmail); + List<Email> returnedEmails = emailService.takeBy(emails, user); - email = emailService.takeBy(email, user); - demand.fromEntity(email); - } + for (DemandeUIModel demand : demands) { + for (Email email : returnedEmails) { + if (demand.getTopiaId().equals(email.getTopiaId())){ + demand.fromEntity(email); + } + } + } } @Override -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm