[ 
https://issues.apache.org/jira/browse/WICKET-1888?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12660212#action_12660212
 ] 

Christian Oldiges commented on WICKET-1888:
-------------------------------------------

Well, here is my case (using 1.3.5, but the code didnt change for 1.4, right?). 
The structure is: MyPage.MyForm.MyFragment.CustomCheckbox

There is the MyFragment inbetween which is used to for a wizard style form, but 
it should not have any influence on this problem.
Additionally I am using the .xml files instead of .properties which again 
should not have any impact.

CustomCheckbox does a setRequired(true) in its constructor and is supposed to 
provide its own error msg in case the checkbox hasnt been checked by the user. 
This is used all over the application and is therefore put into a custom 
component (you know DRY ...)

There is a CustomCheckbox.xml file next to the class file in the package 
structure. Its contains one entry:

<entry key="Required">CUSTOM CHECKBOX TEXT</entry>

There is a MyPage.xml file next to the class file of the MyPage class.

Now if I dont put an entry for "CustomCheckboxID.Required" into MyPage.xml, the 
standard Required from "Application.properties" text will be shown, which means 
the "Required" entry in "CustomCheckbox.xml" is ignored, as described in the 
original posting.

If I put an entry in MyPage.xml like this:

<entry key="CustomCheckboxID.Required">PAGE TEXT</entry>

The text "PAGE TEXT" is picked up. But in my case the last example:

MyTextField.properties: Required = My Text

does not work. The reason is, that the formComponent's parent is tried first 
and it is succesful in picking up the "Required" entry from the 
Application.properties file. Thus the formComponent resources are never ever 
tried.


BTW; The 2. last example "myTextfield.Required" is not really useful, because 
the instance id of the component should never be known by the component itself 
during development time. So the "myTextfield." part is not known during 
development.

> FormComponents (and subclasses) should be able to provide their own resource 
> bundles
> ------------------------------------------------------------------------------------
>
>                 Key: WICKET-1888
>                 URL: https://issues.apache.org/jira/browse/WICKET-1888
>             Project: Wicket
>          Issue Type: Improvement
>          Components: wicket
>    Affects Versions: 1.3.4
>            Reporter: Christian Oldiges
>            Priority: Minor
>
> In order to fully support the idea to break down a large application into 
> small reusable components it seems necessary that FormComponents provide 
> their own resource bundles. We have a project that uses a customized subclass 
> of Checkbox that needs to provide customized error messages. The ideal place 
> for those error messages would be a resource bundle living next to the 
> Checkbox subclass but this is not yet supported. Unfortunately the JavaDoc 
> for ComponentStringResourceLoader indicates (see example: input1.properties 
> => Required) that support for this already exists.
> A small change to FormComponent$MessageSource.getMessage(String key) could 
> add support for this. Instead of using the formComponent.getParent() as the 
> base for searching the resource string, simply use the formComponent itself.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to