Author: julien(a)jboss.com
Date: 2007-06-26 15:11:26 -0400 (Tue, 26 Jun 2007)
New Revision: 7562
Modified:
trunk/core/src/main/org/jboss/portal/core/controller/portlet/ControllerResponseFactory.java
Log:
handle SecurityError response from portlet actions
Modified:
trunk/core/src/main/org/jboss/portal/core/controller/portlet/ControllerResponseFactory.java
===================================================================
---
trunk/core/src/main/org/jboss/portal/core/controller/portlet/ControllerResponseFactory.java 2007-06-26
18:43:48 UTC (rev 7561)
+++
trunk/core/src/main/org/jboss/portal/core/controller/portlet/ControllerResponseFactory.java 2007-06-26
19:11:26 UTC (rev 7562)
@@ -23,20 +23,18 @@
package org.jboss.portal.core.controller.portlet;
import org.jboss.portal.core.controller.ControllerResponse;
+import org.jboss.portal.core.controller.command.response.SignOutResponse;
import org.jboss.portal.core.controller.command.response.RedirectionResponse;
import org.jboss.portal.core.controller.command.response.SecurityErrorResponse;
import org.jboss.portal.core.controller.command.response.UnavailableResourceResponse;
+import org.jboss.portal.core.controller.command.response.ErrorResponse;
import org.jboss.portal.core.model.portal.PortalObjectId;
import org.jboss.portal.core.model.portal.command.response.PortletWindowActionResponse;
import
org.jboss.portal.core.model.instance.command.response.PortletInstanceActionResponse;
-import org.jboss.portal.portlet.invocation.response.PortletInvocationResponse;
-import org.jboss.portal.portlet.invocation.response.HTTPRedirectionResponse;
-import
org.jboss.portal.portlet.invocation.response.InsufficientTransportGuaranteeResponse;
-import org.jboss.portal.portlet.invocation.response.InsufficientPrivilegesResponse;
-import org.jboss.portal.portlet.invocation.response.ErrorResponse;
-import org.jboss.portal.portlet.invocation.response.RenderResponse;
import org.jboss.portal.portlet.PortletInvokerException;
import org.jboss.portal.portlet.NoSuchPortletException;
+import org.jboss.portal.portlet.invocation.response.RenderResponse;
+import org.jboss.portal.portlet.invocation.response.PortletInvocationResponse;
import org.jboss.portal.common.FixMe;
/**
@@ -73,7 +71,7 @@
public static ControllerResponse createActionResponse(String instanceId,
PortletInvocationResponse response)
{
- if (response instanceof RenderResponse)
+ if (response instanceof
org.jboss.portal.portlet.invocation.response.RenderResponse)
{
RenderResponse renderResult = (RenderResponse)response;
return new PortletInstanceActionResponse(instanceId,
renderResult.getWindowState(), renderResult.getMode(),
renderResult.getNavigationalState());
@@ -86,32 +84,36 @@
private static ControllerResponse createResponse(PortletInvocationResponse response)
{
- if (response instanceof HTTPRedirectionResponse)
+ if (response instanceof
org.jboss.portal.portlet.invocation.response.HTTPRedirectionResponse)
{
- HTTPRedirectionResponse redirection = (HTTPRedirectionResponse)response;
+ org.jboss.portal.portlet.invocation.response.HTTPRedirectionResponse redirection
= (org.jboss.portal.portlet.invocation.response.HTTPRedirectionResponse)response;
String location = redirection.getLocation();
return new RedirectionResponse(location);
}
- else if (response instanceof InsufficientTransportGuaranteeResponse)
+ else if (response instanceof
org.jboss.portal.portlet.invocation.response.InsufficientTransportGuaranteeResponse)
{
return new SecurityErrorResponse(SecurityErrorResponse.NOT_SECURE, false);
}
- else if (response instanceof InsufficientPrivilegesResponse)
+ else if (response instanceof
org.jboss.portal.portlet.invocation.response.InsufficientPrivilegesResponse)
{
return new SecurityErrorResponse(SecurityErrorResponse.NOT_AUTHORIZED, false);
}
- else if (response instanceof SignOutResponse)
+ else if (response instanceof
org.jboss.portal.core.controller.portlet.SignOutResponse)
{
- return new org.jboss.portal.core.controller.command.response.SignOutResponse();
+ return new SignOutResponse();
}
- else if (response instanceof ErrorResponse)
+ else if (response instanceof
org.jboss.portal.portlet.invocation.response.ErrorResponse)
{
- return new
org.jboss.portal.core.controller.command.response.ErrorResponse(((ErrorResponse)response).getCause(),
false);
+ return new
ErrorResponse(((org.jboss.portal.portlet.invocation.response.ErrorResponse)response).getCause(),
false);
}
+ else if (response instanceof
org.jboss.portal.portlet.invocation.response.SecurityErrorResponse)
+ {
+ org.jboss.portal.portlet.invocation.response.SecurityErrorResponse ser =
(org.jboss.portal.portlet.invocation.response.SecurityErrorResponse)response;
+ return new SecurityErrorResponse(ser.getThrowable(),
SecurityErrorResponse.NOT_AUTHORIZED, false);
+ }
else
{
- throw new FixMe();
+ throw new FixMe("Undefined response mapping for " + response);
}
}
-
}
Show replies by date