Author: chris.laprun(a)jboss.com
Date: 2007-10-23 21:52:12 -0400 (Tue, 23 Oct 2007)
New Revision: 8768
Modified:
branches/JBoss_Portal_Branch_2_6/core-admin/src/main/org/jboss/portal/core/admin/ui/AdminPropertyResolver.java
Log:
- Fixed incorrect assumption when downcasting PortletInfo in icon property resolver: in
the WSRP case, the PortletInfo is NOT a CorePortletInfo object.
- Extracted common code into inner class.
Modified:
branches/JBoss_Portal_Branch_2_6/core-admin/src/main/org/jboss/portal/core/admin/ui/AdminPropertyResolver.java
===================================================================
---
branches/JBoss_Portal_Branch_2_6/core-admin/src/main/org/jboss/portal/core/admin/ui/AdminPropertyResolver.java 2007-10-23
19:41:48 UTC (rev 8767)
+++
branches/JBoss_Portal_Branch_2_6/core-admin/src/main/org/jboss/portal/core/admin/ui/AdminPropertyResolver.java 2007-10-24
01:52:12 UTC (rev 8768)
@@ -74,6 +74,7 @@
*/
public class AdminPropertyResolver extends DelegatingPropertyResolver
{
+ private static final String DEFAULT_PORTLET_ICON =
"/portal-admin/img/portletIcon_Default1.gif";
public AdminPropertyResolver()
{
@@ -190,40 +191,8 @@
return new ArrayList(portlet.getInfo().getCapabilities().getAllLocales());
}
});
- portletDecorator.setProperty("smallIconLocation", new
AbstractPropertyDecorator(String.class)
- {
- public Object getValue(Object bean) throws IllegalArgumentException
- {
- Portlet portlet = (Portlet)bean;
- CorePortletInfo cInfo = (CorePortletInfo)portlet.getInfo();
- PortletInfoInfo portletInfo = cInfo.getPortletInfo();
- if (portletInfo != null && portletInfo.getPortletIconInfo() != null
&& portletInfo.getPortletIconInfo().getIconLocation(PortletIconInfo.SMALL) !=
null)
- {
- return
portletInfo.getPortletIconInfo().getIconLocation(PortletIconInfo.SMALL);
- }
- else
- {
- return "/portal-admin/img/portletIcon_Default1.gif";
- }
- }
- });
- portletDecorator.setProperty("largeIconLocation", new
AbstractPropertyDecorator(String.class)
- {
- public Object getValue(Object bean) throws IllegalArgumentException
- {
- Portlet portlet = (Portlet)bean;
- CorePortletInfo cInfo = (CorePortletInfo)portlet.getInfo();
- PortletInfoInfo portletInfo = cInfo.getPortletInfo();
- if (portletInfo != null && portletInfo.getPortletIconInfo() != null
&& portletInfo.getPortletIconInfo().getIconLocation(PortletIconInfo.LARGE) !=
null)
- {
- return
portletInfo.getPortletIconInfo().getIconLocation(PortletIconInfo.LARGE);
- }
- else
- {
- return "/portal-admin/img/portletIcon_Default1.gif";
- }
- }
- });
+ portletDecorator.setProperty("smallIconLocation", new
PortletIconPropertyDecorator(PortletIconInfo.SMALL));
+ portletDecorator.setProperty("largeIconLocation", new
PortletIconPropertyDecorator(PortletIconInfo.LARGE));
registerDecorator(Portlet.class, portletDecorator);
//
@@ -450,4 +419,32 @@
registerDecorator(ThemeService.class, themeServiceDecorator);
}
+ private static class PortletIconPropertyDecorator extends AbstractPropertyDecorator
+ {
+ private String iconType;
+
+ public PortletIconPropertyDecorator(String iconType)
+ {
+ super(String.class);
+ this.iconType = iconType;
+ }
+
+ public Object getValue(Object bean) throws IllegalArgumentException
+ {
+ Portlet portlet = (Portlet)bean;
+ PortletInfo info = portlet.getInfo();
+
+ if (info instanceof CorePortletInfo)
+ {
+ CorePortletInfo cInfo = (CorePortletInfo)portlet.getInfo();
+ PortletInfoInfo portletInfo = cInfo.getPortletInfo();
+ if (portletInfo != null && portletInfo.getPortletIconInfo() != null
&& portletInfo.getPortletIconInfo().getIconLocation(iconType) != null)
+ {
+ return portletInfo.getPortletIconInfo().getIconLocation(iconType);
+ }
+ }
+
+ return DEFAULT_PORTLET_ICON;
+ }
+ }
}
Show replies by date