Details

    • Type: Sub-task Sub-task
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.0.9, 2.0.13, 2.1.3, 2.1.7
    • Component/s: General
    • Labels:
      None
    • Environment:
      myface core trunk

      Description

      UIViewRoot:
      try

      { source.broadcast(event); }

      catch (AbortProcessingException e)

      { ExceptionQueuedEventContext exceptionContext = new ExceptionQueuedEventContext(context, e, source, context.getCurrentPhaseId()); context.getApplication().publishEvent(context, ExceptionQueuedEvent.class, exceptionContext); // Abortion return false; }

      Problem 1:
      <h:inputText valueChangeListener="#

      {bean.processValueChange}

      ">

      MethodExpressionValueChangeListener wraps all exceptions to AbortProcessingException and therefore exception is queued

      Problem 2:
      <h:inputText >
      <f:valueChangeListener binding="#

      {bean}

      " />
      </h:inputText>
      ValueChangeListenerHandler does not wrap exception to AbortProcessingException and therefore exception is not queued in this block (but it is queued from phase executor but without component info)

      Problem 3: JSF spec 2.1 :
      "Clarification made: throwing an AbortProcessingException tells an implementation that no further broadcast of the
      current event occurs. Does not affect future events."
      But I think that code in UIViewRoot makes opposite: // Abortion return false;

      1. MYFACES-3199-v2.patch
        5 kB
        Martin Kočí
      2. UIViewRoot.patch
        4 kB
        Martin Kočí

        Issue Links

          Activity

          Gavin made changes -
          Link This issue is depended upon by MYFACES-3301 [ MYFACES-3301 ]
          Gavin made changes -
          Link This issue blocks MYFACES-3301 [ MYFACES-3301 ]
          Leonardo Uribe made changes -
          Status Resolved [ 5 ] Closed [ 6 ]
          Leonardo Uribe made changes -
          Status Reopened [ 4 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Leonardo Uribe made changes -
          Resolution Fixed [ 1 ]
          Status Resolved [ 5 ] Reopened [ 4 ]
          Leonardo Uribe made changes -
          Status Reopened [ 4 ] Resolved [ 5 ]
          Fix Version/s 2.0.13 [ 12319847 ]
          Fix Version/s 2.1.7 [ 12319845 ]
          Resolution Fixed [ 1 ]
          Martin Kočí made changes -
          Attachment MYFACES-3199-v2.patch [ 12518186 ]
          Martin Kočí made changes -
          Attachment UIViewRoot.patch [ 12517543 ]
          Martin Kočí made changes -
          Resolution Fixed [ 1 ]
          Status Closed [ 6 ] Reopened [ 4 ]
          Leonardo Uribe made changes -
          Status Resolved [ 5 ] Closed [ 6 ]
          Leonardo Uribe made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Assignee Leonardo Uribe [ lu4242 ]
          Fix Version/s 2.0.9 [ 12317644 ]
          Fix Version/s 2.1.3 [ 12317642 ]
          Resolution Fixed [ 1 ]
          Leonardo Uribe made changes -
          Link This issue blocks MYFACES-3301 [ MYFACES-3301 ]
          Martin Kočí made changes -
          Field Original Value New Value
          Component/s General [ 12310160 ]
          Martin Kočí created issue -

            People

            • Assignee:
              Leonardo Uribe
              Reporter:
              Martin Kočí
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development