You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by so...@apache.org on 2009/11/09 07:30:31 UTC

svn commit: r833977 - in /myfaces/portlet-bridge/testsuite/trunk: pom.xml src/main/webapp/WEB-INF/web.xml src/test/java/org/apache/myfaces/portlet/faces/tckharness/TckTestCase.java

Author: sobryan
Date: Mon Nov  9 06:30:31 2009
New Revision: 833977

URL: http://svn.apache.org/viewvc?rev=833977&view=rev
Log:
Updated some of the build scripts to handle different testing scenarios.  Look at wiki.

Modified:
    myfaces/portlet-bridge/testsuite/trunk/pom.xml
    myfaces/portlet-bridge/testsuite/trunk/src/main/webapp/WEB-INF/web.xml
    myfaces/portlet-bridge/testsuite/trunk/src/test/java/org/apache/myfaces/portlet/faces/tckharness/TckTestCase.java

Modified: myfaces/portlet-bridge/testsuite/trunk/pom.xml
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/testsuite/trunk/pom.xml?rev=833977&r1=833976&r2=833977&view=diff
==============================================================================
--- myfaces/portlet-bridge/testsuite/trunk/pom.xml (original)
+++ myfaces/portlet-bridge/testsuite/trunk/pom.xml Mon Nov  9 06:30:31 2009
@@ -22,17 +22,59 @@
     <version>3-SNAPSHOT</version>
   </parent>
 
-  <properties>
+  <properties>
+    <!-- Specification Configurations -->
     <servlet.version>2.5</servlet.version>
-    <jsp.version>2.1</jsp.version>    
     <portlet.version>1.0</portlet.version>
-    <bridge.version>1.0.0-SNAPSHOT</bridge.version>
+    <jsp.version>2.1</jsp.version>
+    
+    <!-- Bridge Configurations -->
+    <portlet-bridge.version>1.0.0-SNAPSHOT</portlet-bridge.version>
+    <portlet-bridge.groupId>${project.groupId}</portlet-bridge.groupId>
+
+    <portlet-bridge.api.groupId>${portlet-bridge.groupId}</portlet-bridge.api.groupId>
+    <portlet-bridge.api.artifactId>portlet-bridge-api</portlet-bridge.api.artifactId>  
+    <portlet-bridge.api.version>${portlet-bridge.version}</portlet-bridge.api.version>
+    <portlet-bridge.impl.groupId>${portlet-bridge.groupId}</portlet-bridge.impl.groupId>
+    <portlet-bridge.impl.artifactId>portlet-bridge-impl</portlet-bridge.impl.artifactId>  
+    <portlet-bridge.impl.version>${portlet-bridge.version}</portlet-bridge.impl.version>
+    
+    <!-- Faces Implementation Default Version Numbers -->
+    <mojarra.version>1.2_03</mojarra.version>
+    <myfaces.version>1.2.2</myfaces.version>
+    
+    <!-- JSF Implementation in use -->
+    <jsf.groupId>javax.faces</jsf.groupId>
+    <jsf.version>${mojarra.version}</jsf.version>
+
+    <jsf.api.groupId>${jsf.groupId}</jsf.api.groupId>
+    <jsf.api.artifactId>jsf-api</jsf.api.artifactId>
+    <jsf.api.version>${jsf.version}</jsf.api.version>
+    <jsf.impl.groupId>${jsf.groupId}</jsf.impl.groupId>
+    <jsf.impl.artifactId>jsf-impl</jsf.impl.artifactId>
+    <jsf.impl.version>${jsf.version}</jsf.impl.version>
+
+    <!-- Implementation Configurations -->    
     <jetty.version>6.1.10</jetty.version>
     <pluto-embedded.version>1.0.1</pluto-embedded.version>
-    <pluto.version>1.1.7</pluto.version>
-    <jsf.version>1.2_03</jsf.version>
+    <pluto.version>1.1.7</pluto.version>    
     <selenium.version>1.0-beta-1</selenium.version>
-    <junit.version>4.7</junit.version>
+    <junit.version>4.7</junit.version>
+    
+    <!-- TCK Test Application Configuration -->
+    <bridge.tck.test.file.stylesheet>${basedir}/src/test/resources/test.xsl</bridge.tck.test.file.stylesheet>
+    <bridge.tck.test.file.dir>${project.build.directory}/generated-resources/xml/xslt</bridge.tck.test.file.dir>
+    <bridge.tck.test.file.name>test.xml</bridge.tck.test.file.name>
+    <bridge.tck.test.host>localhost</bridge.tck.test.host>
+    <bridge.tck.test.port>8080</bridge.tck.test.port>
+    <bridge.tck.test.path>${project.artifactId}/pluto/index.jsp?portlet=</bridge.tck.test.path>
+    <bridge.tck.test.filter></bridge.tck.test.filter>
+
+    <!-- TCK Test Harness Configuration -->
+    <bridge.tck.host>localhost</bridge.tck.host>
+    <bridge.tck.port>4444</bridge.tck.port>
+    <bridge.tck.browser>*firefox</bridge.tck.browser>
+    <bridge.tck.login-file></bridge.tck.login-file>    
   </properties>
   
   <!-- issueManagement is in parent -->
@@ -52,7 +94,46 @@
       <id>apache-site</id>
       <url>scpexe://minotaur.apache.org/www/myfaces.apache.org/portlet-bridge/testsuite</url>
     </site>
-  </distributionManagement>
+  </distributionManagement>
+  
+  <dependencyManagement>
+    <dependencies>
+      <dependency>
+        <groupId>${jsf.api.groupId}</groupId>
+        <artifactId>${jsf.api.artifactId}</artifactId>
+        <version>${jsf.api.version}</version>
+        <scope>provided</scope>
+      </dependency>
+
+      <dependency>
+        <groupId>${jsf.impl.groupId}</groupId>
+        <artifactId>${jsf.impl.artifactId}</artifactId>
+        <version>${jsf.impl.version}</version>
+        <scope>runtime</scope>
+      </dependency>
+
+      <dependency>
+        <groupId>${portlet-bridge.api.groupId}</groupId>
+        <artifactId>${portlet-bridge.api.artifactId}</artifactId>
+        <version>${portlet-bridge.api.version}</version>
+        <scope>provided</scope>
+      </dependency>
+
+      <dependency>
+        <groupId>${portlet-bridge.impl.groupId}</groupId>
+        <artifactId>${portlet-bridge.impl.artifactId}</artifactId>
+        <version>${portlet-bridge.impl.version}</version>
+        <scope>runtime</scope>
+      </dependency>
+
+      <dependency>
+        <groupId>com.bekk.boss</groupId>
+        <artifactId>maven-jetty-pluto-embedded</artifactId>
+        <version>${pluto-embedded.version}</version>
+        <scope>provided</scope>
+      </dependency>
+    </dependencies>
+  </dependencyManagement>
   
   <dependencies>
     <dependency>
