portals-pluto-scm mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From msnickl...@apache.org
Subject [07/17] portals-pluto git commit: Implemented all tests of V2AddlFilterTests module.
Date Thu, 09 Jun 2016 06:39:14 GMT
http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/c9c649c1/portlet-tck_3.0/V2AddlFilterTests/src/main/java/javax/portlet/tck/portlets/AddlFilterTests_SPEC2_20_FilterMultiple.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2AddlFilterTests/src/main/java/javax/portlet/tck/portlets/AddlFilterTests_SPEC2_20_FilterMultiple.java b/portlet-tck_3.0/V2AddlFilterTests/src/main/java/javax/portlet/tck/portlets/AddlFilterTests_SPEC2_20_FilterMultiple.java
new file mode 100644
index 0000000..5899273
--- /dev/null
+++ b/portlet-tck_3.0/V2AddlFilterTests/src/main/java/javax/portlet/tck/portlets/AddlFilterTests_SPEC2_20_FilterMultiple.java
@@ -0,0 +1,90 @@
+/*
+ * 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.StringWriter;
+import java.util.Enumeration;
+import java.util.logging.Logger;
+
+import javax.portlet.ActionRequest;
+import javax.portlet.ActionResponse;
+import javax.portlet.PortletException;
+import javax.portlet.filter.ActionFilter;
+import javax.portlet.filter.FilterChain;
+import javax.portlet.filter.FilterConfig;
+
+/**
+ * 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.
+ * @author ahmed
+ */
+public class AddlFilterTests_SPEC2_20_FilterMultiple
+    implements ActionFilter {
+
+  private static final String LOG_CLASS = AddlFilterTests_SPEC2_20_FilterMultiple.class.getName();
+  private final Logger LOGGER = Logger.getLogger(LOG_CLASS);
+  
+  StringWriter initWriter = new StringWriter();
+
+
+  public void init(FilterConfig config) throws PortletException {
+    LOGGER.entering(LOG_CLASS, "filter init entry");
+    String portletNameAction = (String) config.getPortletContext().getAttribute("PortletNameAction");
+    String filterName = config.getFilterName();
+    
+    /* 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" */
+    if(portletNameAction!=null
+        && portletNameAction.equals("AddlFilterTests_SPEC2_20_Action") 
+        && filterName.equals("AddlFilterTests_SPEC2_20_Filter1a")){
+      Enumeration<String> initParams = config.getInitParameterNames();
+      if(initParams.nextElement().equals("tr4") && initParams.nextElement().equals("tr5")){
+        AddlFilterTests_SPEC2_20_ActionFilter_TestVariables.actionTr5b_success=true;
+        AddlFilterTests_SPEC2_20_ActionFilter_TestVariables.actionTr6b_success=true;
+      } else {
+        AddlFilterTests_SPEC2_20_ActionFilter_TestVariables.actionTr5b_success=false;
+        AddlFilterTests_SPEC2_20_ActionFilter_TestVariables.actionTr6b_success=false;
+      }
+    }
+    
+    /* 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 &lt;portlet-name&gt; matching filter mappings appear in */
+    /* the deployment descriptor" */
+    if (portletNameAction != null && portletNameAction.equals("AddlFilterTests_SPEC2_20_Action")
+        && filterName.equals("AddlFilterTests_SPEC2_20_Filter1a")
+        && AddlFilterTests_SPEC2_20_ActionFilter_TestVariables.actionTr10a_success) {
+      AddlFilterTests_SPEC2_20_ActionFilter_TestVariables.actionTr10b_success=true;
+    } 
+    
+  }
+
+  public void doFilter(ActionRequest portletReq, ActionResponse portletResp, FilterChain chain)
+      throws IOException, PortletException {
+    LOGGER.entering(LOG_CLASS, "filter doFilter entry");
+    chain.doFilter(portletReq, portletResp);
+  }
+
+  public void destroy() {
+    // free resources
+  }
+}

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/c9c649c1/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
index 29ba5f3..6eef069 100644
--- 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
@@ -1,227 +1,83 @@
-/*  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
+/*
+ * 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
+ * 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.
+ * 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
+ * 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
+ * @author ahmed
  */
