>From: "Crabb, Curtis" <[EMAIL PROTECTED]> 
>
> 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? 
>

The shale view root is not required.  Why not try loading the AjaxViewRoot 
in your application's faces-config.xml.   Or, rename the shale view jar to 
something like aaa-shale-view.jar.


 
> 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? 
> 

Indeed, you could ask the same question of Ajax4Jsf?

In shale's case, it was done to catch exceptions raised by JSP to make sure 
that 
the view controller callback contracts worked.

In JSF 1.2 the lifecycle is an extension point that can be decorated which 
would 
be a better option now that it's avaiable.  


Gary




> 
> 
> 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 
> 
> 
> 
> 
> javax.faces.ViewRoot 
> 
> org.ajax4jsf.framework.ajax.AjaxViewRoot> ss> 
> 
> javax.faces.ViewRoot 
> 
> 
> 
> 
> 
> 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. 
> 
> 
> 
> 
> 
> 

Reply via email to