r542 - in trunk: faxtomail-service/src/main/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 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/demande/demandgroup faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/
Author: kmorin Date: 2014-08-13 12:16:46 +0200 (Wed, 13 Aug 2014) New Revision: 542 Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/542 Log: - ordre d'affichage des dossiers - am?\195?\169lioration des actions - correction lazy Removed: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/config/ 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/EmailServiceImpl.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/AbstractFaxToMailAction.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/EditAttachmentAction.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/GroupAction.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/PrintOnDefaultPrinterAction.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/actions/TransmitAction.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUIHandler.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandesUIHandler.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/demandgroup/DemandGroupUIHandler.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/print/AttachmentToPrintChooserUIHandler.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchToGroupUIHandler.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchUIHandler.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.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-13 08:45:39 UTC (rev 541) +++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ConfigurationServiceImpl.java 2014-08-13 10:16:46 UTC (rev 542) @@ -42,6 +42,7 @@ import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.hibernate.Hibernate; import org.nuiton.topia.persistence.TopiaEntities; import org.nuiton.util.beans.Binder; import org.nuiton.util.beans.BinderFactory; @@ -106,7 +107,7 @@ if (config == null) { config = new ConfigurationImpl(); } - config.sizeInvalidFormDisabledActions(); + Hibernate.initialize(config.getInvalidFormDisabledActions()); return config; } 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-13 08:45:39 UTC (rev 541) +++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java 2014-08-13 10:16:46 UTC (rev 542) @@ -113,6 +113,11 @@ return email; } + protected Email getEmailById(String id, String fetch, String... otherFetches) { + Email email = getPersistenceContext().getEmailDao().forTopiaIdEquals(id).addAllFetches(fetch, otherFetches).findUnique(); + return email; + } + @Override public Email getFullEmailById(String id) { Email email = getPersistenceContext().getEmailDao() @@ -250,7 +255,7 @@ handleEdiTransmission(email, historyDao, fieldSet); } - History history; + History history = null; if (fieldSet.contains(Email.PROPERTY_ARCHIVE_DATE)) { history = historyDao.create(History.PROPERTY_TYPE, HistoryType.ARCHIVED, History.PROPERTY_FAX_TO_MAIL_USER, user, @@ -268,12 +273,17 @@ fieldSet.add(Email.PROPERTY_TAKEN_BY); } - history = historyDao.create(History.PROPERTY_TYPE, email.isHistoryEmpty() ? HistoryType.CREATION : HistoryType.MODIFICATION, - History.PROPERTY_FAX_TO_MAIL_USER, user, - History.PROPERTY_FIELDS, fieldSet, - History.PROPERTY_MODIFICATION_DATE, now); + boolean historyEmpty = email.isHistoryEmpty(); + if (historyEmpty || !fieldSet.isEmpty()) { + history = historyDao.create(History.PROPERTY_TYPE, historyEmpty ? HistoryType.CREATION : HistoryType.MODIFICATION, + History.PROPERTY_FAX_TO_MAIL_USER, user, + History.PROPERTY_FIELDS, fieldSet, + History.PROPERTY_MODIFICATION_DATE, now); + } } - email.addHistory(history); + if (history != null) { + email.addHistory(history); + } Email result = dao.update(email); getPersistenceContext().commit(); @@ -603,7 +613,9 @@ @Override public Email addToHistory(String emailId, HistoryType type, FaxToMailUser user, Date date, String... fields) { EmailTopiaDao emailDao = getPersistenceContext().getEmailDao(); - Email email = getEmailById(emailId); + Email email = getEmailById(emailId, + Email.PROPERTY_HISTORY + "." + History.PROPERTY_FAX_TO_MAIL_USER, + Email.PROPERTY_HISTORY + "." + History.PROPERTY_FIELDS); HistoryTopiaDao historyDao = getPersistenceContext().getHistoryDao(); History history = historyDao.create(History.PROPERTY_TYPE, type, @@ -864,8 +876,6 @@ /** * Envoi une réponse et retourne l'email. * - * FIXME echatellier 20140804 : pourquoi retourner l'email ? la réponse ne devrait absolument pas modifier l'email - * * @param from from * @param to to * @param cc cc @@ -885,7 +895,10 @@ String content, Collection<AttachmentFile> attachments, String originalEmailId, FaxToMailUser user) throws EmailException, MessagingException, IOException { - Email email = getEmailById(originalEmailId); + Email email = getEmailById(originalEmailId, + Email.PROPERTY_HISTORY + "." + History.PROPERTY_FAX_TO_MAIL_USER, + Email.PROPERTY_HISTORY + "." + History.PROPERTY_FIELDS, + Email.PROPERTY_REPLIES); final String smtpUser = getApplicationConfig().getSmtpUser(); final String password = getApplicationConfig().getSmtpPassword(); Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/AbstractFaxToMailAction.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/AbstractFaxToMailAction.java 2014-08-13 08:45:39 UTC (rev 541) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/AbstractFaxToMailAction.java 2014-08-13 10:16:46 UTC (rev 542) @@ -84,38 +84,4 @@ progressionModel.adaptTotal(total); } } - - protected boolean askAdminPassword(String askMessage, - String askMessageTitle, - String errorMessage, - String errorMessageTitle) { - - Component container = getContext().getActionUI(); - - String answer; - boolean result; - do { - answer = JOptionPane.showInputDialog(container, - askMessage, - askMessageTitle, - JOptionPane.WARNING_MESSAGE); -// if (answer != null) { -// String cryptedAnswer = StringUtil.encodeMD5(answer); -// String correctAnswer = getConfig().getAdminPassword(); -// result = StringUtils.equals(cryptedAnswer, correctAnswer); -// -// if (!result) { -// JOptionPane.showMessageDialog(container, -// errorMessage, -// errorMessageTitle, -// JOptionPane.ERROR_MESSAGE); -// } -// -// } else { - result = false; -// } - - } while (!result && answer != null); - return result; - } } Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/EditAttachmentAction.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/EditAttachmentAction.java 2014-08-13 08:45:39 UTC (rev 541) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/EditAttachmentAction.java 2014-08-13 10:16:46 UTC (rev 542) @@ -69,22 +69,12 @@ MainUI mainUI = getContext().getMainUI(); PDFEditorUI dialogContent = new PDFEditorUI(getUI()); - /*boolean editedNull = attachment.getEditedFileName() == null; - AttachmentFile attachmentFile = editedNull ? attachment.getOriginalFile() : attachment.getEditedFile(); - if (attachmentFile == null) { - attachmentFile = getContext().getEmailService().getAttachmentFile(attachment.getTopiaId(), editedNull); - } - - if (editedNull) { - attachment.setOriginalFile(attachmentFile); - } else { - attachment.setEditedFile(attachmentFile); - }*/ PDFEditorUIModel pdfEditorUIModel = dialogContent.getModel(); pdfEditorUIModel.fromEntity(attachment); pdfEditorUIModel.setDemand(getContext().getCurrentEmail()); getHandler().openModalFrame(dialogContent, attachment.getOriginalFileName(), mainUI.getSize()); + //TODO kmorin 20140813 avant, c'était bloquant vu que c'etait un dialog pdfEditorUIModel.toEntity(attachment); } Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/GroupAction.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/GroupAction.java 2014-08-13 08:45:39 UTC (rev 541) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/GroupAction.java 2014-08-13 10:16:46 UTC (rev 542) @@ -83,9 +83,12 @@ Email email = emailService.groupEmails(currentEmail.getTopiaId(), selectedEmail.getTopiaId(), currentUser); currentEmail.fromEntity(email); currentEmail.setGroupedDemandes(email.getEmailGroup()); + } + @Override + public void postSuccessAction() { + super.postSuccessAction(); handler.showInformationMessage(t("faxtomail.demande.group.successful")); - handler.closeFrame(); } } Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/PrintOnDefaultPrinterAction.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/PrintOnDefaultPrinterAction.java 2014-08-13 08:45:39 UTC (rev 541) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/PrintOnDefaultPrinterAction.java 2014-08-13 10:16:46 UTC (rev 542) @@ -112,10 +112,10 @@ } Email email = serviceContext.getEmailService().addToHistory(demandeUIModel.getTopiaId(), - HistoryType.PRINTING, - getContext().getCurrentUser(), - new Date(), - printedFiles.toArray(new String[printedFiles.size()])); + HistoryType.PRINTING, + getContext().getCurrentUser(), + new Date(), + printedFiles.toArray(new String[printedFiles.size()])); demandeUIModel.setHistory(email.getHistory()); } 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-13 08:45:39 UTC (rev 541) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/ShowDemandeAction.java 2014-08-13 10:16:46 UTC (rev 542) @@ -46,8 +46,6 @@ /** * To show demande screen. - * TODO kmorin 20140811 gérer le cas où la demande a changé de dossier entre le moment où on a affiché la liste - * et le moment où on l'ouvre * * @author kmorin - morin@codelutin.com */ Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/TransmitAction.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/TransmitAction.java 2014-08-13 08:45:39 UTC (rev 541) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/TransmitAction.java 2014-08-13 10:16:46 UTC (rev 542) @@ -81,8 +81,7 @@ } else { DemandesUI parentUI = (DemandesUI) getUI().getContextValue(JAXXContext.class, JAXXUtil.PARENT); DemandeUI demandeUI = (DemandeUI) parentUI.getDemandsTabPane().getSelectedComponent(); - getContext().getActionEngine().runInternalAction(demandeUI.getHandler(), - SaveDemandeAndExitAction.class); + getActionEngine().runInternalAction(demandeUI.getHandler(), SaveDemandeAction.class); } } } @@ -90,6 +89,8 @@ @Override public void postSuccessAction() { super.postSuccessAction(); - getHandler().closeFrame(); + MailFolderChooserUIHandler handler = getHandler(); + getActionEngine().runInternalAction(handler, GoToPreviousScreenAction.class); + handler.closeFrame(); } } Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUIHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUIHandler.java 2014-08-13 08:45:39 UTC (rev 541) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUIHandler.java 2014-08-13 10:16:46 UTC (rev 542) @@ -357,7 +357,6 @@ public void updateResultPerPage(ItemEvent event) { if (event.getStateChange() == ItemEvent.SELECTED) { - //FIXME echatellier 20140801 this produce transasction exception int resultPerPage = (Integer)event.getItem(); getModel().setResultPerPage(resultPerPage); getConfig().setResultPerPage(resultPerPage); @@ -573,7 +572,7 @@ attachmentToPrints, take, true); - getContext().getActionFactory().createUIAction(null, action).actionPerformed(null); + getContext().getActionEngine().runAction(action); } public void reply() { Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandesUIHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandesUIHandler.java 2014-08-13 08:45:39 UTC (rev 541) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandesUIHandler.java 2014-08-13 10:16:46 UTC (rev 542) @@ -331,7 +331,7 @@ closeButtonPopups(); DemandeUI demandeUI = (DemandeUI) getTabPanel().getSelectedComponent(); SaveDemandeAndExitAction action = new SaveDemandeAndExitAction(demandeUI.getHandler()); - getContext().getActionFactory().createUIAction(null, action).actionPerformed(null); + getContext().getActionEngine().runAction(action); } public void transmitDemande() { @@ -342,13 +342,13 @@ MailFolderChooserUIModel model = new MailFolderChooserUIModel(); model.setDemandeUIModels(demandes); MailFolderChooserUI dialogContent = new MailFolderChooserUI(ui, model); + SaveAndOpenDialogAction action = new SaveAndOpenDialogAction(demandeUI.getHandler(), dialogContent, t("faxtomail.chooseMailFolder.title"), new Dimension(350, 500), true); - - getContext().getActionFactory().createUIAction(null, action).actionPerformed(null); + getContext().getActionEngine().runAction(action); } public void print() { @@ -368,15 +368,14 @@ t("faxtomail.chooseAttachmentToPrint.title"), new Dimension(350, 500), take); - - getContext().getActionFactory().createUIAction(null, action).actionPerformed(null); + getContext().getActionEngine().runAction(action); } public void archive() { closeButtonPopups(); DemandeUI demandeUI = (DemandeUI) getTabPanel().getSelectedComponent(); ArchiveAction action = new ArchiveAction(demandeUI.getHandler()); - getContext().getActionFactory().createUIAction(null, action).actionPerformed(null); + getContext().getActionEngine().runAction(action); } public void reply() { @@ -401,8 +400,7 @@ t("faxtomail.reply.title", currentDemand.getTitle()), new Dimension(800, 600), true); - - getContext().getActionFactory().createUIAction(null, action).actionPerformed(null); + getContext().getActionEngine().runAction(action); } public void group() { @@ -415,8 +413,7 @@ t("faxtomail.searchToGroup.title", demandeUI.getModel().getTitle()), getContext().getMainUI().getSize(), false); - - getContext().getActionFactory().createUIAction(null, action).actionPerformed(null); + getContext().getActionEngine().runAction(action); } } Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/demandgroup/DemandGroupUIHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/demandgroup/DemandGroupUIHandler.java 2014-08-13 08:45:39 UTC (rev 541) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/demandgroup/DemandGroupUIHandler.java 2014-08-13 10:16:46 UTC (rev 542) @@ -155,7 +155,7 @@ closeEditor(); OpenGroupedDemandAction openAction = new OpenGroupedDemandAction(this, demande); - getContext().getActionFactory().createUIAction(null, openAction).actionPerformed(null); + getContext().getActionEngine().runAction(openAction); } protected class DemandGroupItemRenderer extends DemandGroupItem Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/print/AttachmentToPrintChooserUIHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/print/AttachmentToPrintChooserUIHandler.java 2014-08-13 08:45:39 UTC (rev 541) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/print/AttachmentToPrintChooserUIHandler.java 2014-08-13 10:16:46 UTC (rev 542) @@ -156,7 +156,7 @@ attachmentToPrints, false, false); - getContext().getActionFactory().createUIAction(null, action).actionPerformed(null); + getContext().getActionEngine().runActionAndWait(action); showInformationMessage("faxtomail.print.success.message"); closeFrame(); } Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchToGroupUIHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchToGroupUIHandler.java 2014-08-13 08:45:39 UTC (rev 541) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchToGroupUIHandler.java 2014-08-13 10:16:46 UTC (rev 542) @@ -190,16 +190,7 @@ }); if (getContext().getSearch() != null) { - try { - SearchToGroupAction searchAction = getContext().getActionFactory().createLogicAction(SearchToGroupUIHandler.this, SearchToGroupAction.class); - searchAction.doAction(); - - } catch (Exception e) { - if (log.isErrorEnabled()) { - log.error("error while searching", e); - } - getContext().getErrorHelper().showErrorDialog(t("faxtomail.search.action.error")); - } + runSearchAction(); } dataTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() { @@ -269,9 +260,8 @@ protected void runSearchAction() { try { - SearchToGroupAction searchAction = new SearchToGroupAction(this); - getContext().getActionFactory().createUIAction(null, searchAction).actionPerformed(null); + getContext().getActionEngine().runAction(searchAction); } catch (Exception e) { if (log.isErrorEnabled()) { Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchUIHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchUIHandler.java 2014-08-13 08:45:39 UTC (rev 541) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchUIHandler.java 2014-08-13 10:16:46 UTC (rev 542) @@ -174,16 +174,7 @@ }); if (getContext().getSearch() != null) { - try { - SearchAction searchAction = getContext().getActionFactory().createLogicAction(this, SearchAction.class); - searchAction.doAction(); - - } catch (Exception e) { - if (log.isErrorEnabled()) { - log.error("error while searching", e); - } - getContext().getErrorHelper().showErrorDialog(t("faxtomail.search.action.error")); - } + runSearchAction(); } // int combo box for result per page @@ -228,7 +219,7 @@ protected void runSearchAction() { try { SearchAction searchAction = new SearchAction(this); - getContext().getActionFactory().createUIAction(null, searchAction).actionPerformed(null); + getContext().getActionEngine().runAction(searchAction); } catch (Exception e) { if (log.isErrorEnabled()) { Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java 2014-08-13 08:45:39 UTC (rev 541) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java 2014-08-13 10:16:46 UTC (rev 542) @@ -67,6 +67,8 @@ import com.franciaflex.faxtomail.persistence.entities.DemandType; import com.franciaflex.faxtomail.persistence.entities.MailField; import com.franciaflex.faxtomail.services.FaxToMailServiceContext; +import com.google.common.base.Function; +import com.google.common.collect.Ordering; import jaxx.runtime.JAXXObject; import jaxx.runtime.JAXXUtil; @@ -129,7 +131,14 @@ List<MailFolder> foldersToExpand = context.getExpandedFolders(); Map<MailFolder, FolderTreeNode> nodesByFolder = new HashMap<MailFolder, FolderTreeNode>(); - for (MailFolder folder : folders) { + List<MailFolder> orderedFolders = new ArrayList<MailFolder>(folders); + Collections.sort(orderedFolders, Ordering.natural().onResultOf(new Function<MailFolder, Comparable>() { + @Override + public Comparable apply(MailFolder folder) { + return folder.getName(); + } + })); + for (MailFolder folder : orderedFolders) { nodesByFolder.putAll(FaxToMailUIUtil.createFolderTree(root, folder)); FolderTreeNode node = nodesByFolder.get(folder);
participants (1)
-
kmorin@users.forge.codelutin.com