Author: roy.russo(a)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(" | ");
sb.append("<a
href=\"").append(showadminURL).append("\">Admin</a>");
}
- else
+/* else
{
sb.append(" | ");
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(" | ");
- sb.append("<a href=\"#\">Add Content</a>");
- sb.append(" | ");
- sb.append("<a href=\"#\">Edit Page</a>");
- sb.append(" | ");
- sb.append("<a href=\"#\">Add Page</a>");
+ sb.append("<a
href=\"").append(configureURL).append("\">Edit
Content</a>");
}
sb.append(" | ");
-
+
//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(" | ");
-
+
sb.append("<a
href=\"").append(logoutURL).append("\">Logout</a>");
}
return sb;
@@ -284,7 +283,6 @@
navElements.add(portalObject);
}
}
-
sortTabs(navElements);
StringBuffer html = new StringBuffer();