[ http://issues.apache.org/jira/browse/JS2-280?page=all ]
Shinsuke SUGAYA resolved JS2-280:
---------------------------------
Fix Version: 2.0-dev/cvs
Resolution: Fixed
Fixed
> The default value of xml:lang attribute in portlet.xml should be English and
> more(see the description)
> -------------------------------------------------------------------------------------------------------
>
> Key: JS2-280
> URL: http://issues.apache.org/jira/browse/JS2-280
> Project: Jetspeed 2
> Type: Bug
> Components: Other
> Versions: 2.0-M4
> Environment: WinXP SP2, JDK 1.4.2_07
> Reporter: James Liao
> Assignee: Shinsuke SUGAYA
> Priority: Critical
> Fix For: 2.0-dev/cvs
> Attachments: patch.txt, patch.zip
>
> I have found four related problems.
> 1. In method "createPortletApplication" of class:
> org.apache.jetspeed.util.descriptor.PortletApplicationDescriptor, the
> attribute of elements "display-name" and "description" should be xml:lang,
> not just lang, for example:
> digester.addSetProperties("portlet-app/portlet/display-name", "lang",
> "language");
> 2. According to PLT.21.8.1, The default value for the xml:lang attribute is
> English (?en?). Portlet-container implementations using localized values of
> these elements should treat the English (?en?) values as the default fallback
> value for all other locales. So it is wrong to use "Locale.getDefault()" in
> class org.apache.jetspeed.util.JetspeedLocale. In my
> environment(SIMPLIFIED_CHINESE), it always cause many problems. So I think we
> should change as following:
> /**
> * According to PLT.21.8.1, the default locale should be English.
> */
> public static Locale getDefaultLocale()
> {
> return Locale.ENGLISH;
> }
> 3. Enhance PortletSelector to make it more robust.
> In method getRows(RenderRequest request, String sql, int windowSize, String
> filter) of PortletSelector portlet. If the HttpServletRequest's locale
> (Client browser's locale) is not supported by portlet's display-name or
> description, it will cause a NullPointException when try to sort the
> portlets. so I suggest that if client browser's locale can be support, we try
> to return the default locale display-name or description. So I change it as
> following:
> ......
> // Try to get the display-name of request locale. If can't, return the
> default English locale display-name.
> String displayNameText = portlet.getDisplayNameText(locale);
> if(displayNameText == null || displayNameText.length() == 0)
> displayNameText =
> portlet.getDisplayNameText(Locale.ENGLISH);
>
> // Try to get the descriptionText of request locale. If
> can't, return the default English locale display-name.
> String descriptionText = portlet.getDescriptionText(locale);
> if(descriptionText == null || descriptionText.length() == 0)
> descriptionText =
> portlet.getDescriptionText(Locale.ENGLISH);
>
> list.add(new PortletInfo(appName + "::" + portlet.getName(),
> displayNameText, descriptionText));
> }
> BrowserIterator iterator = new PortletIterator(
> list, resultSetTitleList, resultSetTypeList,
> windowSize);
> setBrowserIterator(request, iterator);
> iterator.sort("Portlet");
> }
> ......
> 4. I found many bundled portlets' portlet.xml aren't so standard in J2. They
> use lang instead of xml:lang ererywhere.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]