use of org.osgi.service.useradmin.Role in project felix by apache.
the class MemoryRoleRepositoryStore method getRoles.
public Role[] getRoles(String filterValue) throws Exception {
Collection roles = m_entries.values();
Filter filter = null;
if (filterValue != null) {
filter = FrameworkUtil.createFilter(filterValue);
}
List matchingRoles = new ArrayList();
Iterator rolesIter = roles.iterator();
while (rolesIter.hasNext()) {
Role role = (Role) rolesIter.next();
if ((filter == null) || filter.match(role.getProperties())) {
matchingRoles.add(role);
}
}
Role[] result = new Role[matchingRoles.size()];
return (Role[]) matchingRoles.toArray(result);
}
use of org.osgi.service.useradmin.Role in project felix by apache.
the class RoleRepositoryTest method testRemoveRolePropertyYieldsEventOk.
/**
* Tests whether removing a property from a role causes an event to be emitted to the {@link RoleRepository}.
*/
public void testRemoveRolePropertyYieldsEventOk() throws Exception {
final Role role = m_roleRepository.addRole("john.doe", Role.USER);
role.getProperties().put("key", "value");
m_latch = new CountDownLatch(1);
new Thread(new Runnable() {
public void run() {
role.getProperties().remove("key");
}
}).start();
assertTrue(m_latch.await(1, TimeUnit.SECONDS));
}
use of org.osgi.service.useradmin.Role in project felix by apache.
the class RoleRepositoryTest method testGetRoleByName.
/**
* Test method for {@link org.apache.felix.useradmin.impl.RoleRepository#getRoleByName(java.lang.String)}.
*/
public void testGetRoleByName() {
Role role1 = m_roleRepository.addRole("foo", Role.USER);
Role role2 = m_roleRepository.addRole("bar", Role.GROUP);
assertEquals(role1, m_roleRepository.getRoleByName("foo"));
assertEquals(role2, m_roleRepository.getRoleByName("bar"));
assertNull(m_roleRepository.getRoleByName("qux"));
}
use of org.osgi.service.useradmin.Role in project felix by apache.
the class RoleRepositoryTest method testGetRolesWithKeyValuePairOk.
/**
* Test method for {@link org.apache.felix.useradmin.impl.RoleRepository#getRoles(String, String)}.
*/
public void testGetRolesWithKeyValuePairOk() throws Exception {
Role role1 = m_roleRepository.addRole("foo", Role.USER);
role1.getProperties().put("key", "value1");
role1.getProperties().put("keyA", "valueA");
Role role2 = m_roleRepository.addRole("bar", Role.GROUP);
role2.getProperties().put("key", "value2");
role2.getProperties().put("keyB", "value1");
assertSameRoles(new Role[] { role1 }, m_roleRepository.getRoles("key", "value1"));
assertSameRoles(new Role[] { role2 }, m_roleRepository.getRoles("key", "value2"));
assertSameRoles(new Role[0], m_roleRepository.getRoles("key", "value"));
}
use of org.osgi.service.useradmin.Role in project felix by apache.
the class RoleRepositoryTest method testGetRolesWithoutFilterOk.
/**
* Test method for {@link org.apache.felix.useradmin.impl.RoleRepository#getRoles(org.osgi.framework.Filter)}.
*/
public void testGetRolesWithoutFilterOk() {
Role role1 = m_roleRepository.addRole("foo", Role.USER);
Role role2 = m_roleRepository.addRole("bar", Role.GROUP);
assertSameRoles(new Role[] { role2, role1 }, m_roleRepository.getRoles(null));
}
Aggregations