r485 - in trunk: faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/de
Author: kmorin Date: 2014-08-06 18:21:34 +0200 (Wed, 06 Aug 2014) New Revision: 485 Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/485 Log: integration des fetchs Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ConfigurationServiceImpl.java 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/ReferentielServiceImpl.java trunk/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/InitTestDataImpl.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/actions/ShowDemandeAction.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentModelAware.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/content/demande/history/HistoryListUIHandler.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailDemandListHandler.java Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ConfigurationServiceImpl.java =================================================================== --- trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ConfigurationServiceImpl.java 2014-08-06 16:17:40 UTC (rev 484) +++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ConfigurationServiceImpl.java 2014-08-06 16:21:34 UTC (rev 485) @@ -99,10 +99,14 @@ @Override public Configuration getConfiguration() { ConfigurationTopiaDao dao = getPersistenceContext().getConfigurationDao(); - Configuration config = dao.forAll().findUniqueOrNull(); + Configuration config = dao.forAll().addAllFetches( + Configuration.PROPERTY_SEARCH_DISPLAY_COLUMNS, + Configuration.PROPERTY_INVALID_FORM_DISABLED_ACTIONS + ).findUniqueOrNull(); if (config == null) { config = new ConfigurationImpl(); } + config.sizeInvalidFormDisabledActions(); return config; } 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 16:17:40 UTC (rev 484) +++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailService.java 2014-08-06 16:21:34 UTC (rev 485) @@ -36,8 +36,7 @@ void transmitPendingDemandsToEdi(); -// PaginationResult<Email> getEmailForFolder(MailFolder folder, FaxToMailUser currentUser, PaginationParameter page); - List<Email> getEmailForFolder(MailFolder folder, FaxToMailUser currentUser, PaginationParameter page); + PaginationResult<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 16:17:40 UTC (rev 484) +++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java 2014-08-06 16:21:34 UTC (rev 485) @@ -65,6 +65,7 @@ import org.apache.pdfbox.pdmodel.interactive.form.PDAcroForm; import org.apache.pdfbox.pdmodel.interactive.form.PDField; import org.nuiton.topia.persistence.TopiaEntities; +import org.nuiton.topia.persistence.TopiaQueryBuilderAddCriteriaOrRunQueryStep; import org.nuiton.util.beans.Binder; import org.nuiton.util.beans.BinderFactory; import org.nuiton.util.pagination.PaginationParameter; @@ -95,6 +96,7 @@ @Override public Email getEmailById(String id) { Email email = getPersistenceContext().getEmailDao().forTopiaIdEquals(id).findUnique(); + fetchEmailData(email); return email; } @@ -131,8 +133,12 @@ email.setClient(client); if (attachments != null) { - Collection<Attachment> currentAttachments = CollectionUtils.emptyIfNull(email.getAttachment()); - Map<String, Attachment> currentAttachmentIndex = new HashMap<>(Maps.uniqueIndex(currentAttachments, TopiaEntities.getTopiaIdFunction())); + AttachmentTopiaDao attachmentTopiaDao = getPersistenceContext().getAttachmentDao(); + List<Attachment> currentAttachments = attachmentTopiaDao.forTopiaIdIn(email.getAttachmentTopiaIds()).findAll(); + if (currentAttachments == null) { + currentAttachments = new ArrayList<>(); + } + Map<String, Attachment> currentAttachmentIndex = new HashMap<>(Maps.uniqueIndex(currentAttachments, TopiaEntities.getTopiaIdFunction())); AttachmentFileTopiaDao attachementFileTopiaDao = getPersistenceContext().getAttachmentFileDao(); for (Attachment attachment : attachments) { @@ -147,7 +153,7 @@ // get session attachment from id Attachment currentAttachment; - if (StringUtils.isNoneBlank(attachment.getTopiaId())) { + if (StringUtils.isNotBlank(attachment.getTopiaId())) { currentAttachment = currentAttachmentIndex.remove(attachment.getTopiaId()); } else { currentAttachment = new AttachmentImpl(); @@ -196,14 +202,16 @@ if (!currentAttachment.isPersisted()) { // persist using cascade - email.addAttachment(currentAttachment); + currentAttachments.add(currentAttachment); } } // delete not found attachments for (Attachment attachment : currentAttachmentIndex.values()) { - email.removeAttachment(attachment); + currentAttachments.remove(attachment); } + + email.setAttachment(currentAttachments); } if (email.getRangeRow() != null) { @@ -461,11 +469,11 @@ * @return paginated results */ @Override -// public PaginationResult<Email> getEmailForFolder(MailFolder folder, FaxToMailUser currentUser, PaginationParameter page) { - public List<Email> getEmailForFolder(MailFolder folder, FaxToMailUser currentUser, PaginationParameter page) { + public PaginationResult<Email> getEmailForFolder(MailFolder folder, FaxToMailUser currentUser, PaginationParameter page) { + MailFolderTopiaDao mailFolderTopiaDao = getPersistenceContext().getMailFolderDao(); // check if user can read current folder - MailFolder loopFolder = folder; + MailFolder loopFolder = mailFolderTopiaDao.forTopiaIdEquals(folder.getTopiaId()).findUnique(); boolean readable = false; while (!readable && loopFolder != null) { // user @@ -477,68 +485,21 @@ } // perform request or not depending on rigths - List<Email> result; + PaginationResult<Email> result; if (readable) { EmailTopiaDao dao = getPersistenceContext().getEmailDao(); result = dao.forMailFolderEquals(folder) .addNull(Email.PROPERTY_ARCHIVE_DATE) .addNotEquals(Email.PROPERTY_DEMAND_STATUS, DemandStatus.ARCHIVED) - .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(); + .findPage(page); + //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(); + for (Email email : result.getElements()) { + fetchEmailData(email); } } else { List<Email> elements = Collections.emptyList(); -// result = PaginationResult.of(elements, 0, page); - result = new ArrayList<>(); + result = PaginationResult.of(elements, 0, page); } return result; } @@ -564,7 +525,7 @@ @Override public Email addToHistory(String emailId, HistoryType type, FaxToMailUser user, Date date, String... fields) { EmailTopiaDao emailDao = getPersistenceContext().getEmailDao(); - Email email = emailDao.forTopiaIdEquals(emailId).findUnique(); + Email email = getEmailByTopiaId(emailDao, emailId); HistoryTopiaDao historyDao = getPersistenceContext().getHistoryDao(); History history = historyDao.create(History.PROPERTY_TYPE, type, @@ -590,7 +551,7 @@ @Override public Email takeEmail(String emailId, FaxToMailUser user) { EmailTopiaDao emailDao = getPersistenceContext().getEmailDao(); - Email email = emailDao.forTopiaIdEquals(emailId).findUnique(); + Email email = getEmailByTopiaId(emailDao, emailId); email.setTakenBy(user); HistoryTopiaDao historyDao = getPersistenceContext().getHistoryDao(); @@ -619,7 +580,7 @@ // get current lock on mail if any EmailTopiaDao emailDao = getPersistenceContext().getEmailDao(); MailLockTopiaDao mailLockDao = getPersistenceContext().getMailLockDao(); - Email email = emailDao.forTopiaIdEquals(emailId).findUnique(); + Email email = getEmailByTopiaId(emailDao, emailId); MailLock mailLock = mailLockDao.forLockOnEquals(email).findUniqueOrNull(); // if no lock found, create new one @@ -884,7 +845,11 @@ public AttachmentFile getAttachmentFile(String attachmentId, boolean original) { AttachmentTopiaDao dao = getPersistenceContext().getAttachmentDao(); Attachment attachment = dao.forTopiaIdEquals(attachmentId).findUnique(); - return original ? attachment.getOriginalFile() : attachment.getEditedFile(); + AttachmentFile result = original ? attachment.getOriginalFile() : attachment.getEditedFile(); + if (result != null) { + result.getFilename(); + } + return result; } @@ -1074,4 +1039,46 @@ log.warn("Can't find field " + name + " in pdf form"); } } + + protected Email getEmailByTopiaId(EmailTopiaDao emailDao, String emailId) { + Email email = emailDao.forTopiaIdEquals(emailId).findUnique(); + fetchEmailData(email); + return email; + } + + protected void fetchEmailData(Email email) { + if (email.getDemandType() != null) { + for (MailField mailField : email.getDemandType().getFields()) { + mailField.toString(); + } + } + if (email.sizeRangeRow() > 0) { + for (RangeRow rangeRow : email.getRangeRow()) { + if (rangeRow.getRange() != null) { + rangeRow.getRange().getLabel(); + } + } + } + if (email.sizeHistory() > 0) { + for (History history : email.getHistory()) { + history.getType(); + if (history.getFaxToMailUser() != null) { + history.getFaxToMailUser().getTrigraph(); + } + history.sizeFields(); + } + } + email.sizeReplies(); + email.sizeAttachment(); + + email.getTakenBy(); + email.getClient(); + email.getDemandStatus(); + + if (email.getEmailGroup() != null) { + email.getEmailGroup().sizeEmail(); + } + email.getEtatAttente(); + email.getPriority(); + } } 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 16:17:40 UTC (rev 484) +++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/MailFolderServiceImpl.java 2014-08-06 16:21:34 UTC (rev 485) @@ -34,6 +34,7 @@ import com.franciaflex.faxtomail.persistence.entities.DemandType; import com.franciaflex.faxtomail.persistence.entities.FaxToMailUser; +import com.franciaflex.faxtomail.persistence.entities.MailField; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -103,16 +104,8 @@ @Override public List<MailFolder> getRootMailFoldersWithReadingRights(FaxToMailUser user) { -// List<MailFolder> rootFolders = getRootMailFolders(); -// List<MailFolder> result = new ArrayList<>(); -// -// 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); } @@ -120,20 +113,28 @@ } 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) { + //TODO kmorin 20140806 put rights for user in impl + folder.sizeWriteRightGroups(); + folder.sizeWriteRightUsers(); + folder.sizeRanges(); + folder.sizeReplyAddresses(); + folder.sizeReplyDomains(); + + if (folder.sizeEtatAttentes() > 0) { + for (EtatAttente etatAttente : folder.getEtatAttentes()) { + etatAttente.sizeInvalidFormDisabledActions(); + etatAttente.sizeValidFormDisabledActions(); + } + } + + if (folder.sizeDemandTypes() > 0) { for (DemandType demandType : folder.getDemandTypes()) { - demandType.getFields(); - demandType.sizeFields(); + if (demandType.sizeFields() > 0) { + for (MailField mailField : demandType.getFields()) { + mailField.toString(); + } + } } } Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ReferentielServiceImpl.java =================================================================== --- trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ReferentielServiceImpl.java 2014-08-06 16:17:40 UTC (rev 484) +++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ReferentielServiceImpl.java 2014-08-06 16:21:34 UTC (rev 485) @@ -71,7 +71,7 @@ @Override public List<DemandType> getAllDemandType() { DemandTypeTopiaDao dao = getPersistenceContext().getDemandTypeDao(); - return dao.findAll(); + return dao.forAll().addAllFetches(DemandType.PROPERTY_FIELDS).findAll(); } @Override 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 16:17:40 UTC (rev 484) +++ trunk/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/InitTestDataImpl.java 2014-08-06 16:21:34 UTC (rev 485) @@ -82,6 +82,7 @@ * * @throws IOException */ + @Override public void initTestData() throws IOException { if (log.isDebugEnabled()) { log.debug("Init test data"); 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 16:17:40 UTC (rev 484) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/LoadFolderEmailsAction.java 2014-08-06 16:21:34 UTC (rev 485) @@ -85,11 +85,9 @@ MailFolder folder = model.getSelectedFolder(); FaxToMailUser currentUser = getContext().getCurrentUser(); -// 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()); + PaginationResult<Email> paginationResult = getContext().newServiceContext().getEmailService() + .getEmailForFolder(folder, currentUser, model.getPaginationParameter()); + List<Email> emails = paginationResult.getElements(); if (log.isDebugEnabled()) { log.debug(emails.size() + " emails in folder " + folder.getName()); } @@ -97,7 +95,7 @@ List<DemandeUIModel> demands = new ArrayList<DemandeUIModel>(); for (Email email : emails) { DemandeUIModel demand = new DemandeUIModel(); - demand.fromEntity(email, false); + demand.fromEntity(email); // on ajoute toutes les lignes de rangeRow, // qui sont toutes valides puisqu'on les récupère de la base et qu'on ne sauvegarde que les lignes valides Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/ShowDemandeAction.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/ShowDemandeAction.java 2014-08-06 16:17:40 UTC (rev 484) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/ShowDemandeAction.java 2014-08-06 16:21:34 UTC (rev 485) @@ -64,6 +64,7 @@ try { FaxToMailServiceContext serviceContext = getContext().newServiceContext(); serviceContext.getEmailService().lockEmail(currentEmail.getTopiaId(), currentUser); + } catch (AlreadyLockedMailException ex) { result = false; Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentModelAware.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentModelAware.java 2014-08-06 16:17:40 UTC (rev 484) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentModelAware.java 2014-08-06 16:21:34 UTC (rev 485) @@ -28,6 +28,7 @@ import java.io.Serializable; import java.util.Collection; +import java.util.List; /** * To place on model wich supports attachments. @@ -44,7 +45,7 @@ // Integer getObjectId(); - Collection<Attachment> getAttachment(); + List<Attachment> getAttachment(); void addAllAttachment(Collection<Attachment> attachments); 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 16:17:40 UTC (rev 484) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java 2014-08-06 16:21:34 UTC (rev 485) @@ -97,11 +97,11 @@ protected final Email editObject = new EmailImpl(); - protected final Collection<Attachment> attachments = new ArrayList<Attachment>(); + protected final List<Attachment> attachments = new ArrayList<Attachment>(); - protected final Collection<DemandeUIModel> groupedDemandes = new ArrayList<DemandeUIModel>(); + protected final List<DemandeUIModel> groupedDemandes = new ArrayList<DemandeUIModel>(); - protected final Collection<RangeRowModel> validRangeRowModels = new ArrayList<RangeRowModel>(); + protected final List<RangeRowModel> validRangeRowModels = new ArrayList<RangeRowModel>(); protected History firstOpeningHistory; @@ -187,20 +187,16 @@ } - @Override - public void fromEntity(Email entity) { - fromEntity(entity, true); - } - /** * Surcharge pour dupliquer correctement les pieces jointes sans charger le contenu binaire en mémoire. */ - public void fromEntity(Email entity, boolean full) { - //super.fromEntity(entity); - fromBeanBinder.copyExcluding(entity, this, Email.PROPERTY_ATTACHMENT); + @Override + public void fromEntity(Email entity) { +// super.fromEntity(entity); + fromBeanBinder.copyExcluding(entity, this, Email.PROPERTY_ATTACHMENT, Email.PROPERTY_MAIL_FOLDER); // On ne copie pas entierrement les attachments pour ne pas force le chargement du contenu binaire du fichier en mémoire. - Collection<Attachment> attachmentCopy = new ArrayList<Attachment>(); + List<Attachment> attachmentCopy = new ArrayList<Attachment>(); if (entity.getAttachment() != null) { for (Attachment attachment : entity.getAttachment()) { Attachment clone = new AttachmentImpl(); @@ -481,7 +477,7 @@ firePropertyChanged(Email.PROPERTY_HISTORY, null, history); } - public Collection<History> getHistory() { + public List<History> getHistory() { return editObject.getHistory(); } @@ -597,7 +593,7 @@ } @Override - public Collection<Attachment> getAttachment() { + public List<Attachment> getAttachment() { return new ArrayList<Attachment>(attachments); } @@ -622,7 +618,7 @@ firePropertyChange(Email.PROPERTY_ATTACHMENT, oldValue, getAttachment()); } - public void setAttachment(Collection<Attachment> attachment) { + public void setAttachment(List<Attachment> attachment) { Object oldValue = new ArrayList<Attachment>(getAttachment()); attachments.clear(); if (attachment != null) { @@ -631,7 +627,7 @@ firePropertyChange(Email.PROPERTY_ATTACHMENT, oldValue, getAttachment()); } - public Collection<RangeRow> getRangeRow() { + public List<RangeRow> getRangeRow() { return editObject.getRangeRow(); } @@ -779,7 +775,7 @@ } - public Collection<DemandeUIModel> getGroupedDemandes() { + public List<DemandeUIModel> getGroupedDemandes() { return groupedDemandes; } @@ -817,7 +813,7 @@ firePropertyChange(Email.PROPERTY_REPLIES, null, getReplies()); } - public Collection<Reply> getReplies() { + public List<Reply> getReplies() { return editObject.getReplies(); } @@ -826,11 +822,11 @@ } - public Collection<RangeRowModel> getValidRangeRowModels() { + public List<RangeRowModel> getValidRangeRowModels() { return validRangeRowModels; } - public void setValidRangeRowModels(Collection<RangeRowModel> validRangeRowModels) { + public void setValidRangeRowModels(List<RangeRowModel> validRangeRowModels) { Object oldValue = new ArrayList<RangeRowModel>(validRangeRowModels); this.validRangeRowModels.clear(); this.validRangeRowModels.addAll(validRangeRowModels); Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/history/HistoryListUIHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/history/HistoryListUIHandler.java 2014-08-06 16:17:40 UTC (rev 484) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/history/HistoryListUIHandler.java 2014-08-06 16:21:34 UTC (rev 485) @@ -98,7 +98,12 @@ JXList list = ui.getHistories(); list.setCellRenderer(new HistoryListCellRenderer()); JaxxDefaultListModel listModel = new JaxxDefaultListModel<History>(); - final List<History> histories = new ArrayList<History>(getModel().getHistory()); + final List<History> histories; + if (getModel().getHistory() != null) { + histories = new ArrayList<History>(getModel().getHistory()); + } else { + histories = new ArrayList<History>(); + } //sort histories by modification date Collections.sort(histories, Ordering.natural().onResultOf(new Function<History, Comparable>() { @Override 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 16:17:40 UTC (rev 484) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailDemandListHandler.java 2014-08-06 16:21:34 UTC (rev 485) @@ -267,8 +267,8 @@ DemandeUIModel selectedEmail = tableModel.getEntry(rowIndex); onDoubleClickOnDemande(selectedEmail); FaxToMailUIContext context = getContext(); - - // reset transaction + + //TODO kmorin 02140806 put in action FaxToMailServiceContext serviceContext = context.newServiceContext(); Email email = serviceContext.getEmailService().addToHistory(selectedEmail.getTopiaId(), HistoryType.OPENING,
participants (1)
-
kmorin@users.forge.codelutin.com