[gatein-commits] gatein SVN: r4064 - in portal/branches/branch-r4047: webui/portal/src/main/java/org/exoplatform/portal/application and 2 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Tue Sep 7 06:50:23 EDT 2010


Author: hoang_to
Date: 2010-09-07 06:50:22 -0400 (Tue, 07 Sep 2010)
New Revision: 4064

Modified:
   portal/branches/branch-r4047/web/portal/src/main/webapp/groovy/portal/webui/application/UIPortlet.gtmpl
   portal/branches/branch-r4047/webui/portal/src/main/java/org/exoplatform/portal/application/PortalRequestContext.java
   portal/branches/branch-r4047/webui/portal/src/main/java/org/exoplatform/portal/webui/application/UIPortlet.java
   portal/branches/branch-r4047/webui/portal/src/main/java/org/exoplatform/portal/webui/application/UIPortletLifecycle.java
   portal/branches/branch-r4047/webui/portlet/src/main/java/org/exoplatform/webui/application/portlet/PortletApplicationController.java
Log:
GTNPORTAL-1379: Update Java code to enable localization of page title

Modified: portal/branches/branch-r4047/web/portal/src/main/webapp/groovy/portal/webui/application/UIPortlet.gtmpl
===================================================================
--- portal/branches/branch-r4047/web/portal/src/main/webapp/groovy/portal/webui/application/UIPortlet.gtmpl	2010-09-07 09:42:14 UTC (rev 4063)
+++ portal/branches/branch-r4047/web/portal/src/main/webapp/groovy/portal/webui/application/UIPortlet.gtmpl	2010-09-07 10:50:22 UTC (rev 4064)
@@ -37,14 +37,7 @@
 										<div class="FixHeight">
 											<%
 											if(hasPermission) {
-												if(portletTitle == null || portletTitle.trim().length() < 1) {
-													try {
-														String portletName = uicomponent.getProducedOfferedPortlet().getInfo().getName();
-														print _ctx.getRequestContext().getApplicationResourceBundle().getString("UIPortlet.description." + portletName);
-													} catch(Exception e){
-														print uicomponent.getDisplayName();
-													}
-												} else print portletTitle;
+												print uicomponent.getDisplayTitle();
 											} else print "<div class='ProtectedContent'>"+_ctx.appRes("UIPortlet.label.protectedContent")+"</div>";
 											%>
 										</div>
