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 cd...@apache.org on 2007/09/01 13:19:53 UTC
svn commit: r571763 - in
/portals/pluto/branches/1.1-286-trunk-merge/pluto-container/src/main/java/org/apache/pluto/internal/impl:
ActionResponseImpl.java EventResponseImpl.java StateAwareResponseImpl.java
Author: cdoremus
Date: Sat Sep 1 04:19:52 2007
New Revision: 571763
URL: http://svn.apache.org/viewvc?rev=571763&view=rev
Log:
Applied Refactor_ResponseImpl_083107.patch from PLUTO-428.
Modified:
portals/pluto/branches/1.1-286-trunk-merge/pluto-container/src/main/java/org/apache/pluto/internal/impl/ActionResponseImpl.java
portals/pluto/branches/1.1-286-trunk-merge/pluto-container/src/main/java/org/apache/pluto/internal/impl/EventResponseImpl.java
portals/pluto/branches/1.1-286-trunk-merge/pluto-container/src/main/java/org/apache/pluto/internal/impl/StateAwareResponseImpl.java
Modified: portals/pluto/branches/1.1-286-trunk-merge/pluto-container/src/main/java/org/apache/pluto/internal/impl/ActionResponseImpl.java
URL: http://svn.apache.org/viewvc/portals/pluto/branches/1.1-286-trunk-merge/pluto-container/src/main/java/org/apache/pluto/internal/impl/ActionResponseImpl.java?rev=571763&r1=571762&r2=571763&view=diff
==============================================================================
--- portals/pluto/branches/1.1-286-trunk-merge/pluto-container/src/main/java/org/apache/pluto/internal/impl/ActionResponseImpl.java (original)
+++ portals/pluto/branches/1.1-286-trunk-merge/pluto-container/src/main/java/org/apache/pluto/internal/impl/ActionResponseImpl.java Sat Sep 1 04:19:52 2007
@@ -19,6 +19,7 @@
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Iterator;
+import java.util.List;
import java.util.Map;
import javax.portlet.ActionResponse;
@@ -47,21 +48,7 @@
/**
* Is it still allowed to invoke the method sendRedirect() ?
*/
- boolean redirectAllowed = true;
- private boolean redirected;
- private String redirectLocation;
-
- private InternalPortletWindow internalPortletWindow;
- private PortletContainer container;
- private Map<String, String[]> publicRenderParameter = new HashMap<String, String[]>();
-
- private Map renderParameters = new HashMap();
- private WindowState windowState = null;
- private PortletMode portletMode = null;
-
- private PortalCallbackService callback;
- private PortalContext context;
public ActionResponseImpl(PortletContainer container,
@@ -75,237 +62,4 @@
context = container.getRequiredContainerServices().getPortalContext();
callback = container.getRequiredContainerServices().getPortalCallbackService();
}
-
-//
-// javax.portlet.ActionResponse
-//
- public void setWindowState(WindowState windowState)
- throws WindowStateException {
- if (redirected) {
- throw new IllegalStateException(
- "it is not allowed to invoke setWindowState after sendRedirect has been called");
- }
-
- if (isWindowStateAllowed(windowState)) {
- this.windowState = windowState;
- } else {
- throw new WindowStateException("Can't set this WindowState",
- windowState);
- }
- redirectAllowed = false;
- }
-
- public void setPortletMode(PortletMode portletMode)
- throws PortletModeException {
- if (redirected) {
- throw new IllegalStateException(
- "it is not allowed to invoke setPortletMode after sendRedirect has been called");
- }
-
- // check if portal supports portlet mode
- boolean supported = isPortletModeAllowed(portletMode);
-
-
- // if porlet mode is allowed
- if (supported) {
- this.portletMode = portletMode;
- } else {
- throw new PortletModeException("Can't set this PortletMode",
- portletMode);
- }
-
- redirectAllowed = false;
-
- }
-
- public void sendRedirect(String location) throws java.io.IOException {
- if (redirectAllowed) {
- if (location != null) {
- HttpServletResponse redirectResponse = getHttpServletResponse();
- while (redirectResponse instanceof HttpServletResponseWrapper) {
- redirectResponse = (HttpServletResponse)
- ((HttpServletResponseWrapper)redirectResponse).getResponse();
- }
-
- ResourceURLProvider provider = callback.getResourceURLProvider(
- getHttpServletRequest(),
- getInternalPortletWindow()
- );
-
- if (location.indexOf("://") != -1) {
- provider.setAbsoluteURL(location);
- } else {
- provider.setFullPath(location);
- }
- location =
- redirectResponse.encodeRedirectURL(provider.toString());
- //redirectResponse.sendRedirect(location);
- redirectLocation = location;
- redirected = true;
- }
- } else {
- throw new java.lang.IllegalStateException(
- "Can't invoke sendRedirect() after certain methods have been called");
- }
-
- }
-
- public void setRenderParameters(Map parameters) {
- if (redirected) {
- throw new IllegalStateException(
- "Can't invoke setRenderParameters() after sendRedirect() has been called");
- }
- if (parameters == null) {
- throw new IllegalArgumentException(
- "Render parameters must not be null.");
- }
- for (Iterator iter = parameters.entrySet().iterator(); iter.hasNext();) {
- Map.Entry entry = (Map.Entry) iter.next();
- if (!(entry.getKey() instanceof String)) {
- throw new IllegalArgumentException(
- "Key must not be null and of type java.lang.String.");
- }
- if (!(entry.getValue() instanceof String[])) {
- throw new IllegalArgumentException(
- "Value must not be null and of type java.lang.String[].");
- }
- }
-
- renderParameters.clear();
- publicRenderParameter.clear();
- if (parameters.keySet()!= null){
- for (Object key : parameters.keySet()) {
- this.setRenderParameter((String)key, (String[])parameters.get(key));
- }
- }
-
- redirectAllowed = false;
- }
-
- public void setRenderParameter(String key, String value) {
- if (redirected) {
- throw new IllegalStateException(
- "Can't invoke setRenderParameter() after sendRedirect() has been called");
- }
-
- if ((key == null)) {
- throw new IllegalArgumentException(
- "Render parameter key must not be null.");
- }
- PublicRenderParameterProvider provider = container.getRequiredContainerServices().getPortalCallbackService().getPublicRenderParameterProvider();
- //only if the value is null, if it is a public parameter will deleted from list.
- if (value == null){
- //test if this is a public render parameter
- if (provider.isPublicRenderParameter(internalPortletWindow.getId().getStringId(), key)){
- publicRenderParameter.put(key, new String[] {null});
- }
- else{
- throw new IllegalArgumentException(
- "Render parameter value must not be null.");
- }
- }
- else if (provider.isPublicRenderParameter(internalPortletWindow.getId().getStringId(), key)){
- publicRenderParameter.put(key, new String[] {value});
- }
- else{
- renderParameters.put(key, new String[]{value});
- }
- redirectAllowed = false;
- }
-
- public void setRenderParameter(String key, String[] values) {
- if (redirected) {
- throw new IllegalStateException(
- "Can't invoke setRenderParameter() after sendRedirect() has been called");
- }
-
- if (key == null) {
- throw new IllegalArgumentException(
- "name and values must not be null or values be an empty array");
- }
- PublicRenderParameterProvider provider = container.getRequiredContainerServices().getPortalCallbackService().getPublicRenderParameterProvider();
- if (values == null){
- if (provider.isPublicRenderParameter(internalPortletWindow.getId().getStringId(), key)){
- publicRenderParameter.put(key,new String[] {null});
- }
- else{
- throw new IllegalArgumentException(
- "name and values must not be null or values be an empty array");
- }
- }
-
- if (provider.isPublicRenderParameter(internalPortletWindow.getId().getStringId(), key)){
- publicRenderParameter.put(key,StringUtils.copy(values));
- }
- else{
- renderParameters.put(key, StringUtils.copy(values));
- }
- }
- // --------------------------------------------------------------------------------------------
-
- // org.apache.pluto.core.InternalActionResponse implementation --------------------------------
- public Map getRenderParameters() {
- return renderParameters;
- }
-
- public Map<String, String[]> getPublicRenderParameter(){
- return publicRenderParameter;
- }
-
- public PortletMode getChangedPortletMode() {
- return this.portletMode;
- }
-
- public WindowState getChangedWindowState() {
- return this.windowState;
- }
-
- public String getRedirectLocation() {
- return redirectLocation;
- }
-
- private boolean isPortletModeAllowed(PortletMode mode) {
- return isPortletModeAllowedByPortlet(mode)
- && isPortletModeAllowedByPortal(mode);
- }
-
- private boolean isPortletModeAllowedByPortlet(PortletMode mode) {
- PortletDD dd = getInternalPortletWindow().getPortletEntity()
- .getPortletDefinition();
-
- Iterator supports = dd.getSupports().iterator();
- while(supports.hasNext()) {
- SupportsDD sup = (SupportsDD)supports.next();
- Iterator modes = sup.getPortletModes().iterator();
- while(modes.hasNext()) {
- if (modes.next().toString().equalsIgnoreCase(mode.toString())) {
- return true;
- }
- }
- }
- return false;
- }
-
- private boolean isPortletModeAllowedByPortal(PortletMode mode) {
- Enumeration supportedModes = context.getSupportedPortletModes();
- while (supportedModes.hasMoreElements()) {
- if (supportedModes.nextElement().toString().equalsIgnoreCase(
- (mode.toString()))) {
- return true;
- }
- }
- return false;
- }
-
- private boolean isWindowStateAllowed(WindowState state) {
- Enumeration supportedStates = context.getSupportedWindowStates();
- while (supportedStates.hasMoreElements()) {
- if (supportedStates.nextElement().toString().equalsIgnoreCase(
- (state.toString()))) {
- return true;
- }
- }
- return false;
- }
-
}
Modified: portals/pluto/branches/1.1-286-trunk-merge/pluto-container/src/main/java/org/apache/pluto/internal/impl/EventResponseImpl.java
URL: http://svn.apache.org/viewvc/portals/pluto/branches/1.1-286-trunk-merge/pluto-container/src/main/java/org/apache/pluto/internal/impl/EventResponseImpl.java?rev=571763&r1=571762&r2=571763&view=diff
==============================================================================
--- portals/pluto/branches/1.1-286-trunk-merge/pluto-container/src/main/java/org/apache/pluto/internal/impl/EventResponseImpl.java (original)
+++ portals/pluto/branches/1.1-286-trunk-merge/pluto-container/src/main/java/org/apache/pluto/internal/impl/EventResponseImpl.java Sat Sep 1 04:19:52 2007
@@ -46,22 +46,6 @@
servletResponse);
}
-
-
-// public ServletOutputStream getOutputStream() throws IOException {
-// // TODO Auto-generated method stub
-//// return null;
-// throw new UnsupportedOperationException("This method needs to be implemented.");
-// }
-
-// public PrintWriter getWriter() throws IOException {
-// // TODO Auto-generated method stub
-//// return null;
-// throw new UnsupportedOperationException();
-// }
-
-
-
public void setRenderParameters(EventRequest request) {
// TODO Auto-generated method stub
throw new UnsupportedOperationException("This method needs to be implemented.");
Modified: portals/pluto/branches/1.1-286-trunk-merge/pluto-container/src/main/java/org/apache/pluto/internal/impl/StateAwareResponseImpl.java
URL: http://svn.apache.org/viewvc/portals/pluto/branches/1.1-286-trunk-merge/pluto-container/src/main/java/org/apache/pluto/internal/impl/StateAwareResponseImpl.java?rev=571763&r1=571762&r2=571763&view=diff
==============================================================================
--- portals/pluto/branches/1.1-286-trunk-merge/pluto-container/src/main/java/org/apache/pluto/internal/impl/StateAwareResponseImpl.java (original)
+++ portals/pluto/branches/1.1-286-trunk-merge/pluto-container/src/main/java/org/apache/pluto/internal/impl/StateAwareResponseImpl.java Sat Sep 1 04:19:52 2007
@@ -79,15 +79,15 @@
private String redirectLocation;
- private InternalPortletWindow internalPortletWindow;
- private PortletContainer container;
+ protected InternalPortletWindow internalPortletWindow;
+ protected PortletContainer container;
private Map<String, String[]> publicRenderParameter = new HashMap<String, String[]>();
private Map renderParameters = new HashMap();
private WindowState windowState = null;
private PortletMode portletMode = null;
- private PortalCallbackService callback;
- private PortalContext context;
+ protected PortalCallbackService callback;
+ protected PortalContext context;
public StateAwareResponseImpl(PortletContainer container,
InternalPortletWindow internalPortletWindow,
@@ -410,19 +410,22 @@
return getChangedWindowState();
}
- private boolean isPortletModeAllowed(PortletMode mode) {
+ protected boolean isPortletModeAllowed(PortletMode mode) {
return isPortletModeAllowedByPortlet(mode)
&& isPortletModeAllowedByPortal(mode);
}
- private boolean isPortletModeAllowedByPortlet(PortletMode mode) {
+ protected boolean isPortletModeAllowedByPortlet(PortletMode mode) {
PortletDD dd = getInternalPortletWindow().getPortletEntity()
.getPortletDefinition();
Iterator supports = dd.getSupports().iterator();
while(supports.hasNext()) {
SupportsDD sup = (SupportsDD)supports.next();
- Iterator modes = sup.getPortletModes().iterator();
+ List<String> portletModes = sup.getPortletModes();
+ if (portletModes == null)
+ return false;
+ Iterator modes = portletModes.iterator();
while(modes.hasNext()) {
if (modes.next().toString().equalsIgnoreCase(mode.toString())) {
return true;
@@ -432,7 +435,7 @@
return false;
}
- private boolean isPortletModeAllowedByPortal(PortletMode mode) {
+ protected boolean isPortletModeAllowedByPortal(PortletMode mode) {
Enumeration supportedModes = context.getSupportedPortletModes();
while (supportedModes.hasMoreElements()) {
if (supportedModes.nextElement().toString().equalsIgnoreCase(
@@ -443,7 +446,7 @@
return false;
}
- private boolean isWindowStateAllowed(WindowState state) {
+ protected boolean isWindowStateAllowed(WindowState state) {
Enumeration supportedStates = context.getSupportedWindowStates();
while (supportedStates.hasMoreElements()) {
if (supportedStates.nextElement().toString().equalsIgnoreCase(