zoukankan      html  css  js  c++  java
  • 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(1))).getFile());
                    } catch (MalformedURLException var5) {
                        var5.printStackTrace();
                        return var1;
                    }
                } else {
                    var2 = new File(projectPath + File.separator + var0.substring(1));
                }
    
                if (var2.isDirectory()) {
                    String[] var3 = var2.list();
    
                    try {
                        for(int var4 = 0; 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 = 0; 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();
        }
    }
  • 相关阅读:
    页面可视化搭建工具前生今世
    16、Redis手动创建集群
    15、Redis的集群
    14、Redis的复制
    13、Redis的发布订阅模式
    12、Redis的事务
    11、Redis的持久化(RDB、AOF)
    9、Redis处理过期keys的机制
    8、Redis中sort命令详解
    7、Redis中对ZSet类型的操作命令
  • 原文地址:https://www.cnblogs.com/Jeely/p/11404906.html
Copyright © 2011-2022 走看看