📄 manageserver.java
字号:
// $Id: ManageServer.java,v 1.5 2002/05/23 14:34:01 shuber Exp $//// ____.// __/\ ______| |__/\. _______// __ .____| | \ | +----+ \// _______| /--| | | - \ _ | : - \_________// \\______: :---| : : | : | \________>// |__\---\_____________:______: :____|____:_____\// /_____|//// . . . i n j a h i a w e t r u s t . . .////// ManageServer//// 31.03.2001 AK added in jahia.//package org.jahia.admin.server;import java.io.*;import javax.servlet.*;import javax.servlet.http.*;import java.net.*;import org.jahia.bin.*;import org.jahia.utils.properties.*;import org.jahia.utils.*;/** * desc: This class is used by the administration to manage the * server settings of a jahia portal, like the mail notification service (when * jahia or a user generate error(s), or like the java server home disk path, * mail server, etc. * * Copyright: Copyright (c) 2002 * Company: Jahia Ltd * * @author Alexandre Kraft * @version 1.0 */public class ManageServer{ private static final String CLASS_NAME = JahiaAdministration.CLASS_NAME; private static final String JSP_PATH = JahiaAdministration.JSP_PATH; private static PropertiesManager properties; /** * Default constructor. * @author Alexandre Kraft * * @param request Servlet request. * @param response Servlet response. * @param session Servlet session for the current user. */ public ManageServer( HttpServletRequest request, HttpServletResponse response, HttpSession session ) throws Throwable { properties = new PropertiesManager( Jahia.getJahiaPropertiesFileName() ); userRequestDispatcher( request, response, session ); } // end constructor /** * This method is used like a dispatcher for user requests. * @author Alexandre Kraft * * @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 Throwable { String operation = request.getParameter("sub"); if(operation.equals("display")) { displaySettings( request, response, session ); } else if(operation.equals("process")) { processSettings( request, response, session ); } } // userRequestDispatcher /** * Display the server settings page, using doRedirect(). * @author Alexandre Kraft * * @param request Servlet request. * @param response Servlet response. * @param session Servlet session for the current user. */ private void displaySettings( HttpServletRequest request, HttpServletResponse response, HttpSession session ) throws IOException, ServletException { // retrieve previous form values... String jahiaServerMailServer = (String) session.getAttribute(CLASS_NAME + "jahiaServerMailServer"); String jahiaServerMailAdministrator = (String) session.getAttribute(CLASS_NAME + "jahiaServerMailAdministrator"); String jahiaServerMailFrom = (String) session.getAttribute(CLASS_NAME + "jahiaServerMailFrom"); String jahiaServerNotificationLevel = (String) session.getAttribute(CLASS_NAME + "jahiaServerNotificationLevel"); // set default values (if necessary)... if(jahiaServerMailServer == null) { jahiaServerMailServer = properties.getProperty("mail_server"); } if(jahiaServerMailFrom == null) { jahiaServerMailFrom = properties.getProperty("mail_from"); } if(jahiaServerMailAdministrator == null) { jahiaServerMailAdministrator = properties.getProperty("mail_administrator"); } if(jahiaServerNotificationLevel == null) { jahiaServerNotificationLevel = properties.getProperty("mail_paranoia"); } // set request attributes... request.setAttribute("jahiaServerMailServer", jahiaServerMailServer); request.setAttribute("jahiaServerMailAdministrator", jahiaServerMailAdministrator); request.setAttribute("jahiaServerMailFrom", jahiaServerMailFrom); request.setAttribute("jahiaServerNotificationLevel", jahiaServerNotificationLevel); JahiaAdministration.doRedirect( request, response, session, JSP_PATH + "config_server.jsp" ); } // end displaySettings /** * Process and check the validity of the server settings page. If they are * not valid, display the server settings page to the user. * @author Alexandre Kraft * * @param request Servlet request. * @param response Servlet response. * @param session Servlet session for the current user. */ private void processSettings( HttpServletRequest request, HttpServletResponse response, HttpSession session ) throws IOException, ServletException { boolean processError = true; // get form values... String jahiaServerMailServer = (String) request.getParameter("mailserver").trim(); String jahiaServerMailAdministrator = (String) request.getParameter("mailadministrator").trim(); String jahiaServerMailFrom = (String) request.getParameter("mailfrom").trim(); String jahiaServerNotificationLevel = (String) request.getParameter("mailparanoia").trim(); // check form validity... if(!jahiaServerNotificationLevel.equals("Disabled")) { String jahiaDisplayMessage = ""; if(jahiaServerMailServer.length() == 0) { jahiaDisplayMessage = "Mail Server must be set."; jahiaDisplayMessage += " Otherwise, set level to 'Disabled'."; session.setAttribute(CLASS_NAME + "jahiaDisplayMessage", jahiaDisplayMessage); } else if(jahiaServerMailAdministrator.length() == 0) { jahiaDisplayMessage = "Mail Administrator must be set."; jahiaDisplayMessage += " Otherwise, set level to 'Disabled'."; session.setAttribute(CLASS_NAME + "jahiaDisplayMessage", jahiaDisplayMessage); } else if(jahiaServerMailFrom.length() == 0) { jahiaDisplayMessage = "Mail From must be set."; jahiaDisplayMessage += " Otherwise, set level to 'Disabled'."; session.setAttribute(CLASS_NAME + "jahiaDisplayMessage", jahiaDisplayMessage); } else if(!DataValidator.isValidEmail(jahiaServerMailAdministrator)) { session.setAttribute(CLASS_NAME + "jahiaDisplayMessage", "Please enter valid e-mail address (admin)."); } else if(!DataValidator.isValidEmail(jahiaServerMailFrom)) { session.setAttribute(CLASS_NAME + "jahiaDisplayMessage", "Please enter valid e-mail address (from)."); } else { processError = false; } } else { processError = false; } // set session with new attributes... session.setAttribute(CLASS_NAME + "jahiaServerMailServer", jahiaServerMailServer); session.setAttribute(CLASS_NAME + "jahiaServerMailAdministrator", jahiaServerMailAdministrator); session.setAttribute(CLASS_NAME + "jahiaServerMailFrom", jahiaServerMailFrom); session.setAttribute(CLASS_NAME + "jahiaServerNotificationLevel", jahiaServerNotificationLevel); if(processError) { displaySettings( request, response, session ); } else { storeSettings( request, response, session ); } } // end processSettings /** * Store new settings for the server page and redirect to the final page. * @author Alexandre Kraft * * @param request Servlet request. * @param response Servlet response. * @param session Servlet session for the current user. */ private void storeSettings( HttpServletRequest request, HttpServletResponse response, HttpSession session ) throws IOException, ServletException { // set new values in the properties manager... properties.setProperty("mail_server", (String) session.getAttribute(CLASS_NAME + "jahiaServerMailServer")); properties.setProperty("mail_administrator", (String) session.getAttribute(CLASS_NAME + "jahiaServerMailAdministrator")); properties.setProperty("mail_from", (String) session.getAttribute(CLASS_NAME + "jahiaServerMailFrom")); properties.setProperty("mail_paranoia", (String) session.getAttribute(CLASS_NAME + "jahiaServerNotificationLevel")); // write in the jahia properties file... properties.storeProperties(); request.setAttribute( "processMessage", "Please restart Jahia for the changes to take effect." ); session.setAttribute( CLASS_NAME + "jahiaDisplayMessage", Jahia.COPYRIGHT ); JahiaAdministration.doRedirect( request, response, session, JSP_PATH + "finish.jsp" ); } // end storeSettings} // end ManageServer
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -