jford 2004/08/31 11:48:28
Modified: webapp/WEB-INF/templates/vm/screens/html Home.vm
src/java/org/apache/jetspeed/util/template JetspeedTool.java
src/java/org/apache/jetspeed/services/jsp/tags
JetspeedPaneTag.java
Log:
Fixed case where user has switched to another psml after viewing a maximized portlet
PR: JIRA #JS1-514
Submitted by: Arthur D'Alessandro, Jeremy Ford
Revision Changes Path
1.7 +13 -1
jakarta-jetspeed/webapp/WEB-INF/templates/vm/screens/html/Home.vm
Index: Home.vm
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed/webapp/WEB-INF/templates/vm/screens/html/Home.vm,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- Home.vm 17 Mar 2004 19:16:59 -0000 1.6
+++ Home.vm 31 Aug 2004 18:48:27 -0000 1.7
@@ -16,8 +16,20 @@
## test for a maximized portlet
#if (($data.User) && ($data.User.getTemp("js_peid")))
+
+ #set($pbid = 0)
$data.setMode("maximize")
- $jetspeed.getPortletById($data.User.getTemp("js_peid"))
+ #set($pbid = $jetspeed.getPortletById($data.User.getTemp("js_peid"), true))
+
+ ##If previous call returned null, then pbid is still 0
+ #if($pbid == 0)
+ $data.setMode("default")
+ #set($temp = $data.user.removeTemp("js_peid"))
+ $jetspeed.getPane("default")
+ #else
+ $pbid
+ #end
+
## process as a regular page request
#else
$data.setMode("default")
1.39 +18 -2
jakarta-jetspeed/src/java/org/apache/jetspeed/util/template/JetspeedTool.java
Index: JetspeedTool.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/util/template/JetspeedTool.java,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -r1.38 -r1.39
--- JetspeedTool.java 29 Mar 2004 21:38:43 -0000 1.38
+++ JetspeedTool.java 31 Aug 2004 18:48:28 -0000 1.39
@@ -478,6 +478,22 @@
*/
public ConcreteElement getPortletById(String peid)
{
+ return getPortletById(peid, false);
+ }
+
+ /**
+ * Return the content of a portlet using the portlet's id (PEID). This portlet
is sought in
+ * the current PSML resource.
+ *
+ * If a control is attached to the portlet description, returns the defined
+ * portlet and control, otherwise use the default control.
+ *
+ * @param peid the peid of the portlet to render
+ * @param returnNull allows the method to return null or not
+ * @return the rendered content of the portlet
+ */
+ public ConcreteElement getPortletById(String peid, boolean returnNull)
+ {
ConcreteElement result = null;
Portlet found = null;
Stack sets = new Stack();
@@ -524,7 +540,7 @@
result = PortletWrapper.wrap(found).getContent(rundata);
}
- if (result==null)
+ if (result==null && !returnNull)
{
//the customizer already streamed its content, return a stub
result = new ConcreteElement();
1.7 +9 -2
jakarta-jetspeed/src/java/org/apache/jetspeed/services/jsp/tags/JetspeedPaneTag.java
Index: JetspeedPaneTag.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/services/jsp/tags/JetspeedPaneTag.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- JetspeedPaneTag.java 23 Feb 2004 03:59:40 -0000 1.6
+++ JetspeedPaneTag.java 31 Aug 2004 18:48:28 -0000 1.7
@@ -90,7 +90,14 @@
if (jspeid != null)
{
data.setMode(JetspeedRunData.MAXIMIZE);
- result = jt.getPortletById(jspeid);
+ result = jt.getPortletById(jspeid, true);
+ if(result == null)
+ {
+ // Remove the flag for this user
+ data.getUser().removeTemp("js_peid");
+ data.setMode(JetspeedRunData.NORMAL);
+ result = jt.getPane(this.name);
+ }
}
else
{
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]