[jboss-cvs] jboss-seam/examples/seamspace/src/org/jboss/seam/example/seamspace ...
Shane Bryzak
sbryzak at redhat.com
Wed Jan 9 05:05:38 EST 2008
User: sbryzak2
Date: 08/01/09 05:05:37
Added: examples/seamspace/src/org/jboss/seam/example/seamspace
UserAction.java UserSearch.java
Log:
completed user management screens
Revision Changes Path
1.1 date: 2008/01/09 10:05:37; author: sbryzak2; state: Exp;jboss-seam/examples/seamspace/src/org/jboss/seam/example/seamspace/UserAction.java
Index: UserAction.java
===================================================================
package org.jboss.seam.example.seamspace;
import static org.jboss.seam.ScopeType.CONVERSATION;
import java.util.ArrayList;
import java.util.List;
import org.jboss.seam.annotations.Begin;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.core.Conversation;
import org.jboss.seam.faces.FacesMessages;
import org.jboss.seam.security.management.IdentityManager;
@Name("userAction")
@Scope(CONVERSATION)
public class UserAction
{
private String username;
private String password;
private String confirm;
private List<String> roles;
private boolean enabled;
@In IdentityManager identityManager;
@Begin
public void createUser()
{
roles = new ArrayList<String>();
}
@Begin
public void editUser(String username)
{
this.username = username;
roles = identityManager.getGrantedRoles(username);
enabled = identityManager.isEnabled(username);
}
public String save()
{
if (identityManager.accountExists(username))
{
return saveExistingUser();
}
else
{
return saveNewUser();
}
}
private String saveNewUser()
{
if (!password.equals(confirm))
{
FacesMessages.instance().addToControl("password", "Passwords do not match");
return "failure";
}
boolean success = identityManager.createAccount(username, password);
if (success)
{
for (String role : roles)
{
identityManager.grantRole(username, role);
}
if (!enabled)
{
identityManager.disableAccount(username);
}
Conversation.instance().end();
}
return "success";
}
private String saveExistingUser()
{
// Check if a new password has been entered
if (password != null && !"".equals(password))
{
if (!password.equals(confirm))
{
FacesMessages.instance().addToControl("password", "Passwords do not match");
return "failure";
}
else
{
identityManager.changePassword(username, password);
}
}
List<String> grantedRoles = identityManager.getGrantedRoles(username);
for (String role : grantedRoles)
{
if (!roles.contains(role)) identityManager.revokeRole(username, role);
}
for (String role : roles)
{
if (!grantedRoles.contains(role)) identityManager.grantRole(username, role);
}
if (enabled)
{
identityManager.enableAccount(username);
}
else
{
identityManager.disableAccount(username);
}
Conversation.instance().end();
return "success";
}
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;
}
public String getConfirm()
{
return confirm;
}
public void setConfirm(String confirm)
{
this.confirm = confirm;
}
public List<String> getRoles()
{
return roles;
}
public void setRoles(List<String> roles)
{
this.roles = roles;
}
public boolean isEnabled()
{
return enabled;
}
public void setEnabled(boolean enabled)
{
this.enabled = enabled;
}
}
1.1 date: 2008/01/09 10:05:37; author: sbryzak2; state: Exp;jboss-seam/examples/seamspace/src/org/jboss/seam/example/seamspace/UserSearch.java
Index: UserSearch.java
===================================================================
package org.jboss.seam.example.seamspace;
import static org.jboss.seam.ScopeType.SESSION;
import java.io.Serializable;
import java.util.List;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.annotations.datamodel.DataModel;
import org.jboss.seam.annotations.datamodel.DataModelSelection;
import org.jboss.seam.security.management.IdentityManager;
@Name("userSearch")
@Scope(SESSION)
public class UserSearch implements Serializable
{
private static final long serialVersionUID = 8592034786339372510L;
@DataModel
List<String> users;
@DataModelSelection
String selectedUser;
@In IdentityManager identityManager;
public void loadUsers()
{
users = identityManager.listUsers();
}
public String getUserRoles(String username)
{
List<String> roles = identityManager.getGrantedRoles(username);
StringBuilder sb = new StringBuilder();
for (String role : roles)
{
sb.append((sb.length() > 0 ? ", " : "") + role);
}
return sb.toString();
}
public String getSelectedUser()
{
return selectedUser;
}
}
More information about the jboss-cvs-commits
mailing list