[jboss-svn-commits] JBoss Portal SVN: r5411 - in trunk/core/src: main/org/jboss/portal/core/aspects/controller main/org/jboss/portal/core/aspects/controller/node main/org/jboss/portal/core/cms/command main/org/jboss/portal/core/controller main/org/jboss/portal/core/controller/ajax main/org/jboss/portal/core/controller/command main/org/jboss/portal/core/controller/command/response main/org/jboss/portal/core/model/portal resources/portal-core-sar/META-INF

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Oct 10 19:32:15 EDT 2006


Author: julien at jboss.com
Date: 2006-10-10 19:31:55 -0400 (Tue, 10 Oct 2006)
New Revision: 5411

Added:
   trunk/core/src/main/org/jboss/portal/core/controller/command/ViewDashboardCommand.java
   trunk/core/src/main/org/jboss/portal/core/controller/command/response/
   trunk/core/src/main/org/jboss/portal/core/controller/command/response/PortletInvocationResponse.java
   trunk/core/src/main/org/jboss/portal/core/controller/command/response/SignOutResponse.java
   trunk/core/src/main/org/jboss/portal/core/controller/command/response/StreamContentResponse.java
   trunk/core/src/main/org/jboss/portal/core/controller/command/response/UpdateViewResponse.java
   trunk/core/src/main/org/jboss/portal/core/controller/command/response/UpdateWindowMarkupResponse.java
Removed:
   trunk/core/src/main/org/jboss/portal/core/controller/ViewDashboardCommand.java
Modified:
   trunk/core/src/main/org/jboss/portal/core/aspects/controller/PageCustomizerInterceptor.java
   trunk/core/src/main/org/jboss/portal/core/aspects/controller/WindowCacheInterceptor.java
   trunk/core/src/main/org/jboss/portal/core/aspects/controller/node/EventBroadcasterInterceptor.java
   trunk/core/src/main/org/jboss/portal/core/cms/command/StreamContentCommand.java
   trunk/core/src/main/org/jboss/portal/core/controller/ControllerCommand.java
   trunk/core/src/main/org/jboss/portal/core/controller/CoreController.java
   trunk/core/src/main/org/jboss/portal/core/controller/ajax/AjaxInterceptor.java
   trunk/core/src/main/org/jboss/portal/core/controller/command/InvokeWindowActionCommand.java
   trunk/core/src/main/org/jboss/portal/core/controller/command/InvokeWindowRenderCommand.java
   trunk/core/src/main/org/jboss/portal/core/controller/command/MoveWindowCommand.java
   trunk/core/src/main/org/jboss/portal/core/controller/command/RenderPageCommand.java
   trunk/core/src/main/org/jboss/portal/core/controller/command/RenderWindowCommand.java
   trunk/core/src/main/org/jboss/portal/core/controller/command/SignOutCommand.java
   trunk/core/src/main/org/jboss/portal/core/model/portal/DashboardCommandFactory.java
   trunk/core/src/resources/portal-core-sar/META-INF/jboss-service.xml
Log:
updated the core controller to have a full request/response object protocol in the command pipeline

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-10-10 23:00:00 UTC (rev 5410)
+++ trunk/core/src/main/org/jboss/portal/core/aspects/controller/PageCustomizerInterceptor.java	2006-10-10 23:31:55 UTC (rev 5411)
@@ -23,9 +23,9 @@
 
 import org.jboss.portal.core.controller.ControllerInterceptor;
 import org.jboss.portal.core.controller.ControllerCommand;
-import org.jboss.portal.core.controller.ViewDashboardCommand;
 import org.jboss.portal.core.controller.command.RenderPageCommand;
 import org.jboss.portal.core.controller.command.SignOutCommand;
+import org.jboss.portal.core.controller.command.ViewDashboardCommand;
 import org.jboss.portal.core.model.portal.PortalObject;
 import org.jboss.portal.core.model.portal.Page;
 import org.jboss.portal.core.model.portal.PortalObjectPermission;
