package com.neusoft.report.engine;

import com.neusoft.report.common.Logger;
import com.neusoft.report.common.ReportMessage;
import com.neusoft.report.common.entity.defaultt.DefaultPropertyLoader;
import com.neusoft.report.engine.core.MultiReportEngine;
import com.neusoft.report.engine.core.ReportCacheMgr;
import com.neusoft.report.engine.export.param.TempUploadManager;
import com.neusoft.report.engine.rao.tempmemo.TempMemoManager;
import com.neusoft.report.engine.security.licence.UtilProtection;
import com.neusoft.report.engine.util.PerformanceDebug;
import com.neusoft.report.engine.util.ReportManifestInfo;
import com.neusoft.unieap.rbc.license.LicenseManager;
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import javax.servlet.ServletContext; public class ReportManager {
public static final String PROJECT_PATH = "projectPath";
public static final String PROJECT_BASE_URL = "baseURL";
public static final String SERVLET_CONTEXT = "context";
public static final String CONFIG_PATH = "configPath";
public static final String CONFIG_BASE_URL = "configBaseURL";
public static final String LICENSE_PATH = "licensePath";
public static final String LICENSE_FILE_NAME = "licenseFileName";
private static final String DEFAULT_LICENSE_NAME = "unieap.license";
private static String projectPath;
private static URL baseURL;
private static URL configURL;
private static ServletContext context;
private static String configRoot;
private static String webPath;
private static String licensePath;
private static String licenseFileName; public ReportManager() {
} public static ReportEngine create() {
if (PerformanceDebug.isDebugEnabled()) {
PerformanceDebug.debug("Performance-Requist", true, 0L);
} return new MultiReportEngine();
} public static void initiate(Map var0) throws MalformedURLException {
projectPath = (String)var0.get("projectPath");
context = (ServletContext)var0.get("context");
baseURL = (URL)var0.get("baseURL");
configRoot = (String)var0.get("configPath");
configURL = configRoot != null && configRoot.startsWith(File.separator) ? (new File(configRoot)).toURL() : (URL)var0.get("configBaseURL");
licensePath = var0.containsKey("licensePath") ? (String)var0.get("licensePath") : (projectPath != null && !projectPath.equals("/") ? projectPath + "WEB-INF" + File.separator + "conf" + File.separator + "unieap" + File.separator + "license" + File.separator : (new URL(baseURL, "WEB-INF/conf/unieap/license/")).getFile());
licenseFileName = var0.containsKey("licenseFileName") ? (String)var0.get("licenseFileName") : "unieap.license";
Logger.getLogger(ReportManager.class).info(ReportMessage.createMessage("using_report_config_path", new String[]{configURL.toExternalForm()}));
startLicenceCheck(licensePath);
printProductInfo();
startCleanTask();
startCleanTemp();
initCache();
DefaultPropertyLoader.load();
} public static String getProjectPath() {
return projectPath;
} public static URL getProjectBaseURL() {
return baseURL;
} public static URL getResourceURL(String var0) throws MalformedURLException {
return context.getResource(var0);
} public static Set getResourcePaths(String var0) {
HashSet var1;
if (context != null) {
var1 = new HashSet();
Set var8 = context.getResourcePaths(var0);
if (var8 != null) {
try {
Iterator var9 = var8.iterator(); while(var9.hasNext()) {
String var10 = (String)var9.next();
var1.add(context.getResource(var10));
}
} catch (MalformedURLException var6) {
var6.printStackTrace();
}
} return var1;
} else {
var1 = new HashSet();
File var2 = null;
if (baseURL.getProtocol().equalsIgnoreCase("file")) {
try {
var2 = new File((new URL(baseURL, var0.substring())).getFile());
} catch (MalformedURLException var5) {
var5.printStackTrace();
return var1;
}
} else {
var2 = new File(projectPath + File.separator + var0.substring());
} if (var2.isDirectory()) {
String[] var3 = var2.list(); try {
for(int var4 = ; var4 < var3.length; ++var4) {
var1.add(new URL(var2.toURL(), var3[var4]));
}
} catch (MalformedURLException var7) {
var7.printStackTrace();
}
} return var1;
}
} public static Set getConfigPaths(String var0) {
if (configRoot != null && configRoot.startsWith(File.separator)) {
HashSet var1 = new HashSet();
File var2 = new File(configRoot + File.separator + var0.replace('/', File.separatorChar));
if (var2.isDirectory()) {
String var3 = var2.getAbsolutePath();
String[] var4 = var2.list(); try {
for(int var5 = ; var5 < var4.length; ++var5) {
var1.add((new File(var3 + File.separator + var4[var5])).toURL());
}
} catch (MalformedURLException var6) {
var6.printStackTrace();
return var1;
}
} return var1;
} else {
return getResourcePaths("/" + getConfigRoot() + var0);
}
} private static String getConfigRoot() {
return configRoot == null ? "WEB-INF/conf/unieap/report/" : configRoot;
} public static URL getConfigURL() {
return configURL;
} public static String getConfigPath() {
return configRoot == null ? projectPath + "WEB-INF" + File.separator + "conf" + File.separator + "unieap" + File.separator + "report" + File.separator : (configRoot.startsWith(File.separator) ? configRoot : projectPath + configRoot);
} public static String getWebPath() {
return webPath;
} public static String getLicencePath() {
return licensePath;
} public static String getLicenceFileName() {
return licenseFileName;
} public static void setWebPath(String var0) {
webPath = var0;
} private static void printProductInfo() {
ReportManifestInfo.paintMainfestInfo();
if (LicenseManager.getInstance().getLicense() != null) {
ReportManifestInfo.printLicenseInfo();
} } private static void startLicenceCheck(String var0) {
LicenseManager.getInstance().setLicensePath(var0);
LicenseManager.getInstance().startLicenseListener(UtilProtection.getProtection(), (long)UtilProtection.CHECK_INTERVAL);
} private static void startCleanTask() {
TempMemoManager.getInstance().startCleanTask();
} private static void startCleanTemp() {
TempUploadManager.getInstance().cleanUploadTempFiles();
} private static void initCache() {
ReportCacheMgr.getCachePath();
}
}

ReportManager的更多相关文章

  1. MyBatis 配置文件头部换行异常

    INFO - Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory ...

  2. Exception mybatis 配置文件:<typeAlias alias="***" type="***"/> 重复配置

    INFO - Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory ...

  3. 实现SQL Server 2008 Reporting Services匿名访问报表有两种方法

    一.通过修改SQL Server 2008的配置文件,去掉Windows的验证. 1.首先我们找到SQL安装目录下的两个Web.config配置文件,默认安装目录分别是(C:\Program File ...

  4. 匿名访问ReportService报表服务器(一)

    我的数据库版本是sql server 2008 r2,系统环境是windows server2008. 对于sql server 2008 r2上报rs报表的匿名访问问题,我这边尝试过两个可行方案: ...

  5. 二十一、【.Net开源框架】EFW框架Web前端开发之目录结构和使用FireBug调试方法

    回<[开源]EFW框架系列文章索引> EFW框架源代码下载V1.2:http://pan.baidu.com/s/1hcnuA EFW框架实例源代码下载:http://pan.baidu. ...

  6. SSRS匿名访问

    ---本人数据库是SqlServer2008 R2 匿名访问Reporting Service 2008 我想通过访问Url的方式,把部署到Sql Server  Reporting Service ...

  7. Asp.Net缓存(1)

    知其根本,方能应用.MSDN上的缓存讲解.先看原来讲解. Asp.Net缓存概述 通常,应用程序可以将那些频繁访问的数据,以及那些需要大量处理时间来创建的数据存储在内存中,从而提高性能. 在这些情况下 ...

  8. Cache 应用程序数据缓存

    System.Web.Caching 命名空间提供用于缓存服务器上常用数据的类.此命名空间包括 Cache 类,该类是一个字典,您可以在其中存储任意数据对象,如哈希表和数据集.它还为这些对象提供了失效 ...

  9. SQL Server 2005中设置Reporting Services发布web报表的匿名访问

    原文:SQL Server 2005中设置Reporting Services发布web报表的匿名访问 一位朋友提出个问题:集成到SQL Server 2005中的Reporting Services ...

随机推荐

  1. Win7 Linux双系统,恢复Linux启动项

    在一台电脑上安装Win7 Centos双系统,先安装Win,再安装Centos7.装完后,丢失Linux启动项. 恢复步骤,下载EasyBCD,添加新条目,操作系统选择Linux/BSD,类型选择GR ...

  2. 解读sam格式文件

    1,SAM文件格式介绍 SAM(The Sequence Alignment / Map format)格式,即序列比对文件的格式,详细介绍文档:http://samtools.github.io/h ...

  3. Vue路由参数设置可有可无

    参数后面使用 ? id 后面加个 ‘ ? ’ ,将 id 设置为可选参数 { name: "index", path: '/p/:id?', component: resolve ...

  4. 【NOIP2016提高A组模拟9.15】Osu

    题目 分析 考虑二分答案, 二分小数显然是不可取的,那么我们将所有可能的答案求出来,记录在一个数组上,排个序(C++调用函数很容易超时,手打快排,时间复杂度约为\(O(>8*10^7)\),但相 ...

  5. 【leetcode】1222. Queens That Can Attack the King

    题目如下: On an 8x8 chessboard, there can be multiple Black Queens and one White King. Given an array of ...

  6. artTemplate字符串模板

    1.官网:http://aui.github.io/art-template/

  7. floor函数用法

    floor(x),也写做Floor(x),其功能是“向下取整”,或者说“向下舍入”,即取不大于x的最大整数(与“四舍五入”不同,下取整是直接取按照数轴上最接近要求值的左边值,即不大于要求值的最大的那个 ...

  8. sh_03_逻辑运算演练

    sh_03_逻辑运算演练 # 练习1: 定义一个整数变量 age,编写代码判断年龄是否正确 age = 12 # 要求人的年龄在 0-120 之间 """ 10000 a ...

  9. VMware NAT模式下,公司代理下上网 续

    这是在非公司环境下,VMware NAT 静态IP模式下上网 由于公司的限制,可能需要通过proxy上网. 下面是我在公司的配置(参考其他) 1. 修改 /etc/environment http_p ...

  10. (58)PHP开发

    LAMP 0.使用include和require命令来包含外部PHP文件. 使用include_once命令,但是include和include_once命令相比的不足就是这两个命令并不关心请求的文件 ...