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="<!-- MyFaces Listener"/>
+ <replace dir="${build.home}/webapps/example/WEB-INF"
+ token="MYFACES_END"
+ value="-->"/>
+
+ </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="<!-- MyFaces Listener -->"/>
+ <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="<!-- MyFaces Listener"/>
+ <replace dir="${build.home}/webapps/example2/WEB-INF"
+ token="MYFACES_END"
+ value="-->"/>
+
+ </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="<!-- MyFaces Listener -->"/>
+ <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="<!-- MyFaces Listener"/>
+ <replace dir="${build.home}/webapps/systest/WEB-INF"
+ token="MYFACES_END"
+ value="-->"/>
+
+ </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="<!-- MyFaces Listener -->"/>
+ <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]