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 as...@apache.org on 2017/11/08 22:02:43 UTC
portals-pluto git commit: PLUTO-665 TCK: V3ResourceParametersTests
copy+paste error leaves tests unimplemented
Repository: portals-pluto
Updated Branches:
refs/heads/master 0efe7097e -> 202a28205
PLUTO-665 TCK: V3ResourceParametersTests copy+paste error leaves tests unimplemented
Project: http://git-wip-us.apache.org/repos/asf/portals-pluto/repo
Commit: http://git-wip-us.apache.org/repos/asf/portals-pluto/commit/202a2820
Tree: http://git-wip-us.apache.org/repos/asf/portals-pluto/tree/202a2820
Diff: http://git-wip-us.apache.org/repos/asf/portals-pluto/diff/202a2820
Branch: refs/heads/master
Commit: 202a28205cc7e8c93772745a549614009ce0085c
Parents: 0efe709
Author: Neil Griffin <ne...@gmail.com>
Authored: Wed Nov 8 17:02:05 2017 -0500
Committer: Neil Griffin <ne...@gmail.com>
Committed: Wed Nov 8 17:02:05 2017 -0500
----------------------------------------------------------------------
.../PortletParametersTests_SPEC11_1.java | 2 +
.../PortletParametersTests_SPEC11_3.java | 6 +-
.../PortletParametersTests_SPEC11_4.java | 91 +--
.../PortletParametersTests_SPEC11_4A.java | 579 +++++++++++++++++++
.../portlet/tck/util/ModuleTestCaseDetails.java | 25 +
.../resources/xml-resources/additionalPages.xml | 5 +-
.../resources/xml-resources/additionalTCs.xml | 12 +
7 files changed, 680 insertions(+), 40 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/202a2820/portlet-tck_3.0/V3PortletParametersTests/src/main/java/javax/portlet/tck/portlets/PortletParametersTests_SPEC11_1.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V3PortletParametersTests/src/main/java/javax/portlet/tck/portlets/PortletParametersTests_SPEC11_1.java b/portlet-tck_3.0/V3PortletParametersTests/src/main/java/javax/portlet/tck/portlets/PortletParametersTests_SPEC11_1.java
index 2e29e50..0fa5aaf 100644
--- a/portlet-tck_3.0/V3PortletParametersTests/src/main/java/javax/portlet/tck/portlets/PortletParametersTests_SPEC11_1.java
+++ b/portlet-tck_3.0/V3PortletParametersTests/src/main/java/javax/portlet/tck/portlets/PortletParametersTests_SPEC11_1.java
@@ -54,6 +54,8 @@ import static javax.portlet.tck.util.ModuleTestCaseDetails.V3PORTLETPARAMETERSTE
@PortletApplication(
publicParams = {
+ @PublicRenderParameterDefinition(identifier = "myPRP1", qname = @PortletQName(localPart = "myPRP1", namespaceURI = "")),
+ @PublicRenderParameterDefinition(identifier = "myPRP2", qname = @PortletQName(localPart = "myPRP2", namespaceURI = "")),
@PublicRenderParameterDefinition(identifier = "names_public1", qname = @PortletQName(localPart = "names_public1", namespaceURI = ""))
})
@PortletConfiguration(portletName = "PortletParametersTests_SPEC11_1", publicParams = {"names_public1"})
http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/202a2820/portlet-tck_3.0/V3PortletParametersTests/src/main/java/javax/portlet/tck/portlets/PortletParametersTests_SPEC11_3.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V3PortletParametersTests/src/main/java/javax/portlet/tck/portlets/PortletParametersTests_SPEC11_3.java b/portlet-tck_3.0/V3PortletParametersTests/src/main/java/javax/portlet/tck/portlets/PortletParametersTests_SPEC11_3.java
index b63cb46..8f4ffe9 100644
--- a/portlet-tck_3.0/V3PortletParametersTests/src/main/java/javax/portlet/tck/portlets/PortletParametersTests_SPEC11_3.java
+++ b/portlet-tck_3.0/V3PortletParametersTests/src/main/java/javax/portlet/tck/portlets/PortletParametersTests_SPEC11_3.java
@@ -218,7 +218,7 @@ public class PortletParametersTests_SPEC11_3 implements Portlet {
result.setTcSuccess(false);
}
else {
- result.appendTcDetail("Found correct count of Render parameters.");
+ result.appendTcDetail("Found correct count of Action parameters.");
}
PortletSession session = portletReq.getPortletSession();
session.setAttribute(SPEC_11_3_SIZE_STATUS, result.isTcSuccess());
@@ -282,8 +282,8 @@ public class PortletParametersTests_SPEC11_3 implements Portlet {
ModuleTestCaseDetails tcd = new ModuleTestCaseDetails();
{
- RenderParameters actionParams = portletReq.getRenderParameters();
- if (actionParams.isEmpty()) {
+ RenderParameters renderParams = portletReq.getRenderParameters();
+ if (renderParams.isEmpty()) {
ActionURL actionURL = portletResp.createActionURL();
MutableActionParameters mutableActionParameters = actionURL.getActionParameters();
// Setup Private Tests
http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/202a2820/portlet-tck_3.0/V3PortletParametersTests/src/main/java/javax/portlet/tck/portlets/PortletParametersTests_SPEC11_4.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V3PortletParametersTests/src/main/java/javax/portlet/tck/portlets/PortletParametersTests_SPEC11_4.java b/portlet-tck_3.0/V3PortletParametersTests/src/main/java/javax/portlet/tck/portlets/PortletParametersTests_SPEC11_4.java
index 5d2c314..77ba253 100644
--- a/portlet-tck_3.0/V3PortletParametersTests/src/main/java/javax/portlet/tck/portlets/PortletParametersTests_SPEC11_4.java
+++ b/portlet-tck_3.0/V3PortletParametersTests/src/main/java/javax/portlet/tck/portlets/PortletParametersTests_SPEC11_4.java
@@ -18,11 +18,9 @@
package javax.portlet.tck.portlets;
-import javax.portlet.ActionParameters;
import javax.portlet.ActionRequest;
import javax.portlet.ActionResponse;
-import javax.portlet.ActionURL;
-import javax.portlet.MutableActionParameters;
+import javax.portlet.MutableResourceParameters;
import javax.portlet.Portlet;
import javax.portlet.PortletConfig;
import javax.portlet.PortletException;
@@ -30,9 +28,13 @@ import javax.portlet.PortletSession;
import javax.portlet.RenderParameters;
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;
+import javax.portlet.ResourceParameters;
+import javax.portlet.ResourceRequest;
+import javax.portlet.ResourceResponse;
+import javax.portlet.ResourceServingPortlet;
+import javax.portlet.ResourceURL;
import javax.portlet.annotations.PortletConfiguration;
import javax.portlet.tck.beans.TestResult;
-import javax.portlet.tck.beans.TestSetupLink;
import javax.portlet.tck.util.ModuleTestCaseDetails;
import java.io.IOException;
import java.io.PrintWriter;
@@ -52,7 +54,7 @@ import static javax.portlet.tck.util.ModuleTestCaseDetails.V3PORTLETPARAMETERSTE
*/
@PortletConfiguration(portletName = "PortletParametersTests_SPEC11_4", publicParams = {"names_public1"})
-public class PortletParametersTests_SPEC11_4 implements Portlet {
+public class PortletParametersTests_SPEC11_4 implements Portlet, ResourceServingPortlet {
private PortletConfig portletConfig = null;
@@ -77,14 +79,18 @@ public class PortletParametersTests_SPEC11_4 implements Portlet {
}
@Override
- public void processAction(ActionRequest portletReq, ActionResponse portletResp) throws PortletException, IOException {
+ public void processAction(ActionRequest request, ActionResponse response) throws PortletException, IOException {
+ }
+
+ @Override
+ public void serveResource(ResourceRequest resourceRequest, ResourceResponse resourceResponse) throws PortletException, IOException {
ModuleTestCaseDetails tcd = new ModuleTestCaseDetails();
/* TestCase: V3PortletParametersTests_SPEC11_4_getNames */
/* Details: "Returns a set of strings representing the resource parameter names */
{
TestResult result = tcd.getTestResultFailed(V3PORTLETPARAMETERSTESTS_SPEC11_4_GETNAMES);
- ActionParameters resourceParameters = portletReq.getActionParameters();
+ ResourceParameters resourceParameters = resourceRequest.getResourceParameters();
if (!resourceParameters.isEmpty()) {
boolean valid = true;
if (!resourceParameters.getNames().contains("names_private1")) {
@@ -108,10 +114,10 @@ public class PortletParametersTests_SPEC11_4 implements Portlet {
valid = false;
}
if (valid) {
- result.appendTcDetail("successfully set and read ACTION parameter names");
+ result.appendTcDetail("successfully set and read RESOURCE parameter names");
result.setTcSuccess(true);
}
- PortletSession session = portletReq.getPortletSession();
+ PortletSession session = resourceRequest.getPortletSession();
session.setAttribute(SPEC_11_4_GETNAMES_STATUS, result.isTcSuccess());
session.setAttribute(SPEC_11_4_GETNAMES_MESSAGE, result.getTcDetail());
}
@@ -121,7 +127,7 @@ public class PortletParametersTests_SPEC11_4 implements Portlet {
/* Details: "Returns a resource parameter value as a string for a given name */
{
TestResult result = tcd.getTestResultFailed(V3PORTLETPARAMETERSTESTS_SPEC11_4_GETVALUE);
- ActionParameters resourceParameters = portletReq.getActionParameters();
+ ResourceParameters resourceParameters = resourceRequest.getResourceParameters();
if (!resourceParameters.isEmpty()) {
boolean valid = true;
String trPrivate = resourceParameters.getValue("names_private1");
@@ -158,7 +164,7 @@ public class PortletParametersTests_SPEC11_4 implements Portlet {
result.appendTcDetail("successfully getValue on resource parameters");
result.setTcSuccess(true);
}
- PortletSession session = portletReq.getPortletSession();
+ PortletSession session = resourceRequest.getPortletSession();
session.setAttribute(SPEC_11_4_GETVALUE_STATUS, result.isTcSuccess());
session.setAttribute(SPEC_11_4_GETVALUE_MESSAGE, result.getTcDetail());
}
@@ -168,7 +174,7 @@ public class PortletParametersTests_SPEC11_4 implements Portlet {
/* Details: "Returns all resource parameter values as a string array for a name */
{
TestResult result = tcd.getTestResultFailed(V3PORTLETPARAMETERSTESTS_SPEC11_4_GETVALUES);
- ActionParameters resourceParams = portletReq.getActionParameters();
+ ResourceParameters resourceParams = resourceRequest.getResourceParameters();
if (!resourceParams.isEmpty()) {
boolean valid = true;
String[] values = resourceParams.getValues("names_private1");
@@ -201,7 +207,7 @@ public class PortletParametersTests_SPEC11_4 implements Portlet {
result.appendTcDetail("successfully getValues on resource parameters");
result.setTcSuccess(true);
}
- PortletSession session = portletReq.getPortletSession();
+ PortletSession session = resourceRequest.getPortletSession();
session.setAttribute(SPEC_11_4_GETVALUES_STATUS, result.isTcSuccess());
session.setAttribute(SPEC_11_4_GETVALUES_MESSAGE, result.getTcDetail());
}
@@ -211,16 +217,16 @@ public class PortletParametersTests_SPEC11_4 implements Portlet {
/* Details: "Returns the number of resource parameters available" */
{
TestResult result = tcd.getTestResultSucceeded(V3PORTLETPARAMETERSTESTS_SPEC11_4_SIZE);
- ActionParameters resourceParams = portletReq.getActionParameters();
+ ResourceParameters resourceParams = resourceRequest.getResourceParameters();
int expectedCount = (resourceParams.isEmpty()) ? 0 : 7;
if (expectedCount != resourceParams.size()) {
- result.appendTcDetail("Failed to get correct Action Parameters count, expected: " + expectedCount + ", found: " + resourceParams.size());
+ result.appendTcDetail("Failed to get correct Resource Parameters count, expected: " + expectedCount + ", found: " + resourceParams.size());
result.setTcSuccess(false);
}
else {
result.appendTcDetail("Found correct count of Render parameters.");
}
- PortletSession session = portletReq.getPortletSession();
+ PortletSession session = resourceRequest.getPortletSession();
session.setAttribute(SPEC_11_4_SIZE_STATUS, result.isTcSuccess());
session.setAttribute(SPEC_11_4_SIZE_MESSAGE, result.getTcDetail());
}
@@ -229,8 +235,8 @@ public class PortletParametersTests_SPEC11_4 implements Portlet {
/* Details: "Clones the given resource parameters returning a mutable copy of */
/* the parameters" */
{
- ActionParameters resourceParams = portletReq.getActionParameters();
- MutableActionParameters mrp = resourceParams.clone();
+ ResourceParameters resourceParams = resourceRequest.getResourceParameters();
+ MutableResourceParameters mrp = resourceParams.clone();
TestResult result = tcd.getTestResultSucceeded(V3PORTLETPARAMETERSTESTS_SPEC11_4_CLONE);
// check that original and clone have same parameters
if (resourceParams.size() == mrp.size()) {
@@ -266,9 +272,9 @@ public class PortletParametersTests_SPEC11_4 implements Portlet {
}
}
if (result.isTcSuccess()) {
- result.setTcDetail("Clone on Action parameters successful");
+ result.setTcDetail("Clone on Resource parameters successful");
}
- PortletSession session = portletReq.getPortletSession();
+ PortletSession session = resourceRequest.getPortletSession();
session.setAttribute(SPEC_11_4_CLONE_STATUS, result.isTcSuccess());
session.setAttribute(SPEC_11_4_CLONE_MESSAGE, result.getTcDetail());
}
@@ -284,27 +290,40 @@ public class PortletParametersTests_SPEC11_4 implements Portlet {
{
RenderParameters resourceParams = portletReq.getRenderParameters();
if (resourceParams.isEmpty()) {
- ActionURL resourceURL = portletResp.createActionURL();
- MutableActionParameters mutableActionParameters = resourceURL.getActionParameters();
+ ResourceURL resourceURL = portletResp.createResourceURL();
+ MutableResourceParameters mutableResourceParameters = resourceURL.getResourceParameters();
// Setup Private Tests
- mutableActionParameters.setValue("names_private1", "one");
- mutableActionParameters.setValue("names_private2", "two");
- mutableActionParameters.setValues("names_multi", "a", "b", "c");
+ mutableResourceParameters.setValue("names_private1", "one");
+ mutableResourceParameters.setValue("names_private2", "two");
+ mutableResourceParameters.setValues("names_multi", "a", "b", "c");
// Setup Public Test
- mutableActionParameters.setValue("names_public1", "three");
- mutableActionParameters.setValue("names_nullok1", null);
- mutableActionParameters.setValues("names_nullsok2", null, "notnull", null);
+ mutableResourceParameters.setValue("names_public1", "three");
+ mutableResourceParameters.setValue("names_nullok1", null);
+ mutableResourceParameters.setValues("names_nullsok2", null, "notnull", null);
// Setup Encoding Test
- mutableActionParameters.setValue("names_encode1", "url&enco ded");
- TestSetupLink tb = new TestSetupLink(
- V3PORTLETPARAMETERSTESTS_SPEC11_4_GETNAMES,
- resourceURL);
- tb.writeTo(writer);
+ mutableResourceParameters.setValue("names_encode1", "url&enco ded");
+
+ writer.write(
+ "<div id=\"PortletParametersTests_SPEC11_4_Resource\">no resource output.</div>\n");
+ writer.write("<script>\n");
+ writer.write("(function () {\n");
+ writer.write(" var xhr = new XMLHttpRequest();\n");
+ writer.write(" xhr.onreadystatechange=function() {\n");
+ writer.write(" if (xhr.readyState==4 && xhr.status==200) {\n");
+ writer.write(
+ " document.getElementById(\"PortletParametersTests_SPEC11_4_Resource\").innerHTML=xhr.responseText;\n");
+ writer.write(" }\n");
+ writer.write(" };\n");
+ writer.write(
+ " xhr.open(\"GET\",\"" + resourceURL.toString() + "\",true);\n");
+ writer.write(" xhr.send();\n");
+ writer.write("})();\n");
+ writer.write("</script>\n");
// Setup NULL Tests
boolean exceptionCaught = false;
try {
- mutableActionParameters.setValue(null, "bad");
+ mutableResourceParameters.setValue(null, "bad");
} catch (RuntimeException e) {
exceptionCaught = true;
}
@@ -315,7 +334,7 @@ public class PortletParametersTests_SPEC11_4 implements Portlet {
}
}
- /* TestCase: V3ActionParametersTests_SPEC11_4_getNames */
+ /* TestCase: V3ResourceParametersTests_SPEC11_4_getNames */
/* Details: "Returns a set of strings representing the portlet parameter names */
{
TestResult result = tcd.getTestResultFailed(V3PORTLETPARAMETERSTESTS_SPEC11_4_GETNAMES);
@@ -396,7 +415,7 @@ public class PortletParametersTests_SPEC11_4 implements Portlet {
}
else {
result.setTcSuccess(true);
- result.setTcDetail("Action Clone test is setup and ready to run");
+ result.setTcDetail("Resource Clone test is setup and ready to run");
result.writeTo(writer);
}
}
http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/202a2820/portlet-tck_3.0/V3PortletParametersTests/src/main/java/javax/portlet/tck/portlets/PortletParametersTests_SPEC11_4A.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V3PortletParametersTests/src/main/java/javax/portlet/tck/portlets/PortletParametersTests_SPEC11_4A.java b/portlet-tck_3.0/V3PortletParametersTests/src/main/java/javax/portlet/tck/portlets/PortletParametersTests_SPEC11_4A.java
new file mode 100644
index 0000000..031dac0
--- /dev/null
+++ b/portlet-tck_3.0/V3PortletParametersTests/src/main/java/javax/portlet/tck/portlets/PortletParametersTests_SPEC11_4A.java
@@ -0,0 +1,579 @@
+/* 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 javax.portlet.ActionParameters;
+import javax.portlet.ActionRequest;
+import javax.portlet.ActionResponse;
+import javax.portlet.ActionURL;
+import javax.portlet.HeaderPortlet;
+import javax.portlet.HeaderRequest;
+import javax.portlet.HeaderResponse;
+import javax.portlet.MutableActionParameters;
+import javax.portlet.MutableRenderParameters;
+import javax.portlet.MutableResourceParameters;
+import javax.portlet.Portlet;
+import javax.portlet.PortletConfig;
+import javax.portlet.PortletException;
+import javax.portlet.PortletRequest;
+import javax.portlet.PortletSession;
+import javax.portlet.RenderParameters;
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
+import javax.portlet.ResourceParameters;
+import javax.portlet.ResourceRequest;
+import javax.portlet.ResourceResponse;
+import javax.portlet.ResourceServingPortlet;
+import javax.portlet.ResourceURL;
+import javax.portlet.annotations.PortletConfiguration;
+import javax.portlet.tck.beans.TestCaseDetails;
+import javax.portlet.tck.beans.TestResult;
+import javax.portlet.tck.beans.TestSetupButton;
+import javax.portlet.tck.beans.TestSetupLink;
+import javax.portlet.tck.util.ModuleTestCaseDetails;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.Set;
+
+import static javax.portlet.tck.util.ModuleTestCaseDetails.V3PORTLETPARAMETERSTESTS_SPEC11_4A_ACTION_PHASE_GETNAMES;
+import static javax.portlet.tck.util.ModuleTestCaseDetails.V3PORTLETPARAMETERSTESTS_SPEC11_4A_ACTION_PHASE_GETVALUES;
+import static javax.portlet.tck.util.ModuleTestCaseDetails.V3PORTLETPARAMETERSTESTS_SPEC11_4A_ACTION_PHASE_SIZE;
+import static javax.portlet.tck.util.ModuleTestCaseDetails.V3PORTLETPARAMETERSTESTS_SPEC11_4A_HEADER_PHASE_GETNAMES;
+import static javax.portlet.tck.util.ModuleTestCaseDetails.V3PORTLETPARAMETERSTESTS_SPEC11_4A_HEADER_PHASE_SIZE;
+import static javax.portlet.tck.util.ModuleTestCaseDetails.V3PORTLETPARAMETERSTESTS_SPEC11_4A_HEADER_PHASE_GETVALUES;
+import static javax.portlet.tck.util.ModuleTestCaseDetails.V3PORTLETPARAMETERSTESTS_SPEC11_4A_RENDER_PHASE_GETNAMES;
+import static javax.portlet.tck.util.ModuleTestCaseDetails.V3PORTLETPARAMETERSTESTS_SPEC11_4A_RENDER_PHASE_SIZE;
+import static javax.portlet.tck.util.ModuleTestCaseDetails.V3PORTLETPARAMETERSTESTS_SPEC11_4A_RENDER_PHASE_GETVALUES;
+import static javax.portlet.tck.util.ModuleTestCaseDetails.V3PORTLETPARAMETERSTESTS_SPEC11_4A_RESOURCE_PHASE_GETNAMES;
+import static javax.portlet.tck.util.ModuleTestCaseDetails.V3PORTLETPARAMETERSTESTS_SPEC11_4A_RESOURCE_PHASE_GETVALUES;
+import static javax.portlet.tck.util.ModuleTestCaseDetails.V3PORTLETPARAMETERSTESTS_SPEC11_4A_RESOURCE_PHASE_SIZE;
+
+/**
+ * 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.
+ */
+
+@PortletConfiguration(portletName = "PortletParametersTests_SPEC11_4A", publicParams = {"myPRP1", "myPRP2"})
+public class PortletParametersTests_SPEC11_4A implements Portlet,
+ HeaderPortlet, ResourceServingPortlet {
+
+ private PortletConfig portletConfig = null;
+
+ private final static String SPEC_11_4A_ACTION_PHASE_GETNAMES_STATUS = "SPEC_11_4A_ACTION_PHASE_GETNAMES_STATUS";
+ private final static String SPEC_11_4A_ACTION_PHASE_GETNAMES_MESSAGE = "SPEC_11_4A_ACTION_PHASE_GETNAMES_MESSAGE";
+ private final static String SPEC_11_4A_ACTION_PHASE_GETVALUES_STATUS = "SPEC_11_4A_ACTION_PHASE_GETVALUES_STATUS";
+ private final static String SPEC_11_4A_ACTION_PHASE_GETVALUES_MESSAGE = "SPEC_11_4A_ACTION_PHASE_GETVALUES_MESSAGE";
+ private final static String SPEC_11_4A_ACTION_PHASE_SIZE_STATUS = "SPEC_11_4A_ACTION_PHASE_SIZE_STATUS";
+ private final static String SPEC_11_4A_ACTION_PHASE_SIZE_MESSAGE = "SPEC_11_4A_ACTION_PHASE_SIZE_MESSAGE";
+ private final static String SPEC_11_4A_HEADER_PHASE_GETNAMES_STATUS = "SPEC_11_4A_HEADER_PHASE_GETNAMES_STATUS";
+ private final static String SPEC_11_4A_HEADER_PHASE_GETNAMES_MESSAGE = "SPEC_11_4A_HEADER_PHASE_GETNAMES_MESSAGE";
+ private final static String SPEC_11_4A_HEADER_PHASE_GETVALUES_STATUS = "SPEC_11_4A_HEADER_PHASE_GETVALUES_STATUS";
+ private final static String SPEC_11_4A_HEADER_PHASE_GETVALUES_MESSAGE = "SPEC_11_4A_HEADER_PHASE_GETVALUES_MESSAGE";
+ private final static String SPEC_11_4A_HEADER_PHASE_SIZE_STATUS = "SPEC_11_4A_HEADER_PHASE_SIZE_STATUS";
+ private final static String SPEC_11_4A_HEADER_PHASE_SIZE_MESSAGE = "SPEC_11_4A_HEADER_PHASE_SIZE_MESSAGE";
+
+ @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 {
+ ModuleTestCaseDetails tcd = new ModuleTestCaseDetails();
+
+ /* TestCase: V3PortletParametersTests_SPEC11_4A_actionPhaseGetNames */
+ /* Details: "Returns one set of strings containing the action parameter names and another containing the render parameter names */
+ {
+ TestResult result = tcd.getTestResultFailed(V3PORTLETPARAMETERSTESTS_SPEC11_4A_ACTION_PHASE_GETNAMES);
+ ActionParameters actionParameters = actionRequest.getActionParameters();
+ RenderParameters renderParameters = actionRequest.getRenderParameters();
+ if (!actionParameters.isEmpty()) {
+ boolean valid = true;
+ Set<String> actionParameterNames = actionParameters.getNames();
+ if (!actionParameterNames.contains("myActionParam1")) {
+ result.appendTcDetail("action parameter myActionParam1 not found");
+ valid = false;
+ }
+ if (!actionParameterNames.contains("myPRP1")) {
+ result.appendTcDetail("action parameter myPRP1 (same name as public render parameter) not found");
+ valid = false;
+ }
+ Set<String> renderParameterNames = renderParameters.getNames();
+ if (!renderParameterNames.contains("myRenderParam1") || renderParameters.isPublic("myRenderParam1")) {
+ result.appendTcDetail("private render parameter myRenderParam1 not found");
+ valid = false;
+ }
+ if (!renderParameterNames.contains("myPRP1") || !renderParameters.isPublic("myPRP1")) {
+ result.appendTcDetail("public render parameter myPRP1 not found");
+ valid = false;
+ }
+ if (!renderParameterNames.contains("myPRP2") || !renderParameters.isPublic("myPRP2")) {
+ result.appendTcDetail("public render parameter myPRP2 not found");
+ valid = false;
+ }
+ if (valid) {
+ result.appendTcDetail("successfully set and read ACTION and RENDER parameter names");
+ result.setTcSuccess(true);
+ }
+ PortletSession session = actionRequest.getPortletSession();
+ session.setAttribute(SPEC_11_4A_ACTION_PHASE_GETNAMES_STATUS, result.isTcSuccess());
+ session.setAttribute(SPEC_11_4A_ACTION_PHASE_GETNAMES_MESSAGE, result.getTcDetail());
+ }
+ }
+
+ /* TestCase: V3PortletParametersTests_SPEC11_4A_actionPhaseGetValues */
+ /* Details: "Returns one string array of action parameter values for a given name, and another with render parameter values for a different name */
+ {
+ TestResult result = tcd.getTestResultFailed(V3PORTLETPARAMETERSTESTS_SPEC11_4A_ACTION_PHASE_GETVALUES);
+ ActionParameters actionParameters = actionRequest.getActionParameters();
+ RenderParameters renderParameters = actionRequest.getRenderParameters();
+ if (!actionParameters.isEmpty() && !renderParameters.isEmpty()) {
+ boolean valid = true;
+ String[] trPrivate = actionParameters.getValues("myActionParam1");
+ if (trPrivate == null || (trPrivate.length != 3) || !trPrivate[0].equals("a") || !trPrivate[1].equals("b") || !trPrivate[2].equals("c")) {
+ result.appendTcDetail("failed to get action parameter values for myActionParam1");
+ valid = false;
+ }
+ trPrivate = actionRequest.getParameterValues("myPRP1");
+ if (trPrivate == null || (trPrivate.length != 4) || !trPrivate[0].equals("actionParamValue") || !trPrivate[1].equals("x") || !trPrivate[2].equals("y") || !trPrivate[3].equals("z")) {
+ result.appendTcDetail("failed to get combined PRP+ACTION parameter values for myPRP1");
+ valid = false;
+ }
+ String[] myRenderParam1 = renderParameters.getValues("myRenderParam1");
+ if (myRenderParam1 == null || (myRenderParam1.length != 1) || renderParameters.isPublic("myRenderParam1") || !myRenderParam1[0].equals("abc")) {
+ result.appendTcDetail("failed to get public render parameter value for myRenderParam1");
+ valid = false;
+ }
+ String[] myPRP1 = renderParameters.getValues("myPRP1");
+ if (myPRP1 == null || (myPRP1.length != 3) || !renderParameters.isPublic("myPRP1") || !myPRP1[0].equals("x") || !myPRP1[1].equals("y") || !myPRP1[2].equals("z")) {
+ result.appendTcDetail("failed to get public render parameter value for myPRP1");
+ valid = false;
+ }
+ String[] myPRP2 = renderParameters.getValues("myPRP2");
+ if (myPRP2 == null || (myPRP2.length != 1) || !renderParameters.isPublic("myPRP2") || !myPRP2[0].equals("xyz")) {
+ result.appendTcDetail("failed to get public render parameter value for myPRP2");
+ valid = false;
+ }
+ if (valid) {
+ result.appendTcDetail("successfully getValues on action and render parameters");
+ result.setTcSuccess(true);
+ }
+ PortletSession session = actionRequest.getPortletSession();
+ session.setAttribute(SPEC_11_4A_ACTION_PHASE_GETVALUES_STATUS, result.isTcSuccess());
+ session.setAttribute(SPEC_11_4A_ACTION_PHASE_GETVALUES_MESSAGE, result.getTcDetail());
+ }
+ }
+
+ /* TestCase: V3PortletParametersTests_SPEC11_4A_actionPhaseSize */
+ /* Details: "Returns the number of action and render parameters available" */
+ {
+ TestResult result = tcd.getTestResultSucceeded(V3PORTLETPARAMETERSTESTS_SPEC11_4A_ACTION_PHASE_SIZE);
+ ActionParameters actionParams = actionRequest.getActionParameters();
+ RenderParameters renderParams = actionRequest.getRenderParameters();
+ int expectedActionCount = 3; // myActionParam1, inputval, and myPRP1
+ int expectedRenderCount = 3; // myRenderParm1, myPRP1, and myPRP2
+ if (expectedActionCount != actionParams.size()) {
+ result.appendTcDetail("Failed to get correct Action Parameters count, expected: " + expectedActionCount + ", found: " + actionParams.size());
+ result.setTcSuccess(false);
+ }
+ else if (expectedRenderCount != renderParams.size()) {
+ result.appendTcDetail("Failed to get correct Render Parameters count, expected: " + expectedRenderCount + ", found: " + renderParams.size());
+ result.setTcSuccess(false);
+ }
+ else {
+ result.appendTcDetail("Found correct count of Action and Render parameters.");
+ }
+ PortletSession session = actionRequest.getPortletSession();
+ session.setAttribute(SPEC_11_4A_ACTION_PHASE_SIZE_STATUS, result.isTcSuccess());
+ session.setAttribute(SPEC_11_4A_ACTION_PHASE_SIZE_MESSAGE, result.getTcDetail());
+ }
+
+ MutableRenderParameters mutableRenderParameters = actionResponse.getRenderParameters();
+ mutableRenderParameters.setValue("myPRP2", "valueFromActionPhase");
+ }
+
+ @Override
+ public void renderHeaders(
+ HeaderRequest headerRequest, HeaderResponse headerResponse)
+ throws PortletException, IOException {
+ {
+ RenderParameters renderParameters =
+ headerRequest.getRenderParameters();
+ if (!renderParameters.isEmpty()) {
+ TestCaseDetails tcd = new ModuleTestCaseDetails();
+ executeHeaderRenderTests(tcd, headerRequest, PortletRequest.HEADER_PHASE, renderParameters, null);
+ }
+ }
+ }
+
+ @Override
+ public void render(RenderRequest renderRequest, RenderResponse renderResponse) throws PortletException, IOException {
+
+ PrintWriter writer = renderResponse.getWriter();
+
+ {
+ RenderParameters renderParameters = renderRequest.getRenderParameters();
+ if (renderParameters.isEmpty()) {
+ ActionURL actionURL = renderResponse.createActionURL();
+ MutableActionParameters mutableActionParameters = actionURL.getActionParameters();
+ // Setup Action Parameter Tests
+ mutableActionParameters.setValues("myActionParam1", "a", "b", "c");
+ mutableActionParameters.setValues("myPRP1", "actionParamValue");
+ // Setup Public Render Parameter Test
+ MutableRenderParameters mutableRenderParameters = actionURL.getRenderParameters();
+ mutableRenderParameters.setValues("myRenderParam1", "abc");
+ mutableRenderParameters.setValues("myPRP1", "x", "y", "z");
+ mutableRenderParameters.setValues("myPRP2", "xyz");
+ TestSetupButton tb = new TestSetupButton(
+ V3PORTLETPARAMETERSTESTS_SPEC11_4A_ACTION_PHASE_GETNAMES,
+ actionURL);
+ tb.writeTo(writer);
+ }
+ else {
+
+ // Setup ResourceURL, XHR, and DOM replacement for the RESOURCE_PHASE
+ writer.write(
+ "<div id=\"PortletParametersTests_SPEC11_4A_ResourcePhase\">no resource output.</div>\n");
+ ResourceURL resourceURL = renderResponse.createResourceURL();
+ MutableResourceParameters mutableResourceParameters =
+ resourceURL.getResourceParameters();
+ mutableResourceParameters.setValues("myResourceParam1", "1", "2", "3");
+ mutableResourceParameters.setValues("myPRP2", "valueFromResourcePhase");
+ writer.write("<script>\n");
+ writer.write("(function () {\n");
+ writer.write(" var xhr = new XMLHttpRequest();\n");
+ writer.write(" xhr.onreadystatechange=function() {\n");
+ writer.write(" if (xhr.readyState==4 && xhr.status==200) {\n");
+ writer.write(
+ " document.getElementById(\"PortletParametersTests_SPEC11_4A_ResourcePhase\").innerHTML=xhr.responseText;\n");
+ writer.write(" }\n");
+ writer.write(" };\n");
+ writer.write(
+ " xhr.open(\"GET\",\"" + resourceURL.toString() + "\",true);\n");
+ writer.write(" xhr.send();\n");
+ writer.write("})();\n");
+ writer.write("</script>\n");
+
+ TestCaseDetails tcd = new ModuleTestCaseDetails();
+
+ writer.write("<hr />");
+
+ /* TestCase: V3PortletParametersTests_SPEC11_4A_headerPhaseGetNames */
+ /* Details: "Returns a set of strings containing the render parameter names */
+ tcd.getTestResultFailed(
+ V3PORTLETPARAMETERSTESTS_SPEC11_4A_HEADER_PHASE_GETNAMES);
+ TestResult result;
+ result = tcd.getTestResultFailed(V3PORTLETPARAMETERSTESTS_SPEC11_4A_HEADER_PHASE_GETNAMES);
+ PortletSession session = renderRequest.getPortletSession();
+ Boolean success = (Boolean) session.getAttribute(SPEC_11_4A_HEADER_PHASE_GETNAMES_STATUS);
+ String message = (String) session.getAttribute(SPEC_11_4A_HEADER_PHASE_GETNAMES_MESSAGE);
+ result.setTcSuccess(success);
+ result.setTcDetail(message);
+ result.writeTo(writer);
+ session.removeAttribute(SPEC_11_4A_HEADER_PHASE_GETNAMES_STATUS);
+ session.removeAttribute(SPEC_11_4A_HEADER_PHASE_GETNAMES_MESSAGE);
+
+ /* TestCase: V3PortletParametersTests_SPEC11_4A_headerPhaseGetValues */
+ /* Details: "Returns a string array of render parameter values for a given name */
+ result = tcd.getTestResultFailed(V3PORTLETPARAMETERSTESTS_SPEC11_4A_HEADER_PHASE_GETVALUES);
+ session = renderRequest.getPortletSession();
+ success = (Boolean) session.getAttribute(SPEC_11_4A_HEADER_PHASE_GETVALUES_STATUS);
+ message = (String) session.getAttribute(SPEC_11_4A_HEADER_PHASE_GETVALUES_MESSAGE);
+ result.setTcSuccess(success);
+ result.setTcDetail(message);
+ result.writeTo(writer);
+ session.removeAttribute(SPEC_11_4A_HEADER_PHASE_GETVALUES_STATUS);
+ session.removeAttribute(SPEC_11_4A_HEADER_PHASE_GETVALUES_MESSAGE);
+
+ /* TestCase: V3PortletParametersTests_SPEC11_4A_headerPhaseSize */
+ /* Details: "Returns the number of action and render parameters available" */
+ result = tcd.getTestResultFailed(V3PORTLETPARAMETERSTESTS_SPEC11_4A_HEADER_PHASE_SIZE);
+ session = renderRequest.getPortletSession();
+ success = (Boolean) session.getAttribute(SPEC_11_4A_HEADER_PHASE_SIZE_STATUS);
+ message = (String) session.getAttribute(SPEC_11_4A_HEADER_PHASE_SIZE_MESSAGE);
+ result.setTcSuccess(success);
+ result.setTcDetail(message);
+ result.writeTo(writer);
+ session.removeAttribute(SPEC_11_4A_HEADER_PHASE_SIZE_STATUS);
+ session.removeAttribute(SPEC_11_4A_HEADER_PHASE_SIZE_MESSAGE);
+
+ executeHeaderRenderTests(tcd, renderRequest, PortletRequest.RENDER_PHASE, renderParameters, writer);
+
+ /* TestCase: V3PortletParametersTests_SPEC11_4A_actionPhaseGetNames */
+ /* Details: "Returns a set of strings representing the portlet parameter names */
+ tcd.getTestResultFailed(
+ V3PORTLETPARAMETERSTESTS_SPEC11_4A_ACTION_PHASE_GETNAMES);
+ writer.write("<hr />");
+ result = tcd.getTestResultFailed(V3PORTLETPARAMETERSTESTS_SPEC11_4A_ACTION_PHASE_GETNAMES);
+ session = renderRequest.getPortletSession();
+ success = (Boolean) session.getAttribute(SPEC_11_4A_ACTION_PHASE_GETNAMES_STATUS);
+ message = (String) session.getAttribute(SPEC_11_4A_ACTION_PHASE_GETNAMES_MESSAGE);
+ result.setTcSuccess(success);
+ result.setTcDetail(message);
+ result.writeTo(writer);
+ session.removeAttribute(SPEC_11_4A_ACTION_PHASE_GETNAMES_STATUS);
+ session.removeAttribute(SPEC_11_4A_ACTION_PHASE_GETNAMES_MESSAGE);
+
+ /* TestCase: V3PortletParametersTests_SPEC11_4A_actionPhaseGetValues */
+ /* Details: "Returns all action parameter values as a string array for a name */
+ result = tcd.getTestResultFailed(V3PORTLETPARAMETERSTESTS_SPEC11_4A_ACTION_PHASE_GETVALUES);
+ session = renderRequest.getPortletSession();
+ success = (Boolean) session.getAttribute(SPEC_11_4A_ACTION_PHASE_GETVALUES_STATUS);
+ message = (String) session.getAttribute(SPEC_11_4A_ACTION_PHASE_GETVALUES_MESSAGE);
+ result.setTcSuccess(success);
+ result.setTcDetail(message);
+ result.writeTo(writer);
+ session.removeAttribute(SPEC_11_4A_ACTION_PHASE_GETVALUES_STATUS);
+ session.removeAttribute(SPEC_11_4A_ACTION_PHASE_GETVALUES_MESSAGE);
+
+ /* TestCase: V3PortletParametersTests_SPEC11_4A_actionPhaseSize */
+ /* Details: "Returns the number of action and render parameters available" */
+ result = tcd.getTestResultFailed(V3PORTLETPARAMETERSTESTS_SPEC11_4A_ACTION_PHASE_SIZE);
+ session = renderRequest.getPortletSession();
+ success = (Boolean) session.getAttribute(SPEC_11_4A_ACTION_PHASE_SIZE_STATUS);
+ message = (String) session.getAttribute(SPEC_11_4A_ACTION_PHASE_SIZE_MESSAGE);
+ result.setTcSuccess(success);
+ result.setTcDetail(message);
+ result.writeTo(writer);
+ session.removeAttribute(SPEC_11_4A_ACTION_PHASE_SIZE_STATUS);
+ session.removeAttribute(SPEC_11_4A_ACTION_PHASE_SIZE_MESSAGE);
+ }
+ }
+ }
+
+ private void executeHeaderRenderTests(TestCaseDetails tcd, RenderRequest renderRequest, String lifecyclePhase,
+ RenderParameters renderParameters, PrintWriter writer)
+ throws IOException {
+
+ boolean headerPhase = PortletRequest.HEADER_PHASE.equals(lifecyclePhase);
+
+ if (writer != null) {
+ writer.write("<hr />");
+ }
+
+ Set<String> renderParameterNames = renderParameters.getNames();
+ TestResult result;
+ if (headerPhase) {
+ /* TestCase: V3PortletParametersTests_SPEC11_4A_headerPhaseGetNames */
+ /* Details: "Returns a set of strings containing the render parameter names */
+ result = tcd.getTestResultSucceeded(V3PORTLETPARAMETERSTESTS_SPEC11_4A_HEADER_PHASE_GETNAMES);
+ }
+ else {
+ /* TestCase: V3PortletParametersTests_SPEC11_4A_renderPhaseGetNames */
+ /* Details: "Returns a set of strings containing the render parameter names */
+ result = tcd.getTestResultSucceeded(V3PORTLETPARAMETERSTESTS_SPEC11_4A_RENDER_PHASE_GETNAMES);
+ }
+ if (!renderParameterNames.contains("myRenderParam1") || renderParameters.isPublic("myRenderParam1")) {
+ result.appendTcDetail("private render parameter myRenderParam1 not found");
+ result.setTcSuccess(false);
+ }
+ else if (!renderParameterNames.contains("myPRP1") || !renderParameters.isPublic("myPRP1")) {
+ result.appendTcDetail("public render parameter myPRP1 not found");
+ result.setTcSuccess(false);
+ }
+ else if (!renderParameterNames.contains("myPRP2") || !renderParameters.isPublic("myPRP2")) {
+ result.appendTcDetail("public render parameter myPRP2 not found");
+ result.setTcSuccess(false);
+ }
+ else {
+ result.appendTcDetail("successfully read RENDER parameter names");
+ }
+ if (headerPhase) {
+ PortletSession session = renderRequest.getPortletSession();
+ session.setAttribute(SPEC_11_4A_HEADER_PHASE_GETNAMES_STATUS, result.isTcSuccess());
+ session.setAttribute(SPEC_11_4A_HEADER_PHASE_GETNAMES_MESSAGE, result.getTcDetail());
+ }
+ else {
+ result.writeTo(writer);
+ }
+
+ if (headerPhase) {
+ /* TestCase: V3PortletParametersTests_SPEC11_4A_headerPhaseGetValues */
+ /* Details: "Returns a string array of render parameter values for a given name */
+ result = tcd.getTestResultSucceeded(V3PORTLETPARAMETERSTESTS_SPEC11_4A_HEADER_PHASE_GETVALUES);
+ }
+ else {
+ /* TestCase: V3PortletParametersTests_SPEC11_4A_renderPhaseGetValues */
+ /* Details: "Returns a string array of render parameter values for a given name */
+ result = tcd.getTestResultSucceeded(V3PORTLETPARAMETERSTESTS_SPEC11_4A_RENDER_PHASE_GETVALUES);
+ }
+ String[] myRenderParam1 = renderParameters.getValues("myRenderParam1");
+ String[] myPRP1 = renderParameters.getValues("myPRP1");
+ String[] myPRP2 = renderParameters.getValues("myPRP2");
+ if ((myRenderParam1 == null) || (myRenderParam1.length != 1) || renderParameters.isPublic("myRenderParam1") || !myRenderParam1[0].equals("abc")) {
+ result.appendTcDetail("failed to get public render parameter value for myRenderParam1");
+ result.setTcSuccess(false);
+ }
+ else if (myPRP1 == null || (myPRP1.length != 3) || !renderParameters.isPublic("myPRP1") || !myPRP1[0].equals("x") || !myPRP1[1].equals("y") || !myPRP1[2].equals("z")) {
+ result.appendTcDetail("failed to get public render parameter value for myPRP1");
+ result.setTcSuccess(false);
+ }
+ else if ((myPRP2 == null) || (myPRP2.length != 1) || !renderParameters.isPublic("myPRP2") || !myPRP2[0].equals("valueFromActionPhase")) {
+ result.appendTcDetail("failed to get public render parameter value for myPRP2");
+ result.setTcSuccess(false);
+ }
+ else {
+ result.appendTcDetail("successfully getValues on render parameters");
+ }
+ if (headerPhase) {
+ PortletSession session = renderRequest.getPortletSession();
+ session.setAttribute(SPEC_11_4A_HEADER_PHASE_GETVALUES_STATUS, result.isTcSuccess());
+ session.setAttribute(SPEC_11_4A_HEADER_PHASE_GETVALUES_MESSAGE, result.getTcDetail());
+ }
+ else {
+ result.writeTo(writer);
+ }
+
+ if (headerPhase) {
+ /* TestCase: V3PortletParametersTests_SPEC11_4A_headerPhaseSize */
+ /* Details: "Returns the number of action and render parameters available" */
+ result = tcd.getTestResultSucceeded(V3PORTLETPARAMETERSTESTS_SPEC11_4A_HEADER_PHASE_SIZE);
+ }
+ else {
+ /* TestCase: V3PortletParametersTests_SPEC11_4A_renderPhaseSize */
+ /* Details: "Returns the number of action and render parameters available" */
+ result = tcd.getTestResultSucceeded(V3PORTLETPARAMETERSTESTS_SPEC11_4A_RENDER_PHASE_SIZE);
+ }
+ int expectedCount = 3; // myRenderParam1, myPRP1, and myPRP2
+ if (expectedCount != renderParameters.size()) {
+ result.appendTcDetail("Failed to get correct Render Parameters count, expected: " + expectedCount + ", found: " + renderParameters.size());
+ result.setTcSuccess(false);
+ }
+ else {
+ result.appendTcDetail("Found correct count of Render parameters.");
+ }
+ if (headerPhase) {
+ PortletSession session = renderRequest.getPortletSession();
+ session.setAttribute(SPEC_11_4A_HEADER_PHASE_SIZE_STATUS, result.isTcSuccess());
+ session.setAttribute(SPEC_11_4A_HEADER_PHASE_SIZE_MESSAGE, result.getTcDetail());
+ }
+ else {
+ result.writeTo(writer);
+ }
+ }
+
+ @Override
+ public void serveResource(
+ ResourceRequest resourceRequest, ResourceResponse resourceResponse)
+ throws PortletException, IOException {
+
+ PrintWriter writer = resourceResponse.getWriter();
+ ModuleTestCaseDetails tcd = new ModuleTestCaseDetails();
+
+ /* TestCase: V3PortletParametersTests_SPEC11_4A_resourcePhaseGetNames */
+ /* Details: "Returns one set of strings containing the resource parameter names and another containing the render parameter names */
+ {
+ TestResult result = tcd.getTestResultFailed(V3PORTLETPARAMETERSTESTS_SPEC11_4A_RESOURCE_PHASE_GETNAMES);
+ ResourceParameters resourceParameters = resourceRequest.getResourceParameters();
+ RenderParameters renderParameters = resourceRequest.getRenderParameters();
+ if (!resourceParameters.isEmpty()) {
+ boolean valid = true;
+ Set<String> resourceParameterNames = resourceParameters.getNames();
+ if (!resourceParameterNames.contains("myResourceParam1")) {
+ result.appendTcDetail("resource parameter myResourceParam1 not found");
+ valid = false;
+ }
+ Set<String> renderParameterNames = renderParameters.getNames();
+ if (!renderParameterNames.contains("myPRP1") || !renderParameters.isPublic("myPRP1")) {
+ result.appendTcDetail("public render parameter myPRP1 not found");
+ valid = false;
+ }
+ if (valid) {
+ result.appendTcDetail("successfully set and read RESOURCE and RENDER parameter names");
+ result.setTcSuccess(true);
+ }
+ }
+ result.writeTo(writer);
+ }
+
+ /* TestCase: V3PortletParametersTests_SPEC11_4A_resourcePhaseGetValues */
+ /* Details: "Returns one string array of resource parameter values for a given name, and another with render parameter values for a different name */
+ {
+ TestResult result = tcd.getTestResultFailed(V3PORTLETPARAMETERSTESTS_SPEC11_4A_RESOURCE_PHASE_GETVALUES);
+ ResourceParameters resourceParameters = resourceRequest.getResourceParameters();
+ RenderParameters renderParameters = resourceRequest.getRenderParameters();
+ if (!resourceParameters.isEmpty() && !renderParameters.isEmpty()) {
+ boolean valid = true;
+ String[] trPrivate = resourceParameters.getValues("myResourceParam1");
+ if (trPrivate == null || (trPrivate.length != 3) || !trPrivate[0].equals("1") || !trPrivate[1].equals("2") || !trPrivate[2].equals("3")) {
+ result.appendTcDetail("failed to get resource parameter values for myResourceParam1");
+ valid = false;
+ }
+ String[] myPRP2 = resourceParameters.getValues("myPRP2");
+ if (myPRP2 == null || (myPRP2.length != 1) || !myPRP2[0].equals("valueFromResourcePhase")) {
+ result.appendTcDetail("failed to get RESOURCE parameter value for myPRP2");
+ valid = false;
+ }
+ myPRP2 = resourceRequest.getParameterValues("myPRP2");
+ if (myPRP2 == null || (myPRP2.length != 2) || !myPRP2[0].equals("valueFromResourcePhase") || !myPRP2[1].equals("valueFromActionPhase")) {
+ result.appendTcDetail("failed to get combined PRP+RESOURCE parameter values for myPRP2");
+ valid = false;
+ }
+ String[] myRenderParam1 = renderParameters.getValues("myRenderParam1");
+ if (myRenderParam1 == null || (myRenderParam1.length != 1) || renderParameters.isPublic("myRenderParam1") || !myRenderParam1[0].equals("abc")) {
+ result.appendTcDetail("failed to get public render parameter value for myRenderParam1");
+ valid = false;
+ }
+ String[] myPRP1 = renderParameters.getValues("myPRP1");
+ if (myPRP1 == null || (myPRP1.length != 3) || !renderParameters.isPublic("myPRP1") || !myPRP1[0].equals("x") || !myPRP1[1].equals("y") || !myPRP1[2].equals("z")) {
+ result.appendTcDetail("failed to get public render parameter value for myPRP1");
+ valid = false;
+ }
+ myPRP2 = renderParameters.getValues("myPRP2");
+ if (myPRP2 == null || (myPRP2.length != 1) || !renderParameters.isPublic("myPRP2") || !myPRP2[0].equals("valueFromActionPhase")) {
+ result.appendTcDetail("failed to get public render parameter value for myPRP2");
+ valid = false;
+ }
+ if (valid) {
+ result.appendTcDetail("successfully getValues on resource and render parameters");
+ result.setTcSuccess(true);
+ }
+ }
+ result.writeTo(writer);
+ }
+
+ /* TestCase: V3PortletParametersTests_SPEC11_4A_resourcePhaseSize */
+ /* Details: "Returns the number of resource and render parameters available" */
+ {
+ TestResult result = tcd.getTestResultSucceeded(V3PORTLETPARAMETERSTESTS_SPEC11_4A_RESOURCE_PHASE_SIZE);
+ ResourceParameters resourceParams = resourceRequest.getResourceParameters();
+ RenderParameters renderParams = resourceRequest.getRenderParameters();
+ int expectedResourceCount = 2; // myResourceParam1, and myPRP2=valueFromResourcePhase
+ int expectedRenderCount = 3; // myRenderParam1, myPRP1, and myPRP2=valueFromActionPhase
+ if (expectedResourceCount != resourceParams.size()) {
+ result.appendTcDetail("Failed to get correct Resource Parameters count, expected: " + expectedResourceCount + ", found: " + resourceParams.size());
+ result.setTcSuccess(false);
+ }
+ else if (expectedRenderCount != renderParams.size()) {
+ result.appendTcDetail("Failed to get correct Render Parameters count, expected: " + expectedRenderCount + ", found: " + renderParams.size());
+ result.setTcSuccess(false);
+ }
+ else {
+ result.appendTcDetail("Found correct count of Resource and Render parameters.");
+ }
+ result.writeTo(writer);
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/202a2820/portlet-tck_3.0/V3PortletParametersTests/src/main/java/javax/portlet/tck/util/ModuleTestCaseDetails.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V3PortletParametersTests/src/main/java/javax/portlet/tck/util/ModuleTestCaseDetails.java b/portlet-tck_3.0/V3PortletParametersTests/src/main/java/javax/portlet/tck/util/ModuleTestCaseDetails.java
index 32e220b..5a2b9b5 100644
--- a/portlet-tck_3.0/V3PortletParametersTests/src/main/java/javax/portlet/tck/util/ModuleTestCaseDetails.java
+++ b/portlet-tck_3.0/V3PortletParametersTests/src/main/java/javax/portlet/tck/util/ModuleTestCaseDetails.java
@@ -52,6 +52,19 @@ public class ModuleTestCaseDetails extends TestCaseDetails {
public final static String V3PORTLETPARAMETERSTESTS_SPEC11_4_SIZE = "V3PortletParametersTests_SPEC11_4_size";
public final static String V3PORTLETPARAMETERSTESTS_SPEC11_4_CLONE = "V3PortletParametersTests_SPEC11_4_clone";
+ public final static String V3PORTLETPARAMETERSTESTS_SPEC11_4A_ACTION_PHASE_GETNAMES = "V3PortletParametersTests_SPEC11_4A_actionPhaseGetNames";
+ public final static String V3PORTLETPARAMETERSTESTS_SPEC11_4A_ACTION_PHASE_GETVALUES = "V3PortletParametersTests_SPEC11_4A_actionPhaseGetValues";
+ public final static String V3PORTLETPARAMETERSTESTS_SPEC11_4A_ACTION_PHASE_SIZE = "V3PortletParametersTests_SPEC11_4A_actionPhaseSize";
+ public final static String V3PORTLETPARAMETERSTESTS_SPEC11_4A_HEADER_PHASE_GETNAMES = "V3PortletParametersTests_SPEC11_4A_headerPhaseGetNames";
+ public final static String V3PORTLETPARAMETERSTESTS_SPEC11_4A_HEADER_PHASE_GETVALUES = "V3PortletParametersTests_SPEC11_4A_headerPhaseGetValues";
+ public final static String V3PORTLETPARAMETERSTESTS_SPEC11_4A_HEADER_PHASE_SIZE = "V3PortletParametersTests_SPEC11_4A_headerPhaseSize";
+ public final static String V3PORTLETPARAMETERSTESTS_SPEC11_4A_RENDER_PHASE_GETNAMES = "V3PortletParametersTests_SPEC11_4A_renderPhaseGetNames";
+ public final static String V3PORTLETPARAMETERSTESTS_SPEC11_4A_RENDER_PHASE_GETVALUES = "V3PortletParametersTests_SPEC11_4A_renderPhaseGetValues";
+ public final static String V3PORTLETPARAMETERSTESTS_SPEC11_4A_RENDER_PHASE_SIZE = "V3PortletParametersTests_SPEC11_4A_renderPhaseSize";
+ public final static String V3PORTLETPARAMETERSTESTS_SPEC11_4A_RESOURCE_PHASE_GETNAMES = "V3PortletParametersTests_SPEC11_4A_resourcePhaseGetNames";
+ public final static String V3PORTLETPARAMETERSTESTS_SPEC11_4A_RESOURCE_PHASE_GETVALUES = "V3PortletParametersTests_SPEC11_4A_resourcePhaseGetValues";
+ public final static String V3PORTLETPARAMETERSTESTS_SPEC11_4A_RESOURCE_PHASE_SIZE = "V3PortletParametersTests_SPEC11_4A_resourcePhaseSize";
+
private final static Map<String, String> tcd = new HashMap<String, String>();
static {
@@ -74,6 +87,18 @@ public class ModuleTestCaseDetails extends TestCaseDetails {
tcd.put(V3PORTLETPARAMETERSTESTS_SPEC11_4_SIZE, "Returns the number of resource parameters available");
tcd.put(V3PORTLETPARAMETERSTESTS_SPEC11_4_CLONE, "Clones the given resource parameters returning a mutable copy of the parameters");
+ tcd.put(V3PORTLETPARAMETERSTESTS_SPEC11_4A_ACTION_PHASE_GETNAMES, "Returns one set of strings containing the action parameter names and another containing the render parameter names");
+ tcd.put(V3PORTLETPARAMETERSTESTS_SPEC11_4A_ACTION_PHASE_GETVALUES, "Returns one string array of action parameter values for a given name, and another with render parameter values for a different name");
+ tcd.put(V3PORTLETPARAMETERSTESTS_SPEC11_4A_ACTION_PHASE_SIZE, "Returns the number of action and render parameters available");
+ tcd.put(V3PORTLETPARAMETERSTESTS_SPEC11_4A_HEADER_PHASE_GETNAMES, "Returns a set of strings containing the render parameter names");
+ tcd.put(V3PORTLETPARAMETERSTESTS_SPEC11_4A_HEADER_PHASE_GETVALUES, "Returns a string array of render parameter values for a given name");
+ tcd.put(V3PORTLETPARAMETERSTESTS_SPEC11_4A_HEADER_PHASE_SIZE, "Returns the number of action and render parameters available");
+ tcd.put(V3PORTLETPARAMETERSTESTS_SPEC11_4A_RENDER_PHASE_GETNAMES, "Returns a set of strings containing the render parameter names");
+ tcd.put(V3PORTLETPARAMETERSTESTS_SPEC11_4A_RENDER_PHASE_GETVALUES, "Returns a string array of render parameter values for a given name");
+ tcd.put(V3PORTLETPARAMETERSTESTS_SPEC11_4A_RENDER_PHASE_SIZE, "Returns the number of action and render parameters available");
+ tcd.put(V3PORTLETPARAMETERSTESTS_SPEC11_4A_RESOURCE_PHASE_GETNAMES, "Returns one set of strings containing the resource parameter names and another containing the render parameter names");
+ tcd.put(V3PORTLETPARAMETERSTESTS_SPEC11_4A_RESOURCE_PHASE_GETVALUES, "Returns one string array of resource parameter values for a given name, and another with render parameter values for a different name");
+ tcd.put(V3PORTLETPARAMETERSTESTS_SPEC11_4A_RESOURCE_PHASE_SIZE, "Returns the number of resource and render parameters available");
}
/**
http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/202a2820/portlet-tck_3.0/V3PortletParametersTests/src/main/resources/xml-resources/additionalPages.xml
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V3PortletParametersTests/src/main/resources/xml-resources/additionalPages.xml b/portlet-tck_3.0/V3PortletParametersTests/src/main/resources/xml-resources/additionalPages.xml
index 3ce09f5..37b400f 100644
--- a/portlet-tck_3.0/V3PortletParametersTests/src/main/resources/xml-resources/additionalPages.xml
+++ b/portlet-tck_3.0/V3PortletParametersTests/src/main/resources/xml-resources/additionalPages.xml
@@ -32,7 +32,7 @@
</supports>
<render-config default="About Apache Pluto">
<page xmlns="" name="V3PortletParametersTests" uri="/WEB-INF/themes/pluto-default-theme.jsp">
-<portlet context="/${project.artifactId}-${project.version}" name="PortletParametersTests_SPEC11_1"/>
+ <portlet context="/${project.artifactId}-${project.version}" name="PortletParametersTests_SPEC11_1"/>
</page>
<page xmlns="" name="V3ActionParametersTests" uri="/WEB-INF/themes/pluto-default-theme.jsp">
<portlet context="/${project.artifactId}-${project.version}" name="PortletParametersTests_SPEC11_3"/>
@@ -40,5 +40,8 @@
<page xmlns="" name="V3ResourceParametersTests" uri="/WEB-INF/themes/pluto-default-theme.jsp">
<portlet context="/${project.artifactId}-${project.version}" name="PortletParametersTests_SPEC11_4"/>
</page>
+<page xmlns="" name="V3ResourceParametersAddlTests" uri="/WEB-INF/themes/pluto-default-theme.jsp">
+ <portlet context="/${project.artifactId}-${project.version}" name="PortletParametersTests_SPEC11_4A"/>
+</page>
</render-config>
</pluto-portal-driver>
http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/202a2820/portlet-tck_3.0/V3PortletParametersTests/src/main/resources/xml-resources/additionalTCs.xml
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V3PortletParametersTests/src/main/resources/xml-resources/additionalTCs.xml b/portlet-tck_3.0/V3PortletParametersTests/src/main/resources/xml-resources/additionalTCs.xml
index 7280b6c..8005f77 100644
--- a/portlet-tck_3.0/V3PortletParametersTests/src/main/resources/xml-resources/additionalTCs.xml
+++ b/portlet-tck_3.0/V3PortletParametersTests/src/main/resources/xml-resources/additionalTCs.xml
@@ -35,4 +35,16 @@
<entry key="V3PortletParametersTests_SPEC11_4_getValues">V3ResourceParametersTests</entry>
<entry key="V3PortletParametersTests_SPEC11_4_size">V3ResourceParametersTests</entry>
<entry key="V3PortletParametersTests_SPEC11_4_clone">V3ResourceParametersTests</entry>
+<entry key="V3PortletParametersTests_SPEC11_4A_actionPhaseGetNames">V3ResourceParametersAddlTests</entry>
+<entry key="V3PortletParametersTests_SPEC11_4A_actionPhaseGetValues">V3ResourceParametersAddlTests</entry>
+<entry key="V3PortletParametersTests_SPEC11_4A_actionPhaseSize">V3ResourceParametersAddlTests</entry>
+<entry key="V3PortletParametersTests_SPEC11_4A_headerPhaseGetNames">V3ResourceParametersAddlTests</entry>
+<entry key="V3PortletParametersTests_SPEC11_4A_headerPhaseGetValues">V3ResourceParametersAddlTests</entry>
+<entry key="V3PortletParametersTests_SPEC11_4A_headerPhaseSize">V3ResourceParametersAddlTests</entry>
+<entry key="V3PortletParametersTests_SPEC11_4A_renderPhaseGetNames">V3ResourceParametersAddlTests</entry>
+<entry key="V3PortletParametersTests_SPEC11_4A_renderPhaseGetValues">V3ResourceParametersAddlTests</entry>
+<entry key="V3PortletParametersTests_SPEC11_4A_renderPhaseSize">V3ResourceParametersAddlTests</entry>
+<entry key="V3PortletParametersTests_SPEC11_4A_resourcePhaseGetNames">V3ResourceParametersAddlTests</entry>
+<entry key="V3PortletParametersTests_SPEC11_4A_resourcePhaseGetValues">V3ResourceParametersAddlTests</entry>
+<entry key="V3PortletParametersTests_SPEC11_4A_resourcePhaseSize">V3ResourceParametersAddlTests</entry>
</properties>