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 <solomax...@gmail.com>
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 <s...@meiers.net> 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" <s...@meiers.net> 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 <
solomax...@gmail.com>
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 <
mgrigo...@apache.org>
wrote:

Hi Maxim,

On Tue, Mar 28, 2017 at 11:06 AM, Maxim Solodovnik <
solomax...@gmail.com>
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
<mgrigo...@apache.org
wrote:

On Wed, Mar 22, 2017 at 12:59 PM, Maxim Solodovnik <
solomax...@gmail.com

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 <
mgrigo...@apache.org>
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 <

solomax...@gmail.com
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