You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bridges-commits@portals.apache.org by ta...@apache.org on 2005/11/13 19:38:22 UTC

svn commit: r333090 - /portals/bridges/trunk/frameworks/src/java/org/apache/portals/bridges/frameworks/GenericFrameworkPortlet.java

Author: taylor
Date: Sun Nov 13 10:38:18 2005
New Revision: 333090

URL: http://svn.apache.org/viewcvs?rev=333090&view=rev
Log:
clear bean from session on save

Modified:
    portals/bridges/trunk/frameworks/src/java/org/apache/portals/bridges/frameworks/GenericFrameworkPortlet.java

Modified: portals/bridges/trunk/frameworks/src/java/org/apache/portals/bridges/frameworks/GenericFrameworkPortlet.java
URL: http://svn.apache.org/viewcvs/portals/bridges/trunk/frameworks/src/java/org/apache/portals/bridges/frameworks/GenericFrameworkPortlet.java?rev=333090&r1=333089&r2=333090&view=diff
==============================================================================
--- portals/bridges/trunk/frameworks/src/java/org/apache/portals/bridges/frameworks/GenericFrameworkPortlet.java (original)
+++ portals/bridges/trunk/frameworks/src/java/org/apache/portals/bridges/frameworks/GenericFrameworkPortlet.java Sun Nov 13 10:38:18 2005
@@ -33,6 +33,7 @@
 import javax.portlet.PortletPreferences;
 import javax.portlet.PortletRequest;
 import javax.portlet.PortletRequestDispatcher;
+import javax.portlet.PortletResponse;
 import javax.portlet.PortletSession;
 import javax.portlet.ReadOnlyException;
 import javax.portlet.RenderRequest;
@@ -170,6 +171,8 @@
             forward = model.getForward(view, ForwardConstants.FAILURE);
         }
 
+        clearBeanFromSession(request, mb);
+        
         // (5) forward to another view
         forwardToView(request, response, forward);
 
@@ -289,120 +292,71 @@
      * @throws PortletException
      */
     protected String determineLogicalView(PortletRequest request) throws PortletException
