You are viewing a plain text version of this content. The canonical link for it is here.
Posted to pluto-scm@portals.apache.org by ms...@apache.org on 2014/08/25 11:55:19 UTC
[15/22] began work on generating the additional spec tests and the
portlet tab library tests again in order to improve structure and correct
problems in test case names.
http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/23a1c547/portlet-tck_3.0/V2AddlPortletTests/src/main/java/javax/portlet/tck/portlets/AddlPortletTests_SPEC2_15_ActionEventHandling.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2AddlPortletTests/src/main/java/javax/portlet/tck/portlets/AddlPortletTests_SPEC2_15_ActionEventHandling.java b/portlet-tck_3.0/V2AddlPortletTests/src/main/java/javax/portlet/tck/portlets/AddlPortletTests_SPEC2_15_ActionEventHandling.java
new file mode 100644
index 0000000..0e838ca
--- /dev/null
+++ b/portlet-tck_3.0/V2AddlPortletTests/src/main/java/javax/portlet/tck/portlets/AddlPortletTests_SPEC2_15_ActionEventHandling.java
@@ -0,0 +1,289 @@
+/* Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package javax.portlet.tck.portlets;
+
+import java.io.*;
+import java.util.*;
+import java.util.logging.*;
+import static java.util.logging.Logger.*;
+import javax.xml.namespace.QName;
+import javax.portlet.*;
+import javax.portlet.filter.*;
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.portlet.tck.beans.*;
+import javax.portlet.tck.constants.*;
+import static javax.portlet.tck.beans.JSR286SpecTestCaseDetails.*;
+import static javax.portlet.tck.constants.Constants.*;
+import static javax.portlet.PortletSession.*;
+import static javax.portlet.ResourceURL.*;
+
+/**
+ * This portlet implements several test cases for the JSR 362 TCK. The test case names
+ * are defined in the /src/main/resources/xml-resources/additionalTCs.xml
+ * file. The build process will integrate the test case names defined in the
+ * additionalTCs.xml file into the complete list of test case names for execution by the driver.
+ *
+ * This is the main portlet for the test cases. If the test cases call for events, this portlet
+ * will initiate the events, but not process them. The processing is done in the companion
+ * portlet AddlPortletTests_SPEC2_15_ActionEventHandling_event
+ *
+ */
+public class AddlPortletTests_SPEC2_15_ActionEventHandling implements Portlet, ResourceServingPortlet {
+ private static final String LOG_CLASS =
+ AddlPortletTests_SPEC2_15_ActionEventHandling.class.getName();
+ private final Logger LOGGER = Logger.getLogger(LOG_CLASS);
+
+ private PortletConfig portletConfig = null;
+
+ @Override
+ public void init(PortletConfig config) throws PortletException {
+ this.portletConfig = config;
+ }
+
+ @Override
+ public void destroy() {
+ }
+
+ @Override
+ public void processAction(ActionRequest portletReq, ActionResponse portletResp)
+ throws PortletException, IOException {
+ LOGGER.entering(LOG_CLASS, "main portlet processAction entry");
+
+ portletResp.setRenderParameters(portletReq.getParameterMap());
+ long tid = Thread.currentThread().getId();
+ portletReq.setAttribute(THREADID_ATTR, tid);
+
+ StringWriter writer = new StringWriter();
+
+ JSR286SpecTestCaseDetails tcd = new JSR286SpecTestCaseDetails();
+
+ // Create result objects for the tests
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_ActionEventHandling_eventProcessAction1 */
+ /* Details: "The portlet can publish an event via the setEvent method */
+ /* in the processAction method" */
+ TestResult tr0 = tcd.getTestResultFailed(V2ADDLPORTLETTESTS_SPEC2_15_ACTIONEVENTHANDLING_EVENTPROCESSACTION1);
+ /* TODO: implement test */
+ tr0.appendTcDetail("Not implemented.");
+ tr0.writeTo(writer);
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_ActionEventHandling_eventProcessAction2 */
+ /* Details: "The portlet can publish an event with its full Qname via */
+ /* the setEvent method in the processAction method" */
+ TestResult tr1 = tcd.getTestResultFailed(V2ADDLPORTLETTESTS_SPEC2_15_ACTIONEVENTHANDLING_EVENTPROCESSACTION2);
+ /* TODO: implement test */
+ tr1.appendTcDetail("Not implemented.");
+ tr1.writeTo(writer);
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_ActionEventHandling_eventProcessAction3 */
+ /* Details: "The portlet can publish an event with only the local */
+ /* part of the Qname via the setEvent method in the processAction */
+ /* method" */
+ TestResult tr2 = tcd.getTestResultFailed(V2ADDLPORTLETTESTS_SPEC2_15_ACTIONEVENTHANDLING_EVENTPROCESSACTION3);
+ /* TODO: implement test */
+ tr2.appendTcDetail("Not implemented.");
+ tr2.writeTo(writer);
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_ActionEventHandling_eventProcessAction4 */
+ /* Details: "If an event is published with only the local part of the */
+ /* Qname, the namespace must be the default namespace defined in the */
+ /* deployment descriptor" */
+ TestResult tr3 = tcd.getTestResultFailed(V2ADDLPORTLETTESTS_SPEC2_15_ACTIONEVENTHANDLING_EVENTPROCESSACTION4);
+ /* TODO: implement test */
+ tr3.appendTcDetail("Not implemented.");
+ tr3.writeTo(writer);
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_ActionEventHandling_eventProcessAction5 */
+ /* Details: "If an event is published with only the local part of the */
+ /* Qname and no default namespace is defined in the deployment */
+ /* descriptor, the value javax.xml.XMLConstants.NULL_NS_URI must be */
+ /* used as the Qname namespace" */
+ TestResult tr4 = tcd.getTestResultFailed(V2ADDLPORTLETTESTS_SPEC2_15_ACTIONEVENTHANDLING_EVENTPROCESSACTION5);
+ /* TODO: implement test */
+ tr4.appendTcDetail("Not implemented.");
+ tr4.writeTo(writer);
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_ActionEventHandling_eventProcessAction6 */
+ /* Details: "If an object is serializeable and has a valid JAXB */
+ /* binding or is a Java primitive type, it can be used as an event */
+ /* value" */
+ TestResult tr5 = tcd.getTestResultFailed(V2ADDLPORTLETTESTS_SPEC2_15_ACTIONEVENTHANDLING_EVENTPROCESSACTION6);
+ /* TODO: implement test */
+ tr5.appendTcDetail("Not implemented.");
+ tr5.writeTo(writer);
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_ActionEventHandling_eventProcessAction7 */
+ /* Details: "If a value is not serializeable, the setEvent method */
+ /* must throw an IllegalArgumentException" */
+ TestResult tr6 = tcd.getTestResultFailed(V2ADDLPORTLETTESTS_SPEC2_15_ACTIONEVENTHANDLING_EVENTPROCESSACTION7);
+ /* TODO: implement test */
+ tr6.appendTcDetail("Not implemented.");
+ tr6.writeTo(writer);
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_ActionEventHandling_eventProcessAction8 */
+ /* Details: "If a value does not have a valid JAXB binding and is not */
+ /* a Java primitve type, the setEvent method must throw an */
+ /* IllegalArgumentException" */
+ TestResult tr7 = tcd.getTestResultFailed(V2ADDLPORTLETTESTS_SPEC2_15_ACTIONEVENTHANDLING_EVENTPROCESSACTION8);
+ /* TODO: implement test */
+ tr7.appendTcDetail("Not implemented.");
+ tr7.writeTo(writer);
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_ActionEventHandling_eventProcessAction9 */
+ /* Details: "The portlet can publish multiple events via the setEvent */
+ /* method in the processAction method" */
+ TestResult tr8 = tcd.getTestResultFailed(V2ADDLPORTLETTESTS_SPEC2_15_ACTIONEVENTHANDLING_EVENTPROCESSACTION9);
+ /* TODO: implement test */
+ tr8.appendTcDetail("Not implemented.");
+ tr8.writeTo(writer);
+
+ portletReq.getPortletSession().setAttribute(
+ Constants.RESULT_ATTR_PREFIX + "AddlPortletTests_SPEC2_15_ActionEventHandling",
+ writer.toString(), APPLICATION_SCOPE);
+ }
+
+ @Override
+ public void serveResource(ResourceRequest portletReq, ResourceResponse portletResp)
+ throws PortletException, IOException {
+ LOGGER.entering(LOG_CLASS, "main portlet serveResource entry");
+
+ long tid = Thread.currentThread().getId();
+ portletReq.setAttribute(THREADID_ATTR, tid);
+
+ PrintWriter writer = portletResp.getWriter();
+
+ }
+
+ @Override
+ public void render(RenderRequest portletReq, RenderResponse portletResp)
+ throws PortletException, IOException {
+ LOGGER.entering(LOG_CLASS, "main portlet render entry");
+
+ long tid = Thread.currentThread().getId();
+ portletReq.setAttribute(THREADID_ATTR, tid);
+
+ PrintWriter writer = portletResp.getWriter();
+
+ PortletSession ps = portletReq.getPortletSession();
+ String msg = (String) ps.getAttribute(RESULT_ATTR_PREFIX + "AddlPortletTests_SPEC2_15_ActionEventHandling", APPLICATION_SCOPE);
+ if (msg != null) {
+ writer.write("<p>" + msg + "</p><br/>\n");
+ ps.removeAttribute(RESULT_ATTR_PREFIX + "AddlPortletTests_SPEC2_15_ActionEventHandling", APPLICATION_SCOPE);
+ }
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_ActionEventHandling_eventProcessAction1 */
+ /* Details: "The portlet can publish an event via the setEvent method */
+ /* in the processAction method" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlPortletTests_SPEC2_15_ActionEventHandling_eventProcessAction1", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_ActionEventHandling_eventProcessAction2 */
+ /* Details: "The portlet can publish an event with its full Qname via */
+ /* the setEvent method in the processAction method" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlPortletTests_SPEC2_15_ActionEventHandling_eventProcessAction2", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_ActionEventHandling_eventProcessAction3 */
+ /* Details: "The portlet can publish an event with only the local */
+ /* part of the Qname via the setEvent method in the processAction */
+ /* method" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlPortletTests_SPEC2_15_ActionEventHandling_eventProcessAction3", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_ActionEventHandling_eventProcessAction4 */
+ /* Details: "If an event is published with only the local part of the */
+ /* Qname, the namespace must be the default namespace defined in the */
+ /* deployment descriptor" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlPortletTests_SPEC2_15_ActionEventHandling_eventProcessAction4", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_ActionEventHandling_eventProcessAction5 */
+ /* Details: "If an event is published with only the local part of the */
+ /* Qname and no default namespace is defined in the deployment */
+ /* descriptor, the value javax.xml.XMLConstants.NULL_NS_URI must be */
+ /* used as the Qname namespace" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlPortletTests_SPEC2_15_ActionEventHandling_eventProcessAction5", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_ActionEventHandling_eventProcessAction6 */
+ /* Details: "If an object is serializeable and has a valid JAXB */
+ /* binding or is a Java primitive type, it can be used as an event */
+ /* value" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlPortletTests_SPEC2_15_ActionEventHandling_eventProcessAction6", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_ActionEventHandling_eventProcessAction7 */
+ /* Details: "If a value is not serializeable, the setEvent method */
+ /* must throw an IllegalArgumentException" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlPortletTests_SPEC2_15_ActionEventHandling_eventProcessAction7", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_ActionEventHandling_eventProcessAction8 */
+ /* Details: "If a value does not have a valid JAXB binding and is not */
+ /* a Java primitve type, the setEvent method must throw an */
+ /* IllegalArgumentException" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlPortletTests_SPEC2_15_ActionEventHandling_eventProcessAction8", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_ActionEventHandling_eventProcessAction9 */
+ /* Details: "The portlet can publish multiple events via the setEvent */
+ /* method in the processAction method" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlPortletTests_SPEC2_15_ActionEventHandling_eventProcessAction9", aurl);
+ tb.writeTo(writer);
+ }
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/23a1c547/portlet-tck_3.0/V2AddlPortletTests/src/main/java/javax/portlet/tck/portlets/AddlPortletTests_SPEC2_15_Event.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2AddlPortletTests/src/main/java/javax/portlet/tck/portlets/AddlPortletTests_SPEC2_15_Event.java b/portlet-tck_3.0/V2AddlPortletTests/src/main/java/javax/portlet/tck/portlets/AddlPortletTests_SPEC2_15_Event.java
index 2d638f5..4344943 100644
--- a/portlet-tck_3.0/V2AddlPortletTests/src/main/java/javax/portlet/tck/portlets/AddlPortletTests_SPEC2_15_Event.java
+++ b/portlet-tck_3.0/V2AddlPortletTests/src/main/java/javax/portlet/tck/portlets/AddlPortletTests_SPEC2_15_Event.java
@@ -18,29 +18,34 @@
package javax.portlet.tck.portlets;
-import java.io.IOException;
-import java.io.PrintWriter;
-
-import java.util.Enumeration;
-import java.util.Locale;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
+import java.io.*;
+import java.util.*;
+import java.util.logging.*;
+import static java.util.logging.Logger.*;
+import javax.xml.namespace.QName;
import javax.portlet.*;
import javax.portlet.filter.*;
-import javax.portlet.tck.beans.ClassChecker;
-import javax.portlet.tck.beans.TestCaseDetails;
-import javax.portlet.tck.beans.JSR286SpecTestCaseDetails;
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.portlet.tck.beans.*;
+import javax.portlet.tck.constants.*;
import static javax.portlet.tck.beans.JSR286SpecTestCaseDetails.*;
-import javax.portlet.tck.beans.TestResult;
+import static javax.portlet.tck.constants.Constants.*;
+import static javax.portlet.PortletSession.*;
+import static javax.portlet.ResourceURL.*;
/**
* This portlet implements several test cases for the JSR 362 TCK. The test case names
* are defined in the /src/main/resources/xml-resources/additionalTCs.xml
* file. The build process will integrate the test case names defined in the
* additionalTCs.xml file into the complete list of test case names for execution by the driver.
+ *
+ * This is the main portlet for the test cases. If the test cases call for events, this portlet
+ * will initiate the events, but not process them. The processing is done in the companion
+ * portlet AddlPortletTests_SPEC2_15_Event_event
+ *
*/
-public class AddlPortletTests_SPEC2_15_Event implements Portlet {
+public class AddlPortletTests_SPEC2_15_Event implements Portlet, ResourceServingPortlet {
private static final String LOG_CLASS =
AddlPortletTests_SPEC2_15_Event.class.getName();
private final Logger LOGGER = Logger.getLogger(LOG_CLASS);
@@ -57,287 +62,52 @@ public class AddlPortletTests_SPEC2_15_Event implements Portlet {
}
@Override
- public void processAction(ActionRequest actionRequest, ActionResponse actionResponse)
+ public void processAction(ActionRequest portletReq, ActionResponse portletResp)
throws PortletException, IOException {
- }
-
- @Override
- public void render(RenderRequest renderRequest, RenderResponse renderResponse)
- throws PortletException, IOException {
-
- if (LOGGER.isLoggable(Level.FINE)) {
- LOGGER.logp(Level.FINE, LOG_CLASS, "render", "Entry");
- }
-
- PrintWriter writer = renderResponse.getWriter();
- JSR286SpecTestCaseDetails tcd = new JSR286SpecTestCaseDetails();
-
- // Create result objects for the tests
-
- /* TestCase: SPEC2_15_Event_event1 */
- /* Details: "Event names are defined in the deployment descriptor" */
- TestResult tr0 = tcd.getTestResultFailed(SPEC2_15_EVENT_EVENT1);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_15_Event_event2 */
- /* Details: "Event value types are defined in the deployment */
- /* descriptor" */
- TestResult tr1 = tcd.getTestResultFailed(SPEC2_15_EVENT_EVENT2);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_15_Event_event3 */
- /* Details: "The supported publishing events for the portlet are */
- /* defined in the deployment descriptor" */
- TestResult tr2 = tcd.getTestResultFailed(SPEC2_15_EVENT_EVENT3);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_15_Event_event4 */
- /* Details: "The supported processing events for the portlet are */
- /* defined in the deployment descriptor" */
- TestResult tr3 = tcd.getTestResultFailed(SPEC2_15_EVENT_EVENT4);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_15_Event_event5 */
- /* Details: "The portlet can use the EventRequest.getEvent method to */
- /* obtain an Event object encapsulating the event name and value" */
- TestResult tr4 = tcd.getTestResultFailed(SPEC2_15_EVENT_EVENT5);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_15_Event_event6 */
- /* Details: "The Event object must always have a name" */
- TestResult tr5 = tcd.getTestResultFailed(SPEC2_15_EVENT_EVENT6);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_15_Event_event7 */
- /* Details: "If the Event object has a value set when the event is */
- /* published, the value must be based on the value defined in the */
- /* deployment descriptor" */
- TestResult tr6 = tcd.getTestResultFailed(SPEC2_15_EVENT_EVENT7);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_15_Event_event8 */
- /* Details: "If the Event object has a value set when the event is */
- /* published, the value must be available from the Event object in */
- /* the processEvent method" */
- TestResult tr7 = tcd.getTestResultFailed(SPEC2_15_EVENT_EVENT8);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_15_Event_event9 */
- /* Details: "If the Event object does not have a value set when the */
- /* event is published, the Event object available in the processEvent */
- /* method must not have a value" */
- TestResult tr8 = tcd.getTestResultFailed(SPEC2_15_EVENT_EVENT9);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_15_Event_event10 */
- /* Details: "The Event Qname object representing the name can be */
- /* retrieved through the Event getQname method" */
- TestResult tr9 = tcd.getTestResultFailed(SPEC2_15_EVENT_EVENT10);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_15_Event_event11 */
- /* Details: "The local part of the Event Qname object representing */
- /* the name can be retrieved through the Event getName method" */
- TestResult tr10 = tcd.getTestResultFailed(SPEC2_15_EVENT_EVENT11);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_15_Event_event12 */
- /* Details: "Events are valid only in the current client request and */
- /* the portlet container must therefore deliver all events within the */
- /* current client request" */
- TestResult tr11 = tcd.getTestResultFailed(SPEC2_15_EVENT_EVENT12);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_15_Event_event13 */
- /* Details: "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" */
- TestResult tr12 = tcd.getTestResultFailed(SPEC2_15_EVENT_EVENT13);
- /* TODO: implement test */
+ LOGGER.entering(LOG_CLASS, "main portlet processAction entry");
- /* TestCase: SPEC2_15_Event_event14 */
- /* Details: "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" */
- TestResult tr13 = tcd.getTestResultFailed(SPEC2_15_EVENT_EVENT14);
- /* TODO: implement test */
+ portletResp.setRenderParameters(portletReq.getParameterMap());
+ long tid = Thread.currentThread().getId();
+ portletReq.setAttribute(THREADID_ATTR, tid);
- /* TestCase: SPEC2_15_Event_event15 */
- /* Details: "If a portlet throws an exception in the processEvent */
- /* method, all operations on the EventResponse must be ignored" */
- TestResult tr14 = tcd.getTestResultFailed(SPEC2_15_EVENT_EVENT15);
- /* TODO: implement test */
+ StringWriter writer = new StringWriter();
- /* TestCase: SPEC2_15_Event_event16 */
- /* Details: "If a portlet throws a permanent UnavailableException, */
- /* the portlet container must remove the portlet from service */
- /* immediately, call the portlet's destroy method, and release the */
- /* portlet object" */
- TestResult tr15 = tcd.getTestResultFailed(SPEC2_15_EVENT_EVENT16);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_15_Event_eventProcessAction1 */
- /* Details: "The portlet can publish an event via the setEvent method */
- /* in the processAction method" */
- TestResult tr16 = tcd.getTestResultFailed(SPEC2_15_EVENT_EVENTPROCESSACTION1);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_15_Event_eventProcessAction2 */
- /* Details: "The portlet can publish an event with its full Qname via */
- /* the setEvent method in the processAction method" */
- TestResult tr17 = tcd.getTestResultFailed(SPEC2_15_EVENT_EVENTPROCESSACTION2);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_15_Event_eventProcessAction3 */
- /* Details: "The portlet can publish an event with only the local */
- /* part of the Qname via the setEvent method in the processAction */
- /* method" */
- TestResult tr18 = tcd.getTestResultFailed(SPEC2_15_EVENT_EVENTPROCESSACTION3);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_15_Event_eventProcessAction4 */
- /* Details: "If an event is published with only the local part of the */
- /* Qname, the namespace must be the default namespace defined in the */
- /* deployment descriptor" */
- TestResult tr19 = tcd.getTestResultFailed(SPEC2_15_EVENT_EVENTPROCESSACTION4);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_15_Event_eventProcessAction5 */
- /* Details: "If an event is published with only the local part of the */
- /* Qname and no default namespace is defined in the deployment */
- /* descriptor, the value javax.xml.XMLConstants.NULL_NS_URI must be */
- /* used as the Qname namespace" */
- TestResult tr20 = tcd.getTestResultFailed(SPEC2_15_EVENT_EVENTPROCESSACTION5);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_15_Event_eventProcessAction6 */
- /* Details: "If an object is serializeable and has a valid JAXB */
- /* binding or is a Java primitive type, it can be used as an event */
- /* value" */
- TestResult tr21 = tcd.getTestResultFailed(SPEC2_15_EVENT_EVENTPROCESSACTION6);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_15_Event_eventProcessAction7 */
- /* Details: "If a value is not serializeable, the setEvent method */
- /* must throw an IllegalArgumentException" */
- TestResult tr22 = tcd.getTestResultFailed(SPEC2_15_EVENT_EVENTPROCESSACTION7);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_15_Event_eventProcessAction8 */
- /* Details: "If a value does not have a valid JAXB binding and is not */
- /* a Java primitve type, the setEvent method must throw an */
- /* IllegalArgumentException" */
- TestResult tr23 = tcd.getTestResultFailed(SPEC2_15_EVENT_EVENTPROCESSACTION8);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_15_Event_eventProcessAction9 */
- /* Details: "The portlet can publish multiple events via the setEvent */
- /* method in the processAction method" */
- TestResult tr24 = tcd.getTestResultFailed(SPEC2_15_EVENT_EVENTPROCESSACTION9);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_15_Event_eventProcessEvent1 */
- /* Details: "The portlet can publish an event via the setEvent method */
- /* in the processEvent method" */
- TestResult tr25 = tcd.getTestResultFailed(SPEC2_15_EVENT_EVENTPROCESSEVENT1);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_15_Event_eventProcessEvent2 */
- /* Details: "The portlet can publish an event with its full Qname via */
- /* the setEvent method in the processAction method" */
- TestResult tr26 = tcd.getTestResultFailed(SPEC2_15_EVENT_EVENTPROCESSEVENT2);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_15_Event_eventProcessEvent3 */
- /* Details: "The portlet can publish an event with only the local */
- /* part of the Qname via the setEvent method in the processAction */
- /* method" */
- TestResult tr27 = tcd.getTestResultFailed(SPEC2_15_EVENT_EVENTPROCESSEVENT3);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_15_Event_eventProcessEvent4 */
- /* Details: "If an event is published with only the local part of the */
- /* Qname, the namespace must be the default namespace defined in the */
- /* deployment descriptor" */
- TestResult tr28 = tcd.getTestResultFailed(SPEC2_15_EVENT_EVENTPROCESSEVENT4);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_15_Event_eventProcessEvent5 */
- /* Details: "If an event is published with only the local part of the */
- /* Qname and no default namespace is defined in the deployment */
- /* descriptor, the value javax.xml.XMLConstants.NULL_NS_URI must be */
- /* used as the Qname namespace" */
- TestResult tr29 = tcd.getTestResultFailed(SPEC2_15_EVENT_EVENTPROCESSEVENT5);
- /* TODO: implement test */
-
- /* TestCase: SPEC2_15_Event_eventProcessEvent6 */
- /* Details: "If an object is serializeable and has a valid JAXB */
- /* binding or is a Java primitive type, it can be used as an event */
- /* value" */
- TestResult tr30 = tcd.getTestResultFailed(SPEC2_15_EVENT_EVENTPROCESSEVENT6);
- /* TODO: implement test */
+ QName eventQName = new QName(TCKNAMESPACE,
+ "AddlPortletTests_SPEC2_15_Event");
+ portletResp.setEvent(eventQName, "Hi!");
+ }
- /* TestCase: SPEC2_15_Event_eventProcessEvent7 */
- /* Details: "If a value is not serializeable, the setEvent method */
- /* must throw an IllegalArgumentException" */
- TestResult tr31 = tcd.getTestResultFailed(SPEC2_15_EVENT_EVENTPROCESSEVENT7);
- /* TODO: implement test */
+ @Override
+ public void serveResource(ResourceRequest portletReq, ResourceResponse portletResp)
+ throws PortletException, IOException {
+ LOGGER.entering(LOG_CLASS, "main portlet serveResource entry");
- /* TestCase: SPEC2_15_Event_eventProcessEvent8 */
- /* Details: "If a value does not have a valid JAXB binding and is not */
- /* a Java primitve type, the setEvent method must throw an */
- /* IllegalArgumentException" */
- TestResult tr32 = tcd.getTestResultFailed(SPEC2_15_EVENT_EVENTPROCESSEVENT8);
- /* TODO: implement test */
+ long tid = Thread.currentThread().getId();
+ portletReq.setAttribute(THREADID_ATTR, tid);
- /* TestCase: SPEC2_15_Event_eventProcessEvent9 */
- /* Details: "The portlet can publish multiple events via the setEvent */
- /* method in the processEvent method" */
- TestResult tr33 = tcd.getTestResultFailed(SPEC2_15_EVENT_EVENTPROCESSEVENT9);
- /* TODO: implement test */
+ PrintWriter writer = portletResp.getWriter();
+ }
+ @Override
+ public void render(RenderRequest portletReq, RenderResponse portletResp)
+ throws PortletException, IOException {
+ LOGGER.entering(LOG_CLASS, "main portlet render entry");
- // Write the results to the output stream
+ long tid = Thread.currentThread().getId();
+ portletReq.setAttribute(THREADID_ATTR, tid);
- tr0.writeTo(writer);
- tr1.writeTo(writer);
- tr2.writeTo(writer);
- tr3.writeTo(writer);
- tr4.writeTo(writer);
- tr5.writeTo(writer);
- tr6.writeTo(writer);
- tr7.writeTo(writer);
- tr8.writeTo(writer);
- tr9.writeTo(writer);
- tr10.writeTo(writer);
- tr11.writeTo(writer);
- tr12.writeTo(writer);
- tr13.writeTo(writer);
- tr14.writeTo(writer);
- tr15.writeTo(writer);
- tr16.writeTo(writer);
- tr17.writeTo(writer);
- tr18.writeTo(writer);
- tr19.writeTo(writer);
- tr20.writeTo(writer);
- tr21.writeTo(writer);
- tr22.writeTo(writer);
- tr23.writeTo(writer);
- tr24.writeTo(writer);
- tr25.writeTo(writer);
- tr26.writeTo(writer);
- tr27.writeTo(writer);
- tr28.writeTo(writer);
- tr29.writeTo(writer);
- tr30.writeTo(writer);
- tr31.writeTo(writer);
- tr32.writeTo(writer);
- tr33.writeTo(writer);
+ PrintWriter writer = portletResp.getWriter();
+ /* TestCase: V2AddlPortletTests_SPEC2_15_Event_event1 */
+ /* Details: "Event names are defined in the deployment descriptor" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlPortletTests_SPEC2_15_Event_event1", aurl);
+ tb.writeTo(writer);
+ }
}
}
-
http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/23a1c547/portlet-tck_3.0/V2AddlPortletTests/src/main/java/javax/portlet/tck/portlets/AddlPortletTests_SPEC2_15_EventEventHandling.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2AddlPortletTests/src/main/java/javax/portlet/tck/portlets/AddlPortletTests_SPEC2_15_EventEventHandling.java b/portlet-tck_3.0/V2AddlPortletTests/src/main/java/javax/portlet/tck/portlets/AddlPortletTests_SPEC2_15_EventEventHandling.java
new file mode 100644
index 0000000..56e5017
--- /dev/null
+++ b/portlet-tck_3.0/V2AddlPortletTests/src/main/java/javax/portlet/tck/portlets/AddlPortletTests_SPEC2_15_EventEventHandling.java
@@ -0,0 +1,294 @@
+/* Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package javax.portlet.tck.portlets;
+
+import java.io.*;
+import java.util.*;
+import java.util.logging.*;
+import static java.util.logging.Logger.*;
+import javax.xml.namespace.QName;
+import javax.portlet.*;
+import javax.portlet.filter.*;
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.portlet.tck.beans.*;
+import javax.portlet.tck.constants.*;
+import static javax.portlet.tck.beans.JSR286SpecTestCaseDetails.*;
+import static javax.portlet.tck.constants.Constants.*;
+import static javax.portlet.PortletSession.*;
+import static javax.portlet.ResourceURL.*;
+
+/**
+ * This portlet implements several test cases for the JSR 362 TCK. The test case names
+ * are defined in the /src/main/resources/xml-resources/additionalTCs.xml
+ * file. The build process will integrate the test case names defined in the
+ * additionalTCs.xml file into the complete list of test case names for execution by the driver.
+ *
+ * This is the main portlet for the test cases. If the test cases call for events, this portlet
+ * will initiate the events, but not process them. The processing is done in the companion
+ * portlet AddlPortletTests_SPEC2_15_EventEventHandling_event
+ *
+ */
+public class AddlPortletTests_SPEC2_15_EventEventHandling implements Portlet, ResourceServingPortlet {
+ private static final String LOG_CLASS =
+ AddlPortletTests_SPEC2_15_EventEventHandling.class.getName();
+ private final Logger LOGGER = Logger.getLogger(LOG_CLASS);
+
+ private PortletConfig portletConfig = null;
+
+ @Override
+ public void init(PortletConfig config) throws PortletException {
+ this.portletConfig = config;
+ }
+
+ @Override
+ public void destroy() {
+ }
+
+ @Override
+ public void processAction(ActionRequest portletReq, ActionResponse portletResp)
+ throws PortletException, IOException {
+ LOGGER.entering(LOG_CLASS, "main portlet processAction entry");
+
+ portletResp.setRenderParameters(portletReq.getParameterMap());
+ long tid = Thread.currentThread().getId();
+ portletReq.setAttribute(THREADID_ATTR, tid);
+
+ StringWriter writer = new StringWriter();
+
+ QName eventQName = new QName(TCKNAMESPACE,
+ "AddlPortletTests_SPEC2_15_EventEventHandling");
+ portletResp.setEvent(eventQName, "Hi!");
+ }
+
+ @Override
+ public void serveResource(ResourceRequest portletReq, ResourceResponse portletResp)
+ throws PortletException, IOException {
+ LOGGER.entering(LOG_CLASS, "main portlet serveResource entry");
+
+ long tid = Thread.currentThread().getId();
+ portletReq.setAttribute(THREADID_ATTR, tid);
+
+ PrintWriter writer = portletResp.getWriter();
+
+ }
+
+ @Override
+ public void render(RenderRequest portletReq, RenderResponse portletResp)
+ throws PortletException, IOException {
+ LOGGER.entering(LOG_CLASS, "main portlet render entry");
+
+ long tid = Thread.currentThread().getId();
+ portletReq.setAttribute(THREADID_ATTR, tid);
+
+ PrintWriter writer = portletResp.getWriter();
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_EventEventHandling_event5 */
+ /* Details: "The portlet can use the EventRequest.getEvent method to */
+ /* obtain an Event object encapsulating the event name and value" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlPortletTests_SPEC2_15_EventEventHandling_event5", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_EventEventHandling_event6 */
+ /* Details: "The Event object must always have the name field set" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlPortletTests_SPEC2_15_EventEventHandling_event6", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_EventEventHandling_event7 */
+ /* Details: "If the Event object has a value set when the event is */
+ /* published, the value must be based on the value defined in the */
+ /* deployment descriptor" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlPortletTests_SPEC2_15_EventEventHandling_event7", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_EventEventHandling_event8 */
+ /* Details: "If the Event object has a value set when the event is */
+ /* published, the value must be available from the Event object in */
+ /* the processEvent method" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlPortletTests_SPEC2_15_EventEventHandling_event8", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_EventEventHandling_event9 */
+ /* Details: "If the Event object does not have a value set when the */
+ /* event is published, the Event object available in the processEvent */
+ /* method must not have a value" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlPortletTests_SPEC2_15_EventEventHandling_event9", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_EventEventHandling_event10 */
+ /* Details: "The Event Qname object representing the name can be */
+ /* retrieved through the Event getQname method" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlPortletTests_SPEC2_15_EventEventHandling_event10", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_EventEventHandling_event11 */
+ /* Details: "The local part of the Event Qname object representing */
+ /* the name can be retrieved through the Event getName method" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlPortletTests_SPEC2_15_EventEventHandling_event11", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_EventEventHandling_event15 */
+ /* Details: "If a portlet throws an exception in the processEvent */
+ /* method, all operations on the EventResponse must be ignored" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlPortletTests_SPEC2_15_EventEventHandling_event15", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_EventEventHandling_event16 */
+ /* Details: "If a portlet throws a permanent UnavailableException */
+ /* during event processing, the portlet container must remove the */
+ /* portlet from service immediately, call the portlet's destroy */
+ /* method, and release the portlet object" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlPortletTests_SPEC2_15_EventEventHandling_event16", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_EventEventHandling_eventProcessEvent1 */
+ /* Details: "The portlet can publish an event via the setEvent method */
+ /* in the processEvent method" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlPortletTests_SPEC2_15_EventEventHandling_eventProcessEvent1", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_EventEventHandling_eventProcessEvent2 */
+ /* Details: "The portlet can publish an event with its full Qname via */
+ /* the setEvent method in the processAction method" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlPortletTests_SPEC2_15_EventEventHandling_eventProcessEvent2", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_EventEventHandling_eventProcessEvent3 */
+ /* Details: "The portlet can publish an event with only the local */
+ /* part of the Qname via the setEvent method in the processAction */
+ /* method" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlPortletTests_SPEC2_15_EventEventHandling_eventProcessEvent3", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_EventEventHandling_eventProcessEvent4 */
+ /* Details: "If an event is published with only the local part of the */
+ /* Qname, the namespace must be the default namespace defined in the */
+ /* deployment descriptor" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlPortletTests_SPEC2_15_EventEventHandling_eventProcessEvent4", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_EventEventHandling_eventProcessEvent5 */
+ /* Details: "If an event is published with only the local part of the */
+ /* Qname and no default namespace is defined in the deployment */
+ /* descriptor, the value javax.xml.XMLConstants.NULL_NS_URI must be */
+ /* used as the Qname namespace" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlPortletTests_SPEC2_15_EventEventHandling_eventProcessEvent5", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_EventEventHandling_eventProcessEvent6 */
+ /* Details: "If an object is serializeable and has a valid JAXB */
+ /* binding or is a Java primitive type, it can be used as an event */
+ /* value" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlPortletTests_SPEC2_15_EventEventHandling_eventProcessEvent6", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_EventEventHandling_eventProcessEvent7 */
+ /* Details: "If a value is not serializeable, the setEvent method */
+ /* must throw an IllegalArgumentException" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlPortletTests_SPEC2_15_EventEventHandling_eventProcessEvent7", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_EventEventHandling_eventProcessEvent8 */
+ /* Details: "If a value does not have a valid JAXB binding and is not */
+ /* a Java primitve type, the setEvent method must throw an */
+ /* IllegalArgumentException" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlPortletTests_SPEC2_15_EventEventHandling_eventProcessEvent8", aurl);
+ tb.writeTo(writer);
+ }
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_EventEventHandling_eventProcessEvent9 */
+ /* Details: "The portlet can publish multiple events via the setEvent */
+ /* method in the processEvent method" */
+ {
+ PortletURL aurl = portletResp.createActionURL();
+ aurl.setParameters(portletReq.getPrivateParameterMap());
+ TestButton tb = new TestButton("V2AddlPortletTests_SPEC2_15_EventEventHandling_eventProcessEvent9", aurl);
+ tb.writeTo(writer);
+ }
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/23a1c547/portlet-tck_3.0/V2AddlPortletTests/src/main/java/javax/portlet/tck/portlets/AddlPortletTests_SPEC2_15_EventEventHandling_event.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2AddlPortletTests/src/main/java/javax/portlet/tck/portlets/AddlPortletTests_SPEC2_15_EventEventHandling_event.java b/portlet-tck_3.0/V2AddlPortletTests/src/main/java/javax/portlet/tck/portlets/AddlPortletTests_SPEC2_15_EventEventHandling_event.java
new file mode 100644
index 0000000..5288b44
--- /dev/null
+++ b/portlet-tck_3.0/V2AddlPortletTests/src/main/java/javax/portlet/tck/portlets/AddlPortletTests_SPEC2_15_EventEventHandling_event.java
@@ -0,0 +1,263 @@
+/* Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package javax.portlet.tck.portlets;
+
+import java.io.*;
+import java.util.*;
+import java.util.logging.*;
+import static java.util.logging.Logger.*;
+import javax.xml.namespace.QName;
+import javax.portlet.*;
+import javax.portlet.filter.*;
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.portlet.tck.beans.*;
+import javax.portlet.tck.constants.*;
+import static javax.portlet.tck.constants.Constants.*;
+import static javax.portlet.tck.beans.JSR286SpecTestCaseDetails.*;
+import static javax.portlet.PortletSession.*;
+
+/**
+ * This is the event processing portlet for the test cases. This portlet processes events,
+ * but does not publish them. Events are published in the main portlet for the test cases.
+ */
+public class AddlPortletTests_SPEC2_15_EventEventHandling_event implements Portlet, EventPortlet, ResourceServingPortlet {
+ private static final String LOG_CLASS =
+ AddlPortletTests_SPEC2_15_EventEventHandling_event.class.getName();
+ private final Logger LOGGER = Logger.getLogger(LOG_CLASS);
+
+ private PortletConfig portletConfig = null;
+
+ @Override
+ public void init(PortletConfig config) throws PortletException {
+ this.portletConfig = config;
+ }
+
+ @Override
+ public void destroy() {
+ }
+
+ @Override
+ public void processAction(ActionRequest portletReq, ActionResponse portletResp)
+ throws PortletException, IOException {
+ LOGGER.entering(LOG_CLASS, "event companion processAction - ERROR!!");
+ }
+
+ @Override
+ public void serveResource(ResourceRequest portletReq, ResourceResponse portletResp)
+ throws PortletException, IOException {
+ LOGGER.entering(LOG_CLASS, "event companion serveResource - ERROR!!");
+ }
+
+ @Override
+ public void processEvent(EventRequest portletReq, EventResponse portletResp)
+ throws PortletException, IOException {
+ LOGGER.entering(LOG_CLASS, "event companion processEvent");
+
+
+ portletResp.setRenderParameters(portletReq);
+
+ long tid = Thread.currentThread().getId();
+ portletReq.setAttribute(THREADID_ATTR, tid);
+
+ StringWriter writer = new StringWriter();
+
+ JSR286SpecTestCaseDetails tcd = new JSR286SpecTestCaseDetails();
+
+ // Create result objects for the tests
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_EventEventHandling_event5 */
+ /* Details: "The portlet can use the EventRequest.getEvent method to */
+ /* obtain an Event object encapsulating the event name and value" */
+ TestResult tr0 = tcd.getTestResultFailed(V2ADDLPORTLETTESTS_SPEC2_15_EVENTEVENTHANDLING_EVENT5);
+ /* TODO: implement test */
+ tr0.appendTcDetail("Not implemented.");
+ tr0.writeTo(writer);
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_EventEventHandling_event6 */
+ /* Details: "The Event object must always have the name field set" */
+ TestResult tr1 = tcd.getTestResultFailed(V2ADDLPORTLETTESTS_SPEC2_15_EVENTEVENTHANDLING_EVENT6);
+ /* TODO: implement test */
+ tr1.appendTcDetail("Not implemented.");
+ tr1.writeTo(writer);
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_EventEventHandling_event7 */
+ /* Details: "If the Event object has a value set when the event is */
+ /* published, the value must be based on the value defined in the */
+ /* deployment descriptor" */
+ TestResult tr2 = tcd.getTestResultFailed(V2ADDLPORTLETTESTS_SPEC2_15_EVENTEVENTHANDLING_EVENT7);
+ /* TODO: implement test */
+ tr2.appendTcDetail("Not implemented.");
+ tr2.writeTo(writer);
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_EventEventHandling_event8 */
+ /* Details: "If the Event object has a value set when the event is */
+ /* published, the value must be available from the Event object in */
+ /* the processEvent method" */
+ TestResult tr3 = tcd.getTestResultFailed(V2ADDLPORTLETTESTS_SPEC2_15_EVENTEVENTHANDLING_EVENT8);
+ /* TODO: implement test */
+ tr3.appendTcDetail("Not implemented.");
+ tr3.writeTo(writer);
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_EventEventHandling_event9 */
+ /* Details: "If the Event object does not have a value set when the */
+ /* event is published, the Event object available in the processEvent */
+ /* method must not have a value" */
+ TestResult tr4 = tcd.getTestResultFailed(V2ADDLPORTLETTESTS_SPEC2_15_EVENTEVENTHANDLING_EVENT9);
+ /* TODO: implement test */
+ tr4.appendTcDetail("Not implemented.");
+ tr4.writeTo(writer);
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_EventEventHandling_event10 */
+ /* Details: "The Event Qname object representing the name can be */
+ /* retrieved through the Event getQname method" */
+ TestResult tr5 = tcd.getTestResultFailed(V2ADDLPORTLETTESTS_SPEC2_15_EVENTEVENTHANDLING_EVENT10);
+ /* TODO: implement test */
+ tr5.appendTcDetail("Not implemented.");
+ tr5.writeTo(writer);
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_EventEventHandling_event11 */
+ /* Details: "The local part of the Event Qname object representing */
+ /* the name can be retrieved through the Event getName method" */
+ TestResult tr6 = tcd.getTestResultFailed(V2ADDLPORTLETTESTS_SPEC2_15_EVENTEVENTHANDLING_EVENT11);
+ /* TODO: implement test */
+ tr6.appendTcDetail("Not implemented.");
+ tr6.writeTo(writer);
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_EventEventHandling_event15 */
+ /* Details: "If a portlet throws an exception in the processEvent */
+ /* method, all operations on the EventResponse must be ignored" */
+ TestResult tr7 = tcd.getTestResultFailed(V2ADDLPORTLETTESTS_SPEC2_15_EVENTEVENTHANDLING_EVENT15);
+ /* TODO: implement test */
+ tr7.appendTcDetail("Not implemented.");
+ tr7.writeTo(writer);
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_EventEventHandling_event16 */
+ /* Details: "If a portlet throws a permanent UnavailableException */
+ /* during event processing, the portlet container must remove the */
+ /* portlet from service immediately, call the portlet's destroy */
+ /* method, and release the portlet object" */
+ TestResult tr8 = tcd.getTestResultFailed(V2ADDLPORTLETTESTS_SPEC2_15_EVENTEVENTHANDLING_EVENT16);
+ /* TODO: implement test */
+ tr8.appendTcDetail("Not implemented.");
+ tr8.writeTo(writer);
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_EventEventHandling_eventProcessEvent1 */
+ /* Details: "The portlet can publish an event via the setEvent method */
+ /* in the processEvent method" */
+ TestResult tr9 = tcd.getTestResultFailed(V2ADDLPORTLETTESTS_SPEC2_15_EVENTEVENTHANDLING_EVENTPROCESSEVENT1);
+ /* TODO: implement test */
+ tr9.appendTcDetail("Not implemented.");
+ tr9.writeTo(writer);
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_EventEventHandling_eventProcessEvent2 */
+ /* Details: "The portlet can publish an event with its full Qname via */
+ /* the setEvent method in the processAction method" */
+ TestResult tr10 = tcd.getTestResultFailed(V2ADDLPORTLETTESTS_SPEC2_15_EVENTEVENTHANDLING_EVENTPROCESSEVENT2);
+ /* TODO: implement test */
+ tr10.appendTcDetail("Not implemented.");
+ tr10.writeTo(writer);
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_EventEventHandling_eventProcessEvent3 */
+ /* Details: "The portlet can publish an event with only the local */
+ /* part of the Qname via the setEvent method in the processAction */
+ /* method" */
+ TestResult tr11 = tcd.getTestResultFailed(V2ADDLPORTLETTESTS_SPEC2_15_EVENTEVENTHANDLING_EVENTPROCESSEVENT3);
+ /* TODO: implement test */
+ tr11.appendTcDetail("Not implemented.");
+ tr11.writeTo(writer);
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_EventEventHandling_eventProcessEvent4 */
+ /* Details: "If an event is published with only the local part of the */
+ /* Qname, the namespace must be the default namespace defined in the */
+ /* deployment descriptor" */
+ TestResult tr12 = tcd.getTestResultFailed(V2ADDLPORTLETTESTS_SPEC2_15_EVENTEVENTHANDLING_EVENTPROCESSEVENT4);
+ /* TODO: implement test */
+ tr12.appendTcDetail("Not implemented.");
+ tr12.writeTo(writer);
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_EventEventHandling_eventProcessEvent5 */
+ /* Details: "If an event is published with only the local part of the */
+ /* Qname and no default namespace is defined in the deployment */
+ /* descriptor, the value javax.xml.XMLConstants.NULL_NS_URI must be */
+ /* used as the Qname namespace" */
+ TestResult tr13 = tcd.getTestResultFailed(V2ADDLPORTLETTESTS_SPEC2_15_EVENTEVENTHANDLING_EVENTPROCESSEVENT5);
+ /* TODO: implement test */
+ tr13.appendTcDetail("Not implemented.");
+ tr13.writeTo(writer);
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_EventEventHandling_eventProcessEvent6 */
+ /* Details: "If an object is serializeable and has a valid JAXB */
+ /* binding or is a Java primitive type, it can be used as an event */
+ /* value" */
+ TestResult tr14 = tcd.getTestResultFailed(V2ADDLPORTLETTESTS_SPEC2_15_EVENTEVENTHANDLING_EVENTPROCESSEVENT6);
+ /* TODO: implement test */
+ tr14.appendTcDetail("Not implemented.");
+ tr14.writeTo(writer);
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_EventEventHandling_eventProcessEvent7 */
+ /* Details: "If a value is not serializeable, the setEvent method */
+ /* must throw an IllegalArgumentException" */
+ TestResult tr15 = tcd.getTestResultFailed(V2ADDLPORTLETTESTS_SPEC2_15_EVENTEVENTHANDLING_EVENTPROCESSEVENT7);
+ /* TODO: implement test */
+ tr15.appendTcDetail("Not implemented.");
+ tr15.writeTo(writer);
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_EventEventHandling_eventProcessEvent8 */
+ /* Details: "If a value does not have a valid JAXB binding and is not */
+ /* a Java primitve type, the setEvent method must throw an */
+ /* IllegalArgumentException" */
+ TestResult tr16 = tcd.getTestResultFailed(V2ADDLPORTLETTESTS_SPEC2_15_EVENTEVENTHANDLING_EVENTPROCESSEVENT8);
+ /* TODO: implement test */
+ tr16.appendTcDetail("Not implemented.");
+ tr16.writeTo(writer);
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_EventEventHandling_eventProcessEvent9 */
+ /* Details: "The portlet can publish multiple events via the setEvent */
+ /* method in the processEvent method" */
+ TestResult tr17 = tcd.getTestResultFailed(V2ADDLPORTLETTESTS_SPEC2_15_EVENTEVENTHANDLING_EVENTPROCESSEVENT9);
+ /* TODO: implement test */
+ tr17.appendTcDetail("Not implemented.");
+ tr17.writeTo(writer);
+
+ portletReq.getPortletSession().setAttribute(
+ Constants.RESULT_ATTR_PREFIX + "AddlPortletTests_SPEC2_15_EventEventHandling",
+ writer.toString(), APPLICATION_SCOPE);
+
+ }
+
+ @Override
+ public void render(RenderRequest portletReq, RenderResponse portletResp)
+ throws PortletException, IOException {
+
+ LOGGER.entering(LOG_CLASS, "event companion render");
+
+ portletResp.setContentType("text/html");
+ PrintWriter writer = portletResp.getWriter();
+ writer.write("<h3>Event Companion Portlet </h3>\n");
+ writer.write("<p>AddlPortletTests_SPEC2_15_EventEventHandling_event</p>\n");
+
+ String msg = (String) portletReq.getPortletSession()
+ .getAttribute(RESULT_ATTR_PREFIX + "AddlPortletTests_SPEC2_15_EventEventHandling", APPLICATION_SCOPE);
+ msg = (msg==null) ? "Not ready. click test case link." : msg;
+ writer.write("<p>" + msg + "</p>\n");
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/23a1c547/portlet-tck_3.0/V2AddlPortletTests/src/main/java/javax/portlet/tck/portlets/AddlPortletTests_SPEC2_15_Event_event.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2AddlPortletTests/src/main/java/javax/portlet/tck/portlets/AddlPortletTests_SPEC2_15_Event_event.java b/portlet-tck_3.0/V2AddlPortletTests/src/main/java/javax/portlet/tck/portlets/AddlPortletTests_SPEC2_15_Event_event.java
new file mode 100644
index 0000000..b71670b
--- /dev/null
+++ b/portlet-tck_3.0/V2AddlPortletTests/src/main/java/javax/portlet/tck/portlets/AddlPortletTests_SPEC2_15_Event_event.java
@@ -0,0 +1,116 @@
+/* Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package javax.portlet.tck.portlets;
+
+import java.io.*;
+import java.util.*;
+import java.util.logging.*;
+import static java.util.logging.Logger.*;
+import javax.xml.namespace.QName;
+import javax.portlet.*;
+import javax.portlet.filter.*;
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.portlet.tck.beans.*;
+import javax.portlet.tck.constants.*;
+import static javax.portlet.tck.constants.Constants.*;
+import static javax.portlet.tck.beans.JSR286SpecTestCaseDetails.*;
+import static javax.portlet.PortletSession.*;
+
+/**
+ * This is the event processing portlet for the test cases. This portlet processes events,
+ * but does not publish them. Events are published in the main portlet for the test cases.
+ */
+public class AddlPortletTests_SPEC2_15_Event_event implements Portlet, EventPortlet, ResourceServingPortlet {
+ private static final String LOG_CLASS =
+ AddlPortletTests_SPEC2_15_Event_event.class.getName();
+ private final Logger LOGGER = Logger.getLogger(LOG_CLASS);
+
+ private PortletConfig portletConfig = null;
+
+ @Override
+ public void init(PortletConfig config) throws PortletException {
+ this.portletConfig = config;
+ }
+
+ @Override
+ public void destroy() {
+ }
+
+ @Override
+ public void processAction(ActionRequest portletReq, ActionResponse portletResp)
+ throws PortletException, IOException {
+ LOGGER.entering(LOG_CLASS, "event companion processAction - ERROR!!");
+ }
+
+ @Override
+ public void serveResource(ResourceRequest portletReq, ResourceResponse portletResp)
+ throws PortletException, IOException {
+ LOGGER.entering(LOG_CLASS, "event companion serveResource - ERROR!!");
+ }
+
+ @Override
+ public void processEvent(EventRequest portletReq, EventResponse portletResp)
+ throws PortletException, IOException {
+ LOGGER.entering(LOG_CLASS, "event companion processEvent");
+
+
+ portletResp.setRenderParameters(portletReq);
+
+ long tid = Thread.currentThread().getId();
+ portletReq.setAttribute(THREADID_ATTR, tid);
+
+ StringWriter writer = new StringWriter();
+
+ JSR286SpecTestCaseDetails tcd = new JSR286SpecTestCaseDetails();
+
+ // Create result objects for the tests
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_Event_event1 */
+ /* Details: "Event names are defined in the deployment descriptor" */
+ TestResult tr0 = tcd.getTestResultFailed(V2ADDLPORTLETTESTS_SPEC2_15_EVENT_EVENT1);
+ /* TODO: implement test */
+ tr0.appendTcDetail("Not implemented.");
+ tr0.writeTo(writer);
+
+ portletReq.getPortletSession().setAttribute(
+ Constants.RESULT_ATTR_PREFIX + "AddlPortletTests_SPEC2_15_Event",
+ writer.toString(), APPLICATION_SCOPE);
+
+ }
+
+ @Override
+ public void render(RenderRequest portletReq, RenderResponse portletResp)
+ throws PortletException, IOException {
+
+ LOGGER.entering(LOG_CLASS, "event companion render");
+
+ portletResp.setContentType("text/html");
+ PrintWriter writer = portletResp.getWriter();
+ writer.write("<h3>Event Companion Portlet </h3>\n");
+ writer.write("<p>AddlPortletTests_SPEC2_15_Event_event</p>\n");
+
+ String msg = (String) portletReq.getPortletSession()
+ .getAttribute(RESULT_ATTR_PREFIX + "AddlPortletTests_SPEC2_15_Event", APPLICATION_SCOPE);
+ msg = (msg==null) ? "Not ready. click test case link." : msg;
+ writer.write("<p>" + msg + "</p>\n");
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/23a1c547/portlet-tck_3.0/V2AddlPortletTests/src/main/java/javax/portlet/tck/portlets/AddlPortletTests_SPEC2_15_RenderEventHandling.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2AddlPortletTests/src/main/java/javax/portlet/tck/portlets/AddlPortletTests_SPEC2_15_RenderEventHandling.java b/portlet-tck_3.0/V2AddlPortletTests/src/main/java/javax/portlet/tck/portlets/AddlPortletTests_SPEC2_15_RenderEventHandling.java
new file mode 100644
index 0000000..dd159e1
--- /dev/null
+++ b/portlet-tck_3.0/V2AddlPortletTests/src/main/java/javax/portlet/tck/portlets/AddlPortletTests_SPEC2_15_RenderEventHandling.java
@@ -0,0 +1,129 @@
+/* Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package javax.portlet.tck.portlets;
+
+import java.io.*;
+import java.util.*;
+import java.util.logging.*;
+import static java.util.logging.Logger.*;
+import javax.xml.namespace.QName;
+import javax.portlet.*;
+import javax.portlet.filter.*;
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.portlet.tck.beans.*;
+import javax.portlet.tck.constants.*;
+import static javax.portlet.tck.beans.JSR286SpecTestCaseDetails.*;
+import static javax.portlet.tck.constants.Constants.*;
+import static javax.portlet.PortletSession.*;
+import static javax.portlet.ResourceURL.*;
+
+/**
+ * This portlet implements several test cases for the JSR 362 TCK. The test case names
+ * are defined in the /src/main/resources/xml-resources/additionalTCs.xml
+ * file. The build process will integrate the test case names defined in the
+ * additionalTCs.xml file into the complete list of test case names for execution by the driver.
+ *
+ * This is the main portlet for the test cases. If the test cases call for events, this portlet
+ * will initiate the events, but not process them. The processing is done in the companion
+ * portlet AddlPortletTests_SPEC2_15_RenderEventHandling_event
+ *
+ */
+public class AddlPortletTests_SPEC2_15_RenderEventHandling implements Portlet, ResourceServingPortlet {
+ private static final String LOG_CLASS =
+ AddlPortletTests_SPEC2_15_RenderEventHandling.class.getName();
+ private final Logger LOGGER = Logger.getLogger(LOG_CLASS);
+
+ private PortletConfig portletConfig = null;
+
+ @Override
+ public void init(PortletConfig config) throws PortletException {
+ this.portletConfig = config;
+ }
+
+ @Override
+ public void destroy() {
+ }
+
+ @Override
+ public void processAction(ActionRequest portletReq, ActionResponse portletResp)
+ throws PortletException, IOException {
+ LOGGER.entering(LOG_CLASS, "main portlet processAction entry");
+
+ portletResp.setRenderParameters(portletReq.getParameterMap());
+ long tid = Thread.currentThread().getId();
+ portletReq.setAttribute(THREADID_ATTR, tid);
+
+ StringWriter writer = new StringWriter();
+
+ }
+
+ @Override
+ public void serveResource(ResourceRequest portletReq, ResourceResponse portletResp)
+ throws PortletException, IOException {
+ LOGGER.entering(LOG_CLASS, "main portlet serveResource entry");
+
+ long tid = Thread.currentThread().getId();
+ portletReq.setAttribute(THREADID_ATTR, tid);
+
+ PrintWriter writer = portletResp.getWriter();
+
+ }
+
+ @Override
+ public void render(RenderRequest portletReq, RenderResponse portletResp)
+ throws PortletException, IOException {
+ LOGGER.entering(LOG_CLASS, "main portlet render entry");
+
+ long tid = Thread.currentThread().getId();
+ portletReq.setAttribute(THREADID_ATTR, tid);
+
+ PrintWriter writer = portletResp.getWriter();
+
+ JSR286SpecTestCaseDetails tcd = new JSR286SpecTestCaseDetails();
+
+ // Create result objects for the tests
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_RenderEventHandling_event2 */
+ /* Details: "Event value types are defined in the deployment */
+ /* descriptor" */
+ TestResult tr0 = tcd.getTestResultFailed(V2ADDLPORTLETTESTS_SPEC2_15_RENDEREVENTHANDLING_EVENT2);
+ /* TODO: implement test */
+ tr0.appendTcDetail("Not implemented.");
+ tr0.writeTo(writer);
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_RenderEventHandling_event3 */
+ /* Details: "The supported publishing events for the portlet are */
+ /* defined in the deployment descriptor" */
+ TestResult tr1 = tcd.getTestResultFailed(V2ADDLPORTLETTESTS_SPEC2_15_RENDEREVENTHANDLING_EVENT3);
+ /* TODO: implement test */
+ tr1.appendTcDetail("Not implemented.");
+ tr1.writeTo(writer);
+
+ /* TestCase: V2AddlPortletTests_SPEC2_15_RenderEventHandling_event4 */
+ /* Details: "The supported processing events for the portlet are */
+ /* defined in the deployment descriptor" */
+ TestResult tr2 = tcd.getTestResultFailed(V2ADDLPORTLETTESTS_SPEC2_15_RENDEREVENTHANDLING_EVENT4);
+ /* TODO: implement test */
+ tr2.appendTcDetail("Not implemented.");
+ tr2.writeTo(writer);
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/23a1c547/portlet-tck_3.0/V2AddlPortletTests/src/main/java/javax/portlet/tck/portlets/AddlPortletTests_SPEC2_2_Compatibility.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/V2AddlPortletTests/src/main/java/javax/portlet/tck/portlets/AddlPortletTests_SPEC2_2_Compatibility.java b/portlet-tck_3.0/V2AddlPortletTests/src/main/java/javax/portlet/tck/portlets/AddlPortletTests_SPEC2_2_Compatibility.java
index 106e69f..d650fbf 100644
--- a/portlet-tck_3.0/V2AddlPortletTests/src/main/java/javax/portlet/tck/portlets/AddlPortletTests_SPEC2_2_Compatibility.java
+++ b/portlet-tck_3.0/V2AddlPortletTests/src/main/java/javax/portlet/tck/portlets/AddlPortletTests_SPEC2_2_Compatibility.java
@@ -18,29 +18,34 @@
package javax.portlet.tck.portlets;
-import java.io.IOException;
-import java.io.PrintWriter;
-
-import java.util.Enumeration;
-import java.util.Locale;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
+import java.io.*;
+import java.util.*;
+import java.util.logging.*;
+import static java.util.logging.Logger.*;
+import javax.xml.namespace.QName;
import javax.portlet.*;
import javax.portlet.filter.*;
-import javax.portlet.tck.beans.ClassChecker;
-import javax.portlet.tck.beans.TestCaseDetails;
-import javax.portlet.tck.beans.JSR286SpecTestCaseDetails;
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.portlet.tck.beans.*;
+import javax.portlet.tck.constants.*;
import static javax.portlet.tck.beans.JSR286SpecTestCaseDetails.*;
-import javax.portlet.tck.beans.TestResult;
+import static javax.portlet.tck.constants.Constants.*;
+import static javax.portlet.PortletSession.*;
+import static javax.portlet.ResourceURL.*;
/**
* This portlet implements several test cases for the JSR 362 TCK. The test case names
* are defined in the /src/main/resources/xml-resources/additionalTCs.xml
* file. The build process will integrate the test case names defined in the
* additionalTCs.xml file into the complete list of test case names for execution by the driver.
+ *
+ * This is the main portlet for the test cases. If the test cases call for events, this portlet
+ * will initiate the events, but not process them. The processing is done in the companion
+ * portlet AddlPortletTests_SPEC2_2_Compatibility_event
+ *
*/
-public class AddlPortletTests_SPEC2_2_Compatibility implements Portlet {
+public class AddlPortletTests_SPEC2_2_Compatibility implements Portlet, ResourceServingPortlet {
private static final String LOG_CLASS =
AddlPortletTests_SPEC2_2_Compatibility.class.getName();
private final Logger LOGGER = Logger.getLogger(LOG_CLASS);
@@ -57,44 +62,60 @@ public class AddlPortletTests_SPEC2_2_Compatibility implements Portlet {
}
@Override
- public void processAction(ActionRequest actionRequest, ActionResponse actionResponse)
+ public void processAction(ActionRequest portletReq, ActionResponse portletResp)
+ throws PortletException, IOException {
+ LOGGER.entering(LOG_CLASS, "main portlet processAction entry");
+
+ portletResp.setRenderParameters(portletReq.getParameterMap());
+ long tid = Thread.currentThread().getId();
+ portletReq.setAttribute(THREADID_ATTR, tid);
+
+ StringWriter writer = new StringWriter();
+
+ }
+
+ @Override
+ public void serveResource(ResourceRequest portletReq, ResourceResponse portletResp)
throws PortletException, IOException {
+ LOGGER.entering(LOG_CLASS, "main portlet serveResource entry");
+
+ long tid = Thread.currentThread().getId();
+ portletReq.setAttribute(THREADID_ATTR, tid);
+
+ PrintWriter writer = portletResp.getWriter();
+
}
@Override
- public void render(RenderRequest renderRequest, RenderResponse renderResponse)
+ public void render(RenderRequest portletReq, RenderResponse portletResp)
throws PortletException, IOException {
-
- if (LOGGER.isLoggable(Level.FINE)) {
- LOGGER.logp(Level.FINE, LOG_CLASS, "render", "Entry");
- }
+ LOGGER.entering(LOG_CLASS, "main portlet render entry");
+
+ long tid = Thread.currentThread().getId();
+ portletReq.setAttribute(THREADID_ATTR, tid);
+
+ PrintWriter writer = portletResp.getWriter();
- PrintWriter writer = renderResponse.getWriter();
JSR286SpecTestCaseDetails tcd = new JSR286SpecTestCaseDetails();
// Create result objects for the tests
- /* TestCase: SPEC2_2_Compatibility_deployJSR168_1 */
+ /* TestCase: V2AddlPortletTests_SPEC2_2_Compatibility_deployJSR168_1 */
/* Details: "A portlet with the JSR 168 deployment descriptor can be */
/* deployed" */
- TestResult tr0 = tcd.getTestResultFailed(SPEC2_2_COMPATIBILITY_DEPLOYJSR168_1);
+ TestResult tr0 = tcd.getTestResultFailed(V2ADDLPORTLETTESTS_SPEC2_2_COMPATIBILITY_DEPLOYJSR168_1);
/* TODO: implement test */
+ tr0.appendTcDetail("Not implemented.");
+ tr0.writeTo(writer);
- /* TestCase: SPEC2_2_Compatibility_deployJSR168_2 */
+ /* TestCase: V2AddlPortletTests_SPEC2_2_Compatibility_deployJSR168_2 */
/* Details: "A portlet implementing only the JSR 168 API can be */
/* deployed" */
- TestResult tr1 = tcd.getTestResultFailed(SPEC2_2_COMPATIBILITY_DEPLOYJSR168_2);
+ TestResult tr1 = tcd.getTestResultFailed(V2ADDLPORTLETTESTS_SPEC2_2_COMPATIBILITY_DEPLOYJSR168_2);
/* TODO: implement test */
-
-
-
- // Write the results to the output stream
-
- tr0.writeTo(writer);
+ tr1.appendTcDetail("Not implemented.");
tr1.writeTo(writer);
-
}
}
-