portals-pluto-scm mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From msnickl...@apache.org
Subject [20/32] Moved the signature tests to separate modules and implemented more of them.
Date Thu, 28 Aug 2014 06:29:39 GMT
http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/834b222c/portlet-tck_3.0/V2SigTestsEnv/src/main/java/javax/portlet/tck/portlets/SigTestsEnv_WindowState_SIGRender.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2SigTestsEnv/src/main/java/javax/portlet/tck/portlets/SigTestsEnv_WindowState_SIGRender.java b/portlet-tck_3.0/V2SigTestsEnv/src/main/java/javax/portlet/tck/portlets/SigTestsEnv_WindowState_SIGRender.java
new file mode 100644
index 0000000..5367fe2
--- /dev/null
+++ b/portlet-tck_3.0/V2SigTestsEnv/src/main/java/javax/portlet/tck/portlets/SigTestsEnv_WindowState_SIGRender.java
@@ -0,0 +1,206 @@
+/*  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.JSR286SignatureTestCaseDetails.*;
+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 SigTestsEnv_WindowState_SIGRender_event
+ *
+ */
+public class SigTestsEnv_WindowState_SIGRender implements Portlet, ResourceServingPortlet {
+   private static final String LOG_CLASS = 
+         SigTestsEnv_WindowState_SIGRender.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();
+
+      JSR286SignatureTestCaseDetails tcd = new JSR286SignatureTestCaseDetails();
+
+      // Create result objects for the tests
+
+      ClassChecker cc = new ClassChecker(portletReq.getWindowState().getClass());
+
+      /* TestCase: V2SigTestsEnv_WindowState_SIGRender_constructor            */
+      /* Details: "WindowState provides constructor WindowState(String) "     */
+      TestResult tr0 = tcd.getTestResultFailed(V2SIGTESTSENV_WINDOWSTATE_SIGRENDER_CONSTRUCTOR);
+      try {
+         Class<?>[] parms = {String.class};
+         tr0.setTcSuccess(cc.hasConstructor(parms));
+      } catch(Exception e) {tr0.appendTcDetail(e.toString());}
+      tr0.writeTo(writer);
+
+      /* TestCase: V2SigTestsEnv_WindowState_SIGRender_fieldMAXIMIZED         */
+      /* Details: "WindowState has WindowState field MAXIMIZED "              */
+      TestResult tr1 = tcd.getTestResultFailed(V2SIGTESTSENV_WINDOWSTATE_SIGRENDER_FIELDMAXIMIZED);
+      try {
+         tr1.setTcSuccess(cc.hasField("MAXIMIZED"));
+      } catch(Exception e) {tr1.appendTcDetail(e.toString());}
+      tr1.writeTo(writer);
+
+      /* TestCase: V2SigTestsEnv_WindowState_SIGRender_fieldMINIMIZED         */
+      /* Details: "WindowState has WindowState field MINIMIZED "              */
+      TestResult tr2 = tcd.getTestResultFailed(V2SIGTESTSENV_WINDOWSTATE_SIGRENDER_FIELDMINIMIZED);
+      try {
+         tr2.setTcSuccess(cc.hasField("MINIMIZED"));
+      } catch(Exception e) {tr2.appendTcDetail(e.toString());}
+      tr2.writeTo(writer);
+
+      /* TestCase: V2SigTestsEnv_WindowState_SIGRender_fieldNORMAL            */
+      /* Details: "WindowState has WindowState field NORMAL "                 */
+      TestResult tr3 = tcd.getTestResultFailed(V2SIGTESTSENV_WINDOWSTATE_SIGRENDER_FIELDNORMAL);
+      try {
+         tr3.setTcSuccess(cc.hasField("NORMAL"));
+      } catch(Exception e) {tr3.appendTcDetail(e.toString());}
+      tr3.writeTo(writer);
+
+      /* TestCase: V2SigTestsEnv_WindowState_SIGRender_hasEquals              */
+      /* Details: "WindowState has a equals(Object)  method "                 */
+      TestResult tr4 = tcd.getTestResultFailed(V2SIGTESTSENV_WINDOWSTATE_SIGRENDER_HASEQUALS);
+      try {
+         String name = "equals";
+         Class<?>[] exceptions = null;
+         Class<?>[] parms = {Object.class};
+         tr4.setTcSuccess(cc.hasMethod(name, parms, exceptions));
+      } catch(Exception e) {tr4.appendTcDetail(e.toString());}
+      tr4.writeTo(writer);
+
+      /* TestCase: V2SigTestsEnv_WindowState_SIGRender_hasEqualsReturns       */
+      /* Details: "WindowState method equals(Object) returns boolean "        */
+      TestResult tr5 = tcd.getTestResultFailed(V2SIGTESTSENV_WINDOWSTATE_SIGRENDER_HASEQUALSRETURNS);
+      try {
+         String name = "equals";
+         Class<?> retType = boolean.class;
+         Class<?>[] parms = {Object.class};
+         tr5.setTcSuccess(cc.methodHasReturnType(name, retType, parms));
+      } catch(Exception e) {tr5.appendTcDetail(e.toString());}
+      tr5.writeTo(writer);
+
+      /* TestCase: V2SigTestsEnv_WindowState_SIGRender_hasHashCode            */
+      /* Details: "WindowState has a hashCode()  method "                     */
+      TestResult tr6 = tcd.getTestResultFailed(V2SIGTESTSENV_WINDOWSTATE_SIGRENDER_HASHASHCODE);
+      try {
+         String name = "hashCode";
+         Class<?>[] exceptions = null;
+         Class<?>[] parms = null;
+         tr6.setTcSuccess(cc.hasMethod(name, parms, exceptions));
+      } catch(Exception e) {tr6.appendTcDetail(e.toString());}
+      tr6.writeTo(writer);
+
+      /* TestCase: V2SigTestsEnv_WindowState_SIGRender_hasHashCodeReturns     */
+      /* Details: "WindowState method hashCode() returns int "                */
+      TestResult tr7 = tcd.getTestResultFailed(V2SIGTESTSENV_WINDOWSTATE_SIGRENDER_HASHASHCODERETURNS);
+      try {
+         String name = "hashCode";
+         Class<?> retType = int.class;
+         Class<?>[] parms = null;
+         tr7.setTcSuccess(cc.methodHasReturnType(name, retType, parms));
+      } catch(Exception e) {tr7.appendTcDetail(e.toString());}
+      tr7.writeTo(writer);
+
+      /* TestCase: V2SigTestsEnv_WindowState_SIGRender_hasToString            */
+      /* Details: "WindowState has a toString()  method "                     */
+      TestResult tr8 = tcd.getTestResultFailed(V2SIGTESTSENV_WINDOWSTATE_SIGRENDER_HASTOSTRING);
+      try {
+         String name = "toString";
+         Class<?>[] exceptions = null;
+         Class<?>[] parms = null;
+         tr8.setTcSuccess(cc.hasMethod(name, parms, exceptions));
+      } catch(Exception e) {tr8.appendTcDetail(e.toString());}
+      tr8.writeTo(writer);
+
+      /* TestCase: V2SigTestsEnv_WindowState_SIGRender_hasToStringReturns     */
+      /* Details: "WindowState method toString() returns String "             */
+      TestResult tr9 = tcd.getTestResultFailed(V2SIGTESTSENV_WINDOWSTATE_SIGRENDER_HASTOSTRINGRETURNS);
+      try {
+         String name = "toString";
+         Class<?> retType = String.class;
+         Class<?>[] parms = null;
+         tr9.setTcSuccess(cc.methodHasReturnType(name, retType, parms));
+      } catch(Exception e) {tr9.appendTcDetail(e.toString());}
+      tr9.writeTo(writer);
+
+   }
+
+}

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/834b222c/portlet-tck_3.0/V2SigTestsEnv/src/main/resources/xml-resources/additionalTCs.xml
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2SigTestsEnv/src/main/resources/xml-resources/additionalTCs.xml b/portlet-tck_3.0/V2SigTestsEnv/src/main/resources/xml-resources/additionalTCs.xml
new file mode 100644
index 0000000..0b14e41
--- /dev/null
+++ b/portlet-tck_3.0/V2SigTestsEnv/src/main/resources/xml-resources/additionalTCs.xml
@@ -0,0 +1,287 @@
+<?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.     
+-->
+<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
+<properties>
+<!-- JSR 286 API SigTestsEnv test case names and page mappings -->
+<entry key="V2SigTestsEnv_CacheControl_SIGRender_hasGetETag">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_CacheControl_SIGRender_hasGetETagReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_CacheControl_SIGRender_hasGetExpirationTime">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_CacheControl_SIGRender_hasGetExpirationTimeReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_CacheControl_SIGRender_hasIsPublicScope">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_CacheControl_SIGRender_hasIsPublicScopeReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_CacheControl_SIGRender_hasSetETag">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_CacheControl_SIGRender_hasSetETagReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_CacheControl_SIGRender_hasSetExpirationTime">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_CacheControl_SIGRender_hasSetExpirationTimeReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_CacheControl_SIGRender_hasSetPublicScope">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_CacheControl_SIGRender_hasSetPublicScopeReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_CacheControl_SIGRender_hasSetUseCachedContent">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_CacheControl_SIGRender_hasSetUseCachedContentReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_CacheControl_SIGRender_hasUseCachedContent">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_CacheControl_SIGRender_hasUseCachedContentReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_EventPortlet_SIGRender_hasProcessEvent">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_EventPortlet_SIGRender_hasProcessEventReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_constructor">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasDestroy">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasDestroyReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasDoDispatch">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasDoDispatchReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasDoEdit">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasDoEditReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasDoHeaders">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasDoHeadersReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasDoHelp">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasDoHelpReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasDoView">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasDoViewReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasGetContainerRuntimeOptions">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasGetContainerRuntimeOptionsReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasGetDefaultNamespace">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasGetDefaultNamespaceReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasGetInitParameter">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasGetInitParameterNames">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasGetInitParameterNamesReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasGetInitParameterReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasGetNextPossiblePortletModes">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasGetNextPossiblePortletModesReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasGetPortletConfig">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasGetPortletConfigReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasGetPortletContext">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasGetPortletContextReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasGetPortletName">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasGetPortletNameReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasGetProcessingEventQNames">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasGetProcessingEventQNamesReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasGetPublicRenderParameterNames">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasGetPublicRenderParameterNamesReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasGetPublishingEventQNames">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasGetPublishingEventQNamesReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasGetResourceBundle">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasGetResourceBundleReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasGetSupportedLocales">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasGetSupportedLocalesReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasGetTitle">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasGetTitleReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasInit">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasInitA">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasInitReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasInitReturnsA">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasProcessAction">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasProcessActionReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasProcessEvent">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasProcessEventReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasRender">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasRenderReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasServeResource">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_hasServeResourceReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_implementsEventPortlet">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_implementsPortlet">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_implementsPortletConfig">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_GenericPortlet_SIGRender_implementsResourceServingPortlet">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortalContext_SIGRender_fieldMARKUP_HEAD_ELEMENT_SUPPORT">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortalContext_SIGRender_hasGetPortalInfo">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortalContext_SIGRender_hasGetPortalInfoReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortalContext_SIGRender_hasGetProperty">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortalContext_SIGRender_hasGetPropertyNames">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortalContext_SIGRender_hasGetPropertyNamesReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortalContext_SIGRender_hasGetPropertyReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortalContext_SIGRender_hasGetSupportedPortletModes">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortalContext_SIGRender_hasGetSupportedPortletModesReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortalContext_SIGRender_hasGetSupportedWindowStates">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortalContext_SIGRender_hasGetSupportedWindowStatesReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_Portlet_SIGRender_hasDestroy">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_Portlet_SIGRender_hasDestroyReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_Portlet_SIGRender_hasInit">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_Portlet_SIGRender_hasInitReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_Portlet_SIGRender_hasProcessAction">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_Portlet_SIGRender_hasProcessActionReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_Portlet_SIGRender_hasRender">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_Portlet_SIGRender_hasRenderReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletConfig_SIGRender_hasGetContainerRuntimeOptions">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletConfig_SIGRender_hasGetContainerRuntimeOptionsReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletConfig_SIGRender_hasGetDefaultNamespace">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletConfig_SIGRender_hasGetDefaultNamespaceReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletConfig_SIGRender_hasGetInitParameter">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletConfig_SIGRender_hasGetInitParameterNames">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletConfig_SIGRender_hasGetInitParameterNamesReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletConfig_SIGRender_hasGetInitParameterReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletConfig_SIGRender_hasGetPortletContext">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletConfig_SIGRender_hasGetPortletContextReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletConfig_SIGRender_hasGetPortletName">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletConfig_SIGRender_hasGetPortletNameReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletConfig_SIGRender_hasGetProcessingEventQNames">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletConfig_SIGRender_hasGetProcessingEventQNamesReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletConfig_SIGRender_hasGetPublicRenderParameterNames">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletConfig_SIGRender_hasGetPublicRenderParameterNamesReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletConfig_SIGRender_hasGetPublishingEventQNames">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletConfig_SIGRender_hasGetPublishingEventQNamesReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletConfig_SIGRender_hasGetResourceBundle">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletConfig_SIGRender_hasGetResourceBundleReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletConfig_SIGRender_hasGetSupportedLocales">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletConfig_SIGRender_hasGetSupportedLocalesReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletContext_SIGRender_hasGetAttribute">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletContext_SIGRender_hasGetAttributeNames">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletContext_SIGRender_hasGetAttributeNamesReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletContext_SIGRender_hasGetAttributeReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletContext_SIGRender_hasGetContainerRuntimeOptions">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletContext_SIGRender_hasGetContainerRuntimeOptionsReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletContext_SIGRender_hasGetInitParameter">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletContext_SIGRender_hasGetInitParameterNames">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletContext_SIGRender_hasGetInitParameterNamesReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletContext_SIGRender_hasGetInitParameterReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletContext_SIGRender_hasGetMajorVersion">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletContext_SIGRender_hasGetMajorVersionReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletContext_SIGRender_hasGetMimeType">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletContext_SIGRender_hasGetMimeTypeReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletContext_SIGRender_hasGetMinorVersion">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletContext_SIGRender_hasGetMinorVersionReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletContext_SIGRender_hasGetNamedDispatcher">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletContext_SIGRender_hasGetNamedDispatcherReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletContext_SIGRender_hasGetPortletContextName">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletContext_SIGRender_hasGetPortletContextNameReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletContext_SIGRender_hasGetRealPath">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletContext_SIGRender_hasGetRealPathReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletContext_SIGRender_hasGetRequestDispatcher">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletContext_SIGRender_hasGetRequestDispatcherReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletContext_SIGRender_hasGetResource">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletContext_SIGRender_hasGetResourceAsStream">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletContext_SIGRender_hasGetResourceAsStreamReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletContext_SIGRender_hasGetResourcePaths">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletContext_SIGRender_hasGetResourcePathsReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletContext_SIGRender_hasGetResourceReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletContext_SIGRender_hasGetServerInfo">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletContext_SIGRender_hasGetServerInfoReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletContext_SIGRender_hasLog">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletContext_SIGRender_hasLogA">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletContext_SIGRender_hasLogReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletContext_SIGRender_hasLogReturnsA">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletContext_SIGRender_hasRemoveAttribute">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletContext_SIGRender_hasRemoveAttributeReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletContext_SIGRender_hasSetAttribute">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletContext_SIGRender_hasSetAttributeReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletMode_SIGRender_constructor">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletMode_SIGRender_fieldEDIT">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletMode_SIGRender_fieldHELP">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletMode_SIGRender_fieldVIEW">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletMode_SIGRender_hasEquals">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletMode_SIGRender_hasEqualsReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletMode_SIGRender_hasHashCode">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletMode_SIGRender_hasHashCodeReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletMode_SIGRender_hasToString">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletMode_SIGRender_hasToStringReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletPreferences_SIGRender_hasGetMap">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletPreferences_SIGRender_hasGetMapReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletPreferences_SIGRender_hasGetNames">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletPreferences_SIGRender_hasGetNamesReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletPreferences_SIGRender_hasGetValue">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletPreferences_SIGRender_hasGetValueReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletPreferences_SIGRender_hasGetValues">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletPreferences_SIGRender_hasGetValuesReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletPreferences_SIGRender_hasIsReadOnly">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletPreferences_SIGRender_hasIsReadOnlyReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletPreferences_SIGRender_hasReset">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletPreferences_SIGRender_hasResetReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletPreferences_SIGRender_hasSetValue">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletPreferences_SIGRender_hasSetValueReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletPreferences_SIGRender_hasSetValues">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletPreferences_SIGRender_hasSetValuesReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletPreferences_SIGRender_hasStore">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletPreferences_SIGRender_hasStoreReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletRequestDispatcher_SIGRender_hasForward">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletRequestDispatcher_SIGRender_hasForwardReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletRequestDispatcher_SIGRender_hasInclude">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletRequestDispatcher_SIGRender_hasIncludeA">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletRequestDispatcher_SIGRender_hasIncludeReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletRequestDispatcher_SIGRender_hasIncludeReturnsA">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletSession_SIGRender_fieldAPPLICATION_SCOPE">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletSession_SIGRender_fieldPORTLET_SCOPE">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletSession_SIGRender_hasGetAttribute">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletSession_SIGRender_hasGetAttributeA">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletSession_SIGRender_hasGetAttributeMap">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletSession_SIGRender_hasGetAttributeMapA">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletSession_SIGRender_hasGetAttributeMapReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletSession_SIGRender_hasGetAttributeMapReturnsA">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletSession_SIGRender_hasGetAttributeNames">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletSession_SIGRender_hasGetAttributeNamesA">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletSession_SIGRender_hasGetAttributeNamesReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletSession_SIGRender_hasGetAttributeNamesReturnsA">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletSession_SIGRender_hasGetAttributeReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletSession_SIGRender_hasGetAttributeReturnsA">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletSession_SIGRender_hasGetCreationTime">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletSession_SIGRender_hasGetCreationTimeReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletSession_SIGRender_hasGetId">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletSession_SIGRender_hasGetIdReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletSession_SIGRender_hasGetLastAccessedTime">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletSession_SIGRender_hasGetLastAccessedTimeReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletSession_SIGRender_hasGetMaxInactiveInterval">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletSession_SIGRender_hasGetMaxInactiveIntervalReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletSession_SIGRender_hasGetPortletContext">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletSession_SIGRender_hasGetPortletContextReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletSession_SIGRender_hasInvalidate">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletSession_SIGRender_hasInvalidateReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletSession_SIGRender_hasIsNew">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletSession_SIGRender_hasIsNewReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletSession_SIGRender_hasRemoveAttribute">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletSession_SIGRender_hasRemoveAttributeA">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletSession_SIGRender_hasRemoveAttributeReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletSession_SIGRender_hasRemoveAttributeReturnsA">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletSession_SIGRender_hasSetAttribute">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletSession_SIGRender_hasSetAttributeA">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletSession_SIGRender_hasSetAttributeReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletSession_SIGRender_hasSetAttributeReturnsA">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletSession_SIGRender_hasSetMaxInactiveInterval">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletSession_SIGRender_hasSetMaxInactiveIntervalReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletSessionUtil_SIGRender_constructor">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletSessionUtil_SIGRender_hasDecodeAttributeName">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletSessionUtil_SIGRender_hasDecodeAttributeNameReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletSessionUtil_SIGRender_hasDecodeScope">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletSessionUtil_SIGRender_hasDecodeScopeReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletURLGenerationListener_SIGRender_hasFilterActionURL">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletURLGenerationListener_SIGRender_hasFilterActionURLReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletURLGenerationListener_SIGRender_hasFilterRenderURL">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletURLGenerationListener_SIGRender_hasFilterRenderURLReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletURLGenerationListener_SIGRender_hasFilterResourceURL">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PortletURLGenerationListener_SIGRender_hasFilterResourceURLReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PreferencesValidator_SIGRender_hasValidate">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_PreferencesValidator_SIGRender_hasValidateReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_ProcessAction_SIGRender_hasName">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_ProcessAction_SIGRender_hasNameReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_ProcessAction_SIGRender_isAnnotation">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_ProcessEvent_SIGRender_hasName">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_ProcessEvent_SIGRender_hasNameReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_ProcessEvent_SIGRender_hasQname">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_ProcessEvent_SIGRender_hasQnameReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_ProcessEvent_SIGRender_isAnnotation">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_RenderMode_SIGRender_hasName">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_RenderMode_SIGRender_hasNameReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_RenderMode_SIGRender_isAnnotation">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_ResourceServingPortlet_SIGRender_hasServeResource">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_ResourceServingPortlet_SIGRender_hasServeResourceReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_WindowState_SIGRender_constructor">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_WindowState_SIGRender_fieldMAXIMIZED">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_WindowState_SIGRender_fieldMINIMIZED">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_WindowState_SIGRender_fieldNORMAL">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_WindowState_SIGRender_hasEquals">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_WindowState_SIGRender_hasEqualsReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_WindowState_SIGRender_hasHashCode">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_WindowState_SIGRender_hasHashCodeReturns">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_WindowState_SIGRender_hasToString">V2SigTestsEnv</entry>
+<entry key="V2SigTestsEnv_WindowState_SIGRender_hasToStringReturns">V2SigTestsEnv</entry>
+</properties>

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/834b222c/portlet-tck_3.0/V2SigTestsEnv/src/main/webapp/WEB-INF/portlet.xml
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2SigTestsEnv/src/main/webapp/WEB-INF/portlet.xml b/portlet-tck_3.0/V2SigTestsEnv/src/main/webapp/WEB-INF/portlet.xml
new file mode 100644
index 0000000..6b22c8f
--- /dev/null
+++ b/portlet-tck_3.0/V2SigTestsEnv/src/main/webapp/WEB-INF/portlet.xml
@@ -0,0 +1,276 @@
+<?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.     
+-->
+<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="V2SigTestsEnv">
+   <portlet>
+      <portlet-name>SigTestsEnv_CacheControl_SIGRender</portlet-name>
+      <portlet-class>javax.portlet.tck.portlets.SigTestsEnv_CacheControl_SIGRender</portlet-class>
+      <expiration-cache>0</expiration-cache>
+      <supports>
+         <mime-type>text/html</mime-type>
+      </supports>
+      <supported-locale>en_US</supported-locale>
+      <portlet-info>
+         <title>SigTestsEnv_CacheControl_SIGRender</title>
+      </portlet-info>
+   </portlet>
+
+   <portlet>
+      <portlet-name>SigTestsEnv_EventPortlet_SIGRender</portlet-name>
+      <portlet-class>javax.portlet.tck.portlets.SigTestsEnv_EventPortlet_SIGRender</portlet-class>
+      <expiration-cache>0</expiration-cache>
+      <supports>
+         <mime-type>text/html</mime-type>
+      </supports>
+      <supported-locale>en_US</supported-locale>
+      <portlet-info>
+         <title>SigTestsEnv_EventPortlet_SIGRender</title>
+      </portlet-info>
+   </portlet>
+
+   <portlet>
+      <portlet-name>SigTestsEnv_GenericPortlet_SIGRender</portlet-name>
+      <portlet-class>javax.portlet.tck.portlets.SigTestsEnv_GenericPortlet_SIGRender</portlet-class>
+      <expiration-cache>0</expiration-cache>
+      <supports>
+         <mime-type>text/html</mime-type>
+      </supports>
+      <supported-locale>en_US</supported-locale>
+      <portlet-info>
+         <title>SigTestsEnv_GenericPortlet_SIGRender</title>
+      </portlet-info>
+   </portlet>
+
+   <portlet>
+      <portlet-name>SigTestsEnv_PortalContext_SIGRender</portlet-name>
+      <portlet-class>javax.portlet.tck.portlets.SigTestsEnv_PortalContext_SIGRender</portlet-class>
+      <expiration-cache>0</expiration-cache>
+      <supports>
+         <mime-type>text/html</mime-type>
+      </supports>
+      <supported-locale>en_US</supported-locale>
+      <portlet-info>
+         <title>SigTestsEnv_PortalContext_SIGRender</title>
+      </portlet-info>
+   </portlet>
+
+   <portlet>
+      <portlet-name>SigTestsEnv_Portlet_SIGRender</portlet-name>
+      <portlet-class>javax.portlet.tck.portlets.SigTestsEnv_Portlet_SIGRender</portlet-class>
+      <expiration-cache>0</expiration-cache>
+      <supports>
+         <mime-type>text/html</mime-type>
+      </supports>
+      <supported-locale>en_US</supported-locale>
+      <portlet-info>
+         <title>SigTestsEnv_Portlet_SIGRender</title>
+      </portlet-info>
+   </portlet>
+
+   <portlet>
+      <portlet-name>SigTestsEnv_PortletConfig_SIGRender</portlet-name>
+      <portlet-class>javax.portlet.tck.portlets.SigTestsEnv_PortletConfig_SIGRender</portlet-class>
+      <expiration-cache>0</expiration-cache>
+      <supports>
+         <mime-type>text/html</mime-type>
+      </supports>
+      <supported-locale>en_US</supported-locale>
+      <portlet-info>
+         <title>SigTestsEnv_PortletConfig_SIGRender</title>
+      </portlet-info>
+   </portlet>
+
+   <portlet>
+      <portlet-name>SigTestsEnv_PortletContext_SIGRender</portlet-name>
+      <portlet-class>javax.portlet.tck.portlets.SigTestsEnv_PortletContext_SIGRender</portlet-class>
+      <expiration-cache>0</expiration-cache>
+      <supports>
+         <mime-type>text/html</mime-type>
+      </supports>
+      <supported-locale>en_US</supported-locale>
+      <portlet-info>
+         <title>SigTestsEnv_PortletContext_SIGRender</title>
+      </portlet-info>
+   </portlet>
+
+   <portlet>
+      <portlet-name>SigTestsEnv_PortletMode_SIGRender</portlet-name>
+      <portlet-class>javax.portlet.tck.portlets.SigTestsEnv_PortletMode_SIGRender</portlet-class>
+      <expiration-cache>0</expiration-cache>
+      <supports>
+         <mime-type>text/html</mime-type>
+      </supports>
+      <supported-locale>en_US</supported-locale>
+      <portlet-info>
+         <title>SigTestsEnv_PortletMode_SIGRender</title>
+      </portlet-info>
+   </portlet>
+
+   <portlet>
+      <portlet-name>SigTestsEnv_PortletPreferences_SIGRender</portlet-name>
+      <portlet-class>javax.portlet.tck.portlets.SigTestsEnv_PortletPreferences_SIGRender</portlet-class>
+      <expiration-cache>0</expiration-cache>
+      <supports>
+         <mime-type>text/html</mime-type>
+      </supports>
+      <supported-locale>en_US</supported-locale>
+      <portlet-info>
+         <title>SigTestsEnv_PortletPreferences_SIGRender</title>
+      </portlet-info>
+   </portlet>
+
+   <portlet>
+      <portlet-name>SigTestsEnv_PortletRequestDispatcher_SIGRender</portlet-name>
+      <portlet-class>javax.portlet.tck.portlets.SigTestsEnv_PortletRequestDispatcher_SIGRender</portlet-class>
+      <expiration-cache>0</expiration-cache>
+      <supports>
+         <mime-type>text/html</mime-type>
+      </supports>
+      <supported-locale>en_US</supported-locale>
+      <portlet-info>
+         <title>SigTestsEnv_PortletRequestDispatcher_SIGRender</title>
+      </portlet-info>
+   </portlet>
+
+   <portlet>
+      <portlet-name>SigTestsEnv_PortletSession_SIGRender</portlet-name>
+      <portlet-class>javax.portlet.tck.portlets.SigTestsEnv_PortletSession_SIGRender</portlet-class>
+      <expiration-cache>0</expiration-cache>
+      <supports>
+         <mime-type>text/html</mime-type>
+      </supports>
+      <supported-locale>en_US</supported-locale>
+      <portlet-info>
+         <title>SigTestsEnv_PortletSession_SIGRender</title>
+      </portlet-info>
+   </portlet>
+
+   <portlet>
+      <portlet-name>SigTestsEnv_PortletSessionUtil_SIGRender</portlet-name>
+      <portlet-class>javax.portlet.tck.portlets.SigTestsEnv_PortletSessionUtil_SIGRender</portlet-class>
+      <expiration-cache>0</expiration-cache>
+      <supports>
+         <mime-type>text/html</mime-type>
+      </supports>
+      <supported-locale>en_US</supported-locale>
+      <portlet-info>
+         <title>SigTestsEnv_PortletSessionUtil_SIGRender</title>
+      </portlet-info>
+   </portlet>
+
+   <portlet>
+      <portlet-name>SigTestsEnv_PortletURLGenerationListener_SIGRender</portlet-name>
+      <portlet-class>javax.portlet.tck.portlets.SigTestsEnv_PortletURLGenerationListener_SIGRender</portlet-class>
+      <expiration-cache>0</expiration-cache>
+      <supports>
+         <mime-type>text/html</mime-type>
+      </supports>
+      <supported-locale>en_US</supported-locale>
+      <portlet-info>
+         <title>SigTestsEnv_PortletURLGenerationListener_SIGRender</title>
+      </portlet-info>
+   </portlet>
+
+   <portlet>
+      <portlet-name>SigTestsEnv_PreferencesValidator_SIGRender</portlet-name>
+      <portlet-class>javax.portlet.tck.portlets.SigTestsEnv_PreferencesValidator_SIGRender</portlet-class>
+      <expiration-cache>0</expiration-cache>
+      <supports>
+         <mime-type>text/html</mime-type>
+      </supports>
+      <supported-locale>en_US</supported-locale>
+      <portlet-info>
+         <title>SigTestsEnv_PreferencesValidator_SIGRender</title>
+      </portlet-info>
+   </portlet>
+
+   <portlet>
+      <portlet-name>SigTestsEnv_ProcessAction_SIGRender</portlet-name>
+      <portlet-class>javax.portlet.tck.portlets.SigTestsEnv_ProcessAction_SIGRender</portlet-class>
+      <expiration-cache>0</expiration-cache>
+      <supports>
+         <mime-type>text/html</mime-type>
+      </supports>
+      <supported-locale>en_US</supported-locale>
+      <portlet-info>
+         <title>SigTestsEnv_ProcessAction_SIGRender</title>
+      </portlet-info>
+   </portlet>
+
+   <portlet>
+      <portlet-name>SigTestsEnv_ProcessEvent_SIGRender</portlet-name>
+      <portlet-class>javax.portlet.tck.portlets.SigTestsEnv_ProcessEvent_SIGRender</portlet-class>
+      <expiration-cache>0</expiration-cache>
+      <supports>
+         <mime-type>text/html</mime-type>
+      </supports>
+      <supported-locale>en_US</supported-locale>
+      <portlet-info>
+         <title>SigTestsEnv_ProcessEvent_SIGRender</title>
+      </portlet-info>
+   </portlet>
+
+   <portlet>
+      <portlet-name>SigTestsEnv_RenderMode_SIGRender</portlet-name>
+      <portlet-class>javax.portlet.tck.portlets.SigTestsEnv_RenderMode_SIGRender</portlet-class>
+      <expiration-cache>0</expiration-cache>
+      <supports>
+         <mime-type>text/html</mime-type>
+      </supports>
+      <supported-locale>en_US</supported-locale>
+      <portlet-info>
+         <title>SigTestsEnv_RenderMode_SIGRender</title>
+      </portlet-info>
+   </portlet>
+
+   <portlet>
+      <portlet-name>SigTestsEnv_ResourceServingPortlet_SIGRender</portlet-name>
+      <portlet-class>javax.portlet.tck.portlets.SigTestsEnv_ResourceServingPortlet_SIGRender</portlet-class>
+      <expiration-cache>0</expiration-cache>
+      <supports>
+         <mime-type>text/html</mime-type>
+      </supports>
+      <supported-locale>en_US</supported-locale>
+      <portlet-info>
+         <title>SigTestsEnv_ResourceServingPortlet_SIGRender</title>
+      </portlet-info>
+   </portlet>
+
+   <portlet>
+      <portlet-name>SigTestsEnv_WindowState_SIGRender</portlet-name>
+      <portlet-class>javax.portlet.tck.portlets.SigTestsEnv_WindowState_SIGRender</portlet-class>
+      <expiration-cache>0</expiration-cache>
+      <supports>
+         <mime-type>text/html</mime-type>
+      </supports>
+      <supported-locale>en_US</supported-locale>
+      <portlet-info>
+         <title>SigTestsEnv_WindowState_SIGRender</title>
+      </portlet-info>
+   </portlet>
+
+   <public-render-parameter>
+      <identifier>tckPRP1</identifier>
+      <qname>tck:tckPRP1</qname>
+   </public-render-parameter>
+</portlet-app>

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/834b222c/portlet-tck_3.0/V2SigTestsEnv/src/main/webapp/WEB-INF/web.xml
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2SigTestsEnv/src/main/webapp/WEB-INF/web.xml b/portlet-tck_3.0/V2SigTestsEnv/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000..96143af
--- /dev/null
+++ b/portlet-tck_3.0/V2SigTestsEnv/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,23 @@
+<?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.     
+-->
+<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
+   <display-name>javax.portlet-tck-SigTestsEnv</display-name>
+
+</web-app>

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/834b222c/portlet-tck_3.0/V2SigTestsEvent/pom.xml
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2SigTestsEvent/pom.xml b/portlet-tck_3.0/V2SigTestsEvent/pom.xml
new file mode 100644
index 0000000..be84ecd
--- /dev/null
+++ b/portlet-tck_3.0/V2SigTestsEvent/pom.xml
@@ -0,0 +1,127 @@
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.     
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+   <modelVersion>4.0.0</modelVersion>
+
+   <parent>
+      <groupId>javax.portlet</groupId>
+      <artifactId>tck</artifactId>
+      <version>3.0-SNAPSHOT</version>
+   </parent>
+
+   <artifactId>tck-V2SigTestsEvent</artifactId>
+   <packaging>war</packaging>
+
+   <dependencies>
+      <dependency>
+         <groupId>javax.portlet</groupId>
+         <artifactId>portlet-api</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>javax.servlet</groupId>
+         <artifactId>servlet-api</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>javax.portlet</groupId>
+         <artifactId>tck-common</artifactId>
+         <version>${project.version}</version>
+         <scope>compile</scope>
+      </dependency>
+   </dependencies>
+
+   <properties>
+
+      <!-- This project contains additional test cases to run with the portlets -->
+      <additional.testcase.uri>file:///${basedir}/src/main/resources/xml-resources/additionalTCs.xml</additional.testcase.uri>
+
+      <!-- Set to true for modules that define all test cases in a file (TCs are not generated from the portlet.xml) -->
+      <additional.testcases.only>true</additional.testcases.only>
+
+      <!-- put all portlets from this module on the same page -->
+      <page.file.xsl>plutoMultiPortletPage.xsl</page.file.xsl>
+
+   </properties>
+
+   <build>
+      <finalName>${project.artifactId}</finalName>
+      <plugins>
+         <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-compiler-plugin</artifactId>
+         </plugin>
+         <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-war-plugin</artifactId>
+         </plugin>
+         <!-- Transform the portlet XML into test properties XML file -->
+         <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-dependency-plugin</artifactId>
+         </plugin>
+         <plugin>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>xml-maven-plugin</artifactId>
+         </plugin>
+      </plugins>
+   </build>
+
+
+   <profiles>
+      <profile>
+         <id>pluto</id>
+
+         <dependencies>
+            <dependency>
+               <groupId>javax.servlet</groupId>
+               <artifactId>jstl</artifactId>
+            </dependency>
+            <dependency>
+               <groupId>taglibs</groupId>
+               <artifactId>standard</artifactId>
+            </dependency>
+         </dependencies>
+
+         <build>
+            <plugins>
+               <plugin>
+                  <artifactId>maven-war-plugin</artifactId>
+                  <configuration>
+                     <webXml>${project.build.directory}/pluto-resources/web.xml</webXml>
+                  </configuration>
+               </plugin>
+               <!-- bind 'pluto:assemble' goal to 'generate-resources' lifecycle -->
+               <plugin>
+                  <groupId>org.apache.portals.pluto</groupId>
+                  <artifactId>maven-pluto-plugin</artifactId>
+                  <executions>
+                     <execution>
+                        <phase>generate-resources</phase>
+                        <goals>
+                           <goal>assemble</goal>
+                        </goals>
+                     </execution>
+                  </executions>
+               </plugin>
+            </plugins>
+         </build>
+      </profile>
+   </profiles>
+
+</project>

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/834b222c/portlet-tck_3.0/V2SigTestsEvent/src/main/java/javax/portlet/tck/portlets/SigTestsEvent_EventRequest_SIGEvent.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2SigTestsEvent/src/main/java/javax/portlet/tck/portlets/SigTestsEvent_EventRequest_SIGEvent.java b/portlet-tck_3.0/V2SigTestsEvent/src/main/java/javax/portlet/tck/portlets/SigTestsEvent_EventRequest_SIGEvent.java
new file mode 100644
index 0000000..d669a5a
--- /dev/null
+++ b/portlet-tck_3.0/V2SigTestsEvent/src/main/java/javax/portlet/tck/portlets/SigTestsEvent_EventRequest_SIGEvent.java
@@ -0,0 +1,149 @@
+/*  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.JSR286SignatureTestCaseDetails.*;
+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 SigTestsEvent_EventRequest_SIGEvent_event
+ *
+ */
+public class SigTestsEvent_EventRequest_SIGEvent implements Portlet, ResourceServingPortlet {
+   private static final String LOG_CLASS = 
+         SigTestsEvent_EventRequest_SIGEvent.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,
+             "SigTestsEvent_EventRequest_SIGEvent");
+      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: V2SigTestsEvent_EventRequest_SIGEvent_hasGetEvent          */
+      /* Details: "EventRequest has a getEvent()  method "                    */
+      {
+         PortletURL aurl = portletResp.createActionURL();
+         aurl.setParameters(portletReq.getPrivateParameterMap());
+         TestButton tb = new TestButton("V2SigTestsEvent_EventRequest_SIGEvent_hasGetEvent", aurl);
+         tb.writeTo(writer);
+      }
+
+      /* TestCase: V2SigTestsEvent_EventRequest_SIGEvent_hasGetEventReturns   */
+      /* Details: "EventRequest method getEvent() returns Event "             */
+      {
+         PortletURL aurl = portletResp.createActionURL();
+         aurl.setParameters(portletReq.getPrivateParameterMap());
+         TestButton tb = new TestButton("V2SigTestsEvent_EventRequest_SIGEvent_hasGetEventReturns", aurl);
+         tb.writeTo(writer);
+      }
+
+      /* TestCase: V2SigTestsEvent_EventRequest_SIGEvent_hasGetMethod         */
+      /* Details: "EventRequest has a getMethod()  method "                   */
+      {
+         PortletURL aurl = portletResp.createActionURL();
+         aurl.setParameters(portletReq.getPrivateParameterMap());
+         TestButton tb = new TestButton("V2SigTestsEvent_EventRequest_SIGEvent_hasGetMethod", aurl);
+         tb.writeTo(writer);
+      }
+
+      /* TestCase: V2SigTestsEvent_EventRequest_SIGEvent_hasGetMethodReturns  */
+      /* Details: "EventRequest method getMethod() returns String "           */
+      {
+         PortletURL aurl = portletResp.createActionURL();
+         aurl.setParameters(portletReq.getPrivateParameterMap());
+         TestButton tb = new TestButton("V2SigTestsEvent_EventRequest_SIGEvent_hasGetMethodReturns", aurl);
+         tb.writeTo(writer);
+      }
+
+      /* TestCase: V2SigTestsEvent_EventRequest_SIGEvent_implementsPortletRequest */
+      /* Details: "EventRequest implements PortletRequest "                   */
+      {
+         PortletURL aurl = portletResp.createActionURL();
+         aurl.setParameters(portletReq.getPrivateParameterMap());
+         TestButton tb = new TestButton("V2SigTestsEvent_EventRequest_SIGEvent_implementsPortletRequest", aurl);
+         tb.writeTo(writer);
+      }
+
+   }
+
+}

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/834b222c/portlet-tck_3.0/V2SigTestsEvent/src/main/java/javax/portlet/tck/portlets/SigTestsEvent_EventRequest_SIGEvent_event.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2SigTestsEvent/src/main/java/javax/portlet/tck/portlets/SigTestsEvent_EventRequest_SIGEvent_event.java b/portlet-tck_3.0/V2SigTestsEvent/src/main/java/javax/portlet/tck/portlets/SigTestsEvent_EventRequest_SIGEvent_event.java
new file mode 100644
index 0000000..61374b0
--- /dev/null
+++ b/portlet-tck_3.0/V2SigTestsEvent/src/main/java/javax/portlet/tck/portlets/SigTestsEvent_EventRequest_SIGEvent_event.java
@@ -0,0 +1,163 @@
+/*  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.JSR286SignatureTestCaseDetails.*;
+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 SigTestsEvent_EventRequest_SIGEvent_event implements Portlet, EventPortlet, ResourceServingPortlet {
+   private static final String LOG_CLASS = 
+         SigTestsEvent_EventRequest_SIGEvent_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();
+
+      JSR286SignatureTestCaseDetails tcd = new JSR286SignatureTestCaseDetails();
+
+      // Create result objects for the tests
+
+      ClassChecker cc = new ClassChecker(portletReq.getClass());
+
+      /* TestCase: V2SigTestsEvent_EventRequest_SIGEvent_hasGetEvent          */
+      /* Details: "EventRequest has a getEvent()  method "                    */
+      TestResult tr0 = tcd.getTestResultFailed(V2SIGTESTSEVENT_EVENTREQUEST_SIGEVENT_HASGETEVENT);
+      try {
+         String name = "getEvent";
+         Class<?>[] exceptions = null;
+         Class<?>[] parms = null;
+         tr0.setTcSuccess(cc.hasMethod(name, parms, exceptions));
+      } catch(Exception e) {tr0.appendTcDetail(e.toString());}
+      tr0.writeTo(writer);
+
+      /* TestCase: V2SigTestsEvent_EventRequest_SIGEvent_hasGetEventReturns   */
+      /* Details: "EventRequest method getEvent() returns Event "             */
+      TestResult tr1 = tcd.getTestResultFailed(V2SIGTESTSEVENT_EVENTREQUEST_SIGEVENT_HASGETEVENTRETURNS);
+      try {
+         String name = "getEvent";
+         Class<?> retType = Event.class;
+         Class<?>[] parms = null;
+         tr1.setTcSuccess(cc.methodHasReturnType(name, retType, parms));
+      } catch(Exception e) {tr1.appendTcDetail(e.toString());}
+      tr1.writeTo(writer);
+
+      /* TestCase: V2SigTestsEvent_EventRequest_SIGEvent_hasGetMethod         */
+      /* Details: "EventRequest has a getMethod()  method "                   */
+      TestResult tr2 = tcd.getTestResultFailed(V2SIGTESTSEVENT_EVENTREQUEST_SIGEVENT_HASGETMETHOD);
+      try {
+         String name = "getMethod";
+         Class<?>[] exceptions = null;
+         Class<?>[] parms = null;
+         tr2.setTcSuccess(cc.hasMethod(name, parms, exceptions));
+      } catch(Exception e) {tr2.appendTcDetail(e.toString());}
+      tr2.writeTo(writer);
+
+      /* TestCase: V2SigTestsEvent_EventRequest_SIGEvent_hasGetMethodReturns  */
+      /* Details: "EventRequest method getMethod() returns String "           */
+      TestResult tr3 = tcd.getTestResultFailed(V2SIGTESTSEVENT_EVENTREQUEST_SIGEVENT_HASGETMETHODRETURNS);
+      try {
+         String name = "getMethod";
+         Class<?> retType = String.class;
+         Class<?>[] parms = null;
+         tr3.setTcSuccess(cc.methodHasReturnType(name, retType, parms));
+      } catch(Exception e) {tr3.appendTcDetail(e.toString());}
+      tr3.writeTo(writer);
+
+      /* TestCase: V2SigTestsEvent_EventRequest_SIGEvent_implementsPortletRequest */
+      /* Details: "EventRequest implements PortletRequest "                   */
+      TestResult tr4 = tcd.getTestResultFailed(V2SIGTESTSEVENT_EVENTREQUEST_SIGEVENT_IMPLEMENTSPORTLETREQUEST);
+      try {
+         tr4.setTcSuccess(cc.implementsInterface(PortletRequest.class));
+      } catch(Exception e) {tr4.appendTcDetail(e.toString());}
+      tr4.writeTo(writer);
+
+      portletReq.getPortletSession().setAttribute(
+                   Constants.RESULT_ATTR_PREFIX + "SigTestsEvent_EventRequest_SIGEvent",
+                   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>SigTestsEvent_EventRequest_SIGEvent_event</p>\n");
+
+      String msg = (String) portletReq.getPortletSession()
+            .getAttribute(RESULT_ATTR_PREFIX + "SigTestsEvent_EventRequest_SIGEvent", 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/834b222c/portlet-tck_3.0/V2SigTestsEvent/src/main/java/javax/portlet/tck/portlets/SigTestsEvent_EventResponse_SIGEvent.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2SigTestsEvent/src/main/java/javax/portlet/tck/portlets/SigTestsEvent_EventResponse_SIGEvent.java b/portlet-tck_3.0/V2SigTestsEvent/src/main/java/javax/portlet/tck/portlets/SigTestsEvent_EventResponse_SIGEvent.java
new file mode 100644
index 0000000..873d375
--- /dev/null
+++ b/portlet-tck_3.0/V2SigTestsEvent/src/main/java/javax/portlet/tck/portlets/SigTestsEvent_EventResponse_SIGEvent.java
@@ -0,0 +1,133 @@
+/*  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.JSR286SignatureTestCaseDetails.*;
+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 SigTestsEvent_EventResponse_SIGEvent_event
+ *
+ */
+public class SigTestsEvent_EventResponse_SIGEvent implements Portlet, ResourceServingPortlet {
+   private static final String LOG_CLASS = 
+         SigTestsEvent_EventResponse_SIGEvent.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,
+             "SigTestsEvent_EventResponse_SIGEvent");
+      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: V2SigTestsEvent_EventResponse_SIGEvent_hasSetRenderParameters */
+      /* Details: "EventResponse has a setRenderParameters(EventRequest)      */
+      /* method "                                                             */
+      {
+         PortletURL aurl = portletResp.createActionURL();
+         aurl.setParameters(portletReq.getPrivateParameterMap());
+         TestButton tb = new TestButton("V2SigTestsEvent_EventResponse_SIGEvent_hasSetRenderParameters", aurl);
+         tb.writeTo(writer);
+      }
+
+      /* TestCase: V2SigTestsEvent_EventResponse_SIGEvent_hasSetRenderParametersReturns */
+      /* Details: "EventResponse method setRenderParameters(EventRequest)     */
+      /* returns void "                                                       */
+      {
+         PortletURL aurl = portletResp.createActionURL();
+         aurl.setParameters(portletReq.getPrivateParameterMap());
+         TestButton tb = new TestButton("V2SigTestsEvent_EventResponse_SIGEvent_hasSetRenderParametersReturns", aurl);
+         tb.writeTo(writer);
+      }
+
+      /* TestCase: V2SigTestsEvent_EventResponse_SIGEvent_implementsStateAwareResponse */
+      /* Details: "EventResponse implements StateAwareResponse "              */
+      {
+         PortletURL aurl = portletResp.createActionURL();
+         aurl.setParameters(portletReq.getPrivateParameterMap());
+         TestButton tb = new TestButton("V2SigTestsEvent_EventResponse_SIGEvent_implementsStateAwareResponse", aurl);
+         tb.writeTo(writer);
+      }
+
+   }
+
+}

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/834b222c/portlet-tck_3.0/V2SigTestsEvent/src/main/java/javax/portlet/tck/portlets/SigTestsEvent_EventResponse_SIGEvent_event.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2SigTestsEvent/src/main/java/javax/portlet/tck/portlets/SigTestsEvent_EventResponse_SIGEvent_event.java b/portlet-tck_3.0/V2SigTestsEvent/src/main/java/javax/portlet/tck/portlets/SigTestsEvent_EventResponse_SIGEvent_event.java
new file mode 100644
index 0000000..158a5bc
--- /dev/null
+++ b/portlet-tck_3.0/V2SigTestsEvent/src/main/java/javax/portlet/tck/portlets/SigTestsEvent_EventResponse_SIGEvent_event.java
@@ -0,0 +1,143 @@
+/*  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.JSR286SignatureTestCaseDetails.*;
+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 SigTestsEvent_EventResponse_SIGEvent_event implements Portlet, EventPortlet, ResourceServingPortlet {
+   private static final String LOG_CLASS = 
+         SigTestsEvent_EventResponse_SIGEvent_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();
+
+      JSR286SignatureTestCaseDetails tcd = new JSR286SignatureTestCaseDetails();
+
+      // Create result objects for the tests
+
+      ClassChecker cc = new ClassChecker(portletResp.getClass());
+
+      /* TestCase: V2SigTestsEvent_EventResponse_SIGEvent_hasSetRenderParameters */
+      /* Details: "EventResponse has a setRenderParameters(EventRequest)      */
+      /* method "                                                             */
+      TestResult tr0 = tcd.getTestResultFailed(V2SIGTESTSEVENT_EVENTRESPONSE_SIGEVENT_HASSETRENDERPARAMETERS);
+      try {
+         String name = "setRenderParameters";
+         Class<?>[] exceptions = null;
+         Class<?>[] parms = {EventRequest.class};
+         tr0.setTcSuccess(cc.hasMethod(name, parms, exceptions));
+      } catch(Exception e) {tr0.appendTcDetail(e.toString());}
+      tr0.writeTo(writer);
+
+      /* TestCase: V2SigTestsEvent_EventResponse_SIGEvent_hasSetRenderParametersReturns */
+      /* Details: "EventResponse method setRenderParameters(EventRequest)     */
+      /* returns void "                                                       */
+      TestResult tr1 = tcd.getTestResultFailed(V2SIGTESTSEVENT_EVENTRESPONSE_SIGEVENT_HASSETRENDERPARAMETERSRETURNS);
+      try {
+         String name = "setRenderParameters";
+         Class<?> retType = void.class;
+         Class<?>[] parms = {EventRequest.class};
+         tr1.setTcSuccess(cc.methodHasReturnType(name, retType, parms));
+      } catch(Exception e) {tr1.appendTcDetail(e.toString());}
+      tr1.writeTo(writer);
+
+      /* TestCase: V2SigTestsEvent_EventResponse_SIGEvent_implementsStateAwareResponse */
+      /* Details: "EventResponse implements StateAwareResponse "              */
+      TestResult tr2 = tcd.getTestResultFailed(V2SIGTESTSEVENT_EVENTRESPONSE_SIGEVENT_IMPLEMENTSSTATEAWARERESPONSE);
+      try {
+         tr2.setTcSuccess(cc.implementsInterface(StateAwareResponse.class));
+      } catch(Exception e) {tr2.appendTcDetail(e.toString());}
+      tr2.writeTo(writer);
+
+      portletReq.getPortletSession().setAttribute(
+                   Constants.RESULT_ATTR_PREFIX + "SigTestsEvent_EventResponse_SIGEvent",
+                   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>SigTestsEvent_EventResponse_SIGEvent_event</p>\n");
+
+      String msg = (String) portletReq.getPortletSession()
+            .getAttribute(RESULT_ATTR_PREFIX + "SigTestsEvent_EventResponse_SIGEvent", 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/834b222c/portlet-tck_3.0/V2SigTestsEvent/src/main/java/javax/portlet/tck/portlets/SigTestsEvent_Event_SIGEvent.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2SigTestsEvent/src/main/java/javax/portlet/tck/portlets/SigTestsEvent_Event_SIGEvent.java b/portlet-tck_3.0/V2SigTestsEvent/src/main/java/javax/portlet/tck/portlets/SigTestsEvent_Event_SIGEvent.java
new file mode 100644
index 0000000..4fb7aee
--- /dev/null
+++ b/portlet-tck_3.0/V2SigTestsEvent/src/main/java/javax/portlet/tck/portlets/SigTestsEvent_Event_SIGEvent.java
@@ -0,0 +1,159 @@
+/*  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.JSR286SignatureTestCaseDetails.*;
+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 SigTestsEvent_Event_SIGEvent_event
+ *
+ */
+public class SigTestsEvent_Event_SIGEvent implements Portlet, ResourceServingPortlet {
+   private static final String LOG_CLASS = 
+         SigTestsEvent_Event_SIGEvent.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,
+             "SigTestsEvent_Event_SIGEvent");
+      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: V2SigTestsEvent_Event_SIGEvent_hasGetName                  */
+      /* Details: "Event has a getName()  method "                            */
+      {
+         PortletURL aurl = portletResp.createActionURL();
+         aurl.setParameters(portletReq.getPrivateParameterMap());
+         TestButton tb = new TestButton("V2SigTestsEvent_Event_SIGEvent_hasGetName", aurl);
+         tb.writeTo(writer);
+      }
+
+      /* TestCase: V2SigTestsEvent_Event_SIGEvent_hasGetNameReturns           */
+      /* Details: "Event method getName() returns String "                    */
+      {
+         PortletURL aurl = portletResp.createActionURL();
+         aurl.setParameters(portletReq.getPrivateParameterMap());
+         TestButton tb = new TestButton("V2SigTestsEvent_Event_SIGEvent_hasGetNameReturns", aurl);
+         tb.writeTo(writer);
+      }
+
+      /* TestCase: V2SigTestsEvent_Event_SIGEvent_hasGetQName                 */
+      /* Details: "Event has a getQName()  method "                           */
+      {
+         PortletURL aurl = portletResp.createActionURL();
+         aurl.setParameters(portletReq.getPrivateParameterMap());
+         TestButton tb = new TestButton("V2SigTestsEvent_Event_SIGEvent_hasGetQName", aurl);
+         tb.writeTo(writer);
+      }
+
+      /* TestCase: V2SigTestsEvent_Event_SIGEvent_hasGetQNameReturns          */
+      /* Details: "Event method getQName() returns                            */
+      /* javax.xml.namespace.QName "                                          */
+      {
+         PortletURL aurl = portletResp.createActionURL();
+         aurl.setParameters(portletReq.getPrivateParameterMap());
+         TestButton tb = new TestButton("V2SigTestsEvent_Event_SIGEvent_hasGetQNameReturns", aurl);
+         tb.writeTo(writer);
+      }
+
+      /* TestCase: V2SigTestsEvent_Event_SIGEvent_hasGetValue                 */
+      /* Details: "Event has a getValue()  method "                           */
+      {
+         PortletURL aurl = portletResp.createActionURL();
+         aurl.setParameters(portletReq.getPrivateParameterMap());
+         TestButton tb = new TestButton("V2SigTestsEvent_Event_SIGEvent_hasGetValue", aurl);
+         tb.writeTo(writer);
+      }
+
+      /* TestCase: V2SigTestsEvent_Event_SIGEvent_hasGetValueReturns          */
+      /* Details: "Event method getValue() returns java.io.Serializable "     */
+      {
+         PortletURL aurl = portletResp.createActionURL();
+         aurl.setParameters(portletReq.getPrivateParameterMap());
+         TestButton tb = new TestButton("V2SigTestsEvent_Event_SIGEvent_hasGetValueReturns", aurl);
+         tb.writeTo(writer);
+      }
+
+   }
+
+}


Mime
View raw message