@@ -74,43 +155,30 @@
       <artifactId>jsp-api</artifactId>
       <version>${jsp.version}</version>
       <scope>provided</scope>
-    </dependency>
-
-    <dependency>
-      <groupId>javax.faces</groupId>
-      <artifactId>jsf-api</artifactId>
-      <version>${jsf.version}</version>
-      <scope>compile</scope>
-    </dependency>
-    
-    <dependency>
-      <groupId>javax.faces</groupId>
-      <artifactId>jsf-impl</artifactId>
-      <version>${jsf.version}</version>
-      <scope>compile</scope>
-    </dependency>
-    
+    </dependency>
+    
     <dependency>
       <groupId>portlet-api</groupId>
       <artifactId>portlet-api</artifactId>
       <version>${portlet.version}</version>
       <scope>provided</scope>
     </dependency>
-            
+
+    <dependency>
+      <groupId>${jsf.api.groupId}</groupId>
+      <artifactId>${jsf.api.artifactId}</artifactId>
+    </dependency>
+                
+    <dependency>
+      <groupId>${portlet-bridge.api.groupId}</groupId>
+      <artifactId>${portlet-bridge.api.artifactId}</artifactId>
+    </dependency>
+    
     <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>portlet-bridge-api</artifactId>
-      <version>${bridge.version}</version>
-      <scope>compile</scope>
-    </dependency>
-
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>portlet-bridge-impl</artifactId>
-      <version>${bridge.version}</version>
-      <scope>runtime</scope>
-    </dependency>
-    
+      <groupId>com.bekk.boss</groupId>
+      <artifactId>maven-jetty-pluto-embedded</artifactId>
+    </dependency>
+
     <dependency>
       <groupId>org.openqa.selenium.client-drivers</groupId>
       <artifactId>selenium-java-client-driver</artifactId>
@@ -123,53 +191,11 @@
       <artifactId>junit</artifactId>
       <version>${junit.version}</version>
       <scope>test</scope>
-    </dependency>
-    
-    <dependency>
-      <groupId>com.bekk.boss</groupId>
-      <artifactId>maven-jetty-pluto-embedded</artifactId>
-      <version>${pluto-embedded.version}</version>
-      <scope>compile</scope>
-    </dependency>
+    </dependency>    
   </dependencies>
   
   <build>
-    <plugins>
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>selenium-maven-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>start</id>
-            <phase>process-test-classes</phase>
-            <goals>
-              <goal>start-server</goal>
-            </goals>
-            <configuration>
-              <background>true</background>
-              <logOutput>true</logOutput>
-              <multiWindow>true</multiWindow>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-      
-      <plugin>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <configuration>
-          <systemProperties>
-            <property>
-              <name>bridge.tck.host</name>
-              <value>http://localhost:8080</value>
-           </property>
-            <property>
-              <name>bridge.tck.test.file</name>
-              <value>target/generated-resources/xml/xslt/test.xml</value>
-            </property>
-          </systemProperties>
-        </configuration>
-      </plugin>
-
+    <plugins>      
       <plugin>
         <artifactId>maven-jdev-plugin</artifactId>
         <groupId>org.apache.myfaces.trinidadbuild</groupId>
@@ -205,98 +231,312 @@
               <dir>${basedir}/src/main/webapp/WEB-INF</dir>
               <includes>
                 <include>portlet.xml</include>
-              </includes>
+              </includes>
+              <outputDir>${bridge.tck.test.file.dir}</outputDir>
               <fileMappers>
                 <fileMapper implementation="org.codehaus.plexus.components.io.filemappers.MergeFileMapper">
-                  <targetName>test.xml</targetName>
+                  <targetName>${bridge.tck.test.file.name}</targetName>
                 </fileMapper>
               </fileMappers>
               <parameters>
                 <parameter>
                   <name>page-path</name>
-                  <value>${project.artifactId}/pluto/index.jsp?portlet=</value>
+                  <value>${bridge.tck.test.path}</value>
                 </parameter>
               </parameters>                
-              <stylesheet>${basedir}/src/test/resources/test.xsl</stylesheet>
-            </transformationSet>
-            <transformationSet>
-              <dir>${basedir}/src/main/webapp/WEB-INF</dir>
-              <includes>
-                <include>portlet.xml</include>
-              </includes>
-              <fileMappers>
-                <fileMapper implementation="org.codehaus.plexus.components.io.filemappers.MergeFileMapper">
-                  <targetName>pluto-portal-driver-config.xml</targetName>
-                </fileMapper>
-              </fileMappers>
-              <parameters>
-                <parameter>
-                  <name>portlet-app-context</name>
-                  <value>${project.artifactId}</value>
-                </parameter>
-              </parameters>  
-              <outputDir>${project.build.directory}/${project.artifactId}-${project.version}/WEB-INF</outputDir>
-              <stylesheet>${basedir}/src/test/resources/pluto-portal-driver-config.xsl</stylesheet>
+              <stylesheet>${bridge.tck.test.file.stylesheet}</stylesheet>
             </transformationSet>
           </transformationSets>
         </configuration>
       </plugin>
