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