⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 managegroups.java

📁 java 写的一个新闻发布系统
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
    /**     * Display a confirmation form to remove a group     *     * @param request     * @param response     * @param session     * @throws IOException     * @throws ServletException     */    private void displayGroupRemove( HttpServletRequest  request,                                     HttpServletResponse response,                                     HttpSession         session )    throws IOException, ServletException    {        String selectedGroup = request.getParameter("selectedGroup");        if (selectedGroup == null) {            groupMessage = "Please select a group in the select box";            displayGroupList(request, response, session);        }        else {            request.setAttribute("groupName", selectedGroup);            request.setAttribute("jspSource", JSP_PATH + "/group_management/group_remove.jsp");            request.setAttribute("directMenu", JSP_PATH + "/direct_menu.jsp");            session.setAttribute("jahiaDisplayMessage", Jahia.COPYRIGHT);            session.setAttribute("groupMessage", groupMessage);            doRedirect(request, response, session, JSP_PATH + "/admin.jsp");        }    }    /**     * Remove a group from the jahia DB     *     * @param request     * @param response     * @param session     * @throws IOException     * @throws ServletException     */    private void processGroupRemove( HttpServletRequest   request,                                     HttpServletResponse  response,                                     HttpSession          session )    throws IOException, ServletException    {        String groupName = (String) request.getParameter("groupName");        JahiaGroup theGroup = (JahiaGroup)gMgr.lookupGroup(jahiaSite.getID(), groupName);        groupMessage = "";        Set groupMembers = getGroupMembers(groupName, jahiaSite.getID());        Iterator it = groupMembers.iterator();        while (it.hasNext()) {            theGroup.removeMember((JahiaUser)it.next());        }        if (groupMessage.equals("")) {            // delete membership...            try {                JahiaSiteGroupManagerService siteGroupManager = ServicesRegistry.getInstance().getJahiaSiteGroupManagerService();                siteGroupManager.removeGroup(theGroup);            } catch (Exception e) {            }            // delete group...            if (!gMgr.deleteGroup(theGroup)) {                groupMessage = "Cannot remove [" + groupName + "] group";            } else {                groupMessage = "Group [" + groupName + "] successfully removed";            }        }        displayGroupList( request, response, session );        groupMessage = "";    }     /**      * Create a group      * FIXME : This method has to be rechecked.      *      * @param session ??? FIXME : Has to be removed ?      * @param name The group name      * @return A reference to the newly created group.      */    private JahiaGroup createGroup(HttpSession session, String name)    {        // create the group...        JahiaGroup theGroup = null;        theGroup = gMgr.createGroup(jahiaSite.getID(), name , null);        if (theGroup != null) {            // create group membership...            try {                JahiaSiteGroupManagerService siteGroupManager =                    ServicesRegistry.getInstance().getJahiaSiteGroupManagerService();                siteGroupManager.addGroup(jahiaSite.getID(), theGroup);            } catch (Exception e) { }        }        return theGroup;    }    // FIXME : Has this method really something to do here ?     /**      * Return the member vector of a given site and a given group.      *      * @param groupName      * @param jahiaSite      * @return  the member Set of a given site and a given group.      */    private Set getGroupMembers(String groupName, int jahiaSite) {        JahiaGroup theGroup = (JahiaGroup)gMgr.lookupGroup(jahiaSite, groupName);        Set groupMembers = new HashSet();        if (theGroup != null) {            Enumeration groupMembersEnum = theGroup.members();            while (groupMembersEnum.hasMoreElements()) {                Object member = (Object)groupMembersEnum.nextElement();                // keep only members from this jahiaSite...                if (member instanceof JahiaUser) {                    // ugly hack because we can't test the site ID on an external                    // user provider for the moment...                    if (member instanceof JahiaDBUser) {                        if (((JahiaUser)member).getSiteID() == jahiaSite) {                            groupMembers.add((JahiaUser)member);                        }                    } else {                        groupMembers.add((JahiaUser)member);                    }                } else {                    if (((JahiaGroup)member).getSiteID() == jahiaSite) {                        groupMembers.add((JahiaGroup)member);                    }                }            }        }        return groupMembers;    }     /**      * Recover membership and its site of a group.      * FIXME : Has to be recheked.      *      * @param groupName the group name      * @param jahiaSite a jahia site ID      * @return the group member ship      */    private Vector getGroupMembership(String groupName, int jahiaSite)    {        JahiaGroup theGroup = (JahiaGroup)gMgr.lookupGroup(jahiaSite, groupName);        Vector groupMembership = new Vector();        if (theGroup != null) {            Enumeration groupMembersEnum = theGroup.members();            while (groupMembersEnum.hasMoreElements()) {                Object obj = (Object)groupMembersEnum.nextElement();                // keep only out member of this jahiaSite...                if ((obj instanceof JahiaUser) && (((JahiaUser)obj).getSiteID() != jahiaSite)) {                    JahiaUser grpMembers = (JahiaUser)obj;                    groupMembership.add(grpMembers.getUsername()); // Member name                    // Look for site name from membership                    int memberSiteID = grpMembers.getSiteID();                    if (memberSiteID == 0) {                        groupMembership.add("jahia server");                    } else {                        try {                            JahiaSitesService sitesManager =                                ServicesRegistry.getInstance().getJahiaSitesService();                            JahiaSite memberSite = sitesManager.getSite(memberSiteID);                            if (memberSite != null) {                                groupMembership.add(memberSite.getServerName());                            } else {                                groupMembership.add("unknow");                            }                        } catch (Exception e) {                        }                    }                }            }        }        return groupMembership;    }    /**     * Add or remove members to a group.     * FIXME : This method has to be rechecked !     *     * @param left a set of members to check     * @param right a set of members to check     * @param addRem the addMembers or removeMembers method to apply.     * @param grp the object defining the previous method     */    private void addRemoveGroupMembers(HashSet left, HashSet right, Method addRem, JahiaGroup grp) {        Iterator itRight = right.iterator();        while (itRight.hasNext()) {            JahiaUser elementRight = (JahiaUser)itRight.next();            Iterator itLeft = left.iterator();            while (itLeft.hasNext()) {                JahiaUser elementLeft = (JahiaUser)itLeft.next();                if (elementLeft.getUsername().equals(elementRight.getUsername())) {                    elementRight = null;                    break;                }            }            if (elementRight != null) {                try {                    Object[] args = { elementRight };                    addRem.invoke(grp, args);                } catch (IllegalAccessException iae) {                    JahiaConsole.printe(CLASS_NAME+".processUserEdit", iae);                } catch (InvocationTargetException ite) {                    JahiaConsole.printe(CLASS_NAME+".processUserEdit", ite);                }            }        }    }    /**     * Get the groups from a site a prepare them for display.     *     * @param searchResult     * @return a formated array list of string.     */    private ArrayList getGroupListForDisplay(Vector searchResult) {        ArrayList resultList = new ArrayList();        Enumeration groupListEnum = searchResult.elements();        while (groupListEnum.hasMoreElements()) {            String groupKey = (String)groupListEnum.nextElement();            JahiaGroup group = ServicesRegistry.getInstance().getJahiaGroupManagerService().lookupGroup(groupKey);            String provider = JahiaString.adjustStringSize(group.getProviderName(), 6) + " ";            // Construct a displayable groupname            String grpname = JahiaString.adjustStringSize(group.getGroupname(), 15);            // Find some group members for properties            Enumeration grpMembers = group.members();            String members = "(";            while (grpMembers.hasMoreElements()) {                Object obj = (Object)grpMembers.nextElement();                if (obj instanceof JahiaUser) {                    JahiaUser tmpUser = (JahiaUser)obj;                    members += tmpUser.getUsername();                } else {                    JahiaGroup tmpGroup = (JahiaGroup)obj;                    members += tmpGroup.getGroupname();                }                if (members.length() > 30) break;                if (grpMembers.hasMoreElements()) members += ", ";            }            members += ")";            members = JahiaString.adjustStringSize(members, 30);            String result = provider + " " + grpname + " " + members;            resultList.add(group.getGroupname());            resultList.add(JahiaTools.replacePattern(result, " ", " "));        }        return resultList;    }    /**     * Apply the HomePageTool object displaying a home page tool popup window.     *     * @param request     * @param response     * @param session     * @throws Throwable     */    private void processHomePage(HttpServletRequest request,                                 HttpServletResponse response,                                 HttpSession session)    throws Throwable    {        if (homePageTool == null) {            homePageTool = new HomePageTool(request, response, session);        } else {            homePageTool.requestDispatcher(request, response, session);        }    }    /**     * Apply the GroupMembersTool object displaying the users search module.     *     * @param request     * @param response     * @param session     * @throws Throwable     */    private void processGroupMembers(HttpServletRequest request,                                     HttpServletResponse response,                                     HttpSession session)    throws Throwable    {        if (groupMembersTool == null) {            groupMembersTool = new GroupMembersTool(request, response, session);        } else {            groupMembersTool.requestDispatcher(request, response, session);        }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -