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