ICEfaces
  1. ICEfaces
  2. ICE-2273

Spring WebFlow 2.0 Integration

    Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.7DR#2
    • Fix Version/s: 1.7.1
    • Component/s: Framework
    • Labels:
      None
    • Environment:
      ICEfaces, Spring WebFlow

      Description

      ICEfaces Ajax features should be available to Spring Web Flow applications. SWF 2.0 introduces substantial changes to the way that JSF and SWF interact; for instance SWF 2.0 does not generally use the FacesServlet.

        Activity

        Hide
        Ted Goddard added a comment -

        swf-booking-jsf under ICEfaces has been improved by catching Spring resource requests in MainServlet, however this does not actually return the requested resource. For that, we need to implement a wrapper for the Spring resource dispatcher or we need to determine how to allow ICEfaces to recover from Spring writing directly to the outputStream when resources are requested during the JSF lifecycle. This is likely the source of the NullPointerException during flush().

        Show
        Ted Goddard added a comment - swf-booking-jsf under ICEfaces has been improved by catching Spring resource requests in MainServlet, however this does not actually return the requested resource. For that, we need to implement a wrapper for the Spring resource dispatcher or we need to determine how to allow ICEfaces to recover from Spring writing directly to the outputStream when resources are requested during the JSF lifecycle. This is likely the source of the NullPointerException during flush().
        Hide
        Ted Goddard added a comment -

        Comments on the Spring forum requesting integration:

        http://forum.springframework.org/showthread.php?t=51233

        Show
        Ted Goddard added a comment - Comments on the Spring forum requesting integration: http://forum.springframework.org/showthread.php?t=51233
        Hide
        Ted Goddard added a comment -

        Initial work on the integration allows delegation of the JSF lifecycle to the Spring Web Flow Flow Executor. To allow integration with pages not handled by SWF, only those URLs with no "." after the last "/" are delegated, otherwise JSF handles the request directly. The idea is that this should detect those pages that are "extension mapped". (Clearly a better means of detecting which requests should be handled by Spring Web Flow is needed.)

        The booking-faces application has been partially ported and checked in. The flow up to "Book Hotel" is functional; the other pages have not been ported (for instance sf: components currently have interoperability problems due to the use of Dojo and the modification of the form submission URL).

        Show
        Ted Goddard added a comment - Initial work on the integration allows delegation of the JSF lifecycle to the Spring Web Flow Flow Executor. To allow integration with pages not handled by SWF, only those URLs with no "." after the last "/" are delegated, otherwise JSF handles the request directly. The idea is that this should detect those pages that are "extension mapped". (Clearly a better means of detecting which requests should be handled by Spring Web Flow is needed.) The booking-faces application has been partially ported and checked in. The flow up to "Book Hotel" is functional; the other pages have not been ported (for instance sf: components currently have interoperability problems due to the use of Dojo and the modification of the form submission URL).
        Hide
        Ted Goddard added a comment -

        Initial support is checked in; will create additional cases for specific issues.

        Show
        Ted Goddard added a comment - Initial support is checked in; will create additional cases for specific issues.
        Hide
        Keith Garry Boyce added a comment -

        See http://jira.springframework.org/browse/SWF-660

        This appears to fully integrate webflow and icefaces at the taglib level. It supports multiple tags on a single page, multiple tabs or otherwise... I wasn't able to get the jsf statemanagement to work since all the components did not appear to serialize properly. In the interim i'm just storing state in session. Perhaps you guys can address this. I think it makes icefaces-webflow integration a lot less problematic as versions change since it becomes isolated at the component level.

        Show
        Keith Garry Boyce added a comment - See http://jira.springframework.org/browse/SWF-660 This appears to fully integrate webflow and icefaces at the taglib level. It supports multiple tags on a single page, multiple tabs or otherwise... I wasn't able to get the jsf statemanagement to work since all the components did not appear to serialize properly. In the interim i'm just storing state in session. Perhaps you guys can address this. I think it makes icefaces-webflow integration a lot less problematic as versions change since it becomes isolated at the component level.
        Hide
        Ted Goddard added a comment -

        Is the idea to run a webflow within a panel (such as for a wizard)? There have definitely been requests for a feature like that.

        Show
        Ted Goddard added a comment - Is the idea to run a webflow within a panel (such as for a wizard)? There have definitely been requests for a feature like that.
        Hide
        Keith Garry Boyce added a comment -

        yes.. but in fact it can run standalone I think. Although I haven't tried It doesn't seem to need to be in a panel. If you want to establish communication outside the normal support channel (we do have icefaces support at EDS/BCBSMA) feel free to contact me.

        Show
        Keith Garry Boyce added a comment - yes.. but in fact it can run standalone I think. Although I haven't tried It doesn't seem to need to be in a panel. If you want to establish communication outside the normal support channel (we do have icefaces support at EDS/BCBSMA) feel free to contact me.
        Hide
        Ted Goddard added a comment -

        Recent changes for partialSubmit and UIXhtmlComponent state saving improve the functionality of swf-booking-icefaces. A significant area that appears to remain is support for "anonymous" flows. For instance, the login.xhtml page is not registered as a flow, yet redirection to flows/login (and flows/processLogin) is expected to resolve.

        Show
        Ted Goddard added a comment - Recent changes for partialSubmit and UIXhtmlComponent state saving improve the functionality of swf-booking-icefaces. A significant area that appears to remain is support for "anonymous" flows. For instance, the login.xhtml page is not registered as a flow, yet redirection to flows/login (and flows/processLogin) is expected to resolve.

          People

          • Assignee:
            Unassigned
            Reporter:
            Ted Goddard
          • Votes:
            9 Vote for this issue
            Watchers:
            8 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: