craigmcc    2004/08/28 14:32:48

  Modified:    contrib/struts-faces build.xml
               contrib/struts-faces/src/java/org/apache/struts/faces/application
                        FacesRequestProcessor.java
               contrib/struts-faces/src/sysclient/org/apache/struts/faces/sysclient
                        ContextTestCase.java
               contrib/struts-faces/web/example/WEB-INF web.xml
               contrib/struts-faces/web/example2/WEB-INF web.xml
               contrib/struts-faces/web/systest/WEB-INF web.xml
  Log:
  Refine the build process such that the test webapp, and the two examples,
  can be successfully built and deployed with either the JSF RI or MyFaces
  (version 1.0.6).  Unfortunately, the apps don't actually *run* with
  MyFaces at the moment yet, but that's something to be worked out with the
  MyFaces team.
  
  Also verified that the tests and examples work fine (using the JSF RI 1.1)
  with either Struts 1.1 or Struts 1.2.2.
  
  Revision  Changes    Path
  1.18      +133 -6    jakarta-struts/contrib/struts-faces/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-struts/contrib/struts-faces/build.xml,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- build.xml 8 Aug 2004 03:28:34 -0000       1.17
  +++ build.xml 28 Aug 2004 21:32:47 -0000      1.18
  @@ -61,6 +61,14 @@
     <property name="struts.jar"       value="${struts.home}/lib/struts.jar"/>
   
   
  +  <!-- Conditional Processing Flags -->
  +  <available                     property="jsfri.present"
  +                                classname="com.sun.faces.RIConstants"
  +                                classpath="${jsf-impl.jar}"/>
  +  <available                     property="myfaces.present"
  +                                classname="net.sourceforge.myfaces.MyFacesConfig"
  +                                classpath="${jsf-impl.jar}"/>
  +
     <!-- Build Defaults -->
     <property name="build.home"      value="${basedir}/build"/>
     <property name="dist.home"       value="${basedir}/dist"/>
  @@ -136,6 +144,11 @@
       <filter token="package"  value="${project.package}"/>
       <filter token="state"    value="${systest.state.saving}"/>
       <filter token="version"  value="${project.version}"/>
  +    <echo message="jsf-api.jar =    ${jsf-api.jar}"/>
  +    <echo message="jsf-impl.jar =   ${jsf-impl.jar}"/>
  +    <echo message="struts-jar =     ${struts.jar}"/>
  +    <echo message="jsfri.present =  ${jsfri.present}"/>
  +    <echo message="myfaces.present= ${myfaces.present}"/>
     </target>
   
   
  @@ -301,7 +314,33 @@
     </target>
   
   
  -  <target name="example.libraries" depends="example.static"
  +  <target name="example.static.jsfri" depends="example.static"
  +            if="jsfri.present">
  +
  +    <replace        dir="${build.home}/webapps/example/WEB-INF"
  +                  token="MYFACES_BEGIN"
  +                  value="&lt;!-- MyFaces Listener"/>
  +    <replace        dir="${build.home}/webapps/example/WEB-INF"
  +                  token="MYFACES_END"
  +                  value="--&gt;"/>
  +
  +  </target>
  +
  +
  +  <target name="example.static.myfaces" depends="example.static.jsfri"
  +            if="myfaces.present">
  +
  +    <replace        dir="${build.home}/webapps/example/WEB-INF"
  +                  token="MYFACES_BEGIN"
  +                  value="&lt;!-- MyFaces Listener --&gt;"/>
  +    <replace        dir="${build.home}/webapps/example/WEB-INF"
  +                  token="MYFACES_END"
  +                  value=""/>
  +
  +  </target>
  +
  +
  +  <target name="example.libraries" depends="example.static.myfaces"
               if="build.standalone">
   
       <!-- Copy libraries required for standalone use only -->
  @@ -317,7 +356,19 @@
     </target>
   
   
  -  <target name="example.compile" depends="example.libraries">
  +  <target name="example.libraries.myfaces" depends="example.libraries"
  +            if="myfaces.present">
  +
  +    <!-- Copy additional libraries required by MyFaces implementation -->
  +    <copy        todir="${build.home}/webapps/example/WEB-INF/lib"
  +                  file="${jsf.home}/lib/commons-codec-1.2.jar"/>
  +    <copy        todir="${build.home}/webapps/example/WEB-INF/lib"
  +                  file="${jsf.home}/lib/commons-el.jar"/>
  +
  +  </target>
  +
  +
  +  <target name="example.compile" depends="example.libraries.myfaces">
   
       <!-- Compile Java Sources -->
       <mkdir         dir="${build.home}/webapps/example/WEB-INF/classes"/>
  @@ -420,7 +471,33 @@
     </target>
   
   
  -  <target name="example2.libraries" depends="example2.static"
  +  <target name="example2.static.jsfri" depends="example2.static"
  +            if="jsfri.present">
  +
  +    <replace        dir="${build.home}/webapps/example2/WEB-INF"
  +                  token="MYFACES_BEGIN"
  +                  value="&lt;!-- MyFaces Listener"/>
  +    <replace        dir="${build.home}/webapps/example2/WEB-INF"
  +                  token="MYFACES_END"
  +                  value="--&gt;"/>
  +
  +  </target>
  +
  +
  +  <target name="example2.static.myfaces" depends="example2.static.jsfri"
  +            if="myfaces.present">
  +
  +    <replace        dir="${build.home}/webapps/example2/WEB-INF"
  +                  token="MYFACES_BEGIN"
  +                  value="&lt;!-- MyFaces Listener --&gt;"/>
  +    <replace        dir="${build.home}/webapps/example2/WEB-INF"
  +                  token="MYFACES_END"
  +                  value=""/>
  +
  +  </target>
  +
  +
  +  <target name="example2.libraries" depends="example2.static.myfaces"
               if="build.standalone">
   
       <!-- Copy libraries required for standalone use only -->
  @@ -436,7 +513,19 @@
     </target>
   
   
  -  <target name="example2.compile" depends="example2.libraries">
  +  <target name="example2.libraries.myfaces" depends="example2.libraries"
  +            if="myfaces.present">
  +
  +    <!-- Copy additional libraries required by MyFaces implementation -->
  +    <copy        todir="${build.home}/webapps/example2/WEB-INF/lib"
  +                  file="${jsf.home}/lib/commons-codec-1.2.jar"/>
  +    <copy        todir="${build.home}/webapps/example2/WEB-INF/lib"
  +                  file="${jsf.home}/lib/commons-el.jar"/>
  +
  +  </target>
  +
  +
  +  <target name="example2.compile" depends="example2.libraries.myfaces">
   
       <!-- Compile Java Sources -->
       <mkdir         dir="${build.home}/webapps/example2/WEB-INF/classes"/>
  @@ -534,7 +623,33 @@
     </target>
   
   
  -  <target name="systest.libraries" depends="systest.static"
  +  <target name="systest.static.jsfri" depends="systest.static"
  +            if="jsfri.present">
  +
  +    <replace        dir="${build.home}/webapps/systest/WEB-INF"
  +                  token="MYFACES_BEGIN"
  +                  value="&lt;!-- MyFaces Listener"/>
  +    <replace        dir="${build.home}/webapps/systest/WEB-INF"
  +                  token="MYFACES_END"
  +                  value="--&gt;"/>
  +
  +  </target>
  +
  +
  +  <target name="systest.static.myfaces" depends="systest.static.jsfri"
  +            if="myfaces.present">
  +
  +    <replace        dir="${build.home}/webapps/systest/WEB-INF"
  +                  token="MYFACES_BEGIN"
  +                  value="&lt;!-- MyFaces Listener --&gt;"/>
  +    <replace        dir="${build.home}/webapps/systest/WEB-INF"
  +                  token="MYFACES_END"
  +                  value=""/>
  +
  +  </target>
  +
  +
  +  <target name="systest.libraries" depends="systest.static.jsfri"
               if="build.standalone">
   
       <!-- Copy libraries required for standalone use only -->
  @@ -550,7 +665,19 @@
     </target>
   
   
  -  <target name="systest.compile" depends="systest.libraries">
  +  <target name="systest.libraries.myfaces" depends="systest.libraries"
  +            if="myfaces.present">
  +
  +    <!-- Copy additional libraries required by MyFaces implementation -->
  +    <copy        todir="${build.home}/webapps/systest/WEB-INF/lib"
  +                  file="${jsf.home}/lib/commons-codec-1.2.jar"/>
  +    <copy        todir="${build.home}/webapps/systest/WEB-INF/lib"
  +                  file="${jsf.home}/lib/commons-el.jar"/>
  +
  +  </target>
  +
  +
  +  <target name="systest.compile" depends="systest.libraries.myfaces">
   
       <!-- Compile Java Sources -->
       <mkdir         dir="${build.home}/webapps/systest/WEB-INF/classes"/>
  
  
  
  1.11      +5 -1      
