Author: julien(a)jboss.com
Date: 2008-02-25 07:32:25 -0500 (Mon, 25 Feb 2008)
New Revision: 10106
Added:
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/URLFormat.java
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/test/portlet/jsr286/api/portleturl/
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/test/portlet/jsr286/api/portleturl/EscapeXMLTestCase.java
modules/portlet/trunk/test/src/test/resources/jsr286/api/portleturl-war/
modules/portlet/trunk/test/src/test/resources/jsr286/api/portleturl-war/WEB-INF/
modules/portlet/trunk/test/src/test/resources/jsr286/api/portleturl-war/WEB-INF/portlet.xml
modules/portlet/trunk/test/src/test/resources/jsr286/api/portleturl-war/WEB-INF/web.xml
Modified:
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/impl/jsr168/api/BaseURLImpl.java
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/impl/spi/AbstractPortletInvocationContext.java
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/spi/PortletInvocationContext.java
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/portlet/support/spi/PortletInvocationContextSupport.java
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/unit/Assertion.java
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/controller/PortletURLRenderer.java
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/controller/TestPortletInvocationContext.java
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/ControllerFilter.java
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortletURLTag.java
modules/portlet/trunk/test/src/test/build.xml
modules/portlet/trunk/test/src/test/resources/test/remote-jboss-unit.xml
Log:
- support URL streaming in PortletInvocationContext
- introduced URLFormat to gather all the options for formatting an URL
- test case for XML escaping in BaseURL.write(...) method
Added:
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/URLFormat.java
===================================================================
--- modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/URLFormat.java
(rev 0)
+++
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/URLFormat.java 2008-02-25
12:32:25 UTC (rev 10106)
@@ -0,0 +1,73 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat *
+ * Copyright 2008, Red Hat Middleware, LLC, and individual *
+ * contributors as indicated by the @authors tag. See the *
+ * copyright.txt in the distribution for a full listing of *
+ * individual contributors. *
+ * *
+ * This is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU Lesser General Public License as *
+ * published by the Free Software Foundation; either version 2.1 of *
+ * the License, or (at your option) any later version. *
+ * *
+ * This software is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
+ * Lesser General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU Lesser General Public *
+ * License along with this software; if not, write to the Free *
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org. *
+ ******************************************************************************/
+package org.jboss.portal.portlet;
+
+/**
+ * Defines how a container URL should be formatted when rendered.
+ *
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 630 $
+ */
+public class URLFormat
+{
+
+ /** . */
+ private final Boolean wantSecure;
+
+ /** . */
+ private final Boolean wantAuthenticated;
+
+ /** . */
+ private final Boolean wantRelative;
+
+ /** . */
+ private final Boolean wantEscapeXML;
+
+ public URLFormat(Boolean wantSecure, Boolean wantAuthenticated, Boolean wantRelative,
Boolean wantEscapeXML)
+ {
+ this.wantSecure = wantSecure;
+ this.wantAuthenticated = wantAuthenticated;
+ this.wantRelative = wantRelative;
+ this.wantEscapeXML = wantEscapeXML;
+ }
+
+ public Boolean getWantSecure()
+ {
+ return wantSecure;
+ }
+
+ public Boolean getWantAuthenticated()
+ {
+ return wantAuthenticated;
+ }
+
+ public Boolean getWantRelative()
+ {
+ return wantRelative;
+ }
+
+ public Boolean getWantEscapeXML()
+ {
+ return wantEscapeXML;
+ }
+}
Modified:
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/impl/jsr168/api/BaseURLImpl.java
===================================================================
---
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/impl/jsr168/api/BaseURLImpl.java 2008-02-25
10:16:10 UTC (rev 10105)
+++
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/impl/jsr168/api/BaseURLImpl.java 2008-02-25
12:32:25 UTC (rev 10106)
@@ -25,8 +25,7 @@
import org.jboss.portal.portlet.invocation.PortletInvocation;
import org.jboss.portal.portlet.spi.PortletInvocationContext;
import org.jboss.portal.portlet.impl.jsr168.PortletApplicationImpl;
-import org.jboss.portal.common.io.WriterCharWriter;
-import org.jboss.portal.common.text.EntityEncoder;
+import org.jboss.portal.portlet.URLFormat;
import javax.portlet.BaseURL;
import javax.portlet.PortletSecurityException;
@@ -43,13 +42,36 @@
{
/** . */
+ private static final URLFormat[][] FORMATS = {
+ {
+ new URLFormat(null, null, true, null),
+ new URLFormat(false, null, true, null),
+ new URLFormat(true, null, true, null)
+ },
+ {
+ new URLFormat(null, null, true, true),
+ new URLFormat(false, null, true, true),
+ new URLFormat(true, null, true, true)
+ }
+ };
+
+ /** . */
+ private static final int SECURE_NOT_DETERMINED = 0;
+
+ /** . */
+ private static final int NOT_SECURE = 1;
+
+ /** . */
+ private static final int SECURE = 2;
+
+ /** . */
protected final PortletInvocation inv;
/** . */
protected final PortletRequestImpl preq;
/** . */
- protected Boolean secure;
+ protected int secure;
/** . */
protected final boolean filterable;
@@ -62,6 +84,7 @@
this.inv = invocation;
this.preq = preq;
this.filterable = filterable;
+ this.secure= SECURE_NOT_DETERMINED;
}
protected BaseURLImpl(BaseURLImpl original)
@@ -69,6 +92,7 @@
this.inv = original.inv;
this.preq = original.preq;
this.filterable = false;
+ this.secure= SECURE_NOT_DETERMINED;
}
/** @throws IllegalArgumentException if the name is null */
@@ -92,7 +116,7 @@
public void setSecure(boolean secure) throws PortletSecurityException
{
- this.secure = Boolean.valueOf(secure);
+ this.secure = secure ? SECURE : NOT_SECURE;
}
public Map<String, String[]> getParameterMap()
@@ -101,23 +125,6 @@
return url.getParameters();
}
- public void write(Writer writer) throws IOException
- {
- writer.write(toString());
- }
-
- public void write(Writer writer, boolean b) throws IOException
- {
- if (b)
- {
- EntityEncoder.FULL.encode(toString(), new WriterCharWriter(writer));
- }
- else
- {
- EntityEncoder.BASIC.encode(toString(), new WriterCharWriter(writer));
- }
- }
-
public void addProperty(String s, String s1)
{
if (s == null)
@@ -139,7 +146,7 @@
//TODO:
}
- public String toString()
+ private InternalContainerURL blah()
{
PortletURLGenerationListener listener =
((PortletApplicationImpl)preq.container.getPortletApplication()).getListener(PortletURLGenerationListener.class);
@@ -158,10 +165,43 @@
}
//
+ return url;
+ }
+
+ public String toString()
+ {
+ InternalContainerURL url = blah();
+
+ //
+ URLFormat format = FORMATS[0][secure];
+
+ //
PortletInvocationContext responseContext = inv.getContext();
- return responseContext.renderURL(url, secure, null, true);
+
+ //
+ return responseContext.renderURL(url, format);
}
+ public void write(Writer writer) throws IOException
+ {
+ write(writer, false);
+ }
+
+ public void write(Writer writer, boolean b) throws IOException
+ {
+ InternalContainerURL url = blah();
+
+ //
+ URLFormat format = FORMATS[b ? 1 : 0][secure];
+
+ //
+ PortletInvocationContext responseContext = inv.getContext();
+
+ //
+ responseContext.renderURL(writer, url, format);
+ }
+
+
protected abstract void filter(PortletURLGenerationListener listener);
protected abstract BaseURLImpl createClone();
Modified:
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/impl/spi/AbstractPortletInvocationContext.java
===================================================================
---
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/impl/spi/AbstractPortletInvocationContext.java 2008-02-25
10:16:10 UTC (rev 10105)
+++
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/impl/spi/AbstractPortletInvocationContext.java 2008-02-25
12:32:25 UTC (rev 10106)
@@ -25,9 +25,13 @@
import org.jboss.portal.common.invocation.AbstractInvocationContext;
import org.jboss.portal.common.util.MarkupInfo;
import org.jboss.portal.portlet.spi.PortletInvocationContext;
+import org.jboss.portal.portlet.ContainerURL;
+import org.jboss.portal.portlet.URLFormat;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import java.io.Writer;
+import java.io.IOException;
/**
* An abstract implementation that relies on the a request and response provided by the
client (i.e the portal).
@@ -84,4 +88,18 @@
{
return markupInfo;
}
+
+ /**
+ * Delegates the URL rendendition to the method {@link
#renderURL(org.jboss.portal.portlet.ContainerURL,org.jboss.portal.portlet.URLFormat)} and
+ * then invoke the {@link java.io.Writer#write(String)} method with the returned
result.
+ *
+ * @see
org.jboss.portal.portlet.spi.PortletInvocationContext#renderURL(org.jboss.portal.portlet.ContainerURL,
org.jboss.portal.portlet.URLFormat)
+ */
+ public void renderURL(Writer writer, ContainerURL containerURL, URLFormat format)
throws IOException
+ {
+ String renderedURL = renderURL(containerURL, format);
+
+ //
+ writer.write(renderedURL);
+ }
}
Modified:
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/spi/PortletInvocationContext.java
===================================================================
---
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/spi/PortletInvocationContext.java 2008-02-25
10:16:10 UTC (rev 10105)
+++
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/spi/PortletInvocationContext.java 2008-02-25
12:32:25 UTC (rev 10106)
@@ -29,7 +29,11 @@
import org.jboss.portal.common.util.ParameterMap;
import org.jboss.portal.portlet.StateString;
import org.jboss.portal.portlet.ContainerURL;
+import org.jboss.portal.portlet.URLFormat;
+import java.io.IOException;
+import java.io.Writer;
+
/**
* Contract that defines what input/services the caller of a portlet container must
provide.
*
@@ -67,10 +71,18 @@
* Renders a container URL.
*
* @param containerURL the portlet url
- * @param wantSecure if the url should be secure
- * @param wantAuthenticated if the url should be authenticated
- * @param relative if the url should be relative
+ * @param format the url format
* @return the rendered url
*/
- String renderURL(ContainerURL containerURL, Boolean wantSecure, Boolean
wantAuthenticated, boolean relative);
+ String renderURL(ContainerURL containerURL, URLFormat format);
+
+ /**
+ * Renders a container URL.
+ *
+ * @param writer the writer
+ * @param containerURL the portlet url
+ * @param format the url format
+ * @throws IOException any IOException thrown by the writer
+ */
+ void renderURL(Writer writer, ContainerURL containerURL, URLFormat format) throws
IOException;
}
Modified:
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/portlet/support/spi/PortletInvocationContextSupport.java
===================================================================
---
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/portlet/support/spi/PortletInvocationContextSupport.java 2008-02-25
10:16:10 UTC (rev 10105)
+++
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/portlet/support/spi/PortletInvocationContextSupport.java 2008-02-25
12:32:25 UTC (rev 10106)
@@ -22,15 +22,15 @@
******************************************************************************/
package org.jboss.portal.portlet.support.spi;
-import org.jboss.portal.Mode;
-import org.jboss.portal.WindowState;
import org.jboss.portal.common.invocation.AbstractInvocationContext;
import org.jboss.portal.common.util.MarkupInfo;
-import org.jboss.portal.common.util.ParameterMap;
-import org.jboss.portal.portlet.StateString;
import org.jboss.portal.portlet.ContainerURL;
+import org.jboss.portal.portlet.URLFormat;
import org.jboss.portal.portlet.spi.PortletInvocationContext;
+import java.io.Writer;
+import java.io.IOException;
+
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision: 5064 $
@@ -48,8 +48,13 @@
throw new UnsupportedOperationException();
}
- public String renderURL(ContainerURL containerURL, Boolean wantSecure, Boolean
wantAuthenticated, boolean relative)
+ public String renderURL(ContainerURL containerURL, URLFormat format)
{
throw new UnsupportedOperationException();
}
+
+ public void renderURL(Writer writer, ContainerURL containerURL, URLFormat format)
throws IOException
+ {
+ throw new UnsupportedOperationException();
+ }
}
Added:
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/test/portlet/jsr286/api/portleturl/EscapeXMLTestCase.java
===================================================================
---
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/test/portlet/jsr286/api/portleturl/EscapeXMLTestCase.java
(rev 0)
+++
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/test/portlet/jsr286/api/portleturl/EscapeXMLTestCase.java 2008-02-25
12:32:25 UTC (rev 10106)
@@ -0,0 +1,126 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat *
+ * Copyright 2008, Red Hat Middleware, LLC, and individual *
+ * contributors as indicated by the @authors tag. See the *
+ * copyright.txt in the distribution for a full listing of *
+ * individual contributors. *
+ * *
+ * This is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU Lesser General Public License as *
+ * published by the Free Software Foundation; either version 2.1 of *
+ * the License, or (at your option) any later version. *
+ * *
+ * This software is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
+ * Lesser General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU Lesser General Public *
+ * License along with this software; if not, write to the Free *
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org. *
+ ******************************************************************************/
+package org.jboss.portal.test.portlet.jsr286.api.portleturl;
+
+import org.jboss.portal.unit.annotations.TestCase;
+import org.jboss.portal.unit.Assertion;
+import org.jboss.portal.unit.PortletTestCase;
+import org.jboss.portal.unit.PortletTestContext;
+import org.jboss.portal.unit.actions.PortletRenderTestAction;
+import org.jboss.portal.test.portlet.framework.UTP1;
+import org.jboss.unit.driver.DriverResponse;
+import org.jboss.unit.driver.response.EndTestResponse;
+import org.jboss.unit.remote.driver.handler.http.response.InvokeGetResponse;
+
+import static org.jboss.unit.api.Assert.*;
+
+import javax.portlet.Portlet;
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
+import javax.portlet.PortletException;
+import javax.portlet.PortletURL;
+import java.io.IOException;
+import java.io.Writer;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 630 $
+ */
+(a)TestCase(Assertion.API_BASE_URL_1)
+public class EscapeXMLTestCase
+{
+
+ public EscapeXMLTestCase(PortletTestCase seq)
+ {
+ seq.bindAction(0, UTP1.RENDER_JOIN_POINT, new PortletRenderTestAction()
+ {
+ protected DriverResponse run(Portlet portlet, RenderRequest request,
RenderResponse response, PortletTestContext context) throws PortletException, IOException
+ {
+ response.setContentType("text/html");
+ Writer writer = response.getWriter();
+
+ //
+ PortletURL url = response.createRenderURL();
+
+ //
+ url.setParameter("foo", "bar");
+
+ //
+ writer.write("@BEFORE_ESCAPED@");
+ url.write(writer, true);
+ writer.write("@AFTER_ESCAPED@");
+
+ //
+ writer.write("@BEFORE_NON_ESCAPED@");
+ url.write(writer, false);
+ writer.write("@AFTER_NON_ESCAPED@");
+
+ //
+ return new InvokeGetResponse(response.createRenderURL().toString());
+ }
+ });
+ seq.bindAction(1, UTP1.RENDER_JOIN_POINT, new PortletRenderTestAction()
+ {
+ protected DriverResponse run(Portlet portlet, RenderRequest request,
RenderResponse response, PortletTestContext context) throws PortletException, IOException
+ {
+ byte[] content = context.getResponseBody();
+ String text = new String(content, "UTF-8");
+
+ //
+ String escapedURL = getURL(text, "ESCAPED");
+ for (int pos = escapedURL.indexOf('&'); pos != -1; pos =
escapedURL.indexOf('&', pos + 1))
+ {
+ String s = escapedURL.substring(pos, pos +
"&".length());
+ assertEquals("&", s);
+ }
+
+ String nonEscapedURL = getURL(text, "NON_ESCAPED");
+ for (int pos = nonEscapedURL.indexOf('&'); pos != -1; pos =
nonEscapedURL.indexOf('&', pos + 1))
+ {
+ int end = Math.min(pos + "&".length(),
nonEscapedURL.length());
+ String s = nonEscapedURL.substring(pos, end);
+ String comparison = "&".substring(0, end - pos);
+ assertNotEquals(comparison, s);
+ }
+
+ //
+ return new EndTestResponse();
+ }
+ });
+
+
+ }
+
+ private String getURL(String text, String type)
+ {
+ int from = text.indexOf("@BEFORE_" + type + "@");
+ assertNotEquals(-1, from);
+
+ //
+ int to = text.indexOf("@AFTER_" + type + "@");
+ assertNotEquals(-1, to);
+
+ //
+ return text.substring(from + ("@BEFORE_" + type +
"(a)").length(), to);
+ }
+}
Modified:
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/unit/Assertion.java
===================================================================
---
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/unit/Assertion.java 2008-02-25
10:16:10 UTC (rev 10105)
+++
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/unit/Assertion.java 2008-02-25
12:32:25 UTC (rev 10106)
@@ -22,6 +22,9 @@
******************************************************************************/
package org.jboss.portal.unit;
+import javax.portlet.PortletURL;
+import javax.portlet.BaseURL;
+
/**
* Define TCK assertions.
*
@@ -431,346 +434,346 @@
JSR168_1000(new TCK(1000), "todo ???"),
// PLT.2 Overview
- JSR286_1(new TCK(1), Status.specUntestable(""), "PLT.2.5",
"Portlet V2.0 containers must support deploying JSR 168 portlets and the JSR 168
deployment descriptor"),
+ JSR286_1(new TCK(1, "PLT.2.5"), Status.specUntestable(""),
"Portlet V2.0 containers must support deploying JSR 168 portlets and the JSR 168
deployment descriptor"),
// PLT.5 The Portlet Interface and Additional Life
- JSR286_2(new TCK(2), Status.specUntestable(""), "PLT.5.1",
"For a portlet, not hosted in a distributed environment " +
+ JSR286_2(new TCK(2, "PLT.5.1"), Status.specUntestable(""),
"For a portlet, not hosted in a distributed environment " +
"(the default), the portlet container must instantiate and use only one
portlet object per portlet definition"),
- JSR286_3(new TCK(3), Status.specUntestable(""), "PLT.5.1",
"In the case where a portlet is deployed as part of a" +
+ JSR286_3(new TCK(3, "PLT.5.1"), Status.specUntestable(""),
"In the case where a portlet is deployed as part of a" +
" portlet application marked as distributable, in the web.xml deployment
descriptor, a portlet container may " +
"instantiate only one portlet object per portlet definition -in the deployment
descriptor- per virtual machine (VM)."),
- JSR286_4(new TCK(4), "PLT.5.2.1", "The portlet container must load the
portlet class using the same ClassLoader " +
+ JSR286_4(new TCK(4, "PLT.5.2.1"), "The portlet container must load the
portlet class using the same ClassLoader " +
"the servlet container uses for the web application part of the portlet
application."),
- JSR286_5(new TCK(5), "PLT.5.2.2", "After the portlet object is
instantiated, the portlet container must initialize " +
+ JSR286_5(new TCK(5, "PLT.5.2.2"), "After the portlet object is
instantiated, the portlet container must initialize " +
"the portlet before invoking it to handle requests."),
- JSR286_6(new TCK(6), "PLT.5.2.2.1", "During initialization, the portlet
object may throw an UnavailableException " +
+ JSR286_6(new TCK(6, "PLT.5.2.2.1"), "During initialization, the portlet
object may throw an UnavailableException " +
"or a PortletException. In this case, the portlet container must not place the
portlet object into active " +
"service and it must release the portlet object."),
- JSR286_7(new TCK(7), "PLT.5.2.2.1", "The destroy method must not be
called because the initialization is considered " +
+ JSR286_7(new TCK(7, "PLT.5.2.2.1"), "The destroy method must not be
called because the initialization is considered " +
"unsuccessful."),
- JSR286_8(new TCK(8), "PLT.5.2.2.1", "The portlet container may
reattempt to instantiate and initialize the portlets " +
+ JSR286_8(new TCK(8, "PLT.5.2.2.1"), "The portlet container may
reattempt to instantiate and initialize the portlets " +
"at any time after a failure. The exception to this rule is when an
UnavailableException indicates a minimum time " +
"of unavailability. When this happens the portlet container must wait for 30
the specified time to pass before " +
"creating and initializing a new portlet object."),
- JSR286_9(new TCK(9), "PLT.5.2.2.1", "A RuntimeException thrown during
initialization must be handled as a " +
+ JSR286_9(new TCK(9, "PLT.5.2.2.1"), "A RuntimeException thrown during
initialization must be handled as a " +
"PortletException."),
- JSR286_10(new TCK(10), Status.specUntestable(""), "PLT.5.2.3",
"Once the destroy method is called on a portlet " +
+ JSR286_10(new TCK(10, "PLT.5.2.3"), Status.specUntestable(""),
"Once the destroy method is called on a portlet " +
"object, the portlet container must not route any requests to that portlet
object."),
- JSR286_11(new TCK(11), Status.specUntestable(""), "PLT.5.2.3",
"If the portlet container needs to enable the " +
+ JSR286_11(new TCK(11, "PLT.5.2.3"), Status.specUntestable(""),
"If the portlet container needs to enable the " +
"portlet again, it must do so with a new portlet object, which is a new
instance of the portlet’s class."),
- JSR286_12(new TCK(12), Status.specUntestable(""), "PLT.5.2.3",
"If the portlet object throws a RuntimeException " +
+ JSR286_12(new TCK(12, "PLT.5.2.3"), Status.specUntestable(""),
"If the portlet object throws a RuntimeException " +
"within the execution of the destroy method the portlet container must
consider the portlet object successfully " +
"destroyed."),
- JSR286_13(new TCK(13), Status.specUntestable(""), "PLT.5.2.3",
"After the destroy method completes, the portlet " +
+ JSR286_13(new TCK(13, "PLT.5.2.3"), Status.specUntestable(""),
"After the destroy method completes, the portlet " +
"container must release the portlet object so that it is eligible for garbage
collection."),
- JSR286_14(new TCK(14), "PLT.5.4", "If the client request is triggered
by an action URL, the portal/portlet-container " +
+ JSR286_14(new TCK(14, "PLT.5.4"), "If the client request is triggered
by an action URL, the portal/portlet-container " +
"must first trigger the action request by invoking the processAction method of
the targeted portlet."),
- JSR286_15(new TCK(15), "PLT.5.4", "The portal/portlet-container must
wait until the action request finishes. Then, " +
+ JSR286_15(new TCK(15, "PLT.5.4"), "The portal/portlet-container must
wait until the action request finishes. Then, " +
"the portal/portlet-container should call the processEvent methods of the
event receiving portlets and after the " +
"event processing is finished must trigger the render request by invoking the
render method for all the portlets " +
"in the portal page with the possible exception of portlets for which their
content is being cached."),
- JSR286_16(new TCK(16), "PLT.5.4", "If the client request is triggered
by a render URL, the portal/portlet-container " +
+ JSR286_16(new TCK(16, "PLT.5.4"), "If the client request is triggered
by a render URL, the portal/portlet-container " +
"must invoke the render method for all the portlets in the portal page with
the possible exception of portlets " +
"for which their content is being cached."),
- JSR286_17(new TCK(17), "PLT.5.4", "If the client request is triggered
by a resource URL, the portal/portlet-container " +
+ JSR286_17(new TCK(17, "PLT.5.4"), "If the client request is triggered
by a resource URL, the portal/portlet-container " +
"must invoke the serveResource method of the target portlet with the possible
exception of content that has a " +
"valid cache entry."),
- JSR286_18(new TCK(18), "PLT.5.4.1", "If the portlet issues a
redirection, when the processAction method concludes, " +
+ JSR286_18(new TCK(18, "PLT.5.4.1"), "If the portlet issues a
redirection, when the processAction method concludes, " +
"the portal/portlet-container must send the redirection back to the user
agent"),
- JSR286_19(new TCK(19), "PLT.5.4.5.4", "If no matching annotated method
is found GenericPortlet will dispatch to " +
+ JSR286_19(new TCK(19, "PLT.5.4.5.4"), "If no matching annotated method
is found GenericPortlet will dispatch to " +
"the following methods: doView for handling VIEW requests"),
- JSR286_20(new TCK(20), "PLT.5.4.5.4", "If no matching annotated method
is found GenericPortlet will dispatch to " +
+ JSR286_20(new TCK(20, "PLT.5.4.5.4"), "If no matching annotated method
is found GenericPortlet will dispatch to " +
"the following methods: doEdit for handling EDIT requests"),
- JSR286_21(new TCK(21), "PLT.5.4.5.4", "If no matching annotated method
is found GenericPortlet will dispatch to " +
+ JSR286_21(new TCK(21, "PLT.5.4.5.4"), "If no matching annotated method
is found GenericPortlet will dispatch to " +
"the following methods: doHelp for handling HELP requests"),
- JSR286_22(new TCK(22), "PLT.5.4.5.4", "If the window state of the
portlet (see PLT.9 Window States Chapter) is " +
+ JSR286_22(new TCK(22, "PLT.5.4.5.4"), "If the window state of the
portlet (see PLT.9 Window States Chapter) is " +
"MINIMIZED, the render method of the GenericPortlet does not invoke any of the
portlet mode rendering methods"),
- JSR286_23(new TCK(23), "PLT.5.4.7", "If a portlet throws an exception
in the processAction or processEvent method, " +
+ JSR286_23(new TCK(23, "PLT.5.4.7"), "If a portlet throws an exception
in the processAction or processEvent method, " +
"all operations on the ActionResponse must be ignored including set
events."),
- JSR286_24(new TCK(24), Status.specUntestable(""), "PLT.5.4.7",
"If a permanent unavailability is indicated by the " +
+ JSR286_24(new TCK(24, "PLT.5.4.7"), Status.specUntestable(""),
"If a permanent unavailability is indicated by the " +
"UnavailableException, the portlet container must remove the portlet from
service immediately, call the portlet’s " +
"destroy method, and release the portlet object"),
- JSR286_25(new TCK(25), "PLT.5.4.7", "A RuntimeException thrown during
the request handling must be handled as a " +
+ JSR286_25(new TCK(25, "PLT.5.4.7"), "A RuntimeException thrown during
the request handling must be handled as a " +
"PortletException."),
// PLT.6 Portlet Config
- JSR286_26(new TCK(26), "PLT.6.2", "If the root resource bundle does not
contain the resources for these values and " +
+ JSR286_26(new TCK(26, "PLT.6.2"), "If the root resource bundle does not
contain the resources for these values and " +
"the values are defined inline, the portlet container must add the inline
values as resources of the root " +
"resource bundle."),
- JSR286_27(new TCK(27), "PLT.6.2", "If the portlet definition does not
define a resource bundle and the information" +
+ JSR286_27(new TCK(27, "PLT.6.2"), "If the portlet definition does not
define a resource bundle and the information" +
" is defined inline in the deployment descriptor, the portlet container must
create a ResourceBundle and populate" +
" it, with the inline values, using the keys defined in the PLT.25.10 Resource
Bundles Section."),
- JSR286_28(new TCK(28), "PLT.6.3", "The getDefaultNamespace method of
the PortletConfig interface returns the " +
+ JSR286_28(new TCK(28, "PLT.6.3"), "The getDefaultNamespace method of
the PortletConfig interface returns the " +
"default namespace for events and public render parameters set in the portlet
deployment descriptor with " +
"the default-namespace element, or the XML default namespace
XMLConstants.NULL_NS_URI if no default namespace" +
" is provided in the portlet deployment descriptor."),
- JSR286_29(new TCK(29), "PLT.6.4", "The getPublicRenderParameterNames
method of the PortletConfig interface returns" +
+ JSR286_29(new TCK(29, "PLT.6.4"), "The getPublicRenderParameterNames
method of the PortletConfig interface returns" +
" the public render parameter names found in the portlet definition in the
deployment descriptor with the " +
"supported-public-render-parameter element or an empty enumeration if no
public render parameters are defined" +
" for the current portlet definition."),
- JSR286_30(new TCK(30), "PLT.6.5", "The getPublishingEventQNames method
of the PortletConfig interface returns the" +
+ JSR286_30(new TCK(30, "PLT.6.5"), "The getPublishingEventQNames method
of the PortletConfig interface returns the" +
" publishing event QNames found in the portlet definition in the deployment
descriptor with the " +
"supported-publishing-event element or an empty enumeration if no publishing
events are defined for the " +
"current portlet definition."),
- JSR286_31(new TCK(31), "PLT.6.5", "If the event was defined using the
name element instead of the qname element " +
+ JSR286_31(new TCK(31, "PLT.6.5"), "If the event was defined using the
name element instead of the qname element " +
"the defined default namespace must be added as namespace for the returned
QName."),
- JSR286_32(new TCK(32), "PLT.6.6", "The getProcessingEventQNames method
of the PortletConfig interface returns " +
+ JSR286_32(new TCK(32, "PLT.6.6"), "The getProcessingEventQNames method
of the PortletConfig interface returns " +
"the processing event QNames found in the portlet definition in the deployment
descriptor with the " +
"supported-processing-event element or an empty enumeration if no processing
events are defined for the current" +
" portlet definition."),
- JSR286_33(new TCK(33), "PLT.6.6", "If the event was defined using the
name element instead of the qname element the" +
+ JSR286_33(new TCK(33, "PLT.6.6"), "If the event was defined using the
name element instead of the qname element the" +
" defined default namespace must be added as namespace for the returned
Qname."),
- JSR286_34(new TCK(34), "PLT.6.7", "The getSupportedLocales method of
the PortletConfig interface returns the " +
+ JSR286_34(new TCK(34, "PLT.6.7"), "The getSupportedLocales method of
the PortletConfig interface returns the " +
"supported locales found in the portlet definition in the deployment
descriptor with the supported-locale " +
"element or an empty enumeration if no supported locales are defined for the
current portlet definition."),
// PLT,7 Portlet URLs
- JSR286_35(new TCK(35), "PLT.7.1", "The portal/portlet-container must
not invoke the processAction method of the " +
+ JSR286_35(new TCK(35, "PLT.7.1"), "The portal/portlet-container must
not invoke the processAction method of the " +
"targeted portlet of a render URL."),
- JSR286_36(new TCK(36), "PLT.7.1", "The portal/portlet-container must
ensure that all the parameters set when " +
+ JSR286_36(new TCK(36, "PLT.7.1"), "The portal/portlet-container must
ensure that all the parameters set when " +
"constructing the render URL become render parameters of the subsequent render
requests for the portlet."),
- JSR286_37(new TCK(37), "PLT.7.1.1", "A call to any of the setParameter
methods must replace any parameter with " +
+ JSR286_37(new TCK(37, "PLT.7.1.1"), "A call to any of the setParameter
methods must replace any parameter with " +
"the same name previously set."),
- JSR286_38(new TCK(38), "PLT.7.1.1", "All the parameters a portlet adds
to a BaseURL object must be made available " +
+ JSR286_38(new TCK(38, "PLT.7.1.1"), "All the parameters a portlet adds
to a BaseURL object must be made available " +
"to the portlet as request parameters."),
- JSR286_39(new TCK(39), "PLT.7.1.1", "The portlet-container must
“x-www-form-urlencoded” encode parameter names and " +
+ JSR286_39(new TCK(39, "PLT.7.1.1"), "The portlet-container must
“x-www-form-urlencoded” encode parameter names and " +
"values added to a BaseURL object."),
- JSR286_40(new TCK(40), "PLT.7.1.1", "If a portal/portlet-container
encodes additional information as parameters, it " +
+ JSR286_40(new TCK(40, "PLT.7.1.1"), "If a portal/portlet-container
encodes additional information as parameters, it " +
"must namespace them properly to avoid collisions with the parameters set and
used by the portlet."),
- JSR286_41(new TCK(41), "PLT.7.1.2", "A portlet cannot create a portlet
URL using a portlet mode that is not defined " +
+ JSR286_41(new TCK(41, "PLT.7.1.2"), "A portlet cannot create a portlet
URL using a portlet mode that is not defined " +
"as supported by the portlet or that the user it is not allowed to use. The
setPortletMode methods must throw a " +
"PortletModeException in that situation."),
- JSR286_42(new TCK(42), "PLT.7.1.2", "The change of portlet mode must be
effective for the request triggered by the " +
+ JSR286_42(new TCK(42, "PLT.7.1.2"), "The change of portlet mode must be
effective for the request triggered by the " +
"portlet URL."),
- JSR286_43(new TCK(43), "PLT.7.1.2", "If the portlet mode is not set for
a URL, it must have the portlet mode of the " +
+ JSR286_43(new TCK(43, "PLT.7.1.2"), "If the portlet mode is not set for
a URL, it must have the portlet mode of the " +
"current request as default."),
- JSR286_44(new TCK(45), "PLT.7.1.2", "A portlet cannot create a portlet
URL using a window state that is not supported " +
+ JSR286_44(new TCK(45, "PLT.7.1.2"), "A portlet cannot create a portlet
URL using a window state that is not supported " +
"by the portlet container. The setWindowState method must throw a
WindowStateException if that is the case."),
- JSR286_45(new TCK(44), "PLT.7.1.2", "If the window state is not set for
a URL, it must have the window state of the " +
+ JSR286_45(new TCK(44, "PLT.7.1.2"), "If the window state is not set for
a URL, it must have the window state of the " +
"current request as default."),
- JSR286_46(new TCK(46), "PLT.7.1.3", "If setSecure is called with true,
the transport for the request triggered with " +
+ JSR286_46(new TCK(46, "PLT.7.1.3"), "If setSecure is called with true,
the transport for the request triggered with " +
"this URL must be secure (i.e. HTTPS)."),
- JSR286_47(new TCK(47), "PLT.7.2.1", "If the portlet application has
specified one or more PortletURLGenerationListener " +
+ JSR286_47(new TCK(47, "PLT.7.2.1"), "If the portlet application has
specified one or more PortletURLGenerationListener " +
"classes in the portlet deployment descriptor the portlet container must call:
the method filterActionURL method for " +
"all action URLs before executing the write or toString method of these action
URLs"),
- JSR286_48(new TCK(48), "PLT.7.2.1", "If the portlet application has
specified one or more PortletURLGenerationListener " +
+ JSR286_48(new TCK(48, "PLT.7.2.1"), "If the portlet application has
specified one or more PortletURLGenerationListener " +
"classes in the portlet deployment descriptor the portlet container must call:
the method filterRenderURL method " +
"for all render URLs before executing the write or toString method of these
render URLs"),
- JSR286_49(new TCK(49), "PLT.7.2.1", "If the portlet application has
specified one or more PortletURLGenerationListener " +
+ JSR286_49(new TCK(49, "PLT.7.2.1"), "If the portlet application has
specified one or more PortletURLGenerationListener " +
"classes in the portlet deployment descriptor the portlet container must call:
the method filterResourceURL method " +
"for all resource URLs before executing the write or toString method of these
resource URLs"),
- JSR286_50(new TCK(50), "PLT.7.2.1", "The portlet container must provide
the PortletURL or ResourceURL to generate to " +
+ JSR286_50(new TCK(50, "PLT.7.2.1"), "The portlet container must provide
the PortletURL or ResourceURL to generate to " +
"the filter methods and execute the write or toString method on the updated
PortletURL or ResourceURL that is the " +
"outcome of the filter method call."),
- JSR286_51(new TCK(51), "PLT.7.2.2", "If more than one listener is
registered the portlet container must chain the " +
+ JSR286_51(new TCK(51, "PLT.7.2.2"), "If more than one listener is
registered the portlet container must chain the " +
"listeners in the order of how they appear in the deployment
descriptor."),
// PLT.8 Portlet Modes
- JSR286_52(new TCK(52), "PLT.8.5", "If no matching annotated method is
found GenericPortlet will dispatch to the " +
+ JSR286_52(new TCK(52, "PLT.8.5"), "If no matching annotated method is
found GenericPortlet will dispatch to the " +
"doView, doEdit or doHelp method depending on the portlet mode indicated in
the request using the doDispatch " +
"method or throws a PortletException if the mode is not VIEW, EDIT, or
HELP."),
- JSR286_53(new TCK(53), "PLT.8.6", "As all portlets must support the
VIEW portlet mode, VIEW does not have to be " +
+ JSR286_53(new TCK(53, "PLT.8.6"), "As all portlets must support the
VIEW portlet mode, VIEW does not have to be " +
"indicated."),
- JSR286_54(new TCK(54), "PLT.8.6", "The portlet must not be invoked in a
portlet mode that has not been declared " +
+ JSR286_54(new TCK(54, "PLT.8.6"), "The portlet must not be invoked in a
portlet mode that has not been declared " +
"as supported for a given markup type."),
- JSR286_55(new TCK(55), Status.specUntestable(""), "PLT.8.6",
"The portlet container must ignore all references to " +
+ JSR286_55(new TCK(55, "PLT.8.6"), Status.specUntestable(""),
"The portlet container must ignore all references to " +
"custom portlet modes that are not supported by the portal implementation, or
that have no mapping to portlet " +
"modes supported by the portal."),
// PLT.9 Window States
- JSR286_56(new TCK(56), "PLT.9.4", "If a custom window state defined in
the deployment descriptor is not mapped to " +
+ JSR286_56(new TCK(56, "PLT.9.4"), "If a custom window state defined in
the deployment descriptor is not mapped to " +
"a custom window state provided by the portal, portlets must not be invoked in
that window state."),
- JSR286_57(new TCK(57), "PLT.9.5", "As all portlets must at least
support the pre-defined window states NORMAL, " +
+ JSR286_57(new TCK(57, "PLT.9.5"), "As all portlets must at least
support the pre-defined window states NORMAL, " +
"MAXIMIZED, MINIMIZED, these window states do not have to be
indicated."),
- JSR286_58(new TCK(58), Status.specUntestable(""), "PLT.9.5",
"The portlet container must ignore all references " +
+ JSR286_58(new TCK(58, "PLT.9.5"), Status.specUntestable(""),
"The portlet container must ignore all references " +
"to custom window states that are not supported by the portal implementation,
or that have no mapping to window " +
"states supported by the portal"),
// PLT.10 Portlet Context
- JSR286_59(new TCK(59), Status.specUntestable(""), "PLT.10.1",
"There is one instance of the PortletContext interface " +
+ JSR286_59(new TCK(59, "PLT.10.1"), Status.specUntestable(""),
"There is one instance of the PortletContext interface " +
"associated with each portlet application deployed into a portlet
container."),
- JSR286_60(new TCK(60), Status.specUntestable(""), "PLT.10.1",
"In cases where the container is distributed over many " +
+ JSR286_60(new TCK(60, "PLT.10.1"), Status.specUntestable(""),
"In cases where the container is distributed over many " +
"virtual machines, a portlet application will have an instance of the
PortletContext interface for each VM."),
- JSR286_61(new TCK(61), "PLT.10.3", "The initialization parameters
accessible through the PortletContext must be the " +
+ JSR286_61(new TCK(61, "PLT.10.3"), "The initialization parameters
accessible through the PortletContext must be the " +
"same that are accessible through the ServletContext of the portlet
application."),
- JSR286_62(new TCK(62), "PLT.10.3", "A direct consequence of this is
that data stored in the ServletContext by " +
+ JSR286_62(new TCK(62, "PLT.10.3"), "A direct consequence of this is
that data stored in the ServletContext by " +
"servlets or JSPs is accessible to portlets through the PortletContext and
vice versa."),
- JSR286_63(new TCK(63), "PLT.10.3", "The PortletContext must offer
access to the same set of resources the " +
+ JSR286_63(new TCK(63, "PLT.10.3"), "The PortletContext must offer
access to the same set of resources the " +
"ServletContext exposes."),
- JSR286_64(new TCK(64), "PLT.10.3", "It must be accessible as a context
attribute using the same constant " +
+ JSR286_64(new TCK(64, "PLT.10.3"), "It must be accessible as a context
attribute using the same constant " +
"defined in the Servlet Specification SVR 3 Servlet Context Chapter,
javax.servlet.context.tempdir."),
- JSR286_65(new TCK(64), "PLT.10.3", "The portlet context must follow the
same behavior and functionality that " +
+ JSR286_65(new TCK(64, "PLT.10.3"), "The portlet context must follow the
same behavior and functionality that " +
"the servlet context has for virtual hosting and reloading considerations.
(see Servlet Specification SVR 3 " +
"Servlet Context Chapter)"),
- JSR286_66(new TCK(66), "PLT.10.4.4", "For such use cases the Java
Portlet Specification provides the action-scoped " +
+ JSR286_66(new TCK(66, "PLT.10.4.4"), "For such use cases the Java
Portlet Specification provides the action-scoped " +
"request attributes as container runtime option with the intent to provide
portlets with these request attributes " +
"until a new action occurs. This container runtime option must be supported by
portlet containers."),
// PLT.11 Portlet Requests
- JSR286_67(new TCK(67), JSR168_48, "PLT.11.1.1", "If a portlet receives
a request from a client request targeted to the " +
+ JSR286_67(new TCK(67, "PLT.11.1.1"), JSR168_48, "If a portlet receives
a request from a client request targeted to the " +
"portlet itself, the parameters must be the string parameters encoded in the
URL (added when creating the " +
"PortletURL) and the string parameters sent by the client to the portlet as
part of the client request."),
- JSR286_68(new TCK(68), JSR168_49, "PLT.11.1.1", "The parameters the
request object returns must be \"x-www-formurlencoded\" " +
+ JSR286_68(new TCK(68, "PLT.11.1.1"), JSR168_49, "The parameters the
request object returns must be \"x-www-formurlencoded\" " +
"decoded."),
- JSR286_69(new TCK(69), JSR168_55, "PLT.11.1.1", "The value returned
from the getParameter method must be the first value in " +
+ JSR286_69(new TCK(69, "PLT.11.1.1"), JSR168_55, "The value returned
from the getParameter method must be the first value in " +
"the array of String objects returned by getParameterValues"),
- JSR286_70(new TCK(70), JSR168_56, "PLT.11.1.1", "If there is a single
parameter value associated with a parameter name the " +
+ JSR286_70(new TCK(70, "PLT.11.1.1"), JSR168_56, "If there is a single
parameter value associated with a parameter name the " +
"method must return is an array of size one containing the parameter
value."),
- JSR286_71(new TCK(71), "PLT.11.1.1", "The getParameterMap method must
return an unmodifiable Map object."),
- JSR286_72(new TCK(72), "PLT.11.1.1", "If the request does not have any
parameters, the getParameterMap must return " +
+ JSR286_71(new TCK(71, "PLT.11.1.1"), "The getParameterMap method must
return an unmodifiable Map object."),
+ JSR286_72(new TCK(72, "PLT.11.1.1"), "If the request does not have any
parameters, the getParameterMap must return " +
"an empty Map object"),
- JSR286_73(new TCK(73), "PLT.11.1.1", "Parameters set on the portlet URL
and the post body are aggregated into the " +
+ JSR286_73(new TCK(73, "PLT.11.1.1"), "Parameters set on the portlet URL
and the post body are aggregated into the " +
"request parameter set. Portlet URL parameters are presented before post body
data."),
- JSR286_74(new TCK(74), "PLT.11.1.1.2", "The portlet-container must not
propagate parameters received in an action " +
+ JSR286_74(new TCK(74, "PLT.11.1.1.2"), "The portlet-container must not
propagate parameters received in an action " +
"or event request to subsequent render requests of the portlet."),
- JSR286_75(new TCK(75), "PLT.11.1.1.2", "The portlet-container must not
propagate parameters received in an action " +
+ JSR286_75(new TCK(75, "PLT.11.1.1.2"), "The portlet-container must not
propagate parameters received in an action " +
"to subsequent event requests of the portlet."),
- JSR286_76(new TCK(76), "PLT.11.1.1.2", "The set render parameters must
be provided to the processEvent and render " +
+ JSR286_76(new TCK(76, "PLT.11.1.1.2"), "The set render parameters must
be provided to the processEvent and render " +
"calls of at least the current client request."),
- JSR286_77(new TCK(77), "PLT.11.1.1.3", "If a portlet receives a render
request following an action or event " +
+ JSR286_77(new TCK(77, "PLT.11.1.1.3"), "If a portlet receives a render
request following an action or event " +
"request as part of the same client request, the parameters received with
render request must be the render " +
"parameters set during the action or event request."),
- JSR286_78(new TCK(78), "PLT.11.1.1.3", "If a portlet receives a render
request that is the result of invoking " +
+ JSR286_78(new TCK(78, "PLT.11.1.1.3"), "If a portlet receives a render
request that is the result of invoking " +
"a render URL targeting this portlet the render parameters received with the
render request must be the " +
"parameters set on the render URL if these were not changed by the portlet as
a result of an container event " +
"received for this render URL."),
- JSR286_79(new TCK(79), "PLT.11.1.1.3", "Commonly, portals provide
controls to change the portlet mode and the " +
+ JSR286_79(new TCK(79, "PLT.11.1.1.3"), "Commonly, portals provide
controls to change the portlet mode and the " +
"window state of portlets. The URLs these controls use are generated by the
portal. Client requests triggered " +
"by those URLs must be treated as render URLs and the existing render
parameters must be preserved."),
- JSR286_80(new TCK(80), "PLT.11.1.1.3", "A portlet must not see any
parameter targeted to other portlets."),
- JSR286_81(new TCK(81), Status.specUntestable(""), "PLT.11.1.2",
"The supportedpublic-render-parameter element must " +
+ JSR286_80(new TCK(80, "PLT.11.1.1.3"), "A portlet must not see any
parameter targeted to other portlets."),
+ JSR286_81(new TCK(81, "PLT.11.1.2"), Status.specUntestable(""),
"The supportedpublic-render-parameter element must " +
"reference the identifier " +
"of a public render parameter defined in the portlet application section in a
public-render-parameter element"),
- JSR286_82(new TCK(82), "PLT.11.1.2", "The portlet container must only
send those public render parameters to a " +
+ JSR286_82(new TCK(82, "PLT.11.1.2"), "The portlet container must only
send those public render parameters to a " +
"portlet which the portlet has defined support for using
supported-public-render-parameter element in the " +
"portlet.xml."),
- JSR286_83(new TCK(83), "PLT.11.1.2", "The portlet container must only
share those render parameters of a portlet " +
+ JSR286_83(new TCK(83, "PLT.11.1.2"), "The portlet container must only
share those render parameters of a portlet " +
"which the portlet has declared as supported public render parameters using
supported-public-render-parameter " +
"element in the portlet.xml"),
- JSR286_84(new TCK(84), "PLT.11.1.2", "If the portlet was the target of
a render URL and this render URL has set " +
+ JSR286_84(new TCK(84, "PLT.11.1.2"), "If the portlet was the target of
a render URL and this render URL has set " +
"a specific public render parameter the portlet must receive at least this
render parameter"),
- JSR286_85(new TCK(85), "PLT.11.1.2", "If a action or resource parameter
has the same name as a public render " +
+ JSR286_85(new TCK(85, "PLT.11.1.2"), "If a action or resource parameter
has the same name as a public render " +
"parameter the public render parameter values must be the last entries in the
parameter value array."),
- JSR286_86(new TCK(86), "PLT.11.1.2", "Portlets can access a merged set
of public and private parameters via the " +
+ JSR286_86(new TCK(86, "PLT.11.1.2"), "Portlets can access a merged set
of public and private parameters via the " +
"getParameter methods on the PortletRequest or separated as maps of private
parameters via the " +
"getPrivateParameterMap method and public parameters via the
getPublicParameterMap method."),
- JSR286_87(new TCK(87), JSR168_57, Status.specUntestable(""),
"PLT.11.1.3", "Extra parameters used by the portal/portlet-container must
be invisible " +
+ JSR286_87(new TCK(87, "PLT.11.1.3"), JSR168_57,
Status.specUntestable(""), "Extra parameters used by the
portal/portlet-container must be invisible " +
"to the portlets receiving the request."),
- JSR286_88(new TCK(88), "PLT.11.1.4.1", "The portlet can access a map
with user information attributes via the " +
+ JSR286_88(new TCK(88, "PLT.11.1.4.1"), "The portlet can access a map
with user information attributes via the " +
"request attribute PortletRequest.USER_INFO."),
- JSR286_89(new TCK(89), "PLT.11.1.4.2", "The PortletRequest.CCPP_PROFILE
request attribute must return a " +
+ JSR286_89(new TCK(89, "PLT.11.1.4.2"), "The PortletRequest.CCPP_PROFILE
request attribute must return a " +
"javax.ccpp.Profile based on the current portlet request."),
- JSR286_90(new TCK(90), "PLT.11.1.4.4", "The LIFECYCLE_PHASE request
attribute of the PortletRequest interface " +
+ JSR286_90(new TCK(90, "PLT.11.1.4.4"), "The LIFECYCLE_PHASE request
attribute of the PortletRequest interface " +
"allows a portlet to determine the current lifecycle phase of this request.
This attribute value must be " +
"ACTION_PHASE if the current request is of type ActionRequest, EVENT_PHASE if
the current request is of type " +
"EventRequest, RENDER_PHASE if the current request is of type RenderRequest,
and RESOURCE_SERVING_PHASE if the " +
"current request is of type ResourceRequest."),
- JSR286_91(new TCK(91), JSR168_58, "PLT.11.1.6", "If the portlet
application is rooted at the base of the web server URL " +
+ JSR286_91(new TCK(91, "PLT.11.1.6"), JSR168_58, "If the portlet
application is rooted at the base of the web server URL " +
"namespace (also known as \"default\" context), this path must be an
empty string."),
- JSR286_92(new TCK(92), JSR168_59, "PLT.11.1.6", "Otherwise, it must be
the path the portlet application is rooted to, the " +
+ JSR286_92(new TCK(92, "PLT.11.1.6"), JSR168_59, "Otherwise, it must be
the path the portlet application is rooted to, the " +
"path must start with a '/' and it must not end with a '/'
character."),
- JSR286_93(new TCK(93), JSR168_60, "PLT.11.1.7", "If the user is not
authenticated the getAuthType method must return null. "),
- JSR286_94(new TCK(94), JSR168_61, "PLT.11.1.8", "The first element of
the enumeration must be the same content type returned " +
+ JSR286_93(new TCK(93, "PLT.11.1.7"), JSR168_60, "If the user is not
authenticated the getAuthType method must return null. "),
+ JSR286_94(new TCK(94, "PLT.11.1.8"), JSR168_61, "The first element of
the enumeration must be the same content type returned " +
"by the getResponseContentType method."),
- JSR286_95(new TCK(95), "PLT.11.1.8", "If the getResponseContentType or
getResponseContentTypes methods are exposed " +
+ JSR286_95(new TCK(95, "PLT.11.1.8"), "If the getResponseContentType or
getResponseContentTypes methods are exposed " +
"via an ActionRequest, EventRequest, or RenderRequest the following additional
restrictions apply: The content " +
"type must only includes the MIME type, not the character set."),
- JSR286_96(new TCK(96), "PLT.11.1.8", "If the getResponseContentType or
getResponseContentTypes methods are " +
+ JSR286_96(new TCK(96, "PLT.11.1.8"), "If the getResponseContentType or
getResponseContentTypes methods are " +
"exposed via an ActionRequest, EventRequest, or RenderRequest the following
additional restrictions apply: " +
"The getResponseContentTypes method must return only the content types
supported by the current portlet mode " +
"of the portlet."),
- JSR286_97(new TCK(97), "PLT.11.1.12", "The portlet window ID retrieved
with the getWindowID method must be the " +
+ JSR286_97(new TCK(97, "PLT.11.1.12"), "The portlet window ID retrieved
with the getWindowID method must be the " +
"same as the one that is used by the portlet container for scoping the
portlet-scope session attributes."),
- JSR286_98(new TCK(98), JSR168_63, "PLT.11.2.1", "Only one of the two
methods, getPortletInputStream or getReader, can be " +
+ JSR286_98(new TCK(98, "PLT.11.2.1"), JSR168_63, "Only one of the two
methods, getPortletInputStream or getReader, can be " +
"used during an action request. If the input stream is obtained, a call to the
getReader must throw an " +
"IllegalStateException. Similarly, if the reader is obtained, a call to the
getPortletInputStream must throw " +
"an IllegalStateException."),
- JSR286_99(new TCK(99), "PLT.11.2.1", "If the user request HTTP POST
data is of type " +
+ JSR286_99(new TCK(99, "PLT.11.2.1"), "If the user request HTTP POST
data is of type " +
"application/x-www-form-urlencoded, this data has been already processed by
the portal/portlet-container and " +
"is available as request parameters. The getPortletInputStream and getReader
methods must throw an " +
"IllegalStateException if called."),
// PLT.12 Portlet Responses
- JSR286_100(new TCK(100), "PLT.12.1.3", "The getNamespace method must
provide the portlet with a mechanism that " +
+ JSR286_100(new TCK(100, "PLT.12.1.3"), "The getNamespace method must
provide the portlet with a mechanism that " +
"ensures the uniqueness of the returned string in the whole portal
page"),
- JSR286_101(new TCK(101), "PLT.12.1.3", "The getNamespace method must
return the same value for the lifetime of " +
+ JSR286_101(new TCK(101, "PLT.12.1.3"), "The getNamespace method must
return the same value for the lifetime of " +
"the portlet window."),
- JSR286_102(new TCK(102), "PLT.12.1.3", "The getNamespace method must
return a valid identifier as defined in the " +
+ JSR286_102(new TCK(102, "PLT.12.1.3"), "The getNamespace method must
return a valid identifier as defined in the " +
"3.8 Identifier Section of the Java Language Specification Second
Edition."),
- JSR286_103(new TCK(103), "PLT.12.2.1", "A call to any of the
setRenderParameter methods must replace any " +
+ JSR286_103(new TCK(103, "PLT.12.2.1"), "A call to any of the
setRenderParameter methods must replace any " +
"parameter with the same name previously set."),
- JSR286_104(new TCK(104), "PLT.12.2.2", "If a portlet attempts to set a
portlet mode that it is not allowed to switch " +
+ JSR286_104(new TCK(104, "PLT.12.2.2"), "If a portlet attempts to set a
portlet mode that it is not allowed to switch " +
"to, a PortletModeException must be thrown."),
- JSR286_105(new TCK(105), "PLT.12.2.2", "If a portlet attempts to set a
window state that it is not allowed to switch " +
+ JSR286_105(new TCK(105, "PLT.12.2.2"), "If a portlet attempts to set a
window state that it is not allowed to switch " +
"to, a WindowStateException must be thrown."),
- JSR286_106(new TCK(106), "PLT.12.3.1", "The sendRedirect(String
location) method instructs the portal/portlet-container " +
+ JSR286_106(new TCK(106, "PLT.12.3.1"), "The sendRedirect(String
location) method instructs the portal/portlet-container " +
"to set the appropriate headers and content body to redirect the user to a
different URL. A fully qualified URL " +
"or a full path URL must be specified. If a relative path URL is given, an
IllegalArgumentException must be thrown."),
- JSR286_107(new TCK(107), "PLT.12.3.1", "If the sendRedirect(String
location) method is called after the setPortletMode, " +
+ JSR286_107(new TCK(107, "PLT.12.3.1"), "If the sendRedirect(String
location) method is called after the setPortletMode, " +
"setWindowState, setRenderParameter or setRenderParameters methods of the
ActionResponse interface, an " +
"IllegalStateException must be thrown and the redirection must not be
executed."),
- JSR286_108(new TCK(108), "PLT.12.3.1", "If a relative path URL is
given, an IllegalArgumentException must be thrown."),
- JSR286_109(new TCK(109), "PLT.12.3.1", "The portlet container must
attach a render URL with the currently set " +
+ JSR286_108(new TCK(108, "PLT.12.3.1"), "If a relative path URL is
given, an IllegalArgumentException must be thrown."),
+ JSR286_109(new TCK(109, "PLT.12.3.1"), "The portlet container must
attach a render URL with the currently set " +
"portlet mode, window state and render parameters on the ActionResponse and
the current public render parameters."),
- JSR286_110(new TCK(110), "PLT.12.3.1", "The attached URL must be
available as query parameter value under the " +
+ JSR286_110(new TCK(110, "PLT.12.3.1"), "The attached URL must be
available as query parameter value under the " +
"key provided with the renderUrlParamName parameter."),
- JSR286_111(new TCK(111), "PLT.12.3.1", "New values for portlet mode,
window state, private or public render " +
+ JSR286_111(new TCK(111, "PLT.12.3.1"), "New values for portlet mode,
window state, private or public render " +
"parameters must be encoded in the attached render URLcxi,"),
- JSR286_112(new TCK(112), "PLT.12.3.1", "For the render response the
setContentType method must throw an " +
+ JSR286_112(new TCK(112, "PLT.12.3.1"), "For the render response the
setContentType method must throw an " +
"IllegalArgumentException if the content type set does not match (including
wildcard matching) any of the " +
"content types returned by the getResponseContentType method of the
PortletRequest objectcxii."),
- JSR286_113(new TCK(113), "PLT.12.3.1", "If the portlet has set a
content type, the getContentType method must " +
+ JSR286_113(new TCK(113, "PLT.12.3.1"), "If the portlet has set a
content type, the getContentType method must " +
"return it. Otherwise, the getContentType method must return null."),
- JSR286_114(new TCK(114), "PLT.12.5.2", "A portlet may generate its
content by writing to the OutputStream or to " +
+ JSR286_114(new TCK(114, "PLT.12.5.2"), "A portlet may generate its
content by writing to the OutputStream or to " +
"the Writer of the MimeResponse object. A portlet must use only one of these
objects. The portlet container must " +
"throw an IllegalStateException if a portlet attempts to use both."),
- JSR286_115(new TCK(115), "PLT.12.5.5", "The getBufferSize method
returns the size of the underlying buffer being " +
+ JSR286_115(new TCK(115, "PLT.12.5.5"), "The getBufferSize method
returns the size of the underlying buffer being " +
"used. If no buffering is being used, this method must return the int value of
0 (zero)."),
- JSR286_116(new TCK(116), "PLT.12.5.5", "The portlet can request a
preferred buffer size by using the setBufferSize " +
+ JSR286_116(new TCK(116, "PLT.12.5.5"), "The portlet can request a
preferred buffer size by using the setBufferSize " +
"method. The buffer assigned is not required to be the size requested by the
portlet, but must be at least as " +
"large as the size requested."),
- JSR286_117(new TCK(117), "PLT.12.5.5", "The reset method clears data in
the buffer when the response is not " +
+ JSR286_117(new TCK(117, "PLT.12.5.5"), "The reset method clears data in
the buffer when the response is not " +
"committed. Properties set by the portlet prior to the reset call must be
cleared as well."),
- JSR286_118(new TCK(118), "PLT.12.5.5", "If the response is committed
and the reset or resetBuffer method is called, " +
+ JSR286_118(new TCK(118, "PLT.12.5.5"), "If the response is committed
and the reset or resetBuffer method is called, " +
"an IllegalStateException must be thrown."),
- JSR286_119(new TCK(119), "PLT.12.5.5", "The response and its associated
buffer must be unchanged."),
- JSR286_120(new TCK(120), "PLT.12.5.5", "When using a buffer, the
container must immediately flush the contents of " +
+ JSR286_119(new TCK(119, "PLT.12.5.5"), "The response and its associated
buffer must be unchanged."),
+ JSR286_120(new TCK(120, "PLT.12.5.5"), "When using a buffer, the
container must immediately flush the contents of " +
"a filled buffer to the portal application."),
- JSR286_121(new TCK(121), Status.specUntestable(""), "PLT.12.6.1",
"The setTitle method must be called before the " +
+ JSR286_121(new TCK(121, "PLT.12.6.1"), Status.specUntestable(""),
"The setTitle method must be called before the " +
"output of the portlet has been committed, if called after it should be
ignored."),
// PLT.13 Resource Serving
- JSR286_122(new TCK(122), "PLT.13.1.4", "The portlet must be able to get
the HTTP method with which this request " +
+ JSR286_122(new TCK(122, "PLT.13.1.4"), "The portlet must be able to get
the HTTP method with which this request " +
"was made, for example, GET, POST, or PUT, via the getMethod call on the
ResourceRequest."),
- JSR286_123(new TCK(123), "PLT.13.1.5", "The portlet must be able to get
the resource ID that was set on the resource " +
+ JSR286_123(new TCK(123, "PLT.13.1.5"), "The portlet must be able to get
the resource ID that was set on the resource " +
"URL with the setResourceID method via the getResourceID method from the
resource request."),
- JSR286_124(new TCK(124), "PLT.13.1.5", "If no resource ID was set on
the resource URL the getResourceID method must " +
+ JSR286_124(new TCK(124, "PLT.13.1.5"), "If no resource ID was set on
the resource URL the getResourceID method must " +
"return null."),
- JSR286_125(new TCK(125), "PLT.13.1.6", "When an end user invokes such a
resource URL the portlet container must " +
+ JSR286_125(new TCK(125, "PLT.13.1.6"), "When an end user invokes such a
resource URL the portlet container must " +
"call the serveResource method of the portlet or return a valid cached result
for this resource URL"),
- JSR286_126(new TCK(126), "PLT.13.1.6", "The portlet container must not
call the processAction or processEvent " +
+ JSR286_126(new TCK(126, "PLT.13.1.6"), "The portlet container must not
call the processAction or processEvent " +
"method."),
- JSR286_127(new TCK(127), "PLT.13.1.6", "ResourceURLs cannot change the
current portlet mode, window state or " +
+ JSR286_127(new TCK(127, "PLT.13.1.6"), "ResourceURLs cannot change the
current portlet mode, window state or " +
"render parameters"),
- JSR286_128(new TCK(128), "PLT.13.1.6", "If a parameter is set that has
the same name as a render parameter that " +
+ JSR286_128(new TCK(128, "PLT.13.1.6"), "If a parameter is set that has
the same name as a render parameter that " +
"this resource URL contains, the render parameter values must be the last
entries in the parameter value array."),
- JSR286_129(new TCK(129), "PLT.13.1.7", "If portlet URLs are included in
the markup, portals / portlet containers " +
+ JSR286_129(new TCK(129, "PLT.13.1.7"), "If portlet URLs are included in
the markup, portals / portlet containers " +
"must create correct portlet URLs for all text-based markup types."),
- JSR286_130(new TCK(130), "PLT.13.1.7", "Setting a cachability different
from FULL must result in an " +
+ JSR286_130(new TCK(130, "PLT.13.1.7"), "Setting a cachability different
from FULL must result in an " +
"IllegalStateException"),
- JSR286_131(new TCK(131), "PLT.13.1.7", "Attempts to create URLs that
are not of type FULL or are not resource " +
+ JSR286_131(new TCK(131, "PLT.13.1.7"), "Attempts to create URLs that
are not of type FULL or are not resource " +
"URLs in the current or a downstream response must result in\n" +
"an IllegalStateException"),
- JSR286_132(new TCK(132), "PLT.13.1.7", "Creating other URLs, e.g.
resource URLs of type PAGE or action or render " +
+ JSR286_132(new TCK(132, "PLT.13.1.7"), "Creating other URLs, e.g.
resource URLs of type PAGE or action or render " +
"URLs, must result in an IllegalStateException"),
@@ -780,448 +783,448 @@
// PLT.15 Coordination between portlets
- JSR286_133(new TCK(133), "PLT.15.2.2", "The event must always have a
name and may optionally have a value."),
- JSR286_134(new TCK(134), "PLT.15.2.2", "If the event has a value it
must be based on the type defined in the " +
+ JSR286_133(new TCK(133, "PLT.15.2.2"), "The event must always have a
name and may optionally have a value."),
+ JSR286_134(new TCK(134, "PLT.15.2.2"), "If the event has a value it
must be based on the type defined in the " +
"deployment descriptor." ),
- JSR286_135(new TCK(135), "PLT.15.2.3", "The portlet can publish events
via the StateAwareResponse.setEvent " +
+ JSR286_135(new TCK(135, "PLT.15.2.3"), "The portlet can publish events
via the StateAwareResponse.setEvent " +
"method."),
- JSR286_136(new TCK(136), "PLT.15.2.3", "It is also valid to call
StateAwareResponse.setEvent multiple times " +
+ JSR286_136(new TCK(136, "PLT.15.2.3"), "It is also valid to call
StateAwareResponse.setEvent multiple times " +
"in the current processAction or processEvent method." ),
- JSR286_137(new TCK(137), "PLT.15.2.3", "If only the local part is
specified the namespace must be the default " +
+ JSR286_137(new TCK(137, "PLT.15.2.3"), "If only the local part is
specified the namespace must be the default " +
"namespace defined in the portlet deployment descriptor with the default
namespace element."),
- JSR286_138(new TCK(138), "PLT.15.2.3", "If no such element is provided
in the portlet deployment descriptor the " +
+ JSR286_138(new TCK(138, "PLT.15.2.3"), "If no such element is provided
in the portlet deployment descriptor the " +
"XML default namespace javax.xml.XMLConstants.NULL_NS_URI must be
assumed."),
- JSR286_139(new TCK(139), "PLT.15.2.3", "Otherwise the setEvent method
on the StateAwareResponse must throw a " +
+ JSR286_139(new TCK(139, "PLT.15.2.3"), "Otherwise the setEvent method
on the StateAwareResponse must throw a " +
"java.lang.IllegalArgumentException."),
- JSR286_140(new TCK(140), "PLT.15.2.4.1", "The event definition must
contain an event name."),
- JSR286_141(new TCK(141), "PLT.15.2.4.1", "The portlet container must
use the event name entry in the portlet " +
+ JSR286_140(new TCK(140, "PLT.15.2.4.1"), "The event definition must
contain an event name."),
+ JSR286_141(new TCK(141, "PLT.15.2.4.1"), "The portlet container must
use the event name entry in the portlet " +
"deployment descriptor as event name when submitting an event to the
portlet."),
- JSR286_142(new TCK(142), "PLT.15.2.4", "The portlet can send events
which are not declared in the portlet " +
+ JSR286_142(new TCK(142, "PLT.15.2.4"), "The portlet can send events
which are not declared in the portlet " +
"deployment descriptor at runtime using the setEvent method on either the
ActionResponse or EventResponse."),
- JSR286_143(new TCK(143), "PLT.15.2.5", "Events are valid only in the
current client request and the portlet " +
+ JSR286_143(new TCK(143, "PLT.15.2.5"), "Events are valid only in the
current client request and the portlet " +
"container must therefore deliver all events within the current client
request."),
- JSR286_144(new TCK(144), "PLT.15.2.5", "Event distribution must be
serialized for a specific portlet window per " +
+ JSR286_144(new TCK(144, "PLT.15.2.5"), "Event distribution must be
serialized for a specific portlet window per " +
"client request so that at any given time a portlet window is only processing
one event in the processEvent " +
"method for the current client request."),
- JSR286_145(new TCK(145), "PLT.15.2.5", "Portlet event processing may
occur after the processing of the action, " +
+ JSR286_145(new TCK(145, "PLT.15.2.5"), "Portlet event processing may
occur after the processing of the action, " +
"if the portlet was target of an action URL, and must be finished before the
render phase."),
- JSR286_146(new TCK(146), "PLT.15.2.6", "If a portlet throws an
exception in the processEvent method, all operations" +
+ JSR286_146(new TCK(146, "PLT.15.2.6"), "If a portlet throws an
exception in the processEvent method, all operations" +
" on the EventResponse must be ignored."),
- JSR286_147(new TCK(147), "PLT.15.2.6", "If a permanent unavailability
is indicated by the UnavailableException," +
+ JSR286_147(new TCK(147, "PLT.15.2.6"), "If a permanent unavailability
is indicated by the UnavailableException," +
" the portlet container must remove the portlet from service immediately, call
the portlet’s destroy method," +
" and release the portlet object."),
// PLT.17 Portlet Preferences
- JSR286_148(new TCK(148), "PLT.17.1", "Preferences attributes can be set
to null"),
- JSR286_149(new TCK(149), "PLT.17.1", "Preferences values must not be
modified if the values in the Map are altered"),
- JSR286_150(new TCK(150), "PLT.17.1", "The reset method must reset a
preference attribute to its default value. " +
+ JSR286_148(new TCK(148, "PLT.17.1"), "Preferences attributes can be set
to null"),
+ JSR286_149(new TCK(149, "PLT.17.1"), "Preferences values must not be
modified if the values in the Map are altered"),
+ JSR286_150(new TCK(150, "PLT.17.1"), "The reset method must reset a
preference attribute to its default value. " +
"If there is no default value, the preference attribute must be
deleted."),
- JSR286_151(new TCK(151), "PLT.17.1", "If a preference attribute is read
only, the setValue, setValues and reset " +
+ JSR286_151(new TCK(151, "PLT.17.1"), "If a preference attribute is read
only, the setValue, setValues and reset " +
"methods must throw a ReadOnlyException when the portlet is in any of the
standard modes."),
- JSR286_152(new TCK(152), "PLT.17.1", "The store method must persist all
the changes made to the PortletPreferences " +
+ JSR286_152(new TCK(152, "PLT.17.1"), "The store method must persist all
the changes made to the PortletPreferences " +
"object in the persistent store."),
- JSR286_153(new TCK(153), "PLT.17.1", "The store method must be
conducted as an atomic transaction regardless of how " +
+ JSR286_153(new TCK(153, "PLT.17.1"), "The store method must be
conducted as an atomic transaction regardless of how " +
"many preference attributes have been modified."),
- JSR286_154(new TCK(154), "PLT.17.1", "All changes made to
PortletPreferences object not followed by a call to the " +
+ JSR286_154(new TCK(154, "PLT.17.1"), "All changes made to
PortletPreferences object not followed by a call to the " +
"store method must be discarded when the portlet finishes the processAction,
processEvent, or serveResource method."),
- JSR286_155(new TCK(155), "PLT.17.1", "If the store method is invoked
within the scope of a render method invocation, " +
+ JSR286_155(new TCK(155, "PLT.17.1"), "If the store method is invoked
within the scope of a render method invocation, " +
"it must throw an IllegalStateException."),
- JSR286_156(new TCK(156), "PLT.17.1", "The PortletPreferences object
must reflect the current values of the " +
+ JSR286_156(new TCK(156, "PLT.17.1"), "The PortletPreferences object
must reflect the current values of the " +
"persistent store when the portlet container invokes the processAction,
processEvent, render and serveResource " +
"methods of the portlet."),
- JSR286_157(new TCK(157), "PLT.17.3", "If a preference attribute
definition does not contain the read-only element " +
+ JSR286_157(new TCK(157, "PLT.17.3"), "If a preference attribute
definition does not contain the read-only element " +
"set to true, the preference attribute is modifiable when the portlet is
processing an action request in any " +
"of the standard portlet modes (VIEW, EDIT or HELP)."),
- JSR286_158(new TCK(158), "PLT.17.3", "Portlets are not restricted to
use preference attributes defined in the " +
+ JSR286_158(new TCK(158, "PLT.17.3"), "Portlets are not restricted to
use preference attributes defined in the " +
"deployment descriptor. They can programmatically add preference attributes
using names not defined in the " +
"deployment descriptor. These preferences attributes must be treated as
modifiable attributes."),
- JSR286_159(new TCK(159), "PLT.17.4", "When a validator is associated
with the preferences of a portlet definition, " +
+ JSR286_159(new TCK(159, "PLT.17.4"), "When a validator is associated
with the preferences of a portlet definition, " +
"the store method of the PortletPreferences implementation must invoke the
validate method of the validator " +
"before writing the changes to the persistent store."),
- JSR286_160(new TCK(160), "PLT.17.4", "If a ValidatorException is
thrown, the portlet container must cancel the " +
+ JSR286_160(new TCK(160, "PLT.17.4"), "If a ValidatorException is
thrown, the portlet container must cancel the " +
"store operation and it must propagate the exception to the portlet."),
- JSR286_161(new TCK(161), "PLT.17.4", "If the validation is successful,
the store operation must be completed"),
+ JSR286_161(new TCK(161, "PLT.17.4"), "If the validation is successful,
the store operation must be completed"),
// PLT.18 Sessions
- JSR286_162(new TCK(162), "PLT.18.1", "For portlets within the same
portlet application, a portlet container must " +
+ JSR286_162(new TCK(162, "PLT.18.1"), "For portlets within the same
portlet application, a portlet container must " +
"ensure that every portlet request generated as result of a group of requests
originated from the portal to " +
"complete a single client request receive or acquire the same
session."),
- JSR286_163(new TCK(163), "PLT.18.1", "In addition, if within these
portlet requests more than one portlet creates " +
+ JSR286_163(new TCK(163, "PLT.18.1"), "In addition, if within these
portlet requests more than one portlet creates " +
"a session, the session object must be the same for all the portlets in the
same portlet application"),
- JSR286_164(new TCK(164), "PLT.18.2", "PortletSession objects must be
scoped at the portlet application context level."),
- JSR286_165(new TCK(165), "PLT.18.2", "The portlet container must not
share the PortletSession object or the " +
+ JSR286_164(new TCK(164, "PLT.18.2"), "PortletSession objects must be
scoped at the portlet application context level."),
+ JSR286_165(new TCK(165, "PLT.18.2"), "The portlet container must not
share the PortletSession object or the " +
"attributes stored in it among different portlet applications or among
different user sessions."),
- JSR286_166(new TCK(166), "PLT.18.3", "Any object stored in the session
using the APPLICATION_SCOPE is available " +
+ JSR286_166(new TCK(166, "PLT.18.3"), "Any object stored in the session
using the APPLICATION_SCOPE is available " +
"to any other portlet that belongs to the same portlet application and that
handles a request identified as " +
"being a part of the same session."),
- JSR286_167(new TCK(167), "PLT.18.3", "Objects stored in the session
using the PORTLET_SCOPE must be available to " +
+ JSR286_167(new TCK(167, "PLT.18.3"), "Objects stored in the session
using the PORTLET_SCOPE must be available to " +
"the portlet during requests for the same portlet window that the objects
where stored from."),
- JSR286_168(new TCK(168), "PLT.18.3", "The object must be stored in the
APPLICATION_SCOPE with the following " +
+ JSR286_168(new TCK(168, "PLT.18.3"), "The object must be stored in the
APPLICATION_SCOPE with the following " +
"fabricated attribute name
‘javax.portlet.p.<ID>?<ATTRIBUTE_NAME>’. <ID> is a unique identification
for the " +
"portlet window (assigned by the portal/portlet-container) that must be equal
to the ID returned by the PortletRequest.getWindowID() method and not contain a ‘?’
character."),
- JSR286_169(new TCK(169), "PLT.18.4", "The container must ensure that
all attributes placed in the PortletSession " +
+ JSR286_169(new TCK(169, "PLT.18.4"), "The container must ensure that
all attributes placed in the PortletSession " +
"are also available in the HttpSession of the portlet application. A direct
consequence of this is that data " +
"stored in the HttpSession by servlets or JSPs of the Portlet Application is
accessible to portlets through " +
"the PortletSession in the portlet application scope."),
- JSR286_170(new TCK(170), "PLT.18.4", "Conversely, data stored by
portlets in the PortletSession in the portlet " +
+ JSR286_170(new TCK(170, "PLT.18.4"), "Conversely, data stored by
portlets in the PortletSession in the portlet " +
"application scope is accessible to servlets and JSPs through the
HttpSession."),
- JSR286_171(new TCK(171), "PLT.18.4", "If the HttpSession object is
invalidated, the PortletSession object must " +
+ JSR286_171(new TCK(171, "PLT.18.4"), "If the HttpSession object is
invalidated, the PortletSession object must " +
"also be invalidated by the portlet container."),
- JSR286_172(new TCK(172), "PLT.18.4", "If the PortletSession object is
invalidated by a portlet, the portlet " +
+ JSR286_172(new TCK(172, "PLT.18.4"), "If the PortletSession object is
invalidated by a portlet, the portlet " +
"container must invalidate the associated HttpSession object."),
- JSR286_173(new TCK(173), "PLT.18.4.1", "The getAttribute, setAttribute,
removeAttribute and getAttributeNames " +
+ JSR286_173(new TCK(173, "PLT.18.4.1"), "The getAttribute, setAttribute,
removeAttribute and getAttributeNames " +
"methods of the PortletSession interface must provide the same functionality
as the methods of the HttpSession " +
"interface with identical names adhering to the following rules: The attribute
names must be the same if " +
"APPLICATION_SCOPE scope is used."),
- JSR286_174(new TCK(174), "PLT.18.4.1", "The getAttribute, setAttribute,
removeAttribute and getAttributeNames " +
+ JSR286_174(new TCK(174, "PLT.18.4.1"), "The getAttribute, setAttribute,
removeAttribute and getAttributeNames " +
"methods of the PortletSession interface must provide the same functionality
as the methods of the HttpSession " +
"interface with identical names adhering to the following rules: The attribute
name has to conform with the " +
"specified prefixing if PORTLET_SCOPE is used."),
- JSR286_175(new TCK(175), "PLT.18.4.1", "The getAttribute, setAttribute,
removeAttribute and getAttributeNames " +
+ JSR286_175(new TCK(175, "PLT.18.4.1"), "The getAttribute, setAttribute,
removeAttribute and getAttributeNames " +
"methods of the PortletSession interface must provide the same functionality
as the methods of the HttpSession " +
"interface with identical names adhering to the following rules: The variant
of these methods that does not " +
"receive a scope must be treated as PORTLET_SCOPE."),
- JSR286_176(new TCK(176), "PLT.18.9(servlet spec)", "These
considerations include Threading Issues, Distributed " +
+ JSR286_176(new TCK(176, "PLT.18.9(servlet spec)"), "These
considerations include Threading Issues, Distributed " +
"Environments and Client Semantics."),
// PLT.19 Dispatching Requests to Servlets and JSPs
- JSR286_177(new TCK(177), "PLT.19.1", "The getRequestDispatcher method
takes a String argument describing a path " +
+ JSR286_177(new TCK(177, "PLT.19.1"), "The getRequestDispatcher method
takes a String argument describing a path " +
"within the scope of the PortletContext of a portlet application. This path
must begin with a ‘/’ and it is " +
"relative to the PortletContext root."),
- JSR286_178(new TCK(178), "PLT.19.1", "If no resource can be resolved
based on the given path or name the methods " +
+ JSR286_178(new TCK(178, "PLT.19.1"), "If no resource can be resolved
based on the given path or name the methods " +
"must return null."),
- JSR286_179(new TCK(179), "PLT.19.1.1", "The parameters associated with
a PortletRequestDispatcher are scoped to " +
+ JSR286_179(new TCK(179, "PLT.19.1.1"), "The parameters associated with
a PortletRequestDispatcher are scoped to " +
"apply only for the duration of the include call."),
- JSR286_180(new TCK(180), "PLT.19.2", "The parameters to these methods
must be the request and response arguments " +
+ JSR286_180(new TCK(180, "PLT.19.2"), "The parameters to these methods
must be the request and response arguments " +
"that were passed in via the corresponding lifecycle method (e.g.
processAction, processEvent, serveResource, " +
"render) , or the request and response arguments must be instances of the
corresponding subclasses of the request " +
"and response wrapper classes that were introduced for version 2.0 of the
specification."),
- JSR286_181(new TCK(181), "PLT.19.2", "The portlet container must ensure
that the servlet or JSP called through a" +
+ JSR286_181(new TCK(181, "PLT.19.2"), "The portlet container must ensure
that the servlet or JSP called through a" +
" PortletRequestDispatcher is called in the same thread as the
PortletRequestDispatcher include invocation"),
- JSR286_182(new TCK(182), "PLT.19.3", "Servlets and JSPs included from
portlets in the render method must be handled " +
+ JSR286_182(new TCK(182, "PLT.19.3"), "Servlets and JSPs included from
portlets in the render method must be handled " +
"as HTTP GET requests."),
- JSR286_183(new TCK(183), "PLT.19.3.1", "Except for servlets obtained by
using the getNamedDispatcher method, a " +
+ JSR286_183(new TCK(183, "PLT.19.3.1"), "Except for servlets obtained by
using the getNamedDispatcher method, a " +
"servlet or JSP being used from within an include call has access to the path
used to obtain the " +
"PortletRequestDispatcher. The following request attributes must be set:
javax.servlet.include.request_uri, " +
"javax.servlet.include.context_path, javax.servlet.include.servlet_path,
javax.servlet.include.path_info, " +
"javax.servlet.include.query_string"),
- JSR286_184(new TCK(184), "PLT.19.3.2", "These attributes must be the
same Portlet API objects accessible to the " +
+ JSR286_184(new TCK(184, "PLT.19.3.2"), "These attributes must be the
same Portlet API objects accessible to the " +
"portlet doing the include call."),
// PLT.19.3.3 Request and Response Objects for Included Servlets/JSPs from within the
Action and Event processing Methods
- JSR286_185(new TCK(185), "PLT.19.3.3", "The following methods of the
HttpServletRequest must return null: " +
+ JSR286_185(new TCK(185, "PLT.19.3.3"), "The following methods of the
HttpServletRequest must return null: " +
"getRemoteAddr, getRemoteHost, getRealPath, getLocalAddress, getLocalName, and
getRequestURL."),
- JSR286_186(new TCK(186), "PLT.19.3.3", "The following methods of the
HttpServletRequest must return ‘0’: " +
+ JSR286_186(new TCK(186, "PLT.19.3.3"), "The following methods of the
HttpServletRequest must return ‘0’: " +
"getRemotePort and getLocalPort."),
- JSR286_187(new TCK(187), "PLT.19.3.3", "The following methods of the
HttpServletRequest must return the path " +
+ JSR286_187(new TCK(187, "PLT.19.3.3"), "The following methods of the
HttpServletRequest must return the path " +
"and query string information used to obtain the PortletRequestDispatcher
object: getPathInfo, " +
"getPathTranslated, getQueryString, getRequestURI and getServletPath."),
- JSR286_188(new TCK(188), "PLT.19.3.3", "The following methods of the
HttpServletRequest must be equivalent " +
+ JSR286_188(new TCK(188, "PLT.19.3.3"), "The following methods of the
HttpServletRequest must be equivalent " +
"to the methods of the PortletRequest of similar name: getScheme,
getServerName, getServerPort, getAttribute, " +
"getAttributeNames, setAttribute, removeAttribute, getLocale, getLocales,
isSecure, getAuthType,\n" +
"getContextPath, getRemoteUser, getUserPrincipal, getRequestedSessionId,
isRequestedSessionIdValid, getCookies."),
- JSR286_189(new TCK(189), "PLT.19.3.3", "The following methods of the
HttpServletRequest must be equivalent to " +
+ JSR286_189(new TCK(189, "PLT.19.3.3"), "The following methods of the
HttpServletRequest must be equivalent to " +
"the methods of the PortletRequest of similar name with the provision defined
in PLT.19.1.1 Query Strings " +
"in Request Dispatcher Paths Section: getParameter, getParameterNames,
getParameterValues and getParameterMap."),
- JSR286_190(new TCK(190), "PLT.19.3.3", "In case of an include from
processAction, the following methods of the " +
+ JSR286_190(new TCK(190, "PLT.19.3.3"), "In case of an include from
processAction, the following methods of the " +
"HttpServletRequest must be based on the corresponding methods of the\n"
+
"ActionRequest: getCharacterEncoding, setCharacterEncoding, getContentType,
getInputStream, getContentLength, " +
"getMethod and getReader."),
- JSR286_191(new TCK(191), "PLT.19.3.3", "In case of an include from
processEvent, the following methods of the " +
+ JSR286_191(new TCK(191, "PLT.19.3.3"), "In case of an include from
processEvent, the following methods of the " +
"HttpServletRequest must do no operations and/or return null:
getCharacterEncoding, setCharacterEncoding, " +
"getContentType, getInputStream and getReader"),
- JSR286_192(new TCK(192), "PLT.19.3.3", "The getContentLength method of
the HttpServletRequest must return 0."),
- JSR286_193(new TCK(193), "PLT.19.3.3", "The getMethod method of the
HTTPServletRequest must be based on the " +
+ JSR286_192(new TCK(192, "PLT.19.3.3"), "The getContentLength method of
the HttpServletRequest must return 0."),
+ JSR286_193(new TCK(193, "PLT.19.3.3"), "The getMethod method of the
HTTPServletRequest must be based on the " +
"corresponding method of the EventRequest, which must provide the name of the
HTTP method with which the " +
"original action request was made."),
- JSR286_194(new TCK(194), "PLT.19.3.3", "The following methods of the
HttpServletRequest must be based on the " +
+ JSR286_194(new TCK(194, "PLT.19.3.3"), "The following methods of the
HttpServletRequest must be based on the " +
"properties provided by the getProperties method of the PortletRequest
interface: getHeader, getHeaders, " +
"getHeaderNames, getDateHeader and getIntHeader."),
- JSR286_195(new TCK(195), "PLT.19.3.3", "The following methods of the
HttpServletRequest must provide the " +
+ JSR286_195(new TCK(195, "PLT.19.3.3"), "The following methods of the
HttpServletRequest must provide the " +
"functionality defined by the Servlet Specification: getRequestDispatcher,
isUserInRole, getSession, " +
"isRequestedSessionIdFromCookie, isRequestedSessionIdFromURL and
isRequestedSessionIdFromUrl."),
- JSR286_196(new TCK(196), "PLT.19.3.3", "The getProtocol method of the
HttpServletRequest must always return " +
+ JSR286_196(new TCK(196, "PLT.19.3.3"), "The getProtocol method of the
HttpServletRequest must always return " +
"‘HTTP/1.1’.The getProtocol method of the HttpServletRequest must always
return ‘HTTP/1.1’."),
- JSR286_197(new TCK(197), "PLT.19.3.3", "The following methods of the
HttpServletResponse must return null: " +
+ JSR286_197(new TCK(197, "PLT.19.3.3"), "The following methods of the
HttpServletResponse must return null: " +
"encodeRedirectURL, encodeRedirectUrl, getCharacterEncoding, getContentType,
getLocale, resetBuffer, reset."),
- JSR286_198(new TCK(198), "PLT.19.3.3", "The following method of the
HttpServletResponse must return 0: getBufferSize."),
- JSR286_199(new TCK(199), "PLT.19.3.3", "The following methods of the
HttpServletResponse must return an " +
+ JSR286_198(new TCK(198, "PLT.19.3.3"), "The following method of the
HttpServletResponse must return 0: getBufferSize."),
+ JSR286_199(new TCK(199, "PLT.19.3.3"), "The following methods of the
HttpServletResponse must return an " +
"outputstream / writer that ignores any output written to it: getOutputStream
and getWriter."),
- JSR286_200(new TCK(200), "PLT.19.3.3", "The following methods of the
HttpServletResponse must be equivalent " +
+ JSR286_200(new TCK(200, "PLT.19.3.3"), "The following methods of the
HttpServletResponse must be equivalent " +
"to the methods of the ActionResponse/EventResponse of similar name: encodeURL
and encodeUrl."),
- JSR286_201(new TCK(201), Status.specUntestable("impl"),
"PLT.19.3.3", "The following methods of the HttpServletResponse must
perform no " +
+ JSR286_201(new TCK(201, "PLT.19.3.3"),
Status.specUntestable("impl"), "The following methods of the
HttpServletResponse must perform no " +
"operations: setContentType, setCharacterEncoding, setContentLength,
setLocale, addCookie, sendError, " +
"sendRedirect, setDateHeader, addDateHeader, setHeader, addHeader,
setIntHeader, addIntHeader, setStatus,\n" +
"setBufferSize and flushBuffer."),
- JSR286_202(new TCK(202), "PLT.19.3.3", "The containsHeader method of
the HttpServletResponse must return false."),
- JSR286_203(new TCK(203), "PLT.19.3.3", "The isCommitted method of the
HttpServletResponse must return true."),
+ JSR286_202(new TCK(202, "PLT.19.3.3"), "The containsHeader method of
the HttpServletResponse must return false."),
+ JSR286_203(new TCK(203, "PLT.19.3.3"), "The isCommitted method of the
HttpServletResponse must return true."),
// PLT.19.3.4 Request and Response Objects for Included Servlets/JSPs from within the
Render Method
- JSR286_204(new TCK(204), "PLT.19.3.4", "The following methods of the
HttpServletRequest must return null: " +
+ JSR286_204(new TCK(204, "PLT.19.3.4"), "The following methods of the
HttpServletRequest must return null: " +
"getRemoteAddr, getRemoteHost, getLocalAddress, getLocalName, getRealPath, and
getRequestURL."),
- JSR286_205(new TCK(205), "PLT.19.3.4", "The following methods of the
HttpServletRequest must return ‘0’: " +
+ JSR286_205(new TCK(205, "PLT.19.3.4"), "The following methods of the
HttpServletRequest must return ‘0’: " +
"getRemotePort and getLocalPort."),
- JSR286_206(new TCK(206), "PLT.19.3.4", "The following methods of the
HttpServletRequest must return the " +
+ JSR286_206(new TCK(206, "PLT.19.3.4"), "The following methods of the
HttpServletRequest must return the " +
"path and query string information used to obtain the PortletRequestDispatcher
object: getPathInfo, " +
"getPathTranslated, getQueryString, getRequestURI and getServletPath."),
- JSR286_207(new TCK(207), "PLT.19.3.4", "The following methods of the
HttpServletRequest must be equivalent " +
+ JSR286_207(new TCK(207, "PLT.19.3.4"), "The following methods of the
HttpServletRequest must be equivalent " +
"to the methods of the PortletRequest of similar name: getScheme,
getServerName, getServerPort, getAttribute, " +
"getAttributeNames, setAttribute, removeAttribute, getLocale, getLocales,
isSecure, getAuthType, getContextPath, " +
"getRemoteUser, getUserPrincipal, getRequestedSessionId,
isRequestedSessionIdValid, getCookies."),
- JSR286_208(new TCK(208), "PLT.19.3.4", "The following methods of the
HttpServletRequest must be equivalent to " +
+ JSR286_208(new TCK(208, "PLT.19.3.4"), "The following methods of the
HttpServletRequest must be equivalent to " +
"the methods of the PortletRequest of similar name with the provision defined
in PLT.18.1.1 Query Strings in " +
"Request Dispatcher Paths Section: getParameter, getParameterNames,
getParameterValues and getParameterMap."),
- JSR286_209(new TCK(209), "PLT.19.3.4", "The following methods of the
HttpServletRequest must do no operations " +
+ JSR286_209(new TCK(209, "PLT.19.3.4"), "The following methods of the
HttpServletRequest must do no operations " +
"and return null: getCharacterEncoding, setCharacterEncoding, getContentType,
getInputStream and getReader."),
- JSR286_210(new TCK(210), "PLT.19.3.4", "The getContentLength method of
the HttpServletRequest must return 0"),
- JSR286_211(new TCK(211), "PLT.19.3.4", "The following methods of the
HttpServletRequest must be based on the " +
+ JSR286_210(new TCK(210, "PLT.19.3.4"), "The getContentLength method of
the HttpServletRequest must return 0"),
+ JSR286_211(new TCK(211, "PLT.19.3.4"), "The following methods of the
HttpServletRequest must be based on the " +
"properties provided by the getProperties method of the PortletRequest
interface: getHeader, getHeaders, " +
"getHeaderNames, getDateHeader and getIntHeader."),
- JSR286_212(new TCK(212), "PLT.19.3.4", "The following methods of the
HttpServletRequest must provide the " +
+ JSR286_212(new TCK(212, "PLT.19.3.4"), "The following methods of the
HttpServletRequest must provide the " +
"functionality defined by the Servlet Specification: getRequestDispatcher,
isUserInRole, getSession, " +
"isRequestedSessionIdFromCookie, isRequestedSessionIdFromURL and
isRequestedSessionIdFromUrl."),
- JSR286_213(new TCK(213), "PLT.19.3.4", "The getMethod method of the
HttpServletRequest must always return ‘GET’."),
- JSR286_214(new TCK(214), "PLT.19.3.4", "The getProtocol method of the
HttpServletRequest must always return ‘HTTP/1.1’."),
- JSR286_215(new TCK(215), "PLT.19.3.4", "The following methods of the
HttpServletResponse must return null: " +
+ JSR286_213(new TCK(213, "PLT.19.3.4"), "The getMethod method of the
HttpServletRequest must always return ‘GET’."),
+ JSR286_214(new TCK(214, "PLT.19.3.4"), "The getProtocol method of the
HttpServletRequest must always return ‘HTTP/1.1’."),
+ JSR286_215(new TCK(215, "PLT.19.3.4"), "The following methods of the
HttpServletResponse must return null: " +
"encodeRedirectURL and encodeRedirectUrl."),
- JSR286_216(new TCK(216), "PLT.19.3.4", "The following methods of the
HttpServletResponse must be equivalent " +
+ JSR286_216(new TCK(216, "PLT.19.3.4"), "The following methods of the
HttpServletResponse must be equivalent " +
"to the methods of the RenderResponse of similar name: getCharacterEncoding,
setBufferSize, flushBuffer, " +
"resetBuffer, reset, getBufferSize, isCommitted, getOutputStream, getWriter,
encodeURL and encodeUrl."),
- JSR286_217(new TCK(217), Status.specUntestable("impl"),
"PLT.19.3.4", "The following methods of the HttpServletResponse must
perform no " +
+ JSR286_217(new TCK(217, "PLT.19.3.4"),
Status.specUntestable("impl"), "The following methods of the
HttpServletResponse must perform no " +
"operations: setContentType, setContentLength, setLocale, addCookie,
sendError, sendRedirect, setDateHeader, " +
"addDateHeader, setHeader, addHeader, setIntHeader, addIntHeader and
setStatus."),
- JSR286_218(new TCK(218), "PLT.19.3.4", "The containsHeader method of
the HttpServletResponse must return false."),
- JSR286_219(new TCK(219), "PLT.19.3.4", "The getLocale method of the
HttpServletResponse must be based on the " +
+ JSR286_218(new TCK(218, "PLT.19.3.4"), "The containsHeader method of
the HttpServletResponse must return false."),
+ JSR286_219(new TCK(219, "PLT.19.3.4"), "The getLocale method of the
HttpServletResponse must be based on the " +
"getLocale method of the RenderResponse."),
// PLT.19.3.5 Request and Response Objects for Included Servlets/JSPs from within the
ServeResource Method
- JSR286_220(new TCK(220), "PLT.19.3.5", "The following methods of the
HttpServletRequest must return null: " +
+ JSR286_220(new TCK(220, "PLT.19.3.5"), "The following methods of the
HttpServletRequest must return null: " +
"getRemoteAddr, getRemoteHost, getLocalAddress, getLocalName, getRealPath, and
getRequestURL."),
- JSR286_221(new TCK(221), "PLT.19.3.5", "The following methods of the
HttpServletRequest must return ‘0’:" +
+ JSR286_221(new TCK(221, "PLT.19.3.5"), "The following methods of the
HttpServletRequest must return ‘0’:" +
" getRemotePort and getLocalPort."),
- JSR286_222(new TCK(222), "PLT.19.3.5", "The following methods of the
HttpServletRequest must return the " +
+ JSR286_222(new TCK(222, "PLT.19.3.5"), "The following methods of the
HttpServletRequest must return the " +
"path and query string information used to obtain the PortletRequestDispatcher
object: getPathInfo, " +
"getPathTranslated, getQueryString, getRequestURI and getServletPath."),
- JSR286_223(new TCK(223), "PLT.19.3.5", "The following methods of the
HttpServletRequest must be equivalent " +
+ JSR286_223(new TCK(223, "PLT.19.3.5"), "The following methods of the
HttpServletRequest must be equivalent " +
"to the methods of the PortletRequest of similar name: getScheme,
getServerName, getServerPort, getAttribute, " +
"getAttributeNames, setAttribute, removeAttribute, getLocale, getLocales,
isSecure, getAuthType,\n" +
"getContextPath, getRemoteUser, getUserPrincipal, getRequestedSessionId,
isRequestedSessionIdValid, getCookies."),
- JSR286_224(new TCK(224), "PLT.19.3.5", "The following methods of the
HttpServletRequest must be equivalent to " +
+ JSR286_224(new TCK(224, "PLT.19.3.5"), "The following methods of the
HttpServletRequest must be equivalent to " +
"the methods of the ResourceRequest of similar name: getCharacterEncoding,
setCharacterEncoding, getContentType, " +
"getMethod, getContentLength and getReader."),
- JSR286_225(new TCK(225), "PLT.19.3.5", "The following methods of the
HttpServletRequest must be equivalent to " +
+ JSR286_225(new TCK(225, "PLT.19.3.5"), "The following methods of the
HttpServletRequest must be equivalent to " +
"the methods of the PortletRequest of similar name with the provision defined
in PLT.18.1.1 Query Strings in " +
"Request Dispatcher Paths Section: getParameter, getParameterNames,
getParameterValues and getParameterMap."),
- JSR286_226(new TCK(226), "PLT.19.3.5", "The following methods of the
HttpServletRequest must be based on the " +
+ JSR286_226(new TCK(226, "PLT.19.3.5"), "The following methods of the
HttpServletRequest must be based on the " +
"properties provided by the getProperties method of the PortletRequest
interface: getHeader, getHeaders, " +
"getHeaderNames, getDateHeader and getIntHeader."),
- JSR286_227(new TCK(227), "PLT.19.3.5", "The following methods of the
HttpServletRequest must provide the " +
+ JSR286_227(new TCK(227, "PLT.19.3.5"), "The following methods of the
HttpServletRequest must provide the " +
"functionality defined by the Servlet Specification: getRequestDispatcher,
isUserInRole, getSession, " +
"isRequestedSessionIdFromCookie, isRequestedSessionIdFromURL and
isRequestedSessionIdFromUrl."),
- JSR286_228(new TCK(228), "PLT.19.3.5", "The getProtocol method of the
HttpServletRequest must always return ‘HTTP/1.1’."),
- JSR286_229(new TCK(229), "PLT.19.3.5", "The following methods of the
HttpServletResponse must return null: " +
+ JSR286_228(new TCK(228, "PLT.19.3.5"), "The getProtocol method of the
HttpServletRequest must always return ‘HTTP/1.1’."),
+ JSR286_229(new TCK(229, "PLT.19.3.5"), "The following methods of the
HttpServletResponse must return null: " +
"encodeRedirectURL and encodeRedirectUrl."),
- JSR286_230(new TCK(230), "PLT.19.3.5", "The following methods of the
HttpServletResponse must be equivalent " +
+ JSR286_230(new TCK(230, "PLT.19.3.5"), "The following methods of the
HttpServletResponse must be equivalent " +
"to the methods of the ResourceResponse of similar name: getCharacterEncoding,
setBufferSize, flushBuffer, " +
"resetBuffer, reset, getBufferSize, isCommitted, getOutputStream, getWriter,
getLocale, encodeURL and encodeUrl."),
- JSR286_231(new TCK(231), Status.specUntestable("impl"),
"PLT.19.3.5", "The following methods of the HttpServletResponse must
perform no " +
+ JSR286_231(new TCK(231, "PLT.19.3.5"),
Status.specUntestable("impl"), "The following methods of the
HttpServletResponse must perform no " +
"operations: sendError, sendRedirect, addCookie, setDateHeader, addDateHeader,
setHeader, addHeader, " +
"setIntHeader, addIntHeader, setContentLength, setCharacterEncoding,
setContentType, setLocale and setStatus."),
- JSR286_232(new TCK(232), "PLT.19.3.5", "The containsHeader method of
the HttpServletResponse must return false."),
+ JSR286_232(new TCK(232, "PLT.19.3.5"), "The containsHeader method of
the HttpServletResponse must return false."),
//
- JSR286_233(new TCK(233), "PLT.19.3.7", "If the servlet or JSP that is
the target of a request dispatcher throws a " +
+ JSR286_233(new TCK(233, "PLT.19.3.7"), "If the servlet or JSP that is
the target of a request dispatcher throws a " +
"runtime exception or a checked exception of type IOException, it must be
propagated to the calling portlet."),
- JSR286_234(new TCK(234), "PLT.19.3.7", "All other exceptions, including
a ServletException, must be wrapped with a" +
+ JSR286_234(new TCK(234, "PLT.19.3.7"), "All other exceptions, including
a ServletException, must be wrapped with a" +
" PortletException. The root cause of the exception must be set to the
original exception before being propagated."),
- JSR286_235(new TCK(235), "PLT.19.3.8", "Thus the portlet acts as
starting point of the include chain and the " +
+ JSR286_235(new TCK(235, "PLT.19.3.8"), "Thus the portlet acts as
starting point of the include chain and the " +
"included / forwarded servlet must get the path and query string information
used to obtain the " +
"PortletRequestDispatcher object."),
- JSR286_236(new TCK(236), "PLT.19.4", "If output data exists in the
response buffer that has not been committed, " +
+ JSR286_236(new TCK(236, "PLT.19.4"), "If output data exists in the
response buffer that has not been committed, " +
"the content must be cleared before the target servlet’s service method is
called."),
- JSR286_237(new TCK(237), "PLT.19.4", "If the response has been
committed, an IllegalStateException must be thrown."),
- JSR286_238(new TCK(238), "PLT.19.4", "Before the forward method of the
RequestDispatcher interface returns, the " +
+ JSR286_237(new TCK(237, "PLT.19.4"), "If the response has been
committed, an IllegalStateException must be thrown."),
+ JSR286_238(new TCK(238, "PLT.19.4"), "Before the forward method of the
RequestDispatcher interface returns, the " +
"response content must be sent and committed, and closed by the portlet
container."),
- JSR286_239(new TCK(239), "PLT.19.4.2", "The following request
attributes must be set: " +
+ JSR286_239(new TCK(239, "PLT.19.4.2"), "The following request
attributes must be set: " +
"javax.servlet.forward.request_uri, javax.servlet.forward.context_path,
javax.servlet.forward.servlet_path, " +
"javax.servlet.forward.path_info, javax.servlet.forward.query_string"),
- JSR286_240(new TCK(240), "PLT.19.4.2", "The values of these attributes
must be equal to the return values of the " +
+ JSR286_240(new TCK(240, "PLT.19.4.2"), "The values of these attributes
must be equal to the return values of the " +
"HttpServletRequest methods getRequestURI, getContextPath, getServletPath,
getPathInfo, getQueryString " +
"respectively, invoked on the request object passed to the first servlet
object in the forward call chain."),
- JSR286_241(new TCK(241), "PLT.19.4.2", "These attributes are accessible
from the forwarded servlet via the " +
+ JSR286_241(new TCK(241, "PLT.19.4.2"), "These attributes are accessible
from the forwarded servlet via the " +
"getAttribute method on the request object. Note that these attributes must
always reflect the information " +
"in the target of the first forward servlet in the situation that multiple
forwards and subsequent includes " +
"are called."),
- JSR286_242(new TCK(242), "PLT.19.4.2", "If the forwarded servlet was
obtained by using the getNamedDispatcher" +
+ JSR286_242(new TCK(242, "PLT.19.4.2"), "If the forwarded servlet was
obtained by using the getNamedDispatcher" +
" method, these attributes must not be set."),
// PLT.19.4.3 Request and Response Objects for Forwarded Servlets/JSPs from within the
Action and Event processing Methods
- JSR286_243(new TCK(243), "PLT.19.4.3", "The following methods of the
HttpServletRequest must return null: " +
+ JSR286_243(new TCK(243, "PLT.19.4.3"), "The following methods of the
HttpServletRequest must return null: " +
"getRemoteAddr, getRemoteHost, getLocalAddress, getLocalName, getRealPath, and
getRequestURL."),
- JSR286_244(new TCK(244), "PLT.19.4.3", "The following methods of the
HttpServletRequest must return ‘0’: " +
+ JSR286_244(new TCK(244, "PLT.19.4.3"), "The following methods of the
HttpServletRequest must return ‘0’: " +
"getRemotePort and getLocalPort."),
- JSR286_245(new TCK(245), "PLT.19.4.3", "The following methods of the
HttpServletRequest must return the path " +
+ JSR286_245(new TCK(245, "PLT.19.4.3"), "The following methods of the
HttpServletRequest must return the path " +
"and query string information used to obtain the PortletRequestDispatcher
object: getPathInfo, getPathTranslated, " +
"getQueryString, getRequestURI and getServletPath."),
- JSR286_246(new TCK(246), "PLT.19.4.3", "The following methods of the
HttpServletRequest must be equivalent to " +
+ JSR286_246(new TCK(246, "PLT.19.4.3"), "The following methods of the
HttpServletRequest must be equivalent to " +
"the methods of the PortletRequest of similar name: getScheme, getServerName,
getServerPort, getAttribute, " +
"getAttributeNames, setAttribute, removeAttribute, getLocale, getLocales,
isSecure, getAuthType, getContextPath, " +
"getRemoteUser, getUserPrincipal, getRequestedSessionId,
isRequestedSessionIdValid, getCookies."),
- JSR286_247(new TCK(247), "PLT.19.4.3", "The following methods of the
HttpServletRequest must be equivalent to the " +
+ JSR286_247(new TCK(247, "PLT.19.4.3"), "The following methods of the
HttpServletRequest must be equivalent to the " +
"methods of the PortletRequest of similar name with the provision defined in
PLT.18.1.1 Query Strings in Request " +
"Dispatcher Paths Section: getParameter, getParameterNames, getParameterValues
and getParameterMap."),
- JSR286_248(new TCK(248), "PLT.19.4.3", "In case of a forward from
processAction, the following methods of the " +
+ JSR286_248(new TCK(248, "PLT.19.4.3"), "In case of a forward from
processAction, the following methods of the " +
"HttpServletRequest must be based on the corresponding methods of the\n"
+
"ActionRequest: getCharacterEncoding, setCharacterEncoding, getContentType,
getInputStream, getContentLength, " +
"getMethod and getReader."),
- JSR286_249(new TCK(249), "PLT.19.4.3", "In case of a forward from
processEvent, the following methods of the " +
+ JSR286_249(new TCK(249, "PLT.19.4.3"), "In case of a forward from
processEvent, the following methods of the " +
"HttpServletRequest must do no operations and/or return null:
getCharacterEncoding, setCharacterEncoding, " +
"getContentType, getInputStream and getReader."),
- JSR286_250(new TCK(250), "PLT.19.4.3", "The getContentLength method of
the HttpServletRequest must return 0."),
- JSR286_251(new TCK(251), "PLT.19.4.3", "The getMethod method of the
HttpServletRequest must be based on the " +
+ JSR286_250(new TCK(250, "PLT.19.4.3"), "The getContentLength method of
the HttpServletRequest must return 0."),
+ JSR286_251(new TCK(251, "PLT.19.4.3"), "The getMethod method of the
HttpServletRequest must be based on the " +
"corresponding method of the ActionRequest triggering this event."),
- JSR286_252(new TCK(252), "PLT.19.4.3", "The following methods of the
HttpServletRequest must be based on the " +
+ JSR286_252(new TCK(252, "PLT.19.4.3"), "The following methods of the
HttpServletRequest must be based on the " +
"properties provided by the getProperties method of the PortletRequest
interface: getHeader, getHeaders, " +
"getHeaderNames, getDateHeader and getIntHeader."),
- JSR286_253(new TCK(253), "PLT.19.4.3", "The following methods of the
HttpServletRequest must provide the " +
+ JSR286_253(new TCK(253, "PLT.19.4.3"), "The following methods of the
HttpServletRequest must provide the " +
"functionality defined by the Servlet Specification: getRequestDispatcher,
isUserInRole, getSession, " +
"isRequestedSessionIdFromCookie, isRequestedSessionIdFromURL and
isRequestedSessionIdFromUrl."),
- JSR286_254(new TCK(254), "PLT.19.4.3", "The getProtocol method of the
HttpServletRequest must always return " +
+ JSR286_254(new TCK(254, "PLT.19.4.3"), "The getProtocol method of the
HttpServletRequest must always return " +
"‘HTTP/1.1’."),
- JSR286_255(new TCK(255), "PLT.19.4.3", "The following methods of the
HttpServletResponse must return null: " +
+ JSR286_255(new TCK(255, "PLT.19.4.3"), "The following methods of the
HttpServletResponse must return null: " +
"encodeRedirectURL, encodeRedirectUrl, getCharacterEncoding, getContentType,
getLocale, and getBufferSize."),
- JSR286_256(new TCK(256), "PLT.19.4.3", "The following methods of the
HttpServletResponse must return an " +
+ JSR286_256(new TCK(256, "PLT.19.4.3"), "The following methods of the
HttpServletResponse must return an " +
"outputstream / writer that ignores any output written to it: getOutputStream
and getWriter."),
- JSR286_257(new TCK(257), "PLT.19.4.3", "The following methods of the
HttpServletResponse must be equivalent " +
+ JSR286_257(new TCK(257, "PLT.19.4.3"), "The following methods of the
HttpServletResponse must be equivalent " +
"to the methods of the ActionResponse/EventResponse of similar name: encodeURL
and encodeUrl."),
- JSR286_258(new TCK(258), Status.specUntestable("imp"),
"PLT.19.4.3", "The following methods of the HttpServletResponse must
perform no " +
+ JSR286_258(new TCK(258, "PLT.19.4.3"),
Status.specUntestable("imp"), "The following methods of the
HttpServletResponse must perform no " +
"operations: resetBuffer, reset, setContentType, setContentLength,\n" +
"setCharacterEncoding, setLocale, sendError, setDateHeader, addDateHeader,
setHeader, addHeader, setIntHeader, " +
"addIntHeader, setStatus, setBufferSize and flushBuffer."),
- JSR286_259(new TCK(259), Status.specUntestable("impl"),
"PLT.19.4.3", "The addCookie method of the HttpServletResponse must be
based on " +
+ JSR286_259(new TCK(259, "PLT.19.4.3"),
Status.specUntestable("impl"), "The addCookie method of the
HttpServletResponse must be based on " +
"addProperty method of the ActionResponse/EventResponse interface."),
- JSR286_260(new TCK(260), "PLT.19.4.3", "The containsHeader method of
the HttpServletResponse must return false."),
- JSR286_261(new TCK(261), "PLT.19.4.3", "The isCommitted method of the
HttpServletResponse must return false."),
+ JSR286_260(new TCK(260, "PLT.19.4.3"), "The containsHeader method of
the HttpServletResponse must return false."),
+ JSR286_261(new TCK(261, "PLT.19.4.3"), "The isCommitted method of the
HttpServletResponse must return false."),
// PLT.19.4.4 Request and Response Objects for Forwarded Servlets/JSPs from within the
Render Method
- JSR286_262(new TCK(262), "PLT.19.4.4", "The following methods of the
HttpServletRequest must return null: " +
+ JSR286_262(new TCK(262, "PLT.19.4.4"), "The following methods of the
HttpServletRequest must return null: " +
"getRemoteAddr, getRemoteHost, getLocalAddress, getLocalName, getRealPath, and
getRequestURL."),
- JSR286_263(new TCK(263), "PLT.19.4.4", "The following methods of the
HttpServletRequest must return ‘0’: " +
+ JSR286_263(new TCK(263, "PLT.19.4.4"), "The following methods of the
HttpServletRequest must return ‘0’: " +
"getRemotePort and getLocalPort."),
- JSR286_264(new TCK(264), "PLT.19.4.4", "The following methods of the
HttpServletRequest must return the " +
+ JSR286_264(new TCK(264, "PLT.19.4.4"), "The following methods of the
HttpServletRequest must return the " +
"path and query string information used to obtain the PortletRequestDispatcher
object: getPathInfo, " +
"getPathTranslated, getQueryString, getRequestURI and getServletPath."),
- JSR286_265(new TCK(265), "PLT.19.4.4", "The following methods of the
HttpServletRequest must be equivalent " +
+ JSR286_265(new TCK(265, "PLT.19.4.4"), "The following methods of the
HttpServletRequest must be equivalent " +
"to the methods of the PortletRequest of similar name: getScheme,
getServerName, getServerPort, getAttribute, " +
"getAttributeNames, setAttribute, removeAttribute, getLocale, getLocales,
isSecure, getAuthType, " +
"getContextPath, getRemoteUser, getUserPrincipal, getRequestedSessionId,
isRequestedSessionIdValid, getCookies."),
- JSR286_266(new TCK(266), "PLT.19.4.4", "The following methods of the
HttpServletRequest must be equivalent " +
+ JSR286_266(new TCK(266, "PLT.19.4.4"), "The following methods of the
HttpServletRequest must be equivalent " +
"to the methods of the PortletRequest of similar name with the provision
defined in PLT.18.1.1 Query Strings " +
"in Request Dispatcher Paths Section: getParameter, getParameterNames,
getParameterValues and getParameterMap."),
- JSR286_267(new TCK(267), "PLT.19.4.4", "The following methods of the
HttpServletRequest must do no operations " +
+ JSR286_267(new TCK(267, "PLT.19.4.4"), "The following methods of the
HttpServletRequest must do no operations " +
"and return null: getCharacterEncoding, setCharacterEncoding, getContentType,
getInputStream and getReader."),
- JSR286_268(new TCK(268), "PLT.19.4.4", "The getContentLength method of
the HttpServletRequest must return 0."),
- JSR286_269(new TCK(269), "PLT.19.4.4", "The following methods of the
HttpServletRequest must be based on the " +
+ JSR286_268(new TCK(268, "PLT.19.4.4"), "The getContentLength method of
the HttpServletRequest must return 0."),
+ JSR286_269(new TCK(269, "PLT.19.4.4"), "The following methods of the
HttpServletRequest must be based on the " +
"properties provided by the getProperties method of the PortletRequest
interface: getHeader, getHeaders, " +
"getHeaderNames, getDateHeader and getIntHeader."),
- JSR286_270(new TCK(270), "PLT.19.4.4", "The following methods of the
HttpServletRequest must provide the " +
+ JSR286_270(new TCK(270, "PLT.19.4.4"), "The following methods of the
HttpServletRequest must provide the " +
"functionality defined by the Servlet Specification: getRequestDispatcher,
isUserInRole, getSession, " +
"isRequestedSessionIdFromCookie, isRequestedSessionIdFromURL and
isRequestedSessionIdFromUrl."),
- JSR286_271(new TCK(271), "PLT.19.4.4", "The getMethod method of the
HttpServletRequest must always return ‘GET’."),
- JSR286_272(new TCK(272), "PLT.19.4.4", "The getProtocol method of the
HttpServletRequest must always return ‘HTTP/1.1’."),
- JSR286_273(new TCK(273), "PLT.19.4.4", "The following methods of the
HttpServletResponse must return null: " +
+ JSR286_271(new TCK(271, "PLT.19.4.4"), "The getMethod method of the
HttpServletRequest must always return ‘GET’."),
+ JSR286_272(new TCK(272, "PLT.19.4.4"), "The getProtocol method of the
HttpServletRequest must always return ‘HTTP/1.1’."),
+ JSR286_273(new TCK(273, "PLT.19.4.4"), "The following methods of the
HttpServletResponse must return null: " +
"encodeRedirectURL and encodeRedirectUrl."),
- JSR286_274(new TCK(274), "PLT.19.4.4", "The following methods of the
HttpServletResponse must be equivalent " +
+ JSR286_274(new TCK(274, "PLT.19.4.4"), "The following methods of the
HttpServletResponse must be equivalent " +
"to the methods of the RenderResponse of similar name: getCharacterEncoding,
setBufferSize, flushBuffer, " +
"resetBuffer, reset, getBufferSize, getLocale, isCommitted, getOutputStream,
getWriter, setContentType, " +
"encodeURL and encodeUrl."),
- JSR286_275(new TCK(275), Status.specUntestable("impl"),
"PLT.19.4.4", "The following methods of the HttpServletResponse must
perform no " +
+ JSR286_275(new TCK(275, "PLT.19.4.4"),
Status.specUntestable("impl"), "The following methods of the
HttpServletResponse must perform no " +
"operations: setContentLength, setLocale, sendError, sendRedirect, and
setStatus."),
- JSR286_276(new TCK(276), Status.specUntestable("impl"),
"PLT.19.4.4", "The containsHeader method of the HttpServletResponse must
return false."),
- JSR286_277(new TCK(277), "PLT.19.4.4", "The following methods of the
HttpServletResponse must be based on " +
+ JSR286_276(new TCK(276, "PLT.19.4.4"),
Status.specUntestable("impl"), "The containsHeader method of the
HttpServletResponse must return false."),
+ JSR286_277(new TCK(277, "PLT.19.4.4"), "The following methods of the
HttpServletResponse must be based on " +
"the properties provided by the setProperties/addProperties method of the
RenderResponse interface: addCookie, " +
"setDateHeader, addDateHeader, setHeader, addHeader, setIntHeader,
addIntHeader."),
// PLT.19.4.5 Request and Response Objects for Forwarded Servlets/JSPs from within the
ServeResource Method
- JSR286_278(new TCK(278), "PLT.19.4.5", "The following methods of the
HttpServletRequest must return null: " +
+ JSR286_278(new TCK(278, "PLT.19.4.5"), "The following methods of the
HttpServletRequest must return null: " +
"getRemoteAddr, getRemoteHost, getLocalAddress, getLocalName, getRealPath, and
getRequestURL."),
- JSR286_279(new TCK(279), "PLT.19.4.5", "The following methods of the
HttpServletRequest must return ‘0’: " +
+ JSR286_279(new TCK(279, "PLT.19.4.5"), "The following methods of the
HttpServletRequest must return ‘0’: " +
"getRemotePort and getLocalPort."),
- JSR286_280(new TCK(280), "PLT.19.4.5", "The following methods of the
HttpServletRequest must return the " +
+ JSR286_280(new TCK(280, "PLT.19.4.5"), "The following methods of the
HttpServletRequest must return the " +
"path and query string information used to obtain the PortletRequestDispatcher
object: getPathInfo, " +
"getPathTranslated, getQueryString, getRequestURI and getServletPath."),
- JSR286_281(new TCK(281), "PLT.19.4.5", "The following methods of the
HttpServletRequest must be equivalent " +
+ JSR286_281(new TCK(281, "PLT.19.4.5"), "The following methods of the
HttpServletRequest must be equivalent " +
"to the methods of the PortletRequest of similar name: getScheme,
getServerName, getServerPort, getAttribute, " +
"getAttributeNames, setAttribute, removeAttribute, getLocale, getLocales,
isSecure, getAuthType, \n" +
"getContextPath, getRemoteUser, getUserPrincipal, getRequestedSessionId,
isRequestedSessionIdValid, getCookies."),
- JSR286_282(new TCK(282), "PLT.19.4.5", "The following methods of the
HttpServletRequest must be equivalent to " +
+ JSR286_282(new TCK(282, "PLT.19.4.5"), "The following methods of the
HttpServletRequest must be equivalent to " +
"the methods of the ResourceRequest of similar name: getCharacterEncoding,
setCharacterEncoding, getContentType, getMethod and getReader."),
- JSR286_283(new TCK(283), "PLT.19.4.5", "The following methods of the
HttpServletRequest must be equivalent to " +
+ JSR286_283(new TCK(283, "PLT.19.4.5"), "The following methods of the
HttpServletRequest must be equivalent to " +
"the methods of the PortletRequest of similar name with the provision defined
in PLT.18.1.1 Query Strings " +
"in Request Dispatcher Paths Section: getParameter, getParameterNames,
getParameterValues and getParameterMap."),
- JSR286_284(new TCK(284), "PLT.19.4.5", "The following methods of the
HttpServletRequest must be based on the " +
+ JSR286_284(new TCK(284, "PLT.19.4.5"), "The following methods of the
HttpServletRequest must be based on the " +
"properties provided by the getProperties method of the PortletRequest
interface: getHeader, getHeaders, " +
"getHeaderNames, getDateHeader and getIntHeader."),
- JSR286_285(new TCK(285), "PLT.19.4.5", "The following methods of the
HttpServletRequest must provide the " +
+ JSR286_285(new TCK(285, "PLT.19.4.5"), "The following methods of the
HttpServletRequest must provide the " +
"functionality defined by the Servlet Specification: getRequestDispatcher,
isUserInRole, getSession, " +
"isRequestedSessionIdFromCookie, isRequestedSessionIdFromURL and
isRequestedSessionIdFromUrl."),
- JSR286_286(new TCK(286), "PLT.19.4.5", "The getProtocol method of the
HttpServletRequest must always return ‘HTTP/1.1’."),
- JSR286_287(new TCK(287), "PLT.19.4.5", "The following methods of the
HttpServletResponse must return null: " +
+ JSR286_286(new TCK(286, "PLT.19.4.5"), "The getProtocol method of the
HttpServletRequest must always return ‘HTTP/1.1’."),
+ JSR286_287(new TCK(287, "PLT.19.4.5"), "The following methods of the
HttpServletResponse must return null: " +
"encodeRedirectURL and encodeRedirectUrl."),
- JSR286_288(new TCK(288), "PLT.19.4.5", "The following methods of the
HttpServletResponse must be equivalent " +
+ JSR286_288(new TCK(288, "PLT.19.4.5"), "The following methods of the
HttpServletResponse must be equivalent " +
"to the methods of the ResourceResponse of similar name: getCharacterEncoding,
setContentType, setBufferSize, " +
"flushBuffer, resetBuffer, reset, getBufferSize, isCommitted, getOutputStream,
getWriter, getLocale, encodeURL " +
"and encodeUrl."),
- JSR286_289(new TCK(289), Status.specUntestable("impl"),
"PLT.19.4.5", "The following methods of the HttpServletResponse must
perform no operations: " +
+ JSR286_289(new TCK(289, "PLT.19.4.5"),
Status.specUntestable("impl"), "The following methods of the
HttpServletResponse must perform no operations: " +
"sendError, sendRedirect."),
- JSR286_290(new TCK(290), Status.specUntestable("impl"),
"PLT.19.4.5", "The containsHeader method of the HttpServletResponse must
return false."),
+ JSR286_290(new TCK(290, "PLT.19.4.5"),
Status.specUntestable("impl"), "The containsHeader method of the
HttpServletResponse must return false."),
//
- JSR286_291(new TCK(291), "PLT.19.5", "Since the Java Servlet
Specification V2.4 you can specify servlet filters " +
+ JSR286_291(new TCK(291, "PLT.19.5"), "Since the Java Servlet
Specification V2.4 you can specify servlet filters " +
"for request dispatcher include calls. Portlet containers must support this
capability for included servlets " +
"via the PortletRequestDispatcher."),
// PLT.20 Portlet Filter
- JSR286_292(new TCK(292), "PLT.20.2.1", "After deployment of the portlet
application, and before a request causes " +
+ JSR286_292(new TCK(292, "PLT.20.2.1"), "After deployment of the portlet
application, and before a request causes " +
"the portlet container to access a portlet, the portlet container must locate
the list of portlet filters that " +
"must be applied to the portlet as described below."),
- JSR286_293(new TCK(293), "PLT.20.2.1", "The portlet container must
ensure that it has instantiated a filter of the " +
+ JSR286_293(new TCK(293, "PLT.20.2.1"), "The portlet container must
ensure that it has instantiated a filter of the " +
"appropriate class for each filter in the list, and called its
init(FilterConfig config) method"),
- JSR286_294(new TCK(294), "PLT.20.2.1", "Depending on the target method
of doFilter call the PortletRequest and " +
+ JSR286_294(new TCK(294, "PLT.20.2.1"), "Depending on the target method
of doFilter call the PortletRequest and " +
"PortletResponse must be instances of the following interfaces: ActionRequest
and ActionResponse for " +
"processAction calls, EventRequest and EventResponse for processEvent calls,
RenderRequest and RenderResponse " +
"for render calls, ResourceRequest and ResourceResponse for serveResource
calls"),
- JSR286_295(new TCK(295), "PLT.20.2.1", "Before a filter instance can be
removed from service by the portlet " +
+ JSR286_295(new TCK(295, "PLT.20.2.1"), "Before a filter instance can be
removed from service by the portlet " +
"container, the portlet container must first call the destroy method on the
filter to enable the filter to " +
"release any resources and perform other cleanup operations."),
- JSR286_296(new TCK(296), "PLT.20.2.2", "When a filter invokes the
doFilter method on the portlet container’s " +
+ JSR286_296(new TCK(296, "PLT.20.2.2"), "When a filter invokes the
doFilter method on the portlet container’s " +
"filter chain implementation, the container must ensure that the request
and\n" +
"response object that it passes to the next component in the filter chain, or
to the target portlet if the " +
"filter was the last in the chain, is the same object that was passed into the
doFilter method by the calling " +
"filter or one of the above mentioned wrappers."),
- JSR286_297(new TCK(297), "PLT.20.2.4", "The portlet container must
instantiate exactly one instance of the Java " +
+ JSR286_297(new TCK(297, "PLT.20.2.4"), "The portlet container must
instantiate exactly one instance of the Java " +
"class defining the filter per filter declaration in the deployment
descriptor."),
- JSR286_298(new TCK(298), "PLT.20.2.4", "Filters can be associated with
groups of portlets using the ‘*’ character as " +
+ JSR286_298(new TCK(298, "PLT.20.2.4"), "Filters can be associated with
groups of portlets using the ‘*’ character as " +
"a wildcard at the end of a string to indicate that the filter must be applied
to any portlet whose name starts " +
"with the characters before the “*” character."),
- JSR286_299(new TCK(299), "PLT.20.2.4", "The portlet container is free
to add additional filters at any place in this " +
+ JSR286_299(new TCK(299, "PLT.20.2.4"), "The portlet container is free
to add additional filters at any place in this " +
"filter chain, but must not remove filters matching a specific
portlet."),
- JSR286_300(new TCK(300), "PLT.20.2.5", "A portlet filter can be applied
to different lifecycle method calls: " +
+ JSR286_300(new TCK(300, "PLT.20.2.5"), "A portlet filter can be applied
to different lifecycle method calls: " +
"processAction, processEvent, render, serveResource"),
- JSR286_301(new TCK(301), "PLT.20.2.5", "Thus the filter must define the
lifecycle method for which the filter " +
+ JSR286_301(new TCK(301, "PLT.20.2.5"), "Thus the filter must define the
lifecycle method for which the filter " +
"is written in the <lifecycle> element of the <filter>
element."),
// PLT.21 User Information
- JSR286_302(new TCK(302), Status.specUntestable("impl"),
"PLT.21.2", "If the request is done in the context of " +
+ JSR286_302(new TCK(302, "PLT.21.2"),
Status.specUntestable("impl"), "If the request is done in the context of
" +
"an un-authenticated user, calls to the getAttribute method of the request
using the USER_INFO constant must " +
"return null."),
@@ -1232,30 +1235,30 @@
// PLT.23 Portlet Applications
- JSR286_303(new TCK(303), Status.specUntestable(""), "PLT.23.2",
"The portlet container must enforce a one to one " +
+ JSR286_303(new TCK(303, "PLT.23.2"), Status.specUntestable(""),
"The portlet container must enforce a one to one " +
"correspondence between a portlet application and a PortletContext."),
- JSR286_304(new TCK(304), Status.specUntestable(""), "PLT.23.2",
"If the application is a distributed application, " +
+ JSR286_304(new TCK(304, "PLT.23.2"), Status.specUntestable(""),
"If the application is a distributed application, " +
"the portlet container must create an instance per VM."),
- JSR286_305(new TCK(305), Status.specUntestable(""), "PLT.23.5",
"The portlet container must use the same classloader " +
+ JSR286_305(new TCK(305, "PLT.23.5"), Status.specUntestable(""),
"The portlet container must use the same classloader " +
"the servlet container uses for the web application resources for loading the
portlets and related resources " +
"within the portlet application."),
- JSR286_306(new TCK(306), "PLT.23.5(servlet spec)", "The portlet
container must ensure that requirements defined " +
+ JSR286_306(new TCK(306, "PLT.23.5(servlet spec)"), "The portlet
container must ensure that requirements defined " +
"in the Servlet Specification SRV.9.7.1 and SRV.9.7.2 Sections are
fulfilled."),
// PLT.24 Security
- JSR286_307(new TCK(307), "PLT.24.2", "The values that the Portlet API
getRemoteUser and getUserPrincipal methods " +
+ JSR286_307(new TCK(307, "PLT.24.2"), "The values that the Portlet API
getRemoteUser and getUserPrincipal methods " +
"return the same values returned by the equivalent methods of the servlet
response object."),
- JSR286_308(new TCK(308), "PLT.24.3", "The container uses the mapping of
security-role-ref to security-role when " +
+ JSR286_308(new TCK(308, "PLT.24.3"), "The container uses the mapping of
security-role-ref to security-role when " +
"determining the return value of the call."),
- JSR286_309(new TCK(309), "PLT.24.3", "If the security-role-ref element
does not define a role-link element, the " +
+ JSR286_309(new TCK(309, "PLT.24.3"), "If the security-role-ref element
does not define a role-link element, the " +
"container must default to checking the role-name element argument against the
list of securityrole elements " +
"defined in the web.xml deployment descriptor of the portlet
application."),
- JSR286_310(new TCK(310), "PLT.24.4", "When it is specified, the
container must propagate the security identity of " +
+ JSR286_310(new TCK(310, "PLT.24.4"), "When it is specified, the
container must propagate the security identity of " +
"the caller to the EJB layer in terms of the security role name defined in the
run-as element."),
- JSR286_311(new TCK(311), "PLT.24.4", "The security role name must be
one of the security role names defined for the " +
+ JSR286_311(new TCK(311, "PLT.24.4"), "The security role name must be
one of the security role names defined for the " +
"web.xml deployment descriptor."),
@@ -1265,94 +1268,99 @@
// PLT.26 Portlet Tag Library
- JSR286_312(new TCK(312), "PLT.26.1", "The portlet-container must
provide an implementation of the portlet tag library"),
- JSR286_313(new TCK(313), "PLT.26.1", "The defineObjects tag must define
the following variables in the JSP page: " +
+ JSR286_312(new TCK(312, "PLT.26.1"), "The portlet-container must
provide an implementation of the portlet tag library"),
+ JSR286_313(new TCK(313, "PLT.26.1"), "The defineObjects tag must define
the following variables in the JSP page: " +
"[REF TO THE SPEC]"),
- JSR286_314(new TCK(314), Status.specUntestable(""), "PLT.26.2",
"The defineObjects tag must not define any " +
+ JSR286_314(new TCK(314, "PLT.26.2"), Status.specUntestable(""),
"The defineObjects tag must not define any " +
"attribute and it must not contain any body content"),
- JSR286_315(new TCK(315), "PLT.26.2", "The portlet actionURL tag creates
a URL that must point to the current " +
+ JSR286_315(new TCK(315, "PLT.26.2"), "The portlet actionURL tag creates
a URL that must point to the current " +
"portlet and must trigger an action request with the supplied
parameters"),
- JSR286_316(new TCK(316), "PLT.26.2", "If the specified window state is
illegal for the current request, a" +
+ JSR286_316(new TCK(316, "PLT.26.2"), "If the specified window state is
illegal for the current request, a" +
" JspException must be thrown."),
- JSR286_317(new TCK(317), "PLT.26.2", "If a window state is notset for a
URL, it should stay the same as the " +
+ JSR286_317(new TCK(317, "PLT.26.2"), "If a window state is notset for a
URL, it should stay the same as the " +
"window state of the current request."),
- JSR286_318(new TCK(318), "PLT.26.2", "portletMode (Type: String,
non-required) – indicates the portlet mode " +
+ JSR286_318(new TCK(318, "PLT.26.2"), "portletMode (Type: String,
non-required) – indicates the portlet mode " +
"that the portlet must have when this link is executed, if no error condition
ocurred"),
- JSR286_319(new TCK(319), "PLT.26.2", "If the specified portlet mode is
illegal for the current request, a " +
+ JSR286_319(new TCK(319, "PLT.26.2"), "If the specified portlet mode is
illegal for the current request, a " +
"JspException must be thrown."),
- JSR286_320(new TCK(320), "PLT.26.2", "If a portlet mode is not set for
a URL, it must stay the same as the mode of " +
+ JSR286_320(new TCK(320, "PLT.26.2"), "If a portlet mode is not set for
a URL, it must stay the same as the mode of " +
"the current request."),
- JSR286_321(new TCK(321), "PLT.26.2", "If the result is exported as a
JSP scoped variable, defined via the var " +
+ JSR286_321(new TCK(321, "PLT.26.2"), "If the result is exported as a
JSP scoped variable, defined via the var " +
"attributes, nothing is written to the current JspWriter."),
- JSR286_322(new TCK(322), "PLT.26.2", "If the given variable name
already exists in the scope of the page or it " +
+ JSR286_322(new TCK(322, "PLT.26.2"), "If the given variable name
already exists in the scope of the page or it " +
"is used within an iteration loop, the new value overwrites the old
one."),
- JSR286_323(new TCK(323), Status.specUntestable(""), "PLT.26.2",
"If the specified security setting is not supported " +
+ JSR286_323(new TCK(323, "PLT.26.2"), Status.specUntestable(""),
"If the specified security setting is not supported " +
"by the run-time environment, a JspException must be thrown"),
- JSR286_324(new TCK(324), Status.specUntestable(""), "PLT.26.2",
"copyCurrentRenderParameters (Type: boolean, " +
+ JSR286_324(new TCK(324, "PLT.26.2"), Status.specUntestable(""),
"copyCurrentRenderParameters (Type: boolean, " +
"non-required) – if set to true requests that the private render parameters of
the portlet of the current " +
"request must be attached to this URL."),
- JSR286_325(new TCK(325), Status.specUntestable(""), "PLT.26.2",
"If additional <portlet:param> tags are specified " +
+ JSR286_325(new TCK(325, "PLT.26.2"), Status.specUntestable(""),
"If additional <portlet:param> tags are specified " +
"parameters with the same name as an existing render parameter will get merged
and the value defined in " +
"additional <portlet:param> tags must be pre-pended."),
- JSR286_326(new TCK(326), Status.specUntestable(""), "PLT.26.2",
"escapeXml (Type: boolean, non-required) – " +
+ JSR286_326(new TCK(326, "PLT.26.2"), Status.specUntestable(""),
"escapeXml (Type: boolean, non-required) – " +
"determines whether characters <,>,&,’,” in the resulting output
should be converted to their corresponding " +
"character entity codes (‘<’ gets converted to ‘<’, ‘>’ gets
converted to ‘>’ ‘&’ gets converted to " +
"‘&’, ‘‘’ gets converted to ‘'’, ‘”’ gets converted to
‘"’)."),
- JSR286_327(new TCK(327), "PLT.26.3", "The portlet renderURL tag creates
a URL that must point to the current " +
+ JSR286_327(new TCK(327, "PLT.26.3"), "The portlet renderURL tag creates
a URL that must point to the current " +
"portlet and must trigger a render request with the supplied
parameters."),
- JSR286_328(new TCK(328), "PLT.26.3", "If the specified window state is
illegal for the current request, a " +
+ JSR286_328(new TCK(328, "PLT.26.3"), "If the specified window state is
illegal for the current request, a " +
"JspException must be thrown."),
- JSR286_329(new TCK(329), "PLT.26.3", "If a window state is not set for
a URL, it should stay the same as the " +
+ JSR286_329(new TCK(329, "PLT.26.3"), "If a window state is not set for
a URL, it should stay the same as the " +
"window state of the current request."),
- JSR286_330(new TCK(330), "PLT.26.3", "portletMode (Type: String,
non-required) – indicates the portlet mode that " +
+ JSR286_330(new TCK(330, "PLT.26.3"), "portletMode (Type: String,
non-required) – indicates the portlet mode that " +
"the portlet must have when this link is executed, if not error condition
ocurred."),
- JSR286_331(new TCK(331), "PLT.26.3", "If the specified portlet mode is
illegal for the current request, a " +
+ JSR286_331(new TCK(331, "PLT.26.3"), "If the specified portlet mode is
illegal for the current request, a " +
"JspException must be thrown."),
- JSR286_332(new TCK(332), "PLT.26.3", "If a portlet mode is not set for
a URL, it must stay the same as the " +
+ JSR286_332(new TCK(332, "PLT.26.3"), "If a portlet mode is not set for
a URL, it must stay the same as the " +
"mode of the current request."),
- JSR286_333(new TCK(333), "PLT.26.3", "If the result is exported as a
JSP scoped variable, defined via the var " +
+ JSR286_333(new TCK(333, "PLT.26.3"), "If the result is exported as a
JSP scoped variable, defined via the var " +
"attributes, nothing is written to the current JspWriter."),
- JSR286_334(new TCK(334), "PLT.26.3", "If the given variable name
already exists in the scope of the page or it " +
+ JSR286_334(new TCK(334, "PLT.26.3"), "If the given variable name
already exists in the scope of the page or it " +
"is used within an iteration loop, the new value overwrites the old
one"),
- JSR286_335(new TCK(335), Status.specUntestable(""), "PLT.26.3",
"If the security is not set for a URL, it must " +
+ JSR286_335(new TCK(335, "PLT.26.3"), Status.specUntestable(""),
"If the security is not set for a URL, it must " +
"stay the same as the security setting of the current request."),
- JSR286_336(new TCK(336), Status.specUntestable(""), "PLT.26.3",
"copyCurrentRenderParameters (Type: boolean, " +
+ JSR286_336(new TCK(336, "PLT.26.3"), Status.specUntestable(""),
"copyCurrentRenderParameters (Type: boolean, " +
"non-required) – if set to true requests that the private render parameters of
the portlet of the current " +
"request must attached to this URL."),
- JSR286_337(new TCK(337), Status.specUntestable(""), "PLT.26.3",
"If additional <portlet:param> tags are specified " +
+ JSR286_337(new TCK(337, "PLT.26.3"), Status.specUntestable(""),
"If additional <portlet:param> tags are specified " +
"parameters with the same name as an existing render parameter will get merged
and the value defined in " +
"additional <portlet:param> tags must be pre-pended."),
- JSR286_338(new TCK(338), Status.specUntestable(""), "PLT.26.3",
"escapeXml (Type: boolean, non-required) – " +
+ JSR286_338(new TCK(338, "PLT.26.3"), Status.specUntestable(""),
"escapeXml (Type: boolean, non-required) – " +
"deterrmines whether characters <,>,&,’,” in the resulting output
should be converted to their corresponding " +
"character entity codes (‘<’ gets converted to ‘<’, ‘>’ gets
converted to ‘>’ ‘&’ gets converted to " +
"‘&’, ‘‘’ gets converted to ‘'’, ‘”’ gets converted to
‘"’)."),
- JSR286_339(new TCK(339), "PLT.26.4", "The portlet resourceURL tag
creates a URL that must point to the current " +
+ JSR286_339(new TCK(339, "PLT.26.4"), "The portlet resourceURL tag
creates a URL that must point to the current " +
"portlet and must trigger a serveResource request with the supplied
parameters"),
- JSR286_340(new TCK(340), "PLT.26.4", "The resourceURL must preserve the
current portlet mode, window state and " +
+ JSR286_340(new TCK(340, "PLT.26.4"), "The resourceURL must preserve the
current portlet mode, window state and " +
"render parameters."),
- JSR286_341(new TCK(341), "PLT.26.4", "If such a parameter has the same
name as a render parameter in this URL, " +
+ JSR286_341(new TCK(341, "PLT.26.4"), "If such a parameter has the same
name as a render parameter in this URL, " +
"the render parameter value must be the last value in the attribute value
array."),
- JSR286_342(new TCK(342), "PLT.26.4", "If the result is exported as a
JSP scoped variable, defined via the var " +
+ JSR286_342(new TCK(342, "PLT.26.4"), "If the result is exported as a
JSP scoped variable, defined via the var " +
"attributes, nothing is written to the current JspWriter"),
- JSR286_343(new TCK(343), "PLT.26.4", "If the given variable name
already exists in the scope of the page or it " +
+ JSR286_343(new TCK(343, "PLT.26.4"), "If the given variable name
already exists in the scope of the page or it " +
"is used within an iteration loop, the new value overwrites the old
one."),
- JSR286_344(new TCK(344), Status.specUntestable(""), "PLT.26.4",
"If the security is not set for a URL, it must " +
+ JSR286_344(new TCK(344, "PLT.26.4"), Status.specUntestable(""),
"If the security is not set for a URL, it must " +
"stay the same as the security setting of the current request."),
- JSR286_345(new TCK(345), Status.specUntestable(""), "PLT.26.4",
"escapeXml (Type: boolean, non-required) – " +
+ JSR286_345(new TCK(345, "PLT.26.4"), Status.specUntestable(""),
"escapeXml (Type: boolean, non-required) – " +
"determines whether characters <,>,&,’,” in the resulting output
should be converted to their corresponding " +
"character entity codes (‘<’ gets converted to ‘<’, ‘>’ gets
converted to ‘>’ ‘&’ gets converted to " +
"‘&’, ‘‘’ gets converted to ‘'’, ‘”’ gets converted to
‘"’)."),
- JSR286_346(new TCK(346), "PLT.26.5", "This tag produces a unique value
for the current portlet and must match " +
+ JSR286_346(new TCK(346, "PLT.26.5"), "This tag produces a unique value
for the current portlet and must match " +
"the value of PortletResponse.getNamespace method."),
- JSR286_347(new TCK(347), "PLT.26.6", "This tag defines a parameter that
may be added to an actionURL, renderURL " +
+ JSR286_347(new TCK(347, "PLT.26.6"), "This tag defines a parameter that
may be added to an actionURL, renderURL " +
"or resourceURL."),
- JSR286_348(new TCK(348), Status.specUntestable(""), "PLT.26.6",
"The param tag must not contain any body content."),
- JSR286_349(new TCK(349), "PLT.26.6", "If the param tag has an empty
value the specified parameter name must be " +
+ JSR286_348(new TCK(348, "PLT.26.6"), Status.specUntestable(""),
"The param tag must not contain any body content."),
+ JSR286_349(new TCK(349, "PLT.26.6"), "If the param tag has an empty
value the specified parameter name must be " +
"removed from the URL."),
- JSR286_350(new TCK(350), "PLT.26.6", "If the same name of a parameter
occurs more than once within an actionURL, " +
+ JSR286_350(new TCK(350, "PLT.26.6"), "If the same name of a parameter
occurs more than once within an actionURL, " +
"renderURL or resourceURL the values must be delivered as parameter value
array with the values in the order " +
- "of the declaration within the URL tag.")
-
+ "of the declaration within the URL tag."),
+
+ //
******************************************************************************************************************
+
+ API_BASE_URL_1(new API(BaseURL.class), "parameter escapeXML"),
+ API_BASE_URL_2(new API(BaseURL.class), "write methods throws an IOException is
propagated to caller")
+
;
/**
@@ -1364,17 +1372,27 @@
}
/**
- * A reference to a JSR 168 TCK test.
+ * A reference to a JSR TCK test.
*/
public static class TCK extends Ref
{
/** . */
- private int index;
+ private final int index;
+ /** . */
+ private final String section;
+
+ public TCK(int index, String section)
+ {
+ this.index = index;
+ this.section = section;
+ }
+
public TCK(int index)
{
this.index = index;
+ this.section = null;
}
public int getIndex()
@@ -1382,12 +1400,39 @@
return index;
}
+ public String getSection()
+ {
+ return section;
+ }
+
public String toString()
{
- return "TCK[" + index + "]";
+ return "TCK[index=" + index + ",section=" + section +
"]";
}
}
+ public static class API extends Ref
+ {
+
+ /** . */
+ private Class clazz;
+
+ public API(Class clazz)
+ {
+ this.clazz = clazz;
+ }
+
+ public Class getClazz()
+ {
+ return clazz;
+ }
+
+ public String toString()
+ {
+ return "API[" + clazz.getSimpleName() + "]";
+ }
+ }
+
/**
* The status of an assertion.
*/
@@ -1522,9 +1567,6 @@
private final String description;
/** . */
- private final String section;
-
- /** . */
private Status status;
/** . */
@@ -1535,38 +1577,23 @@
this(ref, new Active(), description);
}
- Assertion(Ref ref, String section, String description)
+ Assertion(Ref ref, Assertion assertion, String description)
{
- this(ref, new Active(), description, section);
+ this(ref, assertion, new Active(), description);
}
- Assertion(Ref ref, Assertion assertion, String section, String description)
- {
- this(ref, assertion, new Active(), description, section);
- }
-
Assertion(Ref ref, Status status, String description)
{
this.ref = ref;
this.description = description;
- this.section = null;
this.status = status;
}
- Assertion(Ref ref, Status status, String section, String description)
+ Assertion(Ref ref, Assertion assertion, Status status, String description)
{
this.ref = ref;
this.description = description;
- this.section = section;
this.status = status;
- }
-
- Assertion(Ref ref, Assertion assertion, Status status, String section, String
description)
- {
- this.ref = ref;
- this.description = description;
- this.section = section;
- this.status = status;
this.assertion = assertion;
}
@@ -1587,11 +1614,6 @@
return status;
}
- public String getSection()
- {
- return section;
- }
-
public Assertion getAssertion()
{
return assertion;
Modified:
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/controller/PortletURLRenderer.java
===================================================================
---
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/controller/PortletURLRenderer.java 2008-02-25
10:16:10 UTC (rev 10105)
+++
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/controller/PortletURLRenderer.java 2008-02-25
12:32:25 UTC (rev 10106)
@@ -29,6 +29,7 @@
import org.jboss.portal.common.text.FastURLEncoder;
import org.jboss.portal.common.util.Base64;
import org.jboss.portal.portlet.ContainerURL;
+import org.jboss.portal.portlet.URLFormat;
import org.jboss.portal.portlet.controller.state.PageNavigationalState;
import org.jboss.portal.portlet.controller.state.PageNavigationalStateSerialization;
import org.jboss.portal.portlet.controller.state.StateControllerContext;
@@ -76,7 +77,7 @@
this.serialization = new PageNavigationalStateSerialization(stateContext);
}
- private String renderURL(Map<String, String> parameters, Boolean wantSecure,
Boolean wantAuthenticated, boolean relative)
+ private String renderURL(Map<String, String> parameters, URLFormat format)
{
CharBuffer buffer = new CharBuffer();
buffer.append(clientReq.getScheme());
@@ -94,12 +95,15 @@
}
//
+ String parameterSeparator = format.getWantEscapeXML() == Boolean.TRUE ?
"&" : "&";
+
+ //
boolean first = true;
for (Map.Entry<String, String> entry : parameters.entrySet())
{
String name = entry.getKey();
String value = entry.getValue();
- buffer.append(first ? '?' : '&');
+ buffer.append(first ? "?" : parameterSeparator);
buffer.append(name, FastURLEncoder.getUTF8Instance());
buffer.append('=');
buffer.append(value, FastURLEncoder.getUTF8Instance());
@@ -111,7 +115,7 @@
return clientResp.encodeURL(url);
}
- public String renderURL(Boolean wantSecure, Boolean wantAuthenticated, boolean
relative)
+ public String renderURL(URLFormat format)
{
String pageState = null;
if (pageNS != null)
@@ -132,10 +136,10 @@
}
//
- return renderURL(parameters, wantSecure, wantAuthenticated, relative);
+ return renderURL(parameters, format);
}
- public String renderURL(String windowId, ContainerURL containerURL, Boolean
wantSecure, Boolean wantAuthenticated, boolean relative)
+ public String renderURL(String windowId, ContainerURL containerURL, URLFormat format)
{
ControllerRequestParameterMapFactory factory = new
ControllerRequestParameterMapFactory(stateContext);
@@ -146,6 +150,6 @@
parameters.put(TYPE, PORTLET_TYPE);
//
- return renderURL(parameters, wantSecure, wantAuthenticated, relative);
+ return renderURL(parameters, format);
}
}
Modified:
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/controller/TestPortletInvocationContext.java
===================================================================
---
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/controller/TestPortletInvocationContext.java 2008-02-25
10:16:10 UTC (rev 10105)
+++
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/controller/TestPortletInvocationContext.java 2008-02-25
12:32:25 UTC (rev 10106)
@@ -27,7 +27,7 @@
import org.jboss.portal.common.invocation.resolver.PrincipalAttributeResolver;
import org.jboss.portal.common.util.MarkupInfo;
import org.jboss.portal.portlet.ContainerURL;
-import org.jboss.portal.portlet.controller.impl.state.StateControllerContextImpl;
+import org.jboss.portal.portlet.URLFormat;
import org.jboss.portal.portlet.controller.state.PageNavigationalState;
import org.jboss.portal.portlet.controller.state.StateControllerContext;
import org.jboss.portal.portlet.impl.spi.AbstractPortletInvocationContext;
@@ -102,8 +102,8 @@
return clientResponse;
}
- public String renderURL(ContainerURL containerURL, Boolean wantSecure, Boolean
wantAuthenticated, boolean relative)
+ public String renderURL(ContainerURL containerURL, URLFormat format)
{
- return urlRenderer.renderURL(windowId, containerURL, wantSecure, wantAuthenticated,
relative);
+ return urlRenderer.renderURL(windowId, containerURL, format);
}
}
Modified:
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/ControllerFilter.java
===================================================================
---
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/ControllerFilter.java 2008-02-25
10:16:10 UTC (rev 10105)
+++
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/ControllerFilter.java 2008-02-25
12:32:25 UTC (rev 10106)
@@ -26,6 +26,7 @@
import org.jboss.portal.portlet.test.URLParameterConstants;
import org.jboss.portal.portlet.PortletInvoker;
import org.jboss.portal.portlet.PortletInvokerException;
+import org.jboss.portal.portlet.URLFormat;
import org.jboss.portal.portlet.invocation.response.PortletInvocationResponse;
import org.jboss.portal.portlet.invocation.response.FragmentResponse;
import org.jboss.portal.portlet.invocation.response.ErrorResponse;
@@ -142,7 +143,7 @@
context.getClientResponse());
//
- String url = renderer.renderURL(null, null, true);
+ String url = renderer.renderURL(new URLFormat(null, null, true, null));
//
resp.sendRedirect(url);
Modified:
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortletURLTag.java
===================================================================
---
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortletURLTag.java 2008-02-25
10:16:10 UTC (rev 10105)
+++
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortletURLTag.java 2008-02-25
12:32:25 UTC (rev 10106)
@@ -30,6 +30,7 @@
import org.jboss.portal.portlet.controller.impl.state.StateControllerContextImpl;
import org.jboss.portal.portlet.RenderURL;
import org.jboss.portal.portlet.StateString;
+import org.jboss.portal.portlet.URLFormat;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
@@ -130,7 +131,7 @@
try
{
JspWriter out = pageContext.getOut();
- String renderedURL =
renderer.renderURL(portletTag.result.getWindowDef().getWindowId(), url, null, null,
true);
+ String renderedURL =
renderer.renderURL(portletTag.result.getWindowDef().getWindowId(), url, new
URLFormat(null, null, true, null));
out.write(renderedURL);
}
catch (IOException e)
Modified: modules/portlet/trunk/test/src/test/build.xml
===================================================================
--- modules/portlet/trunk/test/src/test/build.xml 2008-02-25 10:16:10 UTC (rev 10105)
+++ modules/portlet/trunk/test/src/test/build.xml 2008-02-25 12:32:25 UTC (rev 10106)
@@ -371,6 +371,7 @@
<package-jsr286-tck-test test="portletfilter"/>
<package-jsr286-tck-test test="taglib"/>
<package-jsr286-api-test test="event"/>
+ <package-jsr286-api-test test="portleturl"/>
<package-jsr286-ext-test test="portletrequests"/>
<package-jsr286-ext-test test="portletfilter"/>
<package-jsr286-ext-test test="portletresponses"/>
Added:
modules/portlet/trunk/test/src/test/resources/jsr286/api/portleturl-war/WEB-INF/portlet.xml
===================================================================
---
modules/portlet/trunk/test/src/test/resources/jsr286/api/portleturl-war/WEB-INF/portlet.xml
(rev 0)
+++
modules/portlet/trunk/test/src/test/resources/jsr286/api/portleturl-war/WEB-INF/portlet.xml 2008-02-25
12:32:25 UTC (rev 10106)
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ ~ JBoss, a division of Red Hat ~
+ ~ Copyright 2006, Red Hat Middleware, LLC, and individual ~
+ ~ contributors as indicated by the @authors tag. See the ~
+ ~ copyright.txt in the distribution for a full listing of ~
+ ~ individual contributors. ~
+ ~ ~
+ ~ This is free software; you can redistribute it and/or modify it ~
+ ~ under the terms of the GNU Lesser General Public License as ~
+ ~ published by the Free Software Foundation; either version 2.1 of ~
+ ~ the License, or (at your option) any later version. ~
+ ~ ~
+ ~ This software is distributed in the hope that it will be useful, ~
+ ~ but WITHOUT ANY WARRANTY; without even the implied warranty of ~
+ ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ~
+ ~ Lesser General Public License for more details. ~
+ ~ ~
+ ~ You should have received a copy of the GNU Lesser General Public ~
+ ~ License along with this software; if not, write to the Free ~
+ ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA ~
+ ~ 02110-1301 USA, or see the FSF site:
http://www.fsf.org. ~
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
+
+<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...
http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd"
+ version="2.0">
+
+ <portlet>
+ <portlet-name>UniversalTestPortletA</portlet-name>
+
<portlet-class>org.jboss.portal.test.portlet.framework.UTP1</portlet-class>
+ <supports>
+ <mime-type>text/html</mime-type>
+ </supports>
+ </portlet>
+
+</portlet-app>
Added:
modules/portlet/trunk/test/src/test/resources/jsr286/api/portleturl-war/WEB-INF/web.xml
===================================================================
---
modules/portlet/trunk/test/src/test/resources/jsr286/api/portleturl-war/WEB-INF/web.xml
(rev 0)
+++
modules/portlet/trunk/test/src/test/resources/jsr286/api/portleturl-war/WEB-INF/web.xml 2008-02-25
12:32:25 UTC (rev 10106)
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ ~ JBoss, a division of Red Hat ~
+ ~ Copyright 2006, Red Hat Middleware, LLC, and individual ~
+ ~ contributors as indicated by the @authors tag. See the ~
+ ~ copyright.txt in the distribution for a full listing of ~
+ ~ individual contributors. ~
+ ~ ~
+ ~ This is free software; you can redistribute it and/or modify it ~
+ ~ under the terms of the GNU Lesser General Public License as ~
+ ~ published by the Free Software Foundation; either version 2.1 of ~
+ ~ the License, or (at your option) any later version. ~
+ ~ ~
+ ~ This software is distributed in the hope that it will be useful, ~
+ ~ but WITHOUT ANY WARRANTY; without even the implied warranty of ~
+ ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ~
+ ~ Lesser General Public License for more details. ~
+ ~ ~
+ ~ You should have received a copy of the GNU Lesser General Public ~
+ ~ License along with this software; if not, write to the Free ~
+ ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA ~
+ ~ 02110-1301 USA, or see the FSF site:
http://www.fsf.org. ~
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
+
+<!DOCTYPE web-app PUBLIC
+ "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
+ "http://java.sun.com/dtd/web-app_2_3.dtd">
+<web-app>
+ <listener>
+
<listener-class>org.jboss.portal.unit.PortletTestSuite</listener-class>
+ </listener>
+</web-app>
Modified: modules/portlet/trunk/test/src/test/resources/test/remote-jboss-unit.xml
===================================================================
--- modules/portlet/trunk/test/src/test/resources/test/remote-jboss-unit.xml 2008-02-25
10:16:10 UTC (rev 10105)
+++ modules/portlet/trunk/test/src/test/resources/test/remote-jboss-unit.xml 2008-02-25
12:32:25 UTC (rev 10106)
@@ -197,6 +197,10 @@
<class
name="org.jboss.unit.remote.driver.RemoteTestDriverClient"/>
<property name="archiveId"
value="test-jsr286-api-event.war"/>
</generic>
+ <generic>
+ <class
name="org.jboss.unit.remote.driver.RemoteTestDriverClient"/>
+ <property name="archiveId"
value="test-jsr286-api-portleturl.war"/>
+ </generic>
<!--Ext Assertions tests-->
<generic>