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/09/01 15:29:43 UTC

[35/63] [abbrv] Moved filter test cases to proper filter method. Added keyword "Api" to test case names whose definitions were derived from the API documentation to allow targeted test runs for that group of tests.

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/db1071e7/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_FilterConfig_RenderFilter.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_FilterConfig_RenderFilter.java b/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_FilterConfig_RenderFilter.java
deleted file mode 100644
index eb6eb02..0000000
--- a/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_FilterConfig_RenderFilter.java
+++ /dev/null
@@ -1,153 +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.*;
-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.JSR286ApiTestCaseDetails.*;
-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 FilterTests_FilterConfig_RenderFilter_event
- *
- */
-public class FilterTests_FilterConfig_RenderFilter implements Portlet, ResourceServingPortlet {
-   private static final String LOG_CLASS = 
-         FilterTests_FilterConfig_RenderFilter.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();
-
-      JSR286ApiTestCaseDetails tcd = new JSR286ApiTestCaseDetails();
-
-      // Create result objects for the tests
-
-      /* TestCase: V2FilterTests_FilterConfig_RenderFilter_getFilterName      */
-      /* Details: "Method getFilterName(): getFilterName method returns       */
-      /* filter name as defined in deployment descriptor"                     */
-      TestResult tr0 = tcd.getTestResultFailed(V2FILTERTESTS_FILTERCONFIG_RENDERFILTER_GETFILTERNAME);
-      /* TODO: implement test */
-      tr0.appendTcDetail("Not implemented.");
-      tr0.writeTo(writer);
-
-      /* TestCase: V2FilterTests_FilterConfig_RenderFilter_getPortletContext  */
-      /* Details: "Method getPortletContext(): Returns reference to           */
-      /* PortletContext object"                                               */
-      TestResult tr1 = tcd.getTestResultFailed(V2FILTERTESTS_FILTERCONFIG_RENDERFILTER_GETPORTLETCONTEXT);
-      /* TODO: implement test */
-      tr1.appendTcDetail("Not implemented.");
-      tr1.writeTo(writer);
-
-      /* TestCase: V2FilterTests_FilterConfig_RenderFilter_getInitParameter1  */
-      /* Details: "Method getInitParameter(String): Returns null if           */
-      /* initialization parameter does not exist"                             */
-      TestResult tr2 = tcd.getTestResultFailed(V2FILTERTESTS_FILTERCONFIG_RENDERFILTER_GETINITPARAMETER1);
-      /* TODO: implement test */
-      tr2.appendTcDetail("Not implemented.");
-      tr2.writeTo(writer);
-
-      /* TestCase: V2FilterTests_FilterConfig_RenderFilter_getInitParameter2  */
-      /* Details: "Method getInitParameter(String): Returns value of          */
-      /* specified initialization parameter"                                  */
-      TestResult tr3 = tcd.getTestResultFailed(V2FILTERTESTS_FILTERCONFIG_RENDERFILTER_GETINITPARAMETER2);
-      /* TODO: implement test */
-      tr3.appendTcDetail("Not implemented.");
-      tr3.writeTo(writer);
-
-      /* TestCase: V2FilterTests_FilterConfig_RenderFilter_getInitParameterNames1 */
-      /* Details: "Method getInitParameterNames(): Returns empty              */
-      /* Enumeration if no parameters defined"                                */
-      TestResult tr4 = tcd.getTestResultFailed(V2FILTERTESTS_FILTERCONFIG_RENDERFILTER_GETINITPARAMETERNAMES1);
-      /* TODO: implement test */
-      tr4.appendTcDetail("Not implemented.");
-      tr4.writeTo(writer);
-
-      /* TestCase: V2FilterTests_FilterConfig_RenderFilter_getInitParameterNames2 */
-      /* Details: "Method getInitParameterNames(): Returns an Enumeration     */
-      /* of initialization parameters defined in deployment descriptor"       */
-      TestResult tr5 = tcd.getTestResultFailed(V2FILTERTESTS_FILTERCONFIG_RENDERFILTER_GETINITPARAMETERNAMES2);
-      /* TODO: implement test */
-      tr5.appendTcDetail("Not implemented.");
-      tr5.writeTo(writer);
-
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/db1071e7/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_PortletFilter_ActionFilter.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_PortletFilter_ActionFilter.java b/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_PortletFilter_ActionFilter.java
deleted file mode 100644
index 58dfe75..0000000
--- a/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_PortletFilter_ActionFilter.java
+++ /dev/null
@@ -1,169 +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.*;
-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.JSR286ApiTestCaseDetails.*;
-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 FilterTests_PortletFilter_ActionFilter_event
- *
- */
-public class FilterTests_PortletFilter_ActionFilter implements Portlet, ResourceServingPortlet {
-   private static final String LOG_CLASS = 
-         FilterTests_PortletFilter_ActionFilter.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();
-
-      JSR286ApiTestCaseDetails tcd = new JSR286ApiTestCaseDetails();
-
-      // Create result objects for the tests
-
-      /* TestCase: V2FilterTests_PortletFilter_ActionFilter_initAction1       */
-      /* Details: "The init(FilterConfig): method is called when an           */
-      /* ActionFilter is configured"                                          */
-      TestResult tr0 = tcd.getTestResultFailed(V2FILTERTESTS_PORTLETFILTER_ACTIONFILTER_INITACTION1);
-      /* TODO: implement test */
-      tr0.appendTcDetail("Not implemented.");
-      tr0.writeTo(writer);
-
-      /* TestCase: V2FilterTests_PortletFilter_ActionFilter_initAction2       */
-      /* Details: "The init(FilterConfig): method for an ActionFilter is      */
-      /* passed a FilterConfig object"                                        */
-      TestResult tr1 = tcd.getTestResultFailed(V2FILTERTESTS_PORTLETFILTER_ACTIONFILTER_INITACTION2);
-      /* TODO: implement test */
-      tr1.appendTcDetail("Not implemented.");
-      tr1.writeTo(writer);
-
-      /* TestCase: V2FilterTests_PortletFilter_ActionFilter_initAction3       */
-      /* Details: "If the init(FilterConfig): method for an ActionFilter      */
-      /* throws a PortletException, the filter is not placed in service"      */
-      TestResult tr2 = tcd.getTestResultFailed(V2FILTERTESTS_PORTLETFILTER_ACTIONFILTER_INITACTION3);
-      /* TODO: implement test */
-      tr2.appendTcDetail("Not implemented.");
-      tr2.writeTo(writer);
-
-      portletReq.getPortletSession().setAttribute(
-                   Constants.RESULT_ATTR_PREFIX + "FilterTests_PortletFilter_ActionFilter",
-                   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 + "FilterTests_PortletFilter_ActionFilter", APPLICATION_SCOPE);
-      if (msg != null) {
-         writer.write("<p>" + msg + "</p><br/>\n");
-         ps.removeAttribute(RESULT_ATTR_PREFIX + "FilterTests_PortletFilter_ActionFilter", APPLICATION_SCOPE);
-      }
-
-      /* TestCase: V2FilterTests_PortletFilter_ActionFilter_initAction1       */
-      /* Details: "The init(FilterConfig): method is called when an           */
-      /* ActionFilter is configured"                                          */
-      {
-         PortletURL aurl = portletResp.createActionURL();
-         aurl.setParameters(portletReq.getPrivateParameterMap());
-         TestButton tb = new TestButton("V2FilterTests_PortletFilter_ActionFilter_initAction1", aurl);
-         tb.writeTo(writer);
-      }
-
-      /* TestCase: V2FilterTests_PortletFilter_ActionFilter_initAction2       */
-      /* Details: "The init(FilterConfig): method for an ActionFilter is      */
-      /* passed a FilterConfig object"                                        */
-      {
-         PortletURL aurl = portletResp.createActionURL();
-         aurl.setParameters(portletReq.getPrivateParameterMap());
-         TestButton tb = new TestButton("V2FilterTests_PortletFilter_ActionFilter_initAction2", aurl);
-         tb.writeTo(writer);
-      }
-
-      /* TestCase: V2FilterTests_PortletFilter_ActionFilter_initAction3       */
-      /* Details: "If the init(FilterConfig): method for an ActionFilter      */
-      /* throws a PortletException, the filter is not placed in service"      */
-      {
-         PortletURL aurl = portletResp.createActionURL();
-         aurl.setParameters(portletReq.getPrivateParameterMap());
-         TestButton tb = new TestButton("V2FilterTests_PortletFilter_ActionFilter_initAction3", aurl);
-         tb.writeTo(writer);
-      }
-
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/db1071e7/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_PortletFilter_ApiActionFilter.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_PortletFilter_ApiActionFilter.java b/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_PortletFilter_ApiActionFilter.java
new file mode 100644
index 0000000..9b2a485
--- /dev/null
+++ b/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_PortletFilter_ApiActionFilter.java
@@ -0,0 +1,138 @@
+/*  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.JSR286ApiTestCaseDetails.*;
+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 FilterTests_PortletFilter_ApiActionFilter_event
+ *
+ */
+public class FilterTests_PortletFilter_ApiActionFilter implements Portlet, ResourceServingPortlet {
+   private static final String LOG_CLASS = 
+         FilterTests_PortletFilter_ApiActionFilter.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();
+
+      PortletSession ps = portletReq.getPortletSession();
+      String msg = (String) ps.getAttribute(RESULT_ATTR_PREFIX + "FilterTests_PortletFilter_ApiActionFilter", APPLICATION_SCOPE);
+      if (msg != null) {
+         writer.write("<p>" + msg + "</p><br/>\n");
+         ps.removeAttribute(RESULT_ATTR_PREFIX + "FilterTests_PortletFilter_ApiActionFilter", APPLICATION_SCOPE);
+      }
+
+      /* TestCase: V2FilterTests_PortletFilter_ApiActionFilter_initAction1    */
+      /* Details: "The init(FilterConfig): method is called when an           */
+      /* ActionFilter is configured"                                          */
+      {
+         PortletURL aurl = portletResp.createActionURL();
+         aurl.setParameters(portletReq.getPrivateParameterMap());
+         TestButton tb = new TestButton("V2FilterTests_PortletFilter_ApiActionFilter_initAction1", aurl);
+         tb.writeTo(writer);
+      }
+
+      /* TestCase: V2FilterTests_PortletFilter_ApiActionFilter_initAction2    */
+      /* Details: "The init(FilterConfig): method for an ActionFilter is      */
+      /* passed a FilterConfig object"                                        */
+      {
+         PortletURL aurl = portletResp.createActionURL();
+         aurl.setParameters(portletReq.getPrivateParameterMap());
+         TestButton tb = new TestButton("V2FilterTests_PortletFilter_ApiActionFilter_initAction2", aurl);
+         tb.writeTo(writer);
+      }
+
+      /* TestCase: V2FilterTests_PortletFilter_ApiActionFilter_initAction3    */
+      /* Details: "If the init(FilterConfig): method for an ActionFilter      */
+      /* throws a PortletException, the filter is not placed in service"      */
+      {
+         PortletURL aurl = portletResp.createActionURL();
+         aurl.setParameters(portletReq.getPrivateParameterMap());
+         TestButton tb = new TestButton("V2FilterTests_PortletFilter_ApiActionFilter_initAction3", aurl);
+         tb.writeTo(writer);
+      }
+
+   }
+
+}

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/db1071e7/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_PortletFilter_ApiEventFilter.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_PortletFilter_ApiEventFilter.java b/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_PortletFilter_ApiEventFilter.java
new file mode 100644
index 0000000..276f4c1
--- /dev/null
+++ b/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_PortletFilter_ApiEventFilter.java
@@ -0,0 +1,134 @@
+/*  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.JSR286ApiTestCaseDetails.*;
+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 FilterTests_PortletFilter_ApiEventFilter_event
+ *
+ */
+public class FilterTests_PortletFilter_ApiEventFilter implements Portlet, ResourceServingPortlet {
+   private static final String LOG_CLASS = 
+         FilterTests_PortletFilter_ApiEventFilter.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,
+             "FilterTests_PortletFilter_ApiEventFilter");
+      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: V2FilterTests_PortletFilter_ApiEventFilter_initEvent1      */
+      /* Details: "The init(FilterConfig): method is called when an           */
+      /* EventFilter is configured"                                           */
+      {
+         PortletURL aurl = portletResp.createActionURL();
+         aurl.setParameters(portletReq.getPrivateParameterMap());
+         TestButton tb = new TestButton("V2FilterTests_PortletFilter_ApiEventFilter_initEvent1", aurl);
+         tb.writeTo(writer);
+      }
+
+      /* TestCase: V2FilterTests_PortletFilter_ApiEventFilter_initEvent2      */
+      /* Details: "The init(FilterConfig): method for an EventFilter is       */
+      /* passed a FilterConfig object"                                        */
+      {
+         PortletURL aurl = portletResp.createActionURL();
+         aurl.setParameters(portletReq.getPrivateParameterMap());
+         TestButton tb = new TestButton("V2FilterTests_PortletFilter_ApiEventFilter_initEvent2", aurl);
+         tb.writeTo(writer);
+      }
+
+      /* TestCase: V2FilterTests_PortletFilter_ApiEventFilter_initEvent3      */
+      /* Details: "If the init(FilterConfig): method for an EventFilter       */
+      /* throws a PortletException, the filter is not placed in service"      */
+      {
+         PortletURL aurl = portletResp.createActionURL();
+         aurl.setParameters(portletReq.getPrivateParameterMap());
+         TestButton tb = new TestButton("V2FilterTests_PortletFilter_ApiEventFilter_initEvent3", aurl);
+         tb.writeTo(writer);
+      }
+
+   }
+
+}

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/db1071e7/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_PortletFilter_ApiEventFilter_event.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_PortletFilter_ApiEventFilter_event.java b/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_PortletFilter_ApiEventFilter_event.java
new file mode 100644
index 0000000..6689010
--- /dev/null
+++ b/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_PortletFilter_ApiEventFilter_event.java
@@ -0,0 +1,102 @@
+/*  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.JSR286ApiTestCaseDetails.*;
+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 FilterTests_PortletFilter_ApiEventFilter_event implements Portlet, EventPortlet, ResourceServingPortlet {
+   private static final String LOG_CLASS = 
+         FilterTests_PortletFilter_ApiEventFilter_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();
+
+
+   }
+
+   @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>FilterTests_PortletFilter_ApiEventFilter_event</p>\n");
+
+      String msg = (String) portletReq.getPortletSession()
+            .getAttribute(RESULT_ATTR_PREFIX + "FilterTests_PortletFilter_ApiEventFilter", 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/db1071e7/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_PortletFilter_ApiRenderFilter.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_PortletFilter_ApiRenderFilter.java b/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_PortletFilter_ApiRenderFilter.java
new file mode 100644
index 0000000..7499221
--- /dev/null
+++ b/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_PortletFilter_ApiRenderFilter.java
@@ -0,0 +1,101 @@
+/*  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.JSR286ApiTestCaseDetails.*;
+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 FilterTests_PortletFilter_ApiRenderFilter_event
+ *
+ */
+public class FilterTests_PortletFilter_ApiRenderFilter implements Portlet, ResourceServingPortlet {
+   private static final String LOG_CLASS = 
+         FilterTests_PortletFilter_ApiRenderFilter.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();
+
+   }
+
+}

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/db1071e7/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_PortletFilter_ApiResourceFilter.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_PortletFilter_ApiResourceFilter.java b/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_PortletFilter_ApiResourceFilter.java
new file mode 100644
index 0000000..dae4a48
--- /dev/null
+++ b/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_PortletFilter_ApiResourceFilter.java
@@ -0,0 +1,116 @@
+/*  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.JSR286ApiTestCaseDetails.*;
+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 FilterTests_PortletFilter_ApiResourceFilter_event
+ *
+ */
+public class FilterTests_PortletFilter_ApiResourceFilter implements Portlet, ResourceServingPortlet {
+   private static final String LOG_CLASS = 
+         FilterTests_PortletFilter_ApiResourceFilter.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();
+
+      writer.write("<div id=\"FilterTests_PortletFilter_ApiResourceFilter\">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(\"FilterTests_PortletFilter_ApiResourceFilter\").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/db1071e7/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_PortletFilter_EventFilter.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_PortletFilter_EventFilter.java b/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_PortletFilter_EventFilter.java
deleted file mode 100644
index 91d67b4..0000000
--- a/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_PortletFilter_EventFilter.java
+++ /dev/null
@@ -1,134 +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.*;
-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.JSR286ApiTestCaseDetails.*;
-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 FilterTests_PortletFilter_EventFilter_event
- *
- */
-public class FilterTests_PortletFilter_EventFilter implements Portlet, ResourceServingPortlet {
-   private static final String LOG_CLASS = 
-         FilterTests_PortletFilter_EventFilter.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,
-             "FilterTests_PortletFilter_EventFilter");
-      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: V2FilterTests_PortletFilter_EventFilter_initEvent1         */
-      /* Details: "The init(FilterConfig): method is called when an           */
-      /* EventFilter is configured"                                           */
-      {
-         PortletURL aurl = portletResp.createActionURL();
-         aurl.setParameters(portletReq.getPrivateParameterMap());
-         TestButton tb = new TestButton("V2FilterTests_PortletFilter_EventFilter_initEvent1", aurl);
-         tb.writeTo(writer);
-      }
-
-      /* TestCase: V2FilterTests_PortletFilter_EventFilter_initEvent2         */
-      /* Details: "The init(FilterConfig): method for an EventFilter is       */
-      /* passed a FilterConfig object"                                        */
-      {
-         PortletURL aurl = portletResp.createActionURL();
-         aurl.setParameters(portletReq.getPrivateParameterMap());
-         TestButton tb = new TestButton("V2FilterTests_PortletFilter_EventFilter_initEvent2", aurl);
-         tb.writeTo(writer);
-      }
-
-      /* TestCase: V2FilterTests_PortletFilter_EventFilter_initEvent3         */
-      /* Details: "If the init(FilterConfig): method for an EventFilter       */
-      /* throws a PortletException, the filter is not placed in service"      */
-      {
-         PortletURL aurl = portletResp.createActionURL();
-         aurl.setParameters(portletReq.getPrivateParameterMap());
-         TestButton tb = new TestButton("V2FilterTests_PortletFilter_EventFilter_initEvent3", aurl);
-         tb.writeTo(writer);
-      }
-
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/db1071e7/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_PortletFilter_EventFilter_event.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_PortletFilter_EventFilter_event.java b/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_PortletFilter_EventFilter_event.java
deleted file mode 100644
index bffb143..0000000
--- a/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_PortletFilter_EventFilter_event.java
+++ /dev/null
@@ -1,133 +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.*;
-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.JSR286ApiTestCaseDetails.*;
-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 FilterTests_PortletFilter_EventFilter_event implements Portlet, EventPortlet, ResourceServingPortlet {
-   private static final String LOG_CLASS = 
-         FilterTests_PortletFilter_EventFilter_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();
-
-      JSR286ApiTestCaseDetails tcd = new JSR286ApiTestCaseDetails();
-
-      // Create result objects for the tests
-
-      /* TestCase: V2FilterTests_PortletFilter_EventFilter_initEvent1         */
-      /* Details: "The init(FilterConfig): method is called when an           */
-      /* EventFilter is configured"                                           */
-      TestResult tr0 = tcd.getTestResultFailed(V2FILTERTESTS_PORTLETFILTER_EVENTFILTER_INITEVENT1);
-      /* TODO: implement test */
-      tr0.appendTcDetail("Not implemented.");
-      tr0.writeTo(writer);
-
-      /* TestCase: V2FilterTests_PortletFilter_EventFilter_initEvent2         */
-      /* Details: "The init(FilterConfig): method for an EventFilter is       */
-      /* passed a FilterConfig object"                                        */
-      TestResult tr1 = tcd.getTestResultFailed(V2FILTERTESTS_PORTLETFILTER_EVENTFILTER_INITEVENT2);
-      /* TODO: implement test */
-      tr1.appendTcDetail("Not implemented.");
-      tr1.writeTo(writer);
-
-      /* TestCase: V2FilterTests_PortletFilter_EventFilter_initEvent3         */
-      /* Details: "If the init(FilterConfig): method for an EventFilter       */
-      /* throws a PortletException, the filter is not placed in service"      */
-      TestResult tr2 = tcd.getTestResultFailed(V2FILTERTESTS_PORTLETFILTER_EVENTFILTER_INITEVENT3);
-      /* TODO: implement test */
-      tr2.appendTcDetail("Not implemented.");
-      tr2.writeTo(writer);
-
-      portletReq.getPortletSession().setAttribute(
-                   Constants.RESULT_ATTR_PREFIX + "FilterTests_PortletFilter_EventFilter",
-                   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>FilterTests_PortletFilter_EventFilter_event</p>\n");
-
-      String msg = (String) portletReq.getPortletSession()
-            .getAttribute(RESULT_ATTR_PREFIX + "FilterTests_PortletFilter_EventFilter", 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/db1071e7/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_PortletFilter_RenderFilter.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_PortletFilter_RenderFilter.java b/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_PortletFilter_RenderFilter.java
deleted file mode 100644
index ab3f04e..0000000
--- a/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_PortletFilter_RenderFilter.java
+++ /dev/null
@@ -1,129 +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.*;
-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.JSR286ApiTestCaseDetails.*;
-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 FilterTests_PortletFilter_RenderFilter_event
- *
- */
-public class FilterTests_PortletFilter_RenderFilter implements Portlet, ResourceServingPortlet {
-   private static final String LOG_CLASS = 
-         FilterTests_PortletFilter_RenderFilter.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();
-
-      JSR286ApiTestCaseDetails tcd = new JSR286ApiTestCaseDetails();
-
-      // Create result objects for the tests
-
-      /* TestCase: V2FilterTests_PortletFilter_RenderFilter_initRender1       */
-      /* Details: "The init(FilterConfig): method is called when an           */
-      /* RenderFilter is configured"                                          */
-      TestResult tr0 = tcd.getTestResultFailed(V2FILTERTESTS_PORTLETFILTER_RENDERFILTER_INITRENDER1);
-      /* TODO: implement test */
-      tr0.appendTcDetail("Not implemented.");
-      tr0.writeTo(writer);
-
-      /* TestCase: V2FilterTests_PortletFilter_RenderFilter_initRender2       */
-      /* Details: "The init(FilterConfig): method for an RenderFilter is      */
-      /* passed a FilterConfig object"                                        */
-      TestResult tr1 = tcd.getTestResultFailed(V2FILTERTESTS_PORTLETFILTER_RENDERFILTER_INITRENDER2);
-      /* TODO: implement test */
-      tr1.appendTcDetail("Not implemented.");
-      tr1.writeTo(writer);
-
-      /* TestCase: V2FilterTests_PortletFilter_RenderFilter_initRender3       */
-      /* Details: "If the init(FilterConfig): method for an RenderFilter      */
-      /* throws a PortletException, the filter is not placed in service"      */
-      TestResult tr2 = tcd.getTestResultFailed(V2FILTERTESTS_PORTLETFILTER_RENDERFILTER_INITRENDER3);
-      /* TODO: implement test */
-      tr2.appendTcDetail("Not implemented.");
-      tr2.writeTo(writer);
-
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/db1071e7/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_PortletFilter_ResourceFilter.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_PortletFilter_ResourceFilter.java b/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_PortletFilter_ResourceFilter.java
deleted file mode 100644
index 3857ed1..0000000
--- a/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_PortletFilter_ResourceFilter.java
+++ /dev/null
@@ -1,144 +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.*;
-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.JSR286ApiTestCaseDetails.*;
-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 FilterTests_PortletFilter_ResourceFilter_event
- *
- */
-public class FilterTests_PortletFilter_ResourceFilter implements Portlet, ResourceServingPortlet {
-   private static final String LOG_CLASS = 
-         FilterTests_PortletFilter_ResourceFilter.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();
-
-      JSR286ApiTestCaseDetails tcd = new JSR286ApiTestCaseDetails();
-
-      // Create result objects for the tests
-
-      /* TestCase: V2FilterTests_PortletFilter_ResourceFilter_initResource1   */
-      /* Details: "The init(FilterConfig): method is called when an           */
-      /* ResourceFilter is configured"                                        */
-      TestResult tr0 = tcd.getTestResultFailed(V2FILTERTESTS_PORTLETFILTER_RESOURCEFILTER_INITRESOURCE1);
-      /* TODO: implement test */
-      tr0.appendTcDetail("Not implemented.");
-      tr0.writeTo(writer);
-
-      /* TestCase: V2FilterTests_PortletFilter_ResourceFilter_initResource2   */
-      /* Details: "The init(FilterConfig): method for an ResourceFilter is    */
-      /* passed a FilterConfig object"                                        */
-      TestResult tr1 = tcd.getTestResultFailed(V2FILTERTESTS_PORTLETFILTER_RESOURCEFILTER_INITRESOURCE2);
-      /* TODO: implement test */
-      tr1.appendTcDetail("Not implemented.");
-      tr1.writeTo(writer);
-
-      /* TestCase: V2FilterTests_PortletFilter_ResourceFilter_initResource3   */
-      /* Details: "If the init(FilterConfig): method for an ResourceFilter    */
-      /* throws a PortletException, the filter is not placed in service"      */
-      TestResult tr2 = tcd.getTestResultFailed(V2FILTERTESTS_PORTLETFILTER_RESOURCEFILTER_INITRESOURCE3);
-      /* TODO: implement test */
-      tr2.appendTcDetail("Not implemented.");
-      tr2.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=\"FilterTests_PortletFilter_ResourceFilter\">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(\"FilterTests_PortletFilter_ResourceFilter\").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/db1071e7/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_RenderFilter_ApiRenderFilter.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_RenderFilter_ApiRenderFilter.java b/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_RenderFilter_ApiRenderFilter.java
new file mode 100644
index 0000000..5008401
--- /dev/null
+++ b/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_RenderFilter_ApiRenderFilter.java
@@ -0,0 +1,101 @@
+/*  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.JSR286ApiTestCaseDetails.*;
+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 FilterTests_RenderFilter_ApiRenderFilter_event
+ *
+ */
+public class FilterTests_RenderFilter_ApiRenderFilter implements Portlet, ResourceServingPortlet {
+   private static final String LOG_CLASS = 
+         FilterTests_RenderFilter_ApiRenderFilter.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();
+
+   }
+
+}

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/db1071e7/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_RenderFilter_RenderFilter.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_RenderFilter_RenderFilter.java b/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_RenderFilter_RenderFilter.java
deleted file mode 100644
index 4c0c42b..0000000
--- a/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_RenderFilter_RenderFilter.java
+++ /dev/null
@@ -1,185 +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.*;
-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.JSR286ApiTestCaseDetails.*;
-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 FilterTests_RenderFilter_RenderFilter_event
- *
- */
-public class FilterTests_RenderFilter_RenderFilter implements Portlet, ResourceServingPortlet {
-   private static final String LOG_CLASS = 
-         FilterTests_RenderFilter_RenderFilter.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();
-
-      JSR286ApiTestCaseDetails tcd = new JSR286ApiTestCaseDetails();
-
-      // Create result objects for the tests
-
-      /* TestCase: V2FilterTests_RenderFilter_RenderFilter_canBeConfigured1   */
-      /* Details: "An RenderFilter can be configured in the portlet           */
-      /* descriptor"                                                          */
-      TestResult tr0 = tcd.getTestResultFailed(V2FILTERTESTS_RENDERFILTER_RENDERFILTER_CANBECONFIGURED1);
-      /* TODO: implement test */
-      tr0.appendTcDetail("Not implemented.");
-      tr0.writeTo(writer);
-
-      /* TestCase: V2FilterTests_RenderFilter_RenderFilter_canBeConfigured2   */
-      /* Details: "Multiple RenderFilter classes can be configured in the     */
-      /* portlet descriptor"                                                  */
-      TestResult tr1 = tcd.getTestResultFailed(V2FILTERTESTS_RENDERFILTER_RENDERFILTER_CANBECONFIGURED2);
-      /* TODO: implement test */
-      tr1.appendTcDetail("Not implemented.");
-      tr1.writeTo(writer);
-
-      /* TestCase: V2FilterTests_RenderFilter_RenderFilter_doFilterIsCalled   */
-      /* Details: "The doFilter(RenderRequest, RenderResponse,                */
-      /* FilterChain): method is called before the processRender method for   */
-      /* the portlet"                                                         */
-      TestResult tr2 = tcd.getTestResultFailed(V2FILTERTESTS_RENDERFILTER_RENDERFILTER_DOFILTERISCALLED);
-      /* TODO: implement test */
-      tr2.appendTcDetail("Not implemented.");
-      tr2.writeTo(writer);
-
-      /* TestCase: V2FilterTests_RenderFilter_RenderFilter_doFilterProcessRender1 */
-      /* Details: "After the doFilter(RenderRequest, RenderResponse,          */
-      /* FilterChain): method has sucessfully completed and invokes the       */
-      /* next filter, the processRenderMethod is called"                      */
-      TestResult tr3 = tcd.getTestResultFailed(V2FILTERTESTS_RENDERFILTER_RENDERFILTER_DOFILTERPROCESSRENDER1);
-      /* TODO: implement test */
-      tr3.appendTcDetail("Not implemented.");
-      tr3.writeTo(writer);
-
-      /* TestCase: V2FilterTests_RenderFilter_RenderFilter_doFilterProcessRender2 */
-      /* Details: "After the doFilter(RenderRequest, RenderResponse,          */
-      /* FilterChain): method has sucessfully completed and invokes the       */
-      /* next filter, the next filter in the chain is called if multiple      */
-      /* filters are defined"                                                 */
-      TestResult tr4 = tcd.getTestResultFailed(V2FILTERTESTS_RENDERFILTER_RENDERFILTER_DOFILTERPROCESSRENDER2);
-      /* TODO: implement test */
-      tr4.appendTcDetail("Not implemented.");
-      tr4.writeTo(writer);
-
-      /* TestCase: V2FilterTests_RenderFilter_RenderFilter_doFilterBlock      */
-      /* Details: "If the doFilter(RenderRequest, RenderResponse,             */
-      /* FilterChain): method does not invoke the next filter,                */
-      /* processRender is not called"                                         */
-      TestResult tr5 = tcd.getTestResultFailed(V2FILTERTESTS_RENDERFILTER_RENDERFILTER_DOFILTERBLOCK);
-      /* TODO: implement test */
-      tr5.appendTcDetail("Not implemented.");
-      tr5.writeTo(writer);
-
-      /* TestCase: V2FilterTests_RenderFilter_RenderFilter_doFilterException1 */
-      /* Details: "If the doFilter(RenderRequest, RenderResponse,             */
-      /* FilterChain): method throws an UnavailableException, processRender   */
-      /* is not called"                                                       */
-      TestResult tr6 = tcd.getTestResultFailed(V2FILTERTESTS_RENDERFILTER_RENDERFILTER_DOFILTEREXCEPTION1);
-      /* TODO: implement test */
-      tr6.appendTcDetail("Not implemented.");
-      tr6.writeTo(writer);
-
-      /* TestCase: V2FilterTests_RenderFilter_RenderFilter_doFilterException2 */
-      /* Details: "If the doFilter(RenderRequest, RenderResponse,             */
-      /* FilterChain): method throws an UnavailableException, no further      */
-      /* filter is called"                                                    */
-      TestResult tr7 = tcd.getTestResultFailed(V2FILTERTESTS_RENDERFILTER_RENDERFILTER_DOFILTEREXCEPTION2);
-      /* TODO: implement test */
-      tr7.appendTcDetail("Not implemented.");
-      tr7.writeTo(writer);
-
-      /* TestCase: V2FilterTests_RenderFilter_RenderFilter_doFilterExamine    */
-      /* Details: "Method doFilter(RenderRequest, RenderResponse,             */
-      /* FilterChain): After the next filter has been successfully invoked,   */
-      /* the RenderResponse may be examined"                                  */
-      TestResult tr8 = tcd.getTestResultFailed(V2FILTERTESTS_RENDERFILTER_RENDERFILTER_DOFILTEREXAMINE);
-      /* TODO: implement test */
-      tr8.appendTcDetail("Not implemented.");
-      tr8.writeTo(writer);
-
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/db1071e7/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_ResourceFilter_ApiResourceFilter.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_ResourceFilter_ApiResourceFilter.java b/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_ResourceFilter_ApiResourceFilter.java
new file mode 100644
index 0000000..85c6406
--- /dev/null
+++ b/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/portlets/FilterTests_ResourceFilter_ApiResourceFilter.java
@@ -0,0 +1,116 @@
+/*  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.JSR286ApiTestCaseDetails.*;
+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 FilterTests_ResourceFilter_ApiResourceFilter_event
+ *
+ */
+public class FilterTests_ResourceFilter_ApiResourceFilter implements Portlet, ResourceServingPortlet {
+   private static final String LOG_CLASS = 
+         FilterTests_ResourceFilter_ApiResourceFilter.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();
+
+      writer.write("<div id=\"FilterTests_ResourceFilter_ApiResourceFilter\">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(\"FilterTests_ResourceFilter_ApiResourceFilter\").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");
+   }
+
+}