Or, even more cleanly, just store the Profile object in the rundata, which
*does* have the proper scope, rather than the user object, which does not.

- Glenn

> -----Original Message-----
> From: Glenn Golden [mailto:[EMAIL PROTECTED]] 
> Sent: Monday, September 23, 2002 1:04 PM
> To: 'Jetspeed-Dev ([EMAIL PROTECTED])'
> Subject: Bug in JetspeedAccessController re: Profile
> 
> 
> The JetspeedAccessController sets the profile based on the 
> current request into the data's user's setProfile() (which is 
> stored in the user's temp area).
> 
> This is wrong.  The scope in which the data is stored 
> (session - user) is way to broad for the scope in which the 
> data is valid (session - user - request).
> 
> If two requests come in from the same user, and are worked on 
> overlapped, and are from two different profiles, the second 
> to start will re-set the profile that the first set, and they 
> will both get the second's profile if either call the data's 
> getProfile().
> 
> My Jetspeed app. is actually running into this occasionally!
> 
> I will fix this.  Either by putting in this:
> 
> Profile.getProfile(this)
> 
> In DefaultJetspeedRunData's getProfile() and nothing in the 
> setProfile(), effectively not caching the profile,
> 
> or cache the profile for the current thread using a hashtable 
> based on thread somewhere where the rundata can find it for set/get.
> 
> Any other ideas?
> 
> Comments?  Thanks!
> 
> - Glenn
>  
> --------------------------------------------
> Glenn R. Golden, Systems Research Programmer
> University of Michigan School of Information
> [EMAIL PROTECTED]               734-615-1419
> --------------------------------------------
> 
> 
> --
> To unsubscribe, e-mail:   
> <mailto:jetspeed-dev-> [EMAIL PROTECTED]>
> For 
> additional commands, 
> e-mail: <mailto:[EMAIL PROTECTED]>
> 

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to