📄 managesearch.java
字号:
//// ____.// __/\ ______| |__/\. _______// __ .____| | \ | +----+ \// _______| /--| | | - \ _ | : - \_________// \\______: :---| : : | : | \________>// |__\---\_____________:______: :____|____:_____\// /_____|//// . . . i n j a h i a w e t r u s t . . .////// ManageSearch//// 02.04.2002 NK added in jahia.//package org.jahia.admin.search;import java.io.*;import java.util.*;import javax.servlet.*;import javax.servlet.http.*;import org.jahia.bin.*;import org.jahia.params.*;import org.jahia.utils.*;import org.jahia.data.*;import org.jahia.services.usermanager.*; // Usermanager servicesimport org.jahia.services.sites.*; // Site servicesimport org.jahia.services.search.*; // Search servicesimport org.jahia.registries.*; // ServicesRegistryimport org.jahia.exceptions.*; // JahiaException/** * This class is used by the administration to manage the search engine. * * Copyright: Copyright (c) 2001 * Company: Jahia * * @author <Khue Nguyen> <a href="mailto:khue@jahia.org">khue@jahia.org</a> * @version 1.0 */public class ManageSearch{ private static final String CLASS_NAME = ManageSearch.class.getName(); private static final String JSP_PATH = JahiaAdministration.JSP_PATH; private static final String HTTP_FILES = "/jsp/jahia/engines"; private static final String JSP = "/jsp/jahia/administration/search/main.jsp?includejsp="; private static ServletContext context; private ServicesRegistry sReg; private JahiaSitesService siteServ; private JahiaSearchService searchServ; private JahiaSite site; private JahiaUser user; private Hashtable values; private String operation = ""; // current operation private static byte[] mLock = new byte[1]; //-------------------------------------------------------------------------- /** * Default constructor. * @author Khue Nguyen <a href="mailto:khue@jahia.org">khue@jahia.org</a> * * @param request Servlet request. * @param response Servlet response. * @param session Servlet session for the current user. * @param context Servlet context. */ public ManageSearch( HttpServletRequest request, HttpServletResponse response, HttpSession session, ServletContext context ) throws Throwable { this.context = context; sReg = ServicesRegistry.getInstance(); if (sReg == null) { displayError(request,response,"Service Registry is not available"); return; } siteServ = sReg.getJahiaSitesService(); searchServ = sReg.getJahiaSearchService(); if ( siteServ == null || searchServ == null ){ displayError(request,response,"Requested Services are not available"); return; } userRequestDispatcher( request, response, session ); } //-------------------------------------------------------------------------- /** * This method is used like a dispatcher for user requests. * @author Khue Nguyen <a href="mailto:khue@jahia.org">khue@jahia.org</a> * * @param request Servlet request. * @param response Servlet response. * @param session Servlet session for the current user. */ private void userRequestDispatcher( HttpServletRequest request, HttpServletResponse response, HttpSession session ) throws IOException,ServletException { // check if the user has really admin access to this site... user = (JahiaUser) session.getAttribute( ParamBean.SESSION_USER ); site = (JahiaSite) session.getAttribute( ParamBean.SESSION_SITE ); if ( site == null || user == null || sReg == null ){ displayError(request,response,"Requested information not available."); return; } // restore data stored in session values = (Hashtable)session.getAttribute("org.jahia.adminsearch.values." + site.getSiteKey()); if ( values == null ) { Hashtable values = new Hashtable(); session.setAttribute("org.jahia.adminsearch.values." + site.getSiteKey(),values); this.values = values; } try { if ( JahiaSiteTools.getAdminGroup(site).isMember(user) ){ operation = request.getParameter("sub"); if(operation.equals("display")) { displayMain( request, response, session ); } else if(operation.equals("chooseoperation")) { processChooseOperation( request, response, session ); } else if(operation.equals("doindex")) { processDoIndex( request, response, session ); } else if(operation.equals("dooptimize")) { processDoOptimize( request, response, session ); } } else { displayError(request,response,"No admin access on this site"); } } catch ( Throwable t ){ t.printStackTrace(); displayError(request,response,"An error occured while processing your request"); } } /** * 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 servlet request. * @param response servlet response. * @param target target, context-relative path. * @exception IOException an I/O exception occured during the process. * @exception ServletException a servlet exception occured during the process. */ private void doRedirect( HttpServletRequest request, HttpServletResponse response, String target ) throws IOException, ServletException { try { request.setAttribute("currentSite",site); request.setAttribute("user",user); // check current operation if( request.getAttribute("operation") == null ) { request.setAttribute("operation", operation); } // 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 Search Engine"); } // set input values on request... request.setAttribute( "values", values ); // add http files path in request... request.setAttribute( "url", request.getContextPath() + HTTP_FILES ); // get browser entity... String userAgent = request.getHeader("user-agent"); Integer navigator = (userAgent.indexOf("IE")) != -1 ? new Integer(0) : new Integer(1); request.setAttribute("navigator", navigator); boolean isLynx = false; if(userAgent.indexOf("Lynx") != -1) { isLynx = true; } request.setAttribute("isLynx", new Boolean(isLynx)); // redirect! context.getRequestDispatcher( target ).forward( request, response ); } catch (IOException ie) { JahiaConsole.println(CLASS_NAME+".doRedirect() :" , "error " + ie.getMessage()); } catch (ServletException se) { JahiaConsole.println(CLASS_NAME+".doRedirect() :", "error " + se.getMessage()); } } //-------------------------------------------------------------------------- /** * Display the search engine main admin page. * * @author Khue Nguyen <a href="mailto:khue@jahia.org">khue@jahia.org</a> * * @param request Servlet request. * @param response Servlet response. * @param session Servlet session for the current user. */ private void displayMain( HttpServletRequest request, HttpServletResponse response,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -