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

Reply via email to