ICEfaces
  1. ICEfaces
  2. ICE-1699

Runtime compatibility for JSF 1.2 implementations with JSPs

    Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.6DR#5
    • Fix Version/s: 1.6DR#6, 1.6
    • Component/s: Framework
    • Labels:
      None
    • Environment:
      ICEfaces, JSF 1.2
    • Affects:
      Documentation (User Guide, Ref. Guide, etc.), Compatibility/Configuration

      Description

      Although ICEfaces Facelets applications are now working against JSF 1.2, ICEfaces JSP applications typically fail in the page parsing stage.

        Activity

        Hide
        Ted Goddard added a comment -

        The recent checkin allows the standard component-showcase to work on glassfish-v2-b41 with the server-provided jsf implementation (the fix involves special-cases for how parameters are passed to JSP tags, so it may have indirect dependencies on Sun code).

        However, it currently exhibits the following problems:

        • selectInputDate component displays but is not interactive
        • page is blank on first render
        Show
        Ted Goddard added a comment - The recent checkin allows the standard component-showcase to work on glassfish-v2-b41 with the server-provided jsf implementation (the fix involves special-cases for how parameters are passed to JSP tags, so it may have indirect dependencies on Sun code). However, it currently exhibits the following problems: selectInputDate component displays but is not interactive page is blank on first render
        Hide
        Ted Goddard added a comment -

        auctionMonitor returns a blank page even on repeated reloads.

        Show
        Ted Goddard added a comment - auctionMonitor returns a blank page even on repeated reloads.
        Hide
        Ted Goddard added a comment -

        component-showcase and auctionMonitor are now working in JSP mode with JSF 1.2.

        D2DViewHandler is now checking specifically for JSF 1.2 and, if detected, renders the page at the end of parsing. In JSF 1.1, the ViewTag invokes this rendering, but this does not appear to occur with JSF 1.2.

        Show
        Ted Goddard added a comment - component-showcase and auctionMonitor are now working in JSP mode with JSF 1.2. D2DViewHandler is now checking specifically for JSF 1.2 and, if detected, renders the page at the end of parsing. In JSF 1.1, the ViewTag invokes this rendering, but this does not appear to occur with JSF 1.2.
        Hide
        Ted Goddard added a comment -

        The integration should be improved so that a single icefaces.jar can handle both the JSF 1.2 case and the JSF 1.1 case.

        This likely requires building the stock icefaces.jar with JDK 1.5 (because the JSF 1.2 classes will be JDK 1.5 versioned).

        Show
        Ted Goddard added a comment - The integration should be improved so that a single icefaces.jar can handle both the JSF 1.2 case and the JSF 1.1 case. This likely requires building the stock icefaces.jar with JDK 1.5 (because the JSF 1.2 classes will be JDK 1.5 versioned).
        Hide
        Ted Goddard added a comment -

        A new .jar file, lib/jsf-api-1.2.jar (JSF 1.2 interfaces) has been added, so
        if you are building against everything in icefaces/lib
        you are bound to have problems (JSP classes not found).

        A full icefaces.jar is now intended to be built on JDK 1.5
        with 1.4 targets for the bulk of the classes and 1.5 targets
        for only the tomcat 6 and JSF 1.2 portions. (A .jar built in
        this way would be portable to JSF 1.2 and 1.2 on both
        JDK 1.4 and 1.5.)

        auctionMonitor and component-showcase in JSP mode should now
        work with JSF 1.2 on glassfish, although the builds
        for these samples are not targeted for this configuration
        (they need .jar files removed: el-api.jar, jstl.jar,
        xercesImpl.jar, xml-apis.jar, jsf-api.jar, and jsf-impl.jar).

        Note that this does not address the JSF 1.2/1.2 "compatibility mode"
        scenario raised in ICE-1474; ICEfaces applications still require
        JSF 1.1 faces-config.xml.

        Show
        Ted Goddard added a comment - A new .jar file, lib/jsf-api-1.2.jar (JSF 1.2 interfaces) has been added, so if you are building against everything in icefaces/lib you are bound to have problems (JSP classes not found). A full icefaces.jar is now intended to be built on JDK 1.5 with 1.4 targets for the bulk of the classes and 1.5 targets for only the tomcat 6 and JSF 1.2 portions. (A .jar built in this way would be portable to JSF 1.2 and 1.2 on both JDK 1.4 and 1.5.) auctionMonitor and component-showcase in JSP mode should now work with JSF 1.2 on glassfish, although the builds for these samples are not targeted for this configuration (they need .jar files removed: el-api.jar, jstl.jar, xercesImpl.jar, xml-apis.jar, jsf-api.jar, and jsf-impl.jar). Note that this does not address the JSF 1.2/1.2 "compatibility mode" scenario raised in ICE-1474 ; ICEfaces applications still require JSF 1.1 faces-config.xml.
        Hide
        Ted Goddard added a comment -

        ICEfaces is now compatible with JSF 1.2 for both Facelets and JSP, subject to the JSF 1.1 faces-config.xml in ICE-1474.

        Show
        Ted Goddard added a comment - ICEfaces is now compatible with JSF 1.2 for both Facelets and JSP, subject to the JSF 1.1 faces-config.xml in ICE-1474 .
        Hide
        Ted Goddard added a comment -

        Probably should have re-opened this before, but the recent checkins address the need for more specific types expected by the standard JSF components. (ICEfaces components are using pre JSP 2.1 tags, hence are content with Object or String.)
        This likely does not cover all the required cases, so additional testing is necessary.

        Show
        Ted Goddard added a comment - Probably should have re-opened this before, but the recent checkins address the need for more specific types expected by the standard JSF components. (ICEfaces components are using pre JSP 2.1 tags, hence are content with Object or String.) This likely does not cover all the required cases, so additional testing is necessary.
        Hide
        Ted Goddard added a comment -

        Please test the samples and tutorials on Tomcat 6 and GlassFish.

        Show
        Ted Goddard added a comment - Please test the samples and tutorials on Tomcat 6 and GlassFish.
        Hide
        Ted Goddard added a comment -

        Re-opening to account for testing results.

        Show
        Ted Goddard added a comment - Re-opening to account for testing results.
        Hide
        Arran McCullough added a comment -

        Tested under Glassfish V2-b41 and Tomcat 6.0
        Auction Monitor - Works for both
        Address Demo - Works for both
        Component Showcase - Works for both but exhibits some styling issues, changing theme to royale puts a blue overlay on top of everything, big space between navigation tree and component content area, top header image is broken up.
        basicInputText - Works for both
        dragdrop1 - Works for both
        dragdrop2 - Page loads ok but cannot drag the grey area, throws no errors, same for both
        effects1 - Works for both
        effects2 - Same as dragdrop2, page shows, components aren't functional
        tiles - Shows everything except the body of the timezone part, throws error
        timezone1 to 7 - Works for both

        Show
        Arran McCullough added a comment - Tested under Glassfish V2-b41 and Tomcat 6.0 Auction Monitor - Works for both Address Demo - Works for both Component Showcase - Works for both but exhibits some styling issues, changing theme to royale puts a blue overlay on top of everything, big space between navigation tree and component content area, top header image is broken up. basicInputText - Works for both dragdrop1 - Works for both dragdrop2 - Page loads ok but cannot drag the grey area, throws no errors, same for both effects1 - Works for both effects2 - Same as dragdrop2, page shows, components aren't functional tiles - Shows everything except the body of the timezone part, throws error timezone1 to 7 - Works for both
        Hide
        Ted Goddard added a comment -

        Theoretically we should implement type safety for JSP 2.1 using javax.servlet.jsp.tagext.TagInfo, but these info classes are not available because they are not created by the ICEfaces TLD parser.

        Show
        Ted Goddard added a comment - Theoretically we should implement type safety for JSP 2.1 using javax.servlet.jsp.tagext.TagInfo, but these info classes are not available because they are not created by the ICEfaces TLD parser.
        Hide
        Ted Goddard added a comment -

        dragdrop2 and effectsd problems appear to be caused by <jsp:forward page="./dragdrop.iface" /> in index.jsp (replace with dragdrop.iface). Will create a separate JIRA for this.

        Show
        Ted Goddard added a comment - dragdrop2 and effectsd problems appear to be caused by <jsp:forward page="./dragdrop.iface" /> in index.jsp (replace with dragdrop.iface). Will create a separate JIRA for this.
        Hide
        Ted Goddard added a comment -

        Testing indicates that bug is resolved. Created ICE-1751 for the non-interactive tutorials (bug unrelated to JSF 1.2 support).

        Show
        Ted Goddard added a comment - Testing indicates that bug is resolved. Created ICE-1751 for the non-interactive tutorials (bug unrelated to JSF 1.2 support).

          People

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

            Dates

            • Created:
              Updated:
              Resolved: