package org.appfuse.webapp.action;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.appfuse.model.User;
import org.appfuse.service.UserExistsException;
import org.appfuse.service.UserManager;
import java.util.ArrayList;
import java.util.List;
public class UserAction extends BaseAction {
private final Log log = LogFactory.getLog(UserAction.class);
private UserManager userManager;
private List<User> users;
private User user;
private String id;
public void setUserManager(UserManager userManager) {
this.userManager = userManager;
}
public List<User> getUsers() {
return users;
}
public void setId(String id) {
this.id = id;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public String delete() {
userManager.removeUser(user.getId().toString());
List<String> args = new ArrayList<String>();
args.add(user.getFullName());
saveMessage(getText("user.deleted", args));
return "delete";
}
public String edit() {
// check for an add
if (id != null) {
user = userManager.getUser(id);
} else {
user = new User();
}
return SUCCESS;
}
public String execute() {
if (cancel != null) {
return "cancel";
}
if (delete != null) {
return delete();
}
return SUCCESS;
}
public String save() throws UserExistsException {
if (log.isDebugEnabled()) {
log.debug("entering 'save' method");
}
try {
userManager.saveUser(user);
} catch (UserExistsException uex) {
addActionError(getText("user.exists"));
return INPUT;
}
List<String> args = new ArrayList<String>();
args.add(user.getFullName());
saveMessage(getText("user.saved", args));
return SUCCESS;
}
public String list() {
users = userManager.getUsers();
return SUCCESS;
}
}