Author: kmorin Date: 2015-01-08 15:27:43 +0000 (Thu, 08 Jan 2015) New Revision: 745 Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/745 Log: fixes #6416 Erreur lors du retour sur la liste Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUIHandler.java 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 2015-01-08 14:38:42 UTC (rev 744) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUIHandler.java 2015-01-08 15:27:43 UTC (rev 745) @@ -22,88 +22,84 @@ * #L% */ -import static org.nuiton.i18n.I18n.t; - -import java.awt.*; -import java.awt.event.ItemEvent; -import java.awt.event.ItemListener; -import java.awt.event.MouseEvent; -import java.beans.IntrospectionException; -import java.beans.PropertyChangeEvent; -import java.beans.PropertyChangeListener; -import java.beans.PropertyDescriptor; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Date; -import java.util.Enumeration; -import java.util.List; -import java.util.Map; - -import javax.swing.*; -import javax.swing.event.ListSelectionEvent; -import javax.swing.event.ListSelectionListener; -import javax.swing.event.TreeSelectionEvent; -import javax.swing.event.TreeSelectionListener; -import javax.swing.table.TableCellEditor; -import javax.swing.tree.DefaultMutableTreeNode; -import javax.swing.tree.TreeModel; -import javax.swing.tree.TreePath; - -import com.franciaflex.faxtomail.persistence.entities.Configuration; -import com.franciaflex.faxtomail.persistence.entities.EmailFilter; -import com.franciaflex.faxtomail.persistence.entities.MailAction; -import com.franciaflex.faxtomail.persistence.entities.OriginalEmail; -import com.franciaflex.faxtomail.persistence.entities.OriginalEmailImpl; -import com.franciaflex.faxtomail.ui.swing.FaxToMailUIContext; -import com.franciaflex.faxtomail.ui.swing.actions.OpenMailFolderChooserFromListAction; -import com.franciaflex.faxtomail.ui.swing.util.DemandeTableModel; -import com.franciaflex.faxtomail.ui.swing.util.RemoveablePropertyChangeListener; -import com.google.common.collect.Lists; -import jaxx.runtime.JAXXUtil; -import jaxx.runtime.swing.table.filter.TableFilter; -import jaxx.runtime.swing.table.filter.TableRowFilterSupport; -import jaxx.runtime.validator.swing.SwingValidator; - -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.jdesktop.swingx.JXTable; -import org.jdesktop.swingx.decorator.ColorHighlighter; -import org.jdesktop.swingx.decorator.ComponentAdapter; -import org.jdesktop.swingx.decorator.HighlightPredicate; -import org.nuiton.decorator.Decorator; -import org.nuiton.jaxx.application.swing.action.ApplicationUIAction; -import org.nuiton.jaxx.application.swing.util.CloseableUI; - import com.franciaflex.faxtomail.persistence.entities.Attachment; import com.franciaflex.faxtomail.persistence.entities.AttachmentFile; +import com.franciaflex.faxtomail.persistence.entities.Configuration; import com.franciaflex.faxtomail.persistence.entities.DemandStatus; import com.franciaflex.faxtomail.persistence.entities.Email; +import com.franciaflex.faxtomail.persistence.entities.EmailFilter; import com.franciaflex.faxtomail.persistence.entities.FaxToMailUser; import com.franciaflex.faxtomail.persistence.entities.History; import com.franciaflex.faxtomail.persistence.entities.HistoryImpl; import com.franciaflex.faxtomail.persistence.entities.HistoryType; +import com.franciaflex.faxtomail.persistence.entities.MailAction; import com.franciaflex.faxtomail.persistence.entities.MailField; import com.franciaflex.faxtomail.persistence.entities.MailFolder; +import com.franciaflex.faxtomail.persistence.entities.OriginalEmailImpl; import com.franciaflex.faxtomail.services.FaxToMailServiceUtils; +import com.franciaflex.faxtomail.ui.swing.FaxToMailUIContext; import com.franciaflex.faxtomail.ui.swing.actions.ArchiveFromListAction; import com.franciaflex.faxtomail.ui.swing.actions.ComputeQuantitiesByRangeAction; import com.franciaflex.faxtomail.ui.swing.actions.LoadFolderEmailsAction; +import com.franciaflex.faxtomail.ui.swing.actions.OpenMailFolderChooserFromListAction; import com.franciaflex.faxtomail.ui.swing.actions.PrintOnDefaultPrinterAction; import com.franciaflex.faxtomail.ui.swing.actions.SaveDemandeFromListAction; import com.franciaflex.faxtomail.ui.swing.content.reply.ReplyFormUI; import com.franciaflex.faxtomail.ui.swing.content.reply.ReplyFormUIModel; import com.franciaflex.faxtomail.ui.swing.util.AbstractFaxToMailDemandListHandler; +import com.franciaflex.faxtomail.ui.swing.util.DemandeTableModel; import com.franciaflex.faxtomail.ui.swing.util.FaxToMailUIUtil; import com.franciaflex.faxtomail.ui.swing.util.FolderTreeNode; import com.franciaflex.faxtomail.ui.swing.util.PaginationComboModel; +import com.franciaflex.faxtomail.ui.swing.util.RemoveablePropertyChangeListener; import com.google.common.collect.HashMultimap; +import com.google.common.collect.Lists; import com.google.common.collect.Multimap; +import jaxx.runtime.JAXXUtil; +import jaxx.runtime.swing.table.filter.TableFilter; +import jaxx.runtime.swing.table.filter.TableRowFilterSupport; +import jaxx.runtime.validator.swing.SwingValidator; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.jdesktop.swingx.JXTable; +import org.jdesktop.swingx.decorator.ColorHighlighter; +import org.jdesktop.swingx.decorator.ComponentAdapter; +import org.jdesktop.swingx.decorator.HighlightPredicate; +import org.nuiton.decorator.Decorator; +import org.nuiton.jaxx.application.swing.action.ApplicationUIAction; +import org.nuiton.jaxx.application.swing.util.CloseableUI; import org.nuiton.util.beans.Binder; import org.nuiton.util.beans.BinderFactory; +import javax.swing.*; +import javax.swing.event.ListSelectionEvent; +import javax.swing.event.ListSelectionListener; +import javax.swing.event.TreeSelectionEvent; +import javax.swing.event.TreeSelectionListener; +import javax.swing.table.TableCellEditor; +import javax.swing.tree.DefaultMutableTreeNode; +import javax.swing.tree.TreeModel; +import javax.swing.tree.TreePath; +import java.awt.*; +import java.awt.event.ItemEvent; +import java.awt.event.ItemListener; +import java.awt.event.MouseEvent; +import java.beans.IntrospectionException; +import java.beans.PropertyChangeEvent; +import java.beans.PropertyChangeListener; +import java.beans.PropertyDescriptor; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Date; +import java.util.Enumeration; +import java.util.List; +import java.util.Map; + +import static org.nuiton.i18n.I18n.t; + /** * Handler of UI {@link com.franciaflex.faxtomail.ui.swing.content.demande.DemandeListUIHandler}. * @@ -493,16 +489,18 @@ MailFolder folder = getModel().getSelectedFolder(); if (folder != null) { FolderTreeNode folderNode = nodesByFolder.get(folder); - boolean readable = folderNode.isCanRead(); + if (folderNode != null) { + boolean readable = folderNode.isCanRead(); - while (folder.getAllowCreateDemandIntoFolder() == null - && folder.getParent() != null) { - folder = folder.getParent(); - } + while (folder.getAllowCreateDemandIntoFolder() == null + && folder.getParent() != null) { + folder = folder.getParent(); + } - DemandeListUIModel model = getModel(); - model.setComputeQuantitiesByRangeEnabled(readable); - model.setNewDemandEnabled(readable && folder != null && Boolean.TRUE.equals(folder.getAllowCreateDemandIntoFolder())); + DemandeListUIModel model = getModel(); + model.setComputeQuantitiesByRangeEnabled(readable); + model.setNewDemandEnabled(readable && folder != null && Boolean.TRUE.equals(folder.getAllowCreateDemandIntoFolder())); + } } tableFilter.executeFilter();