package example;

import com.googlecode.scopeplugin.annotations.In;
import com.googlecode.scopeplugin.annotations.Out;
import com.opensymphony.xwork2.Action;

public class LoginAction implements Action {
	private String userName;
	private String password;


	private String savedUserName;
	private String savedPassword;
         private boolean remember;
         private boolean forget;
	
	public String login() {
                  if (userName == null) {
                     userName = savedUserName;
                  }

                  if (password == null) {
                     password= savedPassword;
                  }

                  // Perform login logic...

                  if (remember) {
                     savedUserName = userName;
                     savedPassword = password;
                  } else if (forget) {
                     savedUserName = "";
                     savedPassword = "";
                  }

		return SUCCESS;
	}

	@In(scope=ScopeType.COOKIE)
	public void setSavedUserName(String savedUserName) {
		this.savedUserName = savedUserName;
	}

	@In(scope=ScopeType.COOKIE)
	public void setSavedPassword(String savedPassword) {
		this.savedPassword = savedPassword;
	}

	@Out(scope=ScopeType.COOKIE)
	public String getSavedUserName() {
		return this.savedUserName;
	}

	@Out(scope=ScopeType.COOKIE)
	public String getSavedPassword() {
		return this.savedPassword;
	}

	public void setRemember(boolean remember) {
		this.remember= remember;
	}

	public void setForget(boolean forget) {
		this.forget = forget;
	}

}
  • No labels