-
-      <plugin>
-        <groupId>org.mortbay.jetty</groupId>
-        <artifactId>maven-jetty-plugin</artifactId>
-        <version>${jetty.version}</version>
-        <configuration>
-          <webDefaultXml>${basedir}/src/main/webapp/WEB-INF/jetty-pluto-web-default.xml</webDefaultXml>
-          <webXml>${project.build.directory}/pluto-resources/web.xml</webXml>
-          <!-- see http://docs.codehaus.org/display/JETTY/Maven+Jetty+Plugin systemPropertiesFile -->
-          <!--systemProperties>
-            <systemProperty>
-              <name>org.apache.pluto.embedded.portletIds</name>
-              <value>chapter6Tests-wrappedFacesContextTest-portlet</value>
-            </systemProperty>
-          </systemProperties-->
-        </configuration>
-        <executions>
-          <execution>
-            <id>start-jetty</id>
-            <phase>process-test-classes</phase>
-            <goals>
-              <goal>run</goal>
-            </goals>
-            <configuration>
-              <scanIntervalSeconds>0</scanIntervalSeconds>
-              <daemon>true</daemon>
-            </configuration>
-          </execution>
-          <execution>
-            <id>stop-jetty</id>
-            <phase>test</phase>
-            <goals>
-              <goal>stop</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-
-      <plugin>
-        <groupId>org.apache.pluto</groupId>
-        <artifactId>maven-pluto-plugin</artifactId>
-        <version>${pluto.version}</version>
-        <executions>
-          <execution>
-            <phase>generate-resources</phase>
-            <goals>
-              <goal>assemble</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-
-    </plugins>
+    </plugins>
+    
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <groupId>org.codehaus.mojo</groupId>
+          <artifactId>selenium-maven-plugin</artifactId>
+          <executions>
+            <execution>
+              <id>start</id>
+              <phase>process-test-classes</phase>
+              <goals>
+                <goal>start-server</goal>
+              </goals>
+              <configuration>
+                <background>true</background>
+                <logOutput>true</logOutput>
+                <multiWindow>true</multiWindow>
+              </configuration>
+            </execution>
+          </executions>
+        </plugin>
+
+        <plugin>
+          <artifactId>maven-surefire-plugin</artifactId>
+          <configuration>
+            <systemProperties>
+              <property>
+                <!--name>bridge.tck.host</name-->
+                <name>bridge.tck.client.base.url</name>
+                <value>${bridge.tck.base-url}</value>
+             </property>
+              <property>
+                <name>bridge.tck.test.file</name>
+                <value>${bridge.tck.test.file.dir}/${bridge.tck.test.file.name}</value>
+              </property>
+              <property>
+                <name>bridge.tck.test.base-url</name>
+                <value>http://${bridge.tck.test.host}:${bridge.tck.test.port}</value>
+              </property>
+            </systemProperties>
+          </configuration>
+        </plugin>
+        
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-surefire-report-plugin</artifactId>
+        </plugin>
+
+        <plugin>
+          <groupId>org.mortbay.jetty</groupId>
+          <artifactId>maven-jetty-plugin</artifactId>
+          <version>${jetty.version}</version>
+          <configuration>
+            <webDefaultXml>${basedir}/src/main/webapp/WEB-INF/jetty-pluto-web-default.xml</webDefaultXml>
+            <webXml>${project.build.directory}/pluto-resources/web.xml</webXml>
+            <stopPort>9966</stopPort>
+            <stopKey>foo</stopKey>
+          </configuration>
+          <executions>
+            <execution>
+              <id>start-jetty</id>
+              <phase>process-test-classes</phase>
+              <goals>
+                <goal>run</goal>
+              </goals>
+              <configuration>
+                <scanIntervalSeconds>0</scanIntervalSeconds>
+                <daemon>true</daemon>
+              </configuration>
+            </execution>
+            <execution>
+              <id>stop-jetty</id>
+              <phase>test</phase>
+              <goals>
+                <goal>stop</goal>
+              </goals>
+            </execution>
+          </executions>
+        </plugin>
+
+        <plugin>
+          <groupId>org.apache.pluto</groupId>
+          <artifactId>maven-pluto-plugin</artifactId>
+          <version>${pluto.version}</version>
+          <executions>
+            <execution>
+              <phase>generate-resources</phase>
+              <goals>
+                <goal>assemble</goal>
+              </goals>
+            </execution>
+          </executions>
+        </plugin>  
+      </plugins>
+    </pluginManagement>
   </build>
   
-  <profiles>  
+  <profiles>
+    <profile>
+      <id>tck-default</id>
+      <activation>
+        <property>
+          <name>!tck.generate-war</name>
+        </property>
+      </activation>
+      
+      <dependencies>
+        <dependency>
+          <groupId>${jsf.api.groupId}</groupId>
+          <artifactId>${jsf.api.artifactId}</artifactId>
+          <scope>compile</scope>
+        </dependency>
+
+        <dependency>
+          <groupId>${jsf.impl.groupId}</groupId>
+          <artifactId>${jsf.impl.artifactId}</artifactId>
+        </dependency>        
+
+        <dependency>
+          <groupId>${portlet-bridge.api.groupId}</groupId>
+          <artifactId>${portlet-bridge.api.artifactId}</artifactId>
+          <scope>compile</scope>
+        </dependency>
+          
+        <dependency>
+          <groupId>${portlet-bridge.impl.groupId}</groupId>
+          <artifactId>${portlet-bridge.impl.artifactId}</artifactId>
+        </dependency>
+        
+        <dependency>
+          <groupId>com.bekk.boss</groupId>
+          <artifactId>maven-jetty-pluto-embedded</artifactId>
+          <scope>compile</scope>
+        </dependency>    
+      </dependencies>      
+      
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>selenium-maven-plugin</artifactId>
+          </plugin>
+          <plugin>
+            <artifactId>maven-surefire-plugin</artifactId>
+          </plugin>
+          <plugin>
+            <groupId>org.mortbay.jetty</groupId>
+            <artifactId>maven-jetty-plugin</artifactId>
+          </plugin>
+          <plugin>
+            <groupId>org.apache.pluto</groupId>
+            <artifactId>maven-pluto-plugin</artifactId>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+    
+    <profile>
+      <id>tck-war</id>
+      <activation>
+        <property>
+          <name>tck.generate-war</name>
+        </property>
+      </activation>
+      
+      <properties>
+        <maven.test.skip>true</maven.test.skip>
+      </properties>      
+      
+    </profile>
+    
+    <profile>
+      <id>tck-war-pluto</id>
+      <activation>
+        <property>
+          <name>tck.generate-war</name>
+          <value>pluto</value>
+        </property>
+      </activation>
+
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.pluto</groupId>
+            <artifactId>maven-pluto-plugin</artifactId>
+          </plugin>
+          <plugin>
+            <artifactId>maven-war-plugin</artifactId>
+            <configuration>
+              <webXml>${project.build.directory}/pluto-resources/web.xml</webXml>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>      
+    </profile>
+
+    <!-- This profile switches the jsf implementation from mojarra to myfaces. -->    
+    <profile>
+      <id>jsf-myfaces</id>
+      <activation>
+        <property>
+          <name>jsf</name>
+          <value>myfaces</value>
+        </property>
+      </activation>
+        
+      <properties>
+        <jsf.groupId>org.apache.myfaces.core</jsf.groupId>
+        <jsf.version>${myfaces.version}</jsf.version>
+        <jsf.api.artifactId>myfaces-api</jsf.api.artifactId>
+        <jsf.impl.artifactId>myfaces-impl</jsf.impl.artifactId>
+      </properties>
+    </profile>    
+    
+    <!-- 
+      If -Djsf is specified at all, include jsf.  This allows us to include jsf in the war file on -Djsf=myfaces or 
+      -Djsf=mojarra.  If no jsf parameter is found, then jsf will be expected to be "provided".  Also note that the
+      default profile includes JSF for purposes of running the tck automatically against a build.
+    -->     
+    <profile>
+      <id>jsf-include</id>
+      <activation>
+        <property>
+          <name>jsf</name>
+        </property>
+      </activation>
+
+      <dependencies>
+        <dependency>
+          <groupId>${jsf.api.groupId}</groupId>
+          <artifactId>${jsf.api.artifactId}</artifactId>
+          <scope>compile</scope>
+        </dependency>
+
+        <dependency>
+          <groupId>${jsf.impl.groupId}</groupId>
+          <artifactId>${jsf.impl.artifactId}</artifactId>
+        </dependency>
+      </dependencies>
+    </profile>
+    
+    <!--
+      If the -DincludeBridge setting is not specified then this profile takes over.  This is the default and
+      should be the same as the bridge-include profile below.  This could be optimized in the pom if we modified
+      the build only on -includeBridge=false BUT we might run into issues with the tck-default profile above which always
+      needs a bridge to be include regardless of the includeBridge setting.  Enabling the default throught the profile
+      will allow us to configure tck-default to always include the bridge.
+    -->    
+    <profile>
+      <id>bridge-include-default</id>
+      <activation>
+        <property>
+          <name>includeBridge</name>
+          <value>!false</value>
+        </property>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>${portlet-bridge.api.groupId}</groupId>
+          <artifactId>${portlet-bridge.api.artifactId}</artifactId>
+          <scope>compile</scope>
+        </dependency>
+          
+        <dependency>
+          <groupId>${portlet-bridge.impl.groupId}</groupId>
+          <artifactId>${portlet-bridge.impl.artifactId}</artifactId>
+        </dependency>
+      </dependencies>
+    </profile>
+    
+    <profile>
+      <id>enable-jboss-repositories</id>
+      <repositories>
+        <repository>
+          <id>JBoss</id>
+          <name>JBoss Repository</name>
+          <url>http://repository.jboss.org/maven2</url>
+          <releases>
+            <enabled>true</enabled>
+          </releases>
+          <snapshots>
+            <enabled>false</enabled>
+          </snapshots>
+        </repository>
+      </repositories>
+    </profile>
+
     <!-- This profile is invoked by -DprepareRelease=true.  This allows mvn release:prepare to
          run successfully on the assembly projects. -->
     <profile>