@@ -85,7 +85,7 @@
       if (cmd instanceof RenderPageCommand)
       {
          RenderPageCommand rpc = (RenderPageCommand)cmd;
-         PageRendition rendition = rpc.getResult();
+         PageRendition rendition = (PageRendition)rpc.getResponse();
          if (rendition != null)
          {
             StringBuffer tabbedNav = injectTabbedNav(rpc);

Modified: trunk/core/src/main/org/jboss/portal/core/aspects/controller/WindowCacheInterceptor.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/aspects/controller/WindowCacheInterceptor.java	2006-10-10 23:00:00 UTC (rev 5410)
+++ trunk/core/src/main/org/jboss/portal/core/aspects/controller/WindowCacheInterceptor.java	2006-10-10 23:31:55 UTC (rev 5411)
@@ -26,6 +26,7 @@
 import org.jboss.portal.core.controller.command.RenderWindowCommand;
 import org.jboss.portal.core.controller.command.InvokeWindowCommand;
 import org.jboss.portal.core.controller.command.WindowCommand;
+import org.jboss.portal.core.controller.command.response.PortletInvocationResponse;
 import org.jboss.portal.common.invocation.InvocationException;
 import org.jboss.portal.common.invocation.InvocationContext;
 import org.jboss.portal.portlet.result.FragmentResult;
@@ -84,7 +85,7 @@
                cmd.invokeNext();
 
                // Get result
-               Result result = rwc.getResult();
+               Result result = ((PortletInvocationResponse)rwc.getResponse()).getResult();
 
                // Try to cache any fragment result
                if (result instanceof FragmentResult)
@@ -113,7 +114,7 @@
             else
             {
                // Use the cached fragment
-               rwc.setResult(fragment);
+               rwc.setResponse(new PortletInvocationResponse(rwc.getTargetId(), fragment));
             }
          }
          else if (cmd instanceof InvokeWindowCommand)

Modified: trunk/core/src/main/org/jboss/portal/core/aspects/controller/node/EventBroadcasterInterceptor.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/aspects/controller/node/EventBroadcasterInterceptor.java	2006-10-10 23:00:00 UTC (rev 5410)
+++ trunk/core/src/main/org/jboss/portal/core/aspects/controller/node/EventBroadcasterInterceptor.java	2006-10-10 23:31:55 UTC (rev 5411)
@@ -179,7 +179,6 @@
       //
       if (redirection != null)
       {
-         ControllerContext ctx = (ControllerContext)cmd.getContext();
          throw new CommandRedirectionException(redirection);
       }
       else

Modified: trunk/core/src/main/org/jboss/portal/core/cms/command/StreamContentCommand.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/cms/command/StreamContentCommand.java	2006-10-10 23:00:00 UTC (rev 5410)
+++ trunk/core/src/main/org/jboss/portal/core/cms/command/StreamContentCommand.java	2006-10-10 23:31:55 UTC (rev 5411)
@@ -30,14 +30,13 @@
 import org.jboss.portal.common.invocation.InvocationException;
 import org.jboss.portal.core.controller.command.info.CommandInfo;
 import org.jboss.portal.core.controller.command.info.ViewCommandInfo;
+import org.jboss.portal.core.controller.command.response.StreamContentResponse;
 import org.jboss.portal.core.controller.ControllerCommand;
+import org.jboss.portal.core.controller.ControllerException;
 import org.jboss.portal.server.ServerInvocation;
 
 import javax.management.MBeanServer;
 import javax.management.ObjectName;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
 import java.io.InputStream;
 import java.util.Locale;
 
@@ -69,18 +68,13 @@
       return info;
    }
 
-   public void execute() throws InvocationException
+   public Object execute() throws InvocationException, ControllerException
    {
-   }
-
-   public void stream(ServerInvocation serverInvocation)
-   {
-      HttpServletResponse resp = serverInvocation.getServerContext().getClientResponse();
-
       try
       {
          MBeanServer mbeanServer = MBeanServerLocator.locateJBoss();
          CMS CMSService = (CMS) MBeanProxy.get(CMS.class, new ObjectName("portal:service=CMS"), mbeanServer);
+         ServerInvocation serverInvocation = getControllerContext().getServerInvocation();
          Command getCMD = CMSService.getCommandFactory().createFileGetCommand(path, serverInvocation.getRequest().getLocale());
          File file = (File) CMSService.execute(getCMD);
          if(file == null)
@@ -89,28 +83,21 @@
             file = (File) CMSService.execute(getCMD);
          }
          Content content = file.getContent();
-         resp.setContentType(content.getMimeType());
-         ServletOutputStream sout = resp.getOutputStream();
-         InputStream is = content.getStream();
-         byte[] buf = new byte[2048];
-         int len;
-         while((len = is.read(buf)) > 0)
-         {
-            sout.write(buf, 0, len);
-         }
-         sout.flush();
-         sout.close();
+         String mimeType = content.getMimeType();
+         InputStream inputStream = content.getStream();
+         return new StreamContentResponse(mimeType, inputStream);
       }
       catch(Exception e)
       {
-         try
-         {
-            resp.sendError(HttpServletResponse.SC_NOT_FOUND, e.getMessage());
-         }
-         catch(IOException e1)
-         {
-            log.error("An error occured when wanting to stream the command", e);
-         }
+//         try
+//         {
+//            resp.sendError(HttpServletResponse.SC_NOT_FOUND, e.getMessage());
+//         }
+//         catch(IOException e1)
+//         {
+//            log.error("An error occured when wanting to stream the command", e);
+//         }
+         throw new ControllerException(e);
       }
    }
 }
\ No newline at end of file

Modified: trunk/core/src/main/org/jboss/portal/core/controller/ControllerCommand.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/controller/ControllerCommand.java	2006-10-10 23:00:00 UTC (rev 5410)
+++ trunk/core/src/main/org/jboss/portal/core/controller/ControllerCommand.java	2006-10-10 23:31:55 UTC (rev 5411)
@@ -58,13 +58,16 @@
    /** The context of the command. */
    protected ControllerContext context;
 
+   /** The response. */
+   private Object response;
+
    /** Execute command when the end of the stack is reached. */
    private static final InvocationHandler handler = new InvocationHandler()
    {
       public void invoke(Invocation invocation) throws Exception, InvocationException
       {
          ControllerCommand cmd = (ControllerCommand)invocation;
-         cmd.execute();
+         cmd.response = cmd.execute();
       }
    };
 
@@ -73,6 +76,16 @@
       setHandler(handler);
    }
 
+   public Object getResponse()
+   {
+      return response;
+   }
+
+   public void setResponse(Object response)
+   {
+      this.response = response;
+   }
+
    /**
     * Return the meta data of this command. 
     */
@@ -139,7 +152,7 @@
    /**
     * Execute the command.
     */
