[jboss-svn-commits] JBL Code SVN: r9926 - in labs/jbosslabs/trunk/portal-extensions: forge-mapper/src/java/org/jboss/labs/mapper/command and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sat Mar 3 09:58:15 EST 2007


Author: adamw
Date: 2007-03-03 09:58:15 -0500 (Sat, 03 Mar 2007)
New Revision: 9926

Modified:
   labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/MapperTools.java
   labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/AbstractLabsBaseCommandFactory.java
   labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/LabsPortalObjectCommandFactoryImpl.java
   labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/url/LabsMainUrlFactory.java
   labs/jbosslabs/trunk/portal-extensions/forge-tagme/
Log:
Fixing mappers

Modified: labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/MapperTools.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/MapperTools.java	2007-03-03 02:15:59 UTC (rev 9925)
+++ labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/MapperTools.java	2007-03-03 14:58:15 UTC (rev 9926)
@@ -1,8 +1,26 @@
 package org.jboss.labs.mapper;
 
+import org.jboss.portal.theme.navigation.WindowNavigationalState;
+import org.jboss.portal.server.ServerInvocation;
+import org.jboss.portal.core.model.portal.Window;
+
 /**
  * @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
  */
 public class MapperTools {
     public static final String JSF_VIEW_ID_PARAM = "org.apache.myfaces.portlet.MyFacesGenericPortlet.VIEW_ID";
+
+    public static WindowNavigationalState getWindowNavState(ServerInvocation invocation,
+                                                        Window window) {
+        WindowNavigationalState windowNavState = (WindowNavigationalState)
+                invocation.getAttribute(ServerInvocation.NAVIGATIONAL_STATE_SCOPE,
+                        window.getId() + "_window");
+        if (windowNavState == null) {
+            windowNavState = new WindowNavigationalState();
+            invocation.setAttribute(ServerInvocation.NAVIGATIONAL_STATE_SCOPE,
+                    window.getId() + "_window", windowNavState);
+        }
+
+        return windowNavState;
+    }
 }

Modified: labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/AbstractLabsBaseCommandFactory.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/AbstractLabsBaseCommandFactory.java	2007-03-03 02:15:59 UTC (rev 9925)
+++ labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/AbstractLabsBaseCommandFactory.java	2007-03-03 14:58:15 UTC (rev 9926)
@@ -8,6 +8,7 @@
 import org.jboss.portal.server.ServerInvocation;
 import org.jboss.portal.portlet.StateString;
 import org.jboss.portal.portlet.impl.PortletRequestDecoder;
+import org.jboss.labs.mapper.MapperTools;
 
 import java.io.IOException;
 
@@ -27,23 +28,9 @@
         this.container = container;
     }  
 
-    protected WindowNavigationalState getWindowNavState(ServerInvocation invocation,
-                                                        Window window) {
-        WindowNavigationalState windowNavState = (WindowNavigationalState)
-                invocation.getAttribute(ServerInvocation.NAVIGATIONAL_STATE_SCOPE,
-                        window.getId() + "_window");
-        if (windowNavState == null) {
-            windowNavState = new WindowNavigationalState();
-            invocation.setAttribute(ServerInvocation.NAVIGATIONAL_STATE_SCOPE,
-                    window.getId() + "_window", windowNavState);
-        }
-
-        return windowNavState;
-    }
-
     protected ControllerCommand invokeRenderCommand(ServerInvocation invocation, Window window,
                                                   StateString params) {
-        WindowNavigationalState windowNavState = getWindowNavState(invocation, window);
+        WindowNavigationalState windowNavState = MapperTools.getWindowNavState(invocation, window);
 
         return new InvokePortletWindowRenderCommand(window.getId(), windowNavState.getMode(),
                 windowNavState.getWindowState(), params);

Modified: labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/LabsPortalObjectCommandFactoryImpl.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/LabsPortalObjectCommandFactoryImpl.java	2007-03-03 02:15:59 UTC (rev 9925)
+++ labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/LabsPortalObjectCommandFactoryImpl.java	2007-03-03 14:58:15 UTC (rev 9926)
@@ -20,6 +20,7 @@
 import org.jboss.forge.common.exceptions.ServiceRetrievalException;
 import org.jboss.forge.common.ejb3.LabsServices;
 import org.jboss.labs.mapper.PathParser;
+import org.jboss.labs.mapper.MapperTools;
 import org.jboss.shotoku.aop.Inject;
 import org.jboss.shotoku.ContentManager;
 import org.jboss.shotoku.tools.Tools;
@@ -72,7 +73,7 @@
         decoder.decode(queryParams, invocation.getServerContext().getBodyParameterMap());
 
         // Get the window navigational state
-        WindowNavigationalState windowNavState = getWindowNavState(invocation, window);
+        WindowNavigationalState windowNavState = MapperTools.getWindowNavState(invocation, window);
 
         //
         WindowState windowState = decoder.getWindowState();

Modified: labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/url/LabsMainUrlFactory.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/url/LabsMainUrlFactory.java	2007-03-03 02:15:59 UTC (rev 9925)
+++ labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/url/LabsMainUrlFactory.java	2007-03-03 14:58:15 UTC (rev 9926)
@@ -68,6 +68,14 @@
         return asu;
     }
 
