On Thu, Mar 12, 2015 at 10:41 AM, [email protected] <[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) The advantage I see is that we can write a generic component to retrieve the instance list sorted by priority, for a given role. 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