-   public abstract void execute() throws ControllerException;
+   public abstract Object execute() throws ControllerException;
 
    public static void rethrow(Exception e) throws ControllerException, InvocationException, RuntimeException
    {

Modified: trunk/core/src/main/org/jboss/portal/core/controller/CoreController.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/controller/CoreController.java	2006-10-10 23:00:00 UTC (rev 5410)
+++ trunk/core/src/main/org/jboss/portal/core/controller/CoreController.java	2006-10-10 23:31:55 UTC (rev 5411)
@@ -26,8 +26,11 @@
 import org.jboss.portal.core.controller.command.RenderPageCommand;
 import org.jboss.portal.core.controller.command.InvokeWindowActionCommand;
 import org.jboss.portal.core.controller.command.InvokeWindowRenderCommand;
-import org.jboss.portal.core.controller.command.SignOutCommand;
-import org.jboss.portal.core.controller.ViewDashboardCommand;
+import org.jboss.portal.core.controller.command.response.PortletInvocationResponse;
+import org.jboss.portal.core.controller.command.response.SignOutResponse;
+import org.jboss.portal.core.controller.command.response.StreamContentResponse;
+import org.jboss.portal.core.controller.command.response.UpdateViewResponse;
+import org.jboss.portal.core.controller.command.response.UpdateWindowMarkupResponse;
 import org.jboss.portal.core.controller.command.info.CommandInfo;
 import org.jboss.portal.core.controller.command.info.ActionCommandInfo;
 import org.jboss.portal.core.controller.command.mapper.CommandFactory;
@@ -36,8 +39,8 @@
 import org.jboss.portal.core.model.portal.PortalObjectContainer;
 import org.jboss.portal.core.model.portal.Page;
 import org.jboss.portal.core.model.portal.Portal;
+import org.jboss.portal.core.model.portal.PortalObject;
 import org.jboss.portal.core.result.SignOutResult;
-import org.jboss.portal.core.cms.command.StreamContentCommand;
 import org.jboss.portal.server.RequestController;
 import org.jboss.portal.server.ServerException;
 import org.jboss.portal.server.ServerInvocation;
@@ -52,14 +55,15 @@
 import org.jboss.portal.portlet.result.InsufficientPrivilegesResult;
 import org.jboss.portal.portlet.result.ErrorResult;
 import org.jboss.portal.portlet.StateString;
-import org.jboss.portal.portlet.invocation.PortletInvocation;
 import org.jboss.portal.WindowState;
 import org.jboss.portal.Mode;
 import org.jboss.portal.security.spi.auth.PortalAuthorizationManagerFactory;
 
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.ServletException;
+import javax.servlet.ServletOutputStream;
 import java.io.IOException;
+import java.io.InputStream;
 
 /**
  *
@@ -182,10 +186,10 @@
          {
             Forward forward = null;
 
-            // Execute command
+            //
             try
             {
-               //
+               // Execute command
                controllerContext.execute(cmd);
 
                // Handle the result
@@ -264,21 +268,19 @@
     */
    private Forward handleResult(ControllerCommand cmd, ServerInvocation invocation) throws IOException, ServletException, ServerException
    {
-      if (cmd instanceof RenderPageCommand)
+      // Get response
+      Object response = cmd.getResponse();
+
+      if (response instanceof PageRendition)
       {
-         PageRendition rendition = ((RenderPageCommand)cmd).getResult();
+         PageRendition rendition = (PageRendition)response;
          rendition.render(invocation);
          return null;
       }
-      else if (cmd instanceof InvokeWindowActionCommand)
+      else if (response instanceof PortletInvocationResponse)
       {
-         InvokeWindowActionCommand iwac = (InvokeWindowActionCommand)cmd;
-         PortletInvocation pinv = iwac.getInvocation();
-
-         //
-         Result result = pinv.getResult();
-
-         //
+         PortletInvocationResponse pir = (PortletInvocationResponse)response;
+         Result result = pir.getResult();
          if (result instanceof RenderResult)
          {
             RenderResult renderResult = (RenderResult)result;
@@ -286,7 +288,7 @@
             WindowState windowState = renderResult.getWindowState();
             Mode mode = renderResult.getMode();
             InvokeWindowRenderCommand iwrc = new InvokeWindowRenderCommand(
-               iwac.getTargetId(),
+               pir.getWindowId(),
                mode,
                windowState,
                portletNavState);
@@ -297,16 +299,17 @@
             HTTPRedirectionResult redirectionResult = (HTTPRedirectionResult)result;
             String url = redirectionResult.getLocation();
             sendRedirect(invocation, url);
+            return null;
          }
          else if (result instanceof InsufficientTransportGuaranteeResult)
          {
             boolean authenticated = invocation.getServerContext().getURLContext().isAuthenticated();
-            return new Forward(iwac, URLContext.newInstance(true, authenticated));
+            return new Forward(cmd, URLContext.newInstance(true, authenticated));
          }
          else if (result instanceof InsufficientPrivilegesResult)
          {
             boolean authenticated = invocation.getServerContext().getURLContext().isAuthenticated();
-            return new Forward(iwac, URLContext.newInstance(true, authenticated));
+            return new Forward(cmd, URLContext.newInstance(true, authenticated));
          }
          else if (result instanceof SignOutResult)
          {
@@ -322,6 +325,7 @@
             if (location == null)
             {
                // Redirect to the same page
+               InvokeWindowActionCommand iwac = (InvokeWindowActionCommand)cmd;
                Page page = iwac.getPage();
                RenderPageCommand renderCmd = new RenderPageCommand(page.getId());
                boolean secure = invocation.getServerContext().getURLContext().getSecure();
@@ -331,32 +335,23 @@
             else
             {
                sendRedirect(invocation, location);
+               return null;
             }
          }
          else if (result instanceof ErrorResult)
          {
             ErrorResult error = (ErrorResult)result;
-            error.logErrorTo(log, "An portlet exception occured in portlet " + iwac.getInstance().getId());
+            error.logErrorTo(log, "An portlet exception occured in portlet");
             sendStatusCode(invocation, HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
+            return null;
          }
          else
          {
             throw new IllegalStateException();
          }
       }
-      else if (cmd instanceof InvokeWindowRenderCommand)
+      else if (response instanceof SignOutResponse)
       {
-         InvokeWindowRenderCommand iwrc = (InvokeWindowRenderCommand)cmd;
-         RenderPageCommand renderCmd = new RenderPageCommand(iwrc.getPage().getId());
-         return new Forward(renderCmd, null);
-      }
-      else if (cmd instanceof StreamContentCommand)
-      {
-         StreamContentCommand scc = (StreamContentCommand)cmd;
-         scc.stream(invocation);
-      }
-      else if (cmd instanceof SignOutCommand)
-      {
          // Indicate that we want a sign out to be done
          invocation.getResponse().setWantSignOut(true);
 
@@ -367,13 +362,41 @@
          URLContext urlInfo = URLContext.newInstance(secure, false);
          return new Forward(renderCmd, urlInfo);
       }
-      else if (cmd instanceof ViewDashboardCommand)
+      else if (response instanceof StreamContentResponse)
       {
-         ViewDashboardCommand vdc = (ViewDashboardCommand)cmd;
-         RenderPageCommand rpc = new RenderPageCommand(vdc.getDashboardPage().getId());
+         StreamContentResponse scr = (StreamContentResponse)response;
+         HttpServletResponse resp = invocation.getServerContext().getClientResponse();
+         resp.setContentType(scr.getContentType());
+         ServletOutputStream sout = resp.getOutputStream();
+         InputStream is = scr.getInputStream();
+         byte[] buf = new byte[2048];
+         int len;
+         while((len = is.read(buf)) > 0)
+         {
+            sout.write(buf, 0, len);
+         }
+         sout.flush();
+         sout.close();
+         return null;
+      }
+      else if (response instanceof UpdateViewResponse)
+      {
+         UpdateViewResponse uvr = (UpdateViewResponse)response;
+         RenderPageCommand renderCmd = new RenderPageCommand(uvr.getPageId());
+         return new Forward(renderCmd, null);
+      }
+      else if (response instanceof UpdateWindowMarkupResponse)
+      {
+         UpdateWindowMarkupResponse uwmr = (UpdateWindowMarkupResponse)response;
+         PortalObject window = portalObjectContainer.getObject(uwmr.getWindowId());
+         Page page = (Page)window.getParent();
+         RenderPageCommand rpc = new RenderPageCommand(page.getId());
          return new Forward(rpc, null);
       }
-      return null;
+      else
+      {
+         throw new IllegalArgumentException();
+      }
    }
 
    private void sendStatusCode(ServerInvocation invocation, int sc) throws ServerException

Deleted: trunk/core/src/main/org/jboss/portal/core/controller/ViewDashboardCommand.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/controller/ViewDashboardCommand.java	2006-10-10 23:00:00 UTC (rev 5410)
+++ trunk/core/src/main/org/jboss/portal/core/controller/ViewDashboardCommand.java	2006-10-10 23:31:55 UTC (rev 5411)
@@ -1,122 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.portal.core.controller;
-
-import org.jboss.portal.core.controller.command.info.CommandInfo;
-import org.jboss.portal.core.controller.command.info.ViewCommandInfo;
-import org.jboss.portal.core.controller.command.PortalCommand;
-import org.jboss.portal.core.controller.ControllerException;
-import org.jboss.portal.core.controller.ControllerSecurityException;
-import org.jboss.portal.core.model.portal.Page;
-import org.jboss.portal.core.model.portal.Portal;
-import org.jboss.portal.core.model.portal.DuplicatePortalObjectException;
-import org.jboss.portal.core.model.portal.PortalObject;
-import org.jboss.portal.core.model.portal.Window;
-import org.jboss.portal.security.spi.auth.PortalAuthorizationManager;
-import org.jboss.portal.security.PortalSecurityException;
-
-import java.util.Map;
-import java.util.Iterator;
-
-/**
- * @author <a href="mailto:julien at jboss.org">Julien Viet</a>
- * @version $Revision: 1.1 $
- */
-public class ViewDashboardCommand extends PortalCommand
-{
-
-   /** . */
-   private static final CommandInfo info = new ViewCommandInfo(false, "view");
-
-   /** . */
-   private Page dashboardPage;
-
-   /** . */
-   private String userId;
-
-   public ViewDashboardCommand(String portalId)
-   {
-      super(portalId);
-   }
-
-   public CommandInfo getInfo()
-   {
-      return info;
-   }
-
-   public void create() throws ControllerException
-   {
-      super.create();
-
-      //
-      userId = getControllerContext().getServerInvocation().getServerContext().getClientRequest().getRemoteUser();
-   }
-
-   public void enforceSecurity(PortalAuthorizationManager pam) throws ControllerSecurityException, PortalSecurityException
-   {
-      if (userId == null)
-      {
-         throw new ControllerSecurityException("User needs to be authenticated to view a dashboard");
-      }
-   }
-
-   public void execute() throws ControllerException
-   {
-      dashboardPage = portal.getPage(userId);
-
-      // Create if not exist 
-      if (dashboardPage == null)
-      {
-         try
-         {
-            dashboardPage = portal.createPage(userId);
-            Page templatePage = (Page)portal.getParent().getChild("default").getChild("default");
-            for (Iterator i = templatePage.getChildren().iterator();i.hasNext();)
-            {
-               PortalObject child = (PortalObject)i.next();
-               if (child.getType() == PortalObject.TYPE_WINDOW)
-               {
-                  Window window = (Window)child;
-                  Window newWindow = dashboardPage.createWindow(window.getName());
-                  newWindow.setInstanceRef(window.getInstanceRef());
-                  for (Iterator j = window.getDeclaredProperties().entrySet().iterator();j.hasNext();)
-                  {
-                     Map.Entry entry = (Map.Entry)j.next();
-                     String name = (String)entry.getKey();
-                     String value = (String)entry.getValue();
-                     newWindow.setDeclaredProperty(name, value);
-                  }
-               }
-            }
-         }
-         catch (DuplicatePortalObjectException e)
-         {
-            throw new ControllerException(e);
-         }
-      }
-   }
-
-   public Page getDashboardPage()
-   {
-      return dashboardPage;
-   }
-}

Modified: trunk/core/src/main/org/jboss/portal/core/controller/ajax/AjaxInterceptor.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/controller/ajax/AjaxInterceptor.java	2006-10-10 23:00:00 UTC (rev 5410)
+++ trunk/core/src/main/org/jboss/portal/core/controller/ajax/AjaxInterceptor.java	2006-10-10 23:31:55 UTC (rev 5411)
@@ -46,7 +46,7 @@
       if (cmd instanceof RenderPageCommand)
       {
          RenderPageCommand rpc = (RenderPageCommand)cmd;
-         PageRendition rendition = rpc.getResult();
+         PageRendition rendition = (PageRendition)rpc.getResponse();
 
          // Configure ajax
          if (rendition != null)

Modified: trunk/core/src/main/org/jboss/portal/core/controller/command/InvokeWindowActionCommand.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/controller/command/InvokeWindowActionCommand.java	2006-10-10 23:00:00 UTC (rev 5410)
+++ trunk/core/src/main/org/jboss/portal/core/controller/command/InvokeWindowActionCommand.java	2006-10-10 23:31:55 UTC (rev 5411)
@@ -25,6 +25,7 @@
 import org.jboss.portal.Mode;
 import org.jboss.portal.WindowState;
 import org.jboss.portal.core.controller.portlet.ControllerActionContext;
+import org.jboss.portal.core.controller.command.response.PortletInvocationResponse;
 import org.jboss.portal.core.controller.command.info.CommandInfo;
 import org.jboss.portal.core.controller.command.info.ActionCommandInfo;
 import org.jboss.portal.core.controller.ControllerException;
@@ -59,9 +60,6 @@
    /** . */
    private Parameters formParameters;
 
-   /** . */
-   private PortletInvocation invocation;
-
    public InvokeWindowActionCommand(
       String windowId,
       Mode mode,
@@ -107,13 +105,8 @@
       return info;
    }
 
-   public PortletInvocation getInvocation()
+   public Object execute() throws ControllerException
    {
-      return invocation;
-   }
-
-   public void execute() throws ControllerException
-   {
       try
       {
          ServerInvocation sinv = context.getServerInvocation();
@@ -122,8 +115,10 @@
          PortletInvocation invocation = actionCtx.createInvocation();
 
          //
-         this.instance.invoke(invocation);
-         this.invocation = invocation;
+         instance.invoke(invocation);
+
+         //
+         return new PortletInvocationResponse(targetId, invocation.getResult());
       }
       catch (PortletInvokerException e)
       {

Modified: trunk/core/src/main/org/jboss/portal/core/controller/command/InvokeWindowRenderCommand.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/controller/command/InvokeWindowRenderCommand.java	2006-10-10 23:00:00 UTC (rev 5410)
+++ trunk/core/src/main/org/jboss/portal/core/controller/command/InvokeWindowRenderCommand.java	2006-10-10 23:31:55 UTC (rev 5411)
@@ -29,6 +29,7 @@
 import org.jboss.portal.core.aspects.controller.PageNavigationInterceptor;
 import org.jboss.portal.core.controller.command.info.CommandInfo;
 import org.jboss.portal.core.controller.command.info.ViewCommandInfo;
+import org.jboss.portal.core.controller.command.response.UpdateWindowMarkupResponse;
 import org.jboss.portal.core.controller.ControllerCommand;
 import org.jboss.portal.core.controller.ControllerContext;
 import org.jboss.portal.server.ServerInvocation;
@@ -79,7 +80,7 @@
       return info;
    }
 
-   public void execute() throws InvocationException
+   public Object execute() throws InvocationException
    {
       InvocationContext ctx = getContext();
 
@@ -116,5 +117,8 @@
       {
          throw new InvocationException(e);
       }
+
+      //
+      return new UpdateWindowMarkupResponse(window.getId());
    }
 }
\ No newline at end of file

Modified: trunk/core/src/main/org/jboss/portal/core/controller/command/MoveWindowCommand.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/controller/command/MoveWindowCommand.java	2006-10-10 23:00:00 UTC (rev 5410)
+++ trunk/core/src/main/org/jboss/portal/core/controller/command/MoveWindowCommand.java	2006-10-10 23:31:55 UTC (rev 5411)
@@ -70,7 +70,7 @@
       return info;
    }
 
-   public void execute() throws ControllerException
+   public Object execute() throws ControllerException
    {
 
       // For now just update the navigational state of the page
@@ -134,5 +134,8 @@
             }
          }
       }
+
+      //
+      return null;
    }
 }