Modified: myfaces/portlet-bridge/testsuite/trunk/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/testsuite/trunk/src/main/webapp/WEB-INF/web.xml?rev=833977&r1=833976&r2=833977&view=diff
==============================================================================
--- myfaces/portlet-bridge/testsuite/trunk/src/main/webapp/WEB-INF/web.xml (original)
+++ myfaces/portlet-bridge/testsuite/trunk/src/main/webapp/WEB-INF/web.xml Mon Nov  9 06:30:31 2009
@@ -8,25 +8,6 @@
     <param-value>.jsp</param-value>
   </context-param>
   
-  <!-- MyFaces listeners + bridge listener -->
-  <!-- listener>
-    <listener-class>org.apache.myfaces.webapp.MyFacesServletContextListener</listener-class>
-  </listener>
-  <listener>
-    <listener-class>org.apache.myfaces.webapp.MyFacesHttpSessionAttributeListener</listener-class>
-  </listener>
-  <listener>
-    <listener-class>org.apache.myfaces.webapp.MyFacesHttpSessionListener</listener-class>
-  </listener>
-  <listener>
-    <listener-class>org.apache.myfaces.webapp.MyfacesServletRequestAttributeListener</listener-class>
-  </listener>
-  <listener>
-    <listener-class>org.apache.myfaces.webapp.MyFacesServletRequestListener</listener-class>
-  </listener>
-  <listener>
-    <listener-class>org.apache.myfaces.portlet.faces.bridge.BridgeImpl</listener-class>
-  </listener -->
   
   <!-- Faces Servlet -->
   <servlet>
@@ -34,692 +15,7 @@
     <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
   </servlet>
   
