I usually make a another class, e.g. K12Thread and then add static methods on 
that do my casting etc.  e.g.

    public static User user(EOEditingContext ec)
    {
        return isAttached() ? 
((User)ERXThreadStorage.valueForKey(USER_KEY)).localInstance(ec) : null;
    }

Which results in:

> willUpdate() {
>       super.willUpdate();
>       setModifiedBy(K2Thread.user(editingContext());
> }


You could also add this in K12GenericRecord or a suitable superclass:

    public User activeUser()
    {
        return K2Thread.user(editingContext();
    }


And then in your code:

> willUpdate() {
>       super.willUpdate();
>       setModifiedBy(activeUser());
> }



On Oct 4, 2010, at 1:22 PM, David Avendasora wrote:

> Hi all,
> 
> We are moving from having to remember to manually set the modifiedBy and 
> modifiedDate values in our EOs when they are modified to overriding 
> willUpdate() and pulling the loggedInUser from ERXThreadStorage.
> 
> We are overriding willUpdate() in our K12GenericRecord which all our EOs 
> extend.
> 
> for example (very simplified to get the point across) :
> 
> willUpdate() {
>       super.willUpdate();
>       setModifiedBy((SystemUser) 
> ERXThreadStorage.valueForKey("loggedInUser"));
> }
> 
> As you can see, we are casting the results of the ThreadStorage as SystemUser 
> which itself is a subclass of K12GenericRecord.
> 
> It seems odd to be importing a subclass into it's own superclass, but it 
> since a SystemUser really is a standard EO and therefor is-a 
> K12GenericRecord, it also seems correct.
> 
> We're not doing anything horribly wrong here, are we?
> 
> Dave _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list      ([email protected])
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/webobjects-dev/chill%40global-village.net
> 
> This email sent to [email protected]

-- 
Chuck Hill             Senior Consultant / VP Development

Practical WebObjects - for developers who want to increase their overall 
knowledge of WebObjects or who are trying to solve specific problems.    
http://www.global-village.net/products/practical_webobjects







Attachment: smime.p7s
Description: S/MIME cryptographic signature

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to