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
>

Reply via email to