JBoss Portal SVN: r9879 - in modules/portlet/trunk/test/src/test/resources/simple-portal-war/layouts: nav and 1 other directory.
by portal-commits@lists.jboss.org
Author: chris.laprun(a)jboss.com
Date: 2008-02-08 19:11:22 -0500 (Fri, 08 Feb 2008)
New Revision: 9879
Modified:
modules/portlet/trunk/test/src/test/resources/simple-portal-war/layouts/default.jsp
modules/portlet/trunk/test/src/test/resources/simple-portal-war/layouts/nav/main.jsp
Log:
- Minor fixes.
Modified: modules/portlet/trunk/test/src/test/resources/simple-portal-war/layouts/default.jsp
===================================================================
--- modules/portlet/trunk/test/src/test/resources/simple-portal-war/layouts/default.jsp 2008-02-08 23:45:46 UTC (rev 9878)
+++ modules/portlet/trunk/test/src/test/resources/simple-portal-war/layouts/default.jsp 2008-02-09 00:11:22 UTC (rev 9879)
@@ -5,41 +5,37 @@
<%@ page isELIgnored="false" %>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
-<title>Portlet Container 2.0</title>
-<link rel="stylesheet" href="/simple/css/master.css" type="text/css"/>
+ <title>Portlet Container 2.0</title>
+ <link rel="stylesheet" href="/simple/css/master.css" type="text/css"/>
</head>
<body>
<div id="container" class="full-width">
<div class="header full-width">
<div class="float-left three-quarter-width logo"></div>
- <div class="float-right quarter-width pc20">
- <img src="../images/pc20.gif" alt=""/>
- </div>
+ <div class="float-right quarter-width pc20"><img src="/simple/images/pc20.gif" alt="Portlet Container 2.0"/></div>
<br class="clear"/>
</div>
<%@ include file="nav/main.jsp" %>
-
+
<div id="content">
<portal:page>
-
<portal:pageparam namespaceURI="urn:jboss:portal:simple:google" localName="zipcode" value="80201"/>
-
- <jbp:layout1>
- <jsp:attribute name="leftcol">
- <jbp:portlet name="RemoteControl" applicationName="remotecontrol-portlet" />
- <jbp:portlet name="Foo" applicationName="bar" />
- <jbp:portlet name="ErrorPortlet" applicationName="samples-basic" />
- </jsp:attribute>
- <jsp:attribute name="rightcol">
- <jbp:portlet name="GoogleMap" applicationName="google-map-portlet" />
- <jbp:portlet name="GoogleWeather" applicationName="google-weather-portlet" />
- </jsp:attribute>
- </jbp:layout1>
+ <jbp:layout1>
+ <jsp:attribute name="leftcol">
+ <jbp:portlet name="RemoteControl" applicationName="remotecontrol-portlet"/>
+ <jbp:portlet name="Foo" applicationName="bar"/>
+ <jbp:portlet name="ErrorPortlet" applicationName="samples-basic"/>
+ </jsp:attribute>
+ <jsp:attribute name="rightcol">
+ <jbp:portlet name="GoogleMap" applicationName="google-map-portlet"/>
+ <jbp:portlet name="GoogleWeather" applicationName="google-weather-portlet"/>
+ </jsp:attribute>
+ </jbp:layout1>
</portal:page>
</div>
<br class="clear"/>
Modified: modules/portlet/trunk/test/src/test/resources/simple-portal-war/layouts/nav/main.jsp
===================================================================
--- modules/portlet/trunk/test/src/test/resources/simple-portal-war/layouts/nav/main.jsp 2008-02-08 23:45:46 UTC (rev 9878)
+++ modules/portlet/trunk/test/src/test/resources/simple-portal-war/layouts/nav/main.jsp 2008-02-09 00:11:22 UTC (rev 9879)
@@ -5,20 +5,20 @@
<%@ page isELIgnored="false" %>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <div class="nav full-width">
- <ul>
- <li>
- <a href="${pageContext.request.contextPath}/layouts/default.jsp?page=home" class="selected">Home</a>
- </li>
- <li>
- <a href="${pageContext.request.contextPath}/layouts/default.jsp?page=wikipedia}">Wikipedia</a>
- </li>
- <li>
- <a href="">option3</a>
- </li>
- </ul>
- <br class="clear"/>
- </div>
+<div class="nav full-width">
+ <ul>
+ <li>
+ <a href="${pageContext.request.contextPath}/layouts/default.jsp?page=home" class="selected">Home</a>
+ </li>
+ <li>
+ <a href="${pageContext.request.contextPath}/layouts/default.jsp?page=wikipedia">Wikipedia</a>
+ </li>
+ <li>
+ <a href="">option3</a>
+ </li>
+ </ul>
+ <br class="clear"/>
+</div>
16 years, 5 months
JBoss Portal SVN: r9878 - in modules/portlet/trunk/test/src: test/resources/simple-portal-war/WEB-INF/jsp and 1 other directories.
by portal-commits@lists.jboss.org
Author: chris.laprun(a)jboss.com
Date: 2008-02-08 18:45:46 -0500 (Fri, 08 Feb 2008)
New Revision: 9878
Modified:
modules/portlet/trunk/test/src/main/java/org/jboss/portal/simple/samples/RemoteControlResourcePortlet.java
modules/portlet/trunk/test/src/test/resources/simple-portal-war/WEB-INF/jsp/error.jsp
modules/portlet/trunk/test/src/test/resources/simple-portal-war/WEB-INF/tags/portal/portlet.tag
Log:
- Minor improvements.
Modified: modules/portlet/trunk/test/src/main/java/org/jboss/portal/simple/samples/RemoteControlResourcePortlet.java
===================================================================
--- modules/portlet/trunk/test/src/main/java/org/jboss/portal/simple/samples/RemoteControlResourcePortlet.java 2008-02-08 23:32:02 UTC (rev 9877)
+++ modules/portlet/trunk/test/src/main/java/org/jboss/portal/simple/samples/RemoteControlResourcePortlet.java 2008-02-08 23:45:46 UTC (rev 9878)
@@ -45,20 +45,20 @@
writer.print("<script type='text/javascript'>function openLinkInParent(url){window.open(url,'jbp_parent');}</script>");
PortletURL url = resourceResponse.createRenderURL();
url.setWindowState(WindowState.MINIMIZED);
- writer.print("<ul><li><a href='#' onclick=\"" + createParentURL(url) + "\">minimize</a></li>");
+ writer.print("<ul><li><a href='#' onclick=\"" + createParentURL(url) + "\">minimize parent portlet</a></li>");
url.setWindowState(WindowState.MAXIMIZED);
- writer.print("<li><a href='#' onclick=\"" + createParentURL(url) + "\">maximize</a></li>");
+ writer.print("<li><a href='#' onclick=\"" + createParentURL(url) + "\">maximize parent portlet</a></li>");
url.setWindowState(WindowState.NORMAL);
- writer.print("<li><a href='#' onclick=\"" + createParentURL(url) + "\">normal</a></li></ul>");
+ writer.print("<li><a href='#' onclick=\"" + createParentURL(url) + "\">make parent portlet normal</a></li></ul>");
writer.print("<p><b>'zipcode'</b> public render parameter value: " + resourceRequest.getParameter(ZIPCODE) + "<br/>");
- writer.print("<p>Set value of <b>'zipcode'</b> public render parameter to:");
+ writer.print("Set value of <b>'zipcode'</b> public render parameter to:</p>");
url.setParameter(ZIPCODE, "80201");
- writer.print("<li><a href='#' onclick=\"" + createParentURL(url) + "\">Denver</a>");
+ writer.print("<ul><li><a href='#' onclick=\"" + createParentURL(url) + "\">Denver</a>");
url.setParameter(ZIPCODE, "94102");
writer.print("<li><a href='#' onclick=\"" + createParentURL(url) + "\">San Francisco</a>");
url.setParameter(ZIPCODE, "20001");
writer.print("<li><a href='#' onclick=\"" + createParentURL(url) + "\">Washington, DC</a>");
- writer.print("</ul></p>");
+ writer.print("</ul>");
}
private String createParentURL(PortletURL url)
Modified: modules/portlet/trunk/test/src/test/resources/simple-portal-war/WEB-INF/jsp/error.jsp
===================================================================
--- modules/portlet/trunk/test/src/test/resources/simple-portal-war/WEB-INF/jsp/error.jsp 2008-02-08 23:32:02 UTC (rev 9877)
+++ modules/portlet/trunk/test/src/test/resources/simple-portal-war/WEB-INF/jsp/error.jsp 2008-02-08 23:45:46 UTC (rev 9878)
@@ -2,18 +2,20 @@
<div class="portlet">
<div class="portlet-frame">
- <div class="header full-width">
- <div class="header-layer full-width">
- <div class="title two-third-width float-left"><h2>Error</h2></div>
- <div class="controls third-width float-right">
+ <div class="header full-width">
+ <div class="header-layer full-width">
+ <div class="title two-third-width float-left">
+ <h2><%= request.getAttribute("org.jboss.portal.portlet.portal.error.portlet_name")%>
+ </h2>
+ </div>
</div>
</div>
+ <p style="font-weight: bold;">Portlet was not rendered</p>
+ <b>Error status:</b> <%= request.getAttribute("org.jboss.portal.portlet.portal.error.status")%><br/>
+ <b>Portlet name:</b> <%= request.getAttribute("org.jboss.portal.portlet.portal.error.portlet_name")%><br/>
+ <b>Portlet application
+ name:</b> <%= request.getAttribute("org.jboss.portal.portlet.portal.error.application_name")%><br/>
+ <b>Exception:</b> <%= request.getAttribute("org.jboss.portal.portlet.portal.error.exception")%><br/>
+ <b>Window id:</b> <%= request.getAttribute("org.jboss.portal.portlet.portal.error.window_id")%><br/>
</div>
-<%= request.getAttribute("org.jboss.portal.portlet.portal.error.status")%><br/>
-<%= request.getAttribute("org.jboss.portal.portlet.portal.error.portlet_name")%><br/>
-<%= request.getAttribute("org.jboss.portal.portlet.portal.error.application_name")%><br/>
-<%= request.getAttribute("org.jboss.portal.portlet.portal.error.cause")%><br/>
-<%= request.getAttribute("org.jboss.portal.portlet.portal.error.message")%><br/>
-<%= request.getAttribute("org.jboss.portal.portlet.portal.error.window_id")%><br/>
</div>
-</div>
Modified: modules/portlet/trunk/test/src/test/resources/simple-portal-war/WEB-INF/tags/portal/portlet.tag
===================================================================
--- modules/portlet/trunk/test/src/test/resources/simple-portal-war/WEB-INF/tags/portal/portlet.tag 2008-02-08 23:32:02 UTC (rev 9877)
+++ modules/portlet/trunk/test/src/test/resources/simple-portal-war/WEB-INF/tags/portal/portlet.tag 2008-02-08 23:45:46 UTC (rev 9878)
@@ -1,38 +1,36 @@
<%@ tag body-content="scriptless" %>
<%@ attribute name="name" rtexprvalue="true" required="true" %>
<%@ attribute name="applicationName" rtexprvalue="true" required="true" %>
-<%@ attribute name="content" fragment="true" required="false" %>
+<%@ attribute name="content" fragment="true" required="false" %>
<%@ taglib uri="/WEB-INF/portal.tld" prefix="portal" %>
-<portal:portlet
- name="${name}"
- applicationName="${applicationName}"
- errorPage="/WEB-INF/jsp/error.jsp">
-<div class="portlet">
- <div class="portlet-frame">
- <div class="header full-width">
- <div class="header-layer full-width">
- <div class="title two-third-width float-left"><h2><portal:portlettitle/></h2></div>
- <div class="controls third-width float-right">
- <span class="mode-button">
- <a href="<portal:portleturl windowState='maximized'/>"><img src="${pageContext.request.contextPath}/images/icon-maximize.gif" alt=""/></a>
- </span>
- <span class="mode-button">
- <a href="<portal:portleturl windowState='normal'/>"><img src="${pageContext.request.contextPath}/images/icon-normal.gif" alt=""/></a>
- </span>
- <span class="mode-button">
- <a href="<portal:portleturl windowState='minimized'/>"><img src="${pageContext.request.contextPath}/images/icon-minimize.gif" alt=""/></a>
- </span>
- <span class="mode-button">
- <a title="Edit" href="<portal:portleturl mode='edit'/>">Edit</a>
- </span>
+<portal:portlet name="${name}" applicationName="${applicationName}" errorPage="/WEB-INF/jsp/error.jsp">
+ <div class="portlet">
+ <div class="portlet-frame">
+ <div class="header full-width">
+ <div class="header-layer full-width">
+ <div class="title two-third-width float-left"><h2><portal:portlettitle/></h2></div>
+ <div class="controls third-width float-right">
+ <span class="mode-button">
+ <a href="<portal:portleturl windowState='maximized'/>"><img
+ src="${pageContext.request.contextPath}/images/icon-maximize.gif" alt=""/></a>
+ </span>
+ <span class="mode-button">
+ <a href="<portal:portleturl windowState='normal'/>"><img
+ src="${pageContext.request.contextPath}/images/icon-normal.gif" alt=""/></a>
+ </span>
+ <span class="mode-button">
+ <a href="<portal:portleturl windowState='minimized'/>"><img
+ src="${pageContext.request.contextPath}/images/icon-minimize.gif" alt=""/></a>
+ </span>
+ <span class="mode-button">
+ <a title="Edit" href="<portal:portleturl mode='edit'/>">Edit</a>
+ </span>
+ </div>
+ </div>
</div>
+ <portal:portletmarkup/>
+ <jsp:doBody/>
</div>
</div>
- <portal:portletmarkup/>
-
- <jsp:doBody/>
-
-</div>
-</div>
</portal:portlet>
16 years, 5 months
JBoss Portal SVN: r9877 - in modules/portlet/trunk/test/src: main/java/org/jboss/portal/portlet/test/jsp/taglib and 2 other directories.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2008-02-08 18:32:02 -0500 (Fri, 08 Feb 2008)
New Revision: 9877
Added:
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PageParamTag.java
Modified:
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/PortalResponse.java
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PageTag.java
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortletTag.java
modules/portlet/trunk/test/src/test/resources/simple-portal-war/WEB-INF/portal.tld
modules/portlet/trunk/test/src/test/resources/simple-portal-war/layouts/default.jsp
Log:
add page param that allow to set public render param on page before rendering has occured
Modified: modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/PortalResponse.java
===================================================================
--- modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/PortalResponse.java 2008-02-08 22:18:30 UTC (rev 9876)
+++ modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/PortalResponse.java 2008-02-08 23:32:02 UTC (rev 9877)
@@ -22,16 +22,28 @@
******************************************************************************/
package org.jboss.portal.portlet.test.jsp;
-import org.jboss.portal.portlet.test.jsp.PagePortletControllerContext;
+import org.jboss.portal.portlet.test.controller.TestInstanceContext;
+import org.jboss.portal.portlet.test.controller.TestPortalContext;
import org.jboss.portal.portlet.controller.state.PageNavigationalState;
import org.jboss.portal.portlet.controller.state.WindowNavigationalState;
+import org.jboss.portal.portlet.invocation.response.PortletInvocationResponse;
+import org.jboss.portal.portlet.invocation.RenderInvocation;
+import org.jboss.portal.portlet.PortletInvokerException;
+import org.jboss.portal.portlet.Portlet;
+import org.jboss.portal.portlet.StateString;
+import org.jboss.portal.portlet.impl.spi.AbstractClientContext;
+import org.jboss.portal.portlet.impl.spi.AbstractServerContext;
+import org.jboss.portal.portlet.impl.spi.AbstractUserContext;
+import org.jboss.portal.portlet.impl.spi.AbstractWindowContext;
+import org.jboss.portal.portlet.impl.spi.AbstractSecurityContext;
+import org.jboss.portal.portlet.spi.PortletInvocationContext;
import org.jboss.portal.WindowState;
+import org.jboss.portal.Mode;
+import org.jboss.portal.common.util.ParameterMap;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServletResponseWrapper;
-import javax.servlet.ServletOutputStream;
-import java.io.IOException;
-import java.io.PrintWriter;
+import javax.xml.namespace.QName;
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
@@ -41,17 +53,17 @@
{
/** . */
-// private final ResponseBuffer buffer = new ResponseBuffer();
-
- /** . */
private final PagePortletControllerContext portletControllerContext;
/** . */
- private final PageNavigationalState pageState;
+ private PageNavigationalState pageState;
/** . */
private int count = 0;
+ /** Wether or not the page state can be modified. */
+ private boolean pageStateModifiable;
+
public PortalResponse(
HttpServletResponse response,
PagePortletControllerContext portletControllerContext,
@@ -62,6 +74,7 @@
//
this.portletControllerContext = portletControllerContext;
this.pageState = pageState;
+ this.pageStateModifiable = true;
}
/**
@@ -74,46 +87,108 @@
return pageState;
}
- public String getMaximizedWindowId()
+ public PortletInvocationResponse render(Portlet portlet, String windowId) throws PortletInvokerException
{
+ WindowNavigationalState windowNS = null;
if (pageState != null)
{
- for (String windowId : pageState.getWindowIds())
+ windowNS = pageState.getWindowNavigationalState(windowId);
+ }
+
+ //
+ ParameterMap publicNS = null;
+ if (pageState != null)
+ {
+ publicNS = pageState.getPublicNavigationalState(windowId);
+ }
+
+ //
+ Mode mode = Mode.VIEW;
+ WindowState windowState = WindowState.NORMAL;
+ StateString portletNS = null;
+
+ //
+ if (windowNS != null)
+ {
+ if (windowNS.getMode() != null)
{
- WindowNavigationalState windowNS = pageState.getWindowNavigationalState(windowId);
- if (WindowState.MAXIMIZED.equals(windowNS.getWindowState()))
- {
- return windowId;
- }
+ mode = windowNS.getMode();
}
+ if (windowNS.getWindowState() != null)
+ {
+ windowState = windowNS.getWindowState();
+ }
+ if (windowNS.getPortletNavigationalState() != null)
+ {
+ portletNS = windowNS.getPortletNavigationalState();
+ }
}
//
- return null;
+ PortletInvocationContext renderContext = portletControllerContext.createPortletInvocationContext(windowId, pageState);
+ RenderInvocation render = new RenderInvocation(renderContext);
+ render.setClientContext(new AbstractClientContext(portletControllerContext.getClientRequest()));
+ render.setServerContext(new AbstractServerContext(portletControllerContext.getClientRequest(), portletControllerContext.getClientResponse()));
+ render.setInstanceContext(new TestInstanceContext(portletControllerContext.getClientRequest(), portlet.getContext(), false));
+ render.setUserContext(new AbstractUserContext(portletControllerContext.getClientRequest()));
+ render.setWindowContext(new AbstractWindowContext(windowId));
+ render.setPortalContext(new TestPortalContext());
+ render.setSecurityContext(new AbstractSecurityContext(portletControllerContext.getClientRequest()));
+ render.setTarget(portlet.getContext());
+ render.setMode(mode);
+ render.setWindowState(windowState);
+ render.setNavigationalState(portletNS);
+ render.setPublicNavigationalState(publicNS);
+
+ //
+ pageStateModifiable = false;
+
+ //
+ return portletControllerContext.invoke(render);
}
- public boolean isRenderable(String windowId)
+ public boolean isPageStateModifiable()
{
- if (windowId == null)
+ return pageStateModifiable;
+ }
+
+ public String getPageParameter(QName name)
+ {
+ return pageState != null ? pageState.getPublicNavigationalState(name)[0] : null;
+ }
+
+ public void setPageParameter(QName name, String value)
+ {
+ if (pageStateModifiable)
{
- throw new IllegalArgumentException();
+ if (pageState == null)
+ {
+ pageState = portletControllerContext.getStateControllerContext().createPageState(true);
+ }
+ pageState.setPublicNavigationalState(name, new String[]{value});
}
-
- //
- if (pageState == null)
+ else
{
- return false;
+ throw new IllegalStateException("Page state cannot be modified");
}
+ }
- //
- String maximizedWindowId = getMaximizedWindowId();
- if (maximizedWindowId != null)
+ public String getMaximizedWindowId()
+ {
+ if (pageState != null)
{
- return maximizedWindowId.equals(windowId);
+ for (String windowId : pageState.getWindowIds())
+ {
+ WindowNavigationalState windowNS = pageState.getWindowNavigationalState(windowId);
+ if (WindowState.MAXIMIZED.equals(windowNS.getWindowState()))
+ {
+ return windowId;
+ }
+ }
}
//
- return true;
+ return null;
}
public PagePortletControllerContext getPortletControllerContext()
@@ -121,38 +196,8 @@
return portletControllerContext;
}
-// public ResponseBuffer getBuffer()
-// {
-// return buffer;
-// }
-//
-// public ServletOutputStream getOutputStream() throws IOException
-// {
-// return buffer.getOutputStream();
-// }
-//
-// public PrintWriter getWriter() throws IOException
-// {
-// return buffer.getWriter();
-// }
-//
-// public void close()
-// {
-// buffer.close();
-// }
-
public String nextId()
{
return "" + count++;
}
-
-// public ServletOutputStream getOutputStream() throws IOException
-// {
-// return out.getOutputStream();
-// }
-//
-// public PrintWriter getWriter() throws IOException
-// {
-// return out.getWriter();
-// }
}
Added: modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PageParamTag.java
===================================================================
--- modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PageParamTag.java (rev 0)
+++ modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PageParamTag.java 2008-02-08 23:32:02 UTC (rev 9877)
@@ -0,0 +1,106 @@
+/******************************************************************************
+ * 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.test.jsp.taglib;
+
+import org.jboss.portal.portlet.test.jsp.PortalResponse;
+
+import javax.servlet.jsp.JspException;
+import javax.xml.namespace.QName;
+import java.io.IOException;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 630 $
+ */
+public class PageParamTag extends PortalSimpleTagSupport
+{
+
+ /** . */
+ private String namespaceURI;
+
+ /** . */
+ private String localName;
+
+ /** . */
+ private String value;
+
+ /** . */
+ private String frozen;
+
+ public String getNamespaceURI()
+ {
+ return namespaceURI;
+ }
+
+ public void setNamespaceURI(String namespaceURI)
+ {
+ this.namespaceURI = namespaceURI;
+ }
+
+ public String getLocalName()
+ {
+ return localName;
+ }
+
+ public void setLocalName(String localName)
+ {
+ this.localName = localName;
+ }
+
+ public String getValue()
+ {
+ return value;
+ }
+
+ public void setValue(String value)
+ {
+ this.value = value;
+ }
+
+ public String getFrozen()
+ {
+ return frozen;
+ }
+
+ public void setFrozen(String frozen)
+ {
+ this.frozen = frozen;
+ }
+
+ public void internalDoTag() throws JspException, IOException
+ {
+ PortalResponse response = getPortalResponse();
+
+ //
+ if (response.isPageStateModifiable())
+ {
+ QName name = new QName(namespaceURI, localName);
+
+ //
+ if (!"true".equals(frozen) || response.getPageParameter(name) == null)
+ {
+ response.setPageParameter(name, value);
+ }
+ }
+ }
+}
Modified: modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PageTag.java
===================================================================
--- modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PageTag.java 2008-02-08 22:18:30 UTC (rev 9876)
+++ modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PageTag.java 2008-02-08 23:32:02 UTC (rev 9877)
@@ -25,7 +25,9 @@
import org.jboss.portal.portlet.test.jsp.PortalResponse;
import javax.servlet.jsp.JspException;
+import javax.xml.namespace.QName;
import java.io.IOException;
+import java.util.Map;
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
@@ -39,10 +41,16 @@
INACTIVE, ACTIVE, SUSPENDED
}
+ /** . */
+ Map<QName, String> params;
+
+ /** . */
String maximizedId;
+ /** . */
String content;
+ /** . */
Status status = Status.INACTIVE;
public int doStartTag() throws JspException
Modified: modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortletTag.java
===================================================================
--- modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortletTag.java 2008-02-08 22:18:30 UTC (rev 9876)
+++ modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortletTag.java 2008-02-08 23:32:02 UTC (rev 9877)
@@ -24,28 +24,15 @@
import org.jboss.portal.portlet.test.jsp.PortalResponse;
import org.jboss.portal.portlet.test.jsp.PagePortletControllerContext;
-import org.jboss.portal.portlet.test.controller.TestInstanceContext;
-import org.jboss.portal.portlet.test.controller.TestPortalContext;
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.invocation.response.UnavailableResponse;
-import org.jboss.portal.portlet.invocation.RenderInvocation;
-import org.jboss.portal.portlet.controller.state.PageNavigationalState;
-import org.jboss.portal.portlet.controller.state.WindowNavigationalState;
-import org.jboss.portal.portlet.StateString;
import org.jboss.portal.portlet.PortletInvokerException;
import org.jboss.portal.portlet.Portlet;
-import org.jboss.portal.portlet.impl.spi.AbstractClientContext;
-import org.jboss.portal.portlet.impl.spi.AbstractServerContext;
-import org.jboss.portal.portlet.impl.spi.AbstractUserContext;
-import org.jboss.portal.portlet.impl.spi.AbstractWindowContext;
-import org.jboss.portal.portlet.impl.spi.AbstractSecurityContext;
-import org.jboss.portal.portlet.spi.PortletInvocationContext;
import org.jboss.portal.Mode;
import org.jboss.portal.WindowState;
import org.jboss.portal.common.util.Tools;
-import org.jboss.portal.common.util.ParameterMap;
import javax.servlet.jsp.JspException;
import javax.servlet.RequestDispatcher;
@@ -64,15 +51,6 @@
{
/** . */
- private static final int SKIPPED = 0;
-
- /** . */
- private static final int BUFFERED = 1;
-
- /** . */
- private static final int RENDERED = 2;
-
- /** . */
private static final Set<Mode> DEFAULT_MODES = Collections.unmodifiableSet(Tools.toSet(Mode.VIEW, Mode.EDIT, Mode.HELP));
/** . */
@@ -96,7 +74,6 @@
/** . */
private String errorPageAttr;
- private int status;
private Set<WindowState> supportedWindowStates;
private Set<Mode> supportedModes;
private Mode initialMode;
@@ -249,22 +226,15 @@
{
if (windowId.equals(pageTag.maximizedId))
{
- status = BUFFERED;
-
- //
return render(portlet, windowId, EVAL_BODY_BUFFERED);
}
else
{
- status = SKIPPED;
return SKIP_BODY;
}
}
else
{
- status = RENDERED;
-
- //
return render(portlet, windowId, EVAL_BODY_INCLUDE);
}
}
@@ -286,67 +256,9 @@
public int render(Portlet portlet, String windowId, int rt)
{
- PagePortletControllerContext context = response.getPortletControllerContext();
-
- //
- PageNavigationalState pageNS = response.getPageState();
-
- //
- WindowNavigationalState windowNS = null;
- if (pageNS != null)
- {
- windowNS = pageNS.getWindowNavigationalState(windowId);
- }
-
- //
- ParameterMap publicNS = null;
- if (pageNS != null)
- {
- publicNS = pageNS.getPublicNavigationalState(windowId);
- }
-
- //
- Mode mode = Mode.VIEW;
- WindowState windowState = WindowState.NORMAL;
- StateString portletNS = null;
-
- //
- if (windowNS != null)
- {
- if (windowNS.getMode() != null)
- {
- mode = windowNS.getMode();
- }
- if (windowNS.getWindowState() != null)
- {
- windowState = windowNS.getWindowState();
- }
- if (windowNS.getPortletNavigationalState() != null)
- {
- portletNS = windowNS.getPortletNavigationalState();
- }
- }
-
- //
- PortletInvocationContext renderContext = context.createPortletInvocationContext(windowId, pageNS);
- RenderInvocation render = new RenderInvocation(renderContext);
- render.setClientContext(new AbstractClientContext(context.getClientRequest()));
- render.setServerContext(new AbstractServerContext(context.getClientRequest(), context.getClientResponse()));
- render.setInstanceContext(new TestInstanceContext(context.getClientRequest(), portlet.getContext(), false));
- render.setUserContext(new AbstractUserContext(context.getClientRequest()));
- render.setWindowContext(new AbstractWindowContext(windowId));
- render.setPortalContext(new TestPortalContext());
- render.setSecurityContext(new AbstractSecurityContext(context.getClientRequest()));
- render.setTarget(portlet.getContext());
- render.setMode(mode);
- render.setWindowState(windowState);
- render.setNavigationalState(portletNS);
- render.setPublicNavigationalState(publicNS);
-
- //
try
{
- PortletInvocationResponse portletResponse = context.invoke(render);
+ PortletInvocationResponse portletResponse = response.render(portlet, windowId);
//
if (portletResponse instanceof FragmentResponse)
Modified: modules/portlet/trunk/test/src/test/resources/simple-portal-war/WEB-INF/portal.tld
===================================================================
--- modules/portlet/trunk/test/src/test/resources/simple-portal-war/WEB-INF/portal.tld 2008-02-08 22:18:30 UTC (rev 9876)
+++ modules/portlet/trunk/test/src/test/resources/simple-portal-war/WEB-INF/portal.tld 2008-02-08 23:32:02 UTC (rev 9877)
@@ -86,14 +86,45 @@
<body-content>empty</body-content>
<attribute>
<name>name</name>
+ <required>true</required>
<rtexprvalue>true</rtexprvalue>
<type>java.lang.String</type>
</attribute>
<attribute>
<name>value</name>
+ <required>true</required>
<rtexprvalue>true</rtexprvalue>
<type>java.lang.String</type>
</attribute>
</tag>
+ <tag>
+ <name>pageparam</name>
+ <tag-class>org.jboss.portal.portlet.test.jsp.taglib.PageParamTag</tag-class>
+ <body-content>empty</body-content>
+ <attribute>
+ <name>namespaceURI</name>
+ <required>true</required>
+ <rtexprvalue>true</rtexprvalue>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <name>localName</name>
+ <required>true</required>
+ <rtexprvalue>true</rtexprvalue>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <name>value</name>
+ <required>true</required>
+ <rtexprvalue>true</rtexprvalue>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <name>frozen</name>
+ <rtexprvalue>true</rtexprvalue>
+ <type>java.lang.String</type>
+ </attribute>
+ </tag>
+
</taglib>
Modified: modules/portlet/trunk/test/src/test/resources/simple-portal-war/layouts/default.jsp
===================================================================
--- modules/portlet/trunk/test/src/test/resources/simple-portal-war/layouts/default.jsp 2008-02-08 22:18:30 UTC (rev 9876)
+++ modules/portlet/trunk/test/src/test/resources/simple-portal-war/layouts/default.jsp 2008-02-08 23:32:02 UTC (rev 9877)
@@ -26,6 +26,9 @@
<div id="content">
<portal:page>
+
+ <portal:pageparam namespaceURI="urn:jboss:portal:simple:google" localName="zipcode" value="80201"/>
+
<jbp:layout1>
<jsp:attribute name="leftcol">
<jbp:portlet name="RemoteControl" applicationName="remotecontrol-portlet" />
16 years, 5 months
JBoss Portal SVN: r9876 - modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2008-02-08 17:18:30 -0500 (Fri, 08 Feb 2008)
New Revision: 9876
Modified:
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortletTag.java
Log:
just make sure we clean state on tag
Modified: modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortletTag.java
===================================================================
--- modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortletTag.java 2008-02-08 21:59:09 UTC (rev 9875)
+++ modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortletTag.java 2008-02-08 22:18:30 UTC (rev 9876)
@@ -166,7 +166,7 @@
this.errorPageAttr = errorPage;
}
- private void updateInternalState()
+ private void initState()
{
//
Set<Mode> supportedModes = new LinkedHashSet<Mode>();
@@ -213,9 +213,18 @@
this.response = getPortalResponse();
}
+ private void destroyState()
+ {
+ this.initialMode = null;
+ this.supportedModes = null;
+ this.supportedWindowStates = null;
+ this.pageTag = null;
+ this.response = null;
+ }
+
public int internalDoStartTag() throws JspException
{
- updateInternalState();
+ initState();
//
PagePortletControllerContext context = response.getPortletControllerContext();
@@ -268,24 +277,9 @@
pageTag.content = bodyContent.getString();
}
- result = null;
-
-/*
//
- switch (status)
- {
- case SKIPPED:
- break;
- case RENDERED:
- break;
- case BUFFERED:
- PageTag pageTag = (PageTag)findAncestorWithClass(this, PageTag.class);
- break;
- default:
- throw new AssertionError();
- }
+ destroyState();
-*/
//
return EVAL_PAGE;
}
16 years, 5 months
JBoss Portal SVN: r9875 - modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2008-02-08 16:59:09 -0500 (Fri, 08 Feb 2008)
New Revision: 9875
Modified:
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/Constants.java
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/JspWriterResponse.java
Log:
don't need to be exposed outside of the package
Modified: modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/Constants.java
===================================================================
--- modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/Constants.java 2008-02-08 21:53:06 UTC (rev 9874)
+++ modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/Constants.java 2008-02-08 21:59:09 UTC (rev 9875)
@@ -26,7 +26,7 @@
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision: 630 $
*/
-public final class Constants
+final class Constants
{
private Constants()
Modified: modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/JspWriterResponse.java
===================================================================
--- modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/JspWriterResponse.java 2008-02-08 21:53:06 UTC (rev 9874)
+++ modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/JspWriterResponse.java 2008-02-08 21:59:09 UTC (rev 9875)
@@ -34,7 +34,7 @@
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision: 630 $
*/
-public class JspWriterResponse extends HttpServletResponseWrapper
+class JspWriterResponse extends HttpServletResponseWrapper
{
/** . */
16 years, 5 months
JBoss Portal SVN: r9874 - in modules/portlet/trunk/test/src: main/java/org/jboss/portal/portlet/portal and 11 other directories.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2008-02-08 16:53:06 -0500 (Fri, 08 Feb 2008)
New Revision: 9874
Added:
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/portal/
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/portal/samples/
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/portal/samples/basic/
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/portal/samples/basic/ErrorPortlet.java
modules/portlet/trunk/test/src/test/resources/portal/
modules/portlet/trunk/test/src/test/resources/portal/samples/
modules/portlet/trunk/test/src/test/resources/portal/samples/basic-war/
modules/portlet/trunk/test/src/test/resources/portal/samples/basic-war/WEB-INF/
modules/portlet/trunk/test/src/test/resources/portal/samples/basic-war/WEB-INF/portlet.xml
modules/portlet/trunk/test/src/test/resources/portal/samples/basic-war/WEB-INF/web.xml
Modified:
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/Constants.java
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortletTag.java
modules/portlet/trunk/test/src/test/build.xml
modules/portlet/trunk/test/src/test/resources/simple-portal-war/WEB-INF/jsp/error.jsp
modules/portlet/trunk/test/src/test/resources/simple-portal-war/layouts/default.jsp
Log:
handle error return code in the jsp error
Added: 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 (rev 0)
+++ modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/portal/samples/basic/ErrorPortlet.java 2008-02-08 21:53:06 UTC (rev 9874)
@@ -0,0 +1,41 @@
+/******************************************************************************
+ * 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/taglib/Constants.java
===================================================================
--- modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/Constants.java 2008-02-08 20:30:51 UTC (rev 9873)
+++ modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/Constants.java 2008-02-08 21:53:06 UTC (rev 9874)
@@ -37,9 +37,12 @@
public static final String ERROR_STATUS = "org.jboss.portal.portlet.portal.error.status";
/** . */
- public static final String ERROR_EXCEPTION = "org.jboss.portal.portlet.portal.error.exception";
+ public static final String ERROR_CAUSE = "org.jboss.portal.portlet.portal.error.cause";
/** . */
+ public static final String ERROR_MESSAGE = "org.jboss.portal.portlet.portal.error.message";
+
+ /** . */
public static final String ERROR_PORTLET_NAME = "org.jboss.portal.portlet.portal.error.portlet_name";
/** . */
@@ -50,4 +53,13 @@
/** . */
public static final String NOT_FOUND = "not_found";
+
+ /** . */
+ public static final String PORTLET_ERROR = "portlet_error";
+
+ /** . */
+ public static final String INTERNAL_ERROR = "internal_error";
+
+ /** . */
+ public static final String UNAVAILABLE = "unavailable";
}
Modified: modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortletTag.java
===================================================================
--- modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortletTag.java 2008-02-08 20:30:51 UTC (rev 9873)
+++ modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortletTag.java 2008-02-08 21:53:06 UTC (rev 9874)
@@ -22,12 +22,14 @@
******************************************************************************/
package org.jboss.portal.portlet.test.jsp.taglib;
-import org.jboss.portal.portlet.test.jsp.taglib.PortletResult;
import org.jboss.portal.portlet.test.jsp.PortalResponse;
import org.jboss.portal.portlet.test.jsp.PagePortletControllerContext;
import org.jboss.portal.portlet.test.controller.TestInstanceContext;
import org.jboss.portal.portlet.test.controller.TestPortalContext;
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.invocation.response.UnavailableResponse;
import org.jboss.portal.portlet.invocation.RenderInvocation;
import org.jboss.portal.portlet.controller.state.PageNavigationalState;
import org.jboss.portal.portlet.controller.state.WindowNavigationalState;
@@ -49,7 +51,6 @@
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
-import javax.servlet.http.HttpServletRequest;
import java.util.LinkedHashSet;
import java.util.Set;
import java.util.Collections;
@@ -95,17 +96,12 @@
/** . */
private String errorPageAttr;
- /** . */
private int status;
-
- /** . */
private Set<WindowState> supportedWindowStates;
-
- /** . */
private Set<Mode> supportedModes;
-
- /** . */
private Mode initialMode;
+ private PageTag pageTag;
+ private PortalResponse response;
/** . */
PortletResult result;
@@ -213,18 +209,16 @@
this.initialMode = initialMode;
this.supportedModes = supportedModes;
this.supportedWindowStates = supportedWindowStates;
+ this.pageTag = (PageTag)findAncestorWithClass(this, PageTag.class);
+ this.response = getPortalResponse();
}
-// private void handleError
-
public int internalDoStartTag() throws JspException
{
updateInternalState();
//
- PortalResponse response = getPortalResponse();
PagePortletControllerContext context = response.getPortletControllerContext();
- PageTag pageTag = (PageTag)findAncestorWithClass(this, PageTag.class);
//
Portlet portlet = context.findPortlet(applicationNameAttr, nameAttr);
@@ -232,44 +226,8 @@
//
if (portlet == null)
{
- if (errorPageAttr != null)
- {
- RequestDispatcher rd = pageContext.getServletContext().getRequestDispatcher(errorPageAttr);
- if (rd != null)
- {
- ServletRequest request= pageContext.getRequest();
+ handleError(null, Constants.NOT_FOUND, null, null);
- //
- try
- {
- pageTag.status = PageTag.Status.SUSPENDED;
- request.setAttribute(Constants.ERROR_STATUS, Constants.NOT_FOUND);
- request.setAttribute(Constants.ERROR_APPLICATION_NAME, applicationNameAttr);
- request.setAttribute(Constants.ERROR_PORTLET_NAME, nameAttr);
-
- //
- rd.include(pageContext.getRequest(), new JspWriterResponse(response, pageContext.getOut()));
- }
- catch (ServletException e)
- {
- // Shall we do smth else ?
- e.printStackTrace();
- }
- catch (IOException e)
- {
- // Shall we do smth else ?
- e.printStackTrace();
- }
- finally
- {
- pageTag.status = PageTag.Status.ACTIVE;
- request.removeAttribute(Constants.ERROR_STATUS);
- request.removeAttribute(Constants.ERROR_APPLICATION_NAME);
- request.removeAttribute(Constants.ERROR_PORTLET_NAME);
- }
- }
- }
-
// We cannot show an absent portlet, no meta data
return SKIP_BODY;
}
@@ -282,39 +240,37 @@
{
if (windowId.equals(pageTag.maximizedId))
{
- result = render(response, portlet, windowId);
status = BUFFERED;
+
+ //
+ return render(portlet, windowId, EVAL_BODY_BUFFERED);
}
else
{
status = SKIPPED;
+ return SKIP_BODY;
}
}
else
{
- result = render(response, portlet, windowId);
status = RENDERED;
- }
- //
- switch (status)
- {
- case SKIPPED:
- return SKIP_BODY;
- case RENDERED:
- return EVAL_BODY_INCLUDE;
- case BUFFERED:
- return EVAL_BODY_BUFFERED;
- default:
- throw new AssertionError();
+ //
+ return render(portlet, windowId, EVAL_BODY_INCLUDE);
}
}
}
public int internalDoEndTag() throws JspException
{
+ if (bodyContent != null)
+ {
+ pageTag.content = bodyContent.getString();
+ }
+
result = null;
+/*
//
switch (status)
{
@@ -324,20 +280,17 @@
break;
case BUFFERED:
PageTag pageTag = (PageTag)findAncestorWithClass(this, PageTag.class);
- pageTag.content = bodyContent.getString();
break;
default:
throw new AssertionError();
}
+*/
//
return EVAL_PAGE;
}
- public PortletResult render(
- PortalResponse response,
- Portlet portlet,
- String windowId)
+ public int render(Portlet portlet, String windowId, int rt)
{
PagePortletControllerContext context = response.getPortletControllerContext();
@@ -397,28 +350,104 @@
render.setPublicNavigationalState(publicNS);
//
- PortletInvocationResponse portletResponse = null;
try
{
- portletResponse = context.invoke(render);
+ PortletInvocationResponse portletResponse = context.invoke(render);
+ //
+ if (portletResponse instanceof FragmentResponse)
+ {
+ result = new PortletResult(
+ nameAttr,
+ applicationNameAttr,
+ windowId,
+ portletResponse,
+ initialMode,
+ supportedModes,
+ supportedWindowStates);
+ //
+ return rt;
+ }
+ else if (portletResponse instanceof ErrorResponse)
+ {
+ ErrorResponse error = (ErrorResponse)portletResponse;
+
+ //
+ handleError(windowId, Constants.PORTLET_ERROR, error.getCause(), error.getMessage());
+
+ //
+ return SKIP_BODY;
+ }
+ else if (portletResponse instanceof UnavailableResponse)
+ {
+ handleError(windowId, Constants.UNAVAILABLE, null, null);
+
+ //
+ return SKIP_BODY;
+ }
+ else
+ {
+ handleError(windowId, Constants.INTERNAL_ERROR, null, null);
+
+ //
+ return SKIP_BODY;
+ }
}
catch (PortletInvokerException e)
{
- e.printStackTrace();
+ handleError(windowId, Constants.INTERNAL_ERROR, e, e.getMessage());
- // todo
+ //
+ return SKIP_BODY;
}
+ }
- //
- return new PortletResult(
- nameAttr,
- applicationNameAttr,
- windowId,
- portletResponse,
- initialMode,
- supportedModes,
- supportedWindowStates);
+ private void handleError(String windowId, String errorStatus, Throwable cause, String message)
+ {
+ if (errorPageAttr != null)
+ {
+ RequestDispatcher rd = pageContext.getServletContext().getRequestDispatcher(errorPageAttr);
+ if (rd != null)
+ {
+ ServletRequest request= pageContext.getRequest();
+
+ //
+ try
+ {
+ pageTag.status = PageTag.Status.SUSPENDED;
+ request.setAttribute(Constants.ERROR_STATUS, errorStatus);
+ request.setAttribute(Constants.ERROR_CAUSE, cause);
+ request.setAttribute(Constants.ERROR_MESSAGE, message);
+ request.setAttribute(Constants.ERROR_WINDOW_ID, windowId);
+ request.setAttribute(Constants.ERROR_APPLICATION_NAME, applicationNameAttr);
+ request.setAttribute(Constants.ERROR_PORTLET_NAME, nameAttr);
+
+ //
+ rd.include(pageContext.getRequest(), new JspWriterResponse(response, pageContext.getOut()));
+ }
+ catch (ServletException e)
+ {
+ // Shall we do smth else ?
+ e.printStackTrace();
+ }
+ catch (IOException e)
+ {
+ // Shall we do smth else ?
+ e.printStackTrace();
+ }
+ finally
+ {
+ pageTag.status = PageTag.Status.ACTIVE;
+ request.removeAttribute(Constants.ERROR_STATUS);
+ request.removeAttribute(Constants.ERROR_CAUSE);
+ request.removeAttribute(Constants.ERROR_MESSAGE);
+ request.removeAttribute(Constants.ERROR_WINDOW_ID);
+ request.removeAttribute(Constants.ERROR_APPLICATION_NAME);
+ request.removeAttribute(Constants.ERROR_PORTLET_NAME);
+ }
+ }
+ }
}
+
}
Modified: modules/portlet/trunk/test/src/test/build.xml
===================================================================
--- modules/portlet/trunk/test/src/test/build.xml 2008-02-08 20:30:51 UTC (rev 9873)
+++ modules/portlet/trunk/test/src/test/build.xml 2008-02-08 21:53:06 UTC (rev 9874)
@@ -762,12 +762,23 @@
<copy todir="${test.temp.dir}/remotecontrol-portlet-war">
<fileset dir="src/test/resources/remotecontrol-portlet-war"/>
- <fileset dir="${target}/classes"
- includes="org/jboss/portal/simple/samples/RemoteControlResourcePortlet.class"/>
+ <fileset dir="${target}/classes" includes="org/jboss/portal/simple/samples/RemoteControlResourcePortlet.class"/>
</copy>
<jar jarfile="${target}/remotecontrol-portlet.war">
<fileset dir="${test.temp.dir}/remotecontrol-portlet-war"/>
</jar>
+
+ <mkdir dir="${test.temp.dir}/portal"/>
+ <mkdir dir="${test.temp.dir}/portal/samples"/>
+ <copy todir="${test.temp.dir}/portal/samples-basic-war">
+ <fileset dir="src/test/resources/portal/samples/basic-war"/>
+ <fileset dir="${target}/classes" includes="org/jboss/portal/portlet/portal/samples/basic/**"/>
+ </copy>
+ <mkdir dir="${target}/portal"/>
+ <jar jarfile="${target}/portal/samples-basic.war">
+ <fileset dir="${test.temp.dir}/portal/samples-basic-war"/>
+ </jar>
+
</target>
</project>
\ No newline at end of file
Added: modules/portlet/trunk/test/src/test/resources/portal/samples/basic-war/WEB-INF/portlet.xml
===================================================================
--- modules/portlet/trunk/test/src/test/resources/portal/samples/basic-war/WEB-INF/portlet.xml (rev 0)
+++ modules/portlet/trunk/test/src/test/resources/portal/samples/basic-war/WEB-INF/portlet.xml 2008-02-08 21:53:06 UTC (rev 9874)
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ ~ JBoss, a division of Red Hat ~
+ ~ Copyright 2006, 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. ~
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
+
+<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"
+ version="1.0">
+
+ <portlet>
+ <portlet-name>ErrorPortlet</portlet-name>
+ <portlet-class>org.jboss.portal.portlet.portal.samples.basic.ErrorPortlet</portlet-class>
+ <supports>
+ <mime-type>text/html</mime-type>
+ </supports>
+ <portlet-info>
+ <title></title>
+ </portlet-info>
+ </portlet>
+
+</portlet-app>
Added: modules/portlet/trunk/test/src/test/resources/portal/samples/basic-war/WEB-INF/web.xml
===================================================================
--- modules/portlet/trunk/test/src/test/resources/portal/samples/basic-war/WEB-INF/web.xml (rev 0)
+++ modules/portlet/trunk/test/src/test/resources/portal/samples/basic-war/WEB-INF/web.xml 2008-02-08 21:53:06 UTC (rev 9874)
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ ~ JBoss, a division of Red Hat ~
+ ~ Copyright 2006, 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. ~
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
+
+<web-app version="2.4"
+ xmlns="http://java.sun.com/xml/ns/j2ee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
+</web-app>
Modified: modules/portlet/trunk/test/src/test/resources/simple-portal-war/WEB-INF/jsp/error.jsp
===================================================================
--- modules/portlet/trunk/test/src/test/resources/simple-portal-war/WEB-INF/jsp/error.jsp 2008-02-08 20:30:51 UTC (rev 9873)
+++ modules/portlet/trunk/test/src/test/resources/simple-portal-war/WEB-INF/jsp/error.jsp 2008-02-08 21:53:06 UTC (rev 9874)
@@ -1,7 +1,19 @@
<%@ page language="java" %>
-Portlet was not rendered<br/>
+
+<div class="portlet">
+ <div class="portlet-frame">
+ <div class="header full-width">
+ <div class="header-layer full-width">
+ <div class="title two-third-width float-left"><h2>Error</h2></div>
+ <div class="controls third-width float-right">
+ </div>
+ </div>
+ </div>
<%= request.getAttribute("org.jboss.portal.portlet.portal.error.status")%><br/>
<%= request.getAttribute("org.jboss.portal.portlet.portal.error.portlet_name")%><br/>
<%= request.getAttribute("org.jboss.portal.portlet.portal.error.application_name")%><br/>
-<%= request.getAttribute("org.jboss.portal.portlet.portal.error.exception")%><br/>
+<%= request.getAttribute("org.jboss.portal.portlet.portal.error.cause")%><br/>
+<%= request.getAttribute("org.jboss.portal.portlet.portal.error.message")%><br/>
<%= request.getAttribute("org.jboss.portal.portlet.portal.error.window_id")%><br/>
+</div>
+</div>
Modified: modules/portlet/trunk/test/src/test/resources/simple-portal-war/layouts/default.jsp
===================================================================
--- modules/portlet/trunk/test/src/test/resources/simple-portal-war/layouts/default.jsp 2008-02-08 20:30:51 UTC (rev 9873)
+++ modules/portlet/trunk/test/src/test/resources/simple-portal-war/layouts/default.jsp 2008-02-08 21:53:06 UTC (rev 9874)
@@ -30,6 +30,7 @@
<jsp:attribute name="leftcol">
<jbp:portlet name="RemoteControl" applicationName="remotecontrol-portlet" />
<jbp:portlet name="Foo" applicationName="bar" />
+ <jbp:portlet name="ErrorPortlet" applicationName="samples-basic" />
</jsp:attribute>
<jsp:attribute name="rightcol">
<jbp:portlet name="GoogleMap" applicationName="google-map-portlet" />
16 years, 5 months
JBoss Portal SVN: r9873 - modules/portlet/trunk/test/src/main/java/org/jboss/portal/simple/samples.
by portal-commits@lists.jboss.org
Author: chris.laprun(a)jboss.com
Date: 2008-02-08 15:30:51 -0500 (Fri, 08 Feb 2008)
New Revision: 9873
Modified:
modules/portlet/trunk/test/src/main/java/org/jboss/portal/simple/samples/GoogleClippingPortlet.java
modules/portlet/trunk/test/src/main/java/org/jboss/portal/simple/samples/GoogleWeatherClippingPortlet.java
Log:
- Removed change location link (handled by edit mode).
- Improved processing of HTML.
Modified: modules/portlet/trunk/test/src/main/java/org/jboss/portal/simple/samples/GoogleClippingPortlet.java
===================================================================
--- modules/portlet/trunk/test/src/main/java/org/jboss/portal/simple/samples/GoogleClippingPortlet.java 2008-02-08 18:30:24 UTC (rev 9872)
+++ modules/portlet/trunk/test/src/main/java/org/jboss/portal/simple/samples/GoogleClippingPortlet.java 2008-02-08 20:30:51 UTC (rev 9873)
@@ -29,7 +29,6 @@
import javax.portlet.PortletException;
import javax.portlet.PortletMode;
import javax.portlet.PortletPreferences;
-import javax.portlet.PortletURL;
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;
import java.io.BufferedInputStream;
@@ -85,10 +84,6 @@
renderResponse.setContentType("text/html");
PrintWriter printWriter = renderResponse.getWriter();
printWriter.print(html);
-
- PortletURL edit = renderResponse.createRenderURL();
- edit.setPortletMode(PortletMode.EDIT);
- printWriter.print("<p><a href='" + edit + "'>Change location</a></p>");
}
}
@@ -141,19 +136,17 @@
protected String postProcessHTML(String html)
{
- String tmp = new String(html);
-
// links should open in new windows
- tmp = tmp.replaceAll(A, A_TARGET_BLANK);
+ html = html.replaceAll(A, A_TARGET_BLANK);
// src attributes should be absolute
- tmp = tmp.replaceAll("src=/", "src=http://google.com/");
- tmp = tmp.replaceAll("src=\"/", "src=\"http://google.com/");
+ html = html.replaceAll("src=/", "src=http://google.com/");
+ html = html.replaceAll("src=\"/", "src=\"http://google.com/");
// forms should open in new windows and have an absolute action URL
- tmp = tmp.replaceAll("action=\"/", "target='_blank' action=\"http://google.com/");
+ html = html.replaceAll("action=\"/", "target='_blank' action=\"http://google.com/");
- return tmp;
+ return html;
}
protected String getQueryString(String zip)
Modified: modules/portlet/trunk/test/src/main/java/org/jboss/portal/simple/samples/GoogleWeatherClippingPortlet.java
===================================================================
--- modules/portlet/trunk/test/src/main/java/org/jboss/portal/simple/samples/GoogleWeatherClippingPortlet.java 2008-02-08 18:30:24 UTC (rev 9872)
+++ modules/portlet/trunk/test/src/main/java/org/jboss/portal/simple/samples/GoogleWeatherClippingPortlet.java 2008-02-08 20:30:51 UTC (rev 9873)
@@ -42,16 +42,14 @@
int begIndex;
int endIndex;
- String tmp = new String(html);
-
// remove add to iGoogle link
begIndex = html.indexOf(A);
if (begIndex != -1)
{
endIndex = html.indexOf(A_END, begIndex);
- tmp = tmp.substring(0, begIndex) + html.substring(endIndex + A_END.length());
+ html = html.substring(0, begIndex) + html.substring(endIndex + A_END.length());
}
- return super.postProcessHTML(tmp);
+ return super.postProcessHTML(html);
}
}
16 years, 5 months
JBoss Portal SVN: r9872 - in modules/portlet/trunk/test/src: test/resources/simple-portal-war/WEB-INF and 3 other directories.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2008-02-08 13:30:24 -0500 (Fri, 08 Feb 2008)
New Revision: 9872
Added:
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/Constants.java
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/JspWriterResponse.java
modules/portlet/trunk/test/src/test/resources/simple-portal-war/WEB-INF/jsp/
modules/portlet/trunk/test/src/test/resources/simple-portal-war/WEB-INF/jsp/error.jsp
Modified:
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PageTag.java
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/ParamTag.java
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortalBodyTagSupport.java
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortalSimpleTagSupport.java
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortletMarkupTag.java
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortletTag.java
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortletTitleTag.java
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortletURLTag.java
modules/portlet/trunk/test/src/test/resources/simple-portal-war/WEB-INF/portal.tld
modules/portlet/trunk/test/src/test/resources/simple-portal-war/WEB-INF/tags/portal/portlet.tag
modules/portlet/trunk/test/src/test/resources/simple-portal-war/layouts/default.jsp
Log:
start to handle errors (for now portlet not found)
Added: modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/Constants.java
===================================================================
--- modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/Constants.java (rev 0)
+++ modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/Constants.java 2008-02-08 18:30:24 UTC (rev 9872)
@@ -0,0 +1,53 @@
+/******************************************************************************
+ * 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.test.jsp.taglib;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 630 $
+ */
+public final class Constants
+{
+
+ private Constants()
+ {
+ }
+
+ /** . */
+ public static final String ERROR_STATUS = "org.jboss.portal.portlet.portal.error.status";
+
+ /** . */
+ public static final String ERROR_EXCEPTION = "org.jboss.portal.portlet.portal.error.exception";
+
+ /** . */
+ public static final String ERROR_PORTLET_NAME = "org.jboss.portal.portlet.portal.error.portlet_name";
+
+ /** . */
+ public static final String ERROR_APPLICATION_NAME = "org.jboss.portal.portlet.portal.error.application_name";
+
+ /** . */
+ public static final String ERROR_WINDOW_ID = "org.jboss.portal.portlet.portal.error.window_id";
+
+ /** . */
+ public static final String NOT_FOUND = "not_found";
+}
Added: modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/JspWriterResponse.java
===================================================================
--- modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/JspWriterResponse.java (rev 0)
+++ modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/JspWriterResponse.java 2008-02-08 18:30:24 UTC (rev 9872)
@@ -0,0 +1,75 @@
+/******************************************************************************
+ * 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.test.jsp.taglib;
+
+import org.jboss.portal.portlet.test.jsp.PortalResponse;
+
+import javax.servlet.http.HttpServletResponseWrapper;
+import javax.servlet.jsp.JspWriter;
+import javax.servlet.ServletOutputStream;
+import java.io.PrintWriter;
+import java.io.IOException;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 630 $
+ */
+public class JspWriterResponse extends HttpServletResponseWrapper
+{
+
+ /** . */
+ private final JspWriter delegate;
+
+ /** . */
+ private final PrintWriter writer;
+
+ public JspWriterResponse(PortalResponse portalResponse, JspWriter delegate)
+ {
+ super(portalResponse);
+
+ //
+ this.delegate = delegate;
+ this.writer = new PrintWriter(delegate);
+ }
+
+ public PrintWriter getWriter() throws IOException
+ {
+ return writer;
+ }
+
+ public ServletOutputStream getOutputStream() throws IOException
+ {
+ throw new IllegalArgumentException();
+ }
+
+ public void resetBuffer()
+ {
+ try
+ {
+ delegate.clearBuffer();
+ }
+ catch (IOException ignore)
+ {
+ }
+ }
+}
Modified: modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PageTag.java
===================================================================
--- modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PageTag.java 2008-02-08 11:57:11 UTC (rev 9871)
+++ modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PageTag.java 2008-02-08 18:30:24 UTC (rev 9872)
@@ -34,30 +34,58 @@
public class PageTag extends PortalBodyTagSupport
{
+ enum Status
+ {
+ INACTIVE, ACTIVE, SUSPENDED
+ }
+
String maximizedId;
String content;
+ Status status = Status.INACTIVE;
+
public int doStartTag() throws JspException
{
- PortalResponse response = getPortalResponse();
+ if (status == Status.INACTIVE)
+ {
+ PortalResponse response = getPortalResponse();
- //
- maximizedId = response.getMaximizedWindowId();
+ //
+ status = Status.ACTIVE;
- //
- if (maximizedId != null)
- {
- return EVAL_BODY_BUFFERED;
+ //
+ maximizedId = response.getMaximizedWindowId();
+
+ //
+ if (maximizedId != null)
+ {
+ return EVAL_BODY_BUFFERED;
+ }
+ else
+ {
+ return EVAL_BODY_INCLUDE;
+ }
}
else
{
- return EVAL_BODY_INCLUDE;
+ return SKIP_BODY;
}
}
public int doEndTag() throws JspException
{
+ switch (status)
+ {
+ case SUSPENDED:
+ break;
+ case INACTIVE:
+ break;
+ case ACTIVE:
+ status = Status.INACTIVE;
+ }
+
+ //
if (maximizedId != null)
{
try
@@ -70,6 +98,7 @@
}
}
+ //
return EVAL_PAGE;
}
}
Modified: modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/ParamTag.java
===================================================================
--- modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/ParamTag.java 2008-02-08 11:57:11 UTC (rev 9871)
+++ modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/ParamTag.java 2008-02-08 18:30:24 UTC (rev 9872)
@@ -30,7 +30,7 @@
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision: 630 $
*/
-public class ParamTag extends SimpleTagSupport
+public class ParamTag extends PortalSimpleTagSupport
{
/** . */
@@ -59,7 +59,7 @@
this.value = value;
}
- public void doTag() throws JspException, IOException
+ public void internalDoTag() throws JspException, IOException
{
AbstractURLTag urlTag = (AbstractURLTag)SimpleTagSupport.findAncestorWithClass(this, AbstractURLTag.class);
urlTag.setParam(name, value);
Modified: modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortalBodyTagSupport.java
===================================================================
--- modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortalBodyTagSupport.java 2008-02-08 11:57:11 UTC (rev 9871)
+++ modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortalBodyTagSupport.java 2008-02-08 18:30:24 UTC (rev 9872)
@@ -25,6 +25,7 @@
import org.jboss.portal.portlet.test.jsp.PortalResponse;
import javax.servlet.jsp.tagext.BodyTagSupport;
+import javax.servlet.jsp.JspException;
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
@@ -36,4 +37,44 @@
{
return (PortalResponse)pageContext.getResponse();
}
+
+ public int doStartTag() throws JspException
+ {
+ PageTag pageTag = (PageTag)findAncestorWithClass(this, PageTag.class);
+
+ //
+ if (pageTag == null || pageTag.status != PageTag.Status.ACTIVE)
+ {
+ return SKIP_BODY;
+ }
+ else
+ {
+ return internalDoStartTag();
+ }
+ }
+
+ public int doEndTag() throws JspException
+ {
+ PageTag pageTag = (PageTag)findAncestorWithClass(this, PageTag.class);
+
+ //
+ if (pageTag != null && pageTag.status == PageTag.Status.ACTIVE)
+ {
+ return internalDoEndTag();
+ }
+ else
+ {
+ return EVAL_PAGE;
+ }
+ }
+
+ public int internalDoStartTag() throws JspException
+ {
+ return super.doStartTag();
+ }
+
+ public int internalDoEndTag() throws JspException
+ {
+ return super.doEndTag();
+ }
}
Modified: modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortalSimpleTagSupport.java
===================================================================
--- modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortalSimpleTagSupport.java 2008-02-08 11:57:11 UTC (rev 9871)
+++ modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortalSimpleTagSupport.java 2008-02-08 18:30:24 UTC (rev 9872)
@@ -26,6 +26,8 @@
import javax.servlet.jsp.tagext.SimpleTagSupport;
import javax.servlet.jsp.PageContext;
+import javax.servlet.jsp.JspException;
+import java.io.IOException;
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
@@ -38,4 +40,20 @@
PageContext pageContext = (PageContext)getJspContext();
return (PortalResponse)pageContext.getResponse();
}
+
+ public void doTag() throws JspException, IOException
+ {
+ PageTag pageTag = (PageTag)findAncestorWithClass(this, PageTag.class);
+
+ //
+ if (pageTag != null && pageTag.status == PageTag.Status.ACTIVE)
+ {
+ internalDoTag();
+ }
+ }
+
+ public void internalDoTag() throws JspException, IOException
+ {
+ super.doTag();
+ }
}
Modified: modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortletMarkupTag.java
===================================================================
--- modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortletMarkupTag.java 2008-02-08 11:57:11 UTC (rev 9871)
+++ modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortletMarkupTag.java 2008-02-08 18:30:24 UTC (rev 9872)
@@ -39,9 +39,8 @@
*/
public class PortletMarkupTag extends PortalSimpleTagSupport
{
- public void doTag() throws JspException, IOException
+ public void internalDoTag() throws JspException, IOException
{
-
PortalResponse resp = getPortalResponse();
PortletTag portletTag = (PortletTag)SimpleTagSupport.findAncestorWithClass(this, PortletTag.class);
Modified: modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortletTag.java
===================================================================
--- modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortletTag.java 2008-02-08 11:57:11 UTC (rev 9871)
+++ modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortletTag.java 2008-02-08 18:30:24 UTC (rev 9872)
@@ -46,6 +46,10 @@
import org.jboss.portal.common.util.ParameterMap;
import javax.servlet.jsp.JspException;
+import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.http.HttpServletRequest;
import java.util.LinkedHashSet;
import java.util.Set;
import java.util.Collections;
@@ -74,125 +78,241 @@
private static final Set<WindowState> DEFAULT_WINDOW_STATES = Collections.unmodifiableSet(Tools.toSet(WindowState.NORMAL, WindowState.MAXIMIZED, WindowState.MINIMIZED));
/** . */
- private String name;
+ private String nameAttr;
/** . */
- private String applicationName;
+ private String applicationNameAttr;
/** . */
- private String supportedWindowStateValues;
+ private String supportedWindowStatesAttr;
/** . */
- private String supportedModeValues;
+ private String supportedModesAttr;
/** . */
- private String initialModeValue;
+ private String initialModeAttr;
/** . */
+ private String errorPageAttr;
+
+ /** . */
private int status;
/** . */
+ private Set<WindowState> supportedWindowStates;
+
+ /** . */
+ private Set<Mode> supportedModes;
+
+ /** . */
+ private Mode initialMode;
+
+ /** . */
PortletResult result;
public String getName()
{
- return name;
+ return nameAttr;
}
public void setName(String name)
{
- this.name = name;
+ this.nameAttr = name;
}
public String getApplicationName()
{
- return applicationName;
+ return applicationNameAttr;
}
public void setApplicationName(String applicationName)
{
- this.applicationName = applicationName;
+ this.applicationNameAttr = applicationName;
}
public String getSupportedWindowStates()
{
- return supportedWindowStateValues;
+ return supportedWindowStatesAttr;
}
public void setSupportedWindowStates(String supportedWindowStates)
{
- this.supportedWindowStateValues = supportedWindowStates;
+ this.supportedWindowStatesAttr = supportedWindowStates;
}
public String getSupportedModes()
{
- return supportedModeValues;
+ return supportedModesAttr;
}
public void setSupportedModes(String supportedModes)
{
- this.supportedModeValues = supportedModes;
+ this.supportedModesAttr = supportedModes;
}
public String getInitialMode()
{
- return initialModeValue;
+ return initialModeAttr;
}
public void setInitialMode(String initialMode)
{
- this.initialModeValue = initialMode;
+ this.initialModeAttr = initialMode;
}
- public int doStartTag() throws JspException
+ public String getErrorPage()
{
- PortalResponse response = getPortalResponse();
- PagePortletControllerContext context = response.getPortletControllerContext();
- PageTag pageTag = (PageTag)findAncestorWithClass(this, PageTag.class);
+ return errorPageAttr;
+ }
- //
- Portlet portlet = context.findPortlet(applicationName, name);
+ public void setErrorPage(String errorPage)
+ {
+ this.errorPageAttr = errorPage;
+ }
- // Compute window id
- String windowId = portlet.getContext().getId() + "." + response.nextId();
-
+ private void updateInternalState()
+ {
//
+ Set<Mode> supportedModes = new LinkedHashSet<Mode>();
+ if (supportedModesAttr != null)
+ {
+ for (String supportedModeValue : supportedModesAttr.split(","))
+ {
+ Mode mode = Mode.create(supportedModeValue.trim());
+ supportedModes.add(mode);
+ }
+ }
+ else
+ {
+ supportedModes = DEFAULT_MODES;
+ }
//
- if (pageTag.maximizedId != null)
+ Set<WindowState> supportedWindowStates = new LinkedHashSet<WindowState>();
+ if (supportedWindowStatesAttr != null)
{
- if (windowId.equals(pageTag.maximizedId))
+ for (String supportedWindowStateValue : supportedWindowStatesAttr.split(","))
{
- result = render(response, portlet, windowId);
- status = BUFFERED;
+ WindowState windowState = WindowState.create(supportedWindowStateValue.trim());
+ supportedWindowStates.add(windowState);
}
- else
- {
- status = SKIPPED;
- }
}
else
{
- result = render(response, portlet, windowId);
- status = RENDERED;
+ supportedWindowStates = DEFAULT_WINDOW_STATES;
}
//
- switch (status)
+ Mode initialMode = Mode.VIEW;
+ if (initialModeAttr != null)
{
- case SKIPPED:
- return SKIP_BODY;
- case RENDERED:
- return EVAL_BODY_INCLUDE;
- case BUFFERED:
- return EVAL_BODY_BUFFERED;
- default:
- throw new AssertionError();
+ initialMode = Mode.create(initialModeAttr.trim());
}
+
+ //
+ this.initialMode = initialMode;
+ this.supportedModes = supportedModes;
+ this.supportedWindowStates = supportedWindowStates;
}
- public int doEndTag() throws JspException
+// private void handleError
+
+ public int internalDoStartTag() throws JspException
{
+ updateInternalState();
+
+ //
+ PortalResponse response = getPortalResponse();
+ PagePortletControllerContext context = response.getPortletControllerContext();
+ PageTag pageTag = (PageTag)findAncestorWithClass(this, PageTag.class);
+
+ //
+ Portlet portlet = context.findPortlet(applicationNameAttr, nameAttr);
+
+ //
+ if (portlet == null)
+ {
+ if (errorPageAttr != null)
+ {
+ RequestDispatcher rd = pageContext.getServletContext().getRequestDispatcher(errorPageAttr);
+ if (rd != null)
+ {
+ ServletRequest request= pageContext.getRequest();
+
+ //
+ try
+ {
+ pageTag.status = PageTag.Status.SUSPENDED;
+ request.setAttribute(Constants.ERROR_STATUS, Constants.NOT_FOUND);
+ request.setAttribute(Constants.ERROR_APPLICATION_NAME, applicationNameAttr);
+ request.setAttribute(Constants.ERROR_PORTLET_NAME, nameAttr);
+
+ //
+ rd.include(pageContext.getRequest(), new JspWriterResponse(response, pageContext.getOut()));
+ }
+ catch (ServletException e)
+ {
+ // Shall we do smth else ?
+ e.printStackTrace();
+ }
+ catch (IOException e)
+ {
+ // Shall we do smth else ?
+ e.printStackTrace();
+ }
+ finally
+ {
+ pageTag.status = PageTag.Status.ACTIVE;
+ request.removeAttribute(Constants.ERROR_STATUS);
+ request.removeAttribute(Constants.ERROR_APPLICATION_NAME);
+ request.removeAttribute(Constants.ERROR_PORTLET_NAME);
+ }
+ }
+ }
+
+ // We cannot show an absent portlet, no meta data
+ return SKIP_BODY;
+ }
+ else
+ {
+ String windowId = portlet.getContext().getId() + "." + response.nextId();
+
+ //
+ if (pageTag.maximizedId != null)
+ {
+ if (windowId.equals(pageTag.maximizedId))
+ {
+ result = render(response, portlet, windowId);
+ status = BUFFERED;
+ }
+ else
+ {
+ status = SKIPPED;
+ }
+ }
+ else
+ {
+ result = render(response, portlet, windowId);
+ status = RENDERED;
+ }
+
+ //
+ switch (status)
+ {
+ case SKIPPED:
+ return SKIP_BODY;
+ case RENDERED:
+ return EVAL_BODY_INCLUDE;
+ case BUFFERED:
+ return EVAL_BODY_BUFFERED;
+ default:
+ throw new AssertionError();
+ }
+ }
+ }
+
+ public int internalDoEndTag() throws JspException
+ {
result = null;
//
@@ -222,43 +342,6 @@
PagePortletControllerContext context = response.getPortletControllerContext();
//
- Set<Mode> supportedModes = new LinkedHashSet<Mode>();
- if (supportedModeValues != null)
- {
- for (String supportedModeValue : supportedModeValues.split(","))
- {
- Mode mode = Mode.create(supportedModeValue.trim());
- supportedModes.add(mode);
- }
- }
- else
- {
- supportedModes = DEFAULT_MODES;
- }
-
- //
- Set<WindowState> supportedWindowStates = new LinkedHashSet<WindowState>();
- if (supportedWindowStateValues != null)
- {
- for (String supportedWindowStateValue : supportedWindowStateValues.split(","))
- {
- WindowState windowState = WindowState.create(supportedWindowStateValue.trim());
- supportedWindowStates.add(windowState);
- }
- }
- else
- {
- supportedWindowStates = DEFAULT_WINDOW_STATES;
- }
-
- //
- Mode initialMode = Mode.VIEW;
- if (initialModeValue != null)
- {
- initialMode = Mode.create(initialModeValue.trim());
- }
-
- //
PageNavigationalState pageNS = response.getPageState();
//
@@ -297,7 +380,6 @@
}
}
-
//
PortletInvocationContext renderContext = context.createPortletInvocationContext(windowId, pageNS);
RenderInvocation render = new RenderInvocation(renderContext);
@@ -331,8 +413,8 @@
//
return new PortletResult(
- name,
- applicationName,
+ nameAttr,
+ applicationNameAttr,
windowId,
portletResponse,
initialMode,
Modified: modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortletTitleTag.java
===================================================================
--- modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortletTitleTag.java 2008-02-08 11:57:11 UTC (rev 9871)
+++ modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortletTitleTag.java 2008-02-08 18:30:24 UTC (rev 9872)
@@ -37,7 +37,7 @@
public class PortletTitleTag extends PortalSimpleTagSupport
{
- public void doTag() throws JspException, IOException
+ public void internalDoTag() throws JspException, IOException
{
PortletTag portletTag = (PortletTag)SimpleTagSupport.findAncestorWithClass(this, PortletTag.class);
Modified: modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortletURLTag.java
===================================================================
--- modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortletURLTag.java 2008-02-08 11:57:11 UTC (rev 9871)
+++ modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortletURLTag.java 2008-02-08 18:30:24 UTC (rev 9872)
@@ -70,12 +70,12 @@
this.windowStateValue = windowState;
}
- public int doStartTag() throws JspException
+ public int internalDoStartTag() throws JspException
{
return EVAL_BODY_BUFFERED;
}
- public int doEndTag() throws JspException
+ public int internalDoEndTag() throws JspException
{
PortalResponse response = getPortalResponse();
PagePortletControllerContext context = response.getPortletControllerContext();
Added: modules/portlet/trunk/test/src/test/resources/simple-portal-war/WEB-INF/jsp/error.jsp
===================================================================
--- modules/portlet/trunk/test/src/test/resources/simple-portal-war/WEB-INF/jsp/error.jsp (rev 0)
+++ modules/portlet/trunk/test/src/test/resources/simple-portal-war/WEB-INF/jsp/error.jsp 2008-02-08 18:30:24 UTC (rev 9872)
@@ -0,0 +1,7 @@
+<%@ page language="java" %>
+Portlet was not rendered<br/>
+<%= request.getAttribute("org.jboss.portal.portlet.portal.error.status")%><br/>
+<%= request.getAttribute("org.jboss.portal.portlet.portal.error.portlet_name")%><br/>
+<%= request.getAttribute("org.jboss.portal.portlet.portal.error.application_name")%><br/>
+<%= request.getAttribute("org.jboss.portal.portlet.portal.error.exception")%><br/>
+<%= request.getAttribute("org.jboss.portal.portlet.portal.error.window_id")%><br/>
Modified: modules/portlet/trunk/test/src/test/resources/simple-portal-war/WEB-INF/portal.tld
===================================================================
--- modules/portlet/trunk/test/src/test/resources/simple-portal-war/WEB-INF/portal.tld 2008-02-08 11:57:11 UTC (rev 9871)
+++ modules/portlet/trunk/test/src/test/resources/simple-portal-war/WEB-INF/portal.tld 2008-02-08 18:30:24 UTC (rev 9872)
@@ -45,6 +45,11 @@
<rtexprvalue>true</rtexprvalue>
<type>java.lang.String</type>
</attribute>
+ <attribute>
+ <name>errorPage</name>
+ <rtexprvalue>true</rtexprvalue>
+ <type>java.lang.String</type>
+ </attribute>
</tag>
<tag>
Modified: modules/portlet/trunk/test/src/test/resources/simple-portal-war/WEB-INF/tags/portal/portlet.tag
===================================================================
--- modules/portlet/trunk/test/src/test/resources/simple-portal-war/WEB-INF/tags/portal/portlet.tag 2008-02-08 11:57:11 UTC (rev 9871)
+++ modules/portlet/trunk/test/src/test/resources/simple-portal-war/WEB-INF/tags/portal/portlet.tag 2008-02-08 18:30:24 UTC (rev 9872)
@@ -6,7 +6,8 @@
<portal:portlet
name="${name}"
- applicationName="${applicationName}">
+ applicationName="${applicationName}"
+ errorPage="/WEB-INF/jsp/error.jsp">
<div class="portlet">
<div class="portlet-frame">
<div class="header full-width">
@@ -23,7 +24,7 @@
<a href="<portal:portleturl windowState='minimized'/>"><img src="${pageContext.request.contextPath}/images/icon-minimize.gif" alt=""/></a>
</span>
<span class="mode-button">
- <a title="Edit" href="<portal:portleturl mode='edit'/>">Edit</a>
+ <a title="Edit" href="<portal:portleturl mode='edit'/>">Edit</a>
</span>
</div>
</div>
Modified: modules/portlet/trunk/test/src/test/resources/simple-portal-war/layouts/default.jsp
===================================================================
--- modules/portlet/trunk/test/src/test/resources/simple-portal-war/layouts/default.jsp 2008-02-08 11:57:11 UTC (rev 9871)
+++ modules/portlet/trunk/test/src/test/resources/simple-portal-war/layouts/default.jsp 2008-02-08 18:30:24 UTC (rev 9872)
@@ -29,6 +29,7 @@
<jbp:layout1>
<jsp:attribute name="leftcol">
<jbp:portlet name="RemoteControl" applicationName="remotecontrol-portlet" />
+ <jbp:portlet name="Foo" applicationName="bar" />
</jsp:attribute>
<jsp:attribute name="rightcol">
<jbp:portlet name="GoogleMap" applicationName="google-map-portlet" />
16 years, 5 months
JBoss Portal SVN: r9871 - in tags/JBoss_Portal_2_6_4/core-cms/src: resources/portal-cms-war/WEB-INF/jsp/cms/admin and 1 other directory.
by portal-commits@lists.jboss.org
Author: thomas.heute(a)jboss.com
Date: 2008-02-08 06:57:11 -0500 (Fri, 08 Feb 2008)
New Revision: 9871
Modified:
tags/JBoss_Portal_2_6_4/core-cms/src/main/org/jboss/portal/core/cms/ui/admin/CMSAdminPortlet.java
tags/JBoss_Portal_2_6_4/core-cms/src/resources/portal-cms-war/WEB-INF/jsp/cms/admin/main.jsp
tags/JBoss_Portal_2_6_4/core-cms/src/resources/portal-cms-war/WEB-INF/jsp/cms/admin/viewfile.jsp
Log:
JBPORTAL-1878: CMS admin GUI flow improvement
Modified: tags/JBoss_Portal_2_6_4/core-cms/src/main/org/jboss/portal/core/cms/ui/admin/CMSAdminPortlet.java
===================================================================
--- tags/JBoss_Portal_2_6_4/core-cms/src/main/org/jboss/portal/core/cms/ui/admin/CMSAdminPortlet.java 2008-02-08 11:52:53 UTC (rev 9870)
+++ tags/JBoss_Portal_2_6_4/core-cms/src/main/org/jboss/portal/core/cms/ui/admin/CMSAdminPortlet.java 2008-02-08 11:57:11 UTC (rev 9871)
@@ -1215,14 +1215,15 @@
{
aRes.setRenderParameter("confirm", "An error occurred while setting the permissions.(" + e.toString() + ")");
success = false;
+ aRes.setRenderParameter("op", CMSAdminConstants.OP_CONFIRMSECURE);
}
if (success)
{
aRes.setRenderParameter("confirm", "Security settings updated successfully.");
+ aRes.setRenderParameter("op", aReq.getParameter("returnOp"));
}
- aRes.setRenderParameter("op", CMSAdminConstants.OP_CONFIRMSECURE);
aRes.setRenderParameter("path", aReq.getParameter("path"));
aRes.setRenderParameter("returnOp", aReq.getParameter("returnOp"));
}
Modified: tags/JBoss_Portal_2_6_4/core-cms/src/resources/portal-cms-war/WEB-INF/jsp/cms/admin/main.jsp
===================================================================
--- tags/JBoss_Portal_2_6_4/core-cms/src/resources/portal-cms-war/WEB-INF/jsp/cms/admin/main.jsp 2008-02-08 11:52:53 UTC (rev 9870)
+++ tags/JBoss_Portal_2_6_4/core-cms/src/resources/portal-cms-war/WEB-INF/jsp/cms/admin/main.jsp 2008-02-08 11:57:11 UTC (rev 9871)
@@ -14,6 +14,7 @@
<link rel="stylesheet" type="text/css" href="/portal-admin/css/style.css" media="screen"/>
<%
+ String sConfirm = renderRequest.getParameter("confirm");
String sCurrPath = (String)request.getAttribute("currpath");
List folders = (List)request.getAttribute("folders");
List files = (List)request.getAttribute("files");
@@ -73,6 +74,17 @@
<br/>
<!-- folder-level action dropdown -->
<div class="menu-container">
+<%
+ if (sConfirm != null && !"".equals(sConfirm))
+ {
+%>
+ <div class="portlet-msg-success"><%= sConfirm %></div>
+ <br/>
+<%
+ }
+%>
+
+
<div class="menu">
<select onchange="window.open(this.options[this.selectedIndex].value,'_top')">
<option value="">Select Action...</option>
Modified: tags/JBoss_Portal_2_6_4/core-cms/src/resources/portal-cms-war/WEB-INF/jsp/cms/admin/viewfile.jsp
===================================================================
--- tags/JBoss_Portal_2_6_4/core-cms/src/resources/portal-cms-war/WEB-INF/jsp/cms/admin/viewfile.jsp 2008-02-08 11:52:53 UTC (rev 9870)
+++ tags/JBoss_Portal_2_6_4/core-cms/src/resources/portal-cms-war/WEB-INF/jsp/cms/admin/viewfile.jsp 2008-02-08 11:57:11 UTC (rev 9871)
@@ -24,6 +24,7 @@
</h3>
<div class=" cms-tab-container">
<%
+ String sConfirm = renderRequest.getParameter("confirm");
String sCurrPath = (String)request.getAttribute("currpath");
Vector vContents = (Vector)request.getAttribute("contents");
Collection pendingQueue = (Collection)request.getAttribute("pendingQueue");
@@ -94,6 +95,17 @@
<br/>
<!-- file-level action dropdown -->
<div class="menu-container" style="width:100%">
+
+<%
+ if (sConfirm != null && !"".equals(sConfirm))
+ {
+%>
+ <div class="portlet-msg-success"><%= sConfirm %></div>
+ <br/>
+<%
+ }
+%>
+
<div class="menu">
<select onchange="window.open(this.options[this.selectedIndex].value,'_top')">
16 years, 5 months
JBoss Portal SVN: r9870 - in branches/JBoss_Portal_Branch_2_6/core-cms/src: resources/portal-cms-war/WEB-INF/jsp/cms/admin and 1 other directory.
by portal-commits@lists.jboss.org
Author: thomas.heute(a)jboss.com
Date: 2008-02-08 06:52:53 -0500 (Fri, 08 Feb 2008)
New Revision: 9870
Modified:
branches/JBoss_Portal_Branch_2_6/core-cms/src/main/org/jboss/portal/core/cms/ui/admin/CMSAdminPortlet.java
branches/JBoss_Portal_Branch_2_6/core-cms/src/resources/portal-cms-war/WEB-INF/jsp/cms/admin/main.jsp
branches/JBoss_Portal_Branch_2_6/core-cms/src/resources/portal-cms-war/WEB-INF/jsp/cms/admin/viewfile.jsp
Log:
JBPORTAL-1878: CMS admin GUI flow improvement
Modified: branches/JBoss_Portal_Branch_2_6/core-cms/src/main/org/jboss/portal/core/cms/ui/admin/CMSAdminPortlet.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-cms/src/main/org/jboss/portal/core/cms/ui/admin/CMSAdminPortlet.java 2008-02-08 10:56:20 UTC (rev 9869)
+++ branches/JBoss_Portal_Branch_2_6/core-cms/src/main/org/jboss/portal/core/cms/ui/admin/CMSAdminPortlet.java 2008-02-08 11:52:53 UTC (rev 9870)
@@ -1215,14 +1215,15 @@
{
aRes.setRenderParameter("confirm", "An error occurred while setting the permissions.(" + e.toString() + ")");
success = false;
+ aRes.setRenderParameter("op", CMSAdminConstants.OP_CONFIRMSECURE);
}
if (success)
{
aRes.setRenderParameter("confirm", "Security settings updated successfully.");
+ aRes.setRenderParameter("op", aReq.getParameter("returnOp"));
}
- aRes.setRenderParameter("op", CMSAdminConstants.OP_CONFIRMSECURE);
aRes.setRenderParameter("path", aReq.getParameter("path"));
aRes.setRenderParameter("returnOp", aReq.getParameter("returnOp"));
}
Modified: branches/JBoss_Portal_Branch_2_6/core-cms/src/resources/portal-cms-war/WEB-INF/jsp/cms/admin/main.jsp
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-cms/src/resources/portal-cms-war/WEB-INF/jsp/cms/admin/main.jsp 2008-02-08 10:56:20 UTC (rev 9869)
+++ branches/JBoss_Portal_Branch_2_6/core-cms/src/resources/portal-cms-war/WEB-INF/jsp/cms/admin/main.jsp 2008-02-08 11:52:53 UTC (rev 9870)
@@ -14,6 +14,7 @@
<link rel="stylesheet" type="text/css" href="/portal-admin/css/style.css" media="screen"/>
<%
+ String sConfirm = renderRequest.getParameter("confirm");
String sCurrPath = (String)request.getAttribute("currpath");
List folders = (List)request.getAttribute("folders");
List files = (List)request.getAttribute("files");
@@ -73,6 +74,17 @@
<br/>
<!-- folder-level action dropdown -->
<div class="menu-container">
+<%
+ if (sConfirm != null && !"".equals(sConfirm))
+ {
+%>
+ <div class="portlet-msg-success"><%= sConfirm %></div>
+ <br/>
+<%
+ }
+%>
+
+
<div class="menu">
<select onchange="window.open(this.options[this.selectedIndex].value,'_top')">
<option value="">Select Action...</option>
Modified: branches/JBoss_Portal_Branch_2_6/core-cms/src/resources/portal-cms-war/WEB-INF/jsp/cms/admin/viewfile.jsp
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-cms/src/resources/portal-cms-war/WEB-INF/jsp/cms/admin/viewfile.jsp 2008-02-08 10:56:20 UTC (rev 9869)
+++ branches/JBoss_Portal_Branch_2_6/core-cms/src/resources/portal-cms-war/WEB-INF/jsp/cms/admin/viewfile.jsp 2008-02-08 11:52:53 UTC (rev 9870)
@@ -24,6 +24,7 @@
</h3>
<div class=" cms-tab-container">
<%
+ String sConfirm = renderRequest.getParameter("confirm");
String sCurrPath = (String)request.getAttribute("currpath");
Vector vContents = (Vector)request.getAttribute("contents");
Collection pendingQueue = (Collection)request.getAttribute("pendingQueue");
@@ -94,6 +95,17 @@
<br/>
<!-- file-level action dropdown -->
<div class="menu-container" style="width:100%">
+
+<%
+ if (sConfirm != null && !"".equals(sConfirm))
+ {
+%>
+ <div class="portlet-msg-success"><%= sConfirm %></div>
+ <br/>
+<%
+ }
+%>
+
<div class="menu">
<select onchange="window.open(this.options[this.selectedIndex].value,'_top')">
16 years, 5 months