@@ -62,12 +55,8 @@
 			
 		if(portalMode != uiPortalApp.CONTAINER_BLOCK_EDIT_MODE && portalMode != uiPortalApp.APP_BLOCK_EDIT_MODE) {
 			if(uicomponent.getShowInfoBar()) {
-				String title = portletTitle;
+				String title = uicomponent.getDisplayTitle();
 				if(title == null || title.trim().length() < 1)
-					title = uicomponent.getTitle();
-				if(title == null || title.trim().length() < 1)
-					title = uicomponent.getDisplayName();
-				if(title == null || title.trim().length() < 1)
 					title = portletId;
 				/*Begin Window Portlet Bar*/
 				String visibility = "visible";
@@ -292,9 +281,7 @@
 																String portletIcon = uicomponent.getIcon();
 																if(portletIcon == null) portletIcon = "PortletIcon";
 																
-																String title = portletTitle;
-																if(title == null || title.trim().length() < 1)
-																	title = uicomponent.getDisplayTitle();
+																String title = uicomponent.getDisplayTitle();
 																if(title.length() > 30) title = title.substring(0,27) + "...";
 															%>
 															<div class="PortletIcon $portletIcon"><%=hasPermission ? title : _ctx.appRes("UIPortlet.label.protectedContent")%></div>

Modified: portal/branches/branch-r4047/webui/portal/src/main/java/org/exoplatform/portal/application/PortalRequestContext.java
===================================================================
--- portal/branches/branch-r4047/webui/portal/src/main/java/org/exoplatform/portal/application/PortalRequestContext.java	2010-09-07 09:42:14 UTC (rev 4063)
+++ portal/branches/branch-r4047/webui/portal/src/main/java/org/exoplatform/portal/application/PortalRequestContext.java	2010-09-07 10:50:22 UTC (rev 4064)
@@ -20,6 +20,7 @@
 package org.exoplatform.portal.application;
 
 import org.exoplatform.Constants;
+import org.exoplatform.commons.utils.ExpressionUtil;
 import org.exoplatform.commons.utils.PortalPrinter;
 import org.exoplatform.container.ExoContainer;
 import org.exoplatform.portal.config.UserPortalConfigService;
@@ -224,6 +225,7 @@
             if (page != null)
             {
                title = page.getTitle();
+               return ExpressionUtil.getExpressionValue(this.getApplicationResourceBundle(), title);
             }
             else
             {

Modified: portal/branches/branch-r4047/webui/portal/src/main/java/org/exoplatform/portal/webui/application/UIPortlet.java
===================================================================
--- portal/branches/branch-r4047/webui/portal/src/main/java/org/exoplatform/portal/webui/application/UIPortlet.java	2010-09-07 09:42:14 UTC (rev 4063)
+++ portal/branches/branch-r4047/webui/portal/src/main/java/org/exoplatform/portal/webui/application/UIPortlet.java	2010-09-07 10:50:22 UTC (rev 4064)
@@ -160,6 +160,9 @@
 
    private StateString navigationalState;
 
+   /** A field storing localized value of javax.portlet.title **/
+   private String configuredTitle;
+   
    public UIPortlet()
    {
       // That value will be overriden when it is mapped onto a data storage
@@ -361,16 +364,6 @@
       supportedPublicParams_ = supportedPublicRenderParameters;
    }
 
-   public String getDisplayTitle()
-   {
-      String title = getTitle();
-      if (title == null)
-      {
-         title = getDisplayName();
-      }
-      return title;
-   }
-
    public String getDisplayName()
    {
       if (displayName == null)
@@ -925,4 +918,37 @@
    {
       this.navigationalState = navigationalState;
    }
+      
+   protected void setConfiguredTitle(String _configuredTitle)
+   {
+  	 this.configuredTitle = _configuredTitle;
+   }
+   
+   /**
+    * Returns the title showed on the InfoBar. The title is computed in following manner.
+    * 
+    * 1. First, the method getTitle(), inherited from UIPortalComponent is called. The getTitle() returns
+    * what users set in the PortletSetting tab, the current method returns call result if it is not null.
+    * 
+    * 2. configuredTitle, which is the localized value of javax.portlet.title is returned if it is not null.
+    * 
+    * 3. If the method does not terminate at neither (1) nor (2), the configured display name is returned. 
+    * @return
+    */
+   public String getDisplayTitle()
+   {
+  	 String displayedTitle = getTitle();
+  	 if(displayedTitle != null && displayedTitle.trim().length() > 0)
+  	 {
+  		 return displayedTitle;
+  	 }
+  	 
+  	 if(configuredTitle != null)
+  	 {
+  		 return configuredTitle;
+  	 }
+  	 
+  	 return getDisplayName();
+  	 
+   }
 }
\ No newline at end of file

Modified: portal/branches/branch-r4047/webui/portal/src/main/java/org/exoplatform/portal/webui/application/UIPortletLifecycle.java
===================================================================
--- portal/branches/branch-r4047/webui/portal/src/main/java/org/exoplatform/portal/webui/application/UIPortletLifecycle.java	2010-09-07 09:42:14 UTC (rev 4063)
+++ portal/branches/branch-r4047/webui/portal/src/main/java/org/exoplatform/portal/webui/application/UIPortletLifecycle.java	2010-09-07 10:50:22 UTC (rev 4064)
@@ -218,7 +218,8 @@
                         break;
                   }
                   portletTitle = fragmentResponse.getTitle();
-
+                  uicomponent.setConfiguredTitle(portletTitle);
+                  
                   // setup portlet properties
                   if (fragmentResponse.getProperties() != null)
                   {
@@ -337,7 +338,7 @@
          WebuiBindingContext bcontext = new WebuiBindingContext(resolver, context.getWriter(), uicomponent, prcontext);
          bcontext.put(UIComponent.UICOMPONENT, uicomponent);
          bcontext.put("portletContent", markup);
-         bcontext.put("portletTitle", portletTitle);
+         //bcontext.put("portletTitle", portletTitle);
          try
          {
             renderTemplate(uicomponent.getTemplate(), bcontext);

Modified: portal/branches/branch-r4047/webui/portlet/src/main/java/org/exoplatform/webui/application/portlet/PortletApplicationController.java
===================================================================
--- portal/branches/branch-r4047/webui/portlet/src/main/java/org/exoplatform/webui/application/portlet/PortletApplicationController.java	2010-09-07 09:42:14 UTC (rev 4063)
+++ portal/branches/branch-r4047/webui/portlet/src/main/java/org/exoplatform/webui/application/portlet/PortletApplicationController.java	2010-09-07 10:50:22 UTC (rev 4064)
@@ -107,6 +107,9 @@
    {
       try
       {
+      	 //Needed to localize title via predefined I18n key javax.portlet.title
+      	 res.setTitle(getTitle(req));
+      	 
          getPortletApplication().render(req, res);
       }
       catch (Exception ex)



More information about the gatein-commits mailing list