Commit ad6bd514 authored by Brian Major's avatar Brian Major
Browse files
parents da8f42dd 0d290395
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -85,7 +85,7 @@ import ca.nrc.cadc.profiler.Profiler;
 * Class that provides access to the LdapConnectionPool through
 * JNDI binding.
 */
public class LdapPersistence
public abstract class LdapPersistence
{

    // pool names
@@ -103,7 +103,7 @@ public class LdapPersistence
    // are created.
    private static Object jndiMonitor = new Object();

    LdapPersistence()
    protected LdapPersistence()
    {
        initPools();
    }
+16 −1
Original line number Diff line number Diff line
@@ -70,7 +70,7 @@ package ca.nrc.cadc.ac.server.web.groups;

import ca.nrc.cadc.ac.Group;
import ca.nrc.cadc.ac.GroupNotFoundException;
import ca.nrc.cadc.ac.server.GroupPersistence;

import java.util.ArrayList;
import java.util.List;

@@ -90,6 +90,21 @@ public class RemoveGroupMemberAction extends AbstractGroupAction
    {
        Group group = groupPersistence.getGroup(this.groupName);
        Group toRemove = new Group(this.groupMemberName);

//        boolean removedMember = false;
//        if (group.getGroupMembers().remove(toRemove))
//        {
//            removedMember = true;
//        }
//        if (group.getGroupAdmins().remove(toRemove))
//        {
//            removedMember = true;
//        }
//        if (!removedMember)
//        {
//            throw new GroupNotFoundException(this.groupMemberName);
//        }

        if (!group.getGroupMembers().remove(toRemove))
        {
            throw new GroupNotFoundException(this.groupMemberName);
+20 −1
Original line number Diff line number Diff line
@@ -71,11 +71,15 @@ package ca.nrc.cadc.ac.server.web.groups;
import ca.nrc.cadc.ac.Group;
import ca.nrc.cadc.ac.MemberNotFoundException;
import ca.nrc.cadc.ac.User;
import ca.nrc.cadc.ac.server.GroupPersistence;
import ca.nrc.cadc.ac.server.PluginFactory;
import ca.nrc.cadc.ac.server.UserPersistence;
import ca.nrc.cadc.auth.AuthenticationUtil;

import javax.security.auth.x500.X500Principal;
import java.security.Principal;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;

public class RemoveUserMemberAction extends AbstractGroupAction
{
@@ -101,11 +105,26 @@ public class RemoveUserMemberAction extends AbstractGroupAction
        {
            throw new MemberNotFoundException();
        }

//        User<Principal> user = getUserPersistence().getAugmentedUser(userPrincipal);
//        Set<X500Principal> x500Principals = user.getIdentities(X500Principal.class);
//        X500Principal x500Principal = x500Principals.iterator().next();
//
//        if (!group.getUserMembers().remove(x500Principal))
//        {
//            throw new MemberNotFoundException();
//        }
        groupPersistence.modifyGroup(group);

        List<String> deletedMembers = new ArrayList<String>();
        deletedMembers.add(toRemove.getUserID().getName());
//        deletedMembers.add(user.getUserID().getName());
        logGroupInfo(group.getID(), deletedMembers, null);
    }

    protected <T extends Principal> UserPersistence<T> getUserPersistence()
    {
        PluginFactory pluginFactory = new PluginFactory();
        return pluginFactory.createUserPersistence();
    }
}