You are viewing a plain text version of this content. The canonical link for it is here.
Posted to pluto-scm@portals.apache.org by dd...@apache.org on 2006/12/14 02:03:39 UTC

svn commit: r486914 - in /portals/pluto/trunk: pluto-portal-driver/src/main/java/org/apache/pluto/driver/portlets/ pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/portal/ pluto-portal/src/main/webapp/WEB-INF/fragments/admin/page/

Author: ddewolf
Date: Wed Dec 13 17:03:38 2006
New Revision: 486914

URL: http://svn.apache.org/viewvc?view=rev&rev=486914
Log:
Finalizing remove portlet functionality in admin portlet

Modified:
    portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/portlets/PageAdminPortlet.java
    portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/portal/PageConfig.java
    portals/pluto/trunk/pluto-portal/src/main/webapp/WEB-INF/fragments/admin/page/view.jsp

Modified: portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/portlets/PageAdminPortlet.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/portlets/PageAdminPortlet.java?view=diff&rev=486914&r1=486913&r2=486914
==============================================================================
--- portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/portlets/PageAdminPortlet.java (original)
+++ portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/portlets/PageAdminPortlet.java Wed Dec 13 17:03:38 2006
@@ -17,20 +17,20 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.pluto.driver.config.DriverConfiguration;
 import org.apache.pluto.driver.AttributeKeys;
+import org.apache.pluto.driver.config.DriverConfiguration;
 import org.apache.pluto.driver.services.portal.PageConfig;
 import org.apache.pluto.driver.services.portal.PortletWindowConfig;
 
 import javax.portlet.ActionRequest;
 import javax.portlet.ActionResponse;
+import javax.portlet.PortletException;
 import javax.portlet.RenderRequest;
 import javax.portlet.RenderResponse;
-import javax.portlet.PortletException;
+import java.io.IOException;
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Iterator;
-import java.util.ArrayList;
-import java.io.IOException;
 
 
 public class PageAdminPortlet extends GenericPlutoPortlet {
@@ -43,19 +43,44 @@
 
 
     public void processAction(ActionRequest request, ActionResponse response) {
+        String command = request.getParameter("command");
+        if("add".equalsIgnoreCase(command)) {
+            doAddPortlet(request);
+        }
+        else if ("remove".equalsIgnoreCase(command)) {
+            doRemovePortlet(request);
+        }
+    }
+
+    public void doAddPortlet(ActionRequest request) {
         String page = request.getParameter("page");
         String applicationId = request.getParameter("applications");
         String portletId = request.getParameter("availablePortlets");
 
-        LOG.info("Request: Add [applicationId="+applicationId+":portletId="+portletId+"] to page '"+page+"'");
+        LOG.info("Request: Add [applicationId=" + applicationId + ":portletId=" + portletId + "] to page '" + page + "'");
+
+        PageConfig config = getPageConfig(page);
+        config.addPortlet(applicationId, portletId);
+
+    }
+
+
+    public void doRemovePortlet(ActionRequest request) {
+        String page = request.getParameter("page");
+        String portletId = request.getParameter("placedPortlets");
 
-        DriverConfiguration driverConfig = (DriverConfiguration)getPortletContext()
+        LOG.info("Request: Remove [portletId=" + portletId + "] from page '" + page + "'");
+
+        PageConfig config = getPageConfig(page);
+        config.removePortlet(portletId);
+    }
+
+    private PageConfig getPageConfig(String page) {
+        DriverConfiguration driverConfig = (DriverConfiguration) getPortletContext()
             .getAttribute(AttributeKeys.DRIVER_CONFIG);
 
         PageConfig config = driverConfig.getPageConfig(page);
-        config.addPortlet(applicationId, portletId);
-
-        response.setRenderParameter("portlets", portletId);
+        return config;
     }
 
     public void doView(RenderRequest request, RenderResponse response) throws PortletException, IOException {
@@ -81,11 +106,11 @@
 
         ArrayList list = new ArrayList();
         Iterator it = configuration.getPages().iterator();
-        while(it.hasNext()) {
-            PageConfig config = (PageConfig)it.next();
+        while (it.hasNext()) {
+            PageConfig config = (PageConfig) it.next();
             ArrayList portlets = new ArrayList();
             Iterator pids = config.getPortletIds().iterator();
-            while(pids.hasNext()) {
+            while (pids.hasNext()) {
                 String pid = pids.next().toString();
                 String name = PortletWindowConfig.parsePortletName(pid);
                 portlets.add(new Placement(pid, name));

Modified: portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/portal/PageConfig.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/portal/PageConfig.java?view=diff&rev=486914&r1=486913&r2=486914
==============================================================================
--- portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/portal/PageConfig.java (original)
+++ portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/portal/PageConfig.java Wed Dec 13 17:03:38 2006
@@ -63,6 +63,10 @@
             PortletWindowConfig.createPortletId(contextPath, portletName));
     }
 
+    public void removePortlet(String portletId) {
+        portletIds.remove(portletId);
+    }
+
     void setOrderNumber(int number) {
         this.orderNumber = number;
     }

Modified: portals/pluto/trunk/pluto-portal/src/main/webapp/WEB-INF/fragments/admin/page/view.jsp
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-portal/src/main/webapp/WEB-INF/fragments/admin/page/view.jsp?view=diff&rev=486914&r1=486913&r2=486914
==============================================================================
--- portals/pluto/trunk/pluto-portal/src/main/webapp/WEB-INF/fragments/admin/page/view.jsp (original)
+++ portals/pluto/trunk/pluto-portal/src/main/webapp/WEB-INF/fragments/admin/page/view.jsp Wed Dec 13 17:03:38 2006
@@ -45,10 +45,17 @@
                   placePortletsSelect.options[i] = null;
               }
 
+              var disabled = select.value == 'Select. . .'
+              document.forms['adminForm'].elements['command'][0].disabled = disabled;
+
+              if(disabled) {
+                  return;
+              }
 
               for(var i=0;i<placedPortlets[select.value].length;i++) {
                   placePortletsSelect[i] = new Option(placedPortlets[select.value][i][1], placedPortlets[select.value][i][0]);
               }
+
           }
       </script>
 
@@ -57,7 +64,7 @@
 
 
     <select name="page" onChange="doSwitchPage(this)">
-      <option>Select. . .</option>
+      <option value="Select. . .">Select. . .</option>
     <c:forEach items="${driverConfig.pages}" var="page">
       <option value="<c:out value="${page.name}"/>"><c:out value="${page.name}"/></option>
     </c:forEach>
@@ -66,6 +73,10 @@
     <select name="placedPortlets" size="5">
 
     </select>
+
+    <button name="command" disabled="true" value="remove">
+      Remove
+    </button>
   </p>
 </div>
 
@@ -103,7 +114,7 @@
         }
 
         function doSwitchButton(select) {
-            document.forms['adminForm'].elements['submitButton'].disabled = (select.value == 'Select. . .' || select.disabled);
+            document.forms['adminForm'].elements['command'][1].disabled = (select.value == 'Select. . .' || select.disabled);
         }
     </script>
 
@@ -118,7 +129,7 @@
 
     </select>
 
-    <button name="submitButton" disabled="true">
+    <button name="command" disabled="true" value="add">
         Add Portlet
     </button>
   </p>