Package org.joget.workflow.shark

Source Code of org.joget.workflow.shark.WorkflowUserGroupManagerAdmin

package org.joget.workflow.shark;

import org.joget.directory.model.Group;
import org.joget.directory.model.User;
import org.joget.directory.model.service.DirectoryManager;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import org.enhydra.shark.api.admin.UserGroupManagerAdmin;
import org.enhydra.shark.api.client.wfmc.wapi.WMSessionHandle;
import org.enhydra.shark.api.internal.working.CallbackUtilities;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;

public class WorkflowUserGroupManagerAdmin implements UserGroupManagerAdmin {

    @Autowired
    @Qualifier("main")
    private DirectoryManager directoryManager;

    public void addGroupToGroup(String groupName, String subgroupName)
            throws Exception {
    }

    public void addUserToGroup(String groupName, String username)
            throws Exception {
    }

    public void createGroup(String groupName, String description)
            throws Exception {
    }

    public void createUser(String groupName, String username, String password,
            String firstName, String lastName, String emailAddress)
            throws Exception {
    }

    public void moveGroup(String currentParentGroup, String newParentGroup,
            String subgroupName) throws Exception {
    }

    public void moveUser(String currentGroup, String newGroup, String username)
            throws Exception {
    }

    public void removeGroup(String groupName) throws Exception {
    }

    public void removeGroupFromGroup(String groupName, String subgroupName)
            throws Exception {
    }

    public void removeGroupTree(String groupName) throws Exception {
    }

    public void removeUser(String username) throws Exception {
    }

    public void removeUserFromGroup(String groupName, String username)
            throws Exception {
    }

    public void removeUsersFromGroupTree(String groupName) throws Exception {
    }

    public void setPassword(String username, String password) throws Exception {
    }

    public void updateGroup(String groupName, String description)
            throws Exception {
    }

    public void updateUser(String username, String firstName, String lastName,
            String emailAddress) throws Exception {
    }

    public void configure(CallbackUtilities cus) throws Exception {
    }

    public boolean doesGroupBelongToGroup(WMSessionHandle shandle,
            String groupName, String subgroupName) throws Exception {
        return false;
    }

    public boolean doesGroupExist(WMSessionHandle shandle, String groupName)
            throws Exception {
        try {
            getGroupByName(groupName);
            return true;
        } catch (SecurityException e) {
            return false;
        }
    }

    public boolean doesUserBelongToGroup(WMSessionHandle shandle,
            String groupName, String username) throws Exception {
        return directoryManager.isUserInGroup(username, groupName);
    }

    public boolean doesUserExist(WMSessionHandle shandle, String username)
            throws Exception {
        try {
            getUserByUsername(username);
            return true;
        } catch (SecurityException e) {
            return false;
        }
    }

    public String[] getAllGroupnames(WMSessionHandle shandle) throws Exception {
        Collection groupNames = new ArrayList();
        Collection<Group> groupList = directoryManager.getGroupList();
        for (Group group : groupList) {
            groupNames.add(group.getName());
        }
        return (String[]) groupNames.toArray(new String[0]);
    }

    public String[] getAllGroupnamesForUser(WMSessionHandle shandle,
            String userName) throws Exception {
        Collection groupNames = new ArrayList();
        Collection<Group> groupList = directoryManager.getGroupByUsername(userName);
        for (Group group : groupList) {
            groupNames.add(group.getName());
        }
        return (String[]) groupNames.toArray(new String[0]);
    }

    public String[] getAllImmediateSubgroupsForGroup(WMSessionHandle shandle,
            String groupName) throws Exception {
        return null;
    }

    public String[] getAllImmediateUsersForGroup(WMSessionHandle shandle,
            String groupName) throws Exception {
        Collection userNames = new ArrayList();
        Collection<User> userList = directoryManager.getUserByGroupName(groupName);
        for (User user : userList) {
            userNames.add(user.getUsername());
        }
        return (String[]) userNames.toArray(new String[0]);
    }

    public String[] getAllSubgroupsForGroups(WMSessionHandle shandle,
            String[] groupNames) throws Exception {
        return null;
    }

    public String[] getAllUsers(WMSessionHandle shandle) throws Exception {
        Collection userNames = new ArrayList();
        Collection<User> userList = directoryManager.getUserList();
        for (User user : userList) {
            userNames.add(user.getUsername());
        }
        return (String[]) userNames.toArray(new String[0]);
    }

    public String[] getAllUsersForGroups(WMSessionHandle shandle, String[] groupNames) throws Exception {
        Collection userList = new HashSet();
        if (groupNames != null) {
            for (int i = 0; i < groupNames.length; i++) {
                Group group = getGroupByName(groupNames[i]);
                if (group != null) {
                    Collection<User> groupUsers = directoryManager.getUserByGroupId(group.getId());
                    for (User user : groupUsers) {
                        userList.add(user.getUsername());
                    }
                }
            }
        }
        return (String[]) userList.toArray(new String[0]);
    }

    public String getGroupDescription(WMSessionHandle shandle, String groupName) throws Exception {
        return null;
    }

    public String[] getGroups(WMSessionHandle sessionHandle, String expression) throws Exception {
        return null;
    }

    public String[] getObjects(WMSessionHandle sessionHandle, String expression) throws Exception {
        return null;
    }

    public String getUserEMailAddress(WMSessionHandle shandle, String username) throws Exception {
        User user = getUserByUsername(username);
        return user.getEmail();
    }

    public String getUserFirstName(WMSessionHandle shandle, String username) throws Exception {
        User user = getUserByUsername(username);
        return user.getFirstName();
    }

    public String getUserLastName(WMSessionHandle shandle, String username) throws Exception {
        User user = getUserByUsername(username);
        return user.getLastName();
    }

    public String getUserPassword(WMSessionHandle shandle, String username) throws Exception {
        User user = getUserByUsername(username);
        return user.getPassword();
    }

    public String getUserRealName(WMSessionHandle shandle, String username) throws Exception {
        User user = getUserByUsername(username);
        return user.getFirstName();
    }

    public boolean validateUser(String username, String pwd) throws Exception {
        try {
            return true;
        } catch (SecurityException e) {
            return false;
        }
    }

    protected User getUserByUsername(String username) throws SecurityException {
        return directoryManager.getUserByUsername(username);
    }

    protected Group getGroupByName(String groupName) throws SecurityException {
        return directoryManager.getGroupByName(groupName);
    }
}
TOP

Related Classes of org.joget.workflow.shark.WorkflowUserGroupManagerAdmin

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.