I can't see anything obviously wrong. Can you post the whole Login class - all of it.

On 03/09/2008, at 10:13 PM, Natia Gdzelishvili wrote:

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]

Reply via email to