I have no problem using Ajax4Jsf and Shale.

-----Original Message-----
From: Gary VanMatre [mailto:[EMAIL PROTECTED] 
Sent: 3 ottobre 2007 16.44
To: user@shale.apache.org
Subject: Re: your mail

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


This message is for the designated recipient only and may contain privileged, 
proprietary, or otherwise private information.  If you have received it in 
error, please notify the sender immediately and delete the original.  Any other 
use of the email by you is prohibited.

Reply via email to