[jira] [Updated] (PLUTO-650) Objects such as portletConfig are available during JSP EL resolution even when portlet:defineObjects is not present

"Neil Griffin (JIRA)" <[email protected]>
Newsgroups gmane.comp.jakarta.pluto.devel
Message-ID <[email protected]>
     [ https://issues.apache.org/jira/browse/PLUTO-650?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Neil Griffin updated PLUTO-650:
-------------------------------
    Attachment: org.apache.portals.pluto.650.portlet.war

> Objects such as portletConfig are available during JSP EL resolution even when portlet:defineObjects is not present
> -------------------------------------------------------------------------------------------------------------------
>
>                 Key: PLUTO-650
>                 URL: https://issues.apache.org/jira/browse/PLUTO-650
>             Project: Pluto
>          Issue Type: Bug
>          Components: portlet container
>    Affects Versions: 3.0.0
>            Reporter: Neil Griffin
>         Attachments: org.apache.portals.pluto.650.portlet.war
>
>
> The {{<portlet:defineObjects/>}} is a feature that enables the JSP pageContext to have attributes like {{portletConfig}}. One benefit of this feature is that JSP EL expressions can resolve these objects. For example:
> {code:html}
> <p>portletConfig=${portletConfig}</p>
> {code}
> If {{<portlet:defineObjects/>}} is missing from a JSP, then the objects should not appear as JSP pageContext attributes, and EL resolution should return {{null}}.
> Pluto 3.0 contains a *regression* such that, even if {{<portlet:defineObjects/>}} is missing, EL resolution is returning a non-{{null}} value.
> The cause of the regression is the presence of {{@Named}} on producer methods in PortletArtifactProducer.java which causes the WeldELResolver to invoke the producers during JSP EL resolution. The fix is to simply remove the {{@Named}} annotation from the producer methods.
> h3. Steps to Reproduce:
> - Deploy org.apache.portals.pluto.650.portlet.war (attached to this issue)
> - Add the portlet to a Pluto portal page
> - View the Pluto portal page
> (/) Expected Result: 
> {noformat}
> portletConfig=
> renderRequest=
> renderResponse=
> portletSession=
> portletSessionScope=
> portletPreferences=
> portletPreferencesValues=
> portletRequest=
> portletResponse=
> renderParams=
> portletContext=
> portletMode=
> windowState=
> cookies=
> locale=
> locales=
> namespace=
> contextPath=
> windowId=
> portletName=
> {noformat}
> (x) Actual Result:
> {noformat}
> portletConfig=org.apache.pluto.driver.container.DriverPortletConfigImpl@8ff7529
> renderRequest=org.apache.pluto.container.impl.RenderRequestImpl@f47cc70
> renderResponse=org.apache.pluto.container.impl.RenderResponseImpl@32bed4e6
> portletSession=org.apache.pluto.driver.services.container.CachedPortletSessionImpl@e8b6211
> portletSessionScope={}
> portletPreferences=org.apache.pluto.container.impl.PortletPreferencesImpl[]
> portletPreferencesValues={}
> portletRequest=org.apache.pluto.container.impl.RenderRequestImpl@f47cc70
> portletResponse=org.apache.pluto.container.impl.RenderResponseImpl@32bed4e6
> renderParams=org.apache.pluto.container.impl.RenderParametersImpl@60d3518c
> portletContext=org.apache.pluto.driver.container.DriverPortletContextImpl@4e46cf03
> portletMode=view
> windowState=normal
> cookies=[Ljavax.servlet.http.Cookie;@518eeffd
> locale=en_US
> locales=[Ljava.util.Locale;@7f2df4df
> namespace=Pluto_org_apache_portals_pluto_650_portlet_1_1349732888_0_
> contextPath=/org.apache.portals.pluto.650.portlet
> windowId=org.apache.portals.pluto.650.portlet.1!1349732888|0
> portletName=1
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.