From 6443d803453711b228a52aa0c6dcefdba848ecbc Mon Sep 17 00:00:00 2001 From: hades Date: Wed, 4 Nov 2020 17:10:20 +0800 Subject: [PATCH] =?UTF-8?q?REPORT-42604=20=E7=9B=B4=E6=8E=A5=E8=BF=9E?= =?UTF-8?q?=E8=BF=9C=E7=A8=8B=E7=9B=AE=E5=BD=95=E5=90=AF=E5=8A=A8=E6=97=B6?= =?UTF-8?q?=20=E6=A0=A1=E9=AA=8C=E5=A4=B1=E8=B4=A5=20=E6=9C=AA=E6=9C=89?= =?UTF-8?q?=E6=8F=90=E7=A4=BA=E5=BC=B9=E7=AA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/fr/design/EnvChangeEntrance.java | 4 ++-- .../com/fr/start/module/DesignerWorkspaceProvider.java | 9 +++++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/EnvChangeEntrance.java b/designer-base/src/main/java/com/fr/design/EnvChangeEntrance.java index f5bfdfeeb..15fc6f1d3 100644 --- a/designer-base/src/main/java/com/fr/design/EnvChangeEntrance.java +++ b/designer-base/src/main/java/com/fr/design/EnvChangeEntrance.java @@ -182,7 +182,7 @@ public class EnvChangeEntrance { return true; } - private void handleWorkspaceCheckException(WorkspaceCheckException e, PopTipStrategy strategy, WorkspaceConnectionInfo info) { + public void handleWorkspaceCheckException(WorkspaceCheckException e, PopTipStrategy strategy, WorkspaceConnectionInfo info) { TestConnectionResult result = TestConnectionResult.parseByException(e); FineLoggerFactory.getLogger().error(e.getMessage(), e); if (ComparatorUtils.equals(result, TestConnectionResult.AUTH_FAILED)) { @@ -493,7 +493,7 @@ public class EnvChangeEntrance { /** * 提示显示策略 */ - enum PopTipStrategy { + public enum PopTipStrategy { /** * 切换失败,就马上提示失败,不关闭选择列表对话框 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 e0fc4dfe9..43ae6ddcd 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 @@ -16,6 +16,7 @@ import com.fr.stable.StringUtils; import com.fr.value.NotNullLazyValue; import com.fr.workspace.WorkContext; import com.fr.workspace.Workspace; +import com.fr.workspace.engine.exception.WorkspaceCheckException; import org.jetbrains.annotations.NotNull; @@ -43,10 +44,10 @@ public class DesignerWorkspaceProvider extends Activator { if (startupArgs.getValue().isDemo()) { DesignerEnvManager.getEnvManager().setCurrentEnv2Default(); } else { + String workspacePath; + DesignerWorkspaceInfo workspaceInfo = null; try { String current = DesignerEnvManager.getEnvManager().getCurEnvName(); - String workspacePath; - DesignerWorkspaceInfo workspaceInfo; if (StringUtils.isNotEmpty(workspacePath = System.getProperty(SPECIFY_WORKSPACE))) { workspaceInfo = LocalDesignerWorkspaceInfo.create(StringUtils.EMPTY, workspacePath); } else { @@ -73,6 +74,10 @@ public class DesignerWorkspaceProvider extends Activator { } } catch (Throwable e) { FineLoggerFactory.getLogger().error(e.getMessage(), e); + if (e.getCause() instanceof WorkspaceCheckException && workspaceInfo != null) { + WorkspaceCheckException exception = (WorkspaceCheckException) e.getCause(); + EnvChangeEntrance.getInstance().handleWorkspaceCheckException(exception, EnvChangeEntrance.PopTipStrategy.LATER, workspaceInfo.getConnection()); + } EnvChangeEntrance.getInstance().dealEvnExceptionWhenStartDesigner(); } }