Modified: trunk/core/src/main/org/jboss/portal/core/controller/command/RenderPageCommand.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/controller/command/RenderPageCommand.java	2006-10-10 23:00:00 UTC (rev 5410)
+++ trunk/core/src/main/org/jboss/portal/core/controller/command/RenderPageCommand.java	2006-10-10 23:31:55 UTC (rev 5411)
@@ -38,6 +38,7 @@
 import org.jboss.portal.core.controller.ResourceAccessDeniedException;
 import org.jboss.portal.core.controller.command.info.CommandInfo;
 import org.jboss.portal.core.controller.command.info.ViewCommandInfo;
+import org.jboss.portal.core.controller.command.response.PortletInvocationResponse;
 import org.jboss.portal.server.config.ServerConfig;
 import org.jboss.portal.server.ServerInvocation;
 import org.jboss.portal.server.ServerInvocationContext;
@@ -125,9 +126,6 @@
    /** . */
    private boolean personalizable;
 
-   /** . */
-   private PageRendition result;
-
    public RenderPageCommand(String pageId)
    {
       super(pageId);
@@ -154,16 +152,6 @@
    }
 
    /**
-    * Returns the result.
-    *
-    * @return the result
-    */
-   public PageRendition getResult()
-   {
-      return result;
-   }
-
-   /**
     * Returns the modifiable list of windows.
     *
     * @return the windows on the page
@@ -206,7 +194,7 @@
     *
     * @throws InvocationException
     */
