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/07/27 09:05:55 UTC
[19/24] Added the JSR 362 TCK to the Pluto project.
http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/bd830576/portlet-tck_3.0/V2ExceptionTests/src/main/java/javax/portlet/tck/ExceptionTests/portlets/V2ExceptionTests_SIG_UnavailableException.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2ExceptionTests/src/main/java/javax/portlet/tck/ExceptionTests/portlets/V2ExceptionTests_SIG_UnavailableException.java b/portlet-tck_3.0/V2ExceptionTests/src/main/java/javax/portlet/tck/ExceptionTests/portlets/V2ExceptionTests_SIG_UnavailableException.java
new file mode 100644
index 0000000..700d292
--- /dev/null
+++ b/portlet-tck_3.0/V2ExceptionTests/src/main/java/javax/portlet/tck/ExceptionTests/portlets/V2ExceptionTests_SIG_UnavailableException.java
@@ -0,0 +1,157 @@
+/* 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.ExceptionTests.portlets;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+
+import java.util.Enumeration;
+import java.util.Locale;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.portlet.*;
+import javax.portlet.filter.*;
+import javax.portlet.tck.beans.ClassChecker;
+import javax.portlet.tck.beans.TestCaseDetails;
+import javax.portlet.tck.beans.JSR286ApiTestCaseDetails;
+import static javax.portlet.tck.beans.JSR286ApiTestCaseDetails.*;
+import javax.portlet.tck.beans.TestResult;
+
+/**
+ * This portlet implements several test cases for the JSR 362 TCK. The test case names
+ * are defined in the /src/main/resources/xml-resources/additionalTCs.xml
+ * file. The build process will integrate the test case names defined in the
+ * additionalTCs.xml file into the complete list of test case names for execution by the driver.
+ */
+public class V2ExceptionTests_SIG_UnavailableException implements Portlet {
+ private static final String LOG_CLASS =
+ V2ExceptionTests_SIG_UnavailableException.class.getName();
+ private final Logger LOGGER = Logger.getLogger(LOG_CLASS);
+
+ private PortletConfig portletConfig = null;
+
+ @Override
+ public void init(PortletConfig config) throws PortletException {
+ this.portletConfig = config;
+ }
+
+ @Override
+ public void destroy() {
+ }
+
+ @Override
+ public void processAction(ActionRequest actionRequest, ActionResponse actionResponse)
+ throws PortletException, IOException {
+ }
+
+ @Override
+ public void render(RenderRequest renderRequest, RenderResponse renderResponse)
+ throws PortletException, IOException {
+
+ if (LOGGER.isLoggable(Level.FINE)) {
+ LOGGER.logp(Level.FINE, LOG_CLASS, "render", "Entry");
+ }
+
+ PrintWriter writer = renderResponse.getWriter();
+ JSR286ApiTestCaseDetails tcd = new JSR286ApiTestCaseDetails();
+ ClassChecker cc = new ClassChecker(UnavailableException.class);
+
+ // Create result objects for the tests
+
+ /* TestCase: UnavailableException_SIG_extendsPortletException */
+ /* Details: "Extends PortletException " */
+ TestResult tr0 = tcd.getTestResultFailed(UNAVAILABLEEXCEPTION_SIG_EXTENDSPORTLETEXCEPTION);
+ {
+ tr0.setTcSuccess(cc.hasSuperclass(PortletException.class));
+ }
+
+ /* TestCase: UnavailableException_SIG_constructor */
+ /* Details: "Provides constructor UnavailableException(String) " */
+ TestResult tr1 = tcd.getTestResultFailed(UNAVAILABLEEXCEPTION_SIG_CONSTRUCTOR);
+ {
+ Class<?>[] parms = {String.class};
+ tr1.setTcSuccess(cc.hasConstructor(parms));
+ }
+
+ /* TestCase: UnavailableException_SIG_constructorA */
+ /* Details: "Provides constructor UnavailableException(String, int) " */
+ TestResult tr2 = tcd.getTestResultFailed(UNAVAILABLEEXCEPTION_SIG_CONSTRUCTORA);
+ {
+ Class<?>[] parms = {String.class, int.class};
+ tr2.setTcSuccess(cc.hasConstructor(parms));
+ }
+
+ /* TestCase: UnavailableException_SIG_hasIsPermanent */
+ /* Details: "Has a isPermanent() method " */
+ TestResult tr3 = tcd.getTestResultFailed(UNAVAILABLEEXCEPTION_SIG_HASISPERMANENT);
+ {
+ String name = "isPermanent";
+ Class<?>[] exceptions = null;
+ Class<?>[] parms = null;
+ tr3.setTcSuccess(cc.hasMethod(name, parms, exceptions));
+ }
+
+ /* TestCase: UnavailableException_SIG_hasIsPermanentReturns */
+ /* Details: "Method isPermanent() returns boolean " */
+ TestResult tr4 = tcd.getTestResultFailed(UNAVAILABLEEXCEPTION_SIG_HASISPERMANENTRETURNS);
+ {
+ String name = "isPermanent";
+ Class<?> retType = boolean.class;
+ Class<?>[] parms = null;
+ tr4.setTcSuccess(cc.methodHasReturnType(name, retType, parms));
+ }
+
+ /* TestCase: UnavailableException_SIG_hasGetUnavailableSeconds */
+ /* Details: "Has a getUnavailableSeconds() method " */
+ TestResult tr5 = tcd.getTestResultFailed(UNAVAILABLEEXCEPTION_SIG_HASGETUNAVAILABLESECONDS);
+ {
+ String name = "getUnavailableSeconds";
+ Class<?>[] exceptions = null;
+ Class<?>[] parms = null;
+ tr5.setTcSuccess(cc.hasMethod(name, parms, exceptions));
+ }
+
+ /* TestCase: UnavailableException_SIG_hasGetUnavailableSecondsReturns */
+ /* Details: "Method getUnavailableSeconds() returns int " */
+ TestResult tr6 = tcd.getTestResultFailed(UNAVAILABLEEXCEPTION_SIG_HASGETUNAVAILABLESECONDSRETURNS);
+ {
+ String name = "getUnavailableSeconds";
+ Class<?> retType = int.class;
+ Class<?>[] parms = null;
+ tr6.setTcSuccess(cc.methodHasReturnType(name, retType, parms));
+ }
+
+
+
+ // Write the results to the output stream
+
+ tr0.writeTo(writer);
+ tr1.writeTo(writer);
+ tr2.writeTo(writer);
+ tr3.writeTo(writer);
+ tr4.writeTo(writer);
+ tr5.writeTo(writer);
+ tr6.writeTo(writer);
+
+
+ }
+
+}
+
http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/bd830576/portlet-tck_3.0/V2ExceptionTests/src/main/java/javax/portlet/tck/ExceptionTests/portlets/V2ExceptionTests_SIG_ValidatorException.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2ExceptionTests/src/main/java/javax/portlet/tck/ExceptionTests/portlets/V2ExceptionTests_SIG_ValidatorException.java b/portlet-tck_3.0/V2ExceptionTests/src/main/java/javax/portlet/tck/ExceptionTests/portlets/V2ExceptionTests_SIG_ValidatorException.java
new file mode 100644
index 0000000..ce66dc9
--- /dev/null
+++ b/portlet-tck_3.0/V2ExceptionTests/src/main/java/javax/portlet/tck/ExceptionTests/portlets/V2ExceptionTests_SIG_ValidatorException.java
@@ -0,0 +1,144 @@
+/* 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.ExceptionTests.portlets;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+
+import java.util.Enumeration;
+import java.util.Locale;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.portlet.*;
+import javax.portlet.filter.*;
+import javax.portlet.tck.beans.ClassChecker;
+import javax.portlet.tck.beans.TestCaseDetails;
+import javax.portlet.tck.beans.JSR286ApiTestCaseDetails;
+import static javax.portlet.tck.beans.JSR286ApiTestCaseDetails.*;
+import javax.portlet.tck.beans.TestResult;
+
+/**
+ * This portlet implements several test cases for the JSR 362 TCK. The test case names
+ * are defined in the /src/main/resources/xml-resources/additionalTCs.xml
+ * file. The build process will integrate the test case names defined in the
+ * additionalTCs.xml file into the complete list of test case names for execution by the driver.
+ */
+public class V2ExceptionTests_SIG_ValidatorException implements Portlet {
+ private static final String LOG_CLASS =
+ V2ExceptionTests_SIG_ValidatorException.class.getName();
+ private final Logger LOGGER = Logger.getLogger(LOG_CLASS);
+
+ private PortletConfig portletConfig = null;
+
+ @Override
+ public void init(PortletConfig config) throws PortletException {
+ this.portletConfig = config;
+ }
+
+ @Override
+ public void destroy() {
+ }
+
+ @Override
+ public void processAction(ActionRequest actionRequest, ActionResponse actionResponse)
+ throws PortletException, IOException {
+ }
+
+ @Override
+ public void render(RenderRequest renderRequest, RenderResponse renderResponse)
+ throws PortletException, IOException {
+
+ if (LOGGER.isLoggable(Level.FINE)) {
+ LOGGER.logp(Level.FINE, LOG_CLASS, "render", "Entry");
+ }
+
+ PrintWriter writer = renderResponse.getWriter();
+ JSR286ApiTestCaseDetails tcd = new JSR286ApiTestCaseDetails();
+ ClassChecker cc = new ClassChecker(ValidatorException.class);
+
+ // Create result objects for the tests
+
+ /* TestCase: ValidatorException_SIG_extendsPortletException */
+ /* Details: "Extends PortletException " */
+ TestResult tr0 = tcd.getTestResultFailed(VALIDATOREXCEPTION_SIG_EXTENDSPORTLETEXCEPTION);
+ {
+ tr0.setTcSuccess(cc.hasSuperclass(PortletException.class));
+ }
+
+ /* TestCase: ValidatorException_SIG_constructor */
+ /* Details: "Provides constructor ValidatorException(String, java.util.Collection) " */
+ TestResult tr1 = tcd.getTestResultFailed(VALIDATOREXCEPTION_SIG_CONSTRUCTOR);
+ {
+ Class<?>[] parms = {String.class, java.util.Collection.class};
+ tr1.setTcSuccess(cc.hasConstructor(parms));
+ }
+
+ /* TestCase: ValidatorException_SIG_constructorA */
+ /* Details: "Provides constructor ValidatorException(String, Throwable, java.util.Collection) " */
+ TestResult tr2 = tcd.getTestResultFailed(VALIDATOREXCEPTION_SIG_CONSTRUCTORA);
+ {
+ Class<?>[] parms = {String.class, Throwable.class, java.util.Collection.class};
+ tr2.setTcSuccess(cc.hasConstructor(parms));
+ }
+
+ /* TestCase: ValidatorException_SIG_constructorB */
+ /* Details: "Provides constructor ValidatorException(Throwable, java.util.Collection) " */
+ TestResult tr3 = tcd.getTestResultFailed(VALIDATOREXCEPTION_SIG_CONSTRUCTORB);
+ {
+ Class<?>[] parms = {Throwable.class, java.util.Collection.class};
+ tr3.setTcSuccess(cc.hasConstructor(parms));
+ }
+
+ /* TestCase: ValidatorException_SIG_hasGetFailedKeys */
+ /* Details: "Has a getFailedKeys() method " */
+ TestResult tr4 = tcd.getTestResultFailed(VALIDATOREXCEPTION_SIG_HASGETFAILEDKEYS);
+ {
+ String name = "getFailedKeys";
+ Class<?>[] exceptions = null;
+ Class<?>[] parms = null;
+ tr4.setTcSuccess(cc.hasMethod(name, parms, exceptions));
+ }
+
+ /* TestCase: ValidatorException_SIG_hasGetFailedKeysReturns */
+ /* Details: "Method getFailedKeys() returns java.util.Enumeration " */
+ TestResult tr5 = tcd.getTestResultFailed(VALIDATOREXCEPTION_SIG_HASGETFAILEDKEYSRETURNS);
+ {
+ String name = "getFailedKeys";
+ Class<?> retType = java.util.Enumeration.class;
+ Class<?>[] parms = null;
+ tr5.setTcSuccess(cc.methodHasReturnType(name, retType, parms));
+ }
+
+
+
+ // Write the results to the output stream
+
+ tr0.writeTo(writer);
+ tr1.writeTo(writer);
+ tr2.writeTo(writer);
+ tr3.writeTo(writer);
+ tr4.writeTo(writer);
+ tr5.writeTo(writer);
+
+
+ }
+
+}
+
http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/bd830576/portlet-tck_3.0/V2ExceptionTests/src/main/java/javax/portlet/tck/ExceptionTests/portlets/V2ExceptionTests_SIG_WindowStateException.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2ExceptionTests/src/main/java/javax/portlet/tck/ExceptionTests/portlets/V2ExceptionTests_SIG_WindowStateException.java b/portlet-tck_3.0/V2ExceptionTests/src/main/java/javax/portlet/tck/ExceptionTests/portlets/V2ExceptionTests_SIG_WindowStateException.java
new file mode 100644
index 0000000..cccd960
--- /dev/null
+++ b/portlet-tck_3.0/V2ExceptionTests/src/main/java/javax/portlet/tck/ExceptionTests/portlets/V2ExceptionTests_SIG_WindowStateException.java
@@ -0,0 +1,144 @@
+/* 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.ExceptionTests.portlets;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+
+import java.util.Enumeration;
+import java.util.Locale;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.portlet.*;
+import javax.portlet.filter.*;
+import javax.portlet.tck.beans.ClassChecker;
+import javax.portlet.tck.beans.TestCaseDetails;
+import javax.portlet.tck.beans.JSR286ApiTestCaseDetails;
+import static javax.portlet.tck.beans.JSR286ApiTestCaseDetails.*;
+import javax.portlet.tck.beans.TestResult;
+
+/**
+ * This portlet implements several test cases for the JSR 362 TCK. The test case names
+ * are defined in the /src/main/resources/xml-resources/additionalTCs.xml
+ * file. The build process will integrate the test case names defined in the
+ * additionalTCs.xml file into the complete list of test case names for execution by the driver.
+ */
+public class V2ExceptionTests_SIG_WindowStateException implements Portlet {
+ private static final String LOG_CLASS =
+ V2ExceptionTests_SIG_WindowStateException.class.getName();
+ private final Logger LOGGER = Logger.getLogger(LOG_CLASS);
+
+ private PortletConfig portletConfig = null;
+
+ @Override
+ public void init(PortletConfig config) throws PortletException {
+ this.portletConfig = config;
+ }
+
+ @Override
+ public void destroy() {
+ }
+
+ @Override
+ public void processAction(ActionRequest actionRequest, ActionResponse actionResponse)
+ throws PortletException, IOException {
+ }
+
+ @Override
+ public void render(RenderRequest renderRequest, RenderResponse renderResponse)
+ throws PortletException, IOException {
+
+ if (LOGGER.isLoggable(Level.FINE)) {
+ LOGGER.logp(Level.FINE, LOG_CLASS, "render", "Entry");
+ }
+
+ PrintWriter writer = renderResponse.getWriter();
+ JSR286ApiTestCaseDetails tcd = new JSR286ApiTestCaseDetails();
+ ClassChecker cc = new ClassChecker(WindowStateException.class);
+
+ // Create result objects for the tests
+
+ /* TestCase: WindowStateException_SIG_extendsPortletException */
+ /* Details: "Extends PortletException " */
+ TestResult tr0 = tcd.getTestResultFailed(WINDOWSTATEEXCEPTION_SIG_EXTENDSPORTLETEXCEPTION);
+ {
+ tr0.setTcSuccess(cc.hasSuperclass(PortletException.class));
+ }
+
+ /* TestCase: WindowStateException_SIG_constructor */
+ /* Details: "Provides constructor WindowStateException(String, WindowState) " */
+ TestResult tr1 = tcd.getTestResultFailed(WINDOWSTATEEXCEPTION_SIG_CONSTRUCTOR);
+ {
+ Class<?>[] parms = {String.class, WindowState.class};
+ tr1.setTcSuccess(cc.hasConstructor(parms));
+ }
+
+ /* TestCase: WindowStateException_SIG_constructorA */
+ /* Details: "Provides constructor WindowStateException(String, Throwable, WindowState) " */
+ TestResult tr2 = tcd.getTestResultFailed(WINDOWSTATEEXCEPTION_SIG_CONSTRUCTORA);
+ {
+ Class<?>[] parms = {String.class, Throwable.class, WindowState.class};
+ tr2.setTcSuccess(cc.hasConstructor(parms));
+ }
+
+ /* TestCase: WindowStateException_SIG_constructorB */
+ /* Details: "Provides constructor WindowStateException(Throwable, WindowState) " */
+ TestResult tr3 = tcd.getTestResultFailed(WINDOWSTATEEXCEPTION_SIG_CONSTRUCTORB);
+ {
+ Class<?>[] parms = {Throwable.class, WindowState.class};
+ tr3.setTcSuccess(cc.hasConstructor(parms));
+ }
+
+ /* TestCase: WindowStateException_SIG_hasGetState */
+ /* Details: "Has a getState() method " */
+ TestResult tr4 = tcd.getTestResultFailed(WINDOWSTATEEXCEPTION_SIG_HASGETSTATE);
+ {
+ String name = "getState";
+ Class<?>[] exceptions = null;
+ Class<?>[] parms = null;
+ tr4.setTcSuccess(cc.hasMethod(name, parms, exceptions));
+ }
+
+ /* TestCase: WindowStateException_SIG_hasGetStateReturns */
+ /* Details: "Method getState() returns WindowState " */
+ TestResult tr5 = tcd.getTestResultFailed(WINDOWSTATEEXCEPTION_SIG_HASGETSTATERETURNS);
+ {
+ String name = "getState";
+ Class<?> retType = WindowState.class;
+ Class<?>[] parms = null;
+ tr5.setTcSuccess(cc.methodHasReturnType(name, retType, parms));
+ }
+
+
+
+ // Write the results to the output stream
+
+ tr0.writeTo(writer);
+ tr1.writeTo(writer);
+ tr2.writeTo(writer);
+ tr3.writeTo(writer);
+ tr4.writeTo(writer);
+ tr5.writeTo(writer);
+
+
+ }
+
+}
+
http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/bd830576/portlet-tck_3.0/V2ExceptionTests/src/main/java/javax/portlet/tck/ExceptionTests/portlets/V2ExceptionTests_UnavailableException.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2ExceptionTests/src/main/java/javax/portlet/tck/ExceptionTests/portlets/V2ExceptionTests_UnavailableException.java b/portlet-tck_3.0/V2ExceptionTests/src/main/java/javax/portlet/tck/ExceptionTests/portlets/V2ExceptionTests_UnavailableException.java
new file mode 100644
index 0000000..c54c85a
--- /dev/null
+++ b/portlet-tck_3.0/V2ExceptionTests/src/main/java/javax/portlet/tck/ExceptionTests/portlets/V2ExceptionTests_UnavailableException.java
@@ -0,0 +1,117 @@
+/* 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.ExceptionTests.portlets;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+
+import java.util.Enumeration;
+import java.util.Locale;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.portlet.*;
+import javax.portlet.filter.*;
+import javax.portlet.tck.beans.ClassChecker;
+import javax.portlet.tck.beans.TestCaseDetails;
+import javax.portlet.tck.beans.JSR286ApiTestCaseDetails;
+import static javax.portlet.tck.beans.JSR286ApiTestCaseDetails.*;
+import javax.portlet.tck.beans.TestResult;
+
+/**
+ * This portlet implements several test cases for the JSR 362 TCK. The test case names
+ * are defined in the /src/main/resources/xml-resources/additionalTCs.xml
+ * file. The build process will integrate the test case names defined in the
+ * additionalTCs.xml file into the complete list of test case names for execution by the driver.
+ */
+public class V2ExceptionTests_UnavailableException implements Portlet {
+ private static final String LOG_CLASS =
+ V2ExceptionTests_UnavailableException.class.getName();
+ private final Logger LOGGER = Logger.getLogger(LOG_CLASS);
+
+ private PortletConfig portletConfig = null;
+
+ @Override
+ public void init(PortletConfig config) throws PortletException {
+ this.portletConfig = config;
+ }
+
+ @Override
+ public void destroy() {
+ }
+
+ @Override
+ public void processAction(ActionRequest actionRequest, ActionResponse actionResponse)
+ throws PortletException, IOException {
+ }
+
+ @Override
+ public void render(RenderRequest renderRequest, RenderResponse renderResponse)
+ throws PortletException, IOException {
+
+ if (LOGGER.isLoggable(Level.FINE)) {
+ LOGGER.logp(Level.FINE, LOG_CLASS, "render", "Entry");
+ }
+
+ PrintWriter writer = renderResponse.getWriter();
+ JSR286ApiTestCaseDetails tcd = new JSR286ApiTestCaseDetails();
+ ClassChecker cc = new ClassChecker(UnavailableException.class);
+
+ // Create result objects for the tests
+
+ /* TestCase: UnavailableException_isPermanent1 */
+ /* Details: "Returns a boolean" */
+ TestResult tr0 = tcd.getTestResultFailed(UNAVAILABLEEXCEPTION_ISPERMANENT1);
+ /* TODO: implement test */
+
+ /* TestCase: UnavailableException_isPermanent2 */
+ /* Details: "Returns true if the portlet is permanently unavailable " */
+ TestResult tr1 = tcd.getTestResultFailed(UNAVAILABLEEXCEPTION_ISPERMANENT2);
+ /* TODO: implement test */
+
+ /* TestCase: UnavailableException_isPermanent3 */
+ /* Details: "Returns false if the portlet is temporarily unavailable " */
+ TestResult tr2 = tcd.getTestResultFailed(UNAVAILABLEEXCEPTION_ISPERMANENT3);
+ /* TODO: implement test */
+
+ /* TestCase: UnavailableException_getUnavailableSeconds1 */
+ /* Details: "Returns an integer " */
+ TestResult tr3 = tcd.getTestResultFailed(UNAVAILABLEEXCEPTION_GETUNAVAILABLESECONDS1);
+ /* TODO: implement test */
+
+ /* TestCase: UnavailableException_getUnavailableSeconds2 */
+ /* Details: "Returns a number <= 0 if the portlet is permanently unavailable" */
+ TestResult tr4 = tcd.getTestResultFailed(UNAVAILABLEEXCEPTION_GETUNAVAILABLESECONDS2);
+ /* TODO: implement test */
+
+
+
+ // Write the results to the output stream
+
+ tr0.writeTo(writer);
+ tr1.writeTo(writer);
+ tr2.writeTo(writer);
+ tr3.writeTo(writer);
+ tr4.writeTo(writer);
+
+
+ }
+
+}
+
http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/bd830576/portlet-tck_3.0/V2ExceptionTests/src/main/java/javax/portlet/tck/ExceptionTests/portlets/V2ExceptionTests_ValidatorException.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2ExceptionTests/src/main/java/javax/portlet/tck/ExceptionTests/portlets/V2ExceptionTests_ValidatorException.java b/portlet-tck_3.0/V2ExceptionTests/src/main/java/javax/portlet/tck/ExceptionTests/portlets/V2ExceptionTests_ValidatorException.java
new file mode 100644
index 0000000..d0c04a0
--- /dev/null
+++ b/portlet-tck_3.0/V2ExceptionTests/src/main/java/javax/portlet/tck/ExceptionTests/portlets/V2ExceptionTests_ValidatorException.java
@@ -0,0 +1,117 @@
+/* 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.ExceptionTests.portlets;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+
+import java.util.Enumeration;
+import java.util.Locale;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.portlet.*;
+import javax.portlet.filter.*;
+import javax.portlet.tck.beans.ClassChecker;
+import javax.portlet.tck.beans.TestCaseDetails;
+import javax.portlet.tck.beans.JSR286ApiTestCaseDetails;
+import static javax.portlet.tck.beans.JSR286ApiTestCaseDetails.*;
+import javax.portlet.tck.beans.TestResult;
+
+/**
+ * This portlet implements several test cases for the JSR 362 TCK. The test case names
+ * are defined in the /src/main/resources/xml-resources/additionalTCs.xml
+ * file. The build process will integrate the test case names defined in the
+ * additionalTCs.xml file into the complete list of test case names for execution by the driver.
+ */
+public class V2ExceptionTests_ValidatorException implements Portlet {
+ private static final String LOG_CLASS =
+ V2ExceptionTests_ValidatorException.class.getName();
+ private final Logger LOGGER = Logger.getLogger(LOG_CLASS);
+
+ private PortletConfig portletConfig = null;
+
+ @Override
+ public void init(PortletConfig config) throws PortletException {
+ this.portletConfig = config;
+ }
+
+ @Override
+ public void destroy() {
+ }
+
+ @Override
+ public void processAction(ActionRequest actionRequest, ActionResponse actionResponse)
+ throws PortletException, IOException {
+ }
+
+ @Override
+ public void render(RenderRequest renderRequest, RenderResponse renderResponse)
+ throws PortletException, IOException {
+
+ if (LOGGER.isLoggable(Level.FINE)) {
+ LOGGER.logp(Level.FINE, LOG_CLASS, "render", "Entry");
+ }
+
+ PrintWriter writer = renderResponse.getWriter();
+ JSR286ApiTestCaseDetails tcd = new JSR286ApiTestCaseDetails();
+ ClassChecker cc = new ClassChecker(ValidatorException.class);
+
+ // Create result objects for the tests
+
+ /* TestCase: ValidatorException_constructor2 */
+ /* Details: "For ValidatorException(java.lang.String, java.util.Collection<java.lang.String>), the failedKeys parameter may be null" */
+ TestResult tr0 = tcd.getTestResultFailed(VALIDATOREXCEPTION_CONSTRUCTOR2);
+ /* TODO: implement test */
+
+ /* TestCase: ValidatorException_constructor4 */
+ /* Details: "For ValidatorException(java.lang.String, java.lang.Throwable, java.util.Collection<java.lang.String>), the failedKeys parameter may be null" */
+ TestResult tr1 = tcd.getTestResultFailed(VALIDATOREXCEPTION_CONSTRUCTOR4);
+ /* TODO: implement test */
+
+ /* TestCase: ValidatorException_constructor6 */
+ /* Details: "For ValidatorException(java.lang.Throwable, java.util.Collection<java.lang.String>), the failedKeys parameter may be null" */
+ TestResult tr2 = tcd.getTestResultFailed(VALIDATOREXCEPTION_CONSTRUCTOR6);
+ /* TODO: implement test */
+
+ /* TestCase: ValidatorException_getFailedKeys1 */
+ /* Details: "Returns a java.util.Enumeration<java.lang.String> object containing the preference keys that failed validation" */
+ TestResult tr3 = tcd.getTestResultFailed(VALIDATOREXCEPTION_GETFAILEDKEYS1);
+ /* TODO: implement test */
+
+ /* TestCase: ValidatorException_getFailedKeys2 */
+ /* Details: "Returns an empty enmueration if no failed keys are available" */
+ TestResult tr4 = tcd.getTestResultFailed(VALIDATOREXCEPTION_GETFAILEDKEYS2);
+ /* TODO: implement test */
+
+
+
+ // Write the results to the output stream
+
+ tr0.writeTo(writer);
+ tr1.writeTo(writer);
+ tr2.writeTo(writer);
+ tr3.writeTo(writer);
+ tr4.writeTo(writer);
+
+
+ }
+
+}
+
http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/bd830576/portlet-tck_3.0/V2ExceptionTests/src/main/java/javax/portlet/tck/ExceptionTests/portlets/V2ExceptionTests_WindowStateException.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2ExceptionTests/src/main/java/javax/portlet/tck/ExceptionTests/portlets/V2ExceptionTests_WindowStateException.java b/portlet-tck_3.0/V2ExceptionTests/src/main/java/javax/portlet/tck/ExceptionTests/portlets/V2ExceptionTests_WindowStateException.java
new file mode 100644
index 0000000..536ce75
--- /dev/null
+++ b/portlet-tck_3.0/V2ExceptionTests/src/main/java/javax/portlet/tck/ExceptionTests/portlets/V2ExceptionTests_WindowStateException.java
@@ -0,0 +1,93 @@
+/* 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.ExceptionTests.portlets;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+
+import java.util.Enumeration;
+import java.util.Locale;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.portlet.*;
+import javax.portlet.filter.*;
+import javax.portlet.tck.beans.ClassChecker;
+import javax.portlet.tck.beans.TestCaseDetails;
+import javax.portlet.tck.beans.JSR286ApiTestCaseDetails;
+import static javax.portlet.tck.beans.JSR286ApiTestCaseDetails.*;
+import javax.portlet.tck.beans.TestResult;
+
+/**
+ * This portlet implements several test cases for the JSR 362 TCK. The test case names
+ * are defined in the /src/main/resources/xml-resources/additionalTCs.xml
+ * file. The build process will integrate the test case names defined in the
+ * additionalTCs.xml file into the complete list of test case names for execution by the driver.
+ */
+public class V2ExceptionTests_WindowStateException implements Portlet {
+ private static final String LOG_CLASS =
+ V2ExceptionTests_WindowStateException.class.getName();
+ private final Logger LOGGER = Logger.getLogger(LOG_CLASS);
+
+ private PortletConfig portletConfig = null;
+
+ @Override
+ public void init(PortletConfig config) throws PortletException {
+ this.portletConfig = config;
+ }
+
+ @Override
+ public void destroy() {
+ }
+
+ @Override
+ public void processAction(ActionRequest actionRequest, ActionResponse actionResponse)
+ throws PortletException, IOException {
+ }
+
+ @Override
+ public void render(RenderRequest renderRequest, RenderResponse renderResponse)
+ throws PortletException, IOException {
+
+ if (LOGGER.isLoggable(Level.FINE)) {
+ LOGGER.logp(Level.FINE, LOG_CLASS, "render", "Entry");
+ }
+
+ PrintWriter writer = renderResponse.getWriter();
+ JSR286ApiTestCaseDetails tcd = new JSR286ApiTestCaseDetails();
+ ClassChecker cc = new ClassChecker(WindowStateException.class);
+
+ // Create result objects for the tests
+
+ /* TestCase: WindowStateException_getState */
+ /* Details: "Returns the WindowState object causing this exception" */
+ TestResult tr0 = tcd.getTestResultFailed(WINDOWSTATEEXCEPTION_GETSTATE);
+ /* TODO: implement test */
+
+
+
+ // Write the results to the output stream
+
+ tr0.writeTo(writer);
+
+
+ }
+
+}
+
http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/bd830576/portlet-tck_3.0/V2ExceptionTests/src/main/resources/xml-resources/additionalTCs.xml
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2ExceptionTests/src/main/resources/xml-resources/additionalTCs.xml b/portlet-tck_3.0/V2ExceptionTests/src/main/resources/xml-resources/additionalTCs.xml
new file mode 100644
index 0000000..5a8be76
--- /dev/null
+++ b/portlet-tck_3.0/V2ExceptionTests/src/main/resources/xml-resources/additionalTCs.xml
@@ -0,0 +1,80 @@
+<?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.
+-->
+<!--
+ Defines the test cases for this module.
+ For this module, the test case names are not automatically generated from.
+ the deployment descriptor, so edit this file to add new test cases.
+ This allows a portlet to define multiple test cases.
+-->
+<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
+<properties>
+<!-- JSR 286 API ExceptionTests test case names and page mappings -->
+<entry key="PortletException_SIG_extendsException">V2ExceptionTests_SIG_PortletException</entry>
+<entry key="PortletException_SIG_constructor">V2ExceptionTests_SIG_PortletException</entry>
+<entry key="PortletException_SIG_constructorA">V2ExceptionTests_SIG_PortletException</entry>
+<entry key="PortletException_SIG_constructorB">V2ExceptionTests_SIG_PortletException</entry>
+<entry key="PortletException_SIG_constructorC">V2ExceptionTests_SIG_PortletException</entry>
+<entry key="PortletModeException_hasGetMode2">V2ExceptionTests_PortletModeException</entry>
+<entry key="PortletModeException_SIG_extendsPortletException">V2ExceptionTests_SIG_PortletModeException</entry>
+<entry key="PortletModeException_SIG_constructor">V2ExceptionTests_SIG_PortletModeException</entry>
+<entry key="PortletModeException_SIG_constructorA">V2ExceptionTests_SIG_PortletModeException</entry>
+<entry key="PortletModeException_SIG_constructorB">V2ExceptionTests_SIG_PortletModeException</entry>
+<entry key="PortletModeException_SIG_hasGetMode">V2ExceptionTests_SIG_PortletModeException</entry>
+<entry key="PortletModeException_SIG_hasGetModeReturns">V2ExceptionTests_SIG_PortletModeException</entry>
+<entry key="PortletSecurityException_SIG_extendsPortletException">V2ExceptionTests_SIG_PortletSecurityException</entry>
+<entry key="PortletSecurityException_SIG_constructor">V2ExceptionTests_SIG_PortletSecurityException</entry>
+<entry key="PortletSecurityException_SIG_constructorA">V2ExceptionTests_SIG_PortletSecurityException</entry>
+<entry key="PortletSecurityException_SIG_constructorB">V2ExceptionTests_SIG_PortletSecurityException</entry>
+<entry key="ReadOnlyException_SIG_extendsPortletException">V2ExceptionTests_SIG_ReadOnlyException</entry>
+<entry key="ReadOnlyException_SIG_constructor">V2ExceptionTests_SIG_ReadOnlyException</entry>
+<entry key="ReadOnlyException_SIG_constructorA">V2ExceptionTests_SIG_ReadOnlyException</entry>
+<entry key="ReadOnlyException_SIG_constructorB">V2ExceptionTests_SIG_ReadOnlyException</entry>
+<entry key="UnavailableException_isPermanent1">V2ExceptionTests_UnavailableException</entry>
+<entry key="UnavailableException_isPermanent2">V2ExceptionTests_UnavailableException</entry>
+<entry key="UnavailableException_isPermanent3">V2ExceptionTests_UnavailableException</entry>
+<entry key="UnavailableException_getUnavailableSeconds1">V2ExceptionTests_UnavailableException</entry>
+<entry key="UnavailableException_getUnavailableSeconds2">V2ExceptionTests_UnavailableException</entry>
+<entry key="UnavailableException_SIG_extendsPortletException">V2ExceptionTests_SIG_UnavailableException</entry>
+<entry key="UnavailableException_SIG_constructor">V2ExceptionTests_SIG_UnavailableException</entry>
+<entry key="UnavailableException_SIG_constructorA">V2ExceptionTests_SIG_UnavailableException</entry>
+<entry key="UnavailableException_SIG_hasIsPermanent">V2ExceptionTests_SIG_UnavailableException</entry>
+<entry key="UnavailableException_SIG_hasIsPermanentReturns">V2ExceptionTests_SIG_UnavailableException</entry>
+<entry key="UnavailableException_SIG_hasGetUnavailableSeconds">V2ExceptionTests_SIG_UnavailableException</entry>
+<entry key="UnavailableException_SIG_hasGetUnavailableSecondsReturns">V2ExceptionTests_SIG_UnavailableException</entry>
+<entry key="ValidatorException_constructor2">V2ExceptionTests_ValidatorException</entry>
+<entry key="ValidatorException_constructor4">V2ExceptionTests_ValidatorException</entry>
+<entry key="ValidatorException_constructor6">V2ExceptionTests_ValidatorException</entry>
+<entry key="ValidatorException_getFailedKeys1">V2ExceptionTests_ValidatorException</entry>
+<entry key="ValidatorException_getFailedKeys2">V2ExceptionTests_ValidatorException</entry>
+<entry key="ValidatorException_SIG_extendsPortletException">V2ExceptionTests_SIG_ValidatorException</entry>
+<entry key="ValidatorException_SIG_constructor">V2ExceptionTests_SIG_ValidatorException</entry>
+<entry key="ValidatorException_SIG_constructorA">V2ExceptionTests_SIG_ValidatorException</entry>
+<entry key="ValidatorException_SIG_constructorB">V2ExceptionTests_SIG_ValidatorException</entry>
+<entry key="ValidatorException_SIG_hasGetFailedKeys">V2ExceptionTests_SIG_ValidatorException</entry>
+<entry key="ValidatorException_SIG_hasGetFailedKeysReturns">V2ExceptionTests_SIG_ValidatorException</entry>
+<entry key="WindowStateException_getState">V2ExceptionTests_WindowStateException</entry>
+<entry key="WindowStateException_SIG_extendsPortletException">V2ExceptionTests_SIG_WindowStateException</entry>
+<entry key="WindowStateException_SIG_constructor">V2ExceptionTests_SIG_WindowStateException</entry>
+<entry key="WindowStateException_SIG_constructorA">V2ExceptionTests_SIG_WindowStateException</entry>
+<entry key="WindowStateException_SIG_constructorB">V2ExceptionTests_SIG_WindowStateException</entry>
+<entry key="WindowStateException_SIG_hasGetState">V2ExceptionTests_SIG_WindowStateException</entry>
+<entry key="WindowStateException_SIG_hasGetStateReturns">V2ExceptionTests_SIG_WindowStateException</entry>
+
+</properties>
http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/bd830576/portlet-tck_3.0/V2ExceptionTests/src/main/webapp/WEB-INF/portlet.xml
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2ExceptionTests/src/main/webapp/WEB-INF/portlet.xml b/portlet-tck_3.0/V2ExceptionTests/src/main/webapp/WEB-INF/portlet.xml
new file mode 100644
index 0000000..23ca027
--- /dev/null
+++ b/portlet-tck_3.0/V2ExceptionTests/src/main/webapp/WEB-INF/portlet.xml
@@ -0,0 +1,269 @@
+<?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"
+ version="2.0" id="javax.portlet-tck-ExceptionTests">
+
+ <portlet>
+ <portlet-name>V2ExceptionTests_SIG_PortletException</portlet-name>
+ <portlet-class>javax.portlet.tck.ExceptionTests.portlets.V2ExceptionTests_SIG_PortletException</portlet-class>
+
+ <init-param>
+ <name>TestParameter</name>
+ <value>TestValue</value>
+ </init-param>
+
+ <expiration-cache>0</expiration-cache>
+
+ <supports>
+ <mime-type>text/html</mime-type>
+ </supports>
+
+ <supported-locale>en_US</supported-locale>
+
+ <portlet-info>
+ <title>V2ExceptionTests_SIG_PortletException</title>
+ </portlet-info>
+ </portlet>
+
+ <portlet>
+ <portlet-name>V2ExceptionTests_PortletModeException</portlet-name>
+ <portlet-class>javax.portlet.tck.ExceptionTests.portlets.V2ExceptionTests_PortletModeException</portlet-class>
+
+ <init-param>
+ <name>TestParameter</name>
+ <value>TestValue</value>
+ </init-param>
+
+ <expiration-cache>0</expiration-cache>
+
+ <supports>
+ <mime-type>text/html</mime-type>
+ </supports>
+
+ <supported-locale>en_US</supported-locale>
+
+ <portlet-info>
+ <title>V2ExceptionTests_PortletModeException</title>
+ </portlet-info>
+ </portlet>
+
+ <portlet>
+ <portlet-name>V2ExceptionTests_SIG_PortletModeException</portlet-name>
+ <portlet-class>javax.portlet.tck.ExceptionTests.portlets.V2ExceptionTests_SIG_PortletModeException</portlet-class>
+
+ <init-param>
+ <name>TestParameter</name>
+ <value>TestValue</value>
+ </init-param>
+
+ <expiration-cache>0</expiration-cache>
+
+ <supports>
+ <mime-type>text/html</mime-type>
+ </supports>
+
+ <supported-locale>en_US</supported-locale>
+
+ <portlet-info>
+ <title>V2ExceptionTests_SIG_PortletModeException</title>
+ </portlet-info>
+ </portlet>
+
+ <portlet>
+ <portlet-name>V2ExceptionTests_SIG_PortletSecurityException</portlet-name>
+ <portlet-class>javax.portlet.tck.ExceptionTests.portlets.V2ExceptionTests_SIG_PortletSecurityException</portlet-class>
+
+ <init-param>
+ <name>TestParameter</name>
+ <value>TestValue</value>
+ </init-param>
+
+ <expiration-cache>0</expiration-cache>
+
+ <supports>
+ <mime-type>text/html</mime-type>
+ </supports>
+
+ <supported-locale>en_US</supported-locale>
+
+ <portlet-info>
+ <title>V2ExceptionTests_SIG_PortletSecurityException</title>
+ </portlet-info>
+ </portlet>
+
+ <portlet>
+ <portlet-name>V2ExceptionTests_SIG_ReadOnlyException</portlet-name>
+ <portlet-class>javax.portlet.tck.ExceptionTests.portlets.V2ExceptionTests_SIG_ReadOnlyException</portlet-class>
+
+ <init-param>
+ <name>TestParameter</name>
+ <value>TestValue</value>
+ </init-param>
+
+ <expiration-cache>0</expiration-cache>
+
+ <supports>
+ <mime-type>text/html</mime-type>
+ </supports>
+
+ <supported-locale>en_US</supported-locale>
+
+ <portlet-info>
+ <title>V2ExceptionTests_SIG_ReadOnlyException</title>
+ </portlet-info>
+ </portlet>
+
+ <portlet>
+ <portlet-name>V2ExceptionTests_UnavailableException</portlet-name>
+ <portlet-class>javax.portlet.tck.ExceptionTests.portlets.V2ExceptionTests_UnavailableException</portlet-class>
+
+ <init-param>
+ <name>TestParameter</name>
+ <value>TestValue</value>
+ </init-param>
+
+ <expiration-cache>0</expiration-cache>
+
+ <supports>
+ <mime-type>text/html</mime-type>
+ </supports>
+
+ <supported-locale>en_US</supported-locale>
+
+ <portlet-info>
+ <title>V2ExceptionTests_UnavailableException</title>
+ </portlet-info>
+ </portlet>
+
+ <portlet>
+ <portlet-name>V2ExceptionTests_SIG_UnavailableException</portlet-name>
+ <portlet-class>javax.portlet.tck.ExceptionTests.portlets.V2ExceptionTests_SIG_UnavailableException</portlet-class>
+
+ <init-param>
+ <name>TestParameter</name>
+ <value>TestValue</value>
+ </init-param>
+
+ <expiration-cache>0</expiration-cache>
+
+ <supports>
+ <mime-type>text/html</mime-type>
+ </supports>
+
+ <supported-locale>en_US</supported-locale>
+
+ <portlet-info>
+ <title>V2ExceptionTests_SIG_UnavailableException</title>
+ </portlet-info>
+ </portlet>
+
+ <portlet>
+ <portlet-name>V2ExceptionTests_ValidatorException</portlet-name>
+ <portlet-class>javax.portlet.tck.ExceptionTests.portlets.V2ExceptionTests_ValidatorException</portlet-class>
+
+ <init-param>
+ <name>TestParameter</name>
+ <value>TestValue</value>
+ </init-param>
+
+ <expiration-cache>0</expiration-cache>
+
+ <supports>
+ <mime-type>text/html</mime-type>
+ </supports>
+
+ <supported-locale>en_US</supported-locale>
+
+ <portlet-info>
+ <title>V2ExceptionTests_ValidatorException</title>
+ </portlet-info>
+ </portlet>
+
+ <portlet>
+ <portlet-name>V2ExceptionTests_SIG_ValidatorException</portlet-name>
+ <portlet-class>javax.portlet.tck.ExceptionTests.portlets.V2ExceptionTests_SIG_ValidatorException</portlet-class>
+
+ <init-param>
+ <name>TestParameter</name>
+ <value>TestValue</value>
+ </init-param>
+
+ <expiration-cache>0</expiration-cache>
+
+ <supports>
+ <mime-type>text/html</mime-type>
+ </supports>
+
+ <supported-locale>en_US</supported-locale>
+
+ <portlet-info>
+ <title>V2ExceptionTests_SIG_ValidatorException</title>
+ </portlet-info>
+ </portlet>
+
+ <portlet>
+ <portlet-name>V2ExceptionTests_WindowStateException</portlet-name>
+ <portlet-class>javax.portlet.tck.ExceptionTests.portlets.V2ExceptionTests_WindowStateException</portlet-class>
+
+ <init-param>
+ <name>TestParameter</name>
+ <value>TestValue</value>
+ </init-param>
+
+ <expiration-cache>0</expiration-cache>
+
+ <supports>
+ <mime-type>text/html</mime-type>
+ </supports>
+
+ <supported-locale>en_US</supported-locale>
+
+ <portlet-info>
+ <title>V2ExceptionTests_WindowStateException</title>
+ </portlet-info>
+ </portlet>
+
+ <portlet>
+ <portlet-name>V2ExceptionTests_SIG_WindowStateException</portlet-name>
+ <portlet-class>javax.portlet.tck.ExceptionTests.portlets.V2ExceptionTests_SIG_WindowStateException</portlet-class>
+
+ <init-param>
+ <name>TestParameter</name>
+ <value>TestValue</value>
+ </init-param>
+
+ <expiration-cache>0</expiration-cache>
+
+ <supports>
+ <mime-type>text/html</mime-type>
+ </supports>
+
+ <supported-locale>en_US</supported-locale>
+
+ <portlet-info>
+ <title>V2ExceptionTests_SIG_WindowStateException</title>
+ </portlet-info>
+ </portlet>
+
+
+
+</portlet-app>
http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/bd830576/portlet-tck_3.0/V2ExceptionTests/src/main/webapp/WEB-INF/web.xml
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2ExceptionTests/src/main/webapp/WEB-INF/web.xml b/portlet-tck_3.0/V2ExceptionTests/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000..3e61db6
--- /dev/null
+++ b/portlet-tck_3.0/V2ExceptionTests/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-ExceptionTests</display-name>
+</web-app>
+
http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/bd830576/portlet-tck_3.0/V2FilterTests/pom.xml
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2FilterTests/pom.xml b/portlet-tck_3.0/V2FilterTests/pom.xml
new file mode 100644
index 0000000..a253bb3
--- /dev/null
+++ b/portlet-tck_3.0/V2FilterTests/pom.xml
@@ -0,0 +1,120 @@
+<!--
+ 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-V2FilterTests</artifactId>
+ <packaging>war</packaging>
+
+ <dependencies>
+ <dependency>
+ <groupId>javax.portlet</groupId>
+ <artifactId>portlet-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>javax.portlet</groupId>
+ <artifactId>tck-common</artifactId>
+ <version>${project.version}</version>
+ <scope>compile</scope>
+ </dependency>
+ </dependencies>
+
+ <properties>
+
+ <!-- This project contains additional test cases to run with the portlets -->
+ <additional.testcase.uri>file:///${basedir}/src/main/resources/xml-resources/additionalTCs.xml</additional.testcase.uri>
+
+ <!-- Set to true for modules that define all test cases in a file (TCs are not generated from the portlet.xml) -->
+ <additional.testcases.only>true</additional.testcases.only>
+
+ </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/bd830576/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/FilterTests/portlets/V2FilterTests_ActionFilter.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/FilterTests/portlets/V2FilterTests_ActionFilter.java b/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/FilterTests/portlets/V2FilterTests_ActionFilter.java
new file mode 100644
index 0000000..2bd04b8
--- /dev/null
+++ b/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/FilterTests/portlets/V2FilterTests_ActionFilter.java
@@ -0,0 +1,141 @@
+/* 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.FilterTests.portlets;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+
+import java.util.Enumeration;
+import java.util.Locale;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.portlet.*;
+import javax.portlet.filter.*;
+import javax.portlet.tck.beans.ClassChecker;
+import javax.portlet.tck.beans.TestCaseDetails;
+import javax.portlet.tck.beans.JSR286ApiTestCaseDetails;
+import static javax.portlet.tck.beans.JSR286ApiTestCaseDetails.*;
+import javax.portlet.tck.beans.TestResult;
+
+/**
+ * This portlet implements several test cases for the JSR 362 TCK. The test case names
+ * are defined in the /src/main/resources/xml-resources/additionalTCs.xml
+ * file. The build process will integrate the test case names defined in the
+ * additionalTCs.xml file into the complete list of test case names for execution by the driver.
+ */
+public class V2FilterTests_ActionFilter implements Portlet {
+ private static final String LOG_CLASS =
+ V2FilterTests_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 actionRequest, ActionResponse actionResponse)
+ throws PortletException, IOException {
+ }
+
+ @Override
+ public void render(RenderRequest renderRequest, RenderResponse renderResponse)
+ throws PortletException, IOException {
+
+ if (LOGGER.isLoggable(Level.FINE)) {
+ LOGGER.logp(Level.FINE, LOG_CLASS, "render", "Entry");
+ }
+
+ PrintWriter writer = renderResponse.getWriter();
+ JSR286ApiTestCaseDetails tcd = new JSR286ApiTestCaseDetails();
+ ClassChecker cc = new ClassChecker(ActionFilter.class);
+
+ // Create result objects for the tests
+
+ /* TestCase: ActionFilter_canBeConfigured1 */
+ /* Details: "An ActionFilter can be configured in the portlet descriptor" */
+ TestResult tr0 = tcd.getTestResultFailed(ACTIONFILTER_CANBECONFIGURED1);
+ /* TODO: implement test */
+
+ /* TestCase: ActionFilter_canBeConfigured2 */
+ /* Details: "Multiple ActionFilter classes can be configured in the portlet descriptor" */
+ TestResult tr1 = tcd.getTestResultFailed(ACTIONFILTER_CANBECONFIGURED2);
+ /* TODO: implement test */
+
+ /* TestCase: ActionFilter_doFilterIsCalled */
+ /* Details: "The doFilter(ActionRequest, ActionResponse, FilterChain) method is called before the processAction method for the portlet" */
+ TestResult tr2 = tcd.getTestResultFailed(ACTIONFILTER_DOFILTERISCALLED);
+ /* TODO: implement test */
+
+ /* TestCase: ActionFilter_doFilterProcessAction1 */
+ /* Details: "After the method has sucessfully completed and invokes the next filter, the processActionMethod is called" */
+ TestResult tr3 = tcd.getTestResultFailed(ACTIONFILTER_DOFILTERPROCESSACTION1);
+ /* TODO: implement test */
+
+ /* TestCase: ActionFilter_doFilterProcessAction2 */
+ /* Details: "After the 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(ACTIONFILTER_DOFILTERPROCESSACTION2);
+ /* TODO: implement test */
+
+ /* TestCase: ActionFilter_doFilterBlock */
+ /* Details: "If the method does not invoke the next filter, processAction is not called" */
+ TestResult tr5 = tcd.getTestResultFailed(ACTIONFILTER_DOFILTERBLOCK);
+ /* TODO: implement test */
+
+ /* TestCase: ActionFilter_doFilterException1 */
+ /* Details: "If the method throws an UnavailableException, processAction is not called" */
+ TestResult tr6 = tcd.getTestResultFailed(ACTIONFILTER_DOFILTEREXCEPTION1);
+ /* TODO: implement test */
+
+ /* TestCase: ActionFilter_doFilterException2 */
+ /* Details: "If the method throws an UnavailableException, no further filter is called" */
+ TestResult tr7 = tcd.getTestResultFailed(ACTIONFILTER_DOFILTEREXCEPTION2);
+ /* TODO: implement test */
+
+ /* TestCase: ActionFilter_doFilterExamine */
+ /* Details: "After the next filter has been successfully invoked, the ActionResponse may be examined" */
+ TestResult tr8 = tcd.getTestResultFailed(ACTIONFILTER_DOFILTEREXAMINE);
+ /* TODO: implement test */
+
+
+
+ // Write the results to the output stream
+
+ tr0.writeTo(writer);
+ tr1.writeTo(writer);
+ tr2.writeTo(writer);
+ tr3.writeTo(writer);
+ tr4.writeTo(writer);
+ tr5.writeTo(writer);
+ tr6.writeTo(writer);
+ tr7.writeTo(writer);
+ tr8.writeTo(writer);
+
+
+ }
+
+}
+
http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/bd830576/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/FilterTests/portlets/V2FilterTests_EventFilter.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/FilterTests/portlets/V2FilterTests_EventFilter.java b/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/FilterTests/portlets/V2FilterTests_EventFilter.java
new file mode 100644
index 0000000..fcdf39d
--- /dev/null
+++ b/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/FilterTests/portlets/V2FilterTests_EventFilter.java
@@ -0,0 +1,141 @@
+/* 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.FilterTests.portlets;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+
+import java.util.Enumeration;
+import java.util.Locale;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.portlet.*;
+import javax.portlet.filter.*;
+import javax.portlet.tck.beans.ClassChecker;
+import javax.portlet.tck.beans.TestCaseDetails;
+import javax.portlet.tck.beans.JSR286ApiTestCaseDetails;
+import static javax.portlet.tck.beans.JSR286ApiTestCaseDetails.*;
+import javax.portlet.tck.beans.TestResult;
+
+/**
+ * This portlet implements several test cases for the JSR 362 TCK. The test case names
+ * are defined in the /src/main/resources/xml-resources/additionalTCs.xml
+ * file. The build process will integrate the test case names defined in the
+ * additionalTCs.xml file into the complete list of test case names for execution by the driver.
+ */
+public class V2FilterTests_EventFilter implements Portlet {
+ private static final String LOG_CLASS =
+ V2FilterTests_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 actionRequest, ActionResponse actionResponse)
+ throws PortletException, IOException {
+ }
+
+ @Override
+ public void render(RenderRequest renderRequest, RenderResponse renderResponse)
+ throws PortletException, IOException {
+
+ if (LOGGER.isLoggable(Level.FINE)) {
+ LOGGER.logp(Level.FINE, LOG_CLASS, "render", "Entry");
+ }
+
+ PrintWriter writer = renderResponse.getWriter();
+ JSR286ApiTestCaseDetails tcd = new JSR286ApiTestCaseDetails();
+ ClassChecker cc = new ClassChecker(EventFilter.class);
+
+ // Create result objects for the tests
+
+ /* TestCase: EventFilter_canBeConfigured1 */
+ /* Details: "An EventFilter can be configured in the portlet descriptor" */
+ TestResult tr0 = tcd.getTestResultFailed(EVENTFILTER_CANBECONFIGURED1);
+ /* TODO: implement test */
+
+ /* TestCase: EventFilter_canBeConfigured2 */
+ /* Details: "Multiple EventFilter classes can be configured in the portlet descriptor" */
+ TestResult tr1 = tcd.getTestResultFailed(EVENTFILTER_CANBECONFIGURED2);
+ /* TODO: implement test */
+
+ /* TestCase: EventFilter_doFilterIsCalled */
+ /* Details: "The doFilter(EventRequest, EventResponse, FilterChain) method is called before the processEvent method for the portlet" */
+ TestResult tr2 = tcd.getTestResultFailed(EVENTFILTER_DOFILTERISCALLED);
+ /* TODO: implement test */
+
+ /* TestCase: EventFilter_doFilterProcessEvent1 */
+ /* Details: "After the method has sucessfully completed and invokes the next filter, the processEventMethod is called" */
+ TestResult tr3 = tcd.getTestResultFailed(EVENTFILTER_DOFILTERPROCESSEVENT1);
+ /* TODO: implement test */
+
+ /* TestCase: EventFilter_doFilterProcessEvent2 */
+ /* Details: "After the 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(EVENTFILTER_DOFILTERPROCESSEVENT2);
+ /* TODO: implement test */
+
+ /* TestCase: EventFilter_doFilterBlock */
+ /* Details: "If the method does not invoke the next filter, processEvent is not called" */
+ TestResult tr5 = tcd.getTestResultFailed(EVENTFILTER_DOFILTERBLOCK);
+ /* TODO: implement test */
+
+ /* TestCase: EventFilter_doFilterException1 */
+ /* Details: "If the method throws an UnavailableException, processEvent is not called" */
+ TestResult tr6 = tcd.getTestResultFailed(EVENTFILTER_DOFILTEREXCEPTION1);
+ /* TODO: implement test */
+
+ /* TestCase: EventFilter_doFilterException2 */
+ /* Details: "If the method throws an UnavailableException, no further filter is called" */
+ TestResult tr7 = tcd.getTestResultFailed(EVENTFILTER_DOFILTEREXCEPTION2);
+ /* TODO: implement test */
+
+ /* TestCase: EventFilter_doFilterExamine */
+ /* Details: "After the next filter has been successfully invoked, the EventResponse may be examined" */
+ TestResult tr8 = tcd.getTestResultFailed(EVENTFILTER_DOFILTEREXAMINE);
+ /* TODO: implement test */
+
+
+
+ // Write the results to the output stream
+
+ tr0.writeTo(writer);
+ tr1.writeTo(writer);
+ tr2.writeTo(writer);
+ tr3.writeTo(writer);
+ tr4.writeTo(writer);
+ tr5.writeTo(writer);
+ tr6.writeTo(writer);
+ tr7.writeTo(writer);
+ tr8.writeTo(writer);
+
+
+ }
+
+}
+
http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/bd830576/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/FilterTests/portlets/V2FilterTests_FilterChain.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/FilterTests/portlets/V2FilterTests_FilterChain.java b/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/FilterTests/portlets/V2FilterTests_FilterChain.java
new file mode 100644
index 0000000..21d781c
--- /dev/null
+++ b/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/FilterTests/portlets/V2FilterTests_FilterChain.java
@@ -0,0 +1,183 @@
+/* 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.FilterTests.portlets;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+
+import java.util.Enumeration;
+import java.util.Locale;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.portlet.*;
+import javax.portlet.filter.*;
+import javax.portlet.tck.beans.ClassChecker;
+import javax.portlet.tck.beans.TestCaseDetails;
+import javax.portlet.tck.beans.JSR286ApiTestCaseDetails;
+import static javax.portlet.tck.beans.JSR286ApiTestCaseDetails.*;
+import javax.portlet.tck.beans.TestResult;
+
+/**
+ * This portlet implements several test cases for the JSR 362 TCK. The test case names
+ * are defined in the /src/main/resources/xml-resources/additionalTCs.xml
+ * file. The build process will integrate the test case names defined in the
+ * additionalTCs.xml file into the complete list of test case names for execution by the driver.
+ */
+public class V2FilterTests_FilterChain implements Portlet {
+ private static final String LOG_CLASS =
+ V2FilterTests_FilterChain.class.getName();
+ private final Logger LOGGER = Logger.getLogger(LOG_CLASS);
+
+ private PortletConfig portletConfig = null;
+
+ @Override
+ public void init(PortletConfig config) throws PortletException {
+ this.portletConfig = config;
+ }
+
+ @Override
+ public void destroy() {
+ }
+
+ @Override
+ public void processAction(ActionRequest actionRequest, ActionResponse actionResponse)
+ throws PortletException, IOException {
+ }
+
+ @Override
+ public void render(RenderRequest renderRequest, RenderResponse renderResponse)
+ throws PortletException, IOException {
+
+ if (LOGGER.isLoggable(Level.FINE)) {
+ LOGGER.logp(Level.FINE, LOG_CLASS, "render", "Entry");
+ }
+
+ PrintWriter writer = renderResponse.getWriter();
+ JSR286ApiTestCaseDetails tcd = new JSR286ApiTestCaseDetails();
+ ClassChecker cc = new ClassChecker(FilterChain.class);
+
+ // Create result objects for the tests
+
+ /* TestCase: FilterChain_invokeActionFilter */
+ /* Details: "Invoking doFilter(ActionRequest, ActionResponse) causes next filter to be invoked" */
+ TestResult tr0 = tcd.getTestResultFailed(FILTERCHAIN_INVOKEACTIONFILTER);
+ /* TODO: implement test */
+
+ /* TestCase: FilterChain_invokeActionFilter2 */
+ /* Details: "Invoking doFilter(ActionRequest, ActionResponse) causes portlet action method to be invoked" */
+ TestResult tr1 = tcd.getTestResultFailed(FILTERCHAIN_INVOKEACTIONFILTER2);
+ /* TODO: implement test */
+
+ /* TestCase: FilterChain_invokeActionException */
+ /* Details: "Invoking doFilter(ActionRequest, ActionResponse) throws PortletException" */
+ TestResult tr2 = tcd.getTestResultFailed(FILTERCHAIN_INVOKEACTIONEXCEPTION);
+ /* TODO: implement test */
+
+ /* TestCase: FilterChain_invokeActionException2 */
+ /* Details: "Invoking doFilter(ActionRequest, ActionResponse) throws IOException" */
+ TestResult tr3 = tcd.getTestResultFailed(FILTERCHAIN_INVOKEACTIONEXCEPTION2);
+ /* TODO: implement test */
+
+ /* TestCase: FilterChain_invokeEventFilter */
+ /* Details: "Invoking doFilter(EventRequest, EventResponse) causes next filter to be invoked" */
+ TestResult tr4 = tcd.getTestResultFailed(FILTERCHAIN_INVOKEEVENTFILTER);
+ /* TODO: implement test */
+
+ /* TestCase: FilterChain_invokeEventFilter2 */
+ /* Details: "Invoking doFilter(EventRequest, EventResponse) causes portlet Event method to be invoked" */
+ TestResult tr5 = tcd.getTestResultFailed(FILTERCHAIN_INVOKEEVENTFILTER2);
+ /* TODO: implement test */
+
+ /* TestCase: FilterChain_invokeEventException */
+ /* Details: "Invoking doFilter(EventRequest, EventResponse) throws PortletException" */
+ TestResult tr6 = tcd.getTestResultFailed(FILTERCHAIN_INVOKEEVENTEXCEPTION);
+ /* TODO: implement test */
+
+ /* TestCase: FilterChain_invokeEventException2 */
+ /* Details: "Invoking doFilter(EventRequest, EventResponse) throws IOException" */
+ TestResult tr7 = tcd.getTestResultFailed(FILTERCHAIN_INVOKEEVENTEXCEPTION2);
+ /* TODO: implement test */
+
+ /* TestCase: FilterChain_invokeRenderFilter */
+ /* Details: "Invoking doFilter(RenderRequest, RenderResponse) causes next filter to be invoked" */
+ TestResult tr8 = tcd.getTestResultFailed(FILTERCHAIN_INVOKERENDERFILTER);
+ /* TODO: implement test */
+
+ /* TestCase: FilterChain_invokeRenderFilter2 */
+ /* Details: "Invoking doFilter(RenderRequest, RenderResponse) causes portlet Render method to be invoked" */
+ TestResult tr9 = tcd.getTestResultFailed(FILTERCHAIN_INVOKERENDERFILTER2);
+ /* TODO: implement test */
+
+ /* TestCase: FilterChain_invokeRenderException */
+ /* Details: "Invoking doFilter(RenderRequest, RenderResponse) throws PortletException" */
+ TestResult tr10 = tcd.getTestResultFailed(FILTERCHAIN_INVOKERENDEREXCEPTION);
+ /* TODO: implement test */
+
+ /* TestCase: FilterChain_invokeRenderException2 */
+ /* Details: "Invoking doFilter(RenderRequest, RenderResponse) throws IOException" */
+ TestResult tr11 = tcd.getTestResultFailed(FILTERCHAIN_INVOKERENDEREXCEPTION2);
+ /* TODO: implement test */
+
+ /* TestCase: FilterChain_invokeResourceFilter */
+ /* Details: "Invoking doFilter(ResourceRequest, ResourceResponse) causes next filter to be invoked" */
+ TestResult tr12 = tcd.getTestResultFailed(FILTERCHAIN_INVOKERESOURCEFILTER);
+ /* TODO: implement test */
+
+ /* TestCase: FilterChain_invokeResourceFilter2 */
+ /* Details: "Invoking doFilter(ResourceRequest, ResourceResponse) causes portlet Resource method to be invoked" */
+ TestResult tr13 = tcd.getTestResultFailed(FILTERCHAIN_INVOKERESOURCEFILTER2);
+ /* TODO: implement test */
+
+ /* TestCase: FilterChain_invokeResourceException */
+ /* Details: "Invoking doFilter(ResourceRequest, ResourceResponse) throws PortletException" */
+ TestResult tr14 = tcd.getTestResultFailed(FILTERCHAIN_INVOKERESOURCEEXCEPTION);
+ /* TODO: implement test */
+
+ /* TestCase: FilterChain_invokeResourceException2 */
+ /* Details: "Invoking doFilter(ResourceRequest, ResourceResponse) throws IOException" */
+ TestResult tr15 = tcd.getTestResultFailed(FILTERCHAIN_INVOKERESOURCEEXCEPTION2);
+ /* TODO: implement test */
+
+
+
+ // Write the results to the output stream
+
+ tr0.writeTo(writer);
+ tr1.writeTo(writer);
+ tr2.writeTo(writer);
+ tr3.writeTo(writer);
+ tr4.writeTo(writer);
+ tr5.writeTo(writer);
+ tr6.writeTo(writer);
+ tr7.writeTo(writer);
+ tr8.writeTo(writer);
+ tr9.writeTo(writer);
+ tr10.writeTo(writer);
+ tr11.writeTo(writer);
+ tr12.writeTo(writer);
+ tr13.writeTo(writer);
+ tr14.writeTo(writer);
+ tr15.writeTo(writer);
+
+
+ }
+
+}
+
http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/bd830576/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/FilterTests/portlets/V2FilterTests_FilterConfig.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/FilterTests/portlets/V2FilterTests_FilterConfig.java b/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/FilterTests/portlets/V2FilterTests_FilterConfig.java
new file mode 100644
index 0000000..676fcde
--- /dev/null
+++ b/portlet-tck_3.0/V2FilterTests/src/main/java/javax/portlet/tck/FilterTests/portlets/V2FilterTests_FilterConfig.java
@@ -0,0 +1,123 @@
+/* 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.FilterTests.portlets;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+
+import java.util.Enumeration;
+import java.util.Locale;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.portlet.*;
+import javax.portlet.filter.*;
+import javax.portlet.tck.beans.ClassChecker;
+import javax.portlet.tck.beans.TestCaseDetails;
+import javax.portlet.tck.beans.JSR286ApiTestCaseDetails;
+import static javax.portlet.tck.beans.JSR286ApiTestCaseDetails.*;
+import javax.portlet.tck.beans.TestResult;
+
+/**
+ * This portlet implements several test cases for the JSR 362 TCK. The test case names
+ * are defined in the /src/main/resources/xml-resources/additionalTCs.xml
+ * file. The build process will integrate the test case names defined in the
+ * additionalTCs.xml file into the complete list of test case names for execution by the driver.
+ */
+public class V2FilterTests_FilterConfig implements Portlet {
+ private static final String LOG_CLASS =
+ V2FilterTests_FilterConfig.class.getName();
+ private final Logger LOGGER = Logger.getLogger(LOG_CLASS);
+
+ private PortletConfig portletConfig = null;
+
+ @Override
+ public void init(PortletConfig config) throws PortletException {
+ this.portletConfig = config;
+ }
+
+ @Override
+ public void destroy() {
+ }
+
+ @Override
+ public void processAction(ActionRequest actionRequest, ActionResponse actionResponse)
+ throws PortletException, IOException {
+ }
+
+ @Override
+ public void render(RenderRequest renderRequest, RenderResponse renderResponse)
+ throws PortletException, IOException {
+
+ if (LOGGER.isLoggable(Level.FINE)) {
+ LOGGER.logp(Level.FINE, LOG_CLASS, "render", "Entry");
+ }
+
+ PrintWriter writer = renderResponse.getWriter();
+ JSR286ApiTestCaseDetails tcd = new JSR286ApiTestCaseDetails();
+ ClassChecker cc = new ClassChecker(FilterConfig.class);
+
+ // Create result objects for the tests
+
+ /* TestCase: FilterConfig_getFilterName */
+ /* Details: "getFilterName method returns filter name as defined in deployment descriptor" */
+ TestResult tr0 = tcd.getTestResultFailed(FILTERCONFIG_GETFILTERNAME);
+ /* TODO: implement test */
+
+ /* TestCase: FilterConfig_getPortletContext */
+ /* Details: "Returns reference to PortletContext object" */
+ TestResult tr1 = tcd.getTestResultFailed(FILTERCONFIG_GETPORTLETCONTEXT);
+ /* TODO: implement test */
+
+ /* TestCase: FilterConfig_getInitParameter1 */
+ /* Details: "Returns null if initialization parameter does not exist" */
+ TestResult tr2 = tcd.getTestResultFailed(FILTERCONFIG_GETINITPARAMETER1);
+ /* TODO: implement test */
+
+ /* TestCase: FilterConfig_getInitParameter2 */
+ /* Details: "Returns value of specified initialization parameter" */
+ TestResult tr3 = tcd.getTestResultFailed(FILTERCONFIG_GETINITPARAMETER2);
+ /* TODO: implement test */
+
+ /* TestCase: FilterConfig_getInitParameterNames1 */
+ /* Details: "Returns empty Enumeration if no parameters defined" */
+ TestResult tr4 = tcd.getTestResultFailed(FILTERCONFIG_GETINITPARAMETERNAMES1);
+ /* TODO: implement test */
+
+ /* TestCase: FilterConfig_getInitParameterNames2 */
+ /* Details: "Returns an Enumeration of initialization parameters defined in deployment descriptor" */
+ TestResult tr5 = tcd.getTestResultFailed(FILTERCONFIG_GETINITPARAMETERNAMES2);
+ /* TODO: implement test */
+
+
+
+ // Write the results to the output stream
+
+ tr0.writeTo(writer);
+ tr1.writeTo(writer);
+ tr2.writeTo(writer);
+ tr3.writeTo(writer);
+ tr4.writeTo(writer);
+ tr5.writeTo(writer);
+
+
+ }
+
+}
+