Clazz pattern is simply a way to limit static methods and make them
override-able. ERC can be mostly thought of as an example imp.
My case was that this stuff belongs in the logic and not in the session. The
session shouldn't care that the current user is in thread storage or whereever.
It's simply bad style.
Cheers, Anjo
Am 14.12.2010 um 23:15 schrieb David Holt:
> Hi Anjo,
>
> On 2010-12-14, at 1:34 PM, Anjo Krank wrote:
>
>> There is a reason why stuff in BT is done as it is.
>>
>> I.e. there is a People.class.setCurrentUser(People user) and
>> People.class.currentUser(EOEditingContext ec). Basically it puts all the
>> thread storage code (including the key) in People, which is, like, good
>> style?
>
> Absolutely agree. But it was difficult for me to wrap my head around
> ERXThreadStorage AND Clazz pattern AND ERCoreBusinessLogic at the same time.
> I was just trying to simplify it a little for Jesse. There is no question
> that all three together are much more powerful and useful.
>
>>
>> Also, ERXThreadStorage already handles EOs and faulting.
>
>
> Thanks,
>
> David
>
>>
>> Cheers, Anjo
>>
>>
>>
>> Am 14.12.2010 um 21:57 schrieb David Holt:
>>
>>> public static Person currentUser(EOEditingContext ec) {
>>> Person currentUser = currentUser();
>>> if (currentUser != null && currentUser.editingContext() != ec) {
>>> EOEditingContext currentUserEc =
>>> currentUser.editingContext();
>>> currentUserEc.lock();
>>> try {
>>> Person localUser = (Person)
>>> ERXEOControlUtilities
>>> .localInstanceOfObject(ec,
>>> currentUser);
>>> currentUser = localUser;
>>> } finally {
>>> currentUserEc.unlock();
>>> }
>>> }
>>> return currentUser;
>>> }
>>>
>>
>> _______________________________________________
>> 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/programmingosx%40mac.com
>>
>> This email sent to [email protected]
>
_______________________________________________
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]