[gatein-commits] gatein SVN: r3801 - in portal/branches/branched-r3776/webui: portlet/src/main/java/org/exoplatform/webui/core and 1 other directory.

do-not-reply at jboss.org do-not-reply at jboss.org
Wed Aug 11 03:21:57 EDT 2010


Author: hoang_to
Date: 2010-08-11 03:21:56 -0400 (Wed, 11 Aug 2010)
New Revision: 3801

Modified:
   portal/branches/branched-r3776/webui/portal/src/main/java/org/exoplatform/portal/webui/application/UIPortletLifecycle.java
   portal/branches/branched-r3776/webui/portlet/src/main/java/org/exoplatform/webui/core/UIPortletApplication.java
Log:
Apply patch for GTNPORTAL-1383

Modified: portal/branches/branched-r3776/webui/portal/src/main/java/org/exoplatform/portal/webui/application/UIPortletLifecycle.java
===================================================================
--- portal/branches/branched-r3776/webui/portal/src/main/java/org/exoplatform/portal/webui/application/UIPortletLifecycle.java	2010-08-11 07:12:45 UTC (rev 3800)
+++ portal/branches/branched-r3776/webui/portal/src/main/java/org/exoplatform/portal/webui/application/UIPortletLifecycle.java	2010-08-11 07:21:56 UTC (rev 3801)
@@ -186,94 +186,93 @@
     	 
          RenderInvocation renderInvocation = uicomponent.create(RenderInvocation.class, prcontext);
 
-         if (uicomponent.getCurrentWindowState() != WindowState.MINIMIZED)
+         String appStatus = uicomponent.getProperties().get("appStatus");
+         if ("Window".equals(uicomponent.getPortletStyle()) && !("SHOW".equals(appStatus) || "HIDE".equals(appStatus)))
          {
-            String appStatus = uicomponent.getProperties().get("appStatus");
-            if ("Window".equals(uicomponent.getPortletStyle())
-               && !("SHOW".equals(appStatus) || "HIDE".equals(appStatus)))
+            markup = Text.create("<span></span>");
+         }
+         else
+         {
+            int portalMode = Util.getUIPortalApplication().getModeState();
+
+            //Check mode of portal, portlet and permission for viewable
+            if ((portalMode == UIPortalApplication.NORMAL_MODE || portalMode == UIPortalApplication.APP_VIEW_EDIT_MODE
+                  || portalMode == UIPortalApplication.CONTAINER_VIEW_EDIT_MODE || uicomponent.getCurrentPortletMode()
+                  .equals(PortletMode.EDIT))
+                  && uicomponent.hasPermission())
             {
-               markup = Text.create("<span></span>");
-            }
-            else
-            {
-               int portalMode = Util.getUIPortalApplication().getModeState();
-               
-               //Check mode of portal, portlet and permission for viewable
-               if ((portalMode == UIPortalApplication.NORMAL_MODE || portalMode == UIPortalApplication.APP_VIEW_EDIT_MODE 
-            		   || portalMode == UIPortalApplication.CONTAINER_VIEW_EDIT_MODE || uicomponent.getCurrentPortletMode().equals(PortletMode.EDIT)) 
-            		   && uicomponent.hasPermission())
+               PortletInvocationResponse response = uicomponent.invoke(renderInvocation);
+               if (response instanceof FragmentResponse)
                {
-                  PortletInvocationResponse response = uicomponent.invoke(renderInvocation);
-                  if (response instanceof FragmentResponse)
+                  FragmentResponse fragmentResponse = (FragmentResponse) response;
+                  switch (fragmentResponse.getType())
                   {
-                	  FragmentResponse fragmentResponse = (FragmentResponse)response;
-                	  switch (fragmentResponse.getType())
-                	  {
-                	  case FragmentResponse.TYPE_CHARS:
-                		  markup = Text.create(fragmentResponse.getContent());
-                		  break;
-                	  case FragmentResponse.TYPE_BYTES:
-                		  markup = Text.create(fragmentResponse.getBytes(), Charset.forName("UTF-8"));
-                		  break;
-                	  case FragmentResponse.TYPE_EMPTY:
-                		  markup = Text.create("");
-                		  break;
-                	  }
-                	  portletTitle = fragmentResponse.getTitle();
+                     case FragmentResponse.TYPE_CHARS :
+                        markup = Text.create(fragmentResponse.getContent());
+                        break;
+                     case FragmentResponse.TYPE_BYTES :
+                        markup = Text.create(fragmentResponse.getBytes(), Charset.forName("UTF-8"));
+                        break;
+                     case FragmentResponse.TYPE_EMPTY :
+                        markup = Text.create("");
+                        break;
+                  }
+                  portletTitle = fragmentResponse.getTitle();
 
-                	  // setup portlet properties
-                	  if (fragmentResponse.getProperties() != null)
-                	  {
-                		  //setup transport headers
-                		  if (fragmentResponse.getProperties().getTransportHeaders() != null)
-                		  {
-                			  MultiValuedPropertyMap<String> transportHeaders =
-                				  fragmentResponse.getProperties().getTransportHeaders();
-                			  for (String key : transportHeaders.keySet())
-                			  {
-                				  for (String value : transportHeaders.getValues(key))
-                				  {
-                					  prcontext.getResponse().setHeader(key, value);
-                				  }
-                			  }
-                		  }
-                		  
-                		  //setup up portlet cookies
-                		  if (fragmentResponse.getProperties().getCookies() != null)
-                		  {
-                		     List<Cookie> cookies = fragmentResponse.getProperties().getCookies();
-                		     for (Cookie cookie : cookies)
-                		     {
-                		        prcontext.getResponse().addCookie(cookie);
-                		     }
-                		  }
+                  // setup portlet properties
+                  if (fragmentResponse.getProperties() != null)
+                  {
+                     //setup transport headers
+                     if (fragmentResponse.getProperties().getTransportHeaders() != null)
+                     {
+                        MultiValuedPropertyMap<String> transportHeaders = fragmentResponse.getProperties()
+                              .getTransportHeaders();
+                        for (String key : transportHeaders.keySet())
+                        {
+                           for (String value : transportHeaders.getValues(key))
+                           {
+                              prcontext.getResponse().setHeader(key, value);
+                           }
+                        }
+                     }
 
-                		  //setup markup headers
-                		  if (fragmentResponse.getProperties().getMarkupHeaders() != null)
-                		  {
-                			  MultiValuedPropertyMap<Element> markupHeaders =
-                				  fragmentResponse.getProperties().getMarkupHeaders();
+                     //setup up portlet cookies
+                     if (fragmentResponse.getProperties().getCookies() != null)
+                     {
+                        List<Cookie> cookies = fragmentResponse.getProperties().getCookies();
+                        for (Cookie cookie : cookies)
+                        {
+                           prcontext.getResponse().addCookie(cookie);
+                        }
+                     }
 
-                			  List<Element> markupElements = markupHeaders.getValues(MimeResponse.MARKUP_HEAD_ELEMENT);
-                			  if (markupElements != null)
-                			  {
-                				  for (Element element : markupElements)
-                				  {
-                					  if ("title".equals(element.getNodeName().toLowerCase()) && element.getFirstChild() != null)
-                					  {
-                						  String title = element.getFirstChild().getTextContent();
-                						  prcontext.getRequest().setAttribute(PortalRequestContext.REQUEST_TITLE, title);
-                					  }
-                					  else
-                					  {
-                						  prcontext.addExtraMarkupHeader(element);
-                					  }
-                				  }
-                			  }
-                		  }
-                	  }
+                     //setup markup headers
+                     if (fragmentResponse.getProperties().getMarkupHeaders() != null)
+                     {
+                        MultiValuedPropertyMap<Element> markupHeaders = fragmentResponse.getProperties()
+                              .getMarkupHeaders();
 
+                        List<Element> markupElements = markupHeaders.getValues(MimeResponse.MARKUP_HEAD_ELEMENT);
+                        if (markupElements != null)
+                        {
+                           for (Element element : markupElements)
+                           {
+                              if ("title".equals(element.getNodeName().toLowerCase())
+                                    && element.getFirstChild() != null)
+                              {
+                                 String title = element.getFirstChild().getTextContent();
+                                 prcontext.getRequest().setAttribute(PortalRequestContext.REQUEST_TITLE, title);
+                              }
+                              else
+                              {
+                                 prcontext.addExtraMarkupHeader(element);
+                              }
+                           }
+                        }
+                     }
                   }
+
+                  }
                   else
                   {
 
@@ -306,8 +305,7 @@
                   }
                }
             }