-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                  */
-      /* &lt;lifecycle&gt; 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);
+public class AddlFilterTests_SPEC2_20_Render implements Portlet {
+  private static final String LOG_CLASS = AddlFilterTests_SPEC2_20_Render.class.getName();
+  private final Logger LOGGER = Logger.getLogger(LOG_CLASS);
 
-      /* 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);
+  private PortletConfig portletConfig = null;
 
-      /* 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);
+  @Override
+  public void init(PortletConfig config) throws PortletException {
+    this.portletConfig = config;
+    this.portletConfig.getPortletContext().setAttribute("PortletNameRender",
+        "AddlFilterTests_SPEC2_20_Render");
+  }
 
-      /* 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);
+  @Override
+  public void destroy() {}
 
-      /* 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);
+  @Override
+  public void processAction(ActionRequest portletReq, ActionResponse portletResp)
+      throws PortletException, IOException {
+    LOGGER.entering(LOG_CLASS, "main portlet processAction entry");
 
-      /* TestCase: V2AddlFilterTests_SPEC2_20_Render_filter13                 */
-      /* Details: "A filter declaration can be mapped to a portlet through    */
-      /* the deployment descriptor &lt;filter-mapping&gt; element"            */
-      TestResult tr8 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_RENDER_FILTER13);
-      /* TODO: implement test */
-      tr8.appendTcDetail("Not implemented.");
-      tr8.writeTo(writer);
+    portletResp.setRenderParameters(portletReq.getParameterMap());
+    long tid = Thread.currentThread().getId();
+    portletReq.setAttribute(THREADID_ATTR, tid);
+    portletResp.setRenderParameter("tr11", "true");
 
