📄 managegroups.java
字号:
// $Id: ManageGroups.java,v 1.15 2003/02/10 16:03:55 shuber Exp $//// ____.// __/\ ______| |__/\. _______// __ .____| | \ | +----+ \// _______| /--| | | - \ _ | : - \_________// \\______: :---| : : | : | \________>// |__\---\_____________:______: :____|____:_____\// /_____|//// . . . i n j a h i a w e t r u s t . . .////package org.jahia.admin.users;import java.io.IOException;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import java.security.Principal;import java.util.*;import javax.servlet.ServletException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import org.jahia.admin.homepages.HomePageTool;import org.jahia.services.homepages.*;import org.jahia.bin.Jahia;import org.jahia.bin.JahiaAdministration;import org.jahia.exceptions.JahiaException;import org.jahia.params.ParamBean;import org.jahia.registries.ServicesRegistry;import org.jahia.services.pages.JahiaPageBaseService;import org.jahia.services.sites.JahiaSite;import org.jahia.services.sites.JahiaSitesService;import org.jahia.services.usermanager.*;import org.jahia.utils.JahiaConsole;import org.jahia.utils.JahiaString;import org.jahia.utils.JahiaTools;import org.jahia.viewhelper.UsersViewHelper;/** * desc: This class is used by the administration to manage groups * (add a user to a group, and for adding, editing and deleting groups) in * Jahia portal. * * Copyright: Copyright (c) 2002 * Company: Jahia Ltd * * @author AK * @author MJ * @author MAP * @version 2.0 */public class ManageGroups{ private static final String CLASS_NAME = ManageGroups.class.getName(); private static final String JSP_PATH = JahiaAdministration.JSP_PATH; private static JahiaUserManagerService uMgr; private static JahiaGroupManagerService gMgr; private static JahiaSiteUserManagerService uSiteMgr; private JahiaSite jahiaSite; private String groupMessage = ""; private static HashSet groupMembers; // Contain the group members of the selected group list private static UsersViewHelper usersViewHelper; private HomePageTool homePageTool = null; private GroupMembersTool groupMembersTool = null; /** * Default constructor. * * @param request Servlet request. * @param response Servlet response. * @param session Servlet session for the current user. * @throws Throwable */ public ManageGroups(HttpServletRequest request, HttpServletResponse response, HttpSession session) throws Throwable { // get services... ServicesRegistry sReg = ServicesRegistry.getInstance(); if (sReg != null) { uMgr = sReg.getJahiaUserManagerService(); gMgr = sReg.getJahiaGroupManagerService(); uSiteMgr = sReg.getJahiaSiteUserManagerService(); } // get the current website. get the jahiaserver if it's null... jahiaSite = (JahiaSite) session.getAttribute( ParamBean.SESSION_SITE ); usersViewHelper = new UsersViewHelper(jahiaSite); if (jahiaSite == null) { JahiaSitesService sitesService = sReg.getJahiaSitesService(); jahiaSite = sitesService.getSite(0); session.setAttribute( ParamBean.SESSION_SITE, jahiaSite ); } userRequestDispatcher( request, response, session ); } // end constructor /** * This method is used like a dispatcher for user requests. * * @param request * @param response * @param session * @throws Throwable */ private void userRequestDispatcher( HttpServletRequest request, HttpServletResponse response, HttpSession session ) throws Throwable { String operation = request.getParameter("sub"); if (operation.equals("display")) { displayGroupList(request, response, session ); } else if (operation.equals("create")) { displayGroupCreate( request, response, session); } else if (operation.equals("edit")) { displayGroupEdit(request, response, session); } else if (operation.equals("membership")) { displayGroupMembership( request, response, session ); } else if (operation.equals("copy")) { displayGroupCopy(request, response, session); } else if (operation.equals("remove")) { displayGroupRemove(request, response, session); } else if (operation.equals("processCreate")) { if (processGroupCreate(request, response, session)) { displayGroupList(request, response, session); } else { displayGroupCreate(request, response, session); } } else if (operation.equals("processEdit")) { processGroupEdit(request, response, session); displayGroupList(request, response, session); } else if (operation.equals("processRemove")) { processGroupRemove(request, response, session); } else if (operation.equals("processCopy")) { if (processGroupCopy(request, response, session)) { displayGroupList(request, response, session); } else { displayGroupCopy(request, response, session); } } else if (operation.equals("homepage")) { processHomePage(request, response, session); } else if (operation.equals("groupmembers")) { processGroupMembers(request, response, session); } } /** * Forward the servlet request and servlet response objects, using the request * dispatcher (from the ServletContext). Note: please be careful, use only * context relative path. * * @param request * @param response * @param session * @param target context-relative path. * @throws IOException * @throws ServletException */ private void doRedirect( HttpServletRequest request, HttpServletResponse response, HttpSession session, String target ) throws IOException, ServletException { try { request.setAttribute("currentSiteBean",jahiaSite); // check null warning msg if( request.getAttribute("warningMsg") == null ) { request.setAttribute("warningMsg", ""); } // check null jsp bottom message, and fill in if necessary... if( request.getAttribute("msg") == null ) { request.setAttribute("msg", Jahia.COPYRIGHT); } if( request.getAttribute("focus") == null ) { request.setAttribute("focus", "-none-"); } // check null configuration step title, and fill in if necessary... if( request.getAttribute("title") == null ) { request.setAttribute("title", "Manage Groups"); } // get browser entity... String userAgent = request.getHeader("user-agent"); // redirect! JahiaAdministration.doRedirect( request, response, session, target ); } catch (IOException ie) { JahiaConsole.println(CLASS_NAME+".doRedirect() :" , "error " + ie.getMessage()); } catch (ServletException se) { JahiaConsole.println(CLASS_NAME+".doRedirect() :", "error " + se.getMessage()); } } /** * Display the group list. * * @param request * @param response * @param session * @throws IOException * @throws ServletException */ private void displayGroupList( HttpServletRequest request, HttpServletResponse response, HttpSession session ) throws IOException, ServletException { // get list of groups... request.setAttribute("resultList", getGroupListForDisplay(gMgr.getGroupList(jahiaSite.getID()))); request.setAttribute("currentSite", jahiaSite.getServerName()); request.setAttribute("jspSource", JSP_PATH + "/group_management/group_management.jsp"); request.setAttribute("directMenu", JSP_PATH + "/direct_menu.jsp"); request.setAttribute("groupSearch", JSP_PATH + "/group_management/group_search.jsp"); session.setAttribute("jahiaDisplayMessage", Jahia.COPYRIGHT); session.setAttribute("groupMessage", groupMessage); // Remove any home page definition from the session. session.setAttribute("homePageID", null); session.setAttribute("homePageLabel", null); doRedirect(request, response, session, JSP_PATH + "/admin.jsp"); groupMessage = ""; } /** * Display a form destinated to create a group. * * @param request * @param response * @param session * @throws IOException * @throws ServletException * @throws JahiaException */ private void displayGroupCreate( HttpServletRequest request, HttpServletResponse response, HttpSession session ) throws IOException, ServletException, JahiaException { JahiaConsole.println(CLASS_NAME + ".displayGroupCreate","Started"); request.setAttribute("groupName", JahiaTools.nnString(request.getParameter("groupName"))); // Is here any home page definition ? JahiaHomepagesService hpServ = ServicesRegistry.getInstance().getJahiaHomepagesService(); JahiaHomepage homePage = hpServ.getHomepage(jahiaSite.getGroupDefaultHomepageDef()); if (homePage != null) { JahiaHomepageLink homePageLink = (JahiaHomepageLink)homePage; session.setAttribute("homePageID", new Integer(homePageLink.getPageID())); request.setAttribute("defaultHomePage", JahiaPageBaseService.getInstance(). lookupPageWhitoutTemplates(homePageLink.getPageID()).getTitle() + " (" + homePage.getName() + ")"); } request.setAttribute("jspSource", JSP_PATH + "/group_management/group_create.jsp"); request.setAttribute("directMenu", JSP_PATH + "/direct_menu.jsp"); session.setAttribute("groupMessage", groupMessage); session.setAttribute("jahiaDisplayMessage", Jahia.COPYRIGHT); doRedirect(request, response, session, JSP_PATH + "/admin.jsp" ); groupMessage = ""; } /** * Create the new group in the jahia DB. * * @param request * @param response * @param session * @return true if group successfully created. * @throws IOException * @throws ServletException * @throws JahiaException */ private boolean processGroupCreate(HttpServletRequest request, HttpServletResponse response, HttpSession session) throws IOException, ServletException, JahiaException
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -