JBoss Portal SVN: r10257 - modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2008-03-10 20:17:40 -0400 (Mon, 10 Mar 2008)
New Revision: 10257
Modified:
modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/PortletControllerTestCase.java
Log:
test the event discarded callback failure impact on the portlet controller sequence flow
Modified: modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/PortletControllerTestCase.java
===================================================================
--- modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/PortletControllerTestCase.java 2008-03-11 00:14:19 UTC (rev 10256)
+++ modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/PortletControllerTestCase.java 2008-03-11 00:17:40 UTC (rev 10257)
@@ -51,6 +51,7 @@
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision: 630 $
*/
+@Test
public class PortletControllerTestCase
{
16 years, 3 months
JBoss Portal SVN: r10256 - modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2008-03-10 20:14:19 -0400 (Mon, 10 Mar 2008)
New Revision: 10256
Modified:
modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/PortletControllerTestCase.java
Log:
test the event discarded callback failure impact on the portlet controller sequence flow
Modified: modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/PortletControllerTestCase.java
===================================================================
--- modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/PortletControllerTestCase.java 2008-03-10 23:52:44 UTC (rev 10255)
+++ modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/PortletControllerTestCase.java 2008-03-11 00:14:19 UTC (rev 10256)
@@ -51,7 +51,6 @@
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision: 630 $
*/
-@Test
public class PortletControllerTestCase
{
16 years, 3 months
JBoss Portal SVN: r10255 - modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2008-03-10 19:52:44 -0400 (Mon, 10 Mar 2008)
New Revision: 10255
Modified:
modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/EventControllerContextFailureTestCase.java
Log:
test the event discarded callback failure impact on the portlet controller sequence flow
Modified: modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/EventControllerContextFailureTestCase.java
===================================================================
--- modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/EventControllerContextFailureTestCase.java 2008-03-10 23:45:36 UTC (rev 10254)
+++ modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/EventControllerContextFailureTestCase.java 2008-03-10 23:52:44 UTC (rev 10255)
@@ -240,4 +240,55 @@
assertTrue(called);
}
}
+
+ @Test
+ public void testEventControllerContextFailsDuringEventDiscardedCallback() throws PortletInvokerException
+ {
+ WiringEventControllerContext ecc = new WiringEventControllerContext()
+ {
+ public void eventDiscarded(EventPhaseContext context, Event discardedEvent, int cause)
+ {
+ assertEquals(EVENT_CONSUMER_INFO_NOT_AVAILABLE, cause);
+ called = true;
+ throw new RuntimeException();
+ }
+ };
+ ecc.createWire(srcName, "foo", dstName, "bar_");
+
+ // We test that a runtime exception thrown does not interrrupt the flow of the controller
+ context.setEventControllerContext(ecc);
+ fooPortlet.addHandler(new EventProducerActionHandler(srcName));
+ ControllerResponse response = controller.process(context, request);
+ PageUpdateResponse updateResponse = assertInstanceOf(response, PageUpdateResponse.class);
+ assertEquals(PortletResponse.DISTRIBUTION_DONE, updateResponse.getEventDistributionStatus());
+ assertTrue(called);
+
+ //
+ called = false;
+ final Error error = new Error();
+ ecc = new WiringEventControllerContext()
+ {
+ public void eventDiscarded(EventPhaseContext context, Event discardedEvent, int cause)
+ {
+ assertEquals(EVENT_CONSUMER_INFO_NOT_AVAILABLE, cause);
+ called = true;
+ throw error;
+ }
+ };
+ ecc.createWire(srcName, "foo", dstName, "bar_");
+
+ //
+ context.setEventControllerContext(ecc);
+ fooPortlet.addHandler(new EventProducerActionHandler(srcName));
+ try
+ {
+ controller.process(context, request);
+ fail();
+ }
+ catch (Error ignore)
+ {
+ assertSame(error, ignore);
+ assertTrue(called);
+ }
+ }
}
16 years, 3 months
JBoss Portal SVN: r10254 - modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2008-03-10 19:45:36 -0400 (Mon, 10 Mar 2008)
New Revision: 10254
Modified:
modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/EventControllerContextFailureTestCase.java
Log:
started to test the failures during an event controller context callback.
Modified: modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/EventControllerContextFailureTestCase.java
===================================================================
--- modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/EventControllerContextFailureTestCase.java 2008-03-10 23:27:00 UTC (rev 10253)
+++ modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/EventControllerContextFailureTestCase.java 2008-03-10 23:45:36 UTC (rev 10254)
@@ -150,6 +150,7 @@
{
public void eventProduced(EventPhaseContext context, Event sourceEvent, Event producedEvent)
{
+ called = true;
throw new RuntimeException();
}
};
@@ -160,13 +161,16 @@
ControllerResponse response = controller.process(context, request);
PageUpdateResponse updateResponse = assertInstanceOf(response, PageUpdateResponse.class);
assertEquals(PortletResponse.DISTRIBUTION_DONE, updateResponse.getEventDistributionStatus());
+ assertTrue(called);
//
+ called = false;
final Error error = new Error();
ecc = new AbstractEventControllerContext()
{
public void eventProduced(EventPhaseContext context, Event sourceEvent, Event producedEvent)
{
+ called = true;
throw error;
}
};
@@ -182,6 +186,7 @@
catch (Error ignore)
{
assertSame(error, ignore);
+ assertTrue(called);
}
}
16 years, 3 months
JBoss Portal SVN: r10253 - in modules/portlet/trunk/controller/src/test: java/org/jboss/portal/portlet/controller/handlers and 1 other directories.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2008-03-10 19:27:00 -0400 (Mon, 10 Mar 2008)
New Revision: 10253
Added:
modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/EventControllerContextFailureTestCase.java
modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/handlers/
modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/handlers/EventProducerActionHandler.java
modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/handlers/EventProducerEventHandler.java
modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/handlers/FailingEventHandler.java
modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/handlers/NoOpEventHandler.java
Modified:
modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/PortletControllerTestCase.java
modules/portlet/trunk/controller/src/test/resources/local-jboss-unit.xml
Log:
started to test the failures during an event controller context callback.
Added: modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/EventControllerContextFailureTestCase.java
===================================================================
--- modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/EventControllerContextFailureTestCase.java (rev 0)
+++ modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/EventControllerContextFailureTestCase.java 2008-03-10 23:27:00 UTC (rev 10253)
@@ -0,0 +1,238 @@
+/******************************************************************************
+ * 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.controller;
+
+import org.jboss.portal.portlet.support.PortletInvokerSupport;
+import org.jboss.portal.portlet.support.PortletSupport;
+import org.jboss.portal.portlet.controller.request.ControllerRequest;
+import org.jboss.portal.portlet.controller.event.EventPhaseContext;
+import org.jboss.portal.portlet.controller.event.Event;
+import org.jboss.portal.portlet.controller.event.AbstractEventControllerContext;
+import org.jboss.portal.portlet.controller.response.ControllerResponse;
+import org.jboss.portal.portlet.controller.response.PageUpdateResponse;
+import org.jboss.portal.portlet.controller.response.PortletResponse;
+import org.jboss.portal.portlet.controller.handlers.EventProducerActionHandler;
+import org.jboss.portal.portlet.controller.handlers.FailingEventHandler;
+import org.jboss.portal.portlet.controller.handlers.NoOpEventHandler;
+import org.jboss.portal.portlet.PortletInvokerException;
+import org.jboss.portal.portlet.invocation.response.PortletInvocationResponse;
+import org.jboss.unit.api.pojo.annotations.Test;
+import org.jboss.unit.api.pojo.annotations.Create;
+import static org.jboss.unit.api.Assert.assertInstanceOf;
+import static org.jboss.unit.api.Assert.assertEquals;
+import static org.jboss.unit.api.Assert.assertTrue;
+import static org.jboss.unit.api.Assert.fail;
+import static org.jboss.unit.api.Assert.assertSame;
+
+import javax.xml.namespace.QName;
+
+/**
+ * @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
+ * @version $Revision: 630 $
+ */
+@Test
+public class EventControllerContextFailureTestCase
+{
+
+ /** . */
+ private PortletController controller = new PortletController();
+
+ /** . */
+ private PortletControllerContextSupport context = new PortletControllerContextSupport();
+
+ /** . */
+ private PortletInvokerSupport invoker = context.getInvoker();
+
+ /** . */
+ private ControllerRequest request;
+
+ /** . */
+ private QName srcName;
+
+ /** . */
+ private QName dstName;
+
+ /** . */
+ private PortletSupport fooPortlet;
+
+ /** . */
+ private PortletSupport barPortlet;
+
+ /** . */
+ private boolean called;
+
+ @Create
+ public void create()
+ {
+ request = context.createActionRequest("foo");
+ srcName = new QName("juu", "foo");
+ dstName = new QName("juu", "bar");
+ fooPortlet = invoker.addPortlet("foo");
+ barPortlet = invoker.addPortlet("bar");
+ called = false;
+ }
+
+ @Test
+ public void testEventControllerContextFailsDuringEventConsumedCallback() throws PortletInvokerException
+ {
+ WiringEventControllerContext ecc = new WiringEventControllerContext()
+ {
+ public void eventConsumed(EventPhaseContext context, Event consumedEvent, PortletInvocationResponse consumerResponse)
+ {
+ called = true;
+ throw new RuntimeException();
+ }
+ };
+ ecc.createWire(srcName, "foo", dstName, "bar");
+
+ // We test that a runtime exception thrown does not interrrupt the flow of the controller
+ context.setEventControllerContext(ecc);
+ fooPortlet.addHandler(new EventProducerActionHandler(srcName));
+ barPortlet.addHandler(new NoOpEventHandler());
+ ControllerResponse response = controller.process(context, request);
+ PageUpdateResponse updateResponse = assertInstanceOf(response, PageUpdateResponse.class);
+ assertEquals(PortletResponse.DISTRIBUTION_DONE, updateResponse.getEventDistributionStatus());
+ assertTrue(called);
+
+ //
+ called = false;
+ final Error error = new Error();
+ ecc = new WiringEventControllerContext()
+ {
+ public void eventConsumed(EventPhaseContext context, Event consumedEvent, PortletInvocationResponse consumerResponse)
+ {
+ called = true;
+ throw error;
+ }
+ };
+ ecc.createWire(srcName, "foo", dstName, "bar");
+
+ //
+ context.setEventControllerContext(ecc);
+ fooPortlet.addHandler(new EventProducerActionHandler(srcName));
+ barPortlet.addHandler(new NoOpEventHandler());
+ try
+ {
+ controller.process(context, request);
+ fail();
+ }
+ catch (Error ignore)
+ {
+ assertSame(error, ignore);
+ assertTrue(called);
+ }
+ }
+
+ @Test
+ public void testEventControllerContextFailsDuringEventProducedCallback() throws PortletInvokerException
+ {
+ AbstractEventControllerContext ecc = new AbstractEventControllerContext()
+ {
+ public void eventProduced(EventPhaseContext context, Event sourceEvent, Event producedEvent)
+ {
+ throw new RuntimeException();
+ }
+ };
+
+ // We test that a runtime exception thrown does not interrrupt the flow of the controller
+ context.setEventControllerContext(ecc);
+ fooPortlet.addHandler(new EventProducerActionHandler(srcName));
+ ControllerResponse response = controller.process(context, request);
+ PageUpdateResponse updateResponse = assertInstanceOf(response, PageUpdateResponse.class);
+ assertEquals(PortletResponse.DISTRIBUTION_DONE, updateResponse.getEventDistributionStatus());
+
+ //
+ final Error error = new Error();
+ ecc = new AbstractEventControllerContext()
+ {
+ public void eventProduced(EventPhaseContext context, Event sourceEvent, Event producedEvent)
+ {
+ throw error;
+ }
+ };
+
+ // We test than an error thrown interrupts the flow of the controller
+ context.setEventControllerContext(ecc);
+ fooPortlet.addHandler(new EventProducerActionHandler(srcName));
+ try
+ {
+ controller.process(context, request);
+ fail();
+ }
+ catch (Error ignore)
+ {
+ assertSame(error, ignore);
+ }
+ }
+
+ @Test
+ public void testEventControllerContextFailsDuringEventFailedCallback() throws PortletInvokerException
+ {
+ WiringEventControllerContext ecc = new WiringEventControllerContext()
+ {
+ public void eventFailed(EventPhaseContext context, Event failedEvent, Throwable throwable)
+ {
+ called = true;
+ throw new RuntimeException();
+ }
+ };
+ ecc.createWire(srcName, "foo", dstName, "bar");
+
+ // We test that a runtime exception thrown does not interrrupt the flow of the controller
+ context.setEventControllerContext(ecc);
+ fooPortlet.addHandler(new EventProducerActionHandler(srcName));
+ barPortlet.addHandler(new FailingEventHandler(new RuntimeException()));
+ ControllerResponse response = controller.process(context, request);
+ PageUpdateResponse updateResponse = assertInstanceOf(response, PageUpdateResponse.class);
+ assertEquals(PortletResponse.DISTRIBUTION_DONE, updateResponse.getEventDistributionStatus());
+ assertTrue(called);
+
+ //
+ called = false;
+ final Error error = new Error();
+ ecc = new WiringEventControllerContext()
+ {
+ public void eventFailed(EventPhaseContext context, Event failedEvent, Throwable throwable)
+ {
+ called = true;
+ throw error;
+ }
+ };
+ ecc.createWire(srcName, "foo", dstName, "bar");
+
+ //
+ context.setEventControllerContext(ecc);
+ fooPortlet.addHandler(new EventProducerActionHandler(srcName));
+ barPortlet.addHandler(new FailingEventHandler(new RuntimeException()));
+ try
+ {
+ controller.process(context, request);
+ fail();
+ }
+ catch (Error ignore)
+ {
+ assertSame(error, ignore);
+ assertTrue(called);
+ }
+ }
+}
Modified: modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/PortletControllerTestCase.java
===================================================================
--- modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/PortletControllerTestCase.java 2008-03-10 09:45:04 UTC (rev 10252)
+++ modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/PortletControllerTestCase.java 2008-03-10 23:27:00 UTC (rev 10253)
@@ -30,6 +30,9 @@
import org.jboss.portal.portlet.controller.event.EventPhaseContext;
import org.jboss.portal.portlet.controller.event.Event;
import org.jboss.portal.portlet.controller.event.AbstractEventControllerContext;
+import org.jboss.portal.portlet.controller.handlers.EventProducerActionHandler;
+import org.jboss.portal.portlet.controller.handlers.EventProducerEventHandler;
+import org.jboss.portal.portlet.controller.handlers.NoOpEventHandler;
import org.jboss.portal.portlet.PortletInvokerException;
import org.jboss.portal.portlet.support.PortletSupport;
import org.jboss.portal.portlet.support.PortletInvokerSupport;
@@ -37,14 +40,12 @@
import org.jboss.portal.portlet.invocation.response.PortletInvocationResponse;
import org.jboss.portal.portlet.invocation.response.UpdateNavigationalStateResponse;
import org.jboss.portal.portlet.invocation.ActionInvocation;
-import org.jboss.portal.portlet.invocation.EventInvocation;
import org.jboss.portal.common.util.Tools;
import org.jboss.unit.api.pojo.annotations.Test;
import org.jboss.unit.api.pojo.annotations.Create;
import static org.jboss.unit.api.Assert.*;
import javax.xml.namespace.QName;
-import java.io.Serializable;
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
@@ -128,7 +129,7 @@
PortletSupport fooPortlet = invoker.addPortlet("foo");
PortletSupport barPortlet = invoker.addPortlet("bar");
EventProducerActionHandler eventProducerHandler = new EventProducerActionHandler(srcName);
- NoOpEventProcessor eventConsumer = new NoOpEventProcessor();
+ NoOpEventHandler eventConsumer = new NoOpEventHandler();
eventControllerContext.createWire(srcName, "foo", dstName, "bar");
ControllerRequest request = context.createActionRequest("foo");
@@ -265,108 +266,4 @@
PageUpdateResponse updateResponse = assertInstanceOf(response, PageUpdateResponse.class);
assertEquals(PortletResponse.INTERRUPTED, updateResponse.getEventDistributionStatus());
}
-
- @Test
- public void testEventControllerContextFails() throws PortletInvokerException
- {
- QName srcName = new QName("juu", "foo");
- PortletSupport fooPortlet = invoker.addPortlet("foo");
- eventControllerContext.createWire(srcName, "foo", srcName, "foo");
- ControllerRequest request = context.createActionRequest("foo");
-
- //
- EventProducerActionHandler eventProducerActionHandler = new EventProducerActionHandler(srcName);
-
- // We test that a runtime exception thrown does not interrrupt the flow of the controller
- controller.setConsumedEventThreshold(10);
- controller.setProducedEventThreshold(10);
- context.setEventControllerContext(new AbstractEventControllerContext()
- {
- public void eventProduced(EventPhaseContext context, Event sourceEvent, Event producedEvent)
- {
- throw new RuntimeException();
- }
- });
- fooPortlet.addHandler(eventProducerActionHandler);
- ControllerResponse response = controller.process(context, request);
- PageUpdateResponse updateResponse = assertInstanceOf(response, PageUpdateResponse.class);
- assertEquals(PortletResponse.DISTRIBUTION_DONE, updateResponse.getEventDistributionStatus());
-
- // We test than an error thrown interrupts the flow of the controller
- final Error error = new Error();
- context.setEventControllerContext(new AbstractEventControllerContext()
- {
- public void eventProduced(EventPhaseContext context, Event sourceEvent, Event producedEvent)
- {
- throw error;
- }
- });
- fooPortlet.addHandler(eventProducerActionHandler);
- try
- {
- controller.process(context, request);
- fail();
- }
- catch (Error ignore)
- {
- assertSame(error, ignore);
- }
- }
-
- private static class EventProducerActionHandler extends PortletSupport.ActionHandler
- {
-
- /** . */
- private final QName name;
-
- private EventProducerActionHandler(QName name)
- {
- this.name = name;
- }
-
- protected PortletInvocationResponse invoke(ActionInvocation action) throws PortletInvokerException
- {
- UpdateNavigationalStateResponse update = new UpdateNavigationalStateResponse();
- update.queueEvent(new UpdateNavigationalStateResponse.Event(name, null));
- return update;
- }
- }
-
- private static class EventProducerEventHandler extends PortletSupport.EventHandler
- {
-
- /** . */
- private final QName name;
-
- private EventProducerEventHandler(QName name)
- {
- this.name = name;
- }
-
- protected PortletInvocationResponse invoke(EventInvocation action) throws PortletInvokerException
- {
- UpdateNavigationalStateResponse update = new UpdateNavigationalStateResponse();
- update.queueEvent(new UpdateNavigationalStateResponse.Event(name, null));
- return update;
- }
- }
-
- private static class NoOpEventProcessor extends PortletSupport.EventHandler
- {
-
- /** . */
- private QName name;
-
- /** . */
- private Serializable payload;
-
- protected PortletInvocationResponse invoke(EventInvocation action) throws PortletInvokerException
- {
- name = action.getName();
- payload = action.getPayload();
-
- //
- return new UpdateNavigationalStateResponse();
- }
- }
}
Added: modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/handlers/EventProducerActionHandler.java
===================================================================
--- modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/handlers/EventProducerActionHandler.java (rev 0)
+++ modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/handlers/EventProducerActionHandler.java 2008-03-10 23:27:00 UTC (rev 10253)
@@ -0,0 +1,54 @@
+/******************************************************************************
+ * 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.controller.handlers;
+
+import org.jboss.portal.portlet.support.PortletSupport;
+import org.jboss.portal.portlet.invocation.response.PortletInvocationResponse;
+import org.jboss.portal.portlet.invocation.response.UpdateNavigationalStateResponse;
+import org.jboss.portal.portlet.invocation.ActionInvocation;
+import org.jboss.portal.portlet.PortletInvokerException;
+
+import javax.xml.namespace.QName;
+
+/**
+ * @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
+ * @version $Revision: 630 $
+ */
+public class EventProducerActionHandler extends PortletSupport.ActionHandler
+{
+
+ /** . */
+ private final QName name;
+
+ public EventProducerActionHandler(QName name)
+ {
+ this.name = name;
+ }
+
+ protected PortletInvocationResponse invoke(ActionInvocation action) throws PortletInvokerException
+ {
+ UpdateNavigationalStateResponse update = new UpdateNavigationalStateResponse();
+ update.queueEvent(new UpdateNavigationalStateResponse.Event(name, null));
+ return update;
+ }
+}
Added: modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/handlers/EventProducerEventHandler.java
===================================================================
--- modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/handlers/EventProducerEventHandler.java (rev 0)
+++ modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/handlers/EventProducerEventHandler.java 2008-03-10 23:27:00 UTC (rev 10253)
@@ -0,0 +1,54 @@
+/******************************************************************************
+ * 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.controller.handlers;
+
+import org.jboss.portal.portlet.support.PortletSupport;
+import org.jboss.portal.portlet.invocation.response.PortletInvocationResponse;
+import org.jboss.portal.portlet.invocation.response.UpdateNavigationalStateResponse;
+import org.jboss.portal.portlet.invocation.EventInvocation;
+import org.jboss.portal.portlet.PortletInvokerException;
+
+import javax.xml.namespace.QName;
+
+/**
+ * @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
+ * @version $Revision: 630 $
+ */
+public class EventProducerEventHandler extends PortletSupport.EventHandler
+{
+
+ /** . */
+ private final QName name;
+
+ public EventProducerEventHandler(QName name)
+ {
+ this.name = name;
+ }
+
+ protected PortletInvocationResponse invoke(EventInvocation action) throws PortletInvokerException
+ {
+ UpdateNavigationalStateResponse update = new UpdateNavigationalStateResponse();
+ update.queueEvent(new UpdateNavigationalStateResponse.Event(name, null));
+ return update;
+ }
+}
Added: modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/handlers/FailingEventHandler.java
===================================================================
--- modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/handlers/FailingEventHandler.java (rev 0)
+++ modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/handlers/FailingEventHandler.java 2008-03-10 23:27:00 UTC (rev 10253)
@@ -0,0 +1,60 @@
+/******************************************************************************
+ * 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.controller.handlers;
+
+import org.jboss.portal.portlet.support.PortletSupport;
+import org.jboss.portal.portlet.invocation.response.PortletInvocationResponse;
+import org.jboss.portal.portlet.invocation.EventInvocation;
+import org.jboss.portal.portlet.PortletInvokerException;
+
+/**
+ * @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
+ * @version $Revision: 630 $
+ */
+public class FailingEventHandler extends PortletSupport.EventHandler
+{
+
+ /** . */
+ private Throwable throwable;
+
+ public FailingEventHandler(Throwable throwable)
+ {
+ this.throwable = throwable;
+ }
+
+ protected PortletInvocationResponse invoke(EventInvocation action) throws PortletInvokerException
+ {
+ if (throwable instanceof RuntimeException)
+ {
+ throw (RuntimeException)throwable;
+ }
+ else if (throwable instanceof Error)
+ {
+ throw (Error)throwable;
+ }
+ else
+ {
+ throw new AssertionError();
+ }
+ }
+}
Added: modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/handlers/NoOpEventHandler.java
===================================================================
--- modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/handlers/NoOpEventHandler.java (rev 0)
+++ modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/handlers/NoOpEventHandler.java 2008-03-10 23:27:00 UTC (rev 10253)
@@ -0,0 +1,65 @@
+/******************************************************************************
+ * 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.controller.handlers;
+
+import org.jboss.portal.portlet.support.PortletSupport;
+import org.jboss.portal.portlet.invocation.response.PortletInvocationResponse;
+import org.jboss.portal.portlet.invocation.response.UpdateNavigationalStateResponse;
+import org.jboss.portal.portlet.invocation.EventInvocation;
+import org.jboss.portal.portlet.PortletInvokerException;
+
+import javax.xml.namespace.QName;
+import java.io.Serializable;
+
+/**
+ * @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
+ * @version $Revision: 630 $
+ */
+public class NoOpEventHandler extends PortletSupport.EventHandler
+{
+
+ /** . */
+ private QName name;
+
+ /** . */
+ private Serializable payload;
+
+ protected PortletInvocationResponse invoke(EventInvocation action) throws PortletInvokerException
+ {
+ name = action.getName();
+ payload = action.getPayload();
+
+ //
+ return new UpdateNavigationalStateResponse();
+ }
+
+ public QName getName()
+ {
+ return name;
+ }
+
+ public Serializable getPayload()
+ {
+ return payload;
+ }
+}
Modified: modules/portlet/trunk/controller/src/test/resources/local-jboss-unit.xml
===================================================================
--- modules/portlet/trunk/controller/src/test/resources/local-jboss-unit.xml 2008-03-10 09:45:04 UTC (rev 10252)
+++ modules/portlet/trunk/controller/src/test/resources/local-jboss-unit.xml 2008-03-10 23:27:00 UTC (rev 10253)
@@ -7,5 +7,8 @@
<test>
<class name="org.jboss.portal.portlet.controller.PortletControllerTestCase"/>
</test>
+ <test>
+ <class name="org.jboss.portal.portlet.controller.EventControllerContextFailureTestCase"/>
+ </test>
</pojo>
</jboss-unit>
16 years, 3 months
JBoss Portal SVN: r10252 - modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2008-03-10 05:45:04 -0400 (Mon, 10 Mar 2008)
New Revision: 10252
Modified:
modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/PortletControllerContextSupport.java
modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/PortletControllerTestCase.java
Log:
minor refactoring
Modified: modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/PortletControllerContextSupport.java
===================================================================
--- modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/PortletControllerContextSupport.java 2008-03-09 22:35:43 UTC (rev 10251)
+++ modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/PortletControllerContextSupport.java 2008-03-10 09:45:04 UTC (rev 10252)
@@ -26,8 +26,11 @@
import org.jboss.portal.portlet.spi.PortletInvocationContext;
import org.jboss.portal.portlet.controller.state.PageNavigationalState;
import org.jboss.portal.portlet.controller.state.StateControllerContext;
+import org.jboss.portal.portlet.controller.state.WindowNavigationalState;
import org.jboss.portal.portlet.controller.impl.state.StateControllerContextImpl;
import org.jboss.portal.portlet.controller.event.EventControllerContext;
+import org.jboss.portal.portlet.controller.request.ControllerRequest;
+import org.jboss.portal.portlet.controller.request.PortletActionRequest;
import org.jboss.portal.portlet.invocation.response.PortletInvocationResponse;
import org.jboss.portal.portlet.invocation.ActionInvocation;
import org.jboss.portal.portlet.invocation.EventInvocation;
@@ -35,8 +38,10 @@
import org.jboss.portal.portlet.invocation.PortletInvocation;
import org.jboss.portal.portlet.PortletInvokerException;
import org.jboss.portal.portlet.PortletContext;
+import org.jboss.portal.portlet.OpaqueStateString;
import org.jboss.portal.portlet.support.PortletInvokerSupport;
import org.jboss.portal.portlet.support.PortletSupport;
+import org.jboss.portal.common.util.ParameterMap;
import javax.servlet.http.Cookie;
import java.util.List;
@@ -131,4 +136,15 @@
{
return stateControllerContext;
}
+
+ public ControllerRequest createActionRequest(String windowId)
+ {
+ return new PortletActionRequest(
+ windowId,
+ new OpaqueStateString(""),
+ new ParameterMap(),
+ new WindowNavigationalState(),
+ getStateControllerContext().createPageNavigationalState(false)
+ );
+ }
}
Modified: modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/PortletControllerTestCase.java
===================================================================
--- modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/PortletControllerTestCase.java 2008-03-09 22:35:43 UTC (rev 10251)
+++ modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/PortletControllerTestCase.java 2008-03-10 09:45:04 UTC (rev 10252)
@@ -23,8 +23,6 @@
package org.jboss.portal.portlet.controller;
import org.jboss.portal.portlet.controller.request.ControllerRequest;
-import org.jboss.portal.portlet.controller.request.PortletActionRequest;
-import org.jboss.portal.portlet.controller.state.WindowNavigationalState;
import org.jboss.portal.portlet.controller.state.PageNavigationalState;
import org.jboss.portal.portlet.controller.response.ControllerResponse;
import org.jboss.portal.portlet.controller.response.PageUpdateResponse;
@@ -32,7 +30,6 @@
import org.jboss.portal.portlet.controller.event.EventPhaseContext;
import org.jboss.portal.portlet.controller.event.Event;
import org.jboss.portal.portlet.controller.event.AbstractEventControllerContext;
-import org.jboss.portal.portlet.OpaqueStateString;
import org.jboss.portal.portlet.PortletInvokerException;
import org.jboss.portal.portlet.support.PortletSupport;
import org.jboss.portal.portlet.support.PortletInvokerSupport;
@@ -41,7 +38,6 @@
import org.jboss.portal.portlet.invocation.response.UpdateNavigationalStateResponse;
import org.jboss.portal.portlet.invocation.ActionInvocation;
import org.jboss.portal.portlet.invocation.EventInvocation;
-import org.jboss.portal.common.util.ParameterMap;
import org.jboss.portal.common.util.Tools;
import org.jboss.unit.api.pojo.annotations.Test;
import org.jboss.unit.api.pojo.annotations.Create;
@@ -88,30 +84,18 @@
}
});
- ControllerRequest request = new PortletActionRequest(
- "foo",
- new OpaqueStateString(""),
- new ParameterMap(),
- new WindowNavigationalState(),
- context.getStateControllerContext().createPageNavigationalState(false)
- );
-
+ //
+ ControllerRequest request = context.createActionRequest("foo");
ControllerResponse response = controller.process(context, request);
-
PageUpdateResponse pageUpdate = assertInstanceOf(response, PageUpdateResponse.class);
-
PageNavigationalState pageNS = assertNotNull(pageUpdate.getPageNavigationalState());
-
assertEquals(Tools.toSet("foo"), pageNS.getWindowIds());
-
}
@Test
public void testActionThrowsPortletInvokerException() throws PortletInvokerException
{
-
final PortletInvokerException e = new PortletInvokerException();
-
PortletSupport fooPortlet = invoker.addPortlet("foo");
fooPortlet.addHandler(new PortletSupport.ActionHandler()
{
@@ -122,13 +106,7 @@
});
//
- ControllerRequest request = new PortletActionRequest(
- "foo",
- new OpaqueStateString(""),
- new ParameterMap(),
- new WindowNavigationalState(),
- context.getStateControllerContext().createPageNavigationalState(false)
- );
+ ControllerRequest request = context.createActionRequest("foo");
try
{
@@ -147,28 +125,14 @@
{
QName srcName = new QName("juu", "foo");
QName dstName = new QName("juu", "bar");
-
- //
PortletSupport fooPortlet = invoker.addPortlet("foo");
PortletSupport barPortlet = invoker.addPortlet("bar");
-
- //
EventProducerActionHandler eventProducerHandler = new EventProducerActionHandler(srcName);
NoOpEventProcessor eventConsumer = new NoOpEventProcessor();
-
- // Create wire
eventControllerContext.createWire(srcName, "foo", dstName, "bar");
+ ControllerRequest request = context.createActionRequest("foo");
//
- ControllerRequest request = new PortletActionRequest(
- "foo",
- new OpaqueStateString(""),
- new ParameterMap(),
- new WindowNavigationalState(),
- context.getStateControllerContext().createPageNavigationalState(false)
- );
-
- //
controller.setDistributeNonProduceableEvents(true);
controller.setDistributeNonConsumableEvents(true);
fooPortlet.addHandler(eventProducerHandler);
@@ -248,21 +212,11 @@
public void testEventFloodDetection() throws PortletInvokerException
{
QName srcName = new QName("juu", "foo");
-
- //
PortletSupport fooPortlet = invoker.addPortlet("foo");
-
- // Create wire
eventControllerContext.createWire(srcName, "foo", srcName, "foo");
+ ControllerRequest request = context.createActionRequest("foo");
- ControllerRequest request = new PortletActionRequest(
- "foo",
- new OpaqueStateString(""),
- new ParameterMap(),
- new WindowNavigationalState(),
- context.getStateControllerContext().createPageNavigationalState(false)
- );
-
+ //
EventProducerActionHandler eventProducerActionHandler = new EventProducerActionHandler(srcName);
EventProducerEventHandler eventProducerEventHandler = new EventProducerEventHandler(srcName);
@@ -289,21 +243,10 @@
public void testEventFloodInterruption() throws PortletInvokerException
{
QName srcName = new QName("juu", "foo");
-
- //
PortletSupport fooPortlet = invoker.addPortlet("foo");
-
- // Create wire
eventControllerContext.createWire(srcName, "foo", srcName, "foo");
+ ControllerRequest request = context.createActionRequest("foo");
- ControllerRequest request = new PortletActionRequest(
- "foo",
- new OpaqueStateString(""),
- new ParameterMap(),
- new WindowNavigationalState(),
- context.getStateControllerContext().createPageNavigationalState(false)
- );
-
//
EventProducerActionHandler eventProducerActionHandler = new EventProducerActionHandler(srcName);
@@ -327,25 +270,14 @@
public void testEventControllerContextFails() throws PortletInvokerException
{
QName srcName = new QName("juu", "foo");
-
- //
PortletSupport fooPortlet = invoker.addPortlet("foo");
-
- // Create wire
eventControllerContext.createWire(srcName, "foo", srcName, "foo");
+ ControllerRequest request = context.createActionRequest("foo");
- ControllerRequest request = new PortletActionRequest(
- "foo",
- new OpaqueStateString(""),
- new ParameterMap(),
- new WindowNavigationalState(),
- context.getStateControllerContext().createPageNavigationalState(false)
- );
-
//
EventProducerActionHandler eventProducerActionHandler = new EventProducerActionHandler(srcName);
- //
+ // We test that a runtime exception thrown does not interrrupt the flow of the controller
controller.setConsumedEventThreshold(10);
controller.setProducedEventThreshold(10);
context.setEventControllerContext(new AbstractEventControllerContext()
@@ -360,7 +292,7 @@
PageUpdateResponse updateResponse = assertInstanceOf(response, PageUpdateResponse.class);
assertEquals(PortletResponse.DISTRIBUTION_DONE, updateResponse.getEventDistributionStatus());
- //
+ // We test than an error thrown interrupts the flow of the controller
final Error error = new Error();
context.setEventControllerContext(new AbstractEventControllerContext()
{
16 years, 3 months
JBoss Portal SVN: r10251 - in modules/portlet/trunk: portlet/src/test/java/org/jboss/portal/test/portlet/jsr168/ext/portletconfig and 1 other directories.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2008-03-09 18:35:43 -0400 (Sun, 09 Mar 2008)
New Revision: 10251
Added:
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/test/portlet/jsr168/ext/portletconfig/InlineBundleWithEmptyTitleTestCase.java
Modified:
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/impl/info/ContainerInfoBuilder.java
modules/portlet/trunk/test/src/test/resources/jsr168/ext/portletconfig-war/WEB-INF/portlet.xml
Log:
- when no title is provided with a non null portlet info, use an empty string
- added test case for title with empty value in portlet metadata
- now all portlet container tests are passing
Modified: modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/impl/info/ContainerInfoBuilder.java
===================================================================
--- modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/impl/info/ContainerInfoBuilder.java 2008-03-09 21:26:45 UTC (rev 10250)
+++ modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/impl/info/ContainerInfoBuilder.java 2008-03-09 22:35:43 UTC (rev 10251)
@@ -824,10 +824,19 @@
String[] inlines = null;
if (portletInfoMD != null)
{
+ // JBoss XB would give null for an empty title, but we know that
+ // there must be a title according to the schema
+ String title = portletInfoMD.getTitle();
+ if (title == null)
+ {
+ title = "";
+ }
+
+ //
inlines = new String[]{
- portletMD.getPortletInfo().getTitle(),
- portletMD.getPortletInfo().getShortTitle(),
- portletMD.getPortletInfo().getKeywords()
+ title,
+ portletInfoMD.getShortTitle(),
+ portletInfoMD.getKeywords()
};
}
Added: modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/test/portlet/jsr168/ext/portletconfig/InlineBundleWithEmptyTitleTestCase.java
===================================================================
--- modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/test/portlet/jsr168/ext/portletconfig/InlineBundleWithEmptyTitleTestCase.java (rev 0)
+++ modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/test/portlet/jsr168/ext/portletconfig/InlineBundleWithEmptyTitleTestCase.java 2008-03-09 22:35:43 UTC (rev 10251)
@@ -0,0 +1,70 @@
+/******************************************************************************
+ * 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.jsr168.ext.portletconfig;
+
+import org.jboss.portal.unit.annotations.TestCase;
+import org.jboss.portal.unit.PortletTestCase;
+import org.jboss.portal.unit.PortletTestContext;
+import org.jboss.portal.unit.base.AbstractUniversalTestPortlet;
+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 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.PortletConfig;
+import java.io.IOException;
+import java.util.Locale;
+import java.util.ResourceBundle;
+
+/**
+ * @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
+ * @version $Revision: 630 $
+ */
+@TestCase
+public class InlineBundleWithEmptyTitleTestCase
+{
+ public InlineBundleWithEmptyTitleTestCase(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
+ {
+ PortletConfig config = ((AbstractUniversalTestPortlet)portlet).getPortletConfig();
+ assertNotNull(config);
+ ResourceBundle bundle = config.getResourceBundle(Locale.ENGLISH);
+ assertNotNull(bundle);
+
+ //
+ assertEquals("", bundle.getString("javax.portlet.title"));
+
+ //
+ return new EndTestResponse();
+ }
+ });
+ }
+}
Modified: modules/portlet/trunk/test/src/test/resources/jsr168/ext/portletconfig-war/WEB-INF/portlet.xml
===================================================================
--- modules/portlet/trunk/test/src/test/resources/jsr168/ext/portletconfig-war/WEB-INF/portlet.xml 2008-03-09 21:26:45 UTC (rev 10250)
+++ modules/portlet/trunk/test/src/test/resources/jsr168/ext/portletconfig-war/WEB-INF/portlet.xml 2008-03-09 22:35:43 UTC (rev 10251)
@@ -69,5 +69,17 @@
</portlet-info>
</portlet>
-
+ <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-info>
+ <title></title>
+ <short-title></short-title>
+ <keywords></keywords>
+ </portlet-info>
+ </portlet>
+
</portlet-app>
16 years, 3 months
JBoss Portal SVN: r10250 - modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/test/portlet/jsr168/tck/portletinterface.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2008-03-09 17:26:45 -0400 (Sun, 09 Mar 2008)
New Revision: 10250
Modified:
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/InvokeRenderAfterRenderURLTestCase.java
Log:
this test case was not enabled because of a configuration issue
Modified: modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/InvokeRenderAfterRenderURLTestCase.java
===================================================================
--- modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/InvokeRenderAfterRenderURLTestCase.java 2008-03-09 17:05:59 UTC (rev 10249)
+++ modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/InvokeRenderAfterRenderURLTestCase.java 2008-03-09 21:26:45 UTC (rev 10250)
@@ -56,7 +56,7 @@
}
});
- seq.bindAction(1, UTP1.RENDER_JOIN_POINT, new PortletRenderTestAction()
+ seq.bindAction(1, UTP2.RENDER_JOIN_POINT, new PortletRenderTestAction()
{
protected DriverResponse run(Portlet portlet, RenderRequest request, RenderResponse response, PortletTestContext context)
{
16 years, 3 months
JBoss Portal SVN: r10249 - modules/portlet/trunk/management/src/main/java/org/jboss/portal/portlet/management.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2008-03-09 13:05:59 -0400 (Sun, 09 Mar 2008)
New Revision: 10249
Modified:
modules/portlet/trunk/management/src/main/java/org/jboss/portal/portlet/management/PortletContainerManagementInterceptorImpl.java
Log:
fix not compiling because of oswego class not found
Modified: modules/portlet/trunk/management/src/main/java/org/jboss/portal/portlet/management/PortletContainerManagementInterceptorImpl.java
===================================================================
--- modules/portlet/trunk/management/src/main/java/org/jboss/portal/portlet/management/PortletContainerManagementInterceptorImpl.java 2008-03-09 16:58:43 UTC (rev 10248)
+++ modules/portlet/trunk/management/src/main/java/org/jboss/portal/portlet/management/PortletContainerManagementInterceptorImpl.java 2008-03-09 17:05:59 UTC (rev 10249)
@@ -23,6 +23,7 @@
package org.jboss.portal.portlet.management;
import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
import org.jboss.portal.common.invocation.InvocationException;
import org.jboss.portal.portlet.PortletContext;
@@ -31,8 +32,6 @@
import org.jboss.portal.portlet.invocation.PortletInvocation;
import org.jboss.portal.portlet.invocation.RenderInvocation;
-import EDU.oswego.cs.dl.util.concurrent.ConcurrentHashMap;
-
/**
* @author <a href="mailto:theute@jboss.org">Thomas Heute</a>
* @version $Revision$
16 years, 3 months
JBoss Portal SVN: r10248 - in modules/portlet/trunk: controller and 4 other directories.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2008-03-09 12:58:43 -0400 (Sun, 09 Mar 2008)
New Revision: 10248
Removed:
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/EventPhaseSessionImpl.java
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/event/EventPhaseSession.java
modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/EventControllerContextSupport.java
Modified:
modules/portlet/trunk/build/pom.xml
modules/portlet/trunk/controller/pom.xml
modules/portlet/trunk/mc/src/test/java/org/jboss/portal/portlet/mc/metadata/AbstractMetaDataTestCase.java
Log:
fix wrong parsing with jboss xb
Modified: modules/portlet/trunk/build/pom.xml
===================================================================
--- modules/portlet/trunk/build/pom.xml 2008-03-09 16:04:41 UTC (rev 10247)
+++ modules/portlet/trunk/build/pom.xml 2008-03-09 16:58:43 UTC (rev 10248)
@@ -33,8 +33,8 @@
<version.jboss-logging>2.0.3.GA</version.jboss-logging>
<version.jbossxb>2.0.0.CR5</version.jbossxb>
<version.jboss-remoting>2.2.1.GA</version.jboss-remoting>
- <version.jboss.portal.common>1.2.0.Beta2</version.jboss.portal.common>
- <version.jboss.portal.web>1.2.0.Beta2</version.jboss.portal.web>
+ <version.jboss.portal.common>1.2.0-SNAPSHOT</version.jboss.portal.common>
+ <version.jboss.portal.web>1.2.0-SNAPSHOT</version.jboss.portal.web>
<version.jboss.unit>1.2.0.Beta2</version.jboss.unit>
<version.log4j>1.2.14</version.log4j>
<version.apache.commons-logging>1.1.1</version.apache.commons-logging>
@@ -46,6 +46,7 @@
<version.sun-jaxb>2.1.4</version.sun-jaxb>
<version.portlet-api>2.0</version.portlet-api>
<version.ccpp-api>1.0</version.ccpp-api>
+ <version.xerces>2.7.1</version.xerces>
</properties>
<repositories>
@@ -138,12 +139,26 @@
<version>${version.apache-taglibs}</version>
</dependency>
-
<dependency>
<groupId>sun-jaxb</groupId>
<artifactId>jaxb-api</artifactId>
<version>${version.sun-jaxb}</version>
</dependency>
+ <dependency>
+ <groupId>apache-xerces</groupId>
+ <artifactId>resolver</artifactId>
+ <version>${version.xerces}</version>
+ </dependency>
+ <dependency>
+ <groupId>apache-xerces</groupId>
+ <artifactId>xercesImpl</artifactId>
+ <version>${version.xerces}</version>
+ </dependency>
+ <dependency>
+ <groupId>apache-xerces</groupId>
+ <artifactId>xml-apis</artifactId>
+ <version>${version.xerces}</version>
+ </dependency>
<dependency>
<groupId>org.jboss.portal.common</groupId>
Modified: modules/portlet/trunk/controller/pom.xml
===================================================================
--- modules/portlet/trunk/controller/pom.xml 2008-03-09 16:04:41 UTC (rev 10247)
+++ modules/portlet/trunk/controller/pom.xml 2008-03-09 16:58:43 UTC (rev 10248)
@@ -37,6 +37,20 @@
</dependency>
<!--TEST SCOPE-->
+
+ <dependency>
+ <groupId>apache-xerces</groupId>
+ <artifactId>resolver</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>apache-xerces</groupId>
+ <artifactId>xercesImpl</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>apache-xerces</groupId>
+ <artifactId>xml-apis</artifactId>
+ </dependency>
+
<!--
<dependency>
<groupId>org.jboss.portal.portlet</groupId>
Deleted: modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/EventPhaseSessionImpl.java
===================================================================
--- modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/EventPhaseSessionImpl.java 2008-03-09 16:04:41 UTC (rev 10247)
+++ modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/EventPhaseSessionImpl.java 2008-03-09 16:58:43 UTC (rev 10248)
@@ -1,111 +0,0 @@
-/******************************************************************************
- * 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.controller;
-
-import org.jboss.portal.portlet.controller.event.EventPhaseSession;
-import org.jboss.portal.portlet.controller.event.Event;
-import org.apache.log4j.Logger;
-
-import java.util.Iterator;
-import java.util.LinkedList;
-
-/**
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 630 $
- */
-class EventPhaseSessionImpl implements EventPhaseSession
-{
-
- /** . */
- static final int READ_MODE = 0;
-
- /** . */
- static final int READ_WRITE_MODE = 1;
-
- /** . */
- static final int INTERRUPTED_MODE = 2;
-
- /** . */
- private final Logger log;
-
- /** . */
- LinkedList<EventProduction> producedEvents;
-
- /** . */
- LinkedList<Event> toConsumeEvents;
-
- /** . */
- int consumedEventSize;
-
- /** . */
- int producedEventSize;
-
- /** . */
- int mode;
-
- EventPhaseSessionImpl(Logger log)
- {
- this.log = log;
- this.producedEvents = new LinkedList<EventProduction>();
- this.toConsumeEvents = new LinkedList<Event>();
- this.consumedEventSize = 0;
- this.producedEventSize = 0;
- this.mode = READ_MODE;
- }
-
- public void queueEvent(Event event)
- {
- if (mode == INTERRUPTED_MODE)
- {
- throw new IllegalStateException("The event phase cannot queue events because it is interruped");
- }
- if (mode == READ_MODE)
- {
- throw new IllegalStateException("The event phase cannot queue events");
- }
- if (event == null)
- {
- throw new IllegalArgumentException("No null event accepted");
- }
-
- //
- log.trace("Queued event " + event + " in the session");
-
- //
- this.toConsumeEvents.addLast(event);
- }
-
- public void interrupt()
- {
- if (mode == READ_MODE)
- {
- throw new IllegalStateException("The event phase is not interruptable");
- }
-
- //
- log.trace("Event delivery interruped");
-
- //
- this.mode = INTERRUPTED_MODE;
- }
-}
Deleted: modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/event/EventPhaseSession.java
===================================================================
--- modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/event/EventPhaseSession.java 2008-03-09 16:04:41 UTC (rev 10247)
+++ modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/event/EventPhaseSession.java 2008-03-09 16:58:43 UTC (rev 10248)
@@ -1,48 +0,0 @@
-/******************************************************************************
- * 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.controller.event;
-
-/**
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 630 $
- */
-public interface EventPhaseSession
-{
-
- /**
- * Queue an event for consumption. The queue is a FIFO queue.
- *
- * @param event an event
- * @throws IllegalArgumentException if the event is null
- * @throws IllegalStateException if an event cannot be published
- */
- void queueEvent(Event event) throws IllegalArgumentException, IllegalStateException;
-
- /**
- * Stop processing of all events and returns from the controller.
- *
- * @throws IllegalStateException if the session cannot be interrupted.
- */
- void interrupt() throws IllegalStateException;
-
-}
Deleted: modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/EventControllerContextSupport.java
===================================================================
--- modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/EventControllerContextSupport.java 2008-03-09 16:04:41 UTC (rev 10247)
+++ modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/EventControllerContextSupport.java 2008-03-09 16:58:43 UTC (rev 10248)
@@ -1,142 +0,0 @@
-/******************************************************************************
- * 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.controller;
-
-import org.jboss.portal.portlet.controller.event.EventControllerContext;
-import org.jboss.portal.portlet.controller.event.Event;
-import org.jboss.portal.portlet.controller.event.EventPhaseContext;
-import org.jboss.portal.portlet.invocation.response.PortletInvocationResponse;
-
-import javax.xml.namespace.QName;
-import java.util.List;
-import java.util.Map;
-import java.util.ArrayList;
-import java.util.HashMap;
-
-/**
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 630 $
- */
-public class EventControllerContextSupport implements EventControllerContext
-{
-
- /** . */
- private final Map<Point, List<Point>> wires = new HashMap<Point, List<Point>>();
-
- public void eventProduced(EventPhaseContext context, Event sourceEvent, Event producedEvent)
- {
- List<Point> dsts = wires.get(new Point(producedEvent.getName(), producedEvent.getWindowId()));
-
- //
- if (dsts != null)
- {
- for (Point dst : dsts)
- {
- context.queueEvent(new Event(dst.name, producedEvent.getPayload(), dst.windowId));
- }
- }
- }
-
- public void eventConsumed(EventPhaseContext context, Event consumedEvent, PortletInvocationResponse consumerResponse)
- {
- }
-
- public void eventFailed(EventPhaseContext context, Event failedEvent, Throwable throwable)
- {
- }
-
- public void eventDiscarded(EventPhaseContext context, Event discardedEvent, int cause)
- {
- }
-
- public void createWire(QName srcName, String srcWindowId, QName dstName, String dstWindowId)
- {
- Point src = new Point(srcName, srcWindowId);
-
- //
- List<Point> dsts = wires.get(src);
-
- //
- if (dsts == null)
- {
- dsts = new ArrayList<Point>();
- wires.put(src, dsts);
- }
-
- //
- Point dst = new Point(dstName, dstWindowId);
-
- if (dsts.contains(dst))
- {
- throw new IllegalStateException("Such a wire already exists");
- }
-
- //
- dsts.add(dst);
- }
-
- private static class Point
- {
-
- /** . */
- final QName name;
-
- /** . */
- final String windowId;
-
- private Point(QName name, String windowId)
- {
- if (name == null)
- {
- throw new IllegalArgumentException();
- }
- if (windowId == null)
- {
- throw new IllegalArgumentException();
- }
-
- //
- this.name = name;
- this.windowId = windowId;
- }
-
- public boolean equals(Object obj)
- {
- if (obj == this)
- {
- return true;
- }
- if (obj instanceof Point)
- {
- Point that = (Point)obj;
- return name.equals(that.name) && windowId.equals(that.windowId);
- }
- return false;
- }
-
- public int hashCode()
- {
- return name.hashCode() + windowId.hashCode();
- }
- }
-}
Modified: modules/portlet/trunk/mc/src/test/java/org/jboss/portal/portlet/mc/metadata/AbstractMetaDataTestCase.java
===================================================================
--- modules/portlet/trunk/mc/src/test/java/org/jboss/portal/portlet/mc/metadata/AbstractMetaDataTestCase.java 2008-03-09 16:04:41 UTC (rev 10247)
+++ modules/portlet/trunk/mc/src/test/java/org/jboss/portal/portlet/mc/metadata/AbstractMetaDataTestCase.java 2008-03-09 16:58:43 UTC (rev 10248)
@@ -43,6 +43,7 @@
import org.jboss.xb.binding.sunday.unmarshalling.SingletonSchemaResolverFactory;
import org.xml.sax.SAXException;
import static org.jboss.unit.api.Assert.*;
+import org.jboss.util.xml.JBossEntityResolver;
/**
* @author <a href="mailto:emuckenh@redhat.com">Emanuel Muckenhuber</a>
@@ -83,8 +84,12 @@
resolver = (DefaultSchemaResolver) factory.getSchemaBindingResolver();
/** SchemaResolver */
- resolver.addSchemaLocation(PORTLET_JSR_168_NS, "portlet-app_1_0.xsd");
- resolver.addSchemaLocation(PORTLET_JSR_286_NS, "portlet-app_2_0.xsd");
+ // The two following lines are not effective, we need for now to register xsd globally
+// resolver.addSchemaLocation(PORTLET_JSR_168_NS, "portlet-app_1_0.xsd");
+// resolver.addSchemaLocation(PORTLET_JSR_286_NS, "portlet-app_2_0.xsd");
+ JBossEntityResolver.registerEntity(PORTLET_JSR_168_NS, "metadata/portlet-app_1_0.xsd");
+ JBossEntityResolver.registerEntity(PORTLET_JSR_286_NS, "metadata/portlet-app_2_0.xsd");
+
resolver.addClassBinding(PORTLET_JSR_286_NS, AnnotationPortletApplication20MetaData.class);
resolver.addClassBinding(PORTLET_JSR_168_NS, AnnotationPortletApplication10MetaData.class);
}
16 years, 3 months