-   public final void execute() throws ControllerException, InvocationException
+   public Object execute() throws ControllerException, InvocationException
    {
       ServerInvocation sinv = context.getServerInvocation();
       HttpServletRequest request = sinv.getServerContext().getClientRequest();
@@ -258,8 +246,8 @@
             renderResult.setTheme(theme);
             renderResult.setThemeResult(themeResult);
 
-         //
-         result = new PageRendition(layout, pageNavState, renderResult, pageService);
+            //
+            return new PageRendition(layout, pageNavState, renderResult, pageService);
          }
       }
       catch (Exception e)
@@ -272,6 +260,9 @@
          request.removeAttribute(ThemeConstants.ATTR_THEME);
          request.removeAttribute(ThemeConstants.ATTR_THEMERESULT);
       }
+
+      //
+      return null;
    }
 
    /**
@@ -404,9 +395,14 @@
 
          //
          context.execute(renderCmd);
-         Result result = renderCmd.getResult();
 
          //
+         PortletInvocationResponse response = (PortletInvocationResponse)renderCmd.getResponse();
+
+         //
+         Result result = response.getResult();
+
+         //
          if (result instanceof InsufficientTransportGuaranteeResult)
          {
             throw new InsufficientTransportGuaranteeException();

Modified: trunk/core/src/main/org/jboss/portal/core/controller/command/RenderWindowCommand.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/controller/command/RenderWindowCommand.java	2006-10-10 23:00:00 UTC (rev 5410)
+++ trunk/core/src/main/org/jboss/portal/core/controller/command/RenderWindowCommand.java	2006-10-10 23:31:55 UTC (rev 5411)
@@ -24,6 +24,7 @@
 import org.jboss.portal.core.controller.portlet.ControllerRenderContext;
 import org.jboss.portal.core.controller.command.info.CommandInfo;
 import org.jboss.portal.core.controller.command.info.ViewCommandInfo;
+import org.jboss.portal.core.controller.command.response.PortletInvocationResponse;
 import org.jboss.portal.core.controller.ControllerException;
 import org.jboss.portal.core.controller.ControllerCommand;
 import org.jboss.portal.core.controller.ControllerContext;
@@ -32,7 +33,6 @@
 import org.jboss.portal.portlet.StateString;
 import org.jboss.portal.portlet.PortletInvokerException;
 import org.jboss.portal.portlet.NoSuchPortletException;
-import org.jboss.portal.portlet.result.FragmentResult;
 import org.jboss.portal.portlet.invocation.RenderInvocation;
 import org.jboss.portal.theme.navigation.WindowNavigationalState;
 import org.jboss.portal.Mode;
@@ -44,16 +44,12 @@
  * @author <a href="mailto:julien at jboss.org">Julien Viet</a>
  * @version $Revision$
  */