-      /* 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 &lt;portlet-name&gt; 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);
+  @Override
+  public void render(RenderRequest portletReq, RenderResponse portletResp)
+      throws PortletException, IOException {
+    LOGGER.entering(LOG_CLASS, "main portlet render entry");
 
-      /* 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);
+    long tid = Thread.currentThread().getId();
+    portletReq.setAttribute(THREADID_ATTR, tid);
 
-      /* 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);
+    PrintWriter writer = portletResp.getWriter();
 
-      /* TestCase: V2AddlFilterTests_SPEC2_20_Render_filter3                  */
-      /* Details: "If the filter declaration specifies the                    */
-      /* &lt;lifecycle&gt; 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);
+    // Create result objects for the tests
 
-   }
+    /* TestCase: V2AddlFilterTests_SPEC2_20_Render_filterWrapper5 */
+    /* Details: "An RENDER_PHASE filter can wrap the RenderRequest object */
+    /* with a custom wrapper" */
+    PortletURL rurl = portletResp.createActionURL();
+    TestLink tl = new TestLink("V2AddlFilterTests_SPEC2_20_Render_filterWrapper5", rurl);
+    tl.writeTo(writer);
+  }
 
 }

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/c9c649c1/portlet-tck_3.0/V2AddlFilterTests/src/main/java/javax/portlet/tck/portlets/AddlFilterTests_SPEC2_20_Resource.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2AddlFilterTests/src/main/java/javax/portlet/tck/portlets/AddlFilterTests_SPEC2_20_Resource.java b/portlet-tck_3.0/V2AddlFilterTests/src/main/java/javax/portlet/tck/portlets/AddlFilterTests_SPEC2_20_Resource.java
index e983cf8..581f144 100644
--- a/portlet-tck_3.0/V2AddlFilterTests/src/main/java/javax/portlet/tck/portlets/AddlFilterTests_SPEC2_20_Resource.java
+++ b/portlet-tck_3.0/V2AddlFilterTests/src/main/java/javax/portlet/tck/portlets/AddlFilterTests_SPEC2_20_Resource.java
@@ -1,242 +1,108 @@
-/*  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
+/*
+ * 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
+ * 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.
+ * 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_Resource_event
- *
+ * 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.
+ * @author ahmed
  */
 public class AddlFilterTests_SPEC2_20_Resource implements Portlet, ResourceServingPortlet {
-   private static final String LOG_CLASS = 
-         AddlFilterTests_SPEC2_20_Resource.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();
-
-      JSR286SpecTestCaseDetails tcd = new JSR286SpecTestCaseDetails();
-
-      // Create result objects for the tests
-
-      /* TestCase: V2AddlFilterTests_SPEC2_20_Resource_filter1                */
-      /* Details: "A filter declaration can be configured in the deployment   */
-      /* descriptor"                                                          */
-      TestResult tr0 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_RESOURCE_FILTER1);
-      /* TODO: implement test */
-      tr0.appendTcDetail("Not implemented.");
-      tr0.writeTo(writer);
-
-      /* TestCase: V2AddlFilterTests_SPEC2_20_Resource_filter6                */
-      /* Details: "A filter declaration can contain multiple                  */
-      /* &lt;lifecycle&gt; tags for a single filter class"                    */
-      TestResult tr1 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_RESOURCE_FILTER6);
-      /* TODO: implement test */
-      tr1.appendTcDetail("Not implemented.");
-      tr1.writeTo(writer);
-
-      /* TestCase: V2AddlFilterTests_SPEC2_20_Resource_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_RESOURCE_FILTER7);
-      /* TODO: implement test */
-      tr2.appendTcDetail("Not implemented.");
-      tr2.writeTo(writer);
-
-      /* TestCase: V2AddlFilterTests_SPEC2_20_Resource_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_RESOURCE_FILTER8);
-      /* TODO: implement test */
-      tr3.appendTcDetail("Not implemented.");
-      tr3.writeTo(writer);
-
-      /* TestCase: V2AddlFilterTests_SPEC2_20_Resource_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_RESOURCE_FILTER9);
-      /* TODO: implement test */
-      tr4.appendTcDetail("Not implemented.");
-      tr4.writeTo(writer);
-
-      /* TestCase: V2AddlFilterTests_SPEC2_20_Resource_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_RESOURCE_FILTER10);
-      /* TODO: implement test */
-      tr5.appendTcDetail("Not implemented.");
-      tr5.writeTo(writer);
-
-      /* TestCase: V2AddlFilterTests_SPEC2_20_Resource_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_RESOURCE_FILTER11);
-      /* TODO: implement test */
-      tr6.appendTcDetail("Not implemented.");
-      tr6.writeTo(writer);
-
-      /* TestCase: V2AddlFilterTests_SPEC2_20_Resource_filter12               */
-      /* Details: "A filter class can appear in multiple filter               */
-      /* declarations"                                                        */
-      TestResult tr7 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_RESOURCE_FILTER12);
-      /* TODO: implement test */
-      tr7.appendTcDetail("Not implemented.");
-      tr7.writeTo(writer);
-
-      /* TestCase: V2AddlFilterTests_SPEC2_20_Resource_filter13               */
-      /* Details: "A filter declaration can be mapped to a portlet through    */
-      /* the deployment descriptor &lt;filter-mapping&gt; element"            */
-      TestResult tr8 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_RESOURCE_FILTER13);
-      /* TODO: implement test */
-      tr8.appendTcDetail("Not implemented.");
-      tr8.writeTo(writer);
-
-      /* TestCase: V2AddlFilterTests_SPEC2_20_Resource_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_RESOURCE_FILTER14);
-      /* TODO: implement test */
-      tr9.appendTcDetail("Not implemented.");
-      tr9.writeTo(writer);
-
-      /* TestCase: V2AddlFilterTests_SPEC2_20_Resource_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 &lt;portlet-name&gt; matching filter mappings appear in    */
-      /* the deployment descriptor"                                           */
-      TestResult tr10 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_RESOURCE_FILTER15);
-      /* TODO: implement test */
-      tr10.appendTcDetail("Not implemented.");
-      tr10.writeTo(writer);
-
-      /* TestCase: V2AddlFilterTests_SPEC2_20_Resource_filter5                */
-      /* Details: "If the filter declaration specifies the                    */
-      /* &lt;lifecycle&gt; tag value RESOURCE_PHASE, the                      */
-      /* ResourceFilter.doFilter method is called"                            */
-      TestResult tr11 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_RESOURCE_FILTER5);
-      /* TODO: implement test */
-      tr11.appendTcDetail("Not implemented.");
-      tr11.writeTo(writer);
-
-      /* TestCase: V2AddlFilterTests_SPEC2_20_Resource_filterWrapper7         */
-      /* Details: "An RESOURCE_PHASE filter can wrap the ResourceRequest      */
-      /* object with a custom wrapper"                                        */
-      TestResult tr12 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_RESOURCE_FILTERWRAPPER7);
-      /* TODO: implement test */
-      tr12.appendTcDetail("Not implemented.");
-      tr12.writeTo(writer);
-
-      /* TestCase: V2AddlFilterTests_SPEC2_20_Resource_filterWrapper8         */
-      /* Details: "An RESOURCE_PHASE filter can wrap the ResourceResponse     */
-      /* object with a custom wrapper"                                        */
-      TestResult tr13 = tcd.getTestResultFailed(V2ADDLFILTERTESTS_SPEC2_20_RESOURCE_FILTERWRAPPER8);
-      /* TODO: implement test */
-      tr13.appendTcDetail("Not implemented.");
-      tr13.writeTo(writer);
-
-   }
-
-   @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();
-
-      writer.write("<div id=\"AddlFilterTests_SPEC2_20_Resource\">no resource output.</div>\n");
-      ResourceURL resurl = portletResp.createResourceURL();
-      resurl.setCacheability(PAGE);
-      writer.write("<script>\n");
-      writer.write("(function () {\n");
-      writer.write("   var xhr = new XMLHttpRequest();\n");
-      writer.write("   xhr.onreadystatechange=function() {\n");
-      writer.write("      if (xhr.readyState==4 && xhr.status==200) {\n");
-      writer.write("         document.getElementById(\"AddlFilterTests_SPEC2_20_Resource\").innerHTML=xhr.responseText;\n");
-      writer.write("      }\n");
-      writer.write("   };\n");
-      writer.write("   xhr.open(\"GET\",\"" + resurl.toString() + "\",true);\n");
-      writer.write("   xhr.send();\n");
-      writer.write("})();\n");
-      writer.write("</script>\n");
-   }
+  private static final String LOG_CLASS = AddlFilterTests_SPEC2_20_Resource.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;
+    this.portletConfig.getPortletContext().setAttribute("PortletNameResource",
+        "AddlFilterTests_SPEC2_20_Resource");
+  }
+
+  @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);
+    portletResp.setRenderParameter("tr12", "true");
+
+  }
+
+  @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);
+
+  }
+
+  @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();
+
+    // Create result objects for the tests
+
+    /* TestCase: V2AddlFilterTests_SPEC2_20_Render_filterWrapper5 */
+    /* Details: "An RENDER_PHASE filter can wrap the RenderRequest object */
+    /* with a custom wrapper" */
+    PortletURL rurl = portletResp.createActionURL();
+    TestLink tl = new TestLink(V2ADDLFILTERTESTS_SPEC2_20_RESOURCE_FILTERWRAPPER7, rurl);
+    tl.writeTo(writer);
+
+    writer.write("<div id=\"AddlFilterTests_SPEC2_20_Resource\">no resource output.</div>\n");
+    ResourceURL resurl = portletResp.createResourceURL();
+    resurl.setCacheability(PAGE);
+    writer.write("<script>\n");
+    writer.write("(function () {\n");
+    writer.write("   var xhr = new XMLHttpRequest();\n");
+    writer.write("   xhr.onreadystatechange=function() {\n");
+    writer.write("      if (xhr.readyState==4 && xhr.status==200) {\n");
+    writer.write(
+        "         document.getElementById(\"AddlFilterTests_SPEC2_20_Resource\").innerHTML=xhr.responseText;\n");
+    writer.write("      }\n");
+    writer.write("   };\n");
+    writer.write("   xhr.open(\"GET\",\"" + resurl.toString() + "\",true);\n");
+    writer.write("   xhr.send();\n");
+    writer.write("})();\n");
+    writer.write("</script>\n");
+  }
 
 }

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/c9c649c1/portlet-tck_3.0/V2AddlFilterTests/src/main/resources/xml-resources/additionalTCs.xml
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2AddlFilterTests/src/main/resources/xml-resources/additionalTCs.xml b/portlet-tck_3.0/V2AddlFilterTests/src/main/resources/xml-resources/additionalTCs.xml
index 1bcb620..4d059ee 100644
--- a/portlet-tck_3.0/V2AddlFilterTests/src/main/resources/xml-resources/additionalTCs.xml
+++ b/portlet-tck_3.0/V2AddlFilterTests/src/main/resources/xml-resources/additionalTCs.xml
@@ -34,45 +34,12 @@
 <entry key="V2AddlFilterTests_SPEC2_20_Action_filterWrapper1">V2AddlFilterTests</entry>
 <entry key="V2AddlFilterTests_SPEC2_20_Action_filterWrapper2">V2AddlFilterTests</entry>
 <entry key="V2AddlFilterTests_SPEC2_20_Action_filter2">V2AddlFilterTests</entry>
