As soon as I start using Shale 1.0.4, Ajax4Jsf stops working. I believe
the issue is as follows: 

1.) Ajax4Jsf depends upon the javax.faces.ViewRoot being an instance of
AjaxViewRoot. 
2.) Shale depends upon the javax.faces.ViewRoot being an instance of
ShaleViewRoot. 

I believe I am correct in saying that my application can only use one
implementation of javax.faces.ViewRoot; the one being used in my case is
simply the last jar that is being loaded, which happens to be Shale (I
could also specify my own ViewRoot in my WEB-INF faces-config and then
niether AjaxViewRoot or ShaleViewRoot will be used). That being the
case, is it even possible to use both Ajax4Jsf and Shale in the same
application? 

Can anyone shed some light on my confusion? Why does Shale override the
ViewRoot implementation when that immediately stops me from using other
3rd party products that override ViewRoot?

 

A bit of extra information: 

Shale 1.0.3 does not provide it's own implementation of
javax.faces.ViewRoot; that being the case, I can successfully use it
with ajax4jsf. 

Also, I can use ajax4jsf with Shale 1.0.4 if I specify in the following
in my own WEB-INF faces-config 

 

<component>
        <component-type>javax.faces.ViewRoot</component-type>
 
<component-class>org.ajax4jsf.framework.ajax.AjaxViewRoot</component-cla
ss>
        <component-extension>
            <component-family>javax.faces.ViewRoot</component-family>
        </component-extension>

</component>


I believe this works simply because my copy of faces-config.xml is the
last configuration loaded, so my override takes precedence. 

However, this can break Shale because now Shale sees an instance of
AjaxViewRoot rather than ShaleViewRoot. 

So I am stuck with not knowing how to make both products work
simultaneously.

 

 

  • [no subject] Crabb, Curtis
    • Re: Lionel Port
      • Re: Wendy Smoak
        • Re: Greg Reddin
          • Re: Wendy Smoak

Reply via email to