-public class
-   RenderWindowCommand extends WindowCommand
+public class RenderWindowCommand extends WindowCommand
 {
 
    /** . */
    private static final CommandInfo info = new ViewCommandInfo(true, "view");
 
-   /** . */
-   private FragmentResult result;
-
    public RenderWindowCommand(String windowRef) throws IllegalArgumentException
    {
       super(windowRef);
@@ -64,18 +60,8 @@
       return info;
    }
 
-   public FragmentResult getResult()
+   public Object execute() throws ControllerException
    {
-      return result;
-   }
-
-   public void setResult(FragmentResult result)
-   {
-      this.result = result;
-   }
-
-   public void execute() throws ControllerException
-   {
       ServerInvocation sinv = context.getServerInvocation();
 
       //
@@ -107,10 +93,7 @@
          instance.invoke(invocation);
 
          //
-         if (invocation.getResult() instanceof FragmentResult)
-         {
-            result = (FragmentResult)invocation.getResult();
-         }
+         return new PortletInvocationResponse(targetId, invocation.getResult());
       }
       catch (PortletInvokerException e)
       {

Modified: trunk/core/src/main/org/jboss/portal/core/controller/command/SignOutCommand.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/controller/command/SignOutCommand.java	2006-10-10 23:00:00 UTC (rev 5410)
+++ trunk/core/src/main/org/jboss/portal/core/controller/command/SignOutCommand.java	2006-10-10 23:31:55 UTC (rev 5411)
@@ -25,6 +25,7 @@
 import org.jboss.portal.core.controller.ControllerException;
 import org.jboss.portal.core.controller.command.info.CommandInfo;
 import org.jboss.portal.core.controller.command.info.ActionCommandInfo;
+import org.jboss.portal.core.controller.command.response.SignOutResponse;
 
 /**
  * A global signout.
@@ -43,8 +44,8 @@
       return info;
    }
 
-   public void execute() throws ControllerException
+   public Object execute() throws ControllerException
    {
-      // Do nothing
+      return new SignOutResponse();
    }
 }

Copied: trunk/core/src/main/org/jboss/portal/core/controller/command/ViewDashboardCommand.java (from rev 5410, trunk/core/src/main/org/jboss/portal/core/controller/ViewDashboardCommand.java)
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/controller/ViewDashboardCommand.java	2006-10-10 23:00:00 UTC (rev 5410)
+++ trunk/core/src/main/org/jboss/portal/core/controller/command/ViewDashboardCommand.java	2006-10-10 23:31:55 UTC (rev 5411)
@@ -0,0 +1,126 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.portal.core.controller.command;
+
+import org.jboss.portal.core.controller.command.info.CommandInfo;
+import org.jboss.portal.core.controller.command.info.ViewCommandInfo;
+import org.jboss.portal.core.controller.command.PortalCommand;
+import org.jboss.portal.core.controller.command.response.UpdateWindowMarkupResponse;
+import org.jboss.portal.core.controller.command.response.UpdateViewResponse;
+import org.jboss.portal.core.controller.ControllerException;
+import org.jboss.portal.core.controller.ControllerSecurityException;
+import org.jboss.portal.core.model.portal.Page;
+import org.jboss.portal.core.model.portal.DuplicatePortalObjectException;
+import org.jboss.portal.core.model.portal.PortalObject;
+import org.jboss.portal.core.model.portal.Window;
+import org.jboss.portal.security.spi.auth.PortalAuthorizationManager;
+import org.jboss.portal.security.PortalSecurityException;
+
+import java.util.Map;
+import java.util.Iterator;
+
+/**
+ * @author <a href="mailto:julien at jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class ViewDashboardCommand extends PortalCommand
+{
+
+   /** . */
+   private static final CommandInfo info = new ViewCommandInfo(false, "view");
+
+   /** . */
+   private Page dashboardPage;
+
+   /** . */
+   private String userId;
+
+   public ViewDashboardCommand(String portalId)
+   {
+      super(portalId);
+   }
+
+   public CommandInfo getInfo()
+   {
+      return info;
+   }
+
+   public void create() throws ControllerException
+   {
+      super.create();
+
+      //
+      userId = getControllerContext().getServerInvocation().getServerContext().getClientRequest().getRemoteUser();
+   }
+
+   public void enforceSecurity(PortalAuthorizationManager pam) throws ControllerSecurityException, PortalSecurityException
+   {
+      if (userId == null)
+      {
+         throw new ControllerSecurityException("User needs to be authenticated to view a dashboard");
+      }
+   }
+
+   public Object execute() throws ControllerException
+   {
+      dashboardPage = portal.getPage(userId);
+
+      // Create if not exist 
+      if (dashboardPage == null)
+      {
+         try
+         {
+            dashboardPage = portal.createPage(userId);
+            Page templatePage = (Page)portal.getParent().getChild("default").getChild("default");
+            for (Iterator i = templatePage.getChildren().iterator();i.hasNext();)
+            {
+               PortalObject child = (PortalObject)i.next();
+               if (child.getType() == PortalObject.TYPE_WINDOW)
+               {
+                  Window window = (Window)child;
+                  Window newWindow = dashboardPage.createWindow(window.getName());
+                  newWindow.setInstanceRef(window.getInstanceRef());
+                  for (Iterator j = window.getDeclaredProperties().entrySet().iterator();j.hasNext();)
+                  {
+                     Map.Entry entry = (Map.Entry)j.next();
+                     String name = (String)entry.getKey();
+                     String value = (String)entry.getValue();
+                     newWindow.setDeclaredProperty(name, value);
+                  }
+               }
+            }
+         }
+         catch (DuplicatePortalObjectException e)
+         {
+            throw new ControllerException(e);
+         }
+      }
+
+      //
+      return new UpdateViewResponse(dashboardPage.getId());
+   }
+
+   public Page getDashboardPage()
+   {
+      return dashboardPage;
+   }
+}

Added: trunk/core/src/main/org/jboss/portal/core/controller/command/response/PortletInvocationResponse.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/controller/command/response/PortletInvocationResponse.java	2006-10-10 23:00:00 UTC (rev 5410)
+++ trunk/core/src/main/org/jboss/portal/core/controller/command/response/PortletInvocationResponse.java	2006-10-10 23:31:55 UTC (rev 5411)
@@ -0,0 +1,62 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.portal.core.controller.command.response;
+
+import org.jboss.portal.portlet.result.Result;
+
+/**
+ * @author <a href="mailto:julien at jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class PortletInvocationResponse
+{
+
+   /** . */
+   private String windowId;
+
+   /** . */
+   private Result result;
+
+   public PortletInvocationResponse(String windowId, Result result)
+   {
+      if (windowId == null)
+      {
+         throw new IllegalArgumentException();
+      }
+      if (result == null)
+      {
+         throw new IllegalArgumentException();
+      }
+      this.windowId = windowId;
+      this.result = result;
+   }
+
+   public String getWindowId()
+   {
+      return windowId;
+   }
+
+   public Result getResult()
+   {
+      return result;
+   }
+}

