[portal-commits] JBoss Portal SVN: r5808 - trunk/core/src/main/org/jboss/portal/core/aspects/controller

portal-commits at lists.jboss.org portal-commits at lists.jboss.org
Tue Dec 12 13:40:50 EST 2006


Author: roy.russo at jboss.com
Date: 2006-12-12 13:40:49 -0500 (Tue, 12 Dec 2006)
New Revision: 5808

Modified:
   trunk/core/src/main/org/jboss/portal/core/aspects/controller/PageCustomizerInterceptor.java
Log:
JBPORTAL-1157 - Create links to dashboard configurator

Modified: trunk/core/src/main/org/jboss/portal/core/aspects/controller/PageCustomizerInterceptor.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/aspects/controller/PageCustomizerInterceptor.java	2006-12-12 17:22:50 UTC (rev 5807)
+++ trunk/core/src/main/org/jboss/portal/core/aspects/controller/PageCustomizerInterceptor.java	2006-12-12 18:40:49 UTC (rev 5808)
@@ -27,18 +27,20 @@
 import org.jboss.portal.api.node.PortalNode;
 import org.jboss.portal.core.controller.ControllerCommand;
 import org.jboss.portal.core.controller.ControllerInterceptor;
-import org.jboss.portal.core.model.portal.command.RenderPageCommand;
 import org.jboss.portal.core.controller.command.SignOutCommand;
-import org.jboss.portal.core.model.portal.command.ViewDashboardCommand;
 import org.jboss.portal.core.impl.model.portal.PortalObjectImpl;
-import org.jboss.portal.core.model.portal.PortalContainer;
+import org.jboss.portal.core.model.instance.command.InvokePortletInstanceRenderCommand;
 import org.jboss.portal.core.model.portal.Page;
 import org.jboss.portal.core.model.portal.Portal;
+import org.jboss.portal.core.model.portal.PortalContainer;
 import org.jboss.portal.core.model.portal.PortalObject;
+import org.jboss.portal.core.model.portal.PortalObjectId;
 import org.jboss.portal.core.model.portal.PortalObjectPermission;
 import org.jboss.portal.core.model.portal.Window;
-import org.jboss.portal.core.model.portal.PortalObjectId;
+import org.jboss.portal.core.model.portal.command.RenderPageCommand;
+import org.jboss.portal.core.model.portal.command.ViewDashboardCommand;
 import org.jboss.portal.identity.User;
+import org.jboss.portal.portlet.impl.PortletRequestDecoder;
 import org.jboss.portal.security.PortalSecurityException;
 import org.jboss.portal.security.spi.auth.PortalAuthorizationManagerFactory;
 import org.jboss.portal.server.request.URLContext;
@@ -65,6 +67,7 @@
  */
 public class PageCustomizerInterceptor extends ControllerInterceptor
 {
+   private PortalObjectId dashboardId = PortalObjectId.parse("/dashboard", PortalObjectId.CANONICAL_FORMAT);
 
    /** . */
    private static final String RESOURCE_PREFIX = "PAGENAME_";
@@ -93,7 +96,6 @@
       {
          PageRendition rendition = (PageRendition)resp;
 
-         // No tab in dashboard mode TODO: why not?
          if (cmd instanceof RenderPageCommand)
          {
             RenderPageCommand rpc = (RenderPageCommand)cmd;
@@ -162,7 +164,7 @@
          String label;
          if (dashboard)
          {
-            RenderPageCommand _rpc = new RenderPageCommand(new PortalObjectId(new String[]{"default","default"}));
+            RenderPageCommand _rpc = new RenderPageCommand(new PortalObjectId(new String[]{"default", "default"}));
             pageURL = cc.getControllerContext().renderURL(_rpc, null, null);
             label = "Pages";
          }
@@ -208,12 +210,9 @@
             }
          }
 
-         // TODO: add checks for shared/private pages
          SignOutCommand cmd = new SignOutCommand();
          String logoutURL = cc.getControllerContext().renderURL(cmd, null, null);
 
-         //sb.append("<a href=\"#\" class=\"addcontent\">Add Content</a>");
-
          User user = (User)cc.getControllerContext().getServerInvocation().getRequest().getUser();
          if (user != null)
          {
@@ -234,34 +233,34 @@
             sb.append("&nbsp;&nbsp;|&nbsp;&nbsp;");
             sb.append("<a href=\"").append(showadminURL).append("\">Admin</a>");
          }
-         else
+/*         else
          {
             sb.append("&nbsp;&nbsp;|&nbsp;&nbsp;");
             sb.append("<a href=\"").append(showDefaultURL).append("\">Main</a>");
-         }
+         }*/
 
-         // For now it is not implemented, we don't want to have feedback such as "Add Content does not work"
-         boolean featureImplemented = false;
-         if (dashboard && featureImplemented)
+         if (dashboard)
          {
+            PortletRequestDecoder decoder = new PortletRequestDecoder();
+            decoder.decode(cc.getControllerContext().getServerInvocation().getServerContext().getQueryParameterMap(), cc.getControllerContext().getServerInvocation().getServerContext().getBodyParameterMap());
+
+            InvokePortletInstanceRenderCommand command = new InvokePortletInstanceRenderCommand("ConfiguratorPortletInstance", decoder.getNavigationalstate());
+            String configureURL = cc.getControllerContext().renderURL(command, null, null);
+
             sb.append("&nbsp;&nbsp;|&nbsp;&nbsp;");
-            sb.append("<a href=\"#\">Add Content</a>");
-            sb.append("&nbsp;&nbsp;|&nbsp;&nbsp;");
-            sb.append("<a href=\"#\">Edit Page</a>");
-            sb.append("&nbsp;&nbsp;|&nbsp;&nbsp;");
-            sb.append("<a href=\"#\">Add Page</a>");
+            sb.append("<a href=\"").append(configureURL).append("\">Edit Content</a>");
          }
 
          sb.append("&nbsp;&nbsp;|&nbsp;&nbsp;");
-         
+
          //inject CMS Admin link
-         if(user != null && showadminURL == null)
+         if (user != null && showadminURL == null)
          {
-             sb.append("<a href=\"").append("/portal/portal/cms").append("\">CMS Admin Tool</a>");
+            sb.append("<a href=\"").append("/portal/portal/cms").append("\">CMS Admin Tool</a>");
          }
-         
+
          sb.append("&nbsp;&nbsp;|&nbsp;&nbsp;");
-         
+
          sb.append("<a href=\"").append(logoutURL).append("\">Logout</a>");
       }
       return sb;
@@ -284,7 +283,6 @@
                navElements.add(portalObject);
             }
          }
-
          sortTabs(navElements);
 
          StringBuffer html = new StringBuffer();




More information about the portal-commits mailing list