package org.jboss.seam.security.management.action;
import static org.jboss.seam.ScopeType.SESSION;
import static org.jboss.seam.annotations.Install.BUILT_IN;
import java.io.Serializable;
import java.util.List;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Install;
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("org.jboss.seam.security.management.userSearch")
@Scope(SESSION)
@Install(precedence = BUILT_IN)
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);
if (roles == null) return "";
StringBuilder sb = new StringBuilder();
for (String role : roles)
{
sb.append((sb.length() > 0 ? ", " : "") + role);
}
return sb.toString();
}
public String getSelectedUser()
{
return selectedUser;
}
}