diff --git a/designer-base/src/main/java/com/fr/start/BaseDesigner.java b/designer-base/src/main/java/com/fr/start/BaseDesigner.java index 91e4f725e..05d41a1e7 100644 --- a/designer-base/src/main/java/com/fr/start/BaseDesigner.java +++ b/designer-base/src/main/java/com/fr/start/BaseDesigner.java @@ -43,8 +43,6 @@ public abstract class BaseDesigner extends ToolBarMenuDock { } private void init() { - //初始化 - EventDispatcher.fire(ModuleEvent.MajorModuleStarting, Toolkit.i18nText("Fine-Design_Basic_Initializing")); // 初始化look and feel.这个在预加载之前执行是因为lookAndFeel里的东西,预加载时也要用到 DesignUtils.initLookAndFeel(); // 初始化Log Handler diff --git a/designer-realize/src/main/java/com/fr/start/module/PreStartActivator.java b/designer-realize/src/main/java/com/fr/start/module/PreStartActivator.java index 72d3217be..035be0aaa 100644 --- a/designer-realize/src/main/java/com/fr/start/module/PreStartActivator.java +++ b/designer-realize/src/main/java/com/fr/start/module/PreStartActivator.java @@ -3,14 +3,17 @@ package com.fr.start.module; import com.fr.design.DesignerEnvManager; import com.fr.design.RestartHelper; import com.fr.design.fun.OemProcessor; +import com.fr.design.i18n.Toolkit; import com.fr.design.mainframe.template.info.TemplateInfoCollector; import com.fr.design.utils.DesignUtils; import com.fr.design.utils.DesignerPort; +import com.fr.event.EventDispatcher; import com.fr.general.CloudCenter; import com.fr.general.ComparatorUtils; import com.fr.general.GeneralContext; import com.fr.log.FineLoggerFactory; import com.fr.module.Activator; +import com.fr.module.ModuleEvent; import com.fr.stable.BuildContext; import com.fr.stable.OperatingSystem; import com.fr.stable.ProductConstants; @@ -30,10 +33,10 @@ import java.util.concurrent.Executors; * Created by juhaoyu on 2018/1/8. */ public class PreStartActivator extends Activator { - + @Override public void start() { - + BuildContext.setBuildFilePath("/com/fr/stable/build.properties"); // 如果端口被占用了 说明程序已经运行了一次,也就是说,已经建立一个监听服务器,现在只要给服务器发送命令就好了 final String[] args = getModule().upFindSingleton(StartupArgs.class).get(); @@ -45,87 +48,96 @@ public class PreStartActivator extends Activator { System.exit(0); return; } - + RestartHelper.deleteRecordFilesWhenStart(); - + preloadResource(); - + SplashContext.getInstance().registerSplash(createSplash()); - + SplashContext.getInstance().show(); - // 完成初始化 //noinspection ResultOfMethodCallIgnored CloudCenter.getInstance(); - + // 创建监听服务 DesignUtils.createListeningServer(DesignUtils.getPort(), startFileSuffix()); - + initLanguage(); } - + @Override public void stop() { - + } - + private void checkDebugStart() { + if (isDebug()) { setDebugEnv(); } } - - + + /** * 在VM options里加入-Ddebug=true激活 * * @return isDebug */ private boolean isDebug() { + return ComparatorUtils.equals("true", System.getProperty("debug")); } - - + + //端口改一下,环境配置文件改一下。便于启动两个设计器,进行对比调试 private void setDebugEnv() { + DesignUtils.setPort(DesignerPort.DEBUG_MESSAGE_PORT); String debugXMlFilePath = StableUtils.pathJoin( - ProductConstants.getEnvHome(), - ProductConstants.APP_NAME + "Env_debug.xml" + ProductConstants.getEnvHome(), + ProductConstants.APP_NAME + "Env_debug.xml" ); DesignerEnvManager.setEnvFile( - new File(debugXMlFilePath)); + new File(debugXMlFilePath)); } - + private void initLanguage() { //这两句的位置不能随便调换,因为会影响语言切换的问题 GeneralContext.setLocale(DesignerEnvManager.getEnvManager(false).getLanguage()); } - + private String[] startFileSuffix() { + return new String[]{".cpt", ".xls", ".xlsx", ".frm", ".form", ".cht", ".chart"}; } - + private static void preloadResource() { + ExecutorService service = Executors.newCachedThreadPool(); - + service.submit(new Runnable() { + @Override public void run() { + new ImagePreLoader(); } }); - + service.submit(new Runnable() { + @Override public void run() { + TemplateInfoCollector.getInstance(); } }); service.shutdown(); } - + private SplashStrategy createSplash() { + OemProcessor oemProcessor = OemHandler.findOem(); if (oemProcessor != null) { SplashStrategy splashStrategy = null;