Matías Fernández created WICKET-6414:
----------------------------------------

             Summary: Form submit with scheduleRequestHandlerAfterCurrent break 
after download
                 Key: WICKET-6414
                 URL: https://issues.apache.org/jira/browse/WICKET-6414
             Project: Wicket
          Issue Type: Bug
          Components: wicket
    Affects Versions: 7.6.0, 7.5.0
         Environment: JBoss EAP 6.4
            Reporter: Matías Fernández


Hello there Wicket Developers!

We are currently working with Wicket 7.4 and have the following behavior.

We have a form to download some report after fill some fields. This button and 
the fields are inside a Wicket Form.

To do this we have a on submit this code.

{code:java}
final AbstractResourceStreamWriter rstream = new AbstractResourceStreamWriter() 
{
            @Override
            public void write(final OutputStream output) throws IOException {
                output.write(bytes);
            }

            @Override
            public String getContentType() {
                return contentType;
            }
        };

        final ResourceStreamRequestHandler handler = new 
ResourceStreamRequestHandler(rstream)
                .setFileName(downloadFileName)
                .setCacheDuration(Duration.NONE)
                .setContentDisposition(ContentDisposition.ATTACHMENT);
        RequestCycle.get().scheduleRequestHandlerAfterCurrent(handler);
{code}

The problem is after download if we want to export again or change any 
component which access model object throw this exception.

        at 
org.apache.wicket.core.util.lang.PropertyResolver$MethodGetAndSet.getValue(PropertyResolver.java:946)
 [wicket-core-7.6.0.jar:7.6.0]
        at 
org.apache.wicket.core.util.lang.PropertyResolver$ObjectWithGetAndSet.getValue(PropertyResolver.java:440)
 [wicket-core-7.6.0.jar:7.6.0]
        at 
org.apache.wicket.core.util.lang.PropertyResolver.getValue(PropertyResolver.java:117)
 [wicket-core-7.6.0.jar:7.6.0]
        at 
org.apache.wicket.model.AbstractPropertyModel.getObject(AbstractPropertyModel.java:86)
 [wicket-core-7.6.0.jar:7.6.0]
        at 
org.apache.wicket.Component.getDefaultModelObject(Component.java:1646) 
[wicket-core-7.6.0.jar:7.6.0]
        ... 52 more
Caused by: java.lang.IllegalArgumentException: object is not an instance of 
declaring class
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
[rt.jar:1.8.0_131]
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
[rt.jar:1.8.0_131]
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 [rt.jar:1.8.0_131]
        at java.lang.reflect.Method.invoke(Method.java:498) [rt.jar:1.8.0_131]
        at 
org.apache.wicket.core.util.lang.PropertyResolver$MethodGetAndSet.getValue(PropertyResolver.java:937)
 [wicket-core-7.6.0.jar:7.6.0]
        ... 56 more

This work on wicket 7.4, but when we update to 7.5 or 7.6 throw this exception.

Is like scheduleRequestHandlerAfterCurrent is not after but is right now on 
this versions.

If you need more information just let me know.








--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to