Rahul Akolkar | 1 Oct 22:08 2007
Picon

Re: Shale Dialog Manager Vs Trinidad Dialog Framework

On 9/30/07, sunilskulkarni <sunilskulkarni <at> yahoo.com> wrote:
>
> Thanks Rahul, I played with Trinidad all day yesterday with no luck. Shale is
> easier to set up and blends well with Faces, Tiles...etc. I have decided to
> use Shale for my Dialog framework needs but finding it difficult to find a
> basic example on how to use Dialog framework, where as Trinidad has good
> examples but hard to integrate. Rahul, appreciate if you can send me a
> sample example on how to use Shale Dialog framewrok. As suggested I couldn't
> build http://shale.apache.org/building.html due to lack of time. As
> application developer, I was hoping to use a document on how to use
> infrastructure and move on quickly with my core application. Thanks for your
> assistance.
>
<snip/>

As we discussed, these [1],[2],[3] documents are the starting point.
If these are not enough, or if they lack enough details to be useful,
then they need to be fixed. We will need your help in identifying what
needs to be explained better.

Also, if you are unable to build, you can pick up the pre-built
shale-usecases app [4] (as a zip) and dig into the log on / edit
profile dialog examples. Once you unpack the zip, the dialog
descriptor is here:
  <shale-usecases>/src/main/webapp/WEB-INF/dialog-config.xml
The beans are here:
  <shale-usecases>/src/main/java/org/apache/shale/usecases/profile
The views are here:
  <shale-usecases>/src/main/webapp/profile

(Continue reading)

Cyril Bouteille | 2 Oct 02:00 2007

shale 1.0.4 in glassfish v2 classpath breaks admin webapp

Attachment (smime.p7s): application/x-pkcs7-signature, 4700 bytes
sunilskulkarni | 2 Oct 04:26 2007
Picon

Re: Shale Dialog Manager Vs Trinidad Dialog Framework


Thanks Rahul. Looked into examples you suggested and figured it out, it is
simple. Thanks

Rahul Akolkar wrote:
> 
> On 9/30/07, sunilskulkarni <sunilskulkarni <at> yahoo.com> wrote:
>>
>> Thanks Rahul, I played with Trinidad all day yesterday with no luck.
>> Shale is
>> easier to set up and blends well with Faces, Tiles...etc. I have decided
>> to
>> use Shale for my Dialog framework needs but finding it difficult to find
>> a
>> basic example on how to use Dialog framework, where as Trinidad has good
>> examples but hard to integrate. Rahul, appreciate if you can send me a
>> sample example on how to use Shale Dialog framewrok. As suggested I
>> couldn't
>> build http://shale.apache.org/building.html due to lack of time. As
>> application developer, I was hoping to use a document on how to use
>> infrastructure and move on quickly with my core application. Thanks for
>> your
>> assistance.
>>
> <snip/>
> 
> As we discussed, these [1],[2],[3] documents are the starting point.
> If these are not enough, or if they lack enough details to be useful,
> then they need to be fixed. We will need your help in identifying what
> needs to be explained better.
> 
> Also, if you are unable to build, you can pick up the pre-built
> shale-usecases app [4] (as a zip) and dig into the log on / edit
> profile dialog examples. Once you unpack the zip, the dialog
> descriptor is here:
>   <shale-usecases>/src/main/webapp/WEB-INF/dialog-config.xml
> The beans are here:
>   <shale-usecases>/src/main/java/org/apache/shale/usecases/profile
> The views are here:
>   <shale-usecases>/src/main/webapp/profile
> 
> Looking at the examples in conjunction with the documents on the
> website should help. If you have specific questions, please ask.
> 
> -Rahul
> 
> [1] http://shale.apache.org/shale-dialog/
> [2] http://shale.apache.org/shale-dialog-basic/
> [3] http://shale.apache.org/shale-dialog-scxml/
> [4] http://www.apache.org/dyn/closer.cgi/shale/  (choose a mirror and
> get shale-usecases-current.zip)
> 
> 
> 
>>
>> Rahul Akolkar wrote:
>> >
>> > On 9/29/07, sunilskulkarni <sunilskulkarni> wrote:
>> >>
>> >> Hi, I am using MyFaces 1.1.4/tomcat 5.5.x. I want to use conversation
>> >> pages.
>> >> Shale and Triniad offers the feature. I am new to both. Requesting
>> >> assistance.
>> >> (1)Is there a document or a step by step instr on how to use Shale
>> Dialog
>> >> Manager(http://shale.apache.org/shale-dialog/index.html, talks about
>> >> components)
>> > <snip/>
>> >
>> > That page introduces Shale dialogs, and the associated APIs (not sure
>> > what you mean by talking about components). Step by step instructions
>> > are partly a function of the dialog implementation in use, the links
>> > in the "API and Implementations" section for both available
>> > implementations contains such recipes.
>> >
>> > Working examples of the basic implementation are available in the
>> > shale-usecases sample application, you can download the latest release
>> > (v1.0.4) from here:
>> >
>> >   http://www.apache.org/dyn/closer.cgi/shale/
>> >
>> > More examples are in the shale-test-dialog-* applications that can be
>> > built from source:
>> >
>> >   http://shale.apache.org/building.html
>> >
>> > If you have specific questions or feedback, please let us know.
>> >
>> >
>> >> (2) I have set up Trinidad on Eclipse/tomcat, trying it out. Any doc
>> >> which
>> >> points to a sample instr it will help.
>> >> (3) Is Shale or Trinidad better? w.r.t feature set, usability, more
>> >> components...etc
>> >>
>> > <snap/>
>> >
>> > Sorry, I haven't looked at Trinidad. Please try the MyFaces user list.
>> >
>> > -Rahul
>> >
>> >
>> >> Thanks
>> >> --
>> >
> 
> 

