On 16 févr. 2010, at 09:58, Max Rydahl Andersen wrote:
----- "Emmanuel Bernard" <emmanuel(a)hibernate.org> wrote:
> I don't see i18n as something that should necessarily be packaged
> inside a component. Resource keys are generally grouped in one or two
> files for the overall application (so that fixing a typo is quick).
You must be developing small or monolith applications then ;)
The common way I know of (from eclipse apps) is that the resource bundles
*specific* to that module/plugin is stored in the module and if there are
some common phrases/messages they are simply put into separate module/plugin
or you simply depend on that module/plugin you want to share that common phrase
with.
Do you have some docs on how Eclipse handles it?
What's a module? a UI-less element whereas a plugin has a UI?
> If
> you have to dig into individual or even third party components, it
> becomes a pain point. So I don't see that as encapsulation violation
> (or at this stage, you have to consider that displaying the error
> message to the user is violating encapsulation).
Not following this, additional resource bundles is/should be possible to add
translations
to 3rd party components without changing it.
-max
>
> You would put the @ResourceBundle on the constraint annotation? I
> don't like the idea, it would encourage the creation of a myriad of
> different resource bundle files. Also today the spec allows to inject
> your own ResourceBundle implementation via the MessageInterpolator
> (will even be better in Hibernate Validator after HV-238). Adding a
> @ResourceBundle will clash with this freedom.
>
> Another point I want to mention, Hibernate Validator 3.x had support
> for a more sophisticated RB approach but it turned out to be a big
> ball of inconsistency and holes and I purposely simplified the model
> in Bean Validation.
>
> On 15 févr. 2010, at 21:36, Hardy Ferentschik wrote:
>
>> Hi,
>>
>> Having multiple resource bundles and some custom way of specifying
> these bundles is
>> related to HV-238 and HV-251.
>>
>> Having a ResourceBundleLocatorStrategy should solve your problem
> Gunnar, right?
>>
>> The default strategy could behave like it does now and we can
> provide an additional strategy
>> which allows for multiple resource bundles. You would specify the
> strategy in the hibernate
>> config file. The names for the different resource files could also
> be specified in the
>> config (or maybe there is a better way!?)
>>
>> --Hardy
>>
>>
>> On Mon, 15 Feb 2010 16:51:13 -0300, Gunnar Morling
> <gunnar.morling(a)googlemail.com> wrote:
>>
>>> I agree, there probably won't be that many 3rd-party constraint
> vendors :-)
>>>
>>> Nevertheless I think the problem is not too exotic. In my day job
> for
>>> example we're building a large-scale enterprise application, which
> is made
>>> up of multiple JARs ("components") developed by multiple,
> independent
>>> development teams.
>>>
>>> Now it would be great, if two teams could develop independently
> their custom
>>> constraints, specific to their component. As of now they would have
> to
>>> provide a unified ValidationMessages.properties, violating the
> encapsulation
>>> of the components.
>>>
>>> A rather simple solution might be a meta-annotation @MessageBundle,
> which
>>> optionally could be used at constraint annotation type declarations
> to
>>> specify the name of the message bundle to be used. That way name
> collisions
>>> between constraints from different JARs still could occur, but
> finding
>>> unique names should not be too hard. If that meta-annotation is not
> given, a
>>> fallback to ValidationMessages.properties might be used.
>>>
>>> WDYT?
>>>
>>> Cheers, Gunnar
>>>
>>>
>>> 2010/2/15 Emmanuel Bernard <emmanuel(a)hibernate.org>
>>>
>>>> Yes, you need to copy it over or more likely adapt the messages to
> your
>>>> application (in which case you don't care).
>>>> The problem with listing the resource bundle is that you need an
> order to
>>>> specify which has precedence over which.
>>>>
>>>> Another solution could be some sort of plugin system where 3rd
> party
>>>> constraint makers can reference automatically a resource bundle.
> But
>>>> realistically, how many 3rd party constraint makers will there
> be?
>>>>
>>>> The question is: is the additional complexity for the solution
> worth the
>>>> current problem?
>>>>
>>>> On 14 févr. 2010, at 22:00, Gunnar Morling wrote:
>>>>
>>>>> Hello you two,
>>>>>
>>>>> recently I thought about the following situation:
>>>>>
>>>>> * I have a JAR containing a custom constraint on the class path
> (could be
>>>> a constraint provided by some 3rd-party constraint vendor)
>>>>> * I have another custom constraint within the actual project
> itself (and
>>>> therefore a ValidationMessages.properties as well)
>>>>>
>>>>> Now the ValidationMessages.properties provided by the 3rd-party
> vendor is
>>>> hidden by my own ValidationMessages.properties, which - if I'm not
> mistaken
>>>> - requires me to copy the contents of the first to the latter.
>>>>>
>>>>> Is there any better solution to this problem?
>>>>>
>>>>> Maybe BV/HV should provide some means for constraint vendors to
> specify
>>>> the resource bundle containing messages? If you think, that's
> useful I'd
>>>> create a JIRA issue for that one.
>>>>>
>>>>> Thanks for any ideas,
>>>>>
>>>>> Gunnar
>>>>
>>>>
>>
>
>
> _______________________________________________
> hibernate-dev mailing list
> hibernate-dev(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/hibernate-dev
--
/max