I'm experiencing strange behaviour in migrating a ResourceStreamRequestTarget
to a ResourceStreamRequestHandler.

It worked fine in Wicket 1.4.x

I have a button for downloading an installation manual. Which manual should
be downloaded
depends on the user's input. In some cases there isn't a manual, and so I
couldn't use a
WebRecource, because I wanted to show an infomessage in that case. The
solution was a Link with 
an onClick. in pseudocode:

Link<String> downloadInstallationmanualButton = new
Link<String>("downloadinstallationmanual", new Model<String>()) {

    @Override
    public void onClick() {
       if (user didn't supply any data) {
            info("Please supply this and that");
            return;
        }
        //create an implementation of IResourcestream called
InstallationManualResourceStream
        IResourcestream theInstallationManualResourceStream = new
InstallationManualResourceStream();
        if (theInstallationManualResourceStream.manualNotfound) {
            info("No manual found for your input");
            return;
        }
        ResourceStreamRequestTarget resourceStreamRequestTarget = new
ResourceStreamRequestTarget(
                            theInstallationManualResourceStream,
theFileName);
        RequestCycle.get().setRequestTarget(resourceStreamRequestTarget);
}

As I mentioned, this worked perfect.
As part of the migration to Wicket 1.5.(2), I replaced the last two
statements by:

ResourceStreamRequestHandler resourceStreamRequestHandler = new  
ResourceStreamRequestHandler(
                            theInstallationManualResourceStream,
theFileName);
RequestCycle.get().scheduleRequestHandlerAfterCurrent(resourceStreamRequestHandler);
     

When I click on the button after a server restart and opening of a fresh
browser, the onClick isn't
executed. Instead, the browser's (FireFox) save or open popup occurs, with
download-data of the
Session before the server restart, a sort of browser caching?
Only when I have pressed the browser's refresh (F5) twice, the onclick is
executed. 
After that, it never executes again, and so the IResource isn't updated.
Shouldn't the onClick always be executed?

What am I doing wrong? 

Thanks in advance, Hans Friederichs

--
View this message in context: 
http://apache-wicket.1842946.n4.nabble.com/Migrating-a-ResourceStreamRequestTarget-to-a-ResourceStreamRequestHandler-tp3998969p3998969.html
Sent from the Users forum mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to