You are viewing a plain text version of this content. The canonical link for it is here.
Posted to pluto-scm@portals.apache.org by ms...@apache.org on 2014/08/25 11:55:21 UTC
[17/22] began work on generating the additional spec tests and the
portlet tab library tests again in order to improve structure and correct
problems in test case names.
http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/23a1c547/portlet-tck_3.0/V2AddlFilterTests/pom.xml
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2AddlFilterTests/pom.xml b/portlet-tck_3.0/V2AddlFilterTests/pom.xml
index 87654b6..ce905c7 100644
--- a/portlet-tck_3.0/V2AddlFilterTests/pom.xml
+++ b/portlet-tck_3.0/V2AddlFilterTests/pom.xml
@@ -1,123 +1,127 @@
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>javax.portlet</groupId>
- <artifactId>tck</artifactId>
- <version>3.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>tck-V2AddlFilterTests</artifactId>
- <packaging>war</packaging>
-
- <dependencies>
- <dependency>
- <groupId>javax.portlet</groupId>
- <artifactId>portlet-api</artifactId>
- </dependency>
- <dependency>
- <groupId>javax.portlet</groupId>
- <artifactId>tck-common</artifactId>
- <version>${project.version}</version>
- <scope>compile</scope>
- </dependency>
- </dependencies>
-
- <properties>
-
- <!-- This project contains additional test cases to run with the portlets -->
- <additional.testcase.uri>file:///${basedir}/src/main/resources/xml-resources/additionalTCs.xml</additional.testcase.uri>
-
- <!-- Set to true for modules that define all test cases in a file (TCs are not generated from the portlet.xml) -->
- <additional.testcases.only>true</additional.testcases.only>
-
- <!-- put all portlets from this module on the same page -->
- <page.file.xsl>plutoMultiPortletPage.xsl</page.file.xsl>
-
- </properties>
-
- <build>
- <finalName>${project.artifactId}</finalName>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-war-plugin</artifactId>
- </plugin>
- <!-- Transform the portlet XML into test properties XML file -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>xml-maven-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
-
-
- <profiles>
- <profile>
- <id>pluto</id>
-
- <dependencies>
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>jstl</artifactId>
- </dependency>
- <dependency>
- <groupId>taglibs</groupId>
- <artifactId>standard</artifactId>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-war-plugin</artifactId>
- <configuration>
- <webXml>${project.build.directory}/pluto-resources/web.xml</webXml>
- </configuration>
- </plugin>
- <!-- bind 'pluto:assemble' goal to 'generate-resources' lifecycle -->
- <plugin>
- <groupId>org.apache.portals.pluto</groupId>
- <artifactId>maven-pluto-plugin</artifactId>
- <executions>
- <execution>
- <phase>generate-resources</phase>
- <goals>
- <goal>assemble</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
-
-</project>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>javax.portlet</groupId>
+ <artifactId>tck</artifactId>
+ <version>3.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>tck-V2AddlFilterTests</artifactId>
+ <packaging>war</packaging>
+
+ <dependencies>
+ <dependency>
+ <groupId>javax.portlet</groupId>
+ <artifactId>portlet-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>javax.portlet</groupId>
+ <artifactId>tck-common</artifactId>
+ <version>${project.version}</version>
+ <scope>compile</scope>
+ </dependency>
+ </dependencies>
+
+ <properties>
+
+ <!-- This project contains additional test cases to run with the portlets -->
+ <additional.testcase.uri>file:///${basedir}/src/main/resources/xml-resources/additionalTCs.xml</additional.testcase.uri>
+
+ <!-- Set to true for modules that define all test cases in a file (TCs are not generated from the portlet.xml) -->
+ <additional.testcases.only>true</additional.testcases.only>
+
+ <!-- put all portlets from this module on the same page -->
+ <page.file.xsl>plutoMultiPortletPage.xsl</page.file.xsl>
+
+ </properties>
+
+ <build>
+ <finalName>${project.artifactId}</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-war-plugin</artifactId>
+ </plugin>
+ <!-- Transform the portlet XML into test properties XML file -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>xml-maven-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+
+
+ <profiles>
+ <profile>
+ <id>pluto</id>
+
+ <dependencies>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>jstl</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>taglibs</groupId>
+ <artifactId>standard</artifactId>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-war-plugin</artifactId>
+ <configuration>
+ <webXml>${project.build.directory}/pluto-resources/web.xml</webXml>
+ </configuration>
+ </plugin>
+ <!-- bind 'pluto:assemble' goal to 'generate-resources' lifecycle -->
+ <plugin>
+ <groupId>org.apache.portals.pluto</groupId>
+ <artifactId>maven-pluto-plugin</artifactId>
+ <executions>
+ <execution>
+ <phase>generate-resources</phase>
+ <goals>
+ <goal>assemble</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+
+</project>
http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/23a1c547/portlet-tck_3.0/V2AddlFilterTests/src/main/java/javax/portlet/tck/portlets/AddlFilterTests_SPEC2_20_Action.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2AddlFilterTests/src/main/java/javax/portlet/tck/portlets/AddlFilterTests_SPEC2_20_Action.java b/portlet-tck_3.0/V2AddlFilterTests/src/main/java/javax/portlet/tck/portlets/AddlFilterTests_SPEC2_20_Action.java
new file mode 100644
index 0000000..9f443d8
--- /dev/null
+++ b/portlet-tck_3.0/V2AddlFilterTests/src/main/java/javax/portlet/tck/portlets/AddlFilterTests_SPEC2_20_Action.java
@@ -0,0 +1,385 @@
+/* Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package javax.portlet.tck.portlets;
+
+import java.io.*;
+import java.util.*;
+import java.util.logging.*;
+import static java.util.logging.Logger.*;
+import javax.xml.namespace.QName;
+import javax.portlet.*;
+import javax.portlet.filter.*;
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.portlet.tck.beans.*;
+import javax.portlet.tck.constants.*;
+import static javax.portlet.tck.beans.JSR286SpecTestCaseDetails.*;
+import static javax.portlet.tck.constants.Constants.*;
+import static javax.portlet.PortletSession.*;
+import static javax.portlet.ResourceURL.*;
+
+/**
+ * This portlet implements several test cases for the JSR 362 TCK. The test case names
+ * are defined in the /src/main/resources/xml-resources/additionalTCs.xml
+ * file. The build process will integrate the test case names defined in the
+ * additionalTCs.xml file into the complete list of test case names for execution by the driver.
+ *
+ * This is the main portlet for the test cases. If the test cases call for events, this portlet
+ * will initiate the events, but not process them. The processing is done in the companion
+ * portlet AddlFilterTests_SPEC2_20_Action_event
+ *
+ */
+public class AddlFilterTests_SPEC2_20_Action implements Portlet, ResourceServingPortlet {
+ private static final String LOG_CLASS =
+ AddlFilterTests_SPEC2_20_Action.class.getName();
+ private final Logger LOGGER = Logger.getLogger(LOG_CLASS);
+
+ private PortletConfig portletConfig = null;
+
+ @Override
+ public void init(PortletConfig config) throws PortletException {
+ this.portletConfig = config;
+ }
+
+ @Override
+ public void destroy() {
+ }
+
+ @Override
+ public void processAction(ActionRequest portletReq, ActionResponse portletResp)
+ throws PortletException, IOException {
+ LOGGER.entering(LOG_CLASS, "main portlet processAction entry");
+
+ portletResp.setRenderParameters(portletReq.getParameterMap());
+ long tid = Thread.currentThread().getId();
+ portletReq.setAttribute(THREADID_ATTR, tid);
+
+ StringWriter writer = new StringWriter();
+
+ JSR286SpecTestCaseDetails tcd = new JSR286SpecTestCaseDetails();
+
+ // Create result objects for the tests
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Action_filter1 */
+ /* Details: "A filter declaration can be configured in the deployment */
+ /* descriptor" */
+ TestResult tr0 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_ACTION_FILTER1);
+ /* TODO: implement test */
+ tr0.appendTcDetail("Not implemented.");
+ tr0.writeTo(writer);
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Action_filter6 */
+ /* Details: "A filter declaration can contain multiple <lifecycle> */
+ /* tags for a single filter class" */
+ TestResult tr1 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_ACTION_FILTER6);
+ /* TODO: implement test */
+ tr1.appendTcDetail("Not implemented.");
+ tr1.writeTo(writer);
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Action_filter7 */
+ /* Details: "The filter declaration can contain initialization */
+ /* parameters which can be read by the filter through the */
+ /* FilterConfig object" */
+ TestResult tr2 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_ACTION_FILTER7);
+ /* TODO: implement test */
+ tr2.appendTcDetail("Not implemented.");
+ tr2.writeTo(writer);
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Action_filter8 */
+ /* Details: "For each filter declaration, the filter instance must */
+ /* receive all initialization parameters defined in the filter */
+ /* declaration" */
+ TestResult tr3 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_ACTION_FILTER8);
+ /* TODO: implement test */
+ tr3.appendTcDetail("Not implemented.");
+ tr3.writeTo(writer);
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Action_filter9 */
+ /* Details: "For each filter declaration, the filter instance must */
+ /* receive only initialization parameters defined in the filter */
+ /* declaration" */
+ TestResult tr4 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_ACTION_FILTER9);
+ /* TODO: implement test */
+ tr4.appendTcDetail("Not implemented.");
+ tr4.writeTo(writer);
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Action_filter10 */
+ /* Details: "For multiple filter declarations for a single filter */
+ /* class, the filter instance must receive all initialization */
+ /* parameters defined in the filter declaration" */
+ TestResult tr5 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_ACTION_FILTER10);
+ /* TODO: implement test */
+ tr5.appendTcDetail("Not implemented.");
+ tr5.writeTo(writer);
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Action_filter11 */
+ /* Details: "For multiple filter declarations for a single filter */
+ /* class, the filter instance must receive only initialization */
+ /* parameters defined in the filter declaration" */
+ TestResult tr6 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_ACTION_FILTER11);
+ /* TODO: implement test */
+ tr6.appendTcDetail("Not implemented.");
+ tr6.writeTo(writer);
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Action_filter12 */
+ /* Details: "A filter class can appear in multiple filter */
+ /* declarations" */
+ TestResult tr7 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_ACTION_FILTER12);
+ /* TODO: implement test */
+ tr7.appendTcDetail("Not implemented.");
+ tr7.writeTo(writer);
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Action_filter13 */
+ /* Details: "A filter declaration can be mapped to a portlet through */
+ /* the deployment descriptor <filter-mapping> element" */
+ TestResult tr8 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_ACTION_FILTER13);
+ /* TODO: implement test */
+ tr8.appendTcDetail("Not implemented.");
+ tr8.writeTo(writer);
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Action_filter14 */
+ /* Details: "Filters can be associated with groups of portlets using */
+ /* the '*' character as a wildcard at the end of a string to indicate */
+ /* that the filter must be applied to any portlet whose name starts */
+ /* with the characters before the \"*\" character" */
+ TestResult tr9 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_ACTION_FILTER14);
+ /* TODO: implement test */
+ tr9.appendTcDetail("Not implemented.");
+ tr9.writeTo(writer);
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Action_filter15 */
+ /* Details: "The order the container uses in building the chain of */
+ /* filters to be applied for a particular request is the order in */
+ /* which the <portlet-name> matching filter mappings appear in the */
+ /* deployment descriptor" */
+ TestResult tr10 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_ACTION_FILTER15);
+ /* TODO: implement test */
+ tr10.appendTcDetail("Not implemented.");
+ tr10.writeTo(writer);
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Action_filterWrapper1 */
+ /* Details: "An ACTION_PHASE filter can wrap the ActionRequest object */
+ /* with a custom wrapper" */
+ TestResult tr11 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_ACTION_FILTERWRAPPER1);
+ /* TODO: implement test */
+ tr11.appendTcDetail("Not implemented.");
+ tr11.writeTo(writer);
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Action_filterWrapper2 */
+ /* Details: "An ACTION_PHASE filter can wrap the ActionResponse */
+ /* object with a custom wrapper" */
+ TestResult tr12 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_ACTION_FILTERWRAPPER2);
+ /* TODO: implement test */
+ tr12.appendTcDetail("Not implemented.");
+ tr12.writeTo(writer);
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Action_filter2 */
+ /* Details: "If the filter declaration specifies the <lifecycle> tag */
+ /* value ACTION_PHASE, the ActionFilter.doFilter method is called" */
+ TestResult tr13 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_ACTION_FILTER2);
+ /* TODO: implement test */
+ tr13.appendTcDetail("Not implemented.");
+ tr13.writeTo(writer);
+
+ portletReq.getPortletSession().setAttribute(
+ Constants.RESULT_ATTR_PREFIX + "AddlFilterTests_SPEC2_20_Action",
+ writer.toString(), APPLICATION_SCOPE);
+ }
+
+ @Override
+ public void serveResource(ResourceRequest portletReq, ResourceResponse portletResp)
+ throws PortletException, IOException {
+ LOGGER.entering(LOG_CLASS, "main portlet serveResource entry");
+
+ long tid = Thread.currentThread().getId();
+ portletReq.setAttribute(THREADID_ATTR, tid);
+
+ PrintWriter writer = portletResp.getWriter();
+
+ }
+
+ @Override
+ public void render(RenderRequest portletReq, RenderResponse portletResp)
+ throws PortletException, IOException {
+ LOGGER.entering(LOG_CLASS, "main portlet render entry");
+
+ long tid = Thread.currentThread().getId();
+ portletReq.setAttribute(THREADID_ATTR, tid);
+
+ PrintWriter writer = portletResp.getWriter();
+
+ PortletSession ps = portletReq.getPortletSession();
+ String msg = (String) ps.getAttribute(RESULT_ATTR_PREFIX + "AddlFilterTests_SPEC2_20_Action", APPLICATION_SCOPE);
+ if (msg != null) {
+ writer.write("<p>" + msg + "</p><br/>\n");
+ ps.removeAttribute(RESULT_ATTR_PREFIX + "AddlFilterTests_SPEC2_20_Action", APPLICATION_SCOPE);
+ }
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Action_filter1 */
+ /* Details: "A filter declaration can be configured in the deployment */
+ /* descriptor" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlFilterTests_SPEC2_20_Action_filter1", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Action_filter6 */
+ /* Details: "A filter declaration can contain multiple <lifecycle> */
+ /* tags for a single filter class" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlFilterTests_SPEC2_20_Action_filter6", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Action_filter7 */
+ /* Details: "The filter declaration can contain initialization */
+ /* parameters which can be read by the filter through the */
+ /* FilterConfig object" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlFilterTests_SPEC2_20_Action_filter7", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Action_filter8 */
+ /* Details: "For each filter declaration, the filter instance must */
+ /* receive all initialization parameters defined in the filter */
+ /* declaration" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlFilterTests_SPEC2_20_Action_filter8", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Action_filter9 */
+ /* Details: "For each filter declaration, the filter instance must */
+ /* receive only initialization parameters defined in the filter */
+ /* declaration" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlFilterTests_SPEC2_20_Action_filter9", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Action_filter10 */
+ /* Details: "For multiple filter declarations for a single filter */
+ /* class, the filter instance must receive all initialization */
+ /* parameters defined in the filter declaration" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlFilterTests_SPEC2_20_Action_filter10", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Action_filter11 */
+ /* Details: "For multiple filter declarations for a single filter */
+ /* class, the filter instance must receive only initialization */
+ /* parameters defined in the filter declaration" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlFilterTests_SPEC2_20_Action_filter11", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Action_filter12 */
+ /* Details: "A filter class can appear in multiple filter */
+ /* declarations" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlFilterTests_SPEC2_20_Action_filter12", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Action_filter13 */
+ /* Details: "A filter declaration can be mapped to a portlet through */
+ /* the deployment descriptor <filter-mapping> element" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlFilterTests_SPEC2_20_Action_filter13", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Action_filter14 */
+ /* Details: "Filters can be associated with groups of portlets using */
+ /* the '*' character as a wildcard at the end of a string to indicate */
+ /* that the filter must be applied to any portlet whose name starts */
+ /* with the characters before the \"*\" character" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlFilterTests_SPEC2_20_Action_filter14", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Action_filter15 */
+ /* Details: "The order the container uses in building the chain of */
+ /* filters to be applied for a particular request is the order in */
+ /* which the <portlet-name> matching filter mappings appear in the */
+ /* deployment descriptor" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlFilterTests_SPEC2_20_Action_filter15", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Action_filterWrapper1 */
+ /* Details: "An ACTION_PHASE filter can wrap the ActionRequest object */
+ /* with a custom wrapper" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlFilterTests_SPEC2_20_Action_filterWrapper1", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Action_filterWrapper2 */
+ /* Details: "An ACTION_PHASE filter can wrap the ActionResponse */
+ /* object with a custom wrapper" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlFilterTests_SPEC2_20_Action_filterWrapper2", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Action_filter2 */
+ /* Details: "If the filter declaration specifies the <lifecycle> tag */
+ /* value ACTION_PHASE, the ActionFilter.doFilter method is called" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlFilterTests_SPEC2_20_Action_filter2", aurl);
+ tb.writeTo(writer);
+ }
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/23a1c547/portlet-tck_3.0/V2AddlFilterTests/src/main/java/javax/portlet/tck/portlets/AddlFilterTests_SPEC2_20_Event.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2AddlFilterTests/src/main/java/javax/portlet/tck/portlets/AddlFilterTests_SPEC2_20_Event.java b/portlet-tck_3.0/V2AddlFilterTests/src/main/java/javax/portlet/tck/portlets/AddlFilterTests_SPEC2_20_Event.java
new file mode 100644
index 0000000..5568c38
--- /dev/null
+++ b/portlet-tck_3.0/V2AddlFilterTests/src/main/java/javax/portlet/tck/portlets/AddlFilterTests_SPEC2_20_Event.java
@@ -0,0 +1,253 @@
+/* Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package javax.portlet.tck.portlets;
+
+import java.io.*;
+import java.util.*;
+import java.util.logging.*;
+import static java.util.logging.Logger.*;
+import javax.xml.namespace.QName;
+import javax.portlet.*;
+import javax.portlet.filter.*;
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.portlet.tck.beans.*;
+import javax.portlet.tck.constants.*;
+import static javax.portlet.tck.beans.JSR286SpecTestCaseDetails.*;
+import static javax.portlet.tck.constants.Constants.*;
+import static javax.portlet.PortletSession.*;
+import static javax.portlet.ResourceURL.*;
+
+/**
+ * This portlet implements several test cases for the JSR 362 TCK. The test case names
+ * are defined in the /src/main/resources/xml-resources/additionalTCs.xml
+ * file. The build process will integrate the test case names defined in the
+ * additionalTCs.xml file into the complete list of test case names for execution by the driver.
+ *
+ * This is the main portlet for the test cases. If the test cases call for events, this portlet
+ * will initiate the events, but not process them. The processing is done in the companion
+ * portlet AddlFilterTests_SPEC2_20_Event_event
+ *
+ */
+public class AddlFilterTests_SPEC2_20_Event implements Portlet, ResourceServingPortlet {
+ private static final String LOG_CLASS =
+ AddlFilterTests_SPEC2_20_Event.class.getName();
+ private final Logger LOGGER = Logger.getLogger(LOG_CLASS);
+
+ private PortletConfig portletConfig = null;
+
+ @Override
+ public void init(PortletConfig config) throws PortletException {
+ this.portletConfig = config;
+ }
+
+ @Override
+ public void destroy() {
+ }
+
+ @Override
+ public void processAction(ActionRequest portletReq, ActionResponse portletResp)
+ throws PortletException, IOException {
+ LOGGER.entering(LOG_CLASS, "main portlet processAction entry");
+
+ portletResp.setRenderParameters(portletReq.getParameterMap());
+ long tid = Thread.currentThread().getId();
+ portletReq.setAttribute(THREADID_ATTR, tid);
+
+ StringWriter writer = new StringWriter();
+
+ QName eventQName = new QName(TCKNAMESPACE,
+ "AddlFilterTests_SPEC2_20_Event");
+ portletResp.setEvent(eventQName, "Hi!");
+ }
+
+ @Override
+ public void serveResource(ResourceRequest portletReq, ResourceResponse portletResp)
+ throws PortletException, IOException {
+ LOGGER.entering(LOG_CLASS, "main portlet serveResource entry");
+
+ long tid = Thread.currentThread().getId();
+ portletReq.setAttribute(THREADID_ATTR, tid);
+
+ PrintWriter writer = portletResp.getWriter();
+
+ }
+
+ @Override
+ public void render(RenderRequest portletReq, RenderResponse portletResp)
+ throws PortletException, IOException {
+ LOGGER.entering(LOG_CLASS, "main portlet render entry");
+
+ long tid = Thread.currentThread().getId();
+ portletReq.setAttribute(THREADID_ATTR, tid);
+
+ PrintWriter writer = portletResp.getWriter();
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Event_filter1 */
+ /* Details: "A filter declaration can be configured in the deployment */
+ /* descriptor" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlFilterTests_SPEC2_20_Event_filter1", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Event_filter6 */
+ /* Details: "A filter declaration can contain multiple <lifecycle> */
+ /* tags for a single filter class" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlFilterTests_SPEC2_20_Event_filter6", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Event_filter7 */
+ /* Details: "The filter declaration can contain initialization */
+ /* parameters which can be read by the filter through the */
+ /* FilterConfig object" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlFilterTests_SPEC2_20_Event_filter7", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Event_filter8 */
+ /* Details: "For each filter declaration, the filter instance must */
+ /* receive all initialization parameters defined in the filter */
+ /* declaration" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlFilterTests_SPEC2_20_Event_filter8", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Event_filter9 */
+ /* Details: "For each filter declaration, the filter instance must */
+ /* receive only initialization parameters defined in the filter */
+ /* declaration" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlFilterTests_SPEC2_20_Event_filter9", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Event_filter10 */
+ /* Details: "For multiple filter declarations for a single filter */
+ /* class, the filter instance must receive all initialization */
+ /* parameters defined in the filter declaration" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlFilterTests_SPEC2_20_Event_filter10", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Event_filter11 */
+ /* Details: "For multiple filter declarations for a single filter */
+ /* class, the filter instance must receive only initialization */
+ /* parameters defined in the filter declaration" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlFilterTests_SPEC2_20_Event_filter11", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Event_filter12 */
+ /* Details: "A filter class can appear in multiple filter */
+ /* declarations" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlFilterTests_SPEC2_20_Event_filter12", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Event_filter13 */
+ /* Details: "A filter declaration can be mapped to a portlet through */
+ /* the deployment descriptor <filter-mapping> element" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlFilterTests_SPEC2_20_Event_filter13", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Event_filter14 */
+ /* Details: "Filters can be associated with groups of portlets using */
+ /* the '*' character as a wildcard at the end of a string to indicate */
+ /* that the filter must be applied to any portlet whose name starts */
+ /* with the characters before the \"*\" character" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlFilterTests_SPEC2_20_Event_filter14", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Event_filter15 */
+ /* Details: "The order the container uses in building the chain of */
+ /* filters to be applied for a particular request is the order in */
+ /* which the <portlet-name> matching filter mappings appear in the */
+ /* deployment descriptor" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlFilterTests_SPEC2_20_Event_filter15", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Event_filterWrapper3 */
+ /* Details: "An EVENT_PHASE filter can wrap the EventRequest object */
+ /* with a custom wrapper" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlFilterTests_SPEC2_20_Event_filterWrapper3", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Event_filterWrapper4 */
+ /* Details: "An EVENT_PHASE filter can wrap the EventResponse object */
+ /* with a custom wrapper" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlFilterTests_SPEC2_20_Event_filterWrapper4", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Event_filter4 */
+ /* Details: "If the filter declaration specifies the <lifecycle> tag */
+ /* value EVENT_PHASE, the EventFilter.doFilter method is called" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlFilterTests_SPEC2_20_Event_filter4", aurl);
+ tb.writeTo(writer);
+ }
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/23a1c547/portlet-tck_3.0/V2AddlFilterTests/src/main/java/javax/portlet/tck/portlets/AddlFilterTests_SPEC2_20_Event_event.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2AddlFilterTests/src/main/java/javax/portlet/tck/portlets/AddlFilterTests_SPEC2_20_Event_event.java b/portlet-tck_3.0/V2AddlFilterTests/src/main/java/javax/portlet/tck/portlets/AddlFilterTests_SPEC2_20_Event_event.java
new file mode 100644
index 0000000..7f5b4e3
--- /dev/null
+++ b/portlet-tck_3.0/V2AddlFilterTests/src/main/java/javax/portlet/tck/portlets/AddlFilterTests_SPEC2_20_Event_event.java
@@ -0,0 +1,230 @@
+/* Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package javax.portlet.tck.portlets;
+
+import java.io.*;
+import java.util.*;
+import java.util.logging.*;
+import static java.util.logging.Logger.*;
+import javax.xml.namespace.QName;
+import javax.portlet.*;
+import javax.portlet.filter.*;
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.portlet.tck.beans.*;
+import javax.portlet.tck.constants.*;
+import static javax.portlet.tck.constants.Constants.*;
+import static javax.portlet.tck.beans.JSR286SpecTestCaseDetails.*;
+import static javax.portlet.PortletSession.*;
+
+/**
+ * This is the event processing portlet for the test cases. This portlet processes events,
+ * but does not publish them. Events are published in the main portlet for the test cases.
+ */
+public class AddlFilterTests_SPEC2_20_Event_event implements Portlet, EventPortlet, ResourceServingPortlet {
+ private static final String LOG_CLASS =
+ AddlFilterTests_SPEC2_20_Event_event.class.getName();
+ private final Logger LOGGER = Logger.getLogger(LOG_CLASS);
+
+ private PortletConfig portletConfig = null;
+
+ @Override
+ public void init(PortletConfig config) throws PortletException {
+ this.portletConfig = config;
+ }
+
+ @Override
+ public void destroy() {
+ }
+
+ @Override
+ public void processAction(ActionRequest portletReq, ActionResponse portletResp)
+ throws PortletException, IOException {
+ LOGGER.entering(LOG_CLASS, "event companion processAction - ERROR!!");
+ }
+
+ @Override
+ public void serveResource(ResourceRequest portletReq, ResourceResponse portletResp)
+ throws PortletException, IOException {
+ LOGGER.entering(LOG_CLASS, "event companion serveResource - ERROR!!");
+ }
+
+ @Override
+ public void processEvent(EventRequest portletReq, EventResponse portletResp)
+ throws PortletException, IOException {
+ LOGGER.entering(LOG_CLASS, "event companion processEvent");
+
+
+ portletResp.setRenderParameters(portletReq);
+
+ long tid = Thread.currentThread().getId();
+ portletReq.setAttribute(THREADID_ATTR, tid);
+
+ StringWriter writer = new StringWriter();
+
+ JSR286SpecTestCaseDetails tcd = new JSR286SpecTestCaseDetails();
+
+ // Create result objects for the tests
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Event_filter1 */
+ /* Details: "A filter declaration can be configured in the deployment */
+ /* descriptor" */
+ TestResult tr0 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_EVENT_FILTER1);
+ /* TODO: implement test */
+ tr0.appendTcDetail("Not implemented.");
+ tr0.writeTo(writer);
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Event_filter6 */
+ /* Details: "A filter declaration can contain multiple <lifecycle> */
+ /* tags for a single filter class" */
+ TestResult tr1 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_EVENT_FILTER6);
+ /* TODO: implement test */
+ tr1.appendTcDetail("Not implemented.");
+ tr1.writeTo(writer);
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Event_filter7 */
+ /* Details: "The filter declaration can contain initialization */
+ /* parameters which can be read by the filter through the */
+ /* FilterConfig object" */
+ TestResult tr2 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_EVENT_FILTER7);
+ /* TODO: implement test */
+ tr2.appendTcDetail("Not implemented.");
+ tr2.writeTo(writer);
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Event_filter8 */
+ /* Details: "For each filter declaration, the filter instance must */
+ /* receive all initialization parameters defined in the filter */
+ /* declaration" */
+ TestResult tr3 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_EVENT_FILTER8);
+ /* TODO: implement test */
+ tr3.appendTcDetail("Not implemented.");
+ tr3.writeTo(writer);
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Event_filter9 */
+ /* Details: "For each filter declaration, the filter instance must */
+ /* receive only initialization parameters defined in the filter */
+ /* declaration" */
+ TestResult tr4 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_EVENT_FILTER9);
+ /* TODO: implement test */
+ tr4.appendTcDetail("Not implemented.");
+ tr4.writeTo(writer);
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Event_filter10 */
+ /* Details: "For multiple filter declarations for a single filter */
+ /* class, the filter instance must receive all initialization */
+ /* parameters defined in the filter declaration" */
+ TestResult tr5 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_EVENT_FILTER10);
+ /* TODO: implement test */
+ tr5.appendTcDetail("Not implemented.");
+ tr5.writeTo(writer);
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Event_filter11 */
+ /* Details: "For multiple filter declarations for a single filter */
+ /* class, the filter instance must receive only initialization */
+ /* parameters defined in the filter declaration" */
+ TestResult tr6 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_EVENT_FILTER11);
+ /* TODO: implement test */
+ tr6.appendTcDetail("Not implemented.");
+ tr6.writeTo(writer);
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Event_filter12 */
+ /* Details: "A filter class can appear in multiple filter */
+ /* declarations" */
+ TestResult tr7 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_EVENT_FILTER12);
+ /* TODO: implement test */
+ tr7.appendTcDetail("Not implemented.");
+ tr7.writeTo(writer);
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Event_filter13 */
+ /* Details: "A filter declaration can be mapped to a portlet through */
+ /* the deployment descriptor <filter-mapping> element" */
+ TestResult tr8 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_EVENT_FILTER13);
+ /* TODO: implement test */
+ tr8.appendTcDetail("Not implemented.");
+ tr8.writeTo(writer);
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Event_filter14 */
+ /* Details: "Filters can be associated with groups of portlets using */
+ /* the '*' character as a wildcard at the end of a string to indicate */
+ /* that the filter must be applied to any portlet whose name starts */
+ /* with the characters before the \"*\" character" */
+ TestResult tr9 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_EVENT_FILTER14);
+ /* TODO: implement test */
+ tr9.appendTcDetail("Not implemented.");
+ tr9.writeTo(writer);
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Event_filter15 */
+ /* Details: "The order the container uses in building the chain of */
+ /* filters to be applied for a particular request is the order in */
+ /* which the <portlet-name> matching filter mappings appear in the */
+ /* deployment descriptor" */
+ TestResult tr10 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_EVENT_FILTER15);
+ /* TODO: implement test */
+ tr10.appendTcDetail("Not implemented.");
+ tr10.writeTo(writer);
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Event_filterWrapper3 */
+ /* Details: "An EVENT_PHASE filter can wrap the EventRequest object */
+ /* with a custom wrapper" */
+ TestResult tr11 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_EVENT_FILTERWRAPPER3);
+ /* TODO: implement test */
+ tr11.appendTcDetail("Not implemented.");
+ tr11.writeTo(writer);
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Event_filterWrapper4 */
+ /* Details: "An EVENT_PHASE filter can wrap the EventResponse object */
+ /* with a custom wrapper" */
+ TestResult tr12 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_EVENT_FILTERWRAPPER4);
+ /* TODO: implement test */
+ tr12.appendTcDetail("Not implemented.");
+ tr12.writeTo(writer);
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Event_filter4 */
+ /* Details: "If the filter declaration specifies the <lifecycle> tag */
+ /* value EVENT_PHASE, the EventFilter.doFilter method is called" */
+ TestResult tr13 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_EVENT_FILTER4);
+ /* TODO: implement test */
+ tr13.appendTcDetail("Not implemented.");
+ tr13.writeTo(writer);
+
+ portletReq.getPortletSession().setAttribute(
+ Constants.RESULT_ATTR_PREFIX + "AddlFilterTests_SPEC2_20_Event",
+ writer.toString(), APPLICATION_SCOPE);
+
+ }
+
+ @Override
+ public void render(RenderRequest portletReq, RenderResponse portletResp)
+ throws PortletException, IOException {
+
+ LOGGER.entering(LOG_CLASS, "event companion render");
+
+ portletResp.setContentType("text/html");
+ PrintWriter writer = portletResp.getWriter();
+ writer.write("<h3>Event Companion Portlet </h3>\n");
+ writer.write("<p>AddlFilterTests_SPEC2_20_Event_event</p>\n");
+
+ String msg = (String) portletReq.getPortletSession()
+ .getAttribute(RESULT_ATTR_PREFIX + "AddlFilterTests_SPEC2_20_Event", APPLICATION_SCOPE);
+ msg = (msg==null) ? "Not ready. click test case link." : msg;
+ writer.write("<p>" + msg + "</p>\n");
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/23a1c547/portlet-tck_3.0/V2AddlFilterTests/src/main/java/javax/portlet/tck/portlets/AddlFilterTests_SPEC2_20_PortletFilter.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2AddlFilterTests/src/main/java/javax/portlet/tck/portlets/AddlFilterTests_SPEC2_20_PortletFilter.java b/portlet-tck_3.0/V2AddlFilterTests/src/main/java/javax/portlet/tck/portlets/AddlFilterTests_SPEC2_20_PortletFilter.java
deleted file mode 100644
index b631ac4..0000000
--- a/portlet-tck_3.0/V2AddlFilterTests/src/main/java/javax/portlet/tck/portlets/AddlFilterTests_SPEC2_20_PortletFilter.java
+++ /dev/null
@@ -1,258 +0,0 @@
-/* Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package javax.portlet.tck.portlets;
-
-import java.io.IOException;
-import java.io.PrintWriter;
-
-import java.util.Enumeration;
-import java.util.Locale;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import javax.portlet.*;
-import javax.portlet.filter.*;
-import javax.portlet.tck.beans.ClassChecker;
-import javax.portlet.tck.beans.TestCaseDetails;
-import javax.portlet.tck.beans.JSR286SpecTestCaseDetails;
-import static javax.portlet.tck.beans.JSR286SpecTestCaseDetails.*;
-import javax.portlet.tck.beans.TestResult;
-
-/**
- * This portlet implements several test cases for the JSR 362 TCK. The test case names
- * are defined in the /src/main/resources/xml-resources/additionalTCs.xml
- * file. The build process will integrate the test case names defined in the
- * additionalTCs.xml file into the complete list of test case names for execution by the driver.
- */
-public class AddlFilterTests_SPEC2_20_PortletFilter implements Portlet {
- private static final String LOG_CLASS =
- AddlFilterTests_SPEC2_20_PortletFilter.class.getName();
- private final Logger LOGGER = Logger.getLogger(LOG_CLASS);
-
- private PortletConfig portletConfig = null;
-
- @Override
- public void init(PortletConfig config) throws PortletException {
- this.portletConfig = config;
- }
-
- @Override
- public void destroy() {
- }
-
- @Override
- public void processAction(ActionRequest actionRequest, ActionResponse actionResponse)
- throws PortletException, IOException {
- }
-
- @Override
- public void render(RenderRequest renderRequest, RenderResponse renderResponse)
- throws PortletException, IOException {
-
- if (LOGGER.isLoggable(Level.FINE)) {
- LOGGER.logp(Level.FINE, LOG_CLASS, "render", "Entry");
- }
-
- PrintWriter writer = renderResponse.getWriter();
- JSR286SpecTestCaseDetails tcd = new JSR286SpecTestCaseDetails();
-
- // Create result objects for the tests
-
- /* TestCase: SPEC2_20_PortletFilter_filter1 */
- /* Details: "A filter declaration can be configured in the deployment */
- /* descriptor" */
- TestResult tr0 = tcd.getTestResultFailed(SPEC2_20_PORTLETFILTER_FILTER1);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_20_PortletFilter_filter2 */
- /* Details: "If the filter declaration specifies the <lifecycle> tag */
- /* value ACTION_PHASE, the ActionFilter.doFilter method is called" */
- TestResult tr1 = tcd.getTestResultFailed(SPEC2_20_PORTLETFILTER_FILTER2);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_20_PortletFilter_filter3 */
- /* Details: "If the filter declaration specifies the <lifecycle> tag */
- /* value RENDER_PHASE, the RenderFilter.doFilter method is called" */
- TestResult tr2 = tcd.getTestResultFailed(SPEC2_20_PORTLETFILTER_FILTER3);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_20_PortletFilter_filter4 */
- /* Details: "If the filter declaration specifies the <lifecycle> tag */
- /* value EVENT_PHASE, the EventFilter.doFilter method is called" */
- TestResult tr3 = tcd.getTestResultFailed(SPEC2_20_PORTLETFILTER_FILTER4);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_20_PortletFilter_filter5 */
- /* Details: "If the filter declaration specifies the <lifecycle> tag */
- /* value RESOURCE_PHASE, the ResourceFilter.doFilter method is */
- /* called" */
- TestResult tr4 = tcd.getTestResultFailed(SPEC2_20_PORTLETFILTER_FILTER5);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_20_PortletFilter_filter6 */
- /* Details: "A filter declaration can contain multiple <lifecycle> */
- /* tags for a single filter class" */
- TestResult tr5 = tcd.getTestResultFailed(SPEC2_20_PORTLETFILTER_FILTER6);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_20_PortletFilter_filter7 */
- /* Details: "The filter declaration can contain initialization */
- /* parameters which can be read by the filter through the */
- /* FilterConfig object" */
- TestResult tr6 = tcd.getTestResultFailed(SPEC2_20_PORTLETFILTER_FILTER7);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_20_PortletFilter_filter8 */
- /* Details: "For each filter declaration, the filter instance must */
- /* receive all initialization parameters defined in the filter */
- /* declaration" */
- TestResult tr7 = tcd.getTestResultFailed(SPEC2_20_PORTLETFILTER_FILTER8);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_20_PortletFilter_filter9 */
- /* Details: "For each filter declaration, the filter instance must */
- /* receive only initialization parameters defined in the filter */
- /* declaration" */
- TestResult tr8 = tcd.getTestResultFailed(SPEC2_20_PORTLETFILTER_FILTER9);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_20_PortletFilter_filter10 */
- /* Details: "For multiple filter declarations for a single filter */
- /* class, the filter instance must receive all initialization */
- /* parameters defined in the filter declaration" */
- TestResult tr9 = tcd.getTestResultFailed(SPEC2_20_PORTLETFILTER_FILTER10);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_20_PortletFilter_filter11 */
- /* Details: "For multiple filter declarations for a single filter */
- /* class, the filter instance must receive only initialization */
- /* parameters defined in the filter declaration" */
- TestResult tr10 = tcd.getTestResultFailed(SPEC2_20_PORTLETFILTER_FILTER11);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_20_PortletFilter_filter12 */
- /* Details: "A filter class can appear in multiple filter */
- /* declarations, and is instantiated once for each filter declaration */
- /* in which it appears" */
- TestResult tr11 = tcd.getTestResultFailed(SPEC2_20_PORTLETFILTER_FILTER12);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_20_PortletFilter_filter13 */
- /* Details: "A filter declaration can be mapped to a portlet through */
- /* the deployment descriptor <filter-mapping> element" */
- TestResult tr12 = tcd.getTestResultFailed(SPEC2_20_PORTLETFILTER_FILTER13);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_20_PortletFilter_filter14 */
- /* Details: "Filters can be associated with groups of portlets using */
- /* the '*' character as a wildcard at the end of a string to indicate */
- /* that the filter must be applied to any portlet whose name starts */
- /* with the characters before the \"*\" character" */
- TestResult tr13 = tcd.getTestResultFailed(SPEC2_20_PORTLETFILTER_FILTER14);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_20_PortletFilter_filter15 */
- /* Details: "The order the container uses in building the chain of */
- /* filters to be applied for a particular request is the order in */
- /* which the <portlet-name> matching filter mappings appear in the */
- /* deployment descriptor" */
- TestResult tr14 = tcd.getTestResultFailed(SPEC2_20_PORTLETFILTER_FILTER15);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_20_PortletFilter_filterWrapper1 */
- /* Details: "An ACTION_PHASE filter can wrap the ActionRequest object */
- /* with a custom wrapper" */
- TestResult tr15 = tcd.getTestResultFailed(SPEC2_20_PORTLETFILTER_FILTERWRAPPER1);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_20_PortletFilter_filterWrapper2 */
- /* Details: "An ACTION_PHASE filter can wrap the ActionResponse */
- /* object with a custom wrapper" */
- TestResult tr16 = tcd.getTestResultFailed(SPEC2_20_PORTLETFILTER_FILTERWRAPPER2);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_20_PortletFilter_filterWrapper3 */
- /* Details: "An EVENT_PHASE filter can wrap the EventRequest object */
- /* with a custom wrapper" */
- TestResult tr17 = tcd.getTestResultFailed(SPEC2_20_PORTLETFILTER_FILTERWRAPPER3);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_20_PortletFilter_filterWrapper4 */
- /* Details: "An EVENT_PHASE filter can wrap the EventResponse object */
- /* with a custom wrapper" */
- TestResult tr18 = tcd.getTestResultFailed(SPEC2_20_PORTLETFILTER_FILTERWRAPPER4);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_20_PortletFilter_filterWrapper5 */
- /* Details: "An RENDER_PHASE filter can wrap the RenderRequest object */
- /* with a custom wrapper" */
- TestResult tr19 = tcd.getTestResultFailed(SPEC2_20_PORTLETFILTER_FILTERWRAPPER5);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_20_PortletFilter_filterWrapper6 */
- /* Details: "An RENDER_PHASE filter can wrap the RenderResponse */
- /* object with a custom wrapper" */
- TestResult tr20 = tcd.getTestResultFailed(SPEC2_20_PORTLETFILTER_FILTERWRAPPER6);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_20_PortletFilter_filterWrapper7 */
- /* Details: "An RESOURCE_PHASE filter can wrap the ResourceRequest */
- /* object with a custom wrapper" */
- TestResult tr21 = tcd.getTestResultFailed(SPEC2_20_PORTLETFILTER_FILTERWRAPPER7);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_20_PortletFilter_filterWrapper8 */
- /* Details: "An RESOURCE_PHASE filter can wrap the ResourceResponse */
- /* object with a custom wrapper" */
- TestResult tr22 = tcd.getTestResultFailed(SPEC2_20_PORTLETFILTER_FILTERWRAPPER8);
- /* TODO: implement test */
-
-
-
- // Write the results to the output stream
-
- tr0.writeTo(writer);
- tr1.writeTo(writer);
- tr2.writeTo(writer);
- tr3.writeTo(writer);
- tr4.writeTo(writer);
- tr5.writeTo(writer);
- tr6.writeTo(writer);
- tr7.writeTo(writer);
- tr8.writeTo(writer);
- tr9.writeTo(writer);
- tr10.writeTo(writer);
- tr11.writeTo(writer);
- tr12.writeTo(writer);
- tr13.writeTo(writer);
- tr14.writeTo(writer);
- tr15.writeTo(writer);
- tr16.writeTo(writer);
- tr17.writeTo(writer);
- tr18.writeTo(writer);
- tr19.writeTo(writer);
- tr20.writeTo(writer);
- tr21.writeTo(writer);
- tr22.writeTo(writer);
-
-
- }
-
-}
-
http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/23a1c547/portlet-tck_3.0/V2AddlFilterTests/src/main/java/javax/portlet/tck/portlets/AddlFilterTests_SPEC2_20_Render.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2AddlFilterTests/src/main/java/javax/portlet/tck/portlets/AddlFilterTests_SPEC2_20_Render.java b/portlet-tck_3.0/V2AddlFilterTests/src/main/java/javax/portlet/tck/portlets/AddlFilterTests_SPEC2_20_Render.java
new file mode 100644
index 0000000..4c1996a
--- /dev/null
+++ b/portlet-tck_3.0/V2AddlFilterTests/src/main/java/javax/portlet/tck/portlets/AddlFilterTests_SPEC2_20_Render.java
@@ -0,0 +1,226 @@
+/* Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package javax.portlet.tck.portlets;
+
+import java.io.*;
+import java.util.*;
+import java.util.logging.*;
+import static java.util.logging.Logger.*;
+import javax.xml.namespace.QName;
+import javax.portlet.*;
+import javax.portlet.filter.*;
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.portlet.tck.beans.*;
+import javax.portlet.tck.constants.*;
+import static javax.portlet.tck.beans.JSR286SpecTestCaseDetails.*;
+import static javax.portlet.tck.constants.Constants.*;
+import static javax.portlet.PortletSession.*;
+import static javax.portlet.ResourceURL.*;
+
+/**
+ * This portlet implements several test cases for the JSR 362 TCK. The test case names
+ * are defined in the /src/main/resources/xml-resources/additionalTCs.xml
+ * file. The build process will integrate the test case names defined in the
+ * additionalTCs.xml file into the complete list of test case names for execution by the driver.
+ *
+ * This is the main portlet for the test cases. If the test cases call for events, this portlet
+ * will initiate the events, but not process them. The processing is done in the companion
+ * portlet AddlFilterTests_SPEC2_20_Render_event
+ *
+ */
+public class AddlFilterTests_SPEC2_20_Render implements Portlet, ResourceServingPortlet {
+ private static final String LOG_CLASS =
+ AddlFilterTests_SPEC2_20_Render.class.getName();
+ private final Logger LOGGER = Logger.getLogger(LOG_CLASS);
+
+ private PortletConfig portletConfig = null;
+
+ @Override
+ public void init(PortletConfig config) throws PortletException {
+ this.portletConfig = config;
+ }
+
+ @Override
+ public void destroy() {
+ }
+
+ @Override
+ public void processAction(ActionRequest portletReq, ActionResponse portletResp)
+ throws PortletException, IOException {
+ LOGGER.entering(LOG_CLASS, "main portlet processAction entry");
+
+ portletResp.setRenderParameters(portletReq.getParameterMap());
+ long tid = Thread.currentThread().getId();
+ portletReq.setAttribute(THREADID_ATTR, tid);
+
+ StringWriter writer = new StringWriter();
+
+ }
+
+ @Override
+ public void serveResource(ResourceRequest portletReq, ResourceResponse portletResp)
+ throws PortletException, IOException {
+ LOGGER.entering(LOG_CLASS, "main portlet serveResource entry");
+
+ long tid = Thread.currentThread().getId();
+ portletReq.setAttribute(THREADID_ATTR, tid);
+
+ PrintWriter writer = portletResp.getWriter();
+
+ }
+
+ @Override
+ public void render(RenderRequest portletReq, RenderResponse portletResp)
+ throws PortletException, IOException {
+ LOGGER.entering(LOG_CLASS, "main portlet render entry");
+
+ long tid = Thread.currentThread().getId();
+ portletReq.setAttribute(THREADID_ATTR, tid);
+
+ PrintWriter writer = portletResp.getWriter();
+
+ JSR286SpecTestCaseDetails tcd = new JSR286SpecTestCaseDetails();
+
+ // Create result objects for the tests
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Render_filter1 */
+ /* Details: "A filter declaration can be configured in the deployment */
+ /* descriptor" */
+ TestResult tr0 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_RENDER_FILTER1);
+ /* TODO: implement test */
+ tr0.appendTcDetail("Not implemented.");
+ tr0.writeTo(writer);
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Render_filter6 */
+ /* Details: "A filter declaration can contain multiple <lifecycle> */
+ /* tags for a single filter class" */
+ TestResult tr1 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_RENDER_FILTER6);
+ /* TODO: implement test */
+ tr1.appendTcDetail("Not implemented.");
+ tr1.writeTo(writer);
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Render_filter7 */
+ /* Details: "The filter declaration can contain initialization */
+ /* parameters which can be read by the filter through the */
+ /* FilterConfig object" */
+ TestResult tr2 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_RENDER_FILTER7);
+ /* TODO: implement test */
+ tr2.appendTcDetail("Not implemented.");
+ tr2.writeTo(writer);
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Render_filter8 */
+ /* Details: "For each filter declaration, the filter instance must */
+ /* receive all initialization parameters defined in the filter */
+ /* declaration" */
+ TestResult tr3 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_RENDER_FILTER8);
+ /* TODO: implement test */
+ tr3.appendTcDetail("Not implemented.");
+ tr3.writeTo(writer);
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Render_filter9 */
+ /* Details: "For each filter declaration, the filter instance must */
+ /* receive only initialization parameters defined in the filter */
+ /* declaration" */
+ TestResult tr4 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_RENDER_FILTER9);
+ /* TODO: implement test */
+ tr4.appendTcDetail("Not implemented.");
+ tr4.writeTo(writer);
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Render_filter10 */
+ /* Details: "For multiple filter declarations for a single filter */
+ /* class, the filter instance must receive all initialization */
+ /* parameters defined in the filter declaration" */
+ TestResult tr5 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_RENDER_FILTER10);
+ /* TODO: implement test */
+ tr5.appendTcDetail("Not implemented.");
+ tr5.writeTo(writer);
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Render_filter11 */
+ /* Details: "For multiple filter declarations for a single filter */
+ /* class, the filter instance must receive only initialization */
+ /* parameters defined in the filter declaration" */
+ TestResult tr6 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_RENDER_FILTER11);
+ /* TODO: implement test */
+ tr6.appendTcDetail("Not implemented.");
+ tr6.writeTo(writer);
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Render_filter12 */
+ /* Details: "A filter class can appear in multiple filter */
+ /* declarations" */
+ TestResult tr7 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_RENDER_FILTER12);
+ /* TODO: implement test */
+ tr7.appendTcDetail("Not implemented.");
+ tr7.writeTo(writer);
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Render_filter13 */
+ /* Details: "A filter declaration can be mapped to a portlet through */
+ /* the deployment descriptor <filter-mapping> element" */
+ TestResult tr8 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_RENDER_FILTER13);
+ /* TODO: implement test */
+ tr8.appendTcDetail("Not implemented.");
+ tr8.writeTo(writer);
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Render_filter14 */
+ /* Details: "Filters can be associated with groups of portlets using */
+ /* the '*' character as a wildcard at the end of a string to indicate */
+ /* that the filter must be applied to any portlet whose name starts */
+ /* with the characters before the \"*\" character" */
+ TestResult tr9 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_RENDER_FILTER14);
+ /* TODO: implement test */
+ tr9.appendTcDetail("Not implemented.");
+ tr9.writeTo(writer);
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Render_filter15 */
+ /* Details: "The order the container uses in building the chain of */
+ /* filters to be applied for a particular request is the order in */
+ /* which the <portlet-name> matching filter mappings appear in the */
+ /* deployment descriptor" */
+ TestResult tr10 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_RENDER_FILTER15);
+ /* TODO: implement test */
+ tr10.appendTcDetail("Not implemented.");
+ tr10.writeTo(writer);
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Render_filterWrapper5 */
+ /* Details: "An RENDER_PHASE filter can wrap the RenderRequest object */
+ /* with a custom wrapper" */
+ TestResult tr11 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_RENDER_FILTERWRAPPER5);
+ /* TODO: implement test */
+ tr11.appendTcDetail("Not implemented.");
+ tr11.writeTo(writer);
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Render_filterWrapper6 */
+ /* Details: "An RENDER_PHASE filter can wrap the RenderResponse */
+ /* object with a custom wrapper" */
+ TestResult tr12 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_RENDER_FILTERWRAPPER6);
+ /* TODO: implement test */
+ tr12.appendTcDetail("Not implemented.");
+ tr12.writeTo(writer);
+
+ /* TestCase: V2AddlFilterTests_SPEC2_20_Render_filter3 */
+ /* Details: "If the filter declaration specifies the <lifecycle> tag */
+ /* value RENDER_PHASE, the RenderFilter.doFilter method is called" */
+ TestResult tr13 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_RENDER_FILTER3);
+ /* TODO: implement test */
+ tr13.appendTcDetail("Not implemented.");
+ tr13.writeTo(writer);
+
+ }
+
+}