Details
-
Bug
-
Status: Resolved
-
Resolution: Fixed
-
1.4b5-dev / CVS
-
None
-
None
-
Operating System: Windows XP
Platform: PC
-
22712
Description
If you add the same portlet more than once to a pane and select "Tab Pane" as
the layout, your portlets are not displayed properly. If you look at the PSML
file I have listed below, I have 2 IFramePortlets but with different titles
(Google and Yahoo). However in the pane customizer these two are both displayed
under the name "Google".
After tracing back to the action class ( RowColumnControllerAction.java) I
found that it's creating a HashMap of titles using the parent portlet as the
key. But in this case since they both have the same parent (IFramePortlet) only
one entry survives.
titles.put(entry.getParent(),entry.getMetaInfo().getTitle());
This doesn't happen with MultiColumn Layouts. That uses the portlet ID as the key.
titles.put(entry.getId(), pentry.getTitle());
Not sure if this is a bug or a design feature ? What effect would it have if we
change this to use the portlet ID as the key ?
<?xml version="1.0" encoding="iso-8859-1"?>
<portlets id="P-f71d1de6c6-10003">
<metainfo>
<title>My WebPages</title>
</metainfo>
<control name="TabControl"/>
<controller name="TabController"/>
<entry id="P-f71d1e2b3c-10004" parent="IFramePortlet">
<metainfo>
<title>Yahoo</title>
</metainfo>
<control name="TitlePortletControl"/>
<parameter name="source" value="http://www.yahoo.com"/>
</entry>
<entry id="P-f71d1e4d26-10005" parent="IFramePortlet">
<metainfo>
<title>Google</title>
</metainfo>
<layout position="-1" size="-1">
<property name="column" value="0"/>
<property name="row" value="0"/>
</layout>
<control name="TitlePortletControl"/>
<parameter name="source" value="http://www.google.com"/>
</entry>
<entry id="P-f71d27c8dc-10006" parent="HelloJSP">
<metainfo>
<title>HelloJSP3</title>
</metainfo>
</entry>
<entry id="P-f71d27df28-10007" parent="HelloJSP">
<metainfo>
<title>HelloJSP2</title>
</metainfo>
</entry>
<entry id="P-f71d27e38a-10008" parent="HelloJSP">
<metainfo>
<title>HelloJSP1</title>
</metainfo>
</entry>
</portlets>
Thanks,
Roshan