+    private String getFreezonePathFromStateString(StateString st) {
+        if (st instanceof PortletParametersStateString) {
+            return ((PortletParametersStateString) st).getValue(Constants.FREEZONE_PATH_PARAM);
+        }
+
+        return null;
+    }
+
     public ServerURL doMapping(ServerInvocation serverInvocation,
                                ControllerCommand command) {
         if (command == null) {
@@ -103,11 +111,16 @@
                     // A freezone window request; adding the resource path to
                     // the buffer.
                     freezone = true;
-                    String path = null;
-                    if (navigationalState instanceof PortletParametersStateString) {
-                        PortletParametersStateString ppss =
-                                (PortletParametersStateString) navigationalState;
-                        path = ppss.getParameters().getValue(Constants.FREEZONE_PATH_PARAM);
+                    String path;
+
+                    path = getFreezonePathFromStateString(navigationalState);
+                    if (path == null) {
+                        // If the path is not in the request parameters, getting it from
+                        // the portlet's navigation state (= render parameters).
+                        path = getFreezonePathFromStateString((StateString)
+                                serverInvocation.getContext().getAttributeResolver(
+                                        ServerInvocation.NAVIGATIONAL_STATE_SCOPE).getAttribute(
+                                        wndCmd.getTargetId()));
                     }
 
                     addToPath(sb, poc.getTargetId(), false);
@@ -127,27 +140,27 @@
                 } else if (renderCmd != null) {
                     PortletRequestEncoder.encodeRender(url, navigationalState,
                             renderCmd.getMode(), renderCmd.getWindowState());
+                }
 
-                    if (freezone) {
-                        // If the target object is the freezone window, and the
-                        // request isn't only a render request, but also, for
-                        // example, window state change, we leave the meta
-                        // parameter intact. Otherwise, we remove it from the
-                        // url.
-                        Object meta = url.getParameterMap().get(
-                                PortletRequestDecoder.META_PARAMETER);
+                if (freezone) {
+                    // If the target object is the freezone window, and the
+                    // request isn't only a render request, but also, for
+                    // example, window state change, we leave the meta
+                    // parameter intact. Otherwise, we remove it from the
+                    // url.
+                    Object meta = url.getParameterMap().get(
+                            PortletRequestDecoder.META_PARAMETER);
 
-                        if (meta != null) {
-                            int metaInt = Integer.parseInt(((String []) meta)[0], 16);
+                    if (meta != null) {
+                        int metaInt = Integer.parseInt(((String []) meta)[0], 16);
 
-                            if ((metaInt | PortletRequestDecoder.RENDER_MASK) ==
-                                    PortletRequestDecoder.RENDER_MASK) {
-                                url.getParameterMap().remove(PortletRequestDecoder.META_PARAMETER);
-                            }
+                        if ((metaInt | PortletRequestDecoder.RENDER_MASK) ==
+                                PortletRequestDecoder.RENDER_MASK) {
+                            url.getParameterMap().remove(PortletRequestDecoder.META_PARAMETER);
                         }
+                    }
 
-                        url.getParameterMap().remove(Constants.FREEZONE_PATH_PARAM);
-                    }
+                    url.getParameterMap().remove(Constants.FREEZONE_PATH_PARAM);
                 }
 
                 return url;


Property changes on: labs/jbosslabs/trunk/portal-extensions/forge-tagme
___________________________________________________________________
Name: svn:ignore
   - target

   + target
.gwt-cache





More information about the jboss-svn-commits mailing list