jakarta-struts/contrib/struts-faces/src/java/org/apache/struts/faces/application/FacesRequestProcessor.java
  
  Index: FacesRequestProcessor.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-struts/contrib/struts-faces/src/java/org/apache/struts/faces/application/FacesRequestProcessor.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- FacesRequestProcessor.java        29 Jun 2004 14:57:18 -0000      1.10
  +++ FacesRequestProcessor.java        28 Aug 2004 21:32:48 -0000      1.11
  @@ -130,6 +130,10 @@
               HttpServletRequestWrapper wrapper = new 
HttpServletRequestWrapper(request, uri);
               context = fcf.getFacesContext(servlet.getServletContext(), wrapper,
                                             response, lifecycle); 
  +            // Comment out the previous two lines and uncomment
  +            // the following line to test eliminating the wrapper
  +            context = fcf.getFacesContext(servlet.getServletContext(),
  +                                          request, response, lifecycle);
           }
   
           // Create a new view root
  
  
  
  1.2       +2 -4      
jakarta-struts/contrib/struts-faces/src/sysclient/org/apache/struts/faces/sysclient/ContextTestCase.java
  
  Index: ContextTestCase.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-struts/contrib/struts-faces/src/sysclient/org/apache/struts/faces/sysclient/ContextTestCase.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ContextTestCase.java      28 Aug 2004 07:44:54 -0000      1.1
  +++ ContextTestCase.java      28 Aug 2004 21:32:48 -0000      1.2
  @@ -242,12 +242,10 @@
           spanCA = (HtmlSpan) element("form:remoteUserCA");
           assertEquals(span.asText(), spanCA.asText());
   
  -        /* FIXME - define the correct test here
           span = (HtmlSpan) element("form:servletPathRQ");
           assertEquals("/context1.jsp", span.asText());
           spanCA = (HtmlSpan) element("form:servletPathCA");
  -        assertEquals(span.asText(), spanCA.asText());
  -        */
  +        assertEquals("/context.faces", spanCA.asText());
   
           // Validate ServletContext Values
   
  
  
  
  1.6       +8 -0      jakarta-struts/contrib/struts-faces/web/example/WEB-INF/web.xml
  
  Index: web.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-struts/contrib/struts-faces/web/example/WEB-INF/web.xml,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- web.xml   7 Jul 2004 22:31:33 -0000       1.5
  +++ web.xml   28 Aug 2004 21:32:48 -0000      1.6
  @@ -33,6 +33,14 @@
       <param-value>client</param-value>
     </context-param>
   
  +MYFACES_BEGIN
  +  <listener>
  +    <listener-class>
  +      net.sourceforge.myfaces.webapp.StartupServletContextListener
  +    </listener-class>
  +  </listener>
  +MYFACES_END
  +
     <!-- JavaServer Faces Servlet Configuration -->
     <servlet>
       <servlet-name>faces</servlet-name>
  
  
  
  1.4       +10 -0     jakarta-struts/contrib/struts-faces/web/example2/WEB-INF/web.xml
  
  Index: web.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-struts/contrib/struts-faces/web/example2/WEB-INF/web.xml,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- web.xml   8 Mar 2004 03:07:37 -0000       1.3
  +++ web.xml   28 Aug 2004 21:32:48 -0000      1.4
  @@ -29,6 +29,16 @@
   
     <display-name>Struts-Faces Integration Library Example</display-name>
   
  +
  +MYFACES_BEGIN
  +  <listener>
  +    <listener-class>
  +      net.sourceforge.myfaces.webapp.StartupServletContextListener
  +    </listener-class>
  +  </listener>
  +MYFACES_END
  +
  +
     <!-- JavaServer Faces Servlet Configuration -->
     <servlet>
       <servlet-name>faces</servlet-name>
  
  
  
  1.2       +10 -0     jakarta-struts/contrib/struts-faces/web/systest/WEB-INF/web.xml
  
  Index: web.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-struts/contrib/struts-faces/web/systest/WEB-INF/web.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- web.xml   3 Aug 2004 07:01:09 -0000       1.1
  +++ web.xml   28 Aug 2004 21:32:48 -0000      1.2
  @@ -33,6 +33,16 @@
       <param-value>@state@</param-value>
     </context-param>
   
  +
  +MYFACES_BEGIN
  +  <listener>
  +    <listener-class>
  +      net.sourceforge.myfaces.webapp.StartupServletContextListener
  +    </listener-class>
  +  </listener>
  +MYFACES_END
  +
  +
     <!-- JavaServer Faces Servlet Configuration -->
     <servlet>
       <servlet-name>faces</servlet-name>
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to