You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@isis.apache.org by Ezequiel Celiz <el...@gmail.com> on 2013/10/08 20:16:22 UTC

List of object supplied by @Bulk annotation

Hi community

When using the annotation @Bulk in action, you can apply changes to the
list of selected objects.

I would be interested to use this list of items to send to a service
function entity and to apply the data supplied by the user (in the WebForm)
to this.

Is it possible?

I hope I was clear on what I need

Thanks as always!
regards
Ezequiel

Re: List of object supplied by @Bulk annotation

Posted by Dan Haywood <da...@haywood-associates.co.uk>.
yeah, I only just committed the feature.  So you'll need to build from
source.

Cheers
Dan


On 9 October 2013 04:53, Ezequiel Celiz <el...@gmail.com> wrote:

> Ok, what I wrote in the previous mail does not help ...
>
> I looked in the class ToDoItem.java in the github's repository [1]
> and found:
>
> org.apache.isis.applib.annotation.Bulk import;
> org.apache.isis.applib.annotation.Bulk.InteractionContext import;
>
> I'll have to update my applib to implement the solution ...
>
> [1]
>
> https://github.com/apache/isis/blob/master/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java
>
>
> 2013/10/8 Ezequiel Celiz <el...@gmail.com>
>
> > Dan, thanks for the interest
> >
> > When I try to implement the solution that you suggest, I find that
> > InteractionContext is an interface, and this can be found in the package
> > org.apache.isis.core.metamodel.interactions. * ......
> >
> > Then add in the pom.xml of "project-dom" this dependency:
> >
> > <dependency>
> >        <groupId> org.apache.isis.progmodels </ groupId>
> >        <artifactId> wrapper-metamodel </ artifactId>
> >        <version> 0.2.0-incubating </ version>
> > </ dependency>
> >
> > Now I can use InteractionContext.java
> >
> > However, I can't make use of:
> > final InteractionContext ctxt = InteractionContext.current.get();
> > because InteractionContext.current.get() does not exist.
> >
> > Apologies Dan, that's what I can be doing wrong?
> >
> > regards
> > Ezequiel
> >
> >
> > 2013/10/8 Dan Haywood <da...@haywood-associates.co.uk>
> >
> >> OK, I've committed ISIS-559 [1], which implements the above pattern.
> >>
> >> Anyone... feel free to resurrect this thread if you take great exception
> >> to
> >> this implementation...
> >>
> >> Dan
> >>
> >> [1] https://issues.apache.org/jira/browse/ISIS-559
> >>
> >>
> >> On 8 October 2013 20:43, Dan Haywood <da...@haywood-associates.co.uk>
> >> wrote:
> >>
> >> >
> >> >
> >> >
> >> > On 8 October 2013 19:16, Ezequiel Celiz <el...@gmail.com> wrote:
> >> >
> >> >> Hi community
> >> >>
> >> >>
> >> > Hi Ezequiel,
> >> > I'm cc'ing dev on this reply, since some of the committers might want
> to
> >> > remark on my proposed solution here :-)
> >> >
> >> >
> >> >
> >> >
> >> >> When using the annotation @Bulk in action, you can apply changes to
> the
> >> >> list of selected objects.
> >> >>
> >> >> I would be interested to use this list of items to send to a service
> >> >> function entity and to apply the data supplied by the user (in the
> >> >> WebForm)
> >> >> to this.
> >> >>
> >> >> Is it possible?
> >> >>
> >> > I hope I was clear on what I need
> >> >>
> >> >>
> >> > yes, the request makes sense, but unfortunately right now there's way
> to
> >> > get this information.
> >> >
> >> > Arguably the "right" thing to do would be for bulk actions to be
> >> > implemented as an action on a domain service that takes a list of
> >> object.
> >> >  However, making this change would be a big deal, and isn't one that I
> >> want
> >> > to embark at the moment.
> >> >
> >> > What would be easy (though I'm not sure if it's reasonable or not)
> would
> >> > be to define a ThreadLocal in the applib, and use this as a means to
> >> pass
> >> > context information.
> >> >
> >> > I've just spiked this, it works well enough:
> >> >
> >> >
> >> >     @Bulk
> >> >     public ToDoItem completed() {
> >> >         ...
> >> >
> >> >         final BulkInteractionContext ctxt =
> >> Bulk.interactionContext.get();
> >> >
> >> >         @SuppressWarnings("unused")
> >> >         List<Object> allObjects = ctxt.getDomainObjects();
> >> >
> >> >         LOG.debug("completed: "
> >> >                 + ctxt.getIndex() +
> >> >                 " [" + ctxt.getSize() + "]"
> >> >                 + (ctxt.isFirst() ? " (first)" : "")
> >> >                 + (ctxt.isLast() ? " (last)" : ""));
> >> >
> >> >         ...
> >> >     }
> >> >
> >> > when I run this with 3 todo items selected, my log prints out:
> >> >
> >> > 20:36:30,351  [ToDoItem             2091197094@qtp-722659319-1 DEBUG]
> >> >  completed: 0 [3] (first)
> >> > 20:36:30,371  [ToDoItem             2091197094@qtp-722659319-1 DEBUG]
> >> >  completed: 1 [3]
> >> > 20:36:30,373  [ToDoItem             2091197094@qtp-722659319-1 DEBUG]
> >> >  completed: 2 [3] (last)
> >> >
> >> > The idea, then, is that you could write the action to be a no-op
> except
> >> > for when called for the first (or last) time, in which case it could
> >> work
> >> > on all the objects provided via ctxt.getDomainObjects().
> >> >
> >> > ~~~
> >> > I'm not sure if using a ThreadLocal in this way is just too hacky for
> >> > words... but if no-one objects, I'll check it in anyway....
> >> >
> >> >
> >> >
> >> >
> >> >> Thanks as always!
> >> >> regards
> >> >> Ezequiel
> >> >>
> >> >
> >> > Cheers
> >> > Dan
> >> >
> >> >
> >>
> >
> >
>