-<!-- Chapter 3 Tests -->
-  <servlet>
-    <servlet-name>chapter3Tests-bridgeVersionTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter3Tests-bridgeVersionTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-
-<!-- Chapter 6 Tests -->
-
-<!-- FacesContextFactory tests -->
-  <servlet>
-    <servlet-name>chapter6_1_1Tests-facesContextFactoryServiceProviderTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_1Tests-facesContextFactoryServiceProviderTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  
-  <servlet>
-    <servlet-name>chapter6_1_1Tests-wrappedFacesContextTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_1Tests-wrappedFacesContextTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  
-<!-- Dispatch tests -->
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-dispatchUsesIncludeTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-dispatchUsesIncludeTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  
-<!-- encodeActionURL tests -->
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-encodeActionURLPoundCharTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-encodeActionURLPoundCharTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-encodeActionURLAbsoluteURLTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-encodeActionURLAbsoluteURLTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-encodeActionURLDirectLinkTrueTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-encodeActionURLDirectLinkTrueTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-encodeActionURLDirectLinkFalseTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-encodeActionURLDirectLinkFalseTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-encodeActionURLPortletRenderTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-encodeActionURLPortletRenderTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-encodeActionURLPortletActionTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-encodeActionURLPortletActionTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-encodeActionURLJSFViewActionTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-encodeActionURLJSFViewActionTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-encodeActionURLWithParamActionTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-encodeActionURLWithParamActionTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-encodeActionURLWithModeActionTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-encodeActionURLWithModeActionTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
 
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-encodeActionURLWithInvalidModeActionTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-encodeActionURLWithInvalidModeActionTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-encodeActionURLWithWindowStateActionTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-encodeActionURLWithWindowStateActionTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-encodeActionURLWithInvalidWindowStateActionTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-encodeActionURLWithInvalidWindowStateActionTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-
-<!-- Not Testable unless portlet container supports security encoding   
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-encodeActionURLWithSecurityActionTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-encodeActionURLWithSecurityActionTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-encodeActionURLWithInvalidSecurityActionTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-encodeActionURLWithInvalidSecurityActionTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
--->
-  
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-encodeActionURLJSFViewRenderTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-encodeActionURLJSFViewRenderTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-encodeActionURLWithParamRenderTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-encodeActionURLWithParamRenderTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-encodeActionURLWithModeRenderTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-encodeActionURLWithModeRenderTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-encodeActionURLWithInvalidModeRenderTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-encodeActionURLWithInvalidModeRenderTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-encodeActionURLWithWindowStateRenderTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-encodeActionURLWithWindowStateRenderTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-encodeActionURLWithInvalidWindowStateRenderTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-encodeActionURLWithInvalidWindowStateRenderTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
- 
-<!-- Not Testable unless portlet container supports security encoding     
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-encodeActionURLWithSecurityRenderTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-encodeActionURLWithSecurityRenderTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-encodeActionURLWithInvalidSecurityRenderTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-encodeActionURLWithInvalidSecurityRenderTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
--->  
-  
-  <!-- EncodeResourceURL Tests -->
-    <servlet>
-    <servlet-name>chapter6_1_3_1Tests-encodeResourceURLOpaqueTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-encodeResourceURLOpaqueTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-encodeResourceURLForeignExternalURLTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-encodeResourceURLForeignExternalURLTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-encodeResourceURLForeignExternalURLBackLinkTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-encodeResourceURLForeignExternalURLBackLinkTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-encodeResourceURLRelativeURLTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-encodeResourceURLRelativeURLTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-encodeResourceURLRelativeURLBackLinkTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-encodeResourceURLRelativeURLBackLinkTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-encodeResourceURLTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-encodeResourceURLTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-encodeResourceURLRelativeBackLinkTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-encodeResourceURLRelativeBackLinkTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-encodeResourceURLViewLinkTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-encodeResourceURLViewLinkTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-encodeResourceURLViewLinkWithBackLinkTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-encodeResourceURLViewLinkWithBackLinkTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  
-   <!-- getRequest and setRequest Test  -->  
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-getSetRequestObjectTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-getSetRequestObjectTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  
-   <!-- setRequestCharacterEncoding Tests  -->  
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-setRequestCharacterEncodingRenderTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-setRequestCharacterEncodingRenderTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-setRequestCharacterEncodingActionTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-setRequestCharacterEncodingActionTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-
-   <!-- getRequestHeaderMap Tests  -->  
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-getRequestHeaderMapRenderTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-getRequestHeaderMapRenderTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-getRequestHeaderMapActionTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-getRequestHeaderMapActionTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  
-
-   <!-- getRequestHeaderValuesMap Tests  -->  
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-getRequestHeaderValuesMapRenderTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-getRequestHeaderValuesMapRenderTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-getRequestHeaderValuesMapActionTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-getRequestHeaderValuesMapActionTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  
-   <!-- getRequestMap Tests  -->  
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-requestMapCoreTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-requestMapCoreTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-requestMapRequestScopeTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-requestMapRequestScopeTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-
-<!-- Not Testable in cross-context portlet containers   
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-requestMapPreDestroyRemoveWithinActionTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-requestMapPreDestroyRemoveWithinActionTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
--->
-  
-   <!-- getRequestParameterMap Tests  -->  
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-getRequestParameterMapCoreTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-getRequestParameterMapCoreTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-getRequestParameterPreserveParamsTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-getRequestParameterPreserveParamsTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-getRequestParameterDefaultViewParamsTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-getRequestParameterDefaultViewParamsTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  
-   <!-- getRequestParameterNames Tests  -->  
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-getRequestParameterNamesCoreTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-getRequestParameterNamesCoreTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-getRequestParameterNamesPreserveParamsTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-getRequestParameterNamesPreserveParamsTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  
-  
-   <!-- getRequestPathInfo/getRequestServletPath Tests  -->  
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-getRequestPathInfoTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-getRequestPathInfoTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-getRequestServletPathTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-getRequestServletPathTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  
-  
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-getRequestParameterNamesDefaultViewParamsTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-getRequestParameterNamesDefaultViewParamsTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  
-  <!-- getRequest/Response-ContentType/CharacterEncoding tests -->
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-getRequestCharacterEncodingRenderTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-getRequestCharacterEncodingRenderTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-getRequestCharacterEncodingActionTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-getRequestCharacterEncodingActionTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-getRequestContentTypeRenderTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-getRequestContentTypeRenderTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-getRequestContentTypeActionTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-getRequestContentTypeActionTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  
-   <servlet>
-    <servlet-name>chapter6_1_3_1Tests-getResponseCharacterEncodingRenderTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-getResponseCharacterEncodingRenderTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-getResponseCharacterEncodingActionTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-getResponseCharacterEncodingActionTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-getResponseContentTypeRenderTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-getResponseContentTypeRenderTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-getResponseContentTypeActionTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-getResponseContentTypeActionTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  
-   
-   <!-- redirect tests -->
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-redirectActionTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-redirectActionTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet> 
-  
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-redirectRenderTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-redirectRenderTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet> 
-
-  <servlet>
-    <servlet-name>chapter6_1_3_1Tests-illegalRedirectRenderTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>chapter6_1_3_1Tests-illegalRedirectRenderTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet> 
-   
-   <!-- Samples Tests that use Generic Test JSF.jsp pages -->  
-  <servlet>
-    <servlet-name>sampleTests-singleRequestTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>sampleTests-singleRequestTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  <servlet>
-    <servlet-name>sampleTests-multiRequestTest-portlet</servlet-name>
-    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-    <init-param>
-      <param-name>portlet-name</param-name>
-      <param-value>sampleTests-multiRequestTest-portlet</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
   <!-- Faces Servlet Mappings -->
   <!-- 
     In this demo application, I chose to use suffix mapping.  I did this because it makes urls
@@ -730,310 +26,5 @@
     <servlet-name>faces</servlet-name>
     <url-pattern>*.jsf</url-pattern>
   </servlet-mapping>
