Author: kmorin Date: 2014-11-19 12:45:09 +0000 (Wed, 19 Nov 2014) New Revision: 694 Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/694 Log: r?\195?\169cup?\195?\169ration de l'historique (quand on save depuis la liste, l'historique est ?\195?\160 null dans le mail) Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java =================================================================== --- trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java 2014-11-19 11:14:17 UTC (rev 693) +++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java 2014-11-19 12:45:09 UTC (rev 694) @@ -305,17 +305,22 @@ } } + Collection<History> histories; if (!email.isPersisted()) { - if (email.getHistory() != null) { - historyDao.createAll(email.getHistory()); + histories = email.getHistory(); + if (histories != null) { + historyDao.createAll(histories); } + email = dao.create(email); - email = dao.create(email); + } else { + histories = historyDao.forEquals("email.topiaId", email.getTopiaId()).findAll(); } Set<String> fieldSet = Sets.newHashSet(modifiedFields); - History transmissionToEdi = CollectionUtils.find(email.getHistory(), new Predicate<History>() { + + History transmissionToEdi = CollectionUtils.find(histories, new Predicate<History>() { @Override public boolean evaluate(History object) { return object.getType() == HistoryType.TRANSMISSION_TO_EDI; @@ -333,8 +338,8 @@ handleEdiTransmission(email, historyDao, fieldSet); } - if (email.getHistory() != null) { - historyDao.createAll(Collections2.filter(email.getHistory(), new com.google.common.base.Predicate<History>() { + if (histories != null) { + historyDao.createAll(Collections2.filter(histories, new com.google.common.base.Predicate<History>() { @Override public boolean apply(History history) { return !history.isPersisted(); @@ -362,7 +367,7 @@ fieldSet.add(Email.PROPERTY_TAKEN_BY); } - boolean historyEmpty = email.isHistoryEmpty(); + boolean historyEmpty = CollectionUtils.isEmpty(histories); if (historyEmpty || !fieldSet.isEmpty()) { history = historyDao.create(History.PROPERTY_TYPE, historyEmpty ? HistoryType.CREATION : HistoryType.MODIFICATION, History.PROPERTY_FAX_TO_MAIL_USER, user,