Re: List of object supplied by @Bulk annotation

Posted by Ezequiel Celiz <el...@gmail.com>.
Ok, what I wrote in the previous mail does not help ...

I looked in the class ToDoItem.java in the github's repository [1]
and found:

org.apache.isis.applib.annotation.Bulk import;
org.apache.isis.applib.annotation.Bulk.InteractionContext import;

I'll have to update my applib to implement the solution ...

[1]
https://github.com/apache/isis/blob/master/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java


2013/10/8 Ezequiel Celiz <el...@gmail.com>

> Dan, thanks for the interest
>
> When I try to implement the solution that you suggest, I find that
> InteractionContext is an interface, and this can be found in the package
> org.apache.isis.core.metamodel.interactions. * ......
>
> Then add in the pom.xml of "project-dom" this dependency:
>
> <dependency>
>        <groupId> org.apache.isis.progmodels </ groupId>
>        <artifactId> wrapper-metamodel </ artifactId>
>        <version> 0.2.0-incubating </ version>
> </ dependency>
>
> Now I can use InteractionContext.java
>
> However, I can't make use of:
> final InteractionContext ctxt = InteractionContext.current.get();
> because InteractionContext.current.get() does not exist.
>
> Apologies Dan, that's what I can be doing wrong?
>
> regards
> Ezequiel
>
>
> 2013/10/8 Dan Haywood <da...@haywood-associates.co.uk>
>
>> OK, I've committed ISIS-559 [1], which implements the above pattern.
>>
>> Anyone... feel free to resurrect this thread if you take great exception
>> to
>> this implementation...
>>
>> Dan
>>
>> [1] https://issues.apache.org/jira/browse/ISIS-559
>>
>>
>> On 8 October 2013 20:43, Dan Haywood <da...@haywood-associates.co.uk>
>> wrote:
>>
>> >
>> >
>> >
>> > On 8 October 2013 19:16, Ezequiel Celiz <el...@gmail.com> wrote:
>> >
>> >> Hi community
>> >>
>> >>
>> > Hi Ezequiel,
>> > I'm cc'ing dev on this reply, since some of the committers might want to
>> > remark on my proposed solution here :-)
>> >
>> >
>> >
>> >
>> >> When using the annotation @Bulk in action, you can apply changes to the
>> >> list of selected objects.
>> >>
>> >> I would be interested to use this list of items to send to a service
>> >> function entity and to apply the data supplied by the user (in the
>> >> WebForm)
>> >> to this.
>> >>
>> >> Is it possible?
>> >>
>> > I hope I was clear on what I need
>> >>
>> >>
>> > yes, the request makes sense, but unfortunately right now there's way to
>> > get this information.
>> >
>> > Arguably the "right" thing to do would be for bulk actions to be
>> > implemented as an action on a domain service that takes a list of
>> object.
>> >  However, making this change would be a big deal, and isn't one that I
>> want
>> > to embark at the moment.
>> >
>> > What would be easy (though I'm not sure if it's reasonable or not) would
>> > be to define a ThreadLocal in the applib, and use this as a means to
>> pass
>> > context information.
>> >
>> > I've just spiked this, it works well enough:
>> >
>> >
>> >     @Bulk
>> >     public ToDoItem completed() {
>> >         ...
>> >
>> >         final BulkInteractionContext ctxt =
>> Bulk.interactionContext.get();
>> >
>> >         @SuppressWarnings("unused")
>> >         List<Object> allObjects = ctxt.getDomainObjects();
>> >
>> >         LOG.debug("completed: "
>> >                 + ctxt.getIndex() +
>> >                 " [" + ctxt.getSize() + "]"
>> >                 + (ctxt.isFirst() ? " (first)" : "")
>> >                 + (ctxt.isLast() ? " (last)" : ""));
>> >
>> >         ...
>> >     }
>> >
>> > when I run this with 3 todo items selected, my log prints out:
>> >
>> > 20:36:30,351  [ToDoItem             2091197094@qtp-722659319-1 DEBUG]
>> >  completed: 0 [3] (first)
>> > 20:36:30,371  [ToDoItem             2091197094@qtp-722659319-1 DEBUG]
>> >  completed: 1 [3]
>> > 20:36:30,373  [ToDoItem             2091197094@qtp-722659319-1 DEBUG]
>> >  completed: 2 [3] (last)
>> >
>> > The idea, then, is that you could write the action to be a no-op except
>> > for when called for the first (or last) time, in which case it could
>> work
>> > on all the objects provided via ctxt.getDomainObjects().
>> >
>> > ~~~
>> > I'm not sure if using a ThreadLocal in this way is just too hacky for
>> > words... but if no-one objects, I'll check it in anyway....
>> >
>> >
>> >
>> >
>> >> Thanks as always!
>> >> regards
>> >> Ezequiel
>> >>
>> >
>> > Cheers
>> > Dan
>> >
>> >
>>
>
>

