From ec3b3eea4c1648c018c14bfd5d88ab97fd88d4bc Mon Sep 17 00:00:00 2001 From: ju Date: Mon, 6 Aug 2018 00:47:08 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=97=A0JIRA=E4=BB=BB=E5=8A=A1=20=E9=A2=84?= =?UTF-8?q?=E8=A7=88demo=E6=9C=89=E9=97=AE=E9=A2=98=20=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E7=8E=AF=E5=A2=83=E5=92=8C=E9=A2=84=E8=A7=88demo=E5=88=86?= =?UTF-8?q?=E5=BC=80=EF=BC=8C=E9=A2=84=E8=A7=88demo=E4=B8=8D=E8=A7=A6?= =?UTF-8?q?=E5=8F=91=E7=AC=AC=E4=BA=8C=E6=AC=A1=E5=88=87=E7=8E=AF=E5=A2=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/fr/start/EnvSwitcher.java | 29 --------------- .../com/fr/start/module/DesignerStartup.java | 37 ++++++++++++------- .../module/DesignerWorkspaceProvider.java | 37 ++++++++++++++----- 3 files changed, 51 insertions(+), 52 deletions(-) delete mode 100644 designer-realize/src/main/java/com/fr/start/EnvSwitcher.java diff --git a/designer-realize/src/main/java/com/fr/start/EnvSwitcher.java b/designer-realize/src/main/java/com/fr/start/EnvSwitcher.java deleted file mode 100644 index 301c38f2d..000000000 --- a/designer-realize/src/main/java/com/fr/start/EnvSwitcher.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.fr.start; - -import com.fr.design.DesignerEnvManager; -import com.fr.design.env.DesignerWorkspaceGenerator; -import com.fr.design.mainframe.TemplatePane; -import com.fr.workspace.WorkContext; -import com.fr.workspace.Workspace; - -/** - * Created by juhaoyu on 2018/1/31. - * 环境切换器 - */ -public class EnvSwitcher { - - public void switch2LastEnv() { - try { - - String current = DesignerEnvManager.getEnvManager().getCurEnvName(); - Workspace workspace = DesignerWorkspaceGenerator.generate(DesignerEnvManager.getEnvManager().getWorkspaceInfo(current)); - if (workspace == null) { - TemplatePane.getInstance().dealEvnExceptionWhenStartDesigner(); - } else { - WorkContext.switchTo(workspace); - } - } catch (Throwable e) { - TemplatePane.getInstance().dealEvnExceptionWhenStartDesigner(); - } - } -} diff --git a/designer-realize/src/main/java/com/fr/start/module/DesignerStartup.java b/designer-realize/src/main/java/com/fr/start/module/DesignerStartup.java index 4698b760d..c131573b8 100644 --- a/designer-realize/src/main/java/com/fr/start/module/DesignerStartup.java +++ b/designer-realize/src/main/java/com/fr/start/module/DesignerStartup.java @@ -1,7 +1,6 @@ package com.fr.start.module; -import com.fr.design.DesignerEnvManager; import com.fr.design.mainframe.DesignerContext; import com.fr.event.Event; import com.fr.event.Listener; @@ -28,30 +27,25 @@ public class DesignerStartup extends Activator { @Override @Metrics public void start() { + startSub(PreStartActivator.class); //启动基础部分 startSub(BasicActivator.class); final String[] args = getModule().upFindSingleton(StartupArgs.class).get(); final Designer designer = new Designer(args); - + startSub(DesignerWorkspaceProvider.class); registerEnvListener(); //启动env startSub(EnvBasedModule.class); - - if (args != null) { - for (String arg : args) { - if (ComparatorUtils.equals(arg, "demo")) { - DesignerEnvManager.getEnvManager().setCurrentEnv2Default(); - ServerStarter.browserDemoURL(); - break; - } - } - } + //designer模块启动好后,查看demo + browserDemo(); ExecutorService service = Executors.newSingleThreadExecutor(); service.submit(new Runnable() { + @Override public void run() { + designer.show(args); DesignerContext.getDesignerFrame().getProgressDialog().dispose(); } @@ -60,11 +54,26 @@ public class DesignerStartup extends Activator { DesignerContext.getDesignerFrame().setVisible(true); //启动画面结束 SplashContext.getInstance().hide(); - + DesignerContext.getDesignerFrame().getProgressDialog().setVisible(true); startSub(StartFinishActivator.class); + } - + + private void browserDemo() { + + final String[] args = getModule().upFindSingleton(StartupArgs.class).get(); + + if (args != null) { + for (String arg : args) { + if (ComparatorUtils.equals(arg, "demo")) { + ServerStarter.browserDemoURL(); + break; + } + } + } + } + /** * 切换环境时,重新启动所有相关模块 */ diff --git a/designer-realize/src/main/java/com/fr/start/module/DesignerWorkspaceProvider.java b/designer-realize/src/main/java/com/fr/start/module/DesignerWorkspaceProvider.java index bd8159c6d..8397a21c7 100644 --- a/designer-realize/src/main/java/com/fr/start/module/DesignerWorkspaceProvider.java +++ b/designer-realize/src/main/java/com/fr/start/module/DesignerWorkspaceProvider.java @@ -1,9 +1,12 @@ package com.fr.start.module; import com.fr.design.DesignerEnvManager; - +import com.fr.design.env.DesignerWorkspaceGenerator; +import com.fr.design.mainframe.TemplatePane; +import com.fr.general.ComparatorUtils; import com.fr.module.Activator; -import com.fr.start.EnvSwitcher; +import com.fr.workspace.WorkContext; +import com.fr.workspace.Workspace; /** * Created by juhaoyu on 2018/1/8. @@ -15,18 +18,34 @@ public class DesignerWorkspaceProvider extends Activator { public void start() { //检查环境 DesignerEnvManager.checkNameEnvMap(); - - EnvSwitcher switcher = new EnvSwitcher(); - //设置好环境即可,具体跟环境有关的模块会自动调用 - switcher.switch2LastEnv(); - getRoot().setSingleton(EnvSwitcher.class, switcher); + + final String[] args = getModule().upFindSingleton(StartupArgs.class).get(); + + if (args != null) { + for (String arg : args) { + if (ComparatorUtils.equals(arg, "demo")) { + DesignerEnvManager.getEnvManager().setCurrentEnv2Default(); + break; + } + } + } else { + try { + String current = DesignerEnvManager.getEnvManager().getCurEnvName(); + Workspace workspace = DesignerWorkspaceGenerator.generate(DesignerEnvManager.getEnvManager().getWorkspaceInfo(current)); + if (workspace == null) { + TemplatePane.getInstance().dealEvnExceptionWhenStartDesigner(); + } else { + WorkContext.switchTo(workspace); + } + } catch (Throwable e) { + TemplatePane.getInstance().dealEvnExceptionWhenStartDesigner(); + } + } } @Override public void stop() { - //清空模块 - getRoot().removeSingleton(EnvSwitcher.class); } From 1ff55110dc3af9154fd7f5d3b94b4e46a26ed5ff Mon Sep 17 00:00:00 2001 From: ju Date: Mon, 6 Aug 2018 01:01:31 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=97=A0JIRA=E4=BB=BB=E5=8A=A1=20=E9=A2=84?= =?UTF-8?q?=E8=A7=88demo=E6=9C=89=E9=97=AE=E9=A2=98=20=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E7=8E=AF=E5=A2=83=E5=92=8C=E9=A2=84=E8=A7=88demo=E5=88=86?= =?UTF-8?q?=E5=BC=80=EF=BC=8C=E9=A2=84=E8=A7=88demo=E4=B8=8D=E8=A7=A6?= =?UTF-8?q?=E5=8F=91=E7=AC=AC=E4=BA=8C=E6=AC=A1=E5=88=87=E7=8E=AF=E5=A2=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/start/module/DesignerStartup.java | 14 +++-------- .../module/DesignerWorkspaceProvider.java | 24 +++++++------------ .../java/com/fr/start/module/StartupArgs.java | 17 +++++++++++++ 3 files changed, 29 insertions(+), 26 deletions(-) diff --git a/designer-realize/src/main/java/com/fr/start/module/DesignerStartup.java b/designer-realize/src/main/java/com/fr/start/module/DesignerStartup.java index c131573b8..aac6112ee 100644 --- a/designer-realize/src/main/java/com/fr/start/module/DesignerStartup.java +++ b/designer-realize/src/main/java/com/fr/start/module/DesignerStartup.java @@ -4,7 +4,6 @@ package com.fr.start.module; import com.fr.design.mainframe.DesignerContext; import com.fr.event.Event; import com.fr.event.Listener; -import com.fr.general.ComparatorUtils; import com.fr.module.Activator; import com.fr.record.analyzer.EnableMetrics; import com.fr.record.analyzer.Metrics; @@ -61,16 +60,9 @@ public class DesignerStartup extends Activator { } private void browserDemo() { - - final String[] args = getModule().upFindSingleton(StartupArgs.class).get(); - - if (args != null) { - for (String arg : args) { - if (ComparatorUtils.equals(arg, "demo")) { - ServerStarter.browserDemoURL(); - break; - } - } + + if (getModule().leftFindSingleton(StartupArgs.class) != null && getModule().leftFindSingleton(StartupArgs.class).isDemo()) { + ServerStarter.browserDemoURL(); } } diff --git a/designer-realize/src/main/java/com/fr/start/module/DesignerWorkspaceProvider.java b/designer-realize/src/main/java/com/fr/start/module/DesignerWorkspaceProvider.java index 8397a21c7..bfcb4fefe 100644 --- a/designer-realize/src/main/java/com/fr/start/module/DesignerWorkspaceProvider.java +++ b/designer-realize/src/main/java/com/fr/start/module/DesignerWorkspaceProvider.java @@ -13,21 +13,14 @@ import com.fr.workspace.Workspace; * 设计器启动时的环境相关模块activator */ public class DesignerWorkspaceProvider extends Activator { - + @Override public void start() { //检查环境 DesignerEnvManager.checkNameEnvMap(); - - final String[] args = getModule().upFindSingleton(StartupArgs.class).get(); - - if (args != null) { - for (String arg : args) { - if (ComparatorUtils.equals(arg, "demo")) { - DesignerEnvManager.getEnvManager().setCurrentEnv2Default(); - break; - } - } + + if (getModule().leftFindSingleton(StartupArgs.class) != null && getModule().leftFindSingleton(StartupArgs.class).isDemo()) { + DesignerEnvManager.getEnvManager().setCurrentEnv2Default(); } else { try { String current = DesignerEnvManager.getEnvManager().getCurEnvName(); @@ -42,11 +35,12 @@ public class DesignerWorkspaceProvider extends Activator { } } } - - + + @Override public void stop() { + } - - + + } diff --git a/designer-realize/src/main/java/com/fr/start/module/StartupArgs.java b/designer-realize/src/main/java/com/fr/start/module/StartupArgs.java index b957e8d65..678147f54 100644 --- a/designer-realize/src/main/java/com/fr/start/module/StartupArgs.java +++ b/designer-realize/src/main/java/com/fr/start/module/StartupArgs.java @@ -1,5 +1,7 @@ package com.fr.start.module; +import com.fr.general.ComparatorUtils; + /** * Created by juhaoyu on 2018/1/8. * 封装启动参数 @@ -17,5 +19,20 @@ public class StartupArgs { return args; } + + /** + * 是否是产品演示 + */ + public boolean isDemo() { + + if (args != null) { + for (String arg : args) { + if (ComparatorUtils.equals(arg, "demo")) { + return true; + } + } + } + return false; + } }