Added: trunk/core/src/main/org/jboss/portal/core/controller/command/response/SignOutResponse.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/controller/command/response/SignOutResponse.java	2006-10-10 23:00:00 UTC (rev 5410)
+++ trunk/core/src/main/org/jboss/portal/core/controller/command/response/SignOutResponse.java	2006-10-10 23:31:55 UTC (rev 5411)
@@ -0,0 +1,30 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.portal.core.controller.command.response;
+
+/**
+ * @author <a href="mailto:julien at jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class SignOutResponse
+{
+}

Added: trunk/core/src/main/org/jboss/portal/core/controller/command/response/StreamContentResponse.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/controller/command/response/StreamContentResponse.java	2006-10-10 23:00:00 UTC (rev 5410)
+++ trunk/core/src/main/org/jboss/portal/core/controller/command/response/StreamContentResponse.java	2006-10-10 23:31:55 UTC (rev 5411)
@@ -0,0 +1,62 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.portal.core.controller.command.response;
+
+import java.io.InputStream;
+
+/**
+ * @author <a href="mailto:julien at jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class StreamContentResponse
+{
+
+   /** . */
+   private String contentType;
+
+   /** . */
+   private InputStream inputStream;
+
+   public StreamContentResponse(String contentType, InputStream inputStream)
+   {
+      if (contentType == null)
+      {
+         throw new IllegalArgumentException();
+      }
+      if (inputStream == null)
+      {
+         throw new IllegalArgumentException();
+      }
+      this.contentType = contentType;
+      this.inputStream = inputStream;
+   }
+
+   public String getContentType()
+   {
+      return contentType;
+   }
+
+   public InputStream getInputStream()
+   {
+      return inputStream;
+   }
+}

