Author: kmorin Date: 2015-01-12 11:25:22 +0000 (Mon, 12 Jan 2015) New Revision: 749 Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/749 Log: fixes #6426 Erreur Nimbus Modified: 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/content/MainUIHandler.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailExceptionHandler.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 2015-01-09 14:44:21 UTC (rev 748) +++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java 2015-01-12 11:25:22 UTC (rev 749) @@ -206,7 +206,6 @@ protected void browseFolderParent(MailFolder folder, FaxToMailUser user, MailFolderService mailFolderService) { Hibernate.initialize(folder); - Hibernate.initialize(folder.getChildren()); mailFolderService.fetchFolderAttributes(folder); MailFolder parent = folder.getParent(); Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/MainUIHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/MainUIHandler.java 2015-01-09 14:44:21 UTC (rev 748) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/MainUIHandler.java 2015-01-12 11:25:22 UTC (rev 749) @@ -29,26 +29,23 @@ import com.franciaflex.faxtomail.ui.swing.content.demande.DemandesUI; import com.franciaflex.faxtomail.ui.swing.content.search.SearchUI; import com.franciaflex.faxtomail.ui.swing.util.AbstractFaxToMailUIHandler; -import org.nuiton.jaxx.application.swing.util.CloseableUI; import com.franciaflex.faxtomail.ui.swing.util.FaxToMailUI; import com.franciaflex.faxtomail.ui.swing.util.RemoveablePropertyChangeListener; import com.google.common.base.Preconditions; - import jaxx.runtime.JAXXBinding; import jaxx.runtime.SwingUtil; import jaxx.runtime.swing.JAXXWidgetUtil; import jaxx.runtime.swing.session.SwingSession; 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.nuiton.i18n.I18n; import org.nuiton.jaxx.application.swing.action.ApplicationActionUI; +import org.nuiton.jaxx.application.swing.util.CloseableUI; import javax.swing.*; - -import java.awt.Cursor; +import java.awt.*; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.beans.PropertyChangeEvent; @@ -343,13 +340,33 @@ Icon icon; switch (screen) { case SEARCH: - screenUI = new SearchUI(ui); + // cf #6426, if a Nimbus ClassCastException, then retry to create the ui + // TODO remove this when we use the ng actions + try { + screenUI = new SearchUI(ui); + + } catch (ClassCastException e) { + if (log.isErrorEnabled()) { + log.error("ClassCastException caught", e); + } + screenUI = new SearchUI(ui); + } screenTitle = t("faxtomail.search.title"); icon = ui.getSearchButton().getIcon(); break; case DEMANDE: - screenUI = new DemandesUI(ui); + // cf #6426, if a Nimbus ClassCastException, then retry to create the ui + // TODO remove this when we use the ng actions + try { + screenUI = new DemandesUI(ui); + + } catch (ClassCastException e) { + if (log.isErrorEnabled()) { + log.error("ClassCastException caught", e); + } + screenUI = new DemandesUI(ui); + } screenTitle = t("faxtomail.demand.title"); icon = JAXXWidgetUtil.createActionIcon("email-group"); rightDecoration = ((DemandesUI) screenUI).getTopToolBar(); @@ -358,7 +375,17 @@ default: case LIST: - screenUI = new DemandeListUI(ui); + // cf #6426, if a Nimbus ClassCastException, then retry to create the ui + // TODO remove this when we use the ng actions + try { + screenUI = new DemandeListUI(ui); + + } catch (ClassCastException e) { + if (log.isErrorEnabled()) { + log.error("ClassCastException caught", e); + } + screenUI = new DemandeListUI(ui); + } screenTitle = t("faxtomail.demandeList.title"); icon = ui.getDemandListButton().getIcon(); break; Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailExceptionHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailExceptionHandler.java 2015-01-09 14:44:21 UTC (rev 748) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailExceptionHandler.java 2015-01-12 11:25:22 UTC (rev 749) @@ -22,8 +22,6 @@ * #L% */ -import com.franciaflex.faxtomail.ui.swing.actions.AbstractChangeScreenAction; -import com.franciaflex.faxtomail.ui.swing.actions.AbstractFaxToMailAction; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.jaxx.application.swing.action.ApplicationActionException; @@ -56,23 +54,13 @@ log.error("Global application exception [" + tname + "] : " + (cause != null ? cause.getMessage() : ""), ex); } - // FIXME 20141218 kmorin - // catch ClassCastException to avoid errors like these : - // java.lang.ClassCastException: javax.swing.plaf.FontUIResource cannot be cast to java.awt.Color - if (cause instanceof ClassCastException) { - if (log.isErrorEnabled()) { - log.error("ClassCastException caught", cause); - } - return; - } - // boolean backToScreen = false; // // AbstractFaxToMailAction action = null; // if (cause instanceof ApplicationActionException) { - ApplicationActionException actionException = (ApplicationActionException) cause; +// ApplicationActionException actionException = (ApplicationActionException) cause; cause = cause.getCause(); if (log.isDebugEnabled()) { @@ -86,6 +74,17 @@ // } } + // FIXME 20141218 kmorin + // TODO remove this when we use the ng actions + // catch ClassCastException to avoid errors like these : + // java.lang.ClassCastException: javax.swing.plaf.FontUIResource cannot be cast to java.awt.Color + if (cause instanceof ClassCastException) { + if (log.isErrorEnabled()) { + log.error("ClassCastException caught", cause); + } + return; + } + showErrorDialog(cause != null ? cause.getMessage() : "", cause); // if (backToScreen) {