queryinitplugin.java

来自「这是一个轻便的j2ee的web应用框架,是一个在多个项目中运用的实际框架,采用s」· Java 代码 · 共 99 行

JAVA
99
字号
/*
 * Created on 2004-4-1
 *
 */
package com.esimple.service.query;

import java.io.File;

import javax.servlet.ServletException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts.action.ActionServlet;
import org.apache.struts.action.PlugIn;
import org.apache.struts.config.ModuleConfig;

import com.esimple.framework.util.StringUtils;

/**
 * @author steven
 *
 */
public class QueryInitPlugIn implements PlugIn {


	public final static String QUERY_ADMIN = "QUERY_ADMIN";
	/**  The logging instance */
	private Log log = LogFactory.getLog(this.getClass());

	/**  The location of the Spring bean configuration file */
	private String listConfig ;
	private String queryDir ;

	/**
	 *  Gets the path of the Spring bean configuration
	 *
	 *@return    The beansConfig value
	 */
	public String getListConfig() {
		return (this.listConfig);
	}

	public void setListConfig(String listConfig) {
		this.listConfig = listConfig;
	}

	public String getQueryDir() {
		return (this.queryDir);
	}

	public void setQueryDir(String queryDir) {
		this.queryDir = queryDir;
	}

	/**  Gracefully remove the Spring bean factory  */
	public void destroy() {
		log.info("Destroying query plugin");
	}

	/**
	 *  Initialize and load the Spring bean factory
	 *
	 *@param  servlet               The ActionServlet for this web application
	 *@param  config                The ApplicationConfig for our owning module
	 *@exception  ServletException  if we cannot configure ourselves correctly
	 */
	public void init(ActionServlet servlet, ModuleConfig config)
		throws ServletException {

		log.info("Initializing query plug in from '" + 	listConfig + "'");
		String[] lists = StringUtils.split(listConfig,",",true,true);
		String filePath = "";
		for( int i=0;i<lists.length;i++ ){
			log.info( servlet.getServletContext().getRealPath(lists[i]) );
			filePath = filePath + servlet.getServletContext().getRealPath(lists[i]);
			filePath = filePath + ",";
		}
		
		//String filePath = servlet.getServletContext().getRealPath(listConfig);
		log.info("Initializing query from:" + 	filePath );
		String queryDirpath = servlet.getServletContext().getRealPath(queryDir);
		log.info("Initializing query from dir:" + 	queryDirpath );
		
		if( servlet.getServletContext().getAttribute( QUERY_ADMIN ) !=null )
			return;
		try{
			QueryAdmin admin = new QueryAdmin();
			admin.setConfigFile(filePath);
			admin.setQueryDir(queryDirpath + File.separator );
			admin.init();
			servlet.getServletContext().setAttribute(QUERY_ADMIN,admin);
		}catch(Exception e){
			e.printStackTrace();
			throw new ServletException(e.getMessage());
		}

	}

}

⌨️ 快捷键说明

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