Added: trunk/core/src/main/org/jboss/portal/core/controller/command/response/UpdateViewResponse.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/controller/command/response/UpdateViewResponse.java	2006-10-10 23:00:00 UTC (rev 5410)
+++ trunk/core/src/main/org/jboss/portal/core/controller/command/response/UpdateViewResponse.java	2006-10-10 23:31:55 UTC (rev 5411)
@@ -0,0 +1,47 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.portal.core.controller.command.response;
+
+/**
+ * @author <a href="mailto:julien at jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class UpdateViewResponse
+{
+
+   /** . */
+   private String pageId;
+
+   public UpdateViewResponse(String pageId)
+   {
+      if (pageId == null)
+      {
+         throw new IllegalArgumentException();
+      }
+      this.pageId = pageId;
+   }
+
+   public String getPageId()
+   {
+      return pageId;
+   }
+}

Added: trunk/core/src/main/org/jboss/portal/core/controller/command/response/UpdateWindowMarkupResponse.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/controller/command/response/UpdateWindowMarkupResponse.java	2006-10-10 23:00:00 UTC (rev 5410)
+++ trunk/core/src/main/org/jboss/portal/core/controller/command/response/UpdateWindowMarkupResponse.java	2006-10-10 23:31:55 UTC (rev 5411)
@@ -0,0 +1,47 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.portal.core.controller.command.response;
+
+/**
+ * @author <a href="mailto:julien at jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class UpdateWindowMarkupResponse
+{
+
+   /** . */
+   private String windowId;
+
+   public UpdateWindowMarkupResponse(String windowId)
+   {
+      if (windowId == null)
+      {
+         throw new IllegalArgumentException();
+      }
+      this.windowId = windowId;
+   }
+
+   public String getWindowId()
+   {
+      return windowId;
+   }
+}

Modified: trunk/core/src/main/org/jboss/portal/core/model/portal/DashboardCommandFactory.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/model/portal/DashboardCommandFactory.java	2006-10-10 23:00:00 UTC (rev 5410)
+++ trunk/core/src/main/org/jboss/portal/core/model/portal/DashboardCommandFactory.java	2006-10-10 23:31:55 UTC (rev 5411)
@@ -22,7 +22,7 @@
 package org.jboss.portal.core.model.portal;
 
 import org.jboss.portal.core.controller.ControllerCommand;
-import org.jboss.portal.core.controller.ViewDashboardCommand;
+import org.jboss.portal.core.controller.command.ViewDashboardCommand;
 import org.jboss.portal.core.controller.command.mapper.AbstractCommandFactory;
 import org.jboss.portal.server.ServerInvocation;
 

Modified: trunk/core/src/resources/portal-core-sar/META-INF/jboss-service.xml
===================================================================
--- trunk/core/src/resources/portal-core-sar/META-INF/jboss-service.xml	2006-10-10 23:00:00 UTC (rev 5410)
+++ trunk/core/src/resources/portal-core-sar/META-INF/jboss-service.xml	2006-10-10 23:31:55 UTC (rev 5411)
@@ -655,7 +655,7 @@
       xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
       <xmbean/>
       <attribute name="Path">/dashboard</attribute>
-      <attribute name="ClassNames">org.jboss.portal.core.controller.ViewDashboardCommand</attribute>
+      <attribute name="ClassNames">org.jboss.portal.core.controller.command.ViewDashboardCommand</attribute>
       <depends
          optional-attribute-name="Factory"
          proxy-type="attribute">portal:urlFactory=Delegating</depends>




More information about the jboss-svn-commits mailing list