Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Serving dynamic content with Wicket 1.5

I have my Wicket 1.4 code to have a link to download a file which is generated programatically:

protected class MyWebResource extends WebResource {
    public IResourceStream getResourceStream() {
        .....
        return new StringResourceStream(myString, "text/plain");
    }
}

ResourceLink<?> downloadLink = 
   new ResourceLink<Object>("downloadLink", new MyWebResource());

Everything was good. Now I've upgrade to Wicket 1.5. Now WebResource doesn't exist any more.

I've searched the web for ages, surely this must be a simple problem which has a simple solution? Alas I can't find it.

like image 613
Adrian Smith Avatar asked Oct 03 '11 15:10

Adrian Smith


1 Answers

The replacement is AbstractResource. Basically you should create ResourceResponse and do what you did in its WriteCallback. See the specializations of AbstractResource in Wicket's code for examples. See http://wicketinaction.com/2011/07/wicket-1-5-mounting-resources/ as well.

like image 192
martin-g Avatar answered Nov 08 '22 08:11

martin-g