shinsuke 2005/04/08 17:24:45
Modified: components/registry/src/java/org/apache/jetspeed/om/impl
LanguageImpl.java LanguageSetImpl.java
components/registry/src/java/org/apache/jetspeed/om/portlet/impl
PortletDefinitionImpl.java
portal/src/java/org/apache/jetspeed/tools/pamanager
PortletApplicationManager.java
portal/src/java/org/apache/jetspeed/util/descriptor
PortletApplicationDescriptor.java
PortletApplicationWar.java
Log:
fixed portlet title handling issue
Revision Changes Path
1.13 +10 -3
jakarta-jetspeed-2/components/registry/src/java/org/apache/jetspeed/om/impl/LanguageImpl.java
Index: LanguageImpl.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed-2/components/registry/src/java/org/apache/jetspeed/om/impl/LanguageImpl.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- LanguageImpl.java 3 Apr 2005 23:28:15 -0000 1.12
+++ LanguageImpl.java 9 Apr 2005 00:24:44 -0000 1.13
@@ -87,13 +87,20 @@
defaults.put(JAVAX_PORTLET_KEYWORDS, defaultKeyWords);
this.resourceBundle = new DefaultsResourceBundle(bundle, defaults);
- this.locale = locale;
+ setLocale(locale);
+ setTitle(getResourceBundle().getString(JAVAX_PORTLET_TITLE));
+
setShortTitle(getResourceBundle().getString(JAVAX_PORTLET_SHORT_TITLE));
+ setKeywords(getResourceBundle().getString(JAVAX_PORTLET_KEYWORDS));
}
public LanguageImpl( Locale locale, ResourceBundle bundle )
{
this.resourceBundle = new DefaultsResourceBundle(bundle, new
HashMap());
- this.locale = locale;
+
+ setLocale(locale);
+ setTitle(getResourceBundle().getString(JAVAX_PORTLET_TITLE));
+
setShortTitle(getResourceBundle().getString(JAVAX_PORTLET_SHORT_TITLE));
+ setKeywords(getResourceBundle().getString(JAVAX_PORTLET_KEYWORDS));
}
/**
1.13 +73 -59
jakarta-jetspeed-2/components/registry/src/java/org/apache/jetspeed/om/impl/LanguageSetImpl.java
Index: LanguageSetImpl.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed-2/components/registry/src/java/org/apache/jetspeed/om/impl/LanguageSetImpl.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- LanguageSetImpl.java 3 Apr 2005 23:28:15 -0000 1.12
+++ LanguageSetImpl.java 9 Apr 2005 00:24:44 -0000 1.13
@@ -25,7 +25,6 @@
import java.util.ResourceBundle;
import org.apache.commons.lang.StringUtils;
-import org.apache.jetspeed.util.JetspeedLocale;
import org.apache.jetspeed.om.common.MutableLanguage;
import org.apache.jetspeed.om.common.Support;
import org.apache.pluto.om.common.Language;
@@ -91,6 +90,7 @@
*/
public Language get( Locale locale )
{
+
Language fallBack = null;
Iterator searchItr = innerCollection.iterator();
while (searchItr.hasNext())
@@ -101,8 +101,11 @@
{
if (resources != null)
{
- return createLanguage(lang.getLocale(),
loadResourceBundle(lang.getLocale()), lang.getTitle(), lang
- .getShortTitle(),
StringUtils.join(lang.getKeywords(), ","), false);
+ LanguageImpl language =
(LanguageImpl)createLanguage(lang.getLocale(),
loadResourceBundle(lang.getLocale()),"","","");
+ language.setTitle(lang.getTitle());
+ language.setShortTitle(lang.getShortTitle());
+
language.setKeywords(StringUtils.join(lang.getKeywords(), ","));
+ return language;
}
else
{
@@ -118,13 +121,24 @@
if (fallBack != null && resources != null)
{
- fallBack = createLanguage(fallBack.getLocale(),
loadResourceBundle(fallBack.getLocale()), fallBack
- .getTitle(), fallBack.getShortTitle(),
StringUtils.join(fallBack.getKeywords(), ","), true);
+ LanguageImpl language =
(LanguageImpl)createLanguage(fallBack.getLocale(),
loadResourceBundle(fallBack.getLocale()),"","","");
+ language.setTitle(fallBack.getTitle());
+ language.setShortTitle(fallBack.getShortTitle());
+ language.setKeywords(StringUtils.join(fallBack.getKeywords(),
","));
+ fallBack = language;
}
if (fallBack == null)
{
- fallBack = new LanguageImpl(locale, loadResourceBundle(locale));
+ if(!getDefaultLocale().equals(locale))
+ {
+ Language defaultLang=get(getDefaultLocale());
+ fallBack = new LanguageImpl(locale,
loadResourceBundle(locale), defaultLang.getTitle(),
defaultLang.getShortTitle(), StringUtils.join(defaultLang.getKeywords(), ","));
+ }
+ else
+ {
+ fallBack = new LanguageImpl(locale,
loadResourceBundle(locale), "","","");
+ }
innerCollection.add(fallBack);
}
return fallBack;
@@ -143,22 +157,48 @@
*/
public boolean add( Object o )
{
+ if (o instanceof Language)
+ {
Language language = (Language) o;
if (language.getLocale() == null)
{
- ((MutableLanguage) o).setLocale(Locale.ENGLISH);
+ ((MutableLanguage) o).setLocale(getDefaultLocale());
}
+ Iterator ite = innerCollection.iterator();
+ while (ite.hasNext())
+ {
+ Language lang = (Language) ite.next();
+ if (lang.getLocale().equals(language.getLocale()))
+ {
+ innerCollection.remove(lang);
return innerCollection.add(o);
}
+ }
+ return innerCollection.add(o);
+ }
+ return false;
+ }
/**
* @see java.util.Collection#remove(java.lang.Object)
*/
- public boolean remove( Object o )
+ public boolean remove(Object o)
+ {
+ if (o instanceof Language)
{
Language language = (Language) o;
- return innerCollection.remove(language);
+ Iterator ite = innerCollection.iterator();
+ while (ite.hasNext())
+ {
+ Language lang = (Language) ite.next();
+ if (lang.getLocale().equals(language.getLocale()))
+ {
+ return innerCollection.remove(lang);
+ }
+ }
+ }
+ return false;
}
/**
@@ -197,14 +237,34 @@
*/
public void postLoad( Object parameter ) throws Exception
{
+ String title = "";
+ String shortTitle = "";
+ String keywords = "";
+ Language defaultLang = get(getDefaultLocale());
+ if (defaultLang != null)
+ {
+ title = defaultLang.getTitle();
+ shortTitle = defaultLang.getShortTitle();
+ keywords = StringUtils.join(defaultLang.getKeywords(), ",");
+ }
+
+ ResourceBundle defaultResource =
loadResourceBundle(getDefaultLocale());
Iterator iter = ((Collection) parameter).iterator();
while (iter.hasNext())
{
Locale locale = (Locale) iter.next();
- Language language = createLanguage(locale, null);
- remove(language);
+ ResourceBundle resource = loadResourceBundle(locale);
+ if (resource == null)
+ {
+ resource = defaultResource;
+ }
+ Language language = createLanguage(locale, resource, title,
shortTitle, keywords);
add(language);
}
+
+ // add default Language
+ Language language = createLanguage(getDefaultLocale(),
defaultResource, title, shortTitle, keywords);
+ add(language);
}
protected ResourceBundle loadResourceBundle( Locale locale )
@@ -244,29 +304,6 @@
}
/**
- * Creates Language instance from a default Language
- *
- * @param locale
- * @param bundle
- * @return
- */
- private Language createLanguage( Locale locale, ResourceBundle bundle )
- {
- String title = "";
- String shortTitle = "";
- String keywords = "";
- Language defaultLang = get(getDefaultLocale());
-
- if (defaultLang != null)
- {
- title = defaultLang.getTitle();
- shortTitle = defaultLang.getShortTitle();
- keywords = StringUtils.join(defaultLang.getKeywords(), ",");
- }
- return createLanguage(locale, bundle, title, shortTitle, keywords,
false);
- }
-
- /**
* Creates Language instance.
*
* @param locale
@@ -276,31 +313,8 @@
* @param keywords
* @return
*/
- private Language createLanguage( Locale locale, ResourceBundle bundle,
String title, String shortTitle,
- String keywords, boolean createNow)
+ private Language createLanguage( Locale locale, ResourceBundle bundle,
String title, String shortTitle, String keywords)
{
- if (!createNow && !locale.equals(getDefaultLocale()))
- {
- Language defaultLang = get(getDefaultLocale());
-
- if (defaultLang != null)
- {
- if (title == null || title.length() < 1)
- {
- title = defaultLang.getTitle();
- }
-
- if (shortTitle == null || shortTitle.length() < 1)
- {
- shortTitle = defaultLang.getShortTitle();
- }
-
- if (keywords == null || keywords.length() < 1)
- {
- keywords = StringUtils.join(defaultLang.getKeywords(),
",");
- }
- }
- }
LanguageImpl lang = new LanguageImpl(locale, bundle, title,
shortTitle, keywords);
return (Language) lang;
}
1.28 +10 -2
jakarta-jetspeed-2/components/registry/src/java/org/apache/jetspeed/om/portlet/impl/PortletDefinitionImpl.java
Index: PortletDefinitionImpl.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed-2/components/registry/src/java/org/apache/jetspeed/om/portlet/impl/PortletDefinitionImpl.java,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -r1.27 -r1.28
--- PortletDefinitionImpl.java 23 Mar 2005 22:27:27 -0000 1.27
+++ PortletDefinitionImpl.java 9 Apr 2005 00:24:44 -0000 1.28
@@ -908,9 +908,17 @@
{
langListWrapper.setResources(resourceBundle);
}
- langListWrapper.setClassLoader(getPortletClassLoader());
+
+ if (parameter instanceof ClassLoader)
+ {
+ langListWrapper.setClassLoader((ClassLoader) parameter);
langListWrapper.postLoad(this.supportedLocales);
}
+ else
+ {
+ langListWrapper.setClassLoader(getPortletClassLoader());
+ }
+ }
public static void setPortletRegistry(PortletRegistry registry)
{
1.21 +4 -4
jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/tools/pamanager/PortletApplicationManager.java
Index: PortletApplicationManager.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/tools/pamanager/PortletApplicationManager.java,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- PortletApplicationManager.java 26 Mar 2005 22:05:13 -0000 1.20
+++ PortletApplicationManager.java 9 Apr 2005 00:24:44 -0000 1.21
@@ -189,7 +189,7 @@
}
protected MutablePortletApplication
registerPortletApplication(PortletApplicationWar paWar,
- MutablePortletApplication oldPA, boolean local)
+ MutablePortletApplication oldPA, boolean local, ClassLoader
paClassLoader)
throws RegistryException
{
if (oldPA != null)
@@ -205,7 +205,7 @@
try
{
log.info("Loading portlet.xml...." + paName);
- pa = paWar.createPortletApp();
+ pa = paWar.createPortletApp(paClassLoader);
if (local)
{
@@ -329,7 +329,7 @@
}
else
{
- pa = registerPortletApplication(paWar, pa,
local);
+ pa = registerPortletApplication(paWar, pa,
local, paClassLoader);
}
portletFactory.registerPortletApplication(pa, paClassLoader);
}
1.5 +3 -4
jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/util/descriptor/PortletApplicationDescriptor.java
Index: PortletApplicationDescriptor.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/util/descriptor/PortletApplicationDescriptor.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- PortletApplicationDescriptor.java 16 Aug 2004 18:32:35 -0000 1.4
+++ PortletApplicationDescriptor.java 9 Apr 2005 00:24:44 -0000 1.5
@@ -72,7 +72,7 @@
* @return MutablePortletApplication newly created
MutablePortletApplication with
* all values of the portlet application descriptor mapped into it.
*/
- public MutablePortletApplication createPortletApplication()
+ public MutablePortletApplication createPortletApplication(ClassLoader
classLoader)
throws PortletApplicationException
{
try
@@ -163,8 +163,7 @@
portletDef.setPortletIdentifier(portletDef.getName());
}
- //TODO is pd a proper argument?
- ((Support)obj).postLoad(pd);
+ ((Support)obj).postLoad(classLoader);
}
return pd;
1.22 +2 -2
jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/util/descriptor/PortletApplicationWar.java
Index: PortletApplicationWar.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/util/descriptor/PortletApplicationWar.java,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- PortletApplicationWar.java 23 Mar 2005 22:53:53 -0000 1.21
+++ PortletApplicationWar.java 9 Apr 2005 00:24:44 -0000 1.22
@@ -208,14 +208,14 @@
* @throws IOException
* @see org.apache.jetspeed.uitl.descriptor.PortletApplicationDescriptor
*/
- public MutablePortletApplication createPortletApp() throws
PortletApplicationException, IOException
+ public MutablePortletApplication createPortletApp(ClassLoader
classLoader) throws PortletApplicationException, IOException
{
Reader portletXmlReader = getReader(PORTLET_XML_PATH);
try
{
PortletApplicationDescriptor paDescriptor = new
PortletApplicationDescriptor(portletXmlReader, paName);
- portletApp = paDescriptor.createPortletApplication();
+ portletApp = paDescriptor.createPortletApplication(classLoader);
// validate(portletApplication);
Reader extMetaDataXml = null;
try
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]