On Thu, Mar 12, 2015 at 11:45 AM, [email protected] <[email protected]> wrote:
>
>
>
>
>
> On 12 Mar 2015 at 10:30:50, Marius Dumitru Florea 
> ([email protected](mailto:[email protected])) wrote:
>
>> On Thu, Mar 12, 2015 at 10:41 AM, [email protected] wrote:
>> > Hi devs,
>> >
>> > As part of http://jira.xwiki.org/browse/XWIKI-11905, Edy has started using 
>> > the Java @Priority annotation.
>> >
>> > This seems very good and I personally didn’t know about this annotation 
>> > before (maybe it’s been introduced not that long ago?). So for me it 
>> > raises the question of: do we want to use this annotation more and how 
>> > does it compare with what we’ve done so far.
>> >
>> > I can think of a few places that could have used it:
>> >
>> > * Macros.get/setPriority(). It should be possible to add support for 
>> > @Priority and modify MacroTransformation to use that annotation.
>> > * Transformations. We have a jira issue opened for adding support for 
>> > Priority in Transformation’s executions (in TransformationManager).
>> > * @DisposePriority (used by ECM).
>> > * TranslationBundle.get/setPriority()
>> > * … and probably some other places…
>> >
>> > However, I think there’s a namespacing problem. For example imagine that 
>> > we code a Macro and set @Priority on that Macro component. The ECM could 
>> > interpret it as a dispose priority while the MacroTransformation could 
>> > interpret it as an execution priority…
>> >
>> > Globally I think that use an annotation for expressing priority is great 
>> > and much better than what we’ve done in the past with get/setPriority() 
>> > methods. It’s better because priority is not a business concept and we’re 
>> > polluting the business interface with it.
>> >
>>
>> > Now, in order to fix the namespacing issue, I think that the best solution 
>> > is that each module requiring some priority should introduce its own 
>> > annotation and should NOT depend on the @Priority one from the JDK (i.e. 
>> > we ban the usage of it).
>>
>> We could also define a generic Priority annotation that has a role
>> (namespace) besides the value.
>>
>> @Priority(role = org.xwiki.rendering.macro.Macro.class, value = 210)
>
> Yes, I thought about it too, but discarded it because it’s less nice than 
> having a strongly typed annotation IMO.
>
>> The advantage I see is that we can write a generic component to
>> retrieve the instance list sorted by priority, for a given role.
>

> Retrieving a given annotation is a one liner in java so it’s not really an 
> issue.

Sorting by priority is not a one liner, but neither too complex.

>
> Thanks
> -Vincent
>
>> Thanks,
>> Marius
>>
>> >
>> > WDYT?
>> >
>> > Thanks
>> > -Vincent
>> >
>> >
>> > W
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to