Search in sources :

Example 6 with Role

use of org.osgi.service.useradmin.Role in project aries by apache.

the class UserAdmin method getCredentials.

/**
     * @see org.osgi.jmx.service.useradmin.UserAdminMBean#getCredentials(java.lang.String)
     */
public TabularData getCredentials(String username) throws IOException {
    if (username == null) {
        throw new IOException("User name cannot be null");
    }
    Role role = userAdmin.getRole(username);
    if (role == null) {
        return null;
    }
    validateRoleType(role, Role.USER);
    Dictionary<String, Object> credentials = ((User) role).getCredentials();
    if (credentials == null) {
        return null;
    }
    TabularData data = new TabularDataSupport(JmxConstants.PROPERTIES_TYPE);
    for (Enumeration<String> keys = credentials.keys(); keys.hasMoreElements(); ) {
        String key = keys.nextElement();
        data.put(PropertyData.newInstance(key, credentials.get(key)).toCompositeData());
    }
    return data;
}
Also used : Role(org.osgi.service.useradmin.Role) User(org.osgi.service.useradmin.User) TabularDataSupport(javax.management.openmbean.TabularDataSupport) IOException(java.io.IOException) TabularData(javax.management.openmbean.TabularData)

Example 7 with Role

use of org.osgi.service.useradmin.Role in project aries by apache.

the class UserAdmin method addRequiredMember.

/**
     * @see org.osgi.jmx.service.useradmin.UserAdminMBean#addRequiredMember(java.lang.String, java.lang.String)
     */
public boolean addRequiredMember(String groupname, String rolename) throws IOException {
    if (groupname == null) {
        throw new IOException("Group name cannot be null");
    }
    if (rolename == null) {
        throw new IOException("Role name cannot be null");
    }
    Role group = userAdmin.getRole(groupname);
    Role member = userAdmin.getRole(rolename);
    if (group == null) {
        throw new IOException("Operation fails role with provided groupname = [" + groupname + "] doesn't exist");
    }
    validateRoleType(group, Role.GROUP);
    return ((Group) group).addRequiredMember(member);
}
Also used : Role(org.osgi.service.useradmin.Role) Group(org.osgi.service.useradmin.Group) IOException(java.io.IOException)

Example 8 with Role

use of org.osgi.service.useradmin.Role in project aries by apache.

the class UserAdmin method addMember.

/**
     * @see org.osgi.jmx.service.useradmin.UserAdminMBean#addMember(java.lang.String, java.lang.String)
     */
public boolean addMember(String groupname, String rolename) throws IOException {
    if (groupname == null) {
        throw new IOException("Group name cannot be null");
    }
    if (rolename == null) {
        throw new IOException("Role name cannot be null");
    }
    Role group = userAdmin.getRole(groupname);
    Role member = userAdmin.getRole(rolename);
    if (group == null) {
        throw new IOException("Operation fails role with provided groupname = [" + groupname + "] doesn't exist");
    }
    validateRoleType(group, Role.GROUP);
    return ((Group) group).addMember(member);
}
Also used : Role(org.osgi.service.useradmin.Role) Group(org.osgi.service.useradmin.Group) IOException(java.io.IOException)

Example 9 with Role

use of org.osgi.service.useradmin.Role in project aries by apache.

the class UserAdminTest method testGetGroup.

/**
     * Test method for {@link org.apache.aries.jmx.useradmin.UserAdmin#getGroup(java.lang.String)}.
     * 
     * @throws IOException
     */
@Test
public void testGetGroup() throws IOException {
    Group group1 = Mockito.mock(Group.class);
    Mockito.when(group1.getType()).thenReturn(Role.GROUP);
    Mockito.when(group1.getName()).thenReturn("group1");
    Role role1 = Mockito.mock(Role.class);
    Mockito.when(role1.getName()).thenReturn("role1");
    Role role2 = Mockito.mock(Role.class);
    Mockito.when(role2.getName()).thenReturn("role2");
    Mockito.when(group1.getRequiredMembers()).thenReturn(new Role[] { role1 });
    Mockito.when(group1.getMembers()).thenReturn(new Role[] { role2 });
    Mockito.when(userAdmin.getRole(Mockito.anyString())).thenReturn(group1);
    CompositeData data = mbean.getGroup("group1");
    Assert.assertNotNull(data);
    GroupData group = GroupData.from(data);
    Assert.assertNotNull(group);
    Assert.assertEquals("group1", group.getName());
    Assert.assertEquals(Role.GROUP, group.getType());
    Assert.assertArrayEquals(new String[] { "role2" }, group.getMembers());
    Assert.assertArrayEquals(new String[] { "role1" }, group.getRequiredMembers());
    Mockito.verify(userAdmin).getRole(Mockito.anyString());
}
Also used : Role(org.osgi.service.useradmin.Role) Group(org.osgi.service.useradmin.Group) CompositeData(javax.management.openmbean.CompositeData) GroupData(org.apache.aries.jmx.codec.GroupData) Test(org.junit.Test)

Example 10 with Role

use of org.osgi.service.useradmin.Role in project aries by apache.

the class UserAdmin method addCredential.

private void addCredential(String key, Object value, String username) throws IOException {
    if (username == null) {
        throw new IOException("User name cannot be null");
    }
    if (key == null) {
        throw new IOException("Credential key cannot be null");
    }
    Role role = userAdmin.getRole(username);
    if (role == null) {
        throw new IOException("Operation fails user with provided username = [" + username + "] doesn't exist");
    }
    validateRoleType(role, Role.USER);
    Dictionary<String, Object> credentials = ((User) role).getCredentials();
    if (credentials != null) {
        credentials.put(key, value);
    }
}
Also used : Role(org.osgi.service.useradmin.Role) User(org.osgi.service.useradmin.User) IOException(java.io.IOException)

Aggregations

Role (org.osgi.service.useradmin.Role)16 IOException (java.io.IOException)15 Group (org.osgi.service.useradmin.Group)7 User (org.osgi.service.useradmin.User)3 TabularData (javax.management.openmbean.TabularData)2 TabularDataSupport (javax.management.openmbean.TabularDataSupport)2 GroupData (org.apache.aries.jmx.codec.GroupData)2 Authorization (org.osgi.service.useradmin.Authorization)2 CompositeData (javax.management.openmbean.CompositeData)1 AuthorizationData (org.apache.aries.jmx.codec.AuthorizationData)1 UserData (org.apache.aries.jmx.codec.UserData)1 Test (org.junit.Test)1