On Oct 22, 2009, at 2:43 PM, Vincent Massol wrote:
On Wed, Aug 27, 2008 at 2:02 PM, Vincent Massol
<vincent(a)massol.net>
wrote:
On Aug 27, 2008, at 2:08 PM, Sergiu Dumitriu wrote:
Vincent Massol wrote:
Hi Sergiu,
Are you sure about this below? What's your use case?
I find it strange to order by class name for an execution order.
There is no use case, but I think that we should have a
deterministic
rendering process. If we order only by the priority, then I don't
know
in which order will the rendering happen, since most macros have
priority 1000. Ideally this shouldn't be a problem, but if there's a
bug
somewhere, it will be harder to spot it if the execution order is
always
changing. So, it's not something needed, but something safer. If you
don't have a counter use case, I'd rather keep it like this.
The order is already deterministic AFAIK. It's the order in which the
macros are defined in the components.xml.
Ok I see what you mean... what if the user also provides macro in
another jar for example?
Let's keep it like this then for now.
This is actually wrong. The order should only be on the priority and
the macro name shouldn't be mixed.
What should happen IMO is that macro order should be that of the page,
i.e. if macro1 is before macro2 and they both have the same priority
then macro1 executes before macro2.
I'll look at fixing this since the current algo is wrong.
Even worse Sergiu. Your change as actually broken macro rendering...
Example:
{{ruby}}
def var1
{{/ruby}}
{{groovy}}
use var1
{{/groovy}}
will fail since the groovy macro will be executed before the ruby macro.
I'm fixing it.
-Vincent
Thanks
-Vincent
> Thanks
> -Vincent
>
>>> On Aug 27, 2008, at 1:59 AM, sdumitriu (SVN) wrote:
>>>
>>>> Author: sdumitriu
>>>> Date: 2008-08-27 01:59:21 +0200 (Wed, 27 Aug 2008)
>>>> New Revision: 12079
>>>>
>>>> Modified:
>>>> platform/core/trunk/xwiki-rendering/src/main/java/org/xwiki/
>>>> rendering/macro/AbstractMacro.java
>>>> platform/core/trunk/xwiki-rendering/src/main/java/org/xwiki/
>>>> rendering/transformation/AbstractTransformation.java
>>>> Log:
>>>> XWIKI-2568: Continue implementing the new Rendering Architecture
>>>> Improve the macro and transformation comparer so that component
>>>> implementations with the same priority are ordered by the
>>>> classname.