It called only once, Correct file name is being set
But file is being downloaded with UUID as name

On Wed, Apr 12, 2017 at 4:10 PM, Martin Grigorov <[email protected]>
wrote:

> Hi Maxim,
>
> Put a breakpoint at ResourceResponse.setFileName(String) and see how many
> times it is called and with what values.
>
> Martin Grigorov
> Wicket Training and Consulting
> https://twitter.com/mtgrigorov
>
> On Wed, Apr 12, 2017 at 11:07 AM, Maxim Solodovnik <[email protected]>
> wrote:
>
> > Hello All,
> >
> > I have updated my project
> > https://github.com/solomax/ajax-download/commit/
> > 453663a55f390e54354381ab0f009d194e37e87c
> > To set filename
> > But file being downloaded has random UUID as file name, what am I doing
> > wrong?
> >
> > On Wed, Mar 29, 2017 at 9:31 PM, Maxim Solodovnik <[email protected]>
> > wrote:
> >
> > > Will try to migrate all my use cases on a SNAPSHOT first
> > > Then will do
> > > Thanks Martin!
> > >
> > > On Wed, Mar 29, 2017 at 9:28 PM, Martin Grigorov <[email protected]
> >
> > > wrote:
> > > > Maxim, you can use Location.IFrame or Location.SameWindow too in -M5
> > (to
> > > be
> > > > released!).
> > > >
> > > > Martin Grigorov
> > > > Wicket Training and Consulting
> > > > https://twitter.com/mtgrigorov
> > > >
> > > > On Wed, Mar 29, 2017 at 4:26 PM, Sven Meier <[email protected]> wrote:
> > > >
> > > >> In a minute :P
> > > >>
> > > >> Sven
> > > >>
> > > >>
> > > >>
> > > >> On 29.03.2017 16:15, Andrea Del Bene 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
> > >
> >
> >
> >
> > --
> > WBR
> > Maxim aka solomax
> >
>



-- 
WBR
Maxim aka solomax

Reply via email to