Author: roy.russo(a)jboss.com
Date: 2006-11-22 11:59:57 -0500 (Wed, 22 Nov 2006)
New Revision: 5712
Modified:
trunk/core/src/main/org/jboss/portal/core/portlet/dashboard/Configurator.java
trunk/core/src/resources/portal-core-war/WEB-INF/jsp/dashboard/editpage.jsp
Log:
JBPORTAL-993 - added instance listing for regions
Modified: trunk/core/src/main/org/jboss/portal/core/portlet/dashboard/Configurator.java
===================================================================
---
trunk/core/src/main/org/jboss/portal/core/portlet/dashboard/Configurator.java 2006-11-22
15:02:09 UTC (rev 5711)
+++
trunk/core/src/main/org/jboss/portal/core/portlet/dashboard/Configurator.java 2006-11-22
16:59:57 UTC (rev 5712)
@@ -22,10 +22,12 @@
package org.jboss.portal.core.portlet.dashboard;
import org.jboss.logging.Logger;
-import org.jboss.portal.core.model.instance.Instance;
import org.jboss.portal.core.model.instance.InstanceContainer;
-import org.jboss.portal.portlet.Portlet;
-import org.jboss.portal.portlet.PortletInvokerException;
+import org.jboss.portal.core.model.portal.Page;
+import org.jboss.portal.core.model.portal.PortalObject;
+import org.jboss.portal.core.model.portal.PortalObjectContainer;
+import org.jboss.portal.core.model.portal.Window;
+import org.jboss.portal.theme.ThemeConstants;
import org.jboss.portlet.JBossActionRequest;
import org.jboss.portlet.JBossPortlet;
import org.jboss.portlet.JBossRenderRequest;
@@ -36,7 +38,6 @@
import javax.portlet.PortletSecurityException;
import java.io.IOException;
import java.util.ArrayList;
-import java.util.Collection;
import java.util.Iterator;
import java.util.List;
@@ -50,6 +51,8 @@
private InstanceContainer instanceContainer;
+ private PortalObjectContainer portalObjectContainer;
+
public void init()
throws PortletException
{
@@ -57,19 +60,54 @@
instanceContainer =
(InstanceContainer)getPortletContext().getAttribute("InstanceContainer");
+ portalObjectContainer =
(PortalObjectContainer)getPortletContext().getAttribute("PortalObjectContainer");
+
if (instanceContainer == null)
{
throw new PortletException("No InstanceContainer found");
}
+ if (portalObjectContainer == null)
+ {
+ throw new PortletException("No PortalObjectContainer found");
+ }
}
protected void doView(JBossRenderRequest req, JBossRenderResponse resp)
throws PortletException, PortletSecurityException, IOException
{
- List instances = (List)instanceContainer.getInstances();
+ List available_instances = (List)instanceContainer.getInstances();
+ List left_instances = new ArrayList();
+ List center_instances = new ArrayList();
+ List right_instances = new ArrayList();
+ Page page =
portalObjectContainer.getContext().getPortal("dashboard").getPage(req.getUser().getUserName());
+ for (Iterator i = page.getChildren().iterator(); i.hasNext();)
+ {
+ PortalObject object = (PortalObject)i.next();
+ if (object.getType() == PortalObject.TYPE_WINDOW)
+ {
+ Window window = (Window)object;
+ String region = object.getProperty(ThemeConstants.PORTAL_PROP_REGION);
+ if (region.equals("left"))
+ {
+ left_instances.add(window.getInstanceRef());
+ }
+ else if (region.equals("center"))
+ {
+ center_instances.add(window.getInstanceRef());
+ }
+ else if (region.equals("right"))
+ {
+ right_instances.add(window.getInstanceRef());
+ }
+ }
+ }
+
resp.setContentType("text/html");
- req.setAttribute("instances", instances);
+ req.setAttribute("available_instances", available_instances);
+ req.setAttribute("left_instances", left_instances);
+ req.setAttribute("center_instances", center_instances);
+ req.setAttribute("right_instances", right_instances);
PortletRequestDispatcher rd =
getPortletContext().getRequestDispatcher("/WEB-INF/jsp/dashboard/editpage.jsp");
rd.include(req, resp);
}
Modified: trunk/core/src/resources/portal-core-war/WEB-INF/jsp/dashboard/editpage.jsp
===================================================================
--- trunk/core/src/resources/portal-core-war/WEB-INF/jsp/dashboard/editpage.jsp 2006-11-22
15:02:09 UTC (rev 5711)
+++ trunk/core/src/resources/portal-core-war/WEB-INF/jsp/dashboard/editpage.jsp 2006-11-22
16:59:57 UTC (rev 5712)
@@ -1,6 +1,5 @@
<%@ page import="org.jboss.portal.core.model.instance.Instance" %>
<%@ page import="java.util.List" %>
-<%@ page import="org.jboss.portal.portlet.Portlet" %>
<%@ page language="java"
extends="org.jboss.portal.core.servlet.jsp.PortalJsp" %>
<%@ taglib
uri="http://java.sun.com/portlet" prefix="portlet"
%>
<%@ taglib uri="/WEB-INF/portal-lib.tld" prefix="n" %>
@@ -9,7 +8,10 @@
<portlet:defineObjects/>
<%
- List instances = (List)request.getAttribute("instances");
+ List available_instances =
(List)request.getAttribute("available_instances");
+ List left_instances = (List)request.getAttribute("left_instances");
+ List center_instances = (List)request.getAttribute("center_instances");
+ List right_instances = (List)request.getAttribute("right_instances");
%>
<script type="text/javascript" language="JavaScript">
@@ -67,107 +69,122 @@
</td>
</tr>
<tr>
- <td>
- <form action="<portlet:actionURL>
+<td>
+<form action="<portlet:actionURL>
</portlet:actionURL>" name="instancesForm"
method="POST" onsubmit="debug();">
- <input type="hidden" name="op"/>
- <input type="hidden" name="toRegion"/>
- <input type="hidden" name="fromRegion"/>
- <input type="hidden" name="sortRegion"/>
- <table width="100%">
- <tr>
- <td>
- <table>
- <tr>
- <td>title/layout table</td>
- </tr>
- </table>
- </td>
- <td class="portlet-section-body"
valign="top"><b>Available Content</b><br/>
- <select name="available_instances"
multiple="true" size="20">
- <%
- for (int i = 0; i < instances.size(); i++)
- {
- Instance instance = (Instance)instances.get(i);
- %>
- <option value="<%= instance.getId() %>"><%=
instance.getId()%>
- </option>
- <%
- }
- %>
- </select>
- </td>
- <td>
- <table>
- <tr>
- <td>
- <input type="submit"
class="portlet-form-button" name=">"
value=">"
-
onclick="assignPortlet('copy','left');"/><br/><input
- type="submit" class="portlet-form-button"
name="<" value="<"
-
onclick="unassignPortlet('remove','left');"/></td>
- <td class="portlet-section-body"
valign="top">
- <b>Left Column</b><br/>
- <select name="instances_left"
multiple="true" size="6">
- <option value="">Instance 1</option>
- <option value="">Instance 2</option>
- <option value="">Instance 3</option>
- <option value="">Instance 4</option>
- <option value="">Instance 5</option>
- </select>
- </td>
- <td>
- <input type="submit"
class="portlet-form-button" name="Up" value="Up"
-
onclick="sortPortlet('up','left');"/><br/><input
- type="submit" class="portlet-form-button"
name="Down" value="Down"
-
onclick="sortPortlet('down','left');"/>
- </td>
- </tr>
- <tr>
- <td>
- <input type="submit"
class="portlet-form-button" name=">"
value=">"
-
onclick="sortPortlet('copy','center');"/><br/><input
- type="submit" class="portlet-form-button"
name="<" value="<"
-
onclick="sortPortlet('remove','center');"/></td>
- <td class="portlet-section-body"
valign="top"><b>Middle Column</b><br/>
- <select name="instances_middle"
multiple="true" size="6">
- <option value="">Instance 1</option>
- <option value="">Instance 2</option>
- <option value="">Instance 3</option>
- <option value="">Instance 4</option>
- <option value="">Instance 5</option>
- </select></td>
- <td>
- <input type="submit"
class="portlet-form-button" name="Up" value="Up"
-
onclick="sortPortlet('up','center');"/><br/><input
- type="submit" class="portlet-form-button"
name="Down" value="Down"
-
onclick="sortPortlet('down','center');"/></td>
- </tr>
- <tr>
- <td>
- <input type="submit"
class="portlet-form-button" name=">"
value=">"
-
onclick="assignPortlet('copy','right');"/><br/><input
- type="submit" class="portlet-form-button"
name="<" value="<"
-
onclick="unassignPortlet('remove','right');"/></td>
- <td class="portlet-section-body"
valign="top"><b>Right Column</b><br/>
- <select name="instances_right"
multiple="true" size="6">
- <option value="">Instance 1</option>
- <option value="">Instance 2</option>
- <option value="">Instance 3</option>
- <option value="">Instance 4</option>
- <option value="">Instance 5</option>
- </select></td>
- <td>
- <input type="submit"
class="portlet-form-button" name="Up" value="Up"
-
onclick="sortPortlet('up','right');"/><br/><input
- type="submit" class="portlet-form-button"
name="Down" value="Down"
-
onclick="sortPortlet('down','right');"/></td>
- </tr>
- </table>
- </tr>
- </table>
- </form>
- </td>
+<input type="hidden" name="op"/>
+<input type="hidden" name="toRegion"/>
+<input type="hidden" name="fromRegion"/>
+<input type="hidden" name="sortRegion"/>
+<table width="100%">
+<tr>
+<td>
+ <table>
+ <tr>
+ <td>title/layout table</td>
+ </tr>
+ </table>
+</td>
+<td class="portlet-section-body"
valign="top"><b>Available Content</b><br/>
+ <select name="available_instances" multiple="true"
size="20">
+ <%
+ for (int i = 0; i < available_instances.size(); i++)
+ {
+ Instance instance = (Instance)available_instances.get(i);
+ %>
+ <option value="<%= instance.getId() %>"><%=
instance.getId()%>
+ </option>
+ <%
+ }
+ %>
+ </select>
+</td>
+<td>
+<table>
+ <tr>
+ <td>
+ <input type="submit" class="portlet-form-button"
name=">" value=">"
+
onclick="assignPortlet('copy','left');"/><br/><input
+ type="submit" class="portlet-form-button"
name="<" value="<"
+
onclick="unassignPortlet('remove','left');"/></td>
+ <td class="portlet-section-body" valign="top">
+ <b>Left Column</b><br/>
+ <select name="left_instances" multiple="true"
size="6">
+ <%
+ for (int i = 0; i < left_instances.size(); i++)
+ {
+ String instance = (String)left_instances.get(i);
+ %>
+ <option value="<%= instance %>"><%= instance%>
+ </option>
+ <%
+ }
+ %>
+ </select>
+ </td>
+ <td>
+ <input type="submit" class="portlet-form-button"
name="Up" value="Up"
+
onclick="sortPortlet('up','left');"/><br/><input
+ type="submit" class="portlet-form-button"
name="Down" value="Down"
+ onclick="sortPortlet('down','left');"/>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <input type="submit" class="portlet-form-button"
name=">" value=">"
+
onclick="sortPortlet('copy','center');"/><br/><input
+ type="submit" class="portlet-form-button"
name="<" value="<"
+
onclick="sortPortlet('remove','center');"/></td>
+ <td class="portlet-section-body"
valign="top"><b>Middle Column</b><br/>
+ <select name="center_instances" multiple="true"
size="6">
+ <%
+ for (int i = 0; i < right_instances.size(); i++)
+ {
+ String instance = (String)right_instances.get(i);
+ %>
+ <option value="<%= instance %>"><%= instance%>
+ </option>
+ <%
+ }
+ %>
+ </select></td>
+ <td>
+ <input type="submit" class="portlet-form-button"
name="Up" value="Up"
+
onclick="sortPortlet('up','center');"/><br/><input
+ type="submit" class="portlet-form-button"
name="Down" value="Down"
+
onclick="sortPortlet('down','center');"/></td>
+ </tr>
+ <tr>
+ <td>
+ <input type="submit" class="portlet-form-button"
name=">" value=">"
+
onclick="assignPortlet('copy','right');"/><br/><input
+ type="submit" class="portlet-form-button"
name="<" value="<"
+
onclick="unassignPortlet('remove','right');"/></td>
+ <td class="portlet-section-body"
valign="top"><b>Right Column</b><br/>
+ <select name="right_instances" multiple="true"
size="6">
+ <%
+ for (int i = 0; i < center_instances.size(); i++)
+ {
+ String instance = (String)center_instances.get(i);
+ %>
+ <option value="<%= instance %>"><%= instance%>
+ </option>
+ <%
+ }
+ %>
+ </select></td>
+ <td>
+ <input type="submit" class="portlet-form-button"
name="Up" value="Up"
+
onclick="sortPortlet('up','right');"/><br/><input
+ type="submit" class="portlet-form-button"
name="Down" value="Down"
+
onclick="sortPortlet('down','right');"/></td>
+ </tr>
+</table>
</tr>
+</table>
+</form>
+</td>
+</tr>
<tr>
<td class="portlet-section-alternate" width="100%"
colspan="4" align="center">
<input type="submit" name="save" value="Save"
class="portlet-form-button"/>