Details
-
Bug
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
1.0.4
-
None
-
None
-
Linux Fedora Core 4, Jetspeed 2.1.3 bundled demo download (Apache Tomcat 5.5.23)
Description
FacesPortlet extends GenericServletPortlet, but it declares the defaultActionPage, defaultCustomPage, defaultEditPage, defaultHelpPage and defaultViewPage fields again, therefore these fields hide the fields in GenericServletPortlet. In the constructor of FacesPortlet, only defaultEditPage, defaultViewPage and defaultHelpPage are initialized, the defaultActionPage and defaultCustomPage fields are not initialized, and they are set to defaultViewPage since they are null. In fact, the superclass initializes all these fields, but since the fields are duplicated, this has no effect.
Therefore, the user cannot set the value of defaultCustomPage using portlet.xml. I found a workaround for this problem (by extending FacesPortlet and calling super.init() twice first with a different mock PortletConfig and then the real PortletConfig), but this is not a good and sustainable solution. Note that the same problem also exists for the defaultActionPage. I believe that these fields should not be duplicated in FacesPortlet since GenericServletPortlet provides public setters and getters for all these fields.