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. PAT Basic 1091 N-自守数 (15 分)

    如果某个数 K 的平方乘以 N 以后,结果的末尾几位数等于 K,那么就称这个数为“N-自守数”.例如 3,而 2 的末尾两位正好是 9,所以 9 是一个 3-自守数. 本题就请你编写程序判断一个给定的 ...

  2. TensorRt安装

    1.下载 https://developer.nvidia.com/nvidia-tensorrt-5x-download 选择5 GA版本,注意选择与自己CUDA匹配的版本 2.安装 参考:http ...

  3. Django学习系列6:使用selenium测试用户交互

    学习系列5中的单元测试有报错信息,这儿来编写functional_tests.py文件,扩充其中的功能测试 # File: functional_test.py # Author: Rxf # Cre ...

  4. 由n个已按1,2,3,.....,n编号的人围成一圈,从编号为1的人开始按1,2,3顺序循环报数,凡报到3者出圈,最后留一个人,问其编号是多少

    /************************************************************************* > File Name: only_one. ...

  5. Java并发编程实战 第3章 对象的共享

    可见性 可见性是由于java对于多线程处理的内存模型导致的.这似乎是一种失败的设计,但是JVM却能充分的利用多核处理器的强大性能,例如在缺乏同步的情况下,Java内存模型允许编译器对操作顺序进行重排序 ...

  6. 【JAVA】Maven profiles控制多环境数据源日志打包(转载)

    https://blog.csdn.net/qq_17213067/article/details/81661295

  7. mac中登陆mysql忘记密码解决办法

    1.打开终端,输入命令:cd /usr/local/mysql/bin 2.mysql -uroot -p,用这条命令登陆时报错信息: 报错:Enter password: ERROR 1045 (2 ...

  8. python之路day15--内置函数

    函数分为自定义函数和内置函数 python内置函数分类: 5.5.1 强制转换 int() / str() / bool() / list() / tuple() / dict() / set() 5 ...

  9. org.hibernate.NonUniqueObjectException 原因及解决办法

    问题 使用hibernate更新对象时,出现如下错误: org.hibernate.NonUniqueObjectException: a different object with the same ...

  10. 转 弹性反向传播(RProp)和均方根反向传播(RMSProp)

    from http://blog.csdn.net/tsq292978891/article/details/78619384 都是一种权值更新算法,类似于SGD算法,其中,RMSProp是RProp ...