[jboss-svn-commits] JBoss Portal SVN: r5384 - in trunk: core/src/main/org/jboss/portal/core/aspects/controller core/src/main/org/jboss/portal/core/controller core/src/main/org/jboss/portal/core/controller/ajax core/src/main/org/jboss/portal/core/controller/command core/src/resources/portal-core-sar/META-INF theme/src/main/org/jboss/portal/theme/impl/render/dynamic

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Oct 9 20:02:01 EDT 2006


Author: julien at jboss.com
Date: 2006-10-09 20:01:51 -0400 (Mon, 09 Oct 2006)
New Revision: 5384

Modified:
   trunk/core/src/main/org/jboss/portal/core/aspects/controller/PolicyEnforcementInterceptor.java
   trunk/core/src/main/org/jboss/portal/core/controller/CoreController.java
   trunk/core/src/main/org/jboss/portal/core/controller/ajax/AjaxController.java
   trunk/core/src/main/org/jboss/portal/core/controller/command/MoveWindowCommand.java
   trunk/core/src/resources/portal-core-sar/META-INF/jboss-service.xml
   trunk/theme/src/main/org/jboss/portal/theme/impl/render/dynamic/DynaRegionRenderer.java
Log:
- save window move position in DB for dashboard

Modified: trunk/core/src/main/org/jboss/portal/core/aspects/controller/PolicyEnforcementInterceptor.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/aspects/controller/PolicyEnforcementInterceptor.java	2006-10-09 21:30:48 UTC (rev 5383)
+++ trunk/core/src/main/org/jboss/portal/core/aspects/controller/PolicyEnforcementInterceptor.java	2006-10-10 00:01:51 UTC (rev 5384)
@@ -54,18 +54,6 @@
    /** Trace . */
    protected boolean isTrace = log.isTraceEnabled();
 
-   private PortalAuthorizationManagerFactory portalAuthorizationManagerFactory;
-
-   public PortalAuthorizationManagerFactory getPortalAuthorizationManagerFactory()
-   {
-      return portalAuthorizationManagerFactory;
-   }
-
-   public void setPortalAuthorizationManagerFactory(PortalAuthorizationManagerFactory portalAuthorizationManagerFactory)
-   {
-      this.portalAuthorizationManagerFactory = portalAuthorizationManagerFactory;
-   }
-
    /**
     * @param cmd
     * @throws org.jboss.portal.common.invocation.InvocationException
@@ -74,7 +62,8 @@
    {
       try
       {
-         PortalAuthorizationManager pam = this.portalAuthorizationManagerFactory.getManager();
+         PortalAuthorizationManagerFactory pamf = cmd.getControllerContext().getController().getPortalAuthorizationManagerFactory();
+         PortalAuthorizationManager pam = pamf.getManager();
          cmd.enforceSecurity(pam);
          cmd.invokeNext();
       }

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-09 21:30:48 UTC (rev 5383)
+++ trunk/core/src/main/org/jboss/portal/core/controller/CoreController.java	2006-10-10 00:01:51 UTC (rev 5384)
@@ -54,6 +54,7 @@
 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;
@@ -86,6 +87,19 @@
    /** . */
    private InstanceContainer instanceContainer;
 
