Author: julien(a)jboss.com
Date: 2008-02-09 12:12:18 -0500 (Sat, 09 Feb 2008)
New Revision: 9908
Removed:
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/portal/samples/basic/ErrorPortlet.java
Modified:
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/ControllerFilter.java
Log:
handle error in actions
Deleted:
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/portal/samples/basic/ErrorPortlet.java
===================================================================
---
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/portal/samples/basic/ErrorPortlet.java 2008-02-09
17:00:33 UTC (rev 9907)
+++
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/portal/samples/basic/ErrorPortlet.java 2008-02-09
17:12:18 UTC (rev 9908)
@@ -1,41 +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.portal.samples.basic;
-
-import javax.portlet.GenericPortlet;
-import javax.portlet.RenderRequest;
-import javax.portlet.RenderResponse;
-import javax.portlet.PortletException;
-import java.io.IOException;
-
-/**
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 630 $
- */
-public class ErrorPortlet extends GenericPortlet
-{
- protected void doView(RenderRequest renderRequest, RenderResponse renderResponse)
throws PortletException, IOException
- {
- throw new PortletException("Some exception");
- }
-}
Modified:
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/ControllerFilter.java
===================================================================
---
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/ControllerFilter.java 2008-02-09
17:00:33 UTC (rev 9907)
+++
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/ControllerFilter.java 2008-02-09
17:12:18 UTC (rev 9908)
@@ -27,12 +27,14 @@
import org.jboss.portal.portlet.PortletInvokerException;
import org.jboss.portal.portlet.invocation.response.PortletInvocationResponse;
import org.jboss.portal.portlet.invocation.response.FragmentResponse;
+import org.jboss.portal.portlet.invocation.response.ErrorResponse;
import org.jboss.portal.portlet.controller.PortletController;
import org.jboss.portal.portlet.controller.request.PortletActionRequest;
import org.jboss.portal.portlet.controller.impl.state.StateControllerContextImpl;
import org.jboss.portal.portlet.controller.response.ControllerResponse;
import org.jboss.portal.portlet.controller.response.PageUpdateResponse;
import org.jboss.portal.portlet.controller.response.ResourceResponse;
+import org.jboss.portal.portlet.controller.response.PortletResponse;
import org.jboss.portal.portlet.controller.state.PageNavigationalState;
import org.jboss.portal.common.io.IOTools;
@@ -197,6 +199,31 @@
//
return;
}
+ else if (controllerResponse instanceof PortletResponse)
+ {
+ PortletResponse portletResponse = (PortletResponse)controllerResponse;
+ PortletInvocationResponse pir = portletResponse.response;
+
+ //
+ if (pir instanceof ErrorResponse)
+ {
+ ErrorResponse errorResponse = (ErrorResponse)pir;
+
+ //
+ if (errorResponse.getCause() != null)
+ {
+ throw new ServletException(errorResponse.getMessage(),
errorResponse.getCause());
+ }
+ else
+ {
+ throw new ServletException(errorResponse.getMessage());
+ }
+ }
+ else
+ {
+ // todo
+ }
+ }
else
{
// todo