Re: List of object supplied by @Bulk annotation

Posted by Ezequiel Celiz <el...@gmail.com>.
Dan, thanks for the interest

When I try to implement the solution that you suggest, I find that
InteractionContext is an interface, and this can be found in the package
org.apache.isis.core.metamodel.interactions. * ......

Then add in the pom.xml of "project-dom" this dependency:

<dependency>
       <groupId> org.apache.isis.progmodels </ groupId>
       <artifactId> wrapper-metamodel </ artifactId>
       <version> 0.2.0-incubating </ version>
</ dependency>

Now I can use InteractionContext.java

However, I can't make use of:
final InteractionContext ctxt = InteractionContext.current.get();
because InteractionContext.current.get() does not exist.

Apologies Dan, that's what I can be doing wrong?

regards
Ezequiel


2013/10/8 Dan Haywood <da...@haywood-associates.co.uk>

> OK, I've committed ISIS-559 [1], which implements the above pattern.
>
> Anyone... feel free to resurrect this thread if you take great exception to
> this implementation...
>
> Dan
>
> [1] https://issues.apache.org/jira/browse/ISIS-559
>
>
> On 8 October 2013 20:43, Dan Haywood <da...@haywood-associates.co.uk> wrote:
>
> >
> >
> >
> > On 8 October 2013 19:16, Ezequiel Celiz <el...@gmail.com> wrote:
> >
> >> Hi community
> >>
> >>
> > Hi Ezequiel,
> > I'm cc'ing dev on this reply, since some of the committers might want to
> > remark on my proposed solution here :-)
> >
> >
> >
> >
> >> When using the annotation @Bulk in action, you can apply changes to the
> >> list of selected objects.
> >>
> >> I would be interested to use this list of items to send to a service
> >> function entity and to apply the data supplied by the user (in the
> >> WebForm)
> >> to this.
> >>
> >> Is it possible?
> >>
> > I hope I was clear on what I need
> >>
> >>
> > yes, the request makes sense, but unfortunately right now there's way to
> > get this information.
> >
> > Arguably the "right" thing to do would be for bulk actions to be
> > implemented as an action on a domain service that takes a list of object.
> >  However, making this change would be a big deal, and isn't one that I
> want
> > to embark at the moment.
> >
> > What would be easy (though I'm not sure if it's reasonable or not) would
> > be to define a ThreadLocal in the applib, and use this as a means to pass
> > context information.
> >
> > I've just spiked this, it works well enough:
> >
> >
> >     @Bulk
> >     public ToDoItem completed() {
> >         ...
> >
> >         final BulkInteractionContext ctxt =
> Bulk.interactionContext.get();
> >
> >         @SuppressWarnings("unused")
> >         List<Object> allObjects = ctxt.getDomainObjects();
> >
> >         LOG.debug("completed: "
> >                 + ctxt.getIndex() +
> >                 " [" + ctxt.getSize() + "]"
> >                 + (ctxt.isFirst() ? " (first)" : "")
> >                 + (ctxt.isLast() ? " (last)" : ""));
> >
> >         ...
> >     }
> >
> > when I run this with 3 todo items selected, my log prints out:
> >
> > 20:36:30,351  [ToDoItem             2091197094@qtp-722659319-1 DEBUG]
> >  completed: 0 [3] (first)
> > 20:36:30,371  [ToDoItem             2091197094@qtp-722659319-1 DEBUG]
> >  completed: 1 [3]
> > 20:36:30,373  [ToDoItem             2091197094@qtp-722659319-1 DEBUG]
> >  completed: 2 [3] (last)
> >
> > The idea, then, is that you could write the action to be a no-op except
> > for when called for the first (or last) time, in which case it could work
> > on all the objects provided via ctxt.getDomainObjects().
> >
> > ~~~
> > I'm not sure if using a ThreadLocal in this way is just too hacky for
> > words... but if no-one objects, I'll check it in anyway....
> >
> >
> >
> >
> >> Thanks as always!
> >> regards
> >> Ezequiel
> >>
> >
> > Cheers
> > Dan
> >
> >
>

