Author: kmorin Date: 2014-08-06 14:24:06 +0200 (Wed, 06 Aug 2014) New Revision: 480 Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/480 Log: integration des fetchs Modified: trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/MailFolderTopiaDao.java trunk/faxtomail-persistence/src/main/xmi/faxtomail.zargo trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailService.java trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/MailFolderServiceImpl.java trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/UserServiceImpl.java trunk/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/InitTestDataImpl.java trunk/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/MailFolderServiceTest.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/LoadFolderEmailsAction.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentEditorUIHandler.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailDemandListHandler.java Modified: trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/MailFolderTopiaDao.java =================================================================== --- trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/MailFolderTopiaDao.java 2014-08-06 12:13:55 UTC (rev 479) +++ trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/MailFolderTopiaDao.java 2014-08-06 12:24:06 UTC (rev 480) @@ -24,6 +24,14 @@ * #L% */ +import com.google.common.collect.Collections2; +import com.google.common.collect.Maps; +import org.apache.commons.lang3.StringUtils; + +import java.util.Collection; +import java.util.HashMap; +import java.util.List; + public class MailFolderTopiaDao extends AbstractMailFolderTopiaDao<MailFolder> { @Override @@ -49,4 +57,13 @@ } + public Collection<MailFolder> getReadableFolders(FaxToMailUser user) { + String query = newFromClause("mf") + " where :user in elements(mf.readRightUsers) or exists (from mf.readRightGroups g where g in (:groups))"; + HashMap<String, Object> map = Maps.newHashMap(); + map.put("user", user); + map.put("groups", user.getUserGroups()); + Collection<MailFolder> folders = findAll(query, map); + return folders; + } + } //MailFolderTopiaDao Modified: trunk/faxtomail-persistence/src/main/xmi/faxtomail.zargo =================================================================== (Binary files differ) 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-08-06 12:13:55 UTC (rev 479) +++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailService.java 2014-08-06 12:24:06 UTC (rev 480) @@ -36,7 +36,8 @@ void transmitPendingDemandsToEdi(); - PaginationResult<Email> getEmailForFolder(MailFolder folder, FaxToMailUser currentUser, PaginationParameter page); +// PaginationResult<Email> getEmailForFolder(MailFolder folder, FaxToMailUser currentUser, PaginationParameter page); + List<Email> getEmailForFolder(MailFolder folder, FaxToMailUser currentUser, PaginationParameter page); List<MailFolder> getChildrenRecursively(MailFolder folder); 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-08-06 12:13:55 UTC (rev 479) +++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java 2014-08-06 12:24:06 UTC (rev 480) @@ -461,7 +461,8 @@ * @return paginated results */ @Override - public PaginationResult<Email> getEmailForFolder(MailFolder folder, FaxToMailUser currentUser, PaginationParameter page) { +// public PaginationResult<Email> getEmailForFolder(MailFolder folder, FaxToMailUser currentUser, PaginationParameter page) { + public List<Email> getEmailForFolder(MailFolder folder, FaxToMailUser currentUser, PaginationParameter page) { // check if user can read current folder MailFolder loopFolder = folder; @@ -476,16 +477,68 @@ } // perform request or not depending on rigths - PaginationResult<Email> result; + List<Email> result; if (readable) { EmailTopiaDao dao = getPersistenceContext().getEmailDao(); result = dao.forMailFolderEquals(folder) .addNull(Email.PROPERTY_ARCHIVE_DATE) .addNotEquals(Email.PROPERTY_DEMAND_STATUS, DemandStatus.ARCHIVED) - .findPage(page); + .addAllFetches( + Email.PROPERTY_ETAT_ATTENTE, + Email.PROPERTY_CLIENT, + Email.PROPERTY_PRIORITY, + Email.PROPERTY_TAKEN_BY, +// Email.PROPERTY_DEMAND_STATUS, +// Email.PROPERTY_DEMAND_TYPE, + Email.PROPERTY_DEMAND_TYPE + "." + DemandType.PROPERTY_FIELDS, + Email.PROPERTY_RANGE_ROW, + Email.PROPERTY_HISTORY, + Email.PROPERTY_REPLIES, + Email.PROPERTY_EMAIL_GROUP + ) +// .findPage(page); + .findAll(); + //FIXME kmorin 20140805 fetch + for (Email email : result) { + if (email.getDemandType() != null) { + email.getDemandType().getFields(); + email.getDemandType().sizeFields(); + } +// if (email.getRangeRow() != null) { +// for (RangeRow rangeRow : email.getRangeRow()) { +// rangeRow.getRange(); +// } +// } +// if (email.getAttachment() != null) { +// for (Attachment attachment : email.getAttachment()) { +// attachment.getEditedFile(); +// attachment.getOriginalFile(); +// } +// } +// if (email.getHistory() != null) { +// for (History history : email.getHistory()) { +// history.getType(); +// history.getFaxToMailUser(); +// } +// } +// email.getReplies(); +// email.sizeReplies(); +// email.getRepliesTopiaIds(); +// email.getTakenBy(); +// email.getClient(); +// email.getDemandStatus(); +// if (email.getEmailGroup() != null) { +// email.getEmailGroup().getEmail(); +// email.getEmailGroup().sizeEmail(); +// email.getEmailGroup().getEmailTopiaIds(); +// } +// email.getEtatAttente(); +// email.getPriority(); + } } else { List<Email> elements = Collections.emptyList(); - result = PaginationResult.of(elements, 0, page); +// result = PaginationResult.of(elements, 0, page); + result = new ArrayList<>(); } return result; } Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/MailFolderServiceImpl.java =================================================================== --- trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/MailFolderServiceImpl.java 2014-08-06 12:13:55 UTC (rev 479) +++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/MailFolderServiceImpl.java 2014-08-06 12:24:06 UTC (rev 480) @@ -31,6 +31,7 @@ import java.util.List; import java.util.Map; +import com.franciaflex.faxtomail.persistence.entities.DemandType; import com.franciaflex.faxtomail.persistence.entities.FaxToMailUser; import org.apache.commons.collections4.CollectionUtils; @@ -102,24 +103,43 @@ @Override public List<MailFolder> getRootMailFoldersWithReadingRights(FaxToMailUser user) { - List<MailFolder> rootFolders = getRootMailFolders(); - List<MailFolder> result = new ArrayList<>(); +// List<MailFolder> rootFolders = getRootMailFolders(); +// List<MailFolder> result = new ArrayList<>(); +// +// for (MailFolder folder : rootFolders) { +// findReadableFolders(folder, user, result); +// } - for (MailFolder folder : rootFolders) { - findReadableFolders(folder, user, result); + MailFolderTopiaDao dao = getPersistenceContext().getMailFolderDao(); + List<MailFolder> result = new ArrayList<>(dao.getReadableFolders(user)); + //FIXME kmorin 20140805 fetch + for (MailFolder f : result) { + findReadableFolders(f); } - return result; } - protected void findReadableFolders(MailFolder folder, FaxToMailUser user, List<MailFolder> folders) { - if (folder.containsReadRightUsers(user) - || !CollectionUtils.intersection(folder.getReadRightGroups(), user.getUserGroups()).isEmpty()) { - folders.add(folder); + protected void findReadableFolders(MailFolder folder) { + //FIXME kmorin 20140805 fetch + folder.getFolderTableColumns(); + folder.sizeFolderTableColumns(); + folder.getReadRightGroups(); + folder.getReadRightGroupsTopiaIds(); + folder.getReadRightUsers(); + folder.getReadRightUsersTopiaIds(); + folder.getEtatAttentes(); + folder.sizeEtatAttentes(); + folder.getEtatAttentesTopiaIds(); + if (folder.getDemandTypes() != null) { + for (DemandType demandType : folder.getDemandTypes()) { + demandType.getFields(); + demandType.sizeFields(); + } + } - } else if (folder.isChildrenNotEmpty()) { + if (folder.isChildrenNotEmpty()) { for (MailFolder child : folder.getChildren()) { - findReadableFolders(child, user, folders); + findReadableFolders(child); } } } Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/UserServiceImpl.java =================================================================== --- trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/UserServiceImpl.java 2014-08-06 12:13:55 UTC (rev 479) +++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/UserServiceImpl.java 2014-08-06 12:24:06 UTC (rev 480) @@ -71,6 +71,9 @@ public FaxToMailUser getUserByLogin(String login) { FaxToMailUserTopiaDao dao = getPersistenceContext().getFaxToMailUserDao(); FaxToMailUser user = dao.forLoginEquals(login).findUnique(); + //FIXME kmorin 20140805 use fetch + user.getUserGroups(); + user.getUserGroupsTopiaIds(); return user; } Modified: trunk/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/InitTestDataImpl.java =================================================================== --- trunk/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/InitTestDataImpl.java 2014-08-06 12:13:55 UTC (rev 479) +++ trunk/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/InitTestDataImpl.java 2014-08-06 12:24:06 UTC (rev 480) @@ -30,11 +30,14 @@ import java.io.InputStream; import java.util.ArrayList; import java.util.Calendar; +import java.util.Collection; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; +import com.franciaflex.faxtomail.persistence.entities.FaxToMailUserGroup; +import com.franciaflex.faxtomail.persistence.entities.FaxToMailUserGroupTopiaDao; import com.franciaflex.faxtomail.persistence.entities.MailField; import org.apache.commons.lang3.RandomStringUtils; @@ -76,10 +79,9 @@ /** * Import all test data. - * + * * @throws IOException */ - @Override public void initTestData() throws IOException { if (log.isDebugEnabled()) { log.debug("Init test data"); @@ -92,6 +94,46 @@ etatAttentes = referentielService.importEtatAttentes(is); } + // create test groups and users + FaxToMailUserGroupTopiaDao faxToMailUserGroupDao = getPersistenceContext().getFaxToMailUserGroupDao(); + FaxToMailUserGroup group1 = faxToMailUserGroupDao.create(FaxToMailUserGroup.PROPERTY_NAME, "group1"); + FaxToMailUserGroup group2 = faxToMailUserGroupDao.create(FaxToMailUserGroup.PROPERTY_NAME, "group2"); + FaxToMailUserGroup group3 = faxToMailUserGroupDao.create(FaxToMailUserGroup.PROPERTY_NAME, "group3"); + Collection<FaxToMailUserGroup> groups12 = Lists.newArrayList(group1, group2); + Collection<FaxToMailUserGroup> groups23 = Lists.newArrayList(group3, group2); + + FaxToMailUserTopiaDao userDao = getPersistenceContext().getFaxToMailUserDao(); + FaxToMailUser marc = userDao.create(FaxToMailUser.PROPERTY_LAST_NAME, "Lefèbvre", + FaxToMailUser.PROPERTY_FIRST_NAME, "Marc", + FaxToMailUser.PROPERTY_LOGIN, "mlefebvre", + FaxToMailUser.PROPERTY_TRIGRAPH, "MLE", + FaxToMailUser.PROPERTY_USER_GROUPS, groups12); + FaxToMailUser cyril = userDao.create(FaxToMailUser.PROPERTY_LAST_NAME, "Baillet", + FaxToMailUser.PROPERTY_FIRST_NAME, "Cyril", + FaxToMailUser.PROPERTY_LOGIN, "cbaillet", + FaxToMailUser.PROPERTY_TRIGRAPH, "CBA", + FaxToMailUser.PROPERTY_USER_GROUPS, groups12); + FaxToMailUser frederic = userDao.create(FaxToMailUser.PROPERTY_LAST_NAME, "Viala", + FaxToMailUser.PROPERTY_FIRST_NAME, "Frédéric", + FaxToMailUser.PROPERTY_LOGIN, "fviala", + FaxToMailUser.PROPERTY_TRIGRAPH, "FVI", + FaxToMailUser.PROPERTY_USER_GROUPS, groups12); + FaxToMailUser claire = userDao.create(FaxToMailUser.PROPERTY_LAST_NAME, "Marquis", + FaxToMailUser.PROPERTY_FIRST_NAME, "Claire", + FaxToMailUser.PROPERTY_LOGIN, "cmarquis", + FaxToMailUser.PROPERTY_TRIGRAPH, "CMA", + FaxToMailUser.PROPERTY_USER_GROUPS, groups12); + FaxToMailUser agathe = userDao.create(FaxToMailUser.PROPERTY_LAST_NAME, "Borde", + FaxToMailUser.PROPERTY_FIRST_NAME, "Agathe", + FaxToMailUser.PROPERTY_LOGIN, "aborde", + FaxToMailUser.PROPERTY_TRIGRAPH, "ABO", + FaxToMailUser.PROPERTY_USER_GROUPS, groups12); + FaxToMailUser jeanne = userDao.create(FaxToMailUser.PROPERTY_LAST_NAME, "Bourgoin", + FaxToMailUser.PROPERTY_FIRST_NAME, "Jeanne", + FaxToMailUser.PROPERTY_LOGIN, "jbourgoin", + FaxToMailUser.PROPERTY_TRIGRAPH, "JBO", + FaxToMailUser.PROPERTY_USER_GROUPS, groups12); + // create folders MailFolderTopiaDao folderDao = getPersistenceContext().getMailFolderDao(); Map<String, MailFolder> foldersByName = new HashMap<>(); @@ -106,14 +148,16 @@ MailFolder sav = folderDao.create(MailFolder.PROPERTY_NAME, "SAV", MailFolder.PROPERTY_PARENT, franciaflex, - MailFolder.PROPERTY_ETAT_ATTENTES, etatAttentes.subList(0, 1)); + MailFolder.PROPERTY_ETAT_ATTENTES, etatAttentes.subList(0, 1), + MailFolder.PROPERTY_READ_RIGHT_GROUPS, groups23); franciaflex.addChildren(sav); foldersByName.put(sav.getName(), sav); // user folders MailFolder cyrilFolder = folderDao.create(MailFolder.PROPERTY_NAME, "Cyril", MailFolder.PROPERTY_PARENT, chargesClientelle, - MailFolder.PROPERTY_ETAT_ATTENTES, etatAttentes.subList(1, 2)); + MailFolder.PROPERTY_ETAT_ATTENTES, etatAttentes.subList(1, 2), + MailFolder.PROPERTY_READ_RIGHT_USERS, Lists.newArrayList(cyril)); chargesClientelle.addChildren(cyrilFolder); foldersByName.put(cyrilFolder.getName(), cyrilFolder); @@ -143,33 +187,6 @@ sav.addChildren(jeanneFolder); foldersByName.put(jeanneFolder.getName(), jeanneFolder); - // create test users - FaxToMailUserTopiaDao userDao = getPersistenceContext().getFaxToMailUserDao(); - FaxToMailUser marc = userDao.create(FaxToMailUser.PROPERTY_LAST_NAME, "Lefèbvre", - FaxToMailUser.PROPERTY_FIRST_NAME, "Marc", - FaxToMailUser.PROPERTY_LOGIN, "mlefebvre", - FaxToMailUser.PROPERTY_TRIGRAPH, "MLE"); - FaxToMailUser cyril = userDao.create(FaxToMailUser.PROPERTY_LAST_NAME, "Baillet", - FaxToMailUser.PROPERTY_FIRST_NAME, "Cyril", - FaxToMailUser.PROPERTY_LOGIN, "cbaillet", - FaxToMailUser.PROPERTY_TRIGRAPH, "CBA"); - FaxToMailUser frederic = userDao.create(FaxToMailUser.PROPERTY_LAST_NAME, "Viala", - FaxToMailUser.PROPERTY_FIRST_NAME, "Frédéric", - FaxToMailUser.PROPERTY_LOGIN, "fviala", - FaxToMailUser.PROPERTY_TRIGRAPH, "FVI"); - FaxToMailUser claire = userDao.create(FaxToMailUser.PROPERTY_LAST_NAME, "Marquis", - FaxToMailUser.PROPERTY_FIRST_NAME, "Claire", - FaxToMailUser.PROPERTY_LOGIN, "cmarquis", - FaxToMailUser.PROPERTY_TRIGRAPH, "CMA"); - FaxToMailUser agathe = userDao.create(FaxToMailUser.PROPERTY_LAST_NAME, "Borde", - FaxToMailUser.PROPERTY_FIRST_NAME, "Agathe", - FaxToMailUser.PROPERTY_LOGIN, "aborde", - FaxToMailUser.PROPERTY_TRIGRAPH, "ABO"); - FaxToMailUser jeanne = userDao.create(FaxToMailUser.PROPERTY_LAST_NAME, "Bourgoin", - FaxToMailUser.PROPERTY_FIRST_NAME, "Jeanne", - FaxToMailUser.PROPERTY_LOGIN, "jbourgoin", - FaxToMailUser.PROPERTY_TRIGRAPH, "JBO"); - // droits global à marc pour tout franciaflex.addReadRightUsers(marc); franciaflex = folderDao.update(franciaflex); Modified: trunk/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/MailFolderServiceTest.java =================================================================== --- trunk/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/MailFolderServiceTest.java 2014-08-06 12:13:55 UTC (rev 479) +++ trunk/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/MailFolderServiceTest.java 2014-08-06 12:24:06 UTC (rev 480) @@ -25,7 +25,12 @@ */ import java.io.IOException; +import java.util.List; +import com.franciaflex.faxtomail.persistence.entities.FaxToMailUser; +import com.google.common.base.Function; +import com.google.common.collect.Collections2; +import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Assert; @@ -43,11 +48,13 @@ private static final Log log = LogFactory.getLog(MailFolderServiceTest.class); protected MailFolderService service; + protected UserService userService; @Before public void setUp() throws IOException { service = newService(MailFolderService.class); newService(InitTestData.class).initTestData(); + userService = newService(UserService.class); } @Test @@ -56,4 +63,23 @@ Assert.assertNotNull(folder); } + @Test + public void testRootFolders() { + FaxToMailUser cyril = userService.getUserByLogin("cbaillet"); + List<MailFolder> mailFolders = service.getRootMailFoldersWithReadingRights(cyril); + log.info(mailFolders.size() + " readable folders "); + for (MailFolder folder : mailFolders) { + printTree(folder, " "); + } + } + + protected void printTree(MailFolder folder, String prefix) { + log.info(prefix + folder.getName()); + if (folder.getChildren() != null) { + for (MailFolder f : folder.getChildren()) { + printTree(f, "-" + prefix); + } + } + } + } Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/LoadFolderEmailsAction.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/LoadFolderEmailsAction.java 2014-08-06 12:13:55 UTC (rev 479) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/LoadFolderEmailsAction.java 2014-08-06 12:24:06 UTC (rev 480) @@ -85,9 +85,11 @@ MailFolder folder = model.getSelectedFolder(); FaxToMailUser currentUser = getContext().getCurrentUser(); - PaginationResult<Email> paginationResult = getContext().newServiceContext().getEmailService() - .getEmailForFolder(folder, currentUser, model.getPaginationParameter()); - List<Email> emails = paginationResult.getElements(); +// PaginationResult<Email> paginationResult = getContext().newServiceContext().getEmailService() +// .getEmailForFolder(folder, currentUser, model.getPaginationParameter()); +// List<Email> emails = paginationResult.getElements(); + List<Email> emails = getContext().newServiceContext().getEmailService() + .getEmailForFolder(folder, currentUser, model.getPaginationParameter()); if (log.isDebugEnabled()) { log.debug(emails.size() + " emails in folder " + folder.getName()); } @@ -109,12 +111,13 @@ } demand.setValid(handler.isDemandeValid(demand)); + demand.setMailFolder(folder); demands.add(demand); } model.setEmails(demands); - model.setPaginationParameter(paginationResult.getCurrentPage()); - model.setPaginationResult(paginationResult); +// model.setPaginationParameter(paginationResult.getCurrentPage()); +// model.setPaginationResult(paginationResult); } @Override Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentEditorUIHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentEditorUIHandler.java 2014-08-06 12:13:55 UTC (rev 479) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentEditorUIHandler.java 2014-08-06 12:24:06 UTC (rev 480) @@ -271,7 +271,7 @@ if (attachment != null) { JLabel label = attachmentItem.getAttachmentNameLabel(); - String actionIconName = attachment.isAddedByUser() ? "user" : "email"; + String actionIconName = Boolean.TRUE.equals(attachment.isAddedByUser()) ? "user" : "email"; Icon icon = SwingUtil.createActionIcon(actionIconName); label.setIcon(icon); } Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java 2014-08-06 12:13:55 UTC (rev 479) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java 2014-08-06 12:24:06 UTC (rev 480) @@ -320,7 +320,7 @@ } public void setFax(boolean fax) { - boolean oldValue = isFax(); + Object oldValue = isFax(); editObject.setFax(fax); firePropertyChanged(Email.PROPERTY_FAX, oldValue, fax); } @@ -476,7 +476,7 @@ return StringUtils.join(reference, ", "); } - public void setHistory(Collection<History> history) { + public void setHistory(List<History> history) { editObject.setHistory(history); firePropertyChanged(Email.PROPERTY_HISTORY, null, history); } @@ -646,7 +646,7 @@ firePropertyChanged(PROPERTY_REFERENCE, refOldValue, getReference()); } - public void addAllRangeRow(Collection<RangeRow> rangeRow) { + public void addAllRangeRow(List<RangeRow> rangeRow) { Object oldValue = null; if (getRangeRow() != null) { oldValue = new ArrayList<RangeRow>(getRangeRow()); @@ -669,7 +669,7 @@ firePropertyChanged(PROPERTY_REFERENCE, refOldValue, getReference()); } - public void setRangeRow(Collection<RangeRow> rangeRow) { + public void setRangeRow(List<RangeRow> rangeRow) { Object oldValue = null; if (getRangeRow() != null) { oldValue = new ArrayList<RangeRow>(getRangeRow()); @@ -787,7 +787,7 @@ return groupedDemandes.size(); } - public void addAllReplies(Collection<Reply> replies) { + public void addAllReplies(List<Reply> replies) { Object oldValue = new ArrayList<Reply>(getReplies()); editObject.addAllReplies(replies); firePropertyChange(Email.PROPERTY_REPLIES, oldValue, getAttachment()); @@ -808,7 +808,7 @@ firePropertyChange(Email.PROPERTY_REPLIES, oldValue, getReplies()); } - public void setReplies(Collection<Reply> replies) { + public void setReplies(List<Reply> replies) { Object oldValue = null; if (getReplies() != null) { oldValue = new ArrayList<Reply>(getReplies()); Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailDemandListHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailDemandListHandler.java 2014-08-06 12:13:55 UTC (rev 479) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailDemandListHandler.java 2014-08-06 12:24:06 UTC (rev 480) @@ -340,10 +340,12 @@ List<String> ranges = new ArrayList<String>(); Collection<RangeRow> rangeRows = demande.getRangeRow(); - for (RangeRow rangeRow : rangeRows) { - Integer qty = getQuantityFunction.apply(rangeRow); - if (qty != null && qty > 0) { - ranges.add(rangeRow.getRange().getLabel() + " : " + qty); + if (rangeRows != null) { + for (RangeRow rangeRow : rangeRows) { + Integer qty = getQuantityFunction.apply(rangeRow); + if (qty != null && qty > 0) { + ranges.add(rangeRow.getRange().getLabel() + " : " + qty); + } } }