From 9ec37b7e4f7f07fe790471d3a839e234776ac659 Mon Sep 17 00:00:00 2001 From: "Mata.Li" Date: Thu, 28 Jun 2018 09:38:44 +0800 Subject: [PATCH 1/2] REPORT-8347 REPORT-8999 REPORT-9115 --- .../com/fr/design/env/LocalDesignerWorkspaceInfo.java | 6 +++++- .../com/fr/design/env/RemoteDesignerWorkspaceInfo.java | 7 +++++-- .../com/fr/start/server/FineEmbedServerActivator.java | 6 +++--- designer-realize/src/com/fr/start/Designer.java | 10 +++++++--- 4 files changed, 20 insertions(+), 9 deletions(-) diff --git a/designer-base/src/com/fr/design/env/LocalDesignerWorkspaceInfo.java b/designer-base/src/com/fr/design/env/LocalDesignerWorkspaceInfo.java index 87e556d92..648f3c233 100644 --- a/designer-base/src/com/fr/design/env/LocalDesignerWorkspaceInfo.java +++ b/designer-base/src/com/fr/design/env/LocalDesignerWorkspaceInfo.java @@ -1,5 +1,7 @@ package com.fr.design.env; +import com.fr.general.NameObject; +import com.fr.stable.StableUtils; import com.fr.stable.StringUtils; import com.fr.stable.xml.XMLPrintWriter; import com.fr.stable.xml.XMLableReader; @@ -63,6 +65,8 @@ public class LocalDesignerWorkspaceInfo implements DesignerWorkspaceInfo { @Override public Object clone() throws CloneNotSupportedException { - return null; + LocalDesignerWorkspaceInfo object = (LocalDesignerWorkspaceInfo)super.clone(); + + return object; } } diff --git a/designer-base/src/com/fr/design/env/RemoteDesignerWorkspaceInfo.java b/designer-base/src/com/fr/design/env/RemoteDesignerWorkspaceInfo.java index 7266cf0d7..c5a097f61 100644 --- a/designer-base/src/com/fr/design/env/RemoteDesignerWorkspaceInfo.java +++ b/designer-base/src/com/fr/design/env/RemoteDesignerWorkspaceInfo.java @@ -1,5 +1,6 @@ package com.fr.design.env; +import com.fr.general.NameObject; import com.fr.security.SecurityToolbox; import com.fr.stable.StringUtils; import com.fr.stable.xml.XMLPrintWriter; @@ -75,7 +76,9 @@ public class RemoteDesignerWorkspaceInfo implements DesignerWorkspaceInfo { @Override public Object clone() throws CloneNotSupportedException { - - return null; + + RemoteDesignerWorkspaceInfo object = (RemoteDesignerWorkspaceInfo)super.clone(); + + return object; } } diff --git a/designer-base/src/com/fr/start/server/FineEmbedServerActivator.java b/designer-base/src/com/fr/start/server/FineEmbedServerActivator.java index 1d76fd3fe..2292da99a 100644 --- a/designer-base/src/com/fr/start/server/FineEmbedServerActivator.java +++ b/designer-base/src/com/fr/start/server/FineEmbedServerActivator.java @@ -13,8 +13,8 @@ import com.fr.workspace.WorkContext; import org.apache.catalina.Context; import org.apache.catalina.LifecycleException; import org.apache.catalina.Wrapper; -import org.apache.catalina.connector.Connector; -import org.apache.catalina.loader.VirtualWebappLoader; + +import org.apache.catalina.loader.WebappLoader; import org.apache.catalina.startup.Tomcat; import java.io.File; @@ -112,7 +112,7 @@ public class FineEmbedServerActivator extends Activator { * Created by juhaoyu on 2018/6/5. * 自定义的tomcat loader,主要用于防止内置服务器再加载一遍class */ - private static class FRTomcatLoader extends VirtualWebappLoader { + private static class FRTomcatLoader extends WebappLoader { @Override public ClassLoader getClassLoader() { diff --git a/designer-realize/src/com/fr/start/Designer.java b/designer-realize/src/com/fr/start/Designer.java index cc17dd692..f9697ff26 100644 --- a/designer-realize/src/com/fr/start/Designer.java +++ b/designer-realize/src/com/fr/start/Designer.java @@ -37,7 +37,6 @@ import com.fr.design.menu.ShortCut; import com.fr.design.module.DesignModuleFactory; import com.fr.design.utils.DesignUtils; - import com.fr.design.utils.concurrent.ThreadFactoryBuilder; import com.fr.design.utils.gui.GUICoreUtils; import com.fr.general.CloudCenter; @@ -97,15 +96,20 @@ public class Designer extends BaseDesigner { * @param args 参数 */ public static void main(String[] args) { + BuildContext.setBuildFilePath("/com/fr/stable/build.properties"); - preloadResource(); - SplashContext.getInstance().registerSplash(createSplash()); + // 如果端口被占用了 说明程序已经运行了一次,也就是说,已经建立一个监听服务器,现在只要给服务器发送命令就好了 if (DesignUtils.isStarted()) { DesignUtils.clientSend(args); return; } + + preloadResource(); + + SplashContext.getInstance().registerSplash(createSplash()); + SplashContext.getInstance().show(); Module designerRoot = ModuleContext.parseRoot("designer-startup.xml"); //传递启动参数 From cc81c091b2eb90892fa3d300824c34fc85430278 Mon Sep 17 00:00:00 2001 From: "Mata.Li" Date: Thu, 28 Jun 2018 10:37:17 +0800 Subject: [PATCH 2/2] fix bug --- .../src/com/fr/design/env/RemoteDesignerWorkspaceInfo.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/designer-base/src/com/fr/design/env/RemoteDesignerWorkspaceInfo.java b/designer-base/src/com/fr/design/env/RemoteDesignerWorkspaceInfo.java index c5a097f61..8954f483b 100644 --- a/designer-base/src/com/fr/design/env/RemoteDesignerWorkspaceInfo.java +++ b/designer-base/src/com/fr/design/env/RemoteDesignerWorkspaceInfo.java @@ -1,7 +1,7 @@ package com.fr.design.env; -import com.fr.general.NameObject; import com.fr.security.SecurityToolbox; +import com.fr.stable.StableUtils; import com.fr.stable.StringUtils; import com.fr.stable.xml.XMLPrintWriter; import com.fr.stable.xml.XMLableReader; @@ -79,6 +79,7 @@ public class RemoteDesignerWorkspaceInfo implements DesignerWorkspaceInfo { RemoteDesignerWorkspaceInfo object = (RemoteDesignerWorkspaceInfo)super.clone(); + object.connection = (WorkspaceConnection)StableUtils.cloneObject(this.connection); return object; } }