Re: List of object supplied by @Bulk annotation

Posted by Dan Haywood <da...@haywood-associates.co.uk>.
OK, I've committed ISIS-559 [1], which implements the above pattern.

Anyone... feel free to resurrect this thread if you take great exception to
this implementation...

Dan

[1] https://issues.apache.org/jira/browse/ISIS-559


On 8 October 2013 20:43, Dan Haywood <da...@haywood-associates.co.uk> wrote:

>
>
>
> On 8 October 2013 19:16, Ezequiel Celiz <el...@gmail.com> wrote:
>
>> Hi community
>>
>>
> Hi Ezequiel,
> I'm cc'ing dev on this reply, since some of the committers might want to
> remark on my proposed solution here :-)
>
>
>
>
>> When using the annotation @Bulk in action, you can apply changes to the
>> list of selected objects.
>>
>> I would be interested to use this list of items to send to a service
>> function entity and to apply the data supplied by the user (in the
>> WebForm)
>> to this.
>>
>> Is it possible?
>>
> I hope I was clear on what I need
>>
>>
> yes, the request makes sense, but unfortunately right now there's way to
> get this information.
>
> Arguably the "right" thing to do would be for bulk actions to be
> implemented as an action on a domain service that takes a list of object.
>  However, making this change would be a big deal, and isn't one that I want
> to embark at the moment.
>
> What would be easy (though I'm not sure if it's reasonable or not) would
> be to define a ThreadLocal in the applib, and use this as a means to pass
> context information.
>
> I've just spiked this, it works well enough:
>
>
>     @Bulk
>     public ToDoItem completed() {
>         ...
>
>         final BulkInteractionContext ctxt = Bulk.interactionContext.get();
>
>         @SuppressWarnings("unused")
>         List<Object> allObjects = ctxt.getDomainObjects();
>
>         LOG.debug("completed: "
>                 + ctxt.getIndex() +
>                 " [" + ctxt.getSize() + "]"
>                 + (ctxt.isFirst() ? " (first)" : "")
>                 + (ctxt.isLast() ? " (last)" : ""));
>
>         ...
>     }
>
> when I run this with 3 todo items selected, my log prints out:
>
> 20:36:30,351  [ToDoItem             2091197094@qtp-722659319-1 DEBUG]
>  completed: 0 [3] (first)
> 20:36:30,371  [ToDoItem             2091197094@qtp-722659319-1 DEBUG]
>  completed: 1 [3]
> 20:36:30,373  [ToDoItem             2091197094@qtp-722659319-1 DEBUG]
>  completed: 2 [3] (last)
>
> The idea, then, is that you could write the action to be a no-op except
> for when called for the first (or last) time, in which case it could work
> on all the objects provided via ctxt.getDomainObjects().
>
> ~~~
> I'm not sure if using a ThreadLocal in this way is just too hacky for
> words... but if no-one objects, I'll check it in anyway....
>
>
>
>
>> Thanks as always!
>> regards
>> Ezequiel
>>
>
> Cheers
> Dan
>
>