+   /** . */
+   private PortalAuthorizationManagerFactory portalAuthorizationManagerFactory;
+
+   public PortalAuthorizationManagerFactory getPortalAuthorizationManagerFactory()
+   {
+      return portalAuthorizationManagerFactory;
+   }
+
+   public void setPortalAuthorizationManagerFactory(PortalAuthorizationManagerFactory portalAuthorizationManagerFactory)
+   {
+      this.portalAuthorizationManagerFactory = portalAuthorizationManagerFactory;
+   }
+
    public InstanceContainer getInstanceContainer()
    {
       return instanceContainer;

Modified: trunk/core/src/main/org/jboss/portal/core/controller/ajax/AjaxController.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/controller/ajax/AjaxController.java	2006-10-09 21:30:48 UTC (rev 5383)
+++ trunk/core/src/main/org/jboss/portal/core/controller/ajax/AjaxController.java	2006-10-10 00:01:51 UTC (rev 5384)
@@ -24,7 +24,6 @@
 import org.jboss.portal.server.RequestController;
 import org.jboss.portal.server.ServerInvocation;
 import org.jboss.portal.server.ServerException;
-import org.jboss.portal.jems.as.system.AbstractJBossService;
 import org.jboss.portal.core.controller.ControllerCommand;
 import org.jboss.portal.core.controller.ControllerContext;
 import org.jboss.portal.core.controller.CoreController;
@@ -32,8 +31,6 @@
 import org.jboss.portal.core.controller.command.MoveWindowCommand;
 
 import javax.servlet.http.HttpServletRequest;
-import java.util.Map;
-import java.util.HashMap;
 
 /**
  * @author <a href="mailto:julien at jboss.org">Julien Viet</a>
@@ -51,12 +48,12 @@
       {
          String windowId = req.getParameter("windowId");
          String fromPos = req.getParameter("fromPos");
-         String fromRegionId = req.getParameter("fromRegionId");
+         String fromRegion = req.getParameter("fromRegion");
          String toPos = req.getParameter("toPos");
-         String toRegionId = req.getParameter("toRegionId");
+         String toRegion = req.getParameter("toRegion");
          int fromPosInt = Integer.parseInt(fromPos);
          int toPosInt = Integer.parseInt(toPos);
-         ControllerCommand cmd = new MoveWindowCommand(windowId, fromPosInt, fromRegionId, toPosInt, toRegionId);
+         ControllerCommand cmd = new MoveWindowCommand(windowId, fromPosInt, fromRegion, toPosInt, toRegion);
          ControllerContext controllerContext = new ControllerContext(invocation, this);
          try
          {

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-09 21:30:48 UTC (rev 5383)
+++ trunk/core/src/main/org/jboss/portal/core/controller/command/MoveWindowCommand.java	2006-10-10 00:01:51 UTC (rev 5384)
@@ -25,8 +25,15 @@
 import org.jboss.portal.core.controller.command.info.ActionCommandInfo;
 import org.jboss.portal.core.controller.ControllerException;
 import org.jboss.portal.core.controller.ControllerCommand;
+import org.jboss.portal.core.model.portal.PortalObject;
+import org.jboss.portal.core.model.portal.Window;
+import org.jboss.portal.core.model.portal.PortalObjectPermission;
 import org.jboss.portal.theme.page.WindowContext;
 import org.jboss.portal.theme.navigation.PageNavigationalState;
+import org.jboss.portal.theme.ThemeConstants;
+import org.jboss.portal.security.spi.auth.PortalAuthorizationManagerFactory;
+import org.jboss.portal.security.spi.auth.PortalAuthorizationManager;
+import org.jboss.portal.security.PortalSecurityException;
 
 import java.util.Iterator;
 
@@ -44,22 +51,22 @@
    private int fromPos;
 
    /** . */
-   private String fromRegionId;
+   private String fromRegion;
 
    /** . */
    private int toPos;
 
    /** . */
-   private String toRegionId;
+   private String toRegion;
 
    public MoveWindowCommand(String windowRef, int fromPos, String fromRegion, int toPos, String toRegion)
       throws IllegalArgumentException
    {
       super(windowRef);
       this.fromPos = fromPos;
-      this.fromRegionId = fromRegion;
+      this.fromRegion = fromRegion;
       this.toPos = toPos;
-      this.toRegionId = toRegion;
+      this.toRegion = toRegion;
    }
 
    public CommandInfo getInfo()
@@ -80,17 +87,67 @@
          String windowRegion = windowCtx.getRegionName();
          if (windowRef.equals(windowCtx.getId()))
          {
-            windowCtx.setRegionName(toRegionId);
+            windowCtx.setRegionName(toRegion);
             windowCtx.setOrder(toPos);
          }
-         else if (fromRegionId.equals(windowRegion) && fromPos < windowCtx.getOrder())
+         else if (fromRegion.equals(windowRegion) && fromPos < windowCtx.getOrder())
          {
             windowCtx.setOrder(windowCtx.getOrder() - 1);
          }
-         else if (toRegionId.equals(windowRegion) && toPos <= windowCtx.getOrder())
+         else if (toRegion.equals(windowRegion) && toPos <= windowCtx.getOrder())
          {
             windowCtx.setOrder(windowCtx.getOrder() + 1);
          }
       }
