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