--

-- 
View this message in context: http://www.nabble.com/Shale-Dialog-Manager-Vs-Trinidad-Dialog-Framework-tf4540310.html#a12991654
Sent from the Shale - User mailing list archive at Nabble.com.

sunilskulkarni | 2 Oct 04:42 2007
Picon

Cannot find transition dialog:xxx for state xxx of dialog xxx error


Attachment :  http://www.nabble.com/file/p12991765/dialog-config.xml
dialog-config.xml 
Does any one know why I get the above error? I am new to Shale. Thanks
(I have 2 beans, one has gets firstname, lastname. Second one stores names
in Hashmap(signup) and login which checks the contents of Map. (1) I click
login link from home page, (2)it goes to login page, it has link to signup.
(3)I do signup. (4)Control comes back to login #1. (5) I try to do #1, I get
the above error.
--

-- 
View this message in context: http://www.nabble.com/Cannot-find-transition-dialog%3Axxx-for-state-xxx-of-dialog-xxx-error-tf4552512.html#a12991765
Sent from the Shale - User mailing list archive at Nabble.com.

Brody Wong | 2 Oct 06:58 2007

Ajax Form Post, Shale Remoting and Glassfish


I am using Aajx (Yahoo UI!'s asyncRequest) to post a form. 

        YAHOO.util.Connect.setForm(moduleForm);
        YAHOO.util.Connect.asyncRequest('POST',
'dynamic/a_backing_bean/save.jsf', ...

At backend, I am using Shale-Remoting to catch the result. I make the call 

public void save() {
//do sth
            getFacesContext().responseComplete();

getFacesContext().getExternalContext().dispatch("/a_nested_view.jsf");
}

To return the result. At the browser, I use JavaScript to set the target's
DIV's innerHTML to be replaced by the HTML fragment returned.

It works perfectly using Tomcat 5.5 but when I switched to Glassfish. It
renders the whole page including the parent view. I would like Shale/GF just
return the nested view instead of the whole page.

I have tried to use remoting without a form post, only the target nested
view will be rendered in both Tomcat 5.5 and Glassfish.

I am also using Shale-Tiger and Shale-Spring. All shale related classes are
at version 1.0.4. I am using myfaces-1.1.5

Anybody has any ideas what I have to do to solve this problem?

Thanks in advance.
--

-- 
View this message in context: http://www.nabble.com/Ajax-Form-Post%2C-Shale-Remoting-and-Glassfish-tf4552874.html#a12992749
Sent from the Shale - User mailing list archive at Nabble.com.

Rahul Akolkar | 2 Oct 17:36 2007
Picon

Re: Cannot find transition dialog:xxx for state xxx of dialog xxx error

On 10/1/07, sunilskulkarni <sunilskulkarni <at> yahoo.com> wrote:
>
> Attachment :  http://www.nabble.com/file/p12991765/dialog-config.xml
> dialog-config.xml
> Does any one know why I get the above error? I am new to Shale. Thanks
> (I have 2 beans, one has gets firstname, lastname. Second one stores names
> in Hashmap(signup) and login which checks the contents of Map. (1) I click
> login link from home page, (2)it goes to login page, it has link to signup.
> (3)I do signup. (4)Control comes back to login #1. (5) I try to do #1, I get
> the above error.
<snip/>

It implies that the application is trying to start a dialog (or
restart the same one, in this case) without completing the ongoing
dialog.

Check out the state and dialog named in the error message (the ones
stubbed out in the subject with xxx) -- that might hold some clues.
You want to get to an 'end' state before (re)starting a dialog.

-Rahul

Cyril Bouteille | 2 Oct 19:34 2007

Re: shale 1.0.4 in glassfish v2 classpath breaks admin webapp

Attachment (smime.p7s): application/x-pkcs7-signature, 4700 bytes
Wendy Smoak | 2 Oct 19:38 2007
Picon

Re: shale 1.0.4 in glassfish v2 classpath breaks admin webapp

On 10/1/07, Cyril Bouteille <cyril <at> travelmuse.com> wrote:
>
>

You might want to re-post your message as plain text.  For me, it's just empty.

--

-- 
Wendy

Cyril Bouteille | 2 Oct 19:42 2007

Re: shale 1.0.4 in glassfish v2 classpath breaks admin webapp

Hello, sorry for the spam, but some folks on the list said my messages 
didn't come out well so I'm resending in plain text.
(see original email at the end of this thread)
I just tried it again with 1.1.0-SNAPSHOT-20071001 and although the 
first exception is now avoided, I still run into the second one...
Can anyone recommend how to troubleshoot
this?

[#|2007-10-02T10:04:27.819-0700|INFO|sun-appserver9.1|org.apache.shale.remoting.faces.MappingsHelper|_ThreadID=15;_ThreadName=httpWorkerThread-4848-0;|The 
"Mappings" instance is not configured with the servlet mapping(s) for 
javax.faces.webapp.FacesServlet -- check your web.xml file to make sure 
this servlet is declared and mapped, or that you have defined it with 
the "org.apache.shale.remoting.FACES_SERVLET_NAME" context 
initialization
parameter|#]
[#|2007-10-02T10:04:27.819-0700|WARNING|sun-appserver9.1|org.apache.shale.remoting.faces.MappingsHelper|_ThreadID=15;_ThreadName=httpWorkerThread-4848-0;_RequestID=f6aec741-de06-480f-a454-e9c5a8fca681;|FacesServlet 
pattern index of 0 does not match any specified
pattern|#]
[#|2007-10-02T10:05:01.079-0700|WARNING|sun-appserver9.1|javax.enterprise.resource.webcontainer.jsf.lifecycle|_ThreadID=22;_ThreadName=httpWorkerThread-4848-2;_RequestID=90988175-a1e0-46a8-a1a3-0c095e2c55d9;|executePhase(RESTORE_VIEW 
1,com.sun.faces.context.FacesContextImpl <at> 191fefb) threw exception
java.lang.NullPointerException
        at 
com.sun.jsftemplating.el.PageSessionResolver.getPageSession(PageSessionResolver.java:98)
        at 
com.sun.jsftemplating.el.PageSessionResolver.resolveVariable(PageSessionResolver.java:78)
        at 
org.apache.shale.tiger.faces.VariableResolverImpl.resolveVariable(VariableResolverImpl.java:183)
        at 
org.apache.shale.faces.ShaleVariableResolver.resolveVariable(ShaleVariableResolver.java:157)
        at 
com.sun.faces.el.VariableResolverChainWrapper.getValue(VariableResolverChainWrapper.java:100)
        at 
javax.el.CompositeELResolver.getValue(CompositeELResolver.java:143)
        at 
com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:64)
        at 
com.sun.faces.el.VariableResolverImpl.resolveVariable(VariableResolverImpl.java:72)
        at 
org.apache.shale.view.faces.ViewViewHandler.setupViewController(ViewViewHandler.java:299)
        at 
org.apache.shale.view.faces.ViewViewHandler.createView(ViewViewHandler.java:127)
        at 
com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:203)
        at 
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
        at 
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
        at 
com.sun.faces.extensions.avatar.lifecycle.PartialTraversalLifecycle.execute(PartialTraversalLifecycle.java:80)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
        at 
com.sun.enterprise.tools.admingui.servlet.DelayedInitFacesServlet.service(DelayedInitFacesServlet.java:89)
        at 
org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:317)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
        at 
com.sun.webui.jsf.util.UploadFilter.doFilter(UploadFilter.java:240)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:288)
        at 
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202)
        at 
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
        at 
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
        at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
        at 
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
        at 
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
        at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
        at 
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
        at 
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
        at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
        at 
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:270)
        at 
