Author: thomas.heute(a)jboss.com
Date: 2007-03-14 12:17:33 -0400 (Wed, 14 Mar 2007)
New Revision: 6669
Modified:
trunk/theme/src/main/org/jboss/portal/theme/tag/PortletTagHandler.java
Log:
Broken theme portlet tag. [JBPORTAL-1316]
Patch provided by Antoine Herzog, thanks !
Modified: trunk/theme/src/main/org/jboss/portal/theme/tag/PortletTagHandler.java
===================================================================
--- trunk/theme/src/main/org/jboss/portal/theme/tag/PortletTagHandler.java 2007-03-14
16:12:13 UTC (rev 6668)
+++ trunk/theme/src/main/org/jboss/portal/theme/tag/PortletTagHandler.java 2007-03-14
16:17:33 UTC (rev 6669)
@@ -96,44 +96,54 @@
return;
}
- if (page.getWindowContext(windowName) == null)
- {
- log.debug("no such window on this page. Page [" + page.getPageName() +
"] Window [" + windowName + "]");
- return;
- }
-
- WindowContext windowContext = page.getWindowContext(windowName);
- RenderContext renderContext =
(RenderContext)request.getAttribute(LayoutConstants.ATTR_RENDERCONTEXT);
-
- String windowID;
- // we have the windowName (which is the window name), but we need the window id
+ String windowID = null;
+ // we have the windowName (which is the window name), but we need the
+ // window id
Map portletContexts = page.getWindowContextMap();
for (Iterator i = portletContexts.keySet().iterator(); i.hasNext();)
{
- windowID = (String)i.next();
- WindowContext portletContext = (WindowContext)portletContexts.get(windowID);
+ windowID = (String) i.next();
+ WindowContext portletContext = (WindowContext) portletContexts.get(windowID);
if (windowName.equals(portletContext.getWindowName()))
{
if (log.isDebugEnabled())
{
log.debug("found the portlet to render: " + windowName);
}
-
- renderContext = renderContext.getContext(windowContext);
-
- try
- {
- renderContext.render();
- out.write(renderContext.getMarkupFragment().toString());
- out.flush();
- }
- catch (RenderException e)
- {
- throw new JspException(e);
- }
break;
}
}
+
+ if (windowID == null)
+ {
+ log.warn("can't find the window id of the window name on this page.
Page [" + page.getPageName()
+ + "] Window [" + windowName + "]. This window won't be
shown in page.");
+ return;
+ }
+
+ if (page.getWindowContext(windowID) == null)
+ {
+ log.warn("no such window on this page. Page [" + page.getPageName() +
"] Window name [" + windowName + "]"
+ + "] Window Id [" + windowID + "]");
+ return;
+ }
+
+ WindowContext windowContext = page.getWindowContext(windowID);
+ RenderContext renderContext = (RenderContext)
request.getAttribute(LayoutConstants.ATTR_RENDERCONTEXT);
+
+ renderContext = renderContext.getContext(windowContext);
+
+ try
+ {
+ renderContext.render();
+ out.write(renderContext.getMarkupFragment().toString());
+ out.flush();
+ }
+ catch (RenderException e)
+ {
+ throw new JspException(e);
+ }
+
}
public String getWindowName()
Show replies by date