ReportManager
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的更多相关文章
- MyBatis 配置文件头部换行异常
INFO - Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory ...
- Exception mybatis 配置文件:<typeAlias alias="***" type="***"/> 重复配置
INFO - Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory ...
- 实现SQL Server 2008 Reporting Services匿名访问报表有两种方法
一.通过修改SQL Server 2008的配置文件,去掉Windows的验证. 1.首先我们找到SQL安装目录下的两个Web.config配置文件,默认安装目录分别是(C:\Program File ...
- 匿名访问ReportService报表服务器(一)
我的数据库版本是sql server 2008 r2,系统环境是windows server2008. 对于sql server 2008 r2上报rs报表的匿名访问问题,我这边尝试过两个可行方案: ...
- 二十一、【.Net开源框架】EFW框架Web前端开发之目录结构和使用FireBug调试方法
回<[开源]EFW框架系列文章索引> EFW框架源代码下载V1.2:http://pan.baidu.com/s/1hcnuA EFW框架实例源代码下载:http://pan.baidu. ...
- SSRS匿名访问
---本人数据库是SqlServer2008 R2 匿名访问Reporting Service 2008 我想通过访问Url的方式,把部署到Sql Server Reporting Service ...
- Asp.Net缓存(1)
知其根本,方能应用.MSDN上的缓存讲解.先看原来讲解. Asp.Net缓存概述 通常,应用程序可以将那些频繁访问的数据,以及那些需要大量处理时间来创建的数据存储在内存中,从而提高性能. 在这些情况下 ...
- Cache 应用程序数据缓存
System.Web.Caching 命名空间提供用于缓存服务器上常用数据的类.此命名空间包括 Cache 类,该类是一个字典,您可以在其中存储任意数据对象,如哈希表和数据集.它还为这些对象提供了失效 ...
- SQL Server 2005中设置Reporting Services发布web报表的匿名访问
原文:SQL Server 2005中设置Reporting Services发布web报表的匿名访问 一位朋友提出个问题:集成到SQL Server 2005中的Reporting Services ...
随机推荐
- Nginx Windows下安装使用及权重分配
内容目录 Nginx 下载启动Nginx关闭NginxNginx使用注意事项使用Nginx代理服务器做负载均衡Nginx配置静态资源Nginx权重分配方式Nginx负载均衡参数描述写在最后 Nginx ...
- 如何替换B字段内包含A字段的那部分内容
Customer表A字段 varchar(50) 内容(客户姓名)B字段 varchar(1000) 内容(其他字符...客户姓名...其他字符)需要达到效果:将B字段中的客户姓名替换 ...
- java高并发实战Netty+协程(Fiber)|系列1|事件驱动模式和零拷贝
今天开始写一些高并发实战系列. 本系列主要讲两大主流框架: Netty和Quasar(java纤程库) 先介绍netty吧,netty是业界比较成熟的高性能异步NIO框架. 简单来说,它就是对NIO2 ...
- vue history模式下的微信分享
// 微信验证 export function requireConfig() { let url = window.location.href systemApi.wxoption({ url: u ...
- 【转】原生js实现移动端h5长按事件
$("#target").on({ touchstart: function(e) { // 长按事件触发 timeOutEvent = setTimeout(function() ...
- 【LuoguP5289】[十二省联考2019] 皮配
题目链接 题目描述 略 Sol 一道背包问题 首先暴力做法设 \(dp[i][j][k]\) 表示前 \(i\) 个城市的学校被分到第一阵营 \(j\) 人 第一门派 \(k\) 人的方案数. 中间一 ...
- DB2的HADR
db2stop force; db2start; db2 restore db clmsdb; db2 start hadr on db clmsdb as standby; ************ ...
- ES和RDBMS区别
原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/12090637.html ES7.0之前,一个Index可以设置多个Type ES7.0开始,Type已 ...
- 【NOIP2016提高A组模拟9.17】小a的强迫症
题目 分析 题目要求第i种颜色的最后一个珠子要在第i+1种颜色的最后一个珠子之前, 那么我们从小到大枚举做到第i种,把第i种的最后一颗珠子取出,将剩下的\(num(i)-1\)个珠子插入已排好的前i- ...
- 洛谷 P2330 [SCOI2005] 繁忙的都市 x
题目描述 城市C是一个非常繁忙的大都市,城市中的道路十分的拥挤,于是市长决定对其中的道路进行改造.城市C的道路是这样分布的:城市中有n个交叉路口,有些交叉路口之间有道路相连,两个交叉路口之间最多有一条 ...