Thanks for the jira issue.  Sorry I've been really busy trying to get some
normal contact stuff completed.

On 7/4/07, Paul Stanton <[EMAIL PROTECTED]> wrote:

I've figured out why the exception is being thrown: my formSubmit method
requires the submission control (Submit or LinkSubmit) to have set the
tag and selected attributes/parameters. Now, my async button comes in
without those set and the null pointer is thrown.

So I've added an "if null return" block and the dialog appears as
required, but ...

... that still doesn't explain why the autoSubmit parameter in the
Annotation isn't stopping formSubmit from being called. I've also tried
with a Submit component and a LinkSubmit using attributes in the markup
to define the listener etc, still the form submit listener is called.

So, could the issue be that autoSubmit attribute does not work?

Seems like my only option (besides living with it for now) is to use a
DirectLink which works fine as it's not associated with a form .. so
I'll have to figure out how to style that like a button, or emulate it's
behaviour in a button.

Jesse, I've logged an issue in Jira for you.
https://issues.apache.org/jira/browse/TAPESTRY-1630

Thanks, Paul.

Paul Stanton wrote:
> Should I log this in Jira Jesse?
>
> Paul Stanton wrote:
>> Thanks Jesse,
>>
>> I've changed it to
>>    @EventListener(targets = {"myButton"}, events = "onclick", async =
>> true, autoSubmit = false)
>>    public void showMyDialog()
>> and the same exception is thrown. Any more info?
>>
>> Paul.
>>
>> Jesse Kuhnert wrote:
>>> Components implementing IFormComponent that are targeted with an
>>> @EventListener do now have their surrounding forms submitted
>>> automatically
>>> as part of the async request.  If there is something in your logic
that
>>> doesn't need/want this to happen you can set the autoSubmit = false
>>> parameter in the annotation and it will do the pure async request only
>>> without the form submission.
>>>
>>>
http://tapestry.apache.org/tapestry4.1/tapestry-annotations/index.html#EventListener
>>>
>>>
>>> On 7/3/07, Paul Stanton <[EMAIL PROTECTED]> wrote:
>>>>
>>>> Hi,
>>>>
>>>> I've upgraded to 4.1.2 from 4.1.1 and am getting the following when I
>>>> try to load one of my Dojo Dialogs (async).
>>>>
>>>> It seems tapestry is trying to call getPage with a null page name,
but
>>>> I'm not sure why formSubmit is being called at all (unless it's
>>>> part of
>>>> a rewind?)
>>>>
>>>> The trigger is being defined like so:
>>>>     <input type="button" jwcid="[EMAIL PROTECTED]" label="show
dialog"/>
>>>>
>>>> The listener being called is defined like so:
>>>>     @EventListener(targets = {"myButton"}, events = "onclick", async
=
>>>> true)
>>>>     public void showMyDialog()
>>>>
>>>> If i click my button i get the following exception wrapped in a error
>>>> dialog  (async):
>>>>
>>>> Failure invoking listener method 'public org.apache.tapestry.IPage
>>>> MyPage.formSubmit()' on [EMAIL PROTECTED]: Parameter name
>>>> must not
>>>> be null.
>>>> org.apache.hivemind.ApplicationRuntimeException
>>>> Failure invoking listener method 'public org.apache.tapestry.IPage
>>>> com.pds.pdsv3.tapestry.pages.veridical.VeridicalPage.formSubmit()' on
>>>> [EMAIL PROTECTED]/Comparables]: Parameter name must
>>>> not be
>>>> null.
>>>> component:
>>>>         [EMAIL PROTECTED]/Comparables]
>>>> location:
>>>>         context:/WEB-INF/veridical/Comparables.page, line 5, column
81
>>>> 1
>>>>         <?xml version="1.0" encoding="UTF-8"?>
>>>> 2
>>>>         <!DOCTYPE page-specification PUBLIC "-//Apache Software
>>>> Foundation//Tapestry Specification 4.0//EN"
>>>> 3
>>>>         "http://jakarta.apache.org/tapestry/dtd/Tapestry_4_0.dtd";>
>>>> 4
>>>>
>>>> 5
>>>>         <page-specification
>>>> class="com.pds.pdsv3.tapestry.pages.veridical.Comparables"/>
>>>>
>>>>
>>>>
>>>>
>>>> [ +/- ] Exception: <http://localhost:8080/PDS/app> Parameter name
must
>>>> not be null.
>>>> java.lang.NullPointerException
>>>> Parameter name must not be null.
>>>> Stack Trace:
>>>>
>>>>     * org.apache.hivemind.util.Defense.notNull(Defense.java:41)
>>>>     *
>>>> org.apache.tapestry.engine.RequestCycle.getPage(RequestCycle.java
>>>> :217)
>>>>
>>>>     *
>>>> $IRequestCycle_1138a7ba350.getPage($IRequestCycle_1138a7ba350.java)
>>>>     *
>>>> $IRequestCycle_1138a7ba25a.getPage($IRequestCycle_1138a7ba25a.java)
>>>>     * MyPage.formSubmit(VeridicalPage.java:65)
>>>>     * sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>     * sun.reflect.NativeMethodAccessorImpl.invoke(
>>>> NativeMethodAccessorImpl.java:39)
>>>>
>>>>     * sun.reflect.DelegatingMethodAccessorImpl.invoke(
>>>> DelegatingMethodAccessorImpl.java:25)
>>>>
>>>>     * java.lang.reflect.Method.invoke(Method.java:597)
>>>>     *
>>>>
org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeTargetMethod(
>>>>
>>>> ListenerMethodInvokerImpl.java:276)
>>>>
>>>>     *
>>>>
org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeListenerMethod
>>>>
>>>> (ListenerMethodInvokerImpl.java:221)
>>>>
>>>>     *
>>>>
org.apache.tapestry.listener.ListenerMethodInvokerImpl.searchAndInvoke(
>>>>
>>>> ListenerMethodInvokerImpl.java:157)
>>>>
>>>>     *
>>>>
org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeListenerMethod
>>>>
>>>> (ListenerMethodInvokerImpl.java:80)
>>>>
>>>>     * org.apache.tapestry.listener.SyntheticListener.actionTriggered(
>>>> SyntheticListener.java:52)
>>>>
>>>>     *
>>>> org.apache.tapestry.listener.ListenerInvokerTerminator.invokeListener
(
>>>> ListenerInvokerTerminator.java:50)
>>>>
>>>>     *
>>>>
$ListenerInvoker_1138a7ba23c.invokeListener($ListenerInvoker_1138a7ba23c.java)
>>>>
>>>>
>>>>     * org.apache.tapestry.form.Form.renderComponent(Form.java:200)
>>>>     *
>>>> org.apache.tapestry.AbstractComponent.render(AbstractComponent.java
>>>> :725)
>>>>
>>>>     *
>>>> org.apache.tapestry.services.impl.DojoAjaxResponseBuilder.render(
>>>> DojoAjaxResponseBuilder.java:625)
>>>>
>>>>     * org.apache.tapestry.form.Form.rewind(Form.java:269)
>>>>     *
>>>> org.apache.tapestry.engine.RequestCycle.rewindForm(RequestCycle.java
>>>> :453)
>>>>
>>>>     * org.apache.tapestry.form.Form.trigger(Form.java:280)
>>>>     * org.apache.tapestry.engine.DirectService.triggerComponent(
>>>> DirectService.java:166)
>>>>
>>>>     *
>>>> org.apache.tapestry.engine.DirectService.service(DirectService.java
>>>> :142)
>>>>
>>>>     *
>>>> $IEngineService_1138a7ba2ba.service($IEngineService_1138a7ba2ba.java)
>>>>     *
>>>> org.apache.tapestry.services.impl.EngineServiceOuterProxy.service(
>>>> EngineServiceOuterProxy.java:72)
>>>>
>>>>     * org.apache.tapestry.engine.AbstractEngine.service(
>>>> AbstractEngine.java:237)
>>>>
>>>>     *
>>>> org.apache.tapestry.services.impl.InvokeEngineTerminator.service(
>>>> InvokeEngineTerminator.java:54)
>>>>
>>>>     *
>>>>
$WebRequestServicer_1138a7ba28e.service($WebRequestServicer_1138a7ba28e.java)
>>>>
>>>>
>>>>     * org.apache.tapestry.services.impl.DisableCachingFilter.service(
>>>> DisableCachingFilter.java:54)
>>>>
>>>>     *
>>>>
$WebRequestServicerFilter_1138a7ba290.service($WebRequestServicerFilter_1138a7ba290.java)
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>
>>>>
>>>
>>>
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>>
>>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>
>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




--
Jesse Kuhnert
Tapestry/Dojo team member/developer

Open source based consulting work centered around
dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com

Reply via email to