-<entry key="V2AddlFilterTests_SPEC2_20_Render_filter1">V2AddlFilterTests</entry>
-<entry key="V2AddlFilterTests_SPEC2_20_Render_filter6">V2AddlFilterTests</entry>
-<entry key="V2AddlFilterTests_SPEC2_20_Render_filter7">V2AddlFilterTests</entry>
-<entry key="V2AddlFilterTests_SPEC2_20_Render_filter8">V2AddlFilterTests</entry>
-<entry key="V2AddlFilterTests_SPEC2_20_Render_filter9">V2AddlFilterTests</entry>
-<entry key="V2AddlFilterTests_SPEC2_20_Render_filter10">V2AddlFilterTests</entry>
-<entry key="V2AddlFilterTests_SPEC2_20_Render_filter11">V2AddlFilterTests</entry>
-<entry key="V2AddlFilterTests_SPEC2_20_Render_filter12">V2AddlFilterTests</entry>
-<entry key="V2AddlFilterTests_SPEC2_20_Render_filter13">V2AddlFilterTests</entry>
-<entry key="V2AddlFilterTests_SPEC2_20_Render_filter14">V2AddlFilterTests</entry>
-<entry key="V2AddlFilterTests_SPEC2_20_Render_filter15">V2AddlFilterTests</entry>
 <entry key="V2AddlFilterTests_SPEC2_20_Render_filterWrapper5">V2AddlFilterTests</entry>
 <entry key="V2AddlFilterTests_SPEC2_20_Render_filterWrapper6">V2AddlFilterTests</entry>
 <entry key="V2AddlFilterTests_SPEC2_20_Render_filter3">V2AddlFilterTests</entry>
