ICEfaces
  1. ICEfaces
  2. ICE-7036

icefaces-compat.jar disables default error popup

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0.0, 2.0.1, EE-2.0.0.GA, 2.0.2
    • Fix Version/s: 2.1-Beta, 3.0, EE-2.0.0.GA_P01
    • Component/s: ICE-Components
    • Labels:
      None
    • Environment:
      Mojarra 2.1.2
    • Assignee Priority:
      P2
    • Workaround Exists:
      Yes
    • Workaround Description:
      Hide
      If you are unable to use 2.1+, the following patch looks to resolve the issue in 2.0 EE:

      /**
      * Sets disableDefaultErrorPopups value to the one that was defined in web.xml after each page load.
      * The icefaces compat lib is disabling this (see http://jira.icefaces.org/browse/ICE-7036). We need this
      * in order to see the session expired popup.
      *
      * @param {Object} aChildElementIdOfBody an elementid that is a direct child of the body element
      */
      applyIceFacesErrorPopupBugWorkaround : function(aChildElementIdOfBody) {
      Event.observe(window, 'load', function() {
      var container = document.getElementById(aChildElementIdOfBody).parentNode;
      container.configuration.disableDefaultErrorPopups = window.ice.disableDefaultErrorPopups;
      });
      },
      Show
      If you are unable to use 2.1+, the following patch looks to resolve the issue in 2.0 EE: /** * Sets disableDefaultErrorPopups value to the one that was defined in web.xml after each page load. * The icefaces compat lib is disabling this (see http://jira.icefaces.org/browse/ICE-7036) . We need this * in order to see the session expired popup. * * @param {Object} aChildElementIdOfBody an elementid that is a direct child of the body element */ applyIceFacesErrorPopupBugWorkaround : function(aChildElementIdOfBody) { Event.observe(window, 'load', function() { var container = document.getElementById(aChildElementIdOfBody).parentNode; container.configuration.disableDefaultErrorPopups = window.ice.disableDefaultErrorPopups; }); },

      Description

      As soon as icefaces-compat.jar is on the classpath the default error popups are disabled. If an exception happens you there's no effect in the browser so one has to check the console output to see that actually something went wrong. Setting org.icefaces.disableDefaultErrorPopups=false in web.xml doesn't have an effect anymore.

      icefaces-compat.jar should not modify the default and shouldn't disable org.icefaces.disableDefaultErrorPopups

        Activity

        Hide
        Adrian Gygax added a comment -

        Added example Eclipse project.

        Enter some text in the textfield and press the button. In the button's action a RuntimeException is thrown. There's no reaction in the browser but a stacktrace in the console.

        Remove icefaces-compat.jar from the lib folder and try again. The error popup appears as expected.

        Show
        Adrian Gygax added a comment - Added example Eclipse project. Enter some text in the textfield and press the button. In the button's action a RuntimeException is thrown. There's no reaction in the browser but a stacktrace in the console. Remove icefaces-compat.jar from the lib folder and try again. The error popup appears as expected.
        Hide
        Tyler Johnson added a comment -

        I have also attached a ready to run (Tomcat) war file that reproduces the issue.

        Show
        Tyler Johnson added a comment - I have also attached a ready to run (Tomcat) war file that reproduces the issue.
        Hide
        Ken Fyten added a comment -

        It is expected behaviour that the stock IF 2 error messages are disabled when using compat. However, the compat error dialogs should be appearing (instead), unless the outputConnectionStatus component is used and it is specified to disable the message popups on it, which does not appear to be the case here.

        Show
        Ken Fyten added a comment - It is expected behaviour that the stock IF 2 error messages are disabled when using compat. However, the compat error dialogs should be appearing (instead), unless the outputConnectionStatus component is used and it is specified to disable the message popups on it, which does not appear to be the case here.
        Hide
        Mircea Toma added a comment -

        Looks like the for server error indicator in 'compat' was set to a no-op implementation.

        Show
        Mircea Toma added a comment - Looks like the for server error indicator in 'compat' was set to a no-op implementation.
        Hide
        Mircea Toma added a comment -

        Replaced the no-op indicator with a popup indicator for server error responses.

        Show
        Mircea Toma added a comment - Replaced the no-op indicator with a popup indicator for server error responses.

          People

          • Assignee:
            Mircea Toma
            Reporter:
            Adrian Gygax
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: