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

📄 managegroups.java

📁 java 写的一个新闻发布系统
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
    {        String groupName = (String)request.getParameter("groupName").trim();        if (groupName.length() == 0) {            groupMessage = "Please specify a group name";            return false;        }        // Does the introduced groupName contain some errors ?        if (groupName.length() == 0) {            groupMessage = "Please specify a group name";            return false;        }        // The following test is really disputable because we should can enter        // as well accentueted char and any internationalized char.        else if (!JahiaTools.isAlphaValid(groupName)) {            groupMessage = "Use only letters, digits or underscores in group name";            return false;        } else if (gMgr.groupExists (jahiaSite.getID(), groupName)) {            groupMessage = "Group [" + groupName + "] already exists in this jahiaSite";            return false;        }        // try to create the new group...        JahiaGroup grp = createGroup(session, groupName);        if (grp == null) {            groupMessage = "Unable to create group " + groupName;            return false;        } else {            groupMessage = "Group [" + groupName + "] successfully created.";        }        // Lookup for home page settings and set it.        if (request.getParameter("setHomePage") != null) {            Integer homePageIDInt = (Integer)session.getAttribute("homePageID");            if (homePageIDInt != null) {                int homePageID = homePageIDInt.intValue();                JahiaConsole.println(CLASS_NAME+".processGroupCreate", "Process Home Page ID : " + homePageID);                grp.setHomepageID(homePageID);            }        }        return true;    }    /**     * Display group members and home page     *     * @param request     * @param response     * @param session     * @throws IOException     * @throws ServletException     * @throws JahiaException     */    private void displayGroupEdit(HttpServletRequest request,                                  HttpServletResponse response,                                  HttpSession session)    throws IOException, ServletException, JahiaException    {        JahiaConsole.println(CLASS_NAME+".displayGroupEdit", "Started");        String groupToEdit = request.getParameter("selectedGroup");        if (groupToEdit == null) { // Get the last group if none was selected.            groupToEdit = (String)session.getAttribute("selectedGroup");        }        if (groupToEdit == null || "null".equals(groupToEdit)) {            groupMessage = "Please select a group in the select box";            displayGroupList(request, response, session);            return;        }        // Consider actual selected group as the last one and store it in session.        session.setAttribute("selectedGroup", groupToEdit);        JahiaGroup theGroup = (JahiaGroup)gMgr.lookupGroup(jahiaSite.getID(), groupToEdit);        groupMembers = (HashSet)getGroupMembers(groupToEdit, jahiaSite.getID());        // display the edit form with initial values        // FIXME : the method name ('getUserListForDisplay') is disputable here.        request.setAttribute("groupMembers", usersViewHelper.getUserListForDisplay(groupMembers));        // Get the home page        if (session.getAttribute("homePageLabel") == null) {            int homePageID = theGroup.getHomepageID();            if (homePageID != -1) {                // FIXME : This exception should arrive when the page is                // erased. In this case it is the rule of the page remover                // to ensure that no references to pages exist before                // removing.                /** @todo remove this exception catching when a correct page                   remover were implemented. */                try {                    session.setAttribute("homePageID", new Integer(homePageID));                    session.setAttribute("homePageLabel", JahiaPageBaseService.                        getInstance().lookupPageWhitoutTemplates(homePageID).getTitle());                } catch (JahiaException je) {                    JahiaConsole.printe(CLASS_NAME+".displayUserEdit", je);                    groupMessage = "Jahia encounters a problem with the home page." +                                   "Was this page removed ?";                    session.setAttribute("homePageLabel", "Disapeared !");                }            } else {                session.setAttribute("homePageLabel", "none");            }        }        request.setAttribute("jspSource", JSP_PATH + "/group_management/group_edit.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");        groupMessage = "";    }    /**     * Process modifications to the group previously edited.     *     * @param request     * @param response     * @param session     * @throws IOException     * @throws ServletException     * @throws JahiaException     */    private void processGroupEdit(HttpServletRequest request,                                  HttpServletResponse response,                                  HttpSession session)    throws IOException, ServletException, JahiaException    {        JahiaConsole.println(CLASS_NAME+".processGroupEdit", "Started");        String groupName = (String)request.getParameter("groupName");        JahiaGroup grp = gMgr.lookupGroup(jahiaSite.getID(), groupName);        // Lookup for home page settings and set it.        Integer homePageIDInt = (Integer)session.getAttribute("homePageID");        if (homePageIDInt != null) {            int homePageID = homePageIDInt.intValue();            if (homePageID != -1) {                JahiaConsole.println(CLASS_NAME+".processUserEdit", "Process Home Page ID : " + homePageID);                grp.setHomepageID(homePageID);            } else {                grp.removeProperty("group_homepage");            }        }        // let's recuperate the members of the group from the selection box        String[] newMembersList = (String[])request.getParameterValues("selectMember");        // convert to HashSet        HashSet candidateMembers = new HashSet();        if (newMembersList != null) {            for (int i = 0; i < newMembersList.length; i++) {                // remove identifier type ("u " or "g " and provider) for future use.                JahiaUser usr = (JahiaUser)uMgr.lookupUser(jahiaSite.getID(), newMembersList[i].substring(10));                candidateMembers.add(usr);            }        }        // Update group members        if (candidateMembers.size() > 0) {            try { // FIXME : Is here a way to optmize these pointer to method ?            // Is there any new members to the original groupMembers            addRemoveGroupMembers(groupMembers, candidateMembers,                JahiaGroup.class.getMethod("addMember", new Class[] {Principal.class}), grp);            // Is there any removed members from the original groupMembers            addRemoveGroupMembers(candidateMembers, groupMembers,                JahiaGroup.class.getMethod("removeMember", new Class[] {Principal.class}), grp);            } catch (NoSuchMethodException nsme) {                JahiaConsole.printe(CLASS_NAME+".processUserEdit", nsme);            }        } else {            // No member in the select box, all members have to be removed            Iterator it = groupMembers.iterator();            while (it.hasNext()) {                grp.removeMember((JahiaUser)it.next());            }        }        groupMessage = "Group [" + groupName + "] successfully updated.";    }    /**     * Display group members defining from other sites     *     * @param request     * @param response     * @param session     * @throws IOException     * @throws ServletException     */    private void displayGroupMembership( 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);            Vector groupMembership = getGroupMembership(selectedGroup, jahiaSite.getID());            request.setAttribute("groupMembership", groupMembership);            request.setAttribute("jspSource", JSP_PATH + "/group_management/group_view.jsp");            request.setAttribute("directMenu", JSP_PATH + "/direct_menu.jsp");            session.setAttribute("jahiaDisplayMessage",  Jahia.COPYRIGHT);            doRedirect(request, response, session, JSP_PATH + "/admin.jsp" );            groupMessage = "";        }    }    /**     * Display the form permitting to copy the selected group.     *     * @param request     * @param response     * @param session     * @throws IOException     * @throws ServletException     */    private void displayGroupCopy( HttpServletRequest   request,                                   HttpServletResponse  response,                                   HttpSession          session )    throws IOException, ServletException    {        JahiaConsole.println(CLASS_NAME+".displayGroupCopy", "Started");        request.setAttribute("newGroup", JahiaTools.nnString(request.getParameter("newGroup")));        String selectedGroup = request.getParameter("selectedGroup");        if (selectedGroup == null) { // Get the last group if none was selected.            selectedGroup = (String)session.getAttribute("selectedGroup");        }        if (selectedGroup == null || "null".equals(selectedGroup)) {            groupMessage = "Please select a group in the select box";            displayGroupList(request, response, session);            return;        }        // Consider actual selected group as the last one and store it in session.        session.setAttribute("selectedGroup", selectedGroup);        session.setAttribute("groupMessage", groupMessage);        request.setAttribute("jspSource", JSP_PATH + "/group_management/group_copy.jsp");        request.setAttribute("directMenu", JSP_PATH + "/direct_menu.jsp");        session.setAttribute("jahiaDisplayMessage",  Jahia.COPYRIGHT);        doRedirect(request, response, session, JSP_PATH + "/admin.jsp" );        groupMessage = "";    }    /**     * Make a copy of a group.     *     * @param request     * @param response     * @param session     * @return true if group successfully copied.     * @throws IOException     * @throws ServletException     */    private boolean processGroupCopy(HttpServletRequest request,                                     HttpServletResponse response,                                     HttpSession session)    throws IOException, ServletException    {        String groupName = (String)request.getParameter("newGroup");        String sourceGroupName = (String)session.getAttribute("selectedGroup");        // Does the introduced groupName contain some errors ?        if (groupName.length() == 0) {            groupMessage = "Please specify a group name";            return false;        }        // The following test is really disputable because we should can enter        // as well accentueted char and any internationalized char.        else if (!JahiaTools.isAlphaValid(groupName)) {            groupMessage = "Use only letters, digits or underscores in group name";            return false;        }        else if (gMgr.groupExists (jahiaSite.getID(), groupName)) {            groupMessage = "Group [" + groupName + "] already exists in this site";            return false;        }        // Try to create the new group        if (createGroup(session, groupName) == null) {            groupMessage = "Unable to create group " + groupName;            return false;        }        else {            JahiaGroup theNewGroup = gMgr.lookupGroup(jahiaSite.getID(), groupName);            groupMessage = "Group [" + groupName + "] successfully created.";            Set sourceGroupMembers = getGroupMembers(sourceGroupName, jahiaSite.getID());            Iterator it = sourceGroupMembers.iterator();            while (it.hasNext()) {                theNewGroup.addMember((JahiaUser)it.next());            }            // Home page copy            JahiaGroup sourceGroup = gMgr.lookupGroup(jahiaSite.getID(), sourceGroupName);            int homePageID = sourceGroup.getHomepageID();            if (homePageID != -1) {                theNewGroup.setHomepageID(homePageID);            }        }        return true;    }

⌨️ 快捷键说明

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