-<entry key="V2AddlFilterTests_SPEC2_20_Event_filter1">V2AddlFilterTests</entry>
-<entry key="V2AddlFilterTests_SPEC2_20_Event_filter6">V2AddlFilterTests</entry>
-<entry key="V2AddlFilterTests_SPEC2_20_Event_filter7">V2AddlFilterTests</entry>
-<entry key="V2AddlFilterTests_SPEC2_20_Event_filter8">V2AddlFilterTests</entry>
-<entry key="V2AddlFilterTests_SPEC2_20_Event_filter9">V2AddlFilterTests</entry>
-<entry key="V2AddlFilterTests_SPEC2_20_Event_filter10">V2AddlFilterTests</entry>
-<entry key="V2AddlFilterTests_SPEC2_20_Event_filter11">V2AddlFilterTests</entry>
-<entry key="V2AddlFilterTests_SPEC2_20_Event_filter12">V2AddlFilterTests</entry>
-<entry key="V2AddlFilterTests_SPEC2_20_Event_filter13">V2AddlFilterTests</entry>
-<entry key="V2AddlFilterTests_SPEC2_20_Event_filter14">V2AddlFilterTests</entry>
-<entry key="V2AddlFilterTests_SPEC2_20_Event_filter15">V2AddlFilterTests</entry>
 <entry key="V2AddlFilterTests_SPEC2_20_Event_filterWrapper3">V2AddlFilterTests</entry>
 <entry key="V2AddlFilterTests_SPEC2_20_Event_filterWrapper4">V2AddlFilterTests</entry>
 <entry key="V2AddlFilterTests_SPEC2_20_Event_filter4">V2AddlFilterTests</entry>
-<entry key="V2AddlFilterTests_SPEC2_20_Resource_filter1">V2AddlFilterTests</entry>
-<entry key="V2AddlFilterTests_SPEC2_20_Resource_filter6">V2AddlFilterTests</entry>
-<entry key="V2AddlFilterTests_SPEC2_20_Resource_filter7">V2AddlFilterTests</entry>
-<entry key="V2AddlFilterTests_SPEC2_20_Resource_filter8">V2AddlFilterTests</entry>
-<entry key="V2AddlFilterTests_SPEC2_20_Resource_filter9">V2AddlFilterTests</entry>
-<entry key="V2AddlFilterTests_SPEC2_20_Resource_filter10">V2AddlFilterTests</entry>
-<entry key="V2AddlFilterTests_SPEC2_20_Resource_filter11">V2AddlFilterTests</entry>
-<entry key="V2AddlFilterTests_SPEC2_20_Resource_filter12">V2AddlFilterTests</entry>
-<entry key="V2AddlFilterTests_SPEC2_20_Resource_filter13">V2AddlFilterTests</entry>
-<entry key="V2AddlFilterTests_SPEC2_20_Resource_filter14">V2AddlFilterTests</entry>
-<entry key="V2AddlFilterTests_SPEC2_20_Resource_filter15">V2AddlFilterTests</entry>
 <entry key="V2AddlFilterTests_SPEC2_20_Resource_filter5">V2AddlFilterTests</entry>
 <entry key="V2AddlFilterTests_SPEC2_20_Resource_filterWrapper7">V2AddlFilterTests</entry>
 <entry key="V2AddlFilterTests_SPEC2_20_Resource_filterWrapper8">V2AddlFilterTests</entry>

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/c9c649c1/portlet-tck_3.0/V2AddlFilterTests/src/main/webapp/WEB-INF/portlet.xml
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2AddlFilterTests/src/main/webapp/WEB-INF/portlet.xml b/portlet-tck_3.0/V2AddlFilterTests/src/main/webapp/WEB-INF/portlet.xml
index c768f3f..bc38494 100644
--- a/portlet-tck_3.0/V2AddlFilterTests/src/main/webapp/WEB-INF/portlet.xml
+++ b/portlet-tck_3.0/V2AddlFilterTests/src/main/webapp/WEB-INF/portlet.xml
@@ -1,145 +1,213 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--
-    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.     
--->
+<!-- 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. -->
 <portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd"
-   xmlns:tck="http://www.apache.org/portals/pluto/portlet-tck_3.0"
-   version="2.0" id="V2AddlFilterTests">
-   <portlet>
-      <portlet-name>AddlFilterTests_SPEC2_20_Action</portlet-name>
-      <portlet-class>javax.portlet.tck.portlets.AddlFilterTests_SPEC2_20_Action</portlet-class>
-      <expiration-cache>0</expiration-cache>
-      <supports>
-         <mime-type>text/html</mime-type>
-      </supports>
-      <supported-locale>en_US</supported-locale>
-      <portlet-info>
-         <title>AddlFilterTests_SPEC2_20_Action</title>
-      </portlet-info>
-   </portlet>
-
-   <portlet>
-      <portlet-name>AddlFilterTests_SPEC2_20_Render</portlet-name>
-      <portlet-class>javax.portlet.tck.portlets.AddlFilterTests_SPEC2_20_Render</portlet-class>
-      <expiration-cache>0</expiration-cache>
-      <supports>
-         <mime-type>text/html</mime-type>
-      </supports>
-      <supported-locale>en_US</supported-locale>
-      <portlet-info>
-         <title>AddlFilterTests_SPEC2_20_Render</title>
-      </portlet-info>
-   </portlet>
-
-   <portlet>
-      <portlet-name>AddlFilterTests_SPEC2_20_Event</portlet-name>
-      <portlet-class>javax.portlet.tck.portlets.AddlFilterTests_SPEC2_20_Event</portlet-class>
-      <expiration-cache>0</expiration-cache>
-      <supports>
-         <mime-type>text/html</mime-type>
-      </supports>
-      <supported-locale>en_US</supported-locale>
-      <portlet-info>
-         <title>AddlFilterTests_SPEC2_20_Event</title>
-      </portlet-info>
-      <supported-publishing-event>
-         <qname>tck:AddlFilterTests_SPEC2_20_Event</qname>
-      </supported-publishing-event>
-   </portlet>
-
-   <portlet>
-      <portlet-name>AddlFilterTests_SPEC2_20_Event_event</portlet-name>
-      <portlet-class>javax.portlet.tck.portlets.AddlFilterTests_SPEC2_20_Event_event</portlet-class>
-      <expiration-cache>0</expiration-cache>
-      <supports>
-         <mime-type>text/html</mime-type>
-      </supports>
-      <supported-locale>en_US</supported-locale>
-      <portlet-info>
-         <title>AddlFilterTests_SPEC2_20_Event_event</title>
-      </portlet-info>
-      <supported-processing-event>
-         <qname>tck:AddlFilterTests_SPEC2_20_Event</qname>
-      </supported-processing-event>
-   </portlet>
-
-   <portlet>
-      <portlet-name>AddlFilterTests_SPEC2_20_Resource</portlet-name>
-      <portlet-class>javax.portlet.tck.portlets.AddlFilterTests_SPEC2_20_Resource</portlet-class>
-      <expiration-cache>0</expiration-cache>
-      <supports>
-         <mime-type>text/html</mime-type>
-      </supports>
-      <supported-locale>en_US</supported-locale>
-      <portlet-info>
-         <title>AddlFilterTests_SPEC2_20_Resource</title>
-      </portlet-info>
-   </portlet>
-
-   <event-definition>
-      <qname>tck:AddlPortletTests_SPEC2_5_EventHandling</qname>
-      <value-type>java.lang.String</value-type>
-   </event-definition>
-
-   <event-definition>
-      <qname>tck:AddlPortletTests_SPEC2_15_Event</qname>
-      <value-type>java.lang.String</value-type>
-   </event-definition>
-
-   <event-definition>
-      <qname>tck:AddlPortletTests_SPEC2_15_EventEventHandling</qname>
-      <value-type>java.lang.String</value-type>
-   </event-definition>
-
-   <event-definition>
-      <qname>tck:AddlEnvironmentTests_SPEC2_17_EventPreferences</qname>
-      <value-type>java.lang.String</value-type>
-   </event-definition>
-
-   <event-definition>
-      <qname>tck:AddlRequestTests_SPEC2_11_Event</qname>
-      <value-type>java.lang.String</value-type>
-   </event-definition>
-
-   <event-definition>
-      <qname>tck:AddlRequestTests_SPEC2_11_EventAttr</qname>
-      <value-type>java.lang.String</value-type>
-   </event-definition>
-
-   <event-definition>
-      <qname>tck:AddlRequestTests_SPEC2_11_EventReq</qname>
-      <value-type>java.lang.String</value-type>
-   </event-definition>
-
-   <event-definition>
-      <qname>tck:AddlResponseTests_SPEC2_12_Event</qname>
-      <value-type>java.lang.String</value-type>
-   </event-definition>
-
-   <event-definition>
-      <qname>tck:AddlFilterTests_SPEC2_20_Event</qname>
-      <value-type>java.lang.String</value-type>
-   </event-definition>
-
-   <public-render-parameter>
-      <identifier>tckPRP1</identifier>
-      <qname>tck:tckPRP1</qname>
-   </public-render-parameter>
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd"
+	xmlns:tck="http://www.apache.org/portals/pluto/portlet-tck_3.0"
+	version="2.0" id="V2AddlFilterTests">
+	<portlet>
+		<portlet-name>AddlFilterTests_SPEC2_20_Action</portlet-name>
+		<portlet-class>javax.portlet.tck.portlets.AddlFilterTests_SPEC2_20_Action</portlet-class>
+		<expiration-cache>0</expiration-cache>
+		<supports>
+			<mime-type>text/html</mime-type>
+		</supports>
+		<supported-locale>en_US</supported-locale>
+		<portlet-info>
+			<title>AddlFilterTests_SPEC2_20_Action</title>
+		</portlet-info>
+	</portlet>
+
+	<portlet>
+		<portlet-name>AddlFilterTests_SPEC2_20_Render</portlet-name>
+		<portlet-class>javax.portlet.tck.portlets.AddlFilterTests_SPEC2_20_Render</portlet-class>
+		<expiration-cache>0</expiration-cache>
+		<supports>
+			<mime-type>text/html</mime-type>
+		</supports>
+		<supported-locale>en_US</supported-locale>
+		<portlet-info>
+			<title>AddlFilterTests_SPEC2_20_Render</title>
+		</portlet-info>
+	</portlet>
+
+	<portlet>
+		<portlet-name>AddlFilterTests_SPEC2_20_Event</portlet-name>
+		<portlet-class>javax.portlet.tck.portlets.AddlFilterTests_SPEC2_20_Event</portlet-class>
+		<expiration-cache>0</expiration-cache>
+		<supports>
+			<mime-type>text/html</mime-type>
+		</supports>
+		<supported-locale>en_US</supported-locale>
+		<portlet-info>
+			<title>AddlFilterTests_SPEC2_20_Event</title>
+		</portlet-info>
+		<supported-publishing-event>
+			<qname>tck:AddlFilterTests_SPEC2_20_Event</qname>
+		</supported-publishing-event>
+		<supported-public-render-parameter>tr11_event</supported-public-render-parameter>
+	</portlet>
+
+	<portlet>
+		<portlet-name>AddlFilterTests_SPEC2_20_Event_event</portlet-name>
+		<portlet-class>javax.portlet.tck.portlets.AddlFilterTests_SPEC2_20_Event_event</portlet-class>
+		<expiration-cache>0</expiration-cache>
+		<supports>
+			<mime-type>text/html</mime-type>
+		</supports>
+		<supported-locale>en_US</supported-locale>
+		<portlet-info>
+			<title>AddlFilterTests_SPEC2_20_Event_event</title>
+		</portlet-info>
+		<supported-processing-event>
+			<qname>tck:AddlFilterTests_SPEC2_20_Event</qname>
+		</supported-processing-event>
+		<supported-public-render-parameter>tr11_event</supported-public-render-parameter>
+	</portlet>
+
+	<portlet>
+		<portlet-name>AddlFilterTests_SPEC2_20_Resource</portlet-name>
+		<portlet-class>javax.portlet.tck.portlets.AddlFilterTests_SPEC2_20_Resource</portlet-class>
+		<expiration-cache>0</expiration-cache>
+		<supports>
+			<mime-type>text/html</mime-type>
+		</supports>
+		<supported-locale>en_US</supported-locale>
+		<portlet-info>
+			<title>AddlFilterTests_SPEC2_20_Resource</title>
+		</portlet-info>
+	</portlet>
+
+	<event-definition>
+		<qname>tck:AddlPortletTests_SPEC2_5_EventHandling</qname>
+		<value-type>java.lang.String</value-type>
+	</event-definition>
+
+	<event-definition>
+		<qname>tck:AddlPortletTests_SPEC2_15_Event</qname>
+		<value-type>java.lang.String</value-type>
+	</event-definition>
+
+	<event-definition>
+		<qname>tck:AddlPortletTests_SPEC2_15_EventEventHandling</qname>
+		<value-type>java.lang.String</value-type>
+	</event-definition>
+
+	<event-definition>
+		<qname>tck:AddlEnvironmentTests_SPEC2_17_EventPreferences</qname>
+		<value-type>java.lang.String</value-type>
+	</event-definition>
+
+	<event-definition>
+		<qname>tck:AddlRequestTests_SPEC2_11_Event</qname>
+		<value-type>java.lang.String</value-type>
+	</event-definition>
+
+	<event-definition>
+		<qname>tck:AddlRequestTests_SPEC2_11_EventAttr</qname>
+		<value-type>java.lang.String</value-type>
+	</event-definition>
+
+	<event-definition>
+		<qname>tck:AddlRequestTests_SPEC2_11_EventReq</qname>
+		<value-type>java.lang.String</value-type>
+	</event-definition>
+
+	<event-definition>
+		<qname>tck:AddlResponseTests_SPEC2_12_Event</qname>
+		<value-type>java.lang.String</value-type>
+	</event-definition>
+
+	<event-definition>
+		<qname>tck:AddlFilterTests_SPEC2_20_Event</qname>
+		<value-type>java.lang.String</value-type>
+	</event-definition>
+
+	<public-render-parameter>
+		<identifier>tr11_event</identifier>
+		<qname>tck:tr11_event</qname>
+	</public-render-parameter>
+
+	<filter>
+		<filter-name>AddlFilterTests_SPEC2_20_Filter1</filter-name>
+		<filter-class>javax.portlet.tck.portlets.AddlFilterTests_SPEC2_20_Filter</filter-class>
+		<lifecycle>ACTION_PHASE</lifecycle>
+		<lifecycle>EVENT_PHASE</lifecycle>
+		<lifecycle>RESOURCE_PHASE</lifecycle>
+		<init-param>
+			<name>tr2</name>
+			<value>true</value>
+		</init-param>
+		<init-param>
+			<name>tr3</name>
+			<value>true</value>
+		</init-param>
+	</filter>
+	
+	<filter>
+		<filter-name>AddlFilterTests_SPEC2_20_Filter1a</filter-name>
+		<filter-class>javax.portlet.tck.portlets.AddlFilterTests_SPEC2_20_FilterMultiple</filter-class>
+		<lifecycle>ACTION_PHASE</lifecycle>
+		<init-param>
+			<name>tr4</name>
+			<value>true</value>
+		</init-param>
+		<init-param>
+			<name>tr5</name>
+			<value>true</value>
+		</init-param>
+	</filter>
+	
+	<filter>
+		<filter-name>AddlFilterTests_SPEC2_20_Filter2</filter-name>
+		<filter-class>javax.portlet.tck.portlets.AddlFilterTests_SPEC2_20_Filter</filter-class>
+		<lifecycle>RENDER_PHASE</lifecycle>
+	</filter>
+	
+	<filter>
+		<filter-name>AddlFilterTests_SPEC2_20_Filter3</filter-name>
+		<filter-class>javax.portlet.tck.portlets.AddlFilterTests_SPEC2_20_Filter</filter-class>
+		<lifecycle>RESOURCE_PHASE</lifecycle>
+	</filter>
+	
+	<filter>
+		<filter-name>AddlFilterTests_SPEC2_20_Filter4</filter-name>
+		<filter-class>javax.portlet.tck.portlets.AddlFilterTests_SPEC2_20_Filter</filter-class>
+		<lifecycle>EVENT_PHASE</lifecycle>
+	</filter>
+
+	<filter-mapping>
+		<filter-name>AddlFilterTests_SPEC2_20_Filter1</filter-name>
+		<portlet-name>AddlFilterTests_SPEC2_20_Action</portlet-name>
+	</filter-mapping>
+	
+	<filter-mapping>
+		<filter-name>AddlFilterTests_SPEC2_20_Filter1a</filter-name>
+		<portlet-name>AddlFilterTests_SPEC2_20_Action</portlet-name>
+	</filter-mapping>
+	
+	<filter-mapping>
+		<filter-name>AddlFilterTests_SPEC2_20_Filter2</filter-name>
+		<portlet-name>AddlFilterTests_SPEC2_20_Render</portlet-name>
+	</filter-mapping>
+	
+	<filter-mapping>
+		<filter-name>AddlFilterTests_SPEC2_20_Filter3</filter-name>
+		<portlet-name>AddlFilterTests_SPEC2_20_Res*</portlet-name>
+	</filter-mapping>
+	
+	<filter-mapping>
+		<filter-name>AddlFilterTests_SPEC2_20_Filter4</filter-name>
+		<portlet-name>AddlFilterTests_SPEC2_20_Ev*</portlet-name>
+	</filter-mapping>
+
 </portlet-app>


Mime
View raw message