3 Replies Latest reply on Nov 3, 2011 5:26 AM by Lawrence Yarham

    Conversion of an application that uses IBM JSF to RichFaces implementation?

    Lawrence Yarham Newbie

      I'd like to ask if anyone has experience of converting an application using one JSF implementation to an alternative please?  I've been investigating migration of an application that has been implemented using IBM's JSF to use RichFaces.  My goal here is to remove dependency on the IBM JSF jars, currently bundled within the application's WAR.

       

      What I've discovered is the following:

       

      I can create a new JSF project in JBoss Developer studio, and add the RichFaces (3.3) jars, then migrate the implementation agnostic web.xml and faces-config.xml information.  Where things then start to fall down is that the code in the managed beans (referenced in the faces-config) use ibm implementation specific classes, e.g. CommandExButton, ScriptCollector and Ajax classes.

       

      I can change the namespace declarations in the jsp to use RichFaces equivalents and change tags and managed bean classes to reference the JSF API components where possible (e.g. use Command Button, rather than the IBM extended CommandExButton).  However the issues that I'm unable to work around easily are:

       

      - The IBM Faces implementation has a ScriptCollector that provides page load events, enabling applications to pull in reference data (for example) when loading a page.  This logic would need to be re-written in RichFaces.

       

      - The Ajax implementations differ - requiring the relevant areas on jsps to be rebuilt from scratch.

       

      If anyone has tried something similar, I'd be interested in your thoughts.  Does my experience match yours or am I missing something that makes this easier/harder?

       

      Many thanks for your views.  Much appreciated.

        • 1. Re: Conversion of an application that uses IBM JSF to RichFaces implementation?
          Lawrence Yarham Newbie

          Guys,

           

          Many thanks to those of you who have read the post.  Can I ask if anyone has any thoughts relating to trying to do this, or experience of trying anything similar please?

          • 2. Re: Conversion of an application that uses IBM JSF to RichFaces implementation?
            kokliang Newbie

            Hi all,

             

            Has anyone converted IBM JSF to RichFaces before? For example, the following IBM JSF components:

                

            hx:scriptCollector

            hx:commandExButton

            hx:inputHelperSetFocus

            hx:sortHeader

            hx:commandExRowAction

            hx:panelBox

            hx:pagerDeluxe

            hx:dataTableEx

            hx:columnEx

            hx:convertDateTime

            hx:inputHelperDatePicker

            hx:convertNumber

            hx:inputHelperAssist

            hx:graphicImageEx

            hx:inputHelpSpinner

            hx:inputRowSelect

            hx:outputSelectMenu

            hx:fileUpload

            hx:fileProp

            hx:panelRowCategory

            odc:tabbedPanel

            odc:bfPanel

            hxx:dataTableEx

             

            What is the corresponding counterpart in RichFaces?

            • 3. Re: Conversion of an application that uses IBM JSF to RichFaces implementation?
              Lawrence Yarham Newbie

              Hi there,

               

              From my attempts to perform a similar conversion, I'd not found any coreresponding components within RichFaces to match these - although I have not performed an extensive search.  I actually had to stop the conversion because I was finding that I had to rewrite behaviour of pages to use the RichFaces implementation - too much effort and risk being involved.

               

              What I did find for some is that there are workarounds - for example scriptcollector - if you're using page load begin events, then these would need to be recoded as a javascript function that runs when the page is loaded into the browser - running an Ajax style query back to the server for example to fetch data.  Otherwise, I had to change the page flow to avoid this type of workaround.

               

              If I gain further information I'll happily share it.  From research, it doesn't look as though this type of conversion is performed much at all.

               

              Kind regards