Re: Issue with the FileUploadField

2016-06-13 Thread ChambreNoire
Hey there,

Little late in the day, but I'm trying to find a working example of a simple
ajax fileuploadfield to be used within a modal window. A lot of post refer
to
http://www.dooriented.com/blog/2008/04/23/wicket-ajax-like-file-upload-on-a-modal-window/
however this link is dead and I couldn't find a cached version.

If anyone could point me towards a working example I'd really appreciate
that!

Thanks

CN

--
View this message in context: 
http://apache-wicket.1842946.n4.nabble.com/Issue-with-the-FileUploadField-tp1868606p4674879.html
Sent from the Users forum mailing list archive at Nabble.com.

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: AjaxFormSubmitBehavior, FileUploadField and nested forms.

2016-06-13 Thread Fabio Fioretti
Hi all,
Does anybody have any feedback on this?

Many thanks,
Fabio

On Tue, May 31, 2016 at 12:46 PM, Fabio Fioretti <
windom.macroso...@gmail.com> wrote:

> Hi Martin,
>
> You are right, the form id was already there in 6.17.0, but the default
> message was removed! That is what is breaking my app - I did not realize it
> because my custom message was the same as the default.
>
> Why was it removed?
>
> In 6.17.0:
> final String defaultValue = "Upload must be less than " + getMaxSize();
> String msg = getString(getId() + '.' + UPLOAD_TOO_LARGE_RESOURCE_KEY,
> Model.ofMap(model), defaultValue)
>
> While in 6.23.0:
> String msg = getString(getId() + '.' + UPLOAD_TOO_LARGE_RESOURCE_KEY,
> Model.ofMap(model));
>
> Interestingly, the comment still says "Resource key should be
> .uploadTooLarge to override default message".
>
> IMHO, forcing to have the root (!) form id in the property key makes it
> impossible to create a reusable component for managing uploads, like an
> UploadPanel with its own form and FileUploadField . In fact, as soon as you
> place it in a hierarchy that includes an outer form, it will break your
> app. The default value at least provided a safe fallback.
>
> What do you think?
>
> Many thanks,
> Fabio
>
>
> On Mon, May 30, 2016 at 4:31 PM, Martin Grigorov 
> wrote:
>
>> Hi,
>>
>> On Fri, May 27, 2016 at 12:42 PM, Fabio Fioretti <
>> windom.macroso...@gmail.com> wrote:
>>
>> > Hi Martin,
>> >
>> > Is this the ticket you refer to?
>> > https://issues.apache.org/jira/browse/WICKET-5190
>>
>>
>> Yes, this is the one!
>>
>>
>> >
>> >
>> > It has an explanation on why onFileUploadException() is called on the
>> root
>> > form that seems reasonable.
>> >
>> > In any case, if I don't specify the form id in the property key (leaving
>> > just "uploadTooLarge") I get the following MissingResourceException when
>> > FileUploadBase.SizeLimitExceededException is thrown:
>> >
>>
>> According to Git history the id was there even in 6.17:
>>
>> https://github.com/apache/wicket/blob/wicket-6.17.0/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java#L1423
>>
>> The id is not in Wicket 7.x though!
>> It has been removed with
>> https://issues.apache.org/jira/browse/WICKET-5206
>> 3 years ago
>>
>>
>> >
>> > *java.util.MissingResourceException*: Unable to find property:
>> > 'form1.uploadTooLarge' for component: border:border_body:form1
>> > [class=org.apache.wicket.markup.html.form.Form].
>> > Locale: null, style: null
>> >
>> > As you can see, I do have a border complicating things (not sure if it
>> > might play a role here) but it worked just fine in Wicket 6.17.0. In
>> fact I
>> > had to add the form id ("form0.uploadTooLarge") to make it work in
>> 6.23.0,
>> > but then I ran into this other issue that, when form0 is nested in
>> > form1, Wicket looks up for "form1.uploadTooLarge" instead.
>> >
>> > I also noticed that there is a new fileMaxSize property in Form that
>> wasn't
>> > there in 6.17.0. Should I use that one instead of maxSize? It has no
>> setter
>> > though...
>> >
>>
>> This is related to https://issues.apache.org/jira/browse/WICKET-5735
>>
>>
>> >
>> > Any clarification would be much appreciated.
>> >
>> > Many thanks,
>> > Fabio
>> >
>> > On Thu, May 26, 2016 at 7:18 PM, Martin Grigorov 
>> > wrote:
>> >
>> > > Hi,
>> > >
>> > > I believe there is/was another ticket describing exactly your problem
>> > but I
>> > > cannot find it now.
>> > >
>> > > The form id in the property key is not really needed.
>> > > You could use it to give Wicket a more specific message for particular
>> > > component.
>> > > You can remove it if this message should/could be used for any other
>> Form
>> > > in you application/package/page/panel (depending in which .properties
>> > file
>> > > you have it).
>> > >
>> > > Martin Grigorov
>> > > Wicket Training and Consulting
>> > > https://twitter.com/mtgrigorov
>> > >
>> > > On Thu, May 26, 2016 at 6:46 PM, Fabio Fioretti <
>> > > windom.macroso...@gmail.com
>> > > > wrote:
>> > >
>> > > > Hello everybody,
>> > > >
>> > > > I recently migrated an application from Wicket 6.17.0 to 6.23.0 and
>> I'm
>> > > > experiencing the following problem.
>> > > >
>> > > > I have 2 nested forms. The inner one, form0, contains a
>> FileUploadField
>> > > > with an AjaxFormSubmitBehavior(form0, "change") attached to it,
>> while
>> > the
>> > > > external one, form1, wraps form0.
>> > > >
>> > > > form1
>> > > > |__
>> > > >  form0
>> > > >   |__
>> > > >FileUploadField
>> > > >
>> > > > When the user selects a file and a file upload exception is thrown
>> > (e.g.
>> > > > FileSizeLimitExceededException), I would expect form0's
>> > > > onFileUploadException() method to be invoked. However, the one of
>> form1
>> > > is
>> > > > invoked instead...
>> > > >
>> > > > As a result, Wicket starts looking for a property named
>> > > > "form1.uploadTooLarge"