Whenever I see, "It worked in 5.0.x", my first suggestion is always to make sure that you don't have old Tapestry libraries floating around in your classpath.
> -----Original Message----- > From: Natia Gdzelishvili [mailto:[EMAIL PROTECTED] > Sent: Wednesday, September 03, 2008 08:14 > To: Tapestry users > Subject: Re: Problem with aso > > public class Visit { > // The logged in user > private boolean _loggedIn = false; > private String _myLoginId = null; > > public void noteLogIn(User user) { > _loggedIn = true; > _myLoginId = user.getUserName(); > > } > > public void noteLogOut() { > _loggedIn = false; > _myLoginId = null; > } > > public boolean isLoggedIn() { > return _loggedIn; > } > > public String getMyLoginId() { > return _myLoginId; > } > > } > > > > @ApplicationState > private Visit _visit; > private boolean _visitExists; > > public Object submitLoginForm() { > Class nextPage; > try { > getMerchantCreator().login(username, password); > User u = null; > u = getMerchantCreator().getUser(); > _visit.noteLogIn(u); > nextPage = ViewAllMerchants.class; > > } catch (UserNotFoundException e) { > nextPage = Login.class; > e.printStackTrace(); > } > return nextPage; > } > > On Wed, Sep 3, 2008 at 4:06 PM, Carl Crowder <[EMAIL PROTECTED]> > wrote: > > > Is this actually a compilation error? > > > > Natia Gdzelishvili wrote: > > > in version 5.0.9 it is working > > > > > > I've addedvist class but still same situation _visit cannot be > resolved > > > > > > On Wed, Sep 3, 2008 at 3:44 PM, Geoff Callender < > > > [EMAIL PROTECTED]> wrote: > > > > > >> Fernando's right. Your field curruser starts out as an ASO but if > you > > >> reassign it (eg. curruser = u) then it becomes something else which > is > > not > > >> an ASO. > > >> > > >> Your code looks like it's a mod of JumpStart, but JumpStart actually > > does > > >> the same kind of thing Fernando's saying: > > >> > > >> @ApplicationState > > >> private Visit _visit; > > >> private boolean _visitExists; > > >> > > >> <snipped> > > >> > > >> User user = > getSecurityFinderService().authenticateUser(_loginId, > > >> _password); > > >> > > >> // Store the user in the Visit > > >> > > >> _visit.noteLogIn(user); > > >> > > >> and Visit then sets its fields based on the user. That way it remains > an > > >> ASO. > > >> > > >> public void noteLogIn(User user) { > > >> _loggedIn = true; > > >> _myUserId = user.getId(); > > >> _myLoginId = user.getLoginId(); > > >> } > > >> > > >> HTH, > > >> > > >> Geoff > > >> > > >> > > >> > > >> On 03/09/2008, at 7:24 PM, Fernando Padilla wrote: > > >> > > >> Also, i thought you were to think of an ASO almost as a singleton or > a > > >>> service. Tapestry will create it for you on first access. I didn't > > know > > >>> you could set it. Even if I'm wrong, using this design pattern > might > > clean > > >>> things up a little. > > >>> > > >>> > > >>> So you should use another class to contain a reference to the > current > > >>> active user, call it "UserContainer". > > >>> > > >>> > > >>> @AplicationState > > >>> private UserContainer currUser; > > >>> > > >>> > > >>> and it would have methods like: > > >>> > > >>> currUser.hasUser() > > >>> currUser.setUser(User user) > > >>> currUser.getUser() > > >>> > > >>> > > >>> or whatever you like. > > >>> > > >>> > > >>> > > >>> José Paumard wrote: > > >>> > > >>>> Natia, > > >>>> I think there is a mistake in your code : > > >>>> private User currUser ; > > >>>> private boolean userExists ; > > >>>> I dont think T5 will link userExists and currUser, currUser should > be > > >>>> named user, or userExists currUserExists (please correct me if I'm > > wrong). > > >>>> That said, what do you mean "I cant access currUser", do you mean > that > > >>>> the ASO is null in other classes that want to read it ? Or do you > mean > > that > > >>>> userExists is always false (which is normal, see above). > > >>>> José > > >>>> Natia Gdzelishvili a écrit : > > >>>> > > >>>>> I'm using tapestry 5.0.14 ,i vahe problem with aso, my code is: > > >>>>> > > >>>>> public class Login { > > >>>>> private String username; > > >>>>> private String password; > > >>>>> @Inject > > >>>>> private IBusinessServicesLocator _businessServicesLocator; > > >>>>> @ApplicationState > > >>>>> private User currUser; > > >>>>> private boolean userExists; > > >>>>> > > >>>>> > > >>>>> public String getUsername() { > > >>>>> return username; > > >>>>> } > > >>>>> > > >>>>> public void setUsername(String username) { > > >>>>> this.username = username; > > >>>>> } > > >>>>> > > >>>>> public String getPassword() { > > >>>>> return password; > > >>>>> } > > >>>>> > > >>>>> public void setPassword(String password) { > > >>>>> this.password = password; > > >>>>> } > > >>>>> > > >>>>> @SuppressWarnings("unchecked") > > >>>>> @OnEvent(value = "submit", component = "loginForm") > > >>>>> public Object submitLoginForm() { > > >>>>> Class nextPage; > > >>>>> try { > > >>>>> User u=getMerchantCreator().login(username, password); > > >>>>> //*returns > > >>>>> some object* > > >>>>> currUser = u; /*/ currUser object cannot be resolved* > > >>>>> nextPage = ViewAllMerchants.class; > > >>>>> > > >>>>> } catch (UserNotFoundException e) { > > >>>>> nextPage = Login.class; > > >>>>> e.printStackTrace(); > > >>>>> } > > >>>>> return nextPage; > > >>>>> } > > >>>>> > > >>>>> private IMerchantCreatorLocal getMerchantCreator() { > > >>>>> return _businessServicesLocator.getMerchantCreatorLocal(); > > >>>>> } > > >>>>> } > > >>>>> > > >>>>> i cannot access curruser... > > >>>>> please help.. > > >>>>> > > >>>>> > > >>>>> > > --------------------------------------------------------------------- > > >>>> To unsubscribe, e-mail: [EMAIL PROTECTED] > > >>>> For additional commands, e-mail: [EMAIL PROTECTED] > > >>>> > > >>> -------------------------------------------------------------------- > - > > >>> To unsubscribe, e-mail: [EMAIL PROTECTED] > > >>> For additional commands, e-mail: [EMAIL PROTECTED] > > >>> > > >>> > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]