-    {
+    {        
         String view = null;
+        PortletSession session = request.getPortletSession();
         if (request.getPortletMode().equals(PortletMode.VIEW))
         {
-            view = request.getParameter(FrameworkConstants.VIEW_VIEW_MODE);
+            view  = request.getParameter(FrameworkConstants.VIEW_VIEW_MODE);
             if (view == null)
             {
-                view = this.getDefaultViewPage();
+                view = (String)session.getAttribute(FrameworkConstants.VIEW_VIEW_MODE);
+                //view = request.getParameter(FrameworkConstants.VIEW_VIEW_MODE);
+                if (view == null)
+                {
+                    view = this.getDefaultViewPage();
+                }
             }
         }
         else if (request.getPortletMode().equals(PortletMode.EDIT))
         {
-            view = request.getParameter(FrameworkConstants.VIEW_EDIT_MODE);
+            view  = request.getParameter(FrameworkConstants.VIEW_EDIT_MODE);
             if (view == null)
-            {
-                view = this.getDefaultEditPage();
+            {            
+                view = (String)session.getAttribute(FrameworkConstants.VIEW_EDIT_MODE);
+                //view = request.getParameter(FrameworkConstants.VIEW_EDIT_MODE);
+                if (view == null)
+                {
+                    view = this.getDefaultEditPage();
+                }
             }
         }
         else if (request.getPortletMode().equals(PortletMode.HELP))
         {
-            view = request.getParameter(FrameworkConstants.VIEW_HELP_MODE);
+            view  = request.getParameter(FrameworkConstants.VIEW_HELP_MODE);
             if (view == null)
-            {
-                view = this.getDefaultHelpPage();
+            {            
+                view = (String)session.getAttribute(FrameworkConstants.VIEW_HELP_MODE);
+                //view = request.getParameter(FrameworkConstants.VIEW_HELP_MODE);
+                if (view == null)
+                {
+                    view = this.getDefaultHelpPage();
+                }
             }
         }
-        if (null == view) { throw new PortletException("Portlet error: cant find view resource for portlet: "
-                + this.getPortletName()); }
+        if (null == view) 
+        { 
+            throw new PortletException(
+                "Portlet error: cant find view resource for portlet: "
+                        + this.getPortletName()); 
+        }
         return view;
     }
-
-    protected void setLogicalView(ActionRequest request, ActionResponse response, String view, PortletMode newMode)
+    
+    protected void setLogicalView(PortletRequest request, PortletResponse response, String view, PortletMode newMode)
     {
-        if (newMode == null)
+        PortletSession session = request.getPortletSession();
+        if (request.getPortletMode().equals(PortletMode.VIEW))
         {
-            if (request.getPortletMode().equals(PortletMode.VIEW))
-            {
-                if (view == null || view.equals(this.getDefaultViewPage()))
-                {
-                    // clear it
-                    response.setRenderParameter(FrameworkConstants.VIEW_VIEW_MODE, view); //(String)
-                                                                                          // null);
-                }
-                else
-                {
-                    response.setRenderParameter(FrameworkConstants.VIEW_VIEW_MODE, view);
-                }
-            }
-            else if (view == null || request.getPortletMode().equals(PortletMode.EDIT))
-            {
-                if (view == null || view.equals(this.getDefaultEditPage()))
-                {
-                    // clear it
-                    response.setRenderParameter(FrameworkConstants.VIEW_EDIT_MODE, view); //(String)
-                                                                                          // null);
-                }
-                else
-                {
-                    response.setRenderParameter(FrameworkConstants.VIEW_EDIT_MODE, view);
-                }
-            }
-            else if (view == null || request.getPortletMode().equals(PortletMode.HELP))
-            {
-                if (view == null || view.equals(this.getDefaultHelpPage()))
-                {
-                    response.setRenderParameter(FrameworkConstants.VIEW_HELP_MODE, view); //(String)
-                                                                                          // null);
-                }
-                else
-                {
-                    response.setRenderParameter(FrameworkConstants.VIEW_HELP_MODE, view);
-                }
-            }
+            session.setAttribute(FrameworkConstants.VIEW_VIEW_MODE, view);                
         }
-        else
+        else if (request.getPortletMode().equals(PortletMode.EDIT))
         {
-            if (newMode.equals(PortletMode.VIEW))
-            {
-                if (view == null || view.equals(this.getDefaultViewPage()))
-                {
-                    // clear it
-                    response.setRenderParameter(FrameworkConstants.VIEW_VIEW_MODE, view); //(String)
-                                                                                          // null);
-                }
-                else
-                {
-                    response.setRenderParameter(FrameworkConstants.VIEW_VIEW_MODE, view);
-                }
-            }
-            else if (newMode.equals(PortletMode.EDIT))
-            {
-                if (view == null || view.equals(this.getDefaultEditPage()))
-                {
-                    // clear it
-                    response.setRenderParameter(FrameworkConstants.VIEW_EDIT_MODE, view); //(String)
-                                                                                          // null);
-                }
-                else
-                {
-                    response.setRenderParameter(FrameworkConstants.VIEW_EDIT_MODE, view);
-                }
-            }
-            else if (newMode.equals(PortletMode.HELP))
-            {
-                if (view == null || view.equals(this.getDefaultHelpPage()))
-                {
-                    response.setRenderParameter(FrameworkConstants.VIEW_HELP_MODE, view); //(String)
-                                                                                          // null);
-                }
-                else
-                {
-                    response.setRenderParameter(FrameworkConstants.VIEW_HELP_MODE, view);
-                }
-            }
+            session.setAttribute(FrameworkConstants.VIEW_EDIT_MODE, view);                
+        }
+        else if (request.getPortletMode().equals(PortletMode.HELP))
+        {
+            session.setAttribute(FrameworkConstants.VIEW_HELP_MODE, view);                
         }
     }
 
@@ -590,6 +544,12 @@
         return request.getPortletSession().getAttribute(makeModelBeanKey(mb));
     }
 
+    private void clearBeanFromSession(PortletRequest request, ModelBean mb)
+    {
+        System.out.println("Clearing bean " + makeModelBeanKey(mb));
+        request.getPortletSession().removeAttribute(makeModelBeanKey(mb));
+    }
+    
     private void putBeanInSession(PortletRequest request, ModelBean mb, Object bean)
     {
         if (bean instanceof Serializable)



---------------------------------------------------------------------
To unsubscribe, e-mail: bridges-commits-unsubscribe@portals.apache.org
For additional commands, e-mail: bridges-commits-help@portals.apache.org