shale-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Todd Bush (JIRA)" <j...@apache.org>
Subject [jira] Updated: (SHALE-409) Shale 1.0.4+ incorrectly removes all entries in the request map after render response
Date Thu, 15 Mar 2007 12:09:51 GMT

     [ https://issues.apache.org/struts/browse/SHALE-409?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Todd Bush updated SHALE-409:
----------------------------

    Description: 
I found this issue while debugging why Shale-1.0.4 caused AJAX4JSF to stop working.  Within
the ViewPhaseListener.afterRenderResponse method, all ViewControllers and AbstractRequestBeans
are removed from the request map.  Then a second loop through the request map removes all
other entries in an attempt to remove any annotated managed beans.  AJAX4JSF relies on entries
in the request map while parsing the outgoing HTML, entries which are removed by this phase
listener.  Once I comment out the second request map loop, AJAX4JSF works.  Any other technology
which relies on request map entries after render response will have a similar problem with
Shale.

The second loop:

        entries = map.entrySet().iterator();
        while (entries.hasNext()) {
            Map.Entry entry = (Map.Entry) entries.next();
            if (!list.contains(entry.getKey())) {
                list.add(entry.getKey());
            }
        }


  was:
I've successfully implemented AJAX4JSF-1.0.6 with Shale-1.0.3, but when I attempt to upgrade
Shale to 1.0.4 (also 1.0.5-SNAPSHOT) the a4j functionality stops working.  I receive no stack
trace or other server side error.  I do receive a javascript error "A4J is undefined".  

Viewing the output when running Shale-1.0.3, this javascript URL reference exists or A4J ...

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:acegijsf="http://sourceforge.net/projects/jsf-comp/acegijsf"><head><title></title><!--
HTTP 1.1 -->
<script type="text/javascript" src="/crown/a4j.res/org.ajax4jsf.framework.ajax.AjaxScript.xhtml">
</script><meta http-equiv="Cache-Control" content="no-store" /><!-- HTTP 1.0
-->

With Shale-1.0.4, the same page is missing the javascript URL reference for A4J ...

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:acegijsf="http://sourceforge.net/projects/jsf-comp/acegijsf"><head><title></title><!--
HTTP 1.1 -->
<meta http-equiv="Cache-Control" content="no-store" /><!-- HTTP 1.0 -->

Also, a Nabble references detailing the same problem

http://www.nabble.com/Solved!-A4J-is-Undefined-t3152071.html
http://www.nabble.com/AJAX4JSF---Shale-1.0.4-t3148641.html

Thanks.



    Environment: WinXP, AJAX4JSF-1.0.6+, Shale-1.0.4 (Application, Core, Dialog, Spring, Tiger,
View)  (was: WinXP, AJAX4JSF-1.0.6, Shale-1.0.4 (Application, Core, Dialog, Spring, Tiger,
View))
        Summary: Shale 1.0.4+ incorrectly removes all entries in the request map after render
response  (was: Shale 1.0.4+ breaks AJAX4JSF)

> Shale 1.0.4+ incorrectly removes all entries in the request map after render response
> -------------------------------------------------------------------------------------
>
>                 Key: SHALE-409
>                 URL: https://issues.apache.org/struts/browse/SHALE-409
>             Project: Shale
>          Issue Type: Bug
>          Components: View
>    Affects Versions: 1.0.4, 1.0.5-SNAPSHOT
>         Environment: WinXP, AJAX4JSF-1.0.6+, Shale-1.0.4 (Application, Core, Dialog,
Spring, Tiger, View)
>            Reporter: Todd Bush
>
> I found this issue while debugging why Shale-1.0.4 caused AJAX4JSF to stop working. 
Within the ViewPhaseListener.afterRenderResponse method, all ViewControllers and AbstractRequestBeans
are removed from the request map.  Then a second loop through the request map removes all
other entries in an attempt to remove any annotated managed beans.  AJAX4JSF relies on entries
in the request map while parsing the outgoing HTML, entries which are removed by this phase
listener.  Once I comment out the second request map loop, AJAX4JSF works.  Any other technology
which relies on request map entries after render response will have a similar problem with
Shale.
> The second loop:
>         entries = map.entrySet().iterator();
>         while (entries.hasNext()) {
>             Map.Entry entry = (Map.Entry) entries.next();
>             if (!list.contains(entry.getKey())) {
>                 list.add(entry.getKey());
>             }
>         }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message