-  
-  <!-- Chapter 3 tests -->
-  <servlet-mapping>
-    <servlet-name>chapter3Tests-bridgeVersionTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter3Tests-bridgeVersionTest-portlet</url-pattern>
-  </servlet-mapping>
-
-  <!-- Chapter 6 tests -->
-  <servlet-mapping>
-    <servlet-name>chapter6_1_1Tests-facesContextFactoryServiceProviderTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_1Tests-facesContextFactoryServiceProviderTest-portlet</url-pattern>
-  </servlet-mapping>
-  <servlet-mapping>
-    <servlet-name>chapter6_1_1Tests-wrappedFacesContextTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_1Tests-wrappedFacesContextTest-portlet</url-pattern>
-  </servlet-mapping>  
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-dispatchUsesIncludeTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-dispatchUsesIncludeTest-portlet</url-pattern>
-  </servlet-mapping>
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-encodeActionURLPoundCharTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-encodeActionURLPoundCharTest-portlet</url-pattern>
-  </servlet-mapping> 
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-encodeActionURLAbsoluteURLTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-encodeActionURLAbsoluteURLTest-portlet</url-pattern>
-  </servlet-mapping>
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-encodeActionURLDirectLinkTrueTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-encodeActionURLDirectLinkTrueTest-portlet</url-pattern>
-  </servlet-mapping>  
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-encodeActionURLDirectLinkFalseTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-encodeActionURLDirectLinkFalseTest-portlet</url-pattern>
-  </servlet-mapping>
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-encodeActionURLPortletRenderTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-encodeActionURLPortletRenderTest-portlet</url-pattern>
-  </servlet-mapping>
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-encodeActionURLPortletActionTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-encodeActionURLPortletActionTest-portlet</url-pattern>
-  </servlet-mapping>
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-encodeActionURLJSFViewActionTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-encodeActionURLJSFViewActionTest-portlet</url-pattern>
-  </servlet-mapping>  
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-encodeActionURLWithParamActionTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-encodeActionURLWithParamActionTest-portlet</url-pattern>
-  </servlet-mapping>
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-encodeActionURLWithModeActionTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-encodeActionURLWithModeActionTest-portlet</url-pattern>
-  </servlet-mapping>
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-encodeActionURLWithInvalidModeActionTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-encodeActionURLWithInvalidModeActionTest-portlet</url-pattern>
-  </servlet-mapping>
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-encodeActionURLWithWindowStateActionTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-encodeActionURLWithWindowStateActionTest-portlet</url-pattern>
-  </servlet-mapping>  
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-encodeActionURLWithInvalidWindowStateActionTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-encodeActionURLWithInvalidWindowStateActionTest-portlet</url-pattern>
-  </servlet-mapping>
-  <!-- Not Testable unless portlet container supports security encoding   
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-encodeActionURLWithSecurityActionTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-encodeActionURLWithSecurityActionTest-portlet</url-pattern>
-  </servlet-mapping>  
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-encodeActionURLWithInvalidSecurityActionTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-encodeActionURLWithInvalidSecurityActionTest-portlet</url-pattern>
-  </servlet-mapping>
--->  
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-encodeActionURLJSFViewRenderTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-encodeActionURLJSFViewRenderTest-portlet</url-pattern>
-  </servlet-mapping>  
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-encodeActionURLWithParamRenderTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-encodeActionURLWithParamRenderTest-portlet</url-pattern>
-  </servlet-mapping>
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-encodeActionURLWithModeRenderTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-encodeActionURLWithModeRenderTest-portlet</url-pattern>
-  </servlet-mapping>
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-encodeActionURLWithInvalidModeRenderTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-encodeActionURLWithInvalidModeRenderTest-portlet</url-pattern>
-  </servlet-mapping>
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-encodeActionURLWithWindowStateRenderTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-encodeActionURLWithWindowStateRenderTest-portlet</url-pattern>
-  </servlet-mapping>  
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-encodeActionURLWithInvalidWindowStateRenderTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-encodeActionURLWithInvalidWindowStateRenderTest-portlet</url-pattern>
-  </servlet-mapping>
-<!-- Not Testable unless portlet container supports security encoding     
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-encodeActionURLWithSecurityRenderTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-encodeActionURLWithSecurityRenderTest-portlet</url-pattern>
-  </servlet-mapping>  
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-encodeActionURLWithInvalidSecurityRenderTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-encodeActionURLWithInvalidSecurityRenderTest-portlet</url-pattern>
-  </servlet-mapping>
--->  
-  
-  <!-- encodeResourceURL tests -->
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-encodeResourceURLOpaqueTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-encodeResourceURLOpaqueTest-portlet</url-pattern>
-  </servlet-mapping> 
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-encodeResourceURLForeignExternalURLTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-encodeResourceURLForeignExternalURLTest-portlet</url-pattern>
-  </servlet-mapping>
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-encodeResourceURLForeignExternalURLBackLinkTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-encodeResourceURLForeignExternalURLBackLinkTest-portlet</url-pattern>
-  </servlet-mapping>
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-encodeResourceURLRelativeURLTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-encodeResourceURLRelativeURLTest-portlet</url-pattern>
-  </servlet-mapping>
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-encodeResourceURLRelativeURLBackLinkTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-encodeResourceURLRelativeURLBackLinkTest-portlet</url-pattern>
-  </servlet-mapping>
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-encodeResourceURLTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-encodeResourceURLTest-portlet</url-pattern>
-  </servlet-mapping>  
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-encodeResourceURLRelativeBackLinkTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-encodeResourceURLRelativeBackLinkTest-portlet</url-pattern>
-  </servlet-mapping>
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-encodeResourceURLViewLinkTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-encodeResourceURLViewLinkTest-portlet</url-pattern>
-  </servlet-mapping>
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-encodeResourceURLViewLinkWithBackLinkTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-encodeResourceURLViewLinkWithBackLinkTest-portlet</url-pattern>
-  </servlet-mapping>
-  
-  <!-- getRequest and setRequest Test -->
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-getSetRequestObjectTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-getSetRequestObjectTest-portlet</url-pattern>
-  </servlet-mapping>  
-  
-    <!-- getRequestCharacterEncoding Tests -->
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-setRequestCharacterEncodingRenderTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-setRequestCharacterEncodingRenderTest-portlet</url-pattern>
-  </servlet-mapping> 
-
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-setRequestCharacterEncodingActionTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-setRequestCharacterEncodingActionTest-portlet</url-pattern>
-  </servlet-mapping> 
-  
-  <!-- getRequestHeaderMap Tests -->
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-getRequestHeaderMapRenderTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-getRequestHeaderMapRenderTest-portlet</url-pattern>
-  </servlet-mapping> 
-
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-getRequestHeaderMapActionTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-getRequestHeaderMapActionTest-portlet</url-pattern>
-  </servlet-mapping> 
-  
-  <!-- getRequestHeaderValuesMap Tests -->
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-getRequestHeaderValuesMapRenderTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-getRequestHeaderValuesMapRenderTest-portlet</url-pattern>
-  </servlet-mapping> 
-
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-getRequestHeaderValuesMapActionTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-getRequestHeaderValuesMapActionTest-portlet</url-pattern>
-  </servlet-mapping> 
-  
-  <!-- getRequestMap Tests -->
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-requestMapCoreTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-requestMapCoreTest-portlet</url-pattern>
-  </servlet-mapping> 
-
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-requestMapRequestScopeTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-requestMapRequestScopeTest-portlet</url-pattern>
-  </servlet-mapping> 
-
-<!-- Not testable in cross context portlet containers
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-requestMapPreDestroyRemoveWithinActionTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-requestMapPreDestroyRemoveWithinActionTest-portlet</url-pattern>
-  </servlet-mapping>
--->
-  
-  <!-- getRequestParameterMap Tests -->
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-getRequestParameterMapCoreTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-getRequestParameterMapCoreTest-portlet</url-pattern>
-  </servlet-mapping> 
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-getRequestParameterPreserveParamsTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-getRequestParameterPreserveParamsTest-portlet</url-pattern>
-  </servlet-mapping> 
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-getRequestParameterDefaultViewParamsTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-getRequestParameterDefaultViewParamsTest-portlet</url-pattern>
-  </servlet-mapping> 
-  
-    <!-- getRequestParameterNames Tests -->
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-getRequestParameterNamesCoreTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-getRequestParameterNamesCoreTest-portlet</url-pattern>
-  </servlet-mapping> 
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-getRequestParameterNamesPreserveParamsTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-getRequestParameterNamesPreserveParamsTest-portlet</url-pattern>
-  </servlet-mapping> 
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-getRequestParameterNamesDefaultViewParamsTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-getRequestParameterNamesDefaultViewParamsTest-portlet</url-pattern>
-  </servlet-mapping> 
-  
-    <!-- getRequestPathInfo/getRequestServletPath Tests -->
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-getRequestPathInfoTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-getRequestPathInfoTest-portlet</url-pattern>
-  </servlet-mapping> 
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-getRequestServletPathTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-getRequestServletPathTest-portlet</url-pattern>
-  </servlet-mapping> 
-  
-    <!-- getRequest/Response - ContentType/CharacterEncoding -->
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-getRequestCharacterEncodingRenderTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-getRequestCharacterEncodingRenderTest-portlet</url-pattern>
-  </servlet-mapping> 
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-getRequestCharacterEncodingActionTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-getRequestCharacterEncodingActionTest-portlet</url-pattern>
-  </servlet-mapping> 
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-getRequestContentTypeRenderTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-getRequestContentTypeRenderTest-portlet</url-pattern>
-  </servlet-mapping> 
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-getRequestContentTypeActionTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-getRequestContentTypeActionTest-portlet</url-pattern>
-  </servlet-mapping> 
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-getResponseCharacterEncodingRenderTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-getResponseCharacterEncodingRenderTest-portlet</url-pattern>
-  </servlet-mapping> 
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-getResponseCharacterEncodingActionTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-getResponseCharacterEncodingActionTest-portlet</url-pattern>
-  </servlet-mapping> 
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-getResponseContentTypeRenderTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-getResponseContentTypeRenderTest-portlet</url-pattern>
-  </servlet-mapping> 
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-getResponseContentTypeActionTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-getResponseContentTypeActionTest-portlet</url-pattern>
-  </servlet-mapping> 
-  
-  <!-- redirect Tests -->  
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-redirectActionTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-redirectActionTest-portlet</url-pattern>
-  </servlet-mapping>
-  
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-redirectRenderTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-redirectRenderTest-portlet</url-pattern>
-  </servlet-mapping>
-  
-  <servlet-mapping>
-    <servlet-name>chapter6_1_3_1Tests-illegalRedirectRenderTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/chapter6_1_3_1Tests-illegalRedirectRenderTest-portlet</url-pattern>
-  </servlet-mapping>
-  
-  <!-- Samples Tests that use Generic Test JSF.jsp pages -->  
-  <servlet-mapping>
-    <servlet-name>sampleTests-singleRequestTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/sampleTests-singleRequestTest-portlet</url-pattern>
-  </servlet-mapping>
-  <servlet-mapping>
-    <servlet-name>sampleTests-multiRequestTest-portlet</servlet-name>
-    <url-pattern>/PlutoInvoker/sampleTests-multiRequestTest-portlet</url-pattern>
-  </servlet-mapping>
 </web-app>
 

