Now I know where to check :)
Thanks!

On Wed, Mar 29, 2017 at 9:15 PM, Andrea Del Bene <[email protected]> wrote:
> Right when we will return to "success" :-)
>
> https://ci.apache.org/builders/wicket-master
>
> On Wed, Mar 29, 2017 at 4:07 PM, Maxim Solodovnik <[email protected]>
> wrote:
>
>> Wow, Thanks a lot!
>> Could you please let me know when SNAPSHOT with the fix will be available?
>>
>> On Wed, Mar 29, 2017 at 8:50 PM, Sven Meier <[email protected]> wrote:
>> > Hi,
>> >
>> > so we have to change the Location.Blob to use XMLHttpRequest directly,
>> > because jQuery does not support blob downloads :/.
>> >
>> > I've change the JavaScript and now downloading of the zip works fine.
>> >
>> > FileSystemResource might not be the best candidate (because it's not
>> > serializable), but you can use an indirection to prevent it being
>> serialized
>> > along with AjaxDownload:
>> >
>> >         final AjaxDownload download = new AjaxDownload(
>> >             new IResource()
>> >             {
>> >                 @Override
>> >                 public void respond(Attributes attributes)
>> >                 {
>> >                     new
>> > FileSystemResource(zipFile.toPath()).respond(attributes);
>> >                 }
>> >             }
>> >         );
>> >
>> > Have fun
>> > Sven
>> >
>> >
>> >
>> > On 29.03.2017 15:12, Maxim Solodovnik wrote:
>> >>
>> >> Filename is minor issue ....
>> >> Main problem is invalid file :(
>> >>
>> >> How can I serve the file from file system? I thought filesystemreference
>> >> if
>> >> the best candidate .....
>> >>
>> >> WBR, Maxim
>> >> (from mobile, sorry for the typos)
>> >>
>> >> On Mar 29, 2017 8:08 PM, "Sven Meier" <[email protected]> wrote:
>> >>
>> >>> Hi Maxim,
>> >>>
>> >>> three things:
>> >>>
>> >>> - filename ... no one sets the file name :P
>> >>>
>> >>> - serializable error ... FileSystemResource holds a reference to the
>> >>> path,
>> >>> which is not serializable
>> >>>
>> >>> - corruct zip ... my bad, it seems that Location.Blob mangles the file
>> on
>> >>> the client side
>> >>>
>> >>> I'll see what I can do about Location.Blob - it might be an encoding
>> >>> issue.
>> >>>
>> >>> Have fun
>> >>> Sven
>> >>>
>> >>>
>> >>> On 29.03.2017 14:15, Maxim Solodovnik wrote:
>> >>>
>> >>>> here you are: https://github.com/solomax/ajax-download
>> >>>> Absolutely don't understand what is going on :(
>> >>>>
>> >>>> On Wed, Mar 29, 2017 at 6:30 PM, Maxim Solodovnik <
>> [email protected]>
>> >>>> wrote:
>> >>>>
>> >>>>> Yep, zip file is valid
>> >>>>> Breakpoint at AjaxDownload.ResourceBehavior#onRequest() is not hit
>> :(
>> >>>>> Will try to create quickstart
>> >>>>>
>> >>>>> something extremely weird
>> >>>>>
>> >>>>> On Wed, Mar 29, 2017 at 2:22 AM, Martin Grigorov <
>> [email protected]>
>> >>>>> wrote:
>> >>>>>
>> >>>>>> Hi Maxim,
>> >>>>>>
>> >>>>>> On Tue, Mar 28, 2017 at 11:06 AM, Maxim Solodovnik <
>> >>>>>> [email protected]>
>> >>>>>> wrote:
>> >>>>>>
>> >>>>>> Thanks a lot Martin for detailed explanation
>> >>>>>>>
>> >>>>>>> I do have this functionality working with old version of
>> AjaxDownload
>> >>>>>>>
>> >>>>>>> And here is my first try to migrate to the new internal wicket
>> >>>>>>> AjaxDownload:
>> >>>>>>> https://github.com/apache/openmeetings/commit/
>> >>>>>>> 5fa2c87f212e4eecdd1368f2ae7fa8762832838f
>> >>>>>>>
>> >>>>>>> I would appreciate if you can take a look at this tiny commit.
>> >>>>>>>
>> >>>>>>> Something really doesn't work as expected ....
>> >>>>>>>
>> >>>>>>> Commited version behaves wrong:
>> >>>>>>> 1) file downloaded has wrong name
>> >>>>>>>
>> >>>>>>> You do not set file name anywhere!
>> >>>>>>
>> >>>>>> Keep a reference to the constructed ResourceResponse and call its
>> >>>>>> #setFileName(...)
>> >>>>>>
>> >>>>>>
>> >>>>>> 2) is not valid zip file (cannot be opened)
>> >>>>>>>
>> >>>>>>> Is the backupPath representing a ZIP file ?
>> >>>>>>
>> >>>>>>
>> >>>>>> 3) for some reason I'm not able to get to breakpoint at line 115 [1]
>> >>>>>>>
>> >>>>>>> Put a breakpoint at
>> >>>>>>> AjaxDownload.ResourceBehavior#onResourceRequested()
>> >>>>>>
>> >>>>>> and
>> >>>>>> see what happens
>> >>>>>>
>> >>>>>>
>> >>>>>> Additionally I got NotSerializable exception in case I made
>> "download"
>> >>>>>>>
>> >>>>>>> class final variable
>> >>>>>>>
>> >>>>>>> java.nio.file.Path is not Serializable!
>> >>>>>>
>> >>>>>>
>> >>>>>> What am I doing wrong?
>> >>>>>>>
>> >>>>>>> [1] https://github.com/apache/openmeetings/commit/
>> >>>>>>> 5fa2c87f212e4eecdd1368f2ae7fa8762832838f#diff-
>> >>>>>>> 0a499c88998a93ceb51c347836aa6195R115
>> >>>>>>>
>> >>>>>>> On Thu, Mar 23, 2017 at 3:16 AM, Martin Grigorov
>> >>>>>>> <[email protected]
>> >>>>>>> wrote:
>> >>>>>>>
>> >>>>>>>> On Wed, Mar 22, 2017 at 12:59 PM, Maxim Solodovnik <
>> >>>>>>>> [email protected]
>> >>>>>>>>
>> >>>>>>>> wrote:
>> >>>>>>>>
>> >>>>>>>> Actually I have 2 example use cases:
>> >>>>>>>>>
>> >>>>>>>>> 1) user selects files on file tree
>> >>>>>>>>> 2) as soon as file is selected and download is enabled for it,
>> used
>> >>>>>>>>> can
>> >>>>>>>>> press ajax download button and get the file
>> >>>>>>>>>
>> >>>>>>>>> Another case:
>> >>>>>>>>> User requests system backup
>> >>>>>>>>> As soon as backup is created (Progress complete)
>> >>>>>>>>> Download of newly created file should be initiated
>> >>>>>>>>>
>> >>>>>>>>> I can't create ResourceReference and override getResourceStream
>> of
>> >>>>>>>>> it
>> >>>>>>>>>
>> >>>>>>>> since
>> >>>>>>>> I only have resource just before download
>> >>>>>>>>>
>> >>>>>>>>> Wicket IResource is an abstraction over the real resource.
>> >>>>>>>>
>> >>>>>>>> In my case i also create the response on the fly. It is either a
>> >>>>>>>> single
>> >>>>>>>> File or a Zip file with several entries.
>> >>>>>>>> The ResourceReference is more or less just an endpoint with almost
>> >>>>>>>> no
>> >>>>>>>>
>> >>>>>>> logic
>> >>>>>>>
>> >>>>>>>> at all. It just creates the IResource.
>> >>>>>>>> The IResource uses the information from the request parameters /
>> >>>>>>>> session
>> >>>>>>>>
>> >>>>>>> /
>> >>>>>>>
>> >>>>>>>> somewhere else to create the actual response (the files).
>> >>>>>>>>
>> >>>>>>>> AjaxDownload is an Ajax behavior that you can use to trigger the
>> >>>>>>>> creation
>> >>>>>>>> of the files and by using its callback methods you can show
>> feedback
>> >>>>>>>> to
>> >>>>>>>>
>> >>>>>>> the
>> >>>>>>>
>> >>>>>>>> user. To show progress bar you will need to employ ProgressBar
>> from
>> >>>>>>>> wicket-extentions or use WebSockets.
>> >>>>>>>>
>> >>>>>>>>
>> >>>>>>>> On Wed, Mar 22, 2017 at 6:53 PM, Martin Grigorov <
>> >>>>>>>>>
>> >>>>>>>>> [email protected]>
>> >>>>>>>>> wrote:
>> >>>>>>>>>
>> >>>>>>>>> Hi Maxim,
>> >>>>>>>>>>
>> >>>>>>>>>> I use the new AjaxDownload with a ResourceReference, i.e.
>> >>>>>>>>>> AjaxDownload#AjaxDownload(org.apache.wicket.request.
>> >>>>>>>>>> resource.ResourceReference,
>> >>>>>>>>>> org.apache.wicket.request.mapper.parameter.PageParameters)
>> >>>>>>>>>> The ResourceReference has
>> >>>>>>>>>>
>> >>>>>>>>>> public IResource getResource() {
>> >>>>>>>>>>       return new StatementDownloadResource();
>> >>>>>>>>>> }
>> >>>>>>>>>>
>> >>>>>>>>>> StatementDownloadResource extends ResourceStreamResource and
>> >>>>>>>>>> provides
>> >>>>>>>>>> implementation of #getResourceStream(). There I have a logic
>> that
>> >>>>>>>>>>
>> >>>>>>>>> returns
>> >>>>>>>>
>> >>>>>>>> either FileResourceStream or ZipResourceStream.
>> >>>>>>>>>>
>> >>>>>>>>>> Martin Grigorov
>> >>>>>>>>>> Wicket Training and Consulting
>> >>>>>>>>>> https://twitter.com/mtgrigorov
>> >>>>>>>>>>
>> >>>>>>>>>> On Wed, Mar 22, 2017 at 12:30 PM, Maxim Solodovnik <
>> >>>>>>>>>>
>> >>>>>>>>> [email protected]
>> >>>>>>>>
>> >>>>>>>> wrote:
>> >>>>>>>>>>
>> >>>>>>>>>> Just have tried to switch to this AjaxDownload component
>> >>>>>>>>>>>
>> >>>>>>>>>>> And it seems I cannot find proper way to use it with dynamic
>> >>>>>>>>>>> file,
>> >>>>>>>>>>>
>> >>>>>>>>>> i.e.
>> >>>>>>>>
>> >>>>>>>> previously
>> >>>>>>>>>>>
>> >>>>>>>>>>> I created AjaxDownload,
>> >>>>>>>>>>> added it to the page
>> >>>>>>>>>>> then at the moment I know what file should be served, I set the
>> >>>>>>>>>>>
>> >>>>>>>>>> stream
>> >>>>>>>>
>> >>>>>>>> and
>> >>>>>>>>>>>
>> >>>>>>>>>>> initiate the download
>> >>>>>>>>>>> (for example one of use cases: I need to create zip file
>> >>>>>>>>>>>
>> >>>>>>>>>>> right now this seems to be impossible :(
>> >>>>>>>>>>> Can you give me a hint how this dynamic nature can be
>> >>>>>>>>>>> implemented?
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> --
>> >>>>>>>>>>> WBR
>> >>>>>>>>>>> Maxim aka solomax
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>> --
>> >>>>>>>>> WBR
>> >>>>>>>>> Maxim aka solomax
>> >>>>>>>>>
>> >>>>>>>>>
>> >>>>>>> --
>> >>>>>>> WBR
>> >>>>>>> Maxim aka solomax
>> >>>>>>>
>> >>>>>>>
>> >>>>> --
>> >>>>> WBR
>> >>>>> Maxim aka solomax
>> >>>>>
>> >>>>
>> >>>>
>> >
>>
>>
>>
>> --
>> WBR
>> Maxim aka solomax
>>



-- 
WBR
Maxim aka solomax

Reply via email to