You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by cz...@apache.org on 2006/02/05 19:08:47 UTC

svn commit: r375068 - in /cocoon/trunk/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/pluto: DynamicInformationProviderImpl.java PortletActionProviderImpl.java PortletURLProviderImpl.java adapter/PortletWindowAspect.java

Author: cziegeler
Date: Sun Feb  5 10:08:46 2006
New Revision: 375068

URL: http://svn.apache.org/viewcvs?rev=375068&view=rev
Log:
Portlet mode and window state are not serializale, so store only strings in session

Modified:
    cocoon/trunk/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/pluto/DynamicInformationProviderImpl.java
    cocoon/trunk/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/pluto/PortletActionProviderImpl.java
    cocoon/trunk/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/pluto/PortletURLProviderImpl.java
    cocoon/trunk/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/pluto/adapter/PortletWindowAspect.java

Modified: cocoon/trunk/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/pluto/DynamicInformationProviderImpl.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/pluto/DynamicInformationProviderImpl.java?rev=375068&r1=375067&r2=375068&view=diff
==============================================================================
--- cocoon/trunk/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/pluto/DynamicInformationProviderImpl.java (original)
+++ cocoon/trunk/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/pluto/DynamicInformationProviderImpl.java Sun Feb  5 10:08:46 2006
@@ -91,11 +91,11 @@
      */
     public PortletMode getPortletMode(PortletWindow portletWindow) {
         final CopletInstanceData cid = ((PortletEntityImpl)portletWindow.getPortletEntity()).getCopletInstanceData();
-        PortletMode pm = (PortletMode) cid.getTemporaryAttribute("portlet-mode");
-        if ( pm == null ) {
-            pm = PortletMode.VIEW;
+        final String pmString = (String)cid.getTemporaryAttribute("portlet-mode");
+        if ( pmString == null ) {
+            return PortletMode.VIEW;
         }
-        return pm;
+        return new PortletMode(pmString);
     }
 
     /**
@@ -103,11 +103,11 @@
      */
     public WindowState getWindowState(PortletWindow portletWindow) {
         final CopletInstanceData cid = ((PortletEntityImpl)portletWindow.getPortletEntity()).getCopletInstanceData();
-        WindowState ws = (WindowState) cid.getTemporaryAttribute("window-state");
-        if ( ws == null ) {
-            ws = WindowState.NORMAL;
+        final String wsString = (String)cid.getTemporaryAttribute("window-state");
+        if ( wsString == null ) {
+            return WindowState.NORMAL;
         }
-        return ws;
+        return new WindowState(wsString);
     }
 
     /**

Modified: cocoon/trunk/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/pluto/PortletActionProviderImpl.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/pluto/PortletActionProviderImpl.java?rev=375068&r1=375067&r2=375068&view=diff
==============================================================================
--- cocoon/trunk/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/pluto/PortletActionProviderImpl.java (original)
+++ cocoon/trunk/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/pluto/PortletActionProviderImpl.java Sun Feb  5 10:08:46 2006
@@ -56,11 +56,7 @@
     public void changePortletMode(PortletMode mode) {
         if ( mode != null ) {
             final CopletInstanceData cid = ((PortletEntityImpl)portletWindow.getPortletEntity()).getCopletInstanceData();
-            PortletMode pm = (PortletMode) cid.getTemporaryAttribute("portlet-mode");
-            if ( (pm == null && !mode.equals(PortletMode.VIEW)) 
-                || (pm != null && !pm.equals(mode)) ) {
-                cid.setTemporaryAttribute("portlet-mode", mode);
-            }
+            cid.setTemporaryAttribute("portlet-mode", mode.toString());
         }
     }
 
@@ -70,16 +66,14 @@
     public void changePortletWindowState(WindowState state) {
         if ( state != null ) {
             final CopletInstanceData cid = ((PortletEntityImpl)portletWindow.getPortletEntity()).getCopletInstanceData();
-            WindowState ws = (WindowState) cid.getTemporaryAttribute("window-state");
-            if ( (ws == null && !state.equals(WindowState.NORMAL))
-                || (ws != null && !ws.equals(state)) ) {
-                cid.setTemporaryAttribute("window-state", state);
-                int size = CopletInstanceData.SIZE_NORMAL;
-                if ( state.equals(WindowState.MAXIMIZED) ) {
-                    size = CopletInstanceData.SIZE_MAXIMIZED;
-                } else if ( state.equals(WindowState.MINIMIZED) ) {
-                    size = CopletInstanceData.SIZE_MINIMIZED;
-                }
+            cid.setTemporaryAttribute("window-state", state.toString());
+            int size = CopletInstanceData.SIZE_NORMAL;
+            if ( state.equals(WindowState.MAXIMIZED) ) {
+                size = CopletInstanceData.SIZE_MAXIMIZED;
+            } else if ( state.equals(WindowState.MINIMIZED) ) {
+                size = CopletInstanceData.SIZE_MINIMIZED;
+            }
+            if ( size != cid.getSize() ) {
                 final Event e = new CopletInstanceSizingEvent(cid, size);
                 this.portalService.getEventManager().send(e);
             }

Modified: cocoon/trunk/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/pluto/PortletURLProviderImpl.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/pluto/PortletURLProviderImpl.java?rev=375068&r1=375067&r2=375068&view=diff
==============================================================================
--- cocoon/trunk/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/pluto/PortletURLProviderImpl.java (original)
+++ cocoon/trunk/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/pluto/PortletURLProviderImpl.java Sun Feb  5 10:08:46 2006
@@ -220,27 +220,7 @@
      */
     private String getURL() {
         if ( this.generatedURL == null ) {
-            final PortletWindowImpl impl = (PortletWindowImpl)this.portletWindow;
-            final CopletLayout cl = impl.getLayout();
-            Event sizingEvent = null;
-            if ( cl != null ) {
-                final CopletInstanceData cid = cl.getCopletInstanceData();
-                WindowState oldState = (WindowState)cid.getTemporaryAttribute("window-state"); 
-                if ( oldState == null ) {
-                    oldState = WindowState.NORMAL;
-                }
-            }
-
-            List l = new ArrayList();
-            if ( sizingEvent != null ) {
-                l.add(sizingEvent);
-            }
-            l.add(this);
-            if (secure == null) {
-                this.generatedURL = this.linkService.getLinkURI(l);
-            } else {
-                this.generatedURL = this.linkService.getLinkURI(l, secure);
-            }
+            this.generatedURL = this.linkService.getLinkURI(this, this.secure);
         }
         return linkService.encodeURL(this.generatedURL);
     }

Modified: cocoon/trunk/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/pluto/adapter/PortletWindowAspect.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/pluto/adapter/PortletWindowAspect.java?rev=375068&r1=375067&r2=375068&view=diff
==============================================================================
--- cocoon/trunk/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/pluto/adapter/PortletWindowAspect.java (original)
+++ cocoon/trunk/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/pluto/adapter/PortletWindowAspect.java Sun Feb  5 10:08:46 2006
@@ -147,9 +147,12 @@
                 DynamicInformationProvider dip = ips.getDynamicProvider((HttpServletRequest) context.getObjectModel().get("portlet-request"));
 
                 // Sizing
-                WindowState ws = (WindowState)copletInstanceData.getTemporaryAttribute("window-state"); 
-                if ( ws == null ) {
+                final String wsString = (String)copletInstanceData.getTemporaryAttribute("window-state");
+                final WindowState ws; 
+                if ( wsString == null ) {
                     ws = WindowState.NORMAL;
+                } else {
+                    ws = new WindowState(wsString);
                 }
 
                 if ( !ws.equals(WindowState.MINIMIZED) && !ws.equals(WindowState.MAXIMIZED)) {
@@ -175,9 +178,12 @@
                 }
 
                 // portlet modes
-                PortletMode pm = (PortletMode)copletInstanceData.getTemporaryAttribute("portlet-mode"); 
-                if ( pm == null ) {
+                final String pmString = (String)copletInstanceData.getTemporaryAttribute("portlet-mode");
+                final PortletMode pm; 
+                if ( pmString == null ) {
                     pm = PortletMode.VIEW;
+                } else {
+                    pm = new PortletMode(pmString);
                 }
                 if ( !pm.equals(PortletMode.EDIT) ) {
                     PortletURLProviderImpl url = (PortletURLProviderImpl)dip.getPortletURLProvider(window);