Re: List of object supplied by @Bulk annotation

Posted by Dan Haywood <da...@haywood-associates.co.uk>.
OK, I've committed ISIS-559 [1], which implements the above pattern.

Anyone... feel free to resurrect this thread if you take great exception to
this implementation...

Dan

[1] https://issues.apache.org/jira/browse/ISIS-559


On 8 October 2013 20:43, Dan Haywood <da...@haywood-associates.co.uk> wrote:

>
>
>
> On 8 October 2013 19:16, Ezequiel Celiz <el...@gmail.com> wrote:
>
>> Hi community
>>
>>
> Hi Ezequiel,
> I'm cc'ing dev on this reply, since some of the committers might want to
> remark on my proposed solution here :-)
>
>
>
>
>> When using the annotation @Bulk in action, you can apply changes to the
>> list of selected objects.
>>
>> I would be interested to use this list of items to send to a service
>> function entity and to apply the data supplied by the user (in the
>> WebForm)
>> to this.
>>
>> Is it possible?
>>
> I hope I was clear on what I need
>>
>>
> yes, the request makes sense, but unfortunately right now there's way to
> get this information.
>
> Arguably the "right" thing to do would be for bulk actions to be
> implemented as an action on a domain service that takes a list of object.
>  However, making this change would be a big deal, and isn't one that I want
> to embark at the moment.
>
> What would be easy (though I'm not sure if it's reasonable or not) would
> be to define a ThreadLocal in the applib, and use this as a means to pass
> context information.
>
> I've just spiked this, it works well enough:
>
>
>     @Bulk
>     public ToDoItem completed() {
>         ...
>
>         final BulkInteractionContext ctxt = Bulk.interactionContext.get();
>
>         @SuppressWarnings("unused")
>         List<Object> allObjects = ctxt.getDomainObjects();
>
>         LOG.debug("completed: "
>                 + ctxt.getIndex() +
>                 " [" + ctxt.getSize() + "]"
>                 + (ctxt.isFirst() ? " (first)" : "")
>                 + (ctxt.isLast() ? " (last)" : ""));
>
>         ...
>     }
>
> when I run this with 3 todo items selected, my log prints out:
>
> 20:36:30,351  [ToDoItem             2091197094@qtp-722659319-1 DEBUG]
>  completed: 0 [3] (first)
> 20:36:30,371  [ToDoItem             2091197094@qtp-722659319-1 DEBUG]
>  completed: 1 [3]
> 20:36:30,373  [ToDoItem             2091197094@qtp-722659319-1 DEBUG]
>  completed: 2 [3] (last)
>
> The idea, then, is that you could write the action to be a no-op except
> for when called for the first (or last) time, in which case it could work
> on all the objects provided via ctxt.getDomainObjects().
>
> ~~~
> I'm not sure if using a ThreadLocal in this way is just too hacky for
> words... but if no-one objects, I'll check it in anyway....
>
>
>
>
>> Thanks as always!
>> regards
>> Ezequiel
>>
>
> Cheers
> Dan
>
>

Re: List of object supplied by @Bulk annotation

Posted by Dan Haywood <da...@haywood-associates.co.uk>.
On 8 October 2013 19:16, Ezequiel Celiz <el...@gmail.com> wrote:

> Hi community
>
>
Hi Ezequiel,
I'm cc'ing dev on this reply, since some of the committers might want to
remark on my proposed solution here :-)