Modified: myfaces/portlet-bridge/testsuite/trunk/src/test/java/org/apache/myfaces/portlet/faces/tckharness/TckTestCase.java
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/testsuite/trunk/src/test/java/org/apache/myfaces/portlet/faces/tckharness/TckTestCase.java?rev=833977&r1=833976&r2=833977&view=diff
==============================================================================
--- myfaces/portlet-bridge/testsuite/trunk/src/test/java/org/apache/myfaces/portlet/faces/tckharness/TckTestCase.java (original)
+++ myfaces/portlet-bridge/testsuite/trunk/src/test/java/org/apache/myfaces/portlet/faces/tckharness/TckTestCase.java Mon Nov  9 06:30:31 2009
@@ -54,7 +54,7 @@
 @RunWith(TckParameterized.class)
 public class TckTestCase
 {
-  private static String MAX_WAIT = "30000";
+  private static String MAX_WAIT = "10000";
 
   protected static Selenium sSelenium;
   
@@ -78,21 +78,25 @@
   private static final String TCK_HOME = "BRIDGE_TCK_HOME";
   private static final String PROPS_FILE = "bridge.tck.properties";
   private static final String LOGIN_FILE = "bridge.tck.login.properties";
+  private static final String LOGIN_FILE_KEY = "bridge.tck.login.file";
 
-  private static final String HOST_KEY = "bridge.tck.host";
+  private static final String CLIENT_BASE_URL_KEY = "bridge.tck.test.base-url";
   private static final String TEST_FILE_KEY = "bridge.tck.test.file";
   private static final String TEST_FILTER_KEY = "bridge.tck.test.filter";
-  private static final String SELENIUM_HOST_KEY = "bridge.tck.selenium.host";
-  private static final String SELENIUM_PORT_KEY = "bridge.tck.selenium.port";
+  private static final String SELENIUM_BROWSER_KEY = "bridge.tck.browser";
+  private static final String SELENIUM_HOST_KEY = "bridge.tck.host";
+  private static final String SELENIUM_PORT_KEY = "bridge.tck.port";
 
+  private static final String DEFAULT_SELENIUM_BROWSER = "*firefox";
   private static final String DEFAULT_SELENIUM_HOST = "localhost";
-  private static final int DEFAULT_SELENIUM_PORT = 4444;
+  private static final String DEFAULT_SELENIUM_PORT = "4444";
   
-  private static String sTckHost;
+  private static String sClientBaseUrl;
   private static String sTestFile;
   private static String sTestFilter;
-  private static String sSeleniumHost = DEFAULT_SELENIUM_HOST;
-  private static int sSeleniumPort = DEFAULT_SELENIUM_PORT;
+  private static String sSeleniumBrowser; // = DEFAULT_SELENIUM_BROWSER;
+  private static String sSeleniumHost;  // = DEFAULT_SELENIUM_HOST;
+  private static int sSeleniumPort; // = DEFAULT_SELENIUM_PORT;
 
   // Name value pairs for fields in login page
   private static List<String[]> sLoginFields;
@@ -112,44 +116,59 @@
     Logger.getLogger("global").log(Level.SEVERE, msg);
   }
 