-         }
-      }
+       }
       catch (Exception e)
       {
          PortletContainerException pcException = new PortletContainerException(e);

Modified: portal/branches/branched-r3776/webui/portlet/src/main/java/org/exoplatform/webui/core/UIPortletApplication.java
===================================================================
--- portal/branches/branched-r3776/webui/portlet/src/main/java/org/exoplatform/webui/core/UIPortletApplication.java	2010-08-11 07:12:45 UTC (rev 3800)
+++ portal/branches/branched-r3776/webui/portlet/src/main/java/org/exoplatform/webui/core/UIPortletApplication.java	2010-08-11 07:21:56 UTC (rev 3801)
@@ -21,11 +21,14 @@
 
 import org.exoplatform.webui.application.WebuiApplication;
 import org.exoplatform.webui.application.WebuiRequestContext;
+import org.exoplatform.webui.application.portlet.PortletRequestContext;
 import org.exoplatform.commons.serialization.api.annotations.Serialized;
 
 import java.io.Writer;
 import java.util.Set;
 
+import javax.portlet.WindowState;
+
 @Serialized
 abstract public class UIPortletApplication extends UIApplication
 {
@@ -70,7 +73,8 @@
    }
 
    /**
-    * The default processRender for an UIPortletApplication handles two cases:
+    * The default processRender for an UIPortletApplication does nothing if the current WindowState in the 
+    * render request is MINIMIZED. Otherwise, it handles two cases:
     * 
     *   A. Ajax is used 
     *   ---------------
@@ -86,7 +90,15 @@
     */
    public void processRender(WebuiApplication app, WebuiRequestContext context) throws Exception
    {
+      //Do nothing if WindowState in the render request is MINIMIZED
+      WindowState currentWindowState = ((PortletRequestContext)context).getRequest().getWindowState();
+      if(currentWindowState == WindowState.MINIMIZED)
+      {
+         return;
+      }
+      
       WebuiRequestContext pContext = (WebuiRequestContext)context.getParentAppRequestContext();
+      
       if (context.useAjax() && !pContext.getFullRender())
       {
          Writer w = context.getWriter();



More information about the gatein-commits mailing list