> When using the annotation @Bulk in action, you can apply changes to the
> list of selected objects.
>
> I would be interested to use this list of items to send to a service
> function entity and to apply the data supplied by the user (in the WebForm)
> to this.
>
> Is it possible?
>
I hope I was clear on what I need
>
>
yes, the request makes sense, but unfortunately right now there's way to
get this information.

Arguably the "right" thing to do would be for bulk actions to be
implemented as an action on a domain service that takes a list of object.
 However, making this change would be a big deal, and isn't one that I want
to embark at the moment.

What would be easy (though I'm not sure if it's reasonable or not) would be
to define a ThreadLocal in the applib, and use this as a means to pass
context information.

I've just spiked this, it works well enough:


    @Bulk
    public ToDoItem completed() {
        ...

        final BulkInteractionContext ctxt = Bulk.interactionContext.get();

        @SuppressWarnings("unused")
        List<Object> allObjects = ctxt.getDomainObjects();

        LOG.debug("completed: "
                + ctxt.getIndex() +
                " [" + ctxt.getSize() + "]"
                + (ctxt.isFirst() ? " (first)" : "")
                + (ctxt.isLast() ? " (last)" : ""));

        ...
    }

when I run this with 3 todo items selected, my log prints out:

20:36:30,351  [ToDoItem             2091197094@qtp-722659319-1 DEBUG]
 completed: 0 [3] (first)
20:36:30,371  [ToDoItem             2091197094@qtp-722659319-1 DEBUG]
 completed: 1 [3]
20:36:30,373  [ToDoItem             2091197094@qtp-722659319-1 DEBUG]
 completed: 2 [3] (last)

The idea, then, is that you could write the action to be a no-op except for
when called for the first (or last) time, in which case it could work on
all the objects provided via ctxt.getDomainObjects().

~~~
I'm not sure if using a ThreadLocal in this way is just too hacky for
words... but if no-one objects, I'll check it in anyway....




> Thanks as always!
> regards
> Ezequiel
>

Cheers
Dan

Re: List of object supplied by @Bulk annotation

Posted by Dan Haywood <da...@haywood-associates.co.uk>.
On 8 October 2013 19:16, Ezequiel Celiz <el...@gmail.com> wrote:

> Hi community
>
>
Hi Ezequiel,
I'm cc'ing dev on this reply, since some of the committers might want to
remark on my proposed solution here :-)




> When using the annotation @Bulk in action, you can apply changes to the
> list of selected objects.
>
> I would be interested to use this list of items to send to a service
> function entity and to apply the data supplied by the user (in the WebForm)
> to this.
>
> Is it possible?
>
I hope I was clear on what I need
>
>
yes, the request makes sense, but unfortunately right now there's way to
get this information.

Arguably the "right" thing to do would be for bulk actions to be
implemented as an action on a domain service that takes a list of object.
 However, making this change would be a big deal, and isn't one that I want
to embark at the moment.

What would be easy (though I'm not sure if it's reasonable or not) would be
to define a ThreadLocal in the applib, and use this as a means to pass
context information.

I've just spiked this, it works well enough:


    @Bulk
    public ToDoItem completed() {
        ...

        final BulkInteractionContext ctxt = Bulk.interactionContext.get();

        @SuppressWarnings("unused")
        List<Object> allObjects = ctxt.getDomainObjects();

        LOG.debug("completed: "
                + ctxt.getIndex() +
                " [" + ctxt.getSize() + "]"
                + (ctxt.isFirst() ? " (first)" : "")
                + (ctxt.isLast() ? " (last)" : ""));

        ...
    }

when I run this with 3 todo items selected, my log prints out:

20:36:30,351  [ToDoItem             2091197094@qtp-722659319-1 DEBUG]
 completed: 0 [3] (first)
20:36:30,371  [ToDoItem             2091197094@qtp-722659319-1 DEBUG]
 completed: 1 [3]
20:36:30,373  [ToDoItem             2091197094@qtp-722659319-1 DEBUG]
 completed: 2 [3] (last)

The idea, then, is that you could write the action to be a no-op except for
when called for the first (or last) time, in which case it could work on
all the objects provided via ctxt.getDomainObjects().

~~~
I'm not sure if using a ThreadLocal in this way is just too hacky for
words... but if no-one objects, I'll check it in anyway....




> Thanks as always!
> regards
> Ezequiel
>

Cheers
Dan