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
> <form-id>.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 <mgrigo...@apache.org>
> 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 <mgrigo...@apache.org>
>> > 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" instead of "form0.uploadTooLarge", thus
>> breaking
>> > > my
>> > > > app, which only defines the latter.
>> > > >
>> > > > Is this an intended behavior?
>> > > >
>> > > > Was it introduced by
>> https://issues.apache.org/jira/browse/WICKET-5753
>> > ?
>> > > >
>> > > > And, by the way, what is the rationale of having the form id in the
>> > > > property key?
>> > > >
>> > > > Many thanks in advance,
>> > > > Fabio
>> > > >
>> > >
>> >
>>
>
>

Reply via email to