use of org.osgi.service.useradmin.Group in project felix by apache.
the class UserManager method removeMember.
public boolean removeMember(String groupname, String rolename) {
try {
Role group = ac.getUserAdmin().getRole(groupname);
Role role = ac.getUserAdmin().getRole(rolename);
if (!(group.getType() == Role.GROUP))
return false;
return ((Group) group).removeMember(role);
} catch (NullPointerException npe) {
ac.debug("UserAdmin not available. ");
return false;
}
}
use of org.osgi.service.useradmin.Group in project felix by apache.
the class UserManager method getMembers.
public String[] getMembers(String groupname) {
try {
Group group = (Group) ac.getUserAdmin().getRole(groupname);
Role[] members = group.getMembers();
if (members == null)
return null;
String[] names = new String[members.length];
for (int i = 0; i < members.length; i++) {
names[i] = members[i].getName();
}
return names;
} catch (NullPointerException npe) {
ac.debug("UserAdmin not available. ");
return null;
}
}
use of org.osgi.service.useradmin.Group in project felix by apache.
the class UserManager method getRequiredMembers.
public String[] getRequiredMembers(String groupname) {
try {
Group group = (Group) ac.getUserAdmin().getRole(groupname);
Role[] members = group.getRequiredMembers();
if (members == null)
return null;
String[] names = new String[members.length];
for (int i = 0; i < members.length; i++) {
names[i] = members[i].getName();
}
return names;
} catch (NullPointerException npe) {
ac.debug("UserAdmin not available. ");
return null;
}
}
use of org.osgi.service.useradmin.Group in project felix by apache.
the class FileStoreInitializationTest method testStoreIsInitializedAndClosedProperlyOk.
/**
* Tests that initialization and closing of the repository store is
* performed correctly.
*/
@Test
public void testStoreIsInitializedAndClosedProperlyOk() throws Exception {
UserAdmin ua = getUserAdmin();
// Start the file store bundle...
Bundle fileStoreBundle = getFileStoreBundle();
fileStoreBundle.start();
// Create two roles...
User user = (User) ua.createRole("user1", Role.USER);
assertNotNull(user);
Group group = (Group) ua.createRole("group1", Role.GROUP);
assertNotNull(group);
group.addMember(user);
group.addRequiredMember(ua.getRole(Role.USER_ANYONE));
// Stop the file store; should persist the two roles...
fileStoreBundle.stop();
// Wait a little until the bundle is really stopped...
Thread.sleep(100);
// Retrieve the roles again; should both yield null due to the store not being available...
user = (User) ua.getRole("user1");
assertNull(user);
group = (Group) ua.getRole("group1");
assertNull(group);
// This will not succeed: no backend to store the user in...
assertNull(ua.createRole("user2", Role.USER));
fileStoreBundle.start();
awaitService(ORG_APACHE_FELIX_USERADMIN_FILESTORE);
// Retrieve the roles again; should both yield valid values...
user = (User) ua.getRole("user1");
assertNotNull(user);
group = (Group) ua.getRole("group1");
assertNotNull(group);
Role[] members = group.getMembers();
assertNotNull(members);
assertEquals(1, members.length);
assertEquals("user1", members[0].getName());
members = group.getRequiredMembers();
assertNotNull(members);
assertEquals(1, members.length);
assertEquals(Role.USER_ANYONE, members[0].getName());
user = (User) ua.getRole("user2");
assertNull(user);
}
use of org.osgi.service.useradmin.Group in project felix by apache.
the class WebConsolePlugin method toJSON.
private static final void toJSON(JSONWriter jw, Role role, boolean details) throws IOException {
jw.object();
// $NON-NLS-1$
jw.key("type");
jw.value(role.getType());
// $NON-NLS-1$
jw.key("name");
jw.value(role.getName());
if (role instanceof Group) {
final Group group = (Group) role;
Role[] roles;
roles = group.getMembers();
if (null != roles && roles.length > 0) {
// $NON-NLS-1$
jw.key("members");
toJSON(jw, roles, details);
}
roles = group.getRequiredMembers();
if (null != roles && roles.length > 0) {
// $NON-NLS-1$
jw.key("rmembers");
toJSON(jw, roles, details);
}
}
if (details) {
Dictionary p;
p = role.getProperties();
if (null != p && !p.isEmpty()) {
// $NON-NLS-1$
jw.key("properties");
toJSON(jw, p);
}
if (role instanceof User) {
p = ((User) role).getCredentials();
if (null != p && !p.isEmpty()) {
// $NON-NLS-1$
jw.key("credentials");
toJSON(jw, p);
}
}
}
jw.endObject();
}
Aggregations