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. 2.SpringBoot整合Mybatis(一对一)

    前言: 上一篇整合springboot和mybatis的项目的建立,以及单表的简单的增删改查.这里是上一篇blog的地址:https://www.cnblogs.com/wx60079/p/11461 ...

  2. 基于Apache服务在centos7上搭建文件列表

    参考文献: https://www.cnblogs.com/snake553/p/8856729.html https://blog.csdn.net/yejinxiong001/article/de ...

  3. web渗透系列--信息收集

    信息收集对于渗透测试前期来说是非常重要的,因为只有我们掌握了目标网站或目标主机足够多的信息之后,我们才能更好地对其进行漏洞检测.正所谓,知己知彼百战百胜! 信息收集的方式可以分为两种:主动和被动. 主 ...

  4. DeepFaceLab更新至2019.12.19

    简而言之就是:人脸转换更加稳定和精确,切脸上下边界对齐,增加侧脸和嘴巴的识别面积,所以在这个版本之前的模型需要额外的训练.好消息是,如果你目前素材的嘴巴和侧脸识别有问题,可以重新提取脸部. 之前和之后 ...

  5. yum安装nginx服务

    配置yum源 官网更新源地址:nginx 添加到 yum.repos.d 中 vim /etc/yum.repos.d/nginx.repo [nginx-stable] name=nginx sta ...

  6. SpringMVC的工作原理及MVC设计模式

    SpringMVC的工作原理: 1.当用户在浏览器中点击一个链接或者提交一个表单时,那么就会产生一个请求(request).这个请求会携带用户请求的信息,离开浏览器. 2.这个请求会首先到达Sprin ...

  7. CondaHTTPError问题的解决

    我是在配置pytorch时遇到的这个错误,截图如下: 这是某个网址访问失败导致的,我们可以通过添加其他路径解决这个问题,分别添加如下4个镜像路径,解决问题: 1)conda config --add ...

  8. idea万能快捷键,你不知道的17个实用技巧!!!

    IDEA里有一个万能快捷键(alt enter),功能非常强大,同一个快捷键,可以根据不同的语境提示你不同的操作,很多人可能还不了解这些功能,在处理代码的时候还手动处理,了解这些技巧之后,你编码也是一 ...

  9. Codeforces Gym 100851 K King's Inspection ( 哈密顿回路 && 模拟 )

    题目链接 题意 : 给出 N 个点(最多 1e6 )和 M 条边 (最多 N + 20 条 )要你输出一条从 1 开始回到 1 的哈密顿回路路径,不存在则输出 " There is no r ...

  10. 与HTTP协作的Web服务器——代理、网关、隧道

    1.虚拟主机 (1)HTTP/1.1规范允许一台HTTP服务器搭建多个Web站点: (2)在互联网上,域名通过DNS服务映射到IP地址(域名解析)之后访问目标网站,即当请求发送到服务器时,已经是以IP ...