+  private static String getProperty(Properties fileProperties,
+                                    String key,
+                                    String defaultValue,
+                                    boolean required)
+  {
+    boolean checkFirst = (defaultValue != null);
+    if (System.getProperty(key) != null)
+    {
+      return System.getProperty(key);
+    }
+    if (fileProperties != null &&  (String)fileProperties.get(key) != null)
+    {
+      return (String)fileProperties.get(key);
+    }
+    if (defaultValue != null)
+    {
+      return defaultValue;
+    }
+    else if (required)
+    {
+      errLog("Property " + key + " has not been set.");
+      System.exit(1);
+    }
+    return defaultValue;
+  }
+
   static
   {
     log("static block");
-    File propsFile = null;
     String tckHomeDir = System.getenv(TCK_HOME);
+    if (tckHomeDir == null)
+    {
+      // Default value for the TCK home.
+      tckHomeDir = System.getProperty("user.home")
+                   + File.separator + "BridgeTckHome";
+    }
+
+    File propsFile = new File(tckHomeDir, PROPS_FILE);
+    Properties fileProps = null;
     try
     {
-      if (tckHomeDir == null)
-      {
-        // Default value for the TCK home.
-        tckHomeDir = System.getProperty("user.home")
-                     + File.separator + "BridgeTckHome";
-        File file = new File(tckHomeDir);
-      }
       log("Home dir: " + tckHomeDir);
-      propsFile = new File(tckHomeDir, PROPS_FILE);
+      FileInputStream fis = null;
       
-      FileInputStream fis = new FileInputStream(propsFile);
-      Properties props = new Properties();
-      props.load(fis);
-
-      sTckHost = (String)props.get(HOST_KEY);
-      sTestFilter = (String)props.get(TEST_FILTER_KEY);
-      sTestFile = (String)props.get(TEST_FILE_KEY);
-
-      // Don't override defaults with null values
-      if ((String)props.get(SELENIUM_HOST_KEY) != null)
-      {
-        sSeleniumHost = (String)props.get(SELENIUM_HOST_KEY);
-      }
-      if ((String)props.get(SELENIUM_PORT_KEY) != null)
-      {
-        sSeleniumPort = Integer.parseInt((String)props.get(SELENIUM_HOST_KEY));
-      }
+      fis = new FileInputStream(propsFile);
+      fileProps = new Properties();
+      fileProps.load(fis);
     }
     catch (FileNotFoundException fnfe)
     {
-      // No properties file found, look for each property separately
+      // Not necessarily an error.
+      log("No TCK properties file, " + propsFile + " does not exist");
+      propsFile = null;
     }
     catch (IOException ioe)
     {
@@ -157,11 +176,28 @@
       System.exit(1);
     }
 
+    sClientBaseUrl = getProperty(fileProps, CLIENT_BASE_URL_KEY, null, true);
+    sTestFilter = getProperty(fileProps, TEST_FILTER_KEY, null, false);
+    sTestFile = getProperty(fileProps, TEST_FILE_KEY, null, true);
+  
+    sSeleniumHost = getProperty(fileProps, SELENIUM_HOST_KEY, DEFAULT_SELENIUM_HOST, false);
+    sSeleniumPort = Integer.parseInt(getProperty(fileProps, SELENIUM_PORT_KEY, DEFAULT_SELENIUM_PORT, false));
+    
+    sSeleniumBrowser = getProperty(fileProps, SELENIUM_BROWSER_KEY, DEFAULT_SELENIUM_BROWSER, false);
+
     // Login properties file
-    File loginFile = new File(tckHomeDir, LOGIN_FILE);
     try
     {
-      FileInputStream fis = new FileInputStream(loginFile);
+      FileInputStream fis = null;
+      if (System.getProperty(LOGIN_FILE_KEY) != null)
+      {
+        fis = new FileInputStream(System.getProperty(LOGIN_FILE_KEY));
+      }
+      else
+      {
+        fis = new FileInputStream(new File(tckHomeDir, LOGIN_FILE));
+      }
+
       Properties props = new Properties();
       props.load(fis);
 
@@ -194,30 +230,6 @@
       System.exit(1);
     }
 
-    if (System.getProperty(HOST_KEY) != null)
-    {
-      sTckHost = System.getProperty(HOST_KEY);
-    }
-    if (sTckHost == null)
-    {   
-      errLog("Define system property, " + HOST_KEY);
-      System.exit(1);
-    }
-
-    if (System.getProperty(TEST_FILTER_KEY) != null)
-    {
-      sTestFilter = System.getProperty(TEST_FILTER_KEY);
-    }
-
-    if (System.getProperty(TEST_FILE_KEY) != null)
-    {
-      sTestFile = System.getProperty(TEST_FILE_KEY);
-    }
-    if (sTestFile == null)
-    {   
-      errLog("Define system property, " + TEST_FILE_KEY);
-      System.exit(1);
-    }
     log("test file: " + sTestFile);
     log("test filter: " + sTestFilter);
     log("End of static block");
@@ -236,7 +248,11 @@
     log("setUpSession");
     try
     {
-      sSelenium = new DefaultSelenium(sSeleniumHost, sSeleniumPort, "*firefox", sTckHost);
+      log("SeleniumHost: " + sSeleniumHost);
+      log("SeleniumPort: " + sSeleniumPort);
+      log("SeleniumBrowser: " + sSeleniumBrowser);
+      log("ClientBaseUrl: " + sClientBaseUrl);
+      sSelenium = new DefaultSelenium(sSeleniumHost, sSeleniumPort, sSeleniumBrowser, sClientBaseUrl);
       sSelenium.start();
       sSelenium.setTimeout(MAX_WAIT);
     }
@@ -261,8 +277,6 @@
   @Before
   public void runBeforeEachTest() throws Exception
   {
-    // Slow it down by uncommenting the following.
-    // sSelenium.setSpeed("1000");
     sSelenium.open(mPageName);
     sSelenium.waitForPageToLoad(MAX_WAIT);
   }
@@ -359,7 +373,7 @@
       // Test properties
       Pattern filterPattern = null;
       {
-        if (sTestFilter != null)
+        if ((sTestFilter != null) && (!sTestFilter.isEmpty()))
         {
           filterPattern = Pattern.compile(sTestFilter);
         }