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.roleSearch") @Scope(SESSION) @Install(precedence = BUILT_IN) public class RoleSearch implements Serializable { @DataModel List<String> roles; @DataModelSelection String selectedRole; @In IdentityManager identityManager; public void loadRoles() { roles = identityManager.listRoles(); } public String getRoleGroups(String role) { List<String> roles = identityManager.getRoleGroups(role); if (roles == null) return ""; StringBuilder sb = new StringBuilder(); for (String r : roles) { sb.append((sb.length() > 0 ? ", " : "") + r); } return sb.toString(); } public String getSelectedRole() { return selectedRole; } }