+
+      try
+      {
+         PortalAuthorizationManagerFactory pamf = getControllerContext().getController().getPortalAuthorizationManagerFactory();
+         PortalAuthorizationManager pam = pamf.getManager();
+         PortalObjectPermission perm = new PortalObjectPermission(windowRef, PortalObjectPermission.DASHBOARD_MASK);
+
+         //
+         if (pam.checkPermission(perm))
+         {
+            for (Iterator i = page.getChildren().iterator(); i.hasNext();)
+            {
+               PortalObject child = (PortalObject)i.next();
+               if (child.getType() == PortalObject.TYPE_WINDOW)
+               {
+                  Window window = (Window)child;
+                  String windowId = window.getId();
+                  String regionId = window.getDeclaredProperty(ThemeConstants.PORTAL_PROP_REGION);
+                  String posAsString = window.getDeclaredProperty(ThemeConstants.PORTAL_PROP_ORDER);
+                  if (regionId != null && posAsString != null)
+                  {
+                     try
+                     {
+                        int pos = Integer.parseInt(posAsString);
+                        if (windowRef.equals(windowId))
+                        {
+                           window.setDeclaredProperty(ThemeConstants.PORTAL_PROP_REGION, toRegion);
+                           window.setDeclaredProperty(ThemeConstants.PORTAL_PROP_ORDER, Integer.toString(toPos));
+                        }
+                        else if (fromRegion.equals(regionId) && fromPos < pos)
+                        {
+                           window.setDeclaredProperty(ThemeConstants.PORTAL_PROP_ORDER, Integer.toString(toPos - 1));
+                        }
+                        else if (toRegion.equals(regionId) && toPos <= pos)
+                        {
+                           window.setDeclaredProperty(ThemeConstants.PORTAL_PROP_ORDER, Integer.toString(toPos + 1));
+                        }
+                     }
+                     catch (NumberFormatException e)
+                     {
+                     }
+                  }
+               }
+            }
+         }
+      }
+      catch (PortalSecurityException e)
+      {
+         log.error("", e);
+      }
    }
 }

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-09 21:30:48 UTC (rev 5383)
+++ trunk/core/src/resources/portal-core-sar/META-INF/jboss-service.xml	2006-10-10 00:01:51 UTC (rev 5384)
@@ -111,9 +111,6 @@
       xmbean-dd=""
       xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
       <xmbean/>
-      <depends
-         optional-attribute-name="PortalAuthorizationManagerFactory"
-         proxy-type="attribute">portal:service=PortalAuthorizationManagerFactory</depends>
    </mbean>
    <mbean
       code="org.jboss.portal.core.aspects.controller.PageNavigationInterceptor"
@@ -740,6 +737,9 @@
       <depends
          optional-attribute-name="InstanceContainer"
          proxy-type="attribute">portal:container=Instance</depends>
+      <depends
+         optional-attribute-name="PortalAuthorizationManagerFactory"
+         proxy-type="attribute">portal:service=PortalAuthorizationManagerFactory</depends>
    </mbean>
 
    <!-- The ajax controller -->
@@ -767,6 +767,9 @@
       <depends
          optional-attribute-name="InstanceContainer"
          proxy-type="attribute">portal:container=Instance</depends>
+      <depends
+         optional-attribute-name="PortalAuthorizationManagerFactory"
+         proxy-type="attribute">portal:service=PortalAuthorizationManagerFactory</depends>
    </mbean>
 
    <!-- -->

Modified: trunk/theme/src/main/org/jboss/portal/theme/impl/render/dynamic/DynaRegionRenderer.java
===================================================================
--- trunk/theme/src/main/org/jboss/portal/theme/impl/render/dynamic/DynaRegionRenderer.java	2006-10-09 21:30:48 UTC (rev 5383)
+++ trunk/theme/src/main/org/jboss/portal/theme/impl/render/dynamic/DynaRegionRenderer.java	2006-10-10 00:01:51 UTC (rev 5384)
@@ -137,7 +137,7 @@
                "{\n" +
                "   var options = {\n" +
                "      method: 'post',\n" +
-               "      postBody: 'action=' + action + '&windowId=' + windowId + '&fromPos=' + fromPos + '&fromRegionId=' + fromRegionId + '&toPos=' + toPos + '&toRegionId=' + toRegionId,\n" +
+               "      postBody: 'action=' + action + '&windowId=' + windowId + '&fromPos=' + fromPos + '&fromRegion=' + fromRegionId + '&toPos=' + toPos + '&toRegion=' + toRegionId,\n" +
                "      onSuccess: function(t)\n" +
                "      {\n" +
                "      },\n" +




More information about the jboss-svn-commits mailing list