From: Julien V. <vi...@us...> - 2004-12-03 13:18:08
|
User: vietj Date: 04/12/03 05:17:56 Modified: portlet/src/main/org/jboss/nukes/portlet/impl ActionResponseImpl.java PortletRequestImpl.java PortletURLImpl.java RenderResponseImpl.java Log: better PortletMode support Revision Changes Path 1.10 +12 -7 nukes-2/portlet/src/main/org/jboss/nukes/portlet/impl/ActionResponseImpl.java Index: ActionResponseImpl.java =================================================================== RCS file: /cvsroot/jboss/nukes-2/portlet/src/main/org/jboss/nukes/portlet/impl/ActionResponseImpl.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- ActionResponseImpl.java 21 Nov 2004 14:40:36 -0000 1.9 +++ ActionResponseImpl.java 3 Dec 2004 13:17:42 -0000 1.10 @@ -15,6 +15,9 @@ import org.jboss.nukes.portal.output.Result; import org.jboss.nukes.portal.util.ResponseProperties; import org.jboss.nukes.portlet.PortletWindowContext; +import org.jboss.nukes.portlet.ContentTypes; +import org.jboss.nukes.portlet.PortletContainer; +import org.jboss.nukes.portlet.PortletWindow; import org.jboss.nukes.portlet.output.PortletActionResult; import javax.portlet.ActionResponse; @@ -27,13 +30,14 @@ /** * @author <a href="mailto:ju...@jb...">Julien Viet</a> - * @version $Revision: 1.9 $ + * @version $Revision: 1.10 $ */ public class ActionResponseImpl extends PortletResponseImpl implements ActionResponse { protected PortletWindowContext portletWindowContext; protected Result result; + protected PortletWindow window; public Result getResult() { @@ -42,11 +46,13 @@ public ActionResponseImpl( PortletWindowContext portletWindowContext, + PortletWindow window, PortalRequest req, PortalResponse resp, ResponseProperties properties) { super(req, resp, properties); + this.window = window; this.portletWindowContext = portletWindowContext; this.result = new NoResult(portletWindowContext); } @@ -55,7 +61,7 @@ { if (result instanceof NoResult || result instanceof PortletActionResult) { - if (!portletWindowContext.getSupportedWindowStates().contains(windowState)) + if (!window.isSuportedWindowState(windowState)) { throw new WindowStateException("Not supported", windowState); } @@ -79,14 +85,13 @@ { if (result instanceof NoResult || result instanceof PortletActionResult) { - if (!portletWindowContext.getSupportedPortletModes().contains(portletMode)) + // if (!portalState.getSupportedPortletModes().contains(portletMode)) + String contentType = resp.getContentType(); + if (!window.isSupportedPortletMode(portletMode, contentType)) { throw new PortletModeException("Not supported", portletMode); + } -// if (!portalState.getSupportedPortletModes().contains(portletMode)) -// { -// throw new PortletModeException("Not supported", portletMode); -// } if (result instanceof NoResult) { result = new PortletActionResult(portletWindowContext); 1.11 +7 -12 nukes-2/portlet/src/main/org/jboss/nukes/portlet/impl/PortletRequestImpl.java Index: PortletRequestImpl.java =================================================================== RCS file: /cvsroot/jboss/nukes-2/portlet/src/main/org/jboss/nukes/portlet/impl/PortletRequestImpl.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- PortletRequestImpl.java 21 Nov 2004 14:40:37 -0000 1.10 +++ PortletRequestImpl.java 3 Dec 2004 13:17:56 -0000 1.11 @@ -19,6 +19,7 @@ import org.jboss.nukes.portlet.PortletInstanceContext; import org.jboss.nukes.portlet.PortletWindow; import org.jboss.nukes.portlet.PortletWindowContext; +import org.jboss.nukes.portlet.ContentTypes; import org.apache.log4j.Logger; import javax.portlet.PortalContext; @@ -44,7 +45,7 @@ * to subclasses that can implement it differently. * * @author <a href="mailto:ju...@jb...">Julien Viet</a> - * @version $Revision: 1.10 $ + * @version $Revision: 1.11 $ */ public abstract class PortletRequestImpl implements PortletRequest { @@ -248,16 +249,13 @@ public String getResponseContentType() { - // PortletInstance container = (PortletInstance)portletWindowState.getWindow().getInstance(); - // container.getPortletDef(); - return "text/html"; + return resp.getContentType(); } public Enumeration getResponseContentTypes() { - // julien : to do Vector v = new Vector(); - v.add("text/html"); + v.add(getResponseContentType()); return v.elements(); } @@ -272,10 +270,8 @@ public boolean isPortletModeAllowed(PortletMode portletMode) { - // fixme : use the portal object as well - String contentType = req.getContentType(); - Collection supportedPortletModes = portletWindowContext.getSupportedPortletModes(); - return supportedPortletModes.contains(portletMode); + String contentType = getResponseContentType(); + return portletWindow.isSupportedPortletMode(portletMode,contentType ); } public PortletMode getPortletMode() @@ -287,8 +283,7 @@ public boolean isWindowStateAllowed(WindowState windowState) { - // fixme : use the portal object as well - return portletWindowContext.getSupportedWindowStates().contains(windowState); + return portletWindow.isSuportedWindowState(windowState); } public WindowState getWindowState() 1.5 +12 -4 nukes-2/portlet/src/main/org/jboss/nukes/portlet/impl/PortletURLImpl.java Index: PortletURLImpl.java =================================================================== RCS file: /cvsroot/jboss/nukes-2/portlet/src/main/org/jboss/nukes/portlet/impl/PortletURLImpl.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- PortletURLImpl.java 21 Nov 2004 14:40:37 -0000 1.4 +++ PortletURLImpl.java 3 Dec 2004 13:17:56 -0000 1.5 @@ -11,6 +11,7 @@ import org.apache.log4j.Logger; import org.jboss.nukes.portal.PortalURL; import org.jboss.nukes.portlet.PortletWindowContext; +import org.jboss.nukes.portlet.PortletWindow; import javax.portlet.PortletMode; import javax.portlet.PortletModeException; @@ -24,7 +25,7 @@ * @todo check supported modes and states * * @author <a href="mailto:ju...@jb...">Julien Viet</a> - * @version $Revision: 1.4 $ + * @version $Revision: 1.5 $ */ public class PortletURLImpl implements PortletURL { @@ -34,16 +35,23 @@ // julien : remove me private PortalURL portalURL; private PortletWindowContext portletWindowContext; + private PortletWindow portletWindow; + private String contentType; - public PortletURLImpl(PortalURL portalURL, PortletWindowContext portletWindowContext) + public PortletURLImpl(PortalURL portalURL, + PortletWindowContext portletWindowContext, + PortletWindow portletWindow, + String contentType) { this.portalURL = portalURL; this.portletWindowContext = portletWindowContext; + this.portletWindow = portletWindow; + this.contentType = contentType; } public void setWindowState(WindowState windowState) throws WindowStateException { - if (!portletWindowContext.getSupportedWindowStates().contains(windowState)) + if (!portletWindow.isSuportedWindowState(windowState)) { throw new WindowStateException("Not supported", windowState); } @@ -56,7 +64,7 @@ public void setPortletMode(PortletMode portletMode) throws PortletModeException { - if (!portletWindowContext.getSupportedPortletModes().contains(portletMode)) + if (!portletWindow.isSupportedPortletMode(portletMode, contentType)) { throw new PortletModeException("Not supported", portletMode); } 1.11 +7 -8 nukes-2/portlet/src/main/org/jboss/nukes/portlet/impl/RenderResponseImpl.java Index: RenderResponseImpl.java =================================================================== RCS file: /cvsroot/jboss/nukes-2/portlet/src/main/org/jboss/nukes/portlet/impl/RenderResponseImpl.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- RenderResponseImpl.java 21 Nov 2004 14:40:37 -0000 1.10 +++ RenderResponseImpl.java 3 Dec 2004 13:17:56 -0000 1.11 @@ -25,7 +25,7 @@ /** * @author <a href="mailto:ju...@jb...">Julien Viet</a> - * @version $Revision: 1.10 $ + * @version $Revision: 1.11 $ */ public class RenderResponseImpl extends PortletResponseImpl implements RenderResponse { @@ -62,14 +62,13 @@ return result.getContentType(); } - public void setContentType(String contentType) + public void setContentType(String type) { - // julien : to do - if (!"text/html".equals(contentType)) + if (!resp.getContentType().equals(type)) { - throw new IllegalArgumentException("content type not accepted"); + throw new IllegalArgumentException("Content type not accepted"); } - result.setContentType(contentType); + result.setContentType(type); } public PrintWriter getWriter() throws IOException @@ -84,12 +83,12 @@ public PortletURL createRenderURL() { - return PortletUtils.createPortletRenderURL(req, resp, portletWindowContext); + return PortletUtils.createPortletRenderURL(req, resp, portletWindowContext, portletWindow); } public PortletURL createActionURL() { - return PortletUtils.createPortletActionURL(req, resp, portletWindowContext); + return PortletUtils.createPortletActionURL(req, resp, portletWindowContext, portletWindow); } public String getNamespace() |