directoryprovider.java

来自「The ability to create groups of reports,」· Java 代码 · 共 92 行

JAVA
92
字号
/*
 * Copyright (C) 2003 Erik Swenson - eswenson@opensourcesoft.net
 * 
 * This program is free software; you can redistribute it and/or modify it under
 * the terms of the GNU General Public License as published by the Free Software
 * Foundation; either version 2 of the License, or (at your option) any later
 * version.
 * 
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
 * details.
 * 
 * You should have received a copy of the GNU General Public License along with
 * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
 * Place - Suite 330, Boston, MA 02111-1307, USA.
 *  
 */

package org.efs.openreports.providers;

import com.opensymphony.webwork.ServletActionContext;
import com.opensymphony.webwork.config.Configuration;
import com.opensymphony.xwork.ActionContext;
import com.opensymphony.xwork.interceptor.component.ComponentManager;

import org.apache.log4j.Logger;

public class DirectoryProvider implements PropertiesProviderAware
{
	protected static Logger log = Logger.getLogger(DirectoryProvider.class.getName());

	private String reportDirectory;
	private String reportImageDirectory;
	private String separator = System.getProperty("file.separator");

	private PropertiesProvider propertiesProvider;

	public DirectoryProvider()
	{
		// try getting baseDirectory from properties
		ComponentManager container = (ComponentManager) ActionContext.getContext().get(
				"com.opensymphony.xwork.interceptor.component.ComponentManager");

		container.initializeObject(this);

		log.info("Loading BaseDirectory from properties file.");

		String baseDirectory = propertiesProvider.getProperty("baseDirectory");

		if (baseDirectory == null || baseDirectory.trim().length() < 1)
		{
			log.info("BaseDirectory not set in properties file. Trying to get path from ServletContext.");

			try
			{
				baseDirectory = ServletActionContext.getServletContext().getRealPath("");
				baseDirectory = baseDirectory + separator + "reports";
			}
			catch (NullPointerException npe)
			{
				log.info("ServletActionContext not available.");
			}
		}

		log.info("BaseDirectory: " + baseDirectory);
		
		reportDirectory = baseDirectory + separator;
		reportImageDirectory = reportDirectory + "images" + separator;	
		
		//set path for uploaded reports
		Configuration.set("webwork.multipart.saveDir", baseDirectory);
		
		log.info("Created");
	}

	public String getReportDirectory()
	{
		return reportDirectory;
	}

	public String getReportImageDirectory()
	{
		return reportImageDirectory;
	}

	public void setPropertiesProvider(PropertiesProvider propertiesProvider)
	{
		this.propertiesProvider = propertiesProvider;
	}

}

⌨️ 快捷键说明

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