• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: How to Retrieve Session User?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How to Retrieve Session User?


  • Subject: Re: How to Retrieve Session User?
  • From: Fred Shurtleff <email@hidden>
  • Date: Wed, 04 Apr 2007 18:22:47 -0400

Chuck,

I would welcome your comments on my KVC usage.

I was actually surprised by Mike's statement re: KVC 'funnybusiness' as I was led to believe from my readings that KVC was a very integral part of WO. And the KVC concept seems very straight-forward to me - what can be simpler than takeValueForKey( value, key)? Also this is the technique I have learned from a number of tutorials.

But then I am unable to put/get a user into the session - so there must be something I am missing. Actually I have tried so many ways to retrieve the user, I now think I never got the user into the session to begin with. :-)

Chuck Hill wrote:
Listen to Mike. I was just about to write and make the same complaint of your code. Abusing KVC is NOT your friend.

Chuck


On Apr 4, 2007, at 1:45 PM, Mike Schrag wrote:

PERSONALLY, I'd stop all this KVC funnybusiness. It has its place and it's really powerful, but you're making your life way obnoxious. Let Java do its job and just call methods on things -- there are LOTS of benefits of this. Define a proper user field on your Session class and do setUser(..) and user() to retrieve it.

On Apr 4, 2007, at 4:40 PM, Fred Shurtleff wrote:

Mark - I understand where you are coming from, and did try your suggestion. But I still am NOT getting a user EO instance (I get null per the debugger).

Actually I checked the WO docs and both valueForKeyPath AND valueForKey are valid methods of the Session class. Problem is what is the correct syntax. The docs say object.valueForKey(string), and your suggestion provided the object part (ie session()) (I also tried your input + valueForKeyPath but Eclipse complained about 'no such key = session')

So I still am at a loss on how to retrieve a user EO from the session. :-(

But thanks for your help/input!

Mark Morris wrote:
Hi Fred,

On Apr 4, 2007, at 3:10 PM, Fred Shurtleff wrote:

Hello,

I have a basic question on how to access the logged in user for later use in updates. After authenticating a user I enter him into the session, but when I later try to retrieve this user in another page, it fails(returns null).

So in my main page I record the user as follows:

if (_password.equals(password)) { EOEnterpriseObject user = EOUtilities.objectMatchingKeyAndValue(session().defaultEditingContext(), "User", "name", username);
// set the session.user session().takeValueForKey(user, "user");


And on another page to add a new transaction which needs the user relation attribute(as a foreign key):

EOEnterpriseObject user = (EOEnterpriseObject) valueForKeyPath("session.user"); // user evals to null???

Try changing this to:

EOEnterpriseObject user = (EOEnterpriseObject)session().valueForKey("user");

valueForKeyPath is useful, but I don't think it can do what you're asking of it here.

purchase.addObjectToBothSidesOfRelationshipWithKey(user, "user");

The save fails because user is a required attribute. And I'm not sure if I am not properly storing the user in the session, or not properly retrieving the user from the session.

Can anyone see what I am doing wrong or suggest another approach?

TIA

Personally, I usually make currentUser an actual variable in Session. (Private, with public accessor methods, of course! ;-)


Regards,
Mark




_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:


This email sent to email@hidden


_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:


This email sent to email@hidden


--
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






_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden




_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


  • Follow-Ups:
    • Re: How to Retrieve Session User?
      • From: Mark Morris <email@hidden>
References: 
 >How to Retrieve Session User? (From: Fred Shurtleff <email@hidden>)
 >Re: How to Retrieve Session User? (From: Mark Morris <email@hidden>)
 >Re: How to Retrieve Session User? (From: Fred Shurtleff <email@hidden>)
 >Re: How to Retrieve Session User? (From: Mike Schrag <email@hidden>)
 >Re: How to Retrieve Session User? (From: Chuck Hill <email@hidden>)

  • Prev by Date: Re: WOForm Question
  • Next by Date: Re: How to Retrieve Session User?
  • Previous by thread: Re: How to Retrieve Session User?
  • Next by thread: Re: How to Retrieve Session User?
  • Index(es):
    • Date
    • Thread