com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
        at 
com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
        at 
com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
        at 
com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:339)
        at 
com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:261)
        at 
com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:212)
        at 
com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
        at 
com.sun.enterprise.web.connector.grizzly.WorkerThreadImpl.run(WorkerThreadImpl.java:116)
|#]

Cyril Bouteille wrote:
> Hello,
> We're using Shale 1.0.4 for a new JSF 1.2 web application inside Sun 
> JSAS 9.1 (aka Glassfish V2) container.
> It seems the simple presence of shale classes in the shared classpath 
> somehow interferes with the JSF administration console of Glassfish. 
> When browsing pages of this web application, 
> org.apache.shale.remoting.faces.MappingsHelper can't initialize 
> properly and keeps blowing up on the error below.
> I'd think Shale's presence shouldn't interfere with JSF applications 
> not installing its filters/listerners. Is RemotingPhaseListener 
> somehow sneaking in when it shouldn't? Or should it be in watch-only 
> mode and this is a bug?
> I found http://issues.apache.org/struts/browse/SHALE-360 to be 
> related, but I don't really understand the workarounds being discussed 
> nor why I should have to change the config of a 3rd-party web app, 
> because I've Shale in the classpath for my own web apps...
> Could a developer please help me shed light on what is happening here?
> Thank you,
>
>
[#|2007-10-01T16:37:07.965-0700|INFO|sun-appserver9.1|org.apache.shale.remoting.faces.MappingsHelper|_ThreadID=14;_ThreadName=httpWorkerThread-4848-0;|Configuring 
> Mappings instance of type|#]
> [#|2007-10-01T16:37:07.966-0700|INFO|sun-appserver9.1|org.apache.shale.remoting.faces.MappingsHelper|_ThreadID=14;_ThreadName=httpWorkerThread-4848-0;|org.apache.shale.remoting.impl.MappingsImpl|#]
>
[#|2007-10-01T16:37:07.967-0700|INFO|sun-appserver9.1|org.apache.shale.remoting.faces.MappingsHelper|_ThreadID=14;_ThreadName=httpWorkerThread-4848-0;|Configuring 
> processor mapping|#]
> [#|2007-10-01T16:37:07.967-0700|INFO|sun-appserver9.1|org.apache.shale.remoting.faces.MappingsHelper|_ThreadID=14;_ThreadName=httpWorkerThread-4848-0;|/static/*:org.apache.shale.remoting.impl.ClassResourceProcessor|#]
>
[#|2007-10-01T16:37:07.968-0700|INFO|sun-appserver9.1|org.apache.shale.remoting.faces.MappingsHelper|_ThreadID=14;_ThreadName=httpWorkerThread-4848-0;|Configuring 
> processor mapping|#]
> [#|2007-10-01T16:37:07.968-0700|INFO|sun-appserver9.1|org.apache.shale.remoting.faces.MappingsHelper|_ThreadID=14;_ThreadName=httpWorkerThread-4848-0;|/dynamic/*:org.apache.shale.remoting.impl.MethodBindingProcessor|#]
>
[#|2007-10-01T16:37:07.969-0700|INFO|sun-appserver9.1|org.apache.shale.remoting.faces.MappingsHelper|_ThreadID=14;_ThreadName=httpWorkerThread-4848-0;|Configuring 
> processor mapping|#]
> [#|2007-10-01T16:37:07.969-0700|INFO|sun-appserver9.1|org.apache.shale.remoting.faces.MappingsHelper|_ThreadID=14;_ThreadName=httpWorkerThread-4848-0;|/webapp/*:org.apache.shale.remoting.impl.WebResourceProcessor|#]
>
[#|2007-10-01T16:37:08.181-0700|WARNING|sun-appserver9.1|javax.enterprise.resource.webcontainer.jsf.lifecycle|_ThreadID=14;_ThreadName=httpWorkerThread-4848-0;_RequestID=57c77725-b321-48ae-8c30-952671dca4cb;|phase(RESTORE_VIEW 
> 1,com.sun.faces.context.FacesContextImpl <at> 7e33de) threw exception: 
> java.lang.NullPointerException null
> org.apache.shale.remoting.faces.MappingsHelper.patterns(MappingsHelper.java:429)
> org.apache.shale.remoting.faces.MappingsHelper.createMappings(MappingsHelper.java:282)
> org.apache.shale.remoting.faces.MappingsHelper.getMappings(MappingsHelper.java:85)
> org.apache.shale.remoting.faces.RemotingPhaseListener.afterPhase(RemotingPhaseListener.java:102)
> com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:280)
> com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
> com.sun.faces.extensions.avatar.lifecycle.PartialTraversalLifecycle.execute(PartialTraversalLifecycle.java:80)
> javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
> com.sun.enterprise.tools.admingui.servlet.DelayedInitFacesServlet.service(DelayedInitFacesServlet.java:89)
> org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:317)
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
> com.sun.webui.jsf.util.UploadFilter.doFilter(UploadFilter.java:240)
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:288)
> org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202)
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
> com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
> org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:270)
> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:339)
> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:261)
> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:212)
> com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
> com.sun.enterprise.web.connector.grizzly.WorkerThreadImpl.run(WorkerThreadImpl.java:116)
> |#]
>
[#|2007-10-01T16:37:08.182-0700|SEVERE|sun-appserver9.1|javax.enterprise.system.container.web|_ThreadID=14;_ThreadName=httpWorkerThread-4848-0;_RequestID=57c77725-b321-48ae-8c30-952671dca4cb;|StandardWrapperValve[FacesServlet]: 
> PWC1406: Servlet.service() for servlet FacesServlet threw exception
> java.lang.NullPointerException
>         at 
> com.sun.jsftemplating.el.PageSessionResolver.getPageSession(PageSessionResolver.java:98)
>         at 
> com.sun.jsftemplating.el.PageSessionResolver.resolveVariable(PageSessionResolver.java:78)
>         at 
> org.apache.shale.tiger.faces.VariableResolverImpl.resolveVariable(VariableResolverImpl.java:183)
>         at 
> org.apache.shale.faces.ShaleVariableResolver.resolveVariable(ShaleVariableResolver.java:157)
>         at 
> com.sun.faces.el.VariableResolverChainWrapper.getValue(VariableResolverChainWrapper.java:100)
>         at 
> javax.el.CompositeELResolver.getValue(CompositeELResolver.java:143)
>         at 
> com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:64)
>         at 
> com.sun.faces.el.VariableResolverImpl.resolveVariable(VariableResolverImpl.java:72)
>         at 
> org.apache.shale.view.faces.ViewViewHandler.setupViewController(ViewViewHandler.java:299)
>         at 
> org.apache.shale.view.faces.ViewViewHandler.restoreView(ViewViewHandler.java:161)
>         at 
> com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:141)
>         at 
> com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
>         at 
> com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
>         at 
> com.sun.faces.extensions.avatar.lifecycle.PartialTraversalLifecycle.execute(PartialTraversalLifecycle.java:80)
>         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
>         at 
> com.sun.enterprise.tools.admingui.servlet.DelayedInitFacesServlet.service(DelayedInitFacesServlet.java:89)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:317)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
>         at 
> com.sun.webui.jsf.util.UploadFilter.doFilter(UploadFilter.java:240)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
>         at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:288)
>         at 
> org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)
>         at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202)
>         at 
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
>         at 
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
>         at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
>         at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
>         at 
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
>         at 
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
>         at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
>         at 
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
>         at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
>         at 
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
>         at 
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
>         at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
>         at 
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
>         at 
> org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:270)
>         at 
> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
>         at 
> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
>         at 
> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
>         at 
> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:339)
>         at 
> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:261)
>         at 
> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:212)
>         at 
> com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
>         at 
> com.sun.enterprise.web.connector.grizzly.WorkerThreadImpl.run(WorkerThreadImpl.java:116)
> |#]
Attachment (smime.p7s): application/x-pkcs7-signature, 4700 bytes
Crabb, Curtis | 2 Oct 22:57 2007

(unknown)

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.


Gmane