From d4bf7543022659a3a4e9ba70fa0c0d1e6cd7ecb0 Mon Sep 17 00:00:00 2001 From: richie Date: Fri, 17 May 2019 14:12:08 +0800 Subject: [PATCH] =?UTF-8?q?KERNEL-493=20=E8=AE=BE=E8=AE=A1=E5=99=A8?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E4=BA=A4=E6=8D=A2=E9=83=A8=E5=88=86=E7=9A=84?= =?UTF-8?q?API=E7=A4=BA=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../actions/server/ConnectionListAction.java | 4 +-- .../UniversalDatabaseComponent.java} | 8 ++--- .../UniversalDatabaseDialog.java} | 6 ++-- .../UniversalDatabaseOpener.java} | 8 ++--- .../UniversalDatabasePane.java} | 11 +++--- .../com/fr/design/dcm/UniversalDcmBridge.java | 34 +++++++++++++++++++ 6 files changed, 53 insertions(+), 18 deletions(-) rename designer-base/src/main/java/com/fr/design/{upm/database/UniverseDatabaseComponent.java => dcm/UniversalDatabaseComponent.java} (75%) rename designer-base/src/main/java/com/fr/design/{upm/database/UniverseDatabaseDialog.java => dcm/UniversalDatabaseDialog.java} (79%) rename designer-base/src/main/java/com/fr/design/{upm/database/UniverseDatabaseOpener.java => dcm/UniversalDatabaseOpener.java} (74%) rename designer-base/src/main/java/com/fr/design/{upm/database/UniverseDatabasePane.java => dcm/UniversalDatabasePane.java} (72%) create mode 100644 designer-base/src/main/java/com/fr/design/dcm/UniversalDcmBridge.java diff --git a/designer-base/src/main/java/com/fr/design/actions/server/ConnectionListAction.java b/designer-base/src/main/java/com/fr/design/actions/server/ConnectionListAction.java index 5c76dbf18..76b11b2ff 100644 --- a/designer-base/src/main/java/com/fr/design/actions/server/ConnectionListAction.java +++ b/designer-base/src/main/java/com/fr/design/actions/server/ConnectionListAction.java @@ -13,7 +13,7 @@ import com.fr.design.gui.NameInspector; import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.DesignerFrame; import com.fr.design.menu.MenuKeySet; -import com.fr.design.upm.database.UniverseDatabaseOpener; +import com.fr.design.dcm.UniversalDatabaseOpener; import com.fr.file.ConnectionConfig; import com.fr.general.IOUtils; import com.fr.transaction.CallBackAdaptor; @@ -61,7 +61,7 @@ public class ConnectionListAction extends UpdateAction { */ public void actionPerformed(ActionEvent evt) { if (ServerPreferenceConfig.getInstance().isUseUniverseDBM()) { - UniverseDatabaseOpener.showUniverseDatabaseDialog(); + UniversalDatabaseOpener.showUniverseDatabaseDialog(); } else { openDesignDatabaseManager(); } diff --git a/designer-base/src/main/java/com/fr/design/upm/database/UniverseDatabaseComponent.java b/designer-base/src/main/java/com/fr/design/dcm/UniversalDatabaseComponent.java similarity index 75% rename from designer-base/src/main/java/com/fr/design/upm/database/UniverseDatabaseComponent.java rename to designer-base/src/main/java/com/fr/design/dcm/UniversalDatabaseComponent.java index 106b1a0aa..4290ebce8 100644 --- a/designer-base/src/main/java/com/fr/design/upm/database/UniverseDatabaseComponent.java +++ b/designer-base/src/main/java/com/fr/design/dcm/UniversalDatabaseComponent.java @@ -1,4 +1,4 @@ -package com.fr.design.upm.database; +package com.fr.design.dcm; import com.fr.web.struct.AssembleComponent; import com.fr.web.struct.Atom; @@ -12,11 +12,11 @@ import com.fr.web.struct.impl.FineUI; * @version 10.0 * Created by richie on 2019-05-16 */ -public class UniverseDatabaseComponent extends AssembleComponent { +public class UniversalDatabaseComponent extends AssembleComponent { - public static final UniverseDatabaseComponent KEY = new UniverseDatabaseComponent(); + public static final UniversalDatabaseComponent KEY = new UniversalDatabaseComponent(); - private UniverseDatabaseComponent() { + private UniversalDatabaseComponent() { } diff --git a/designer-base/src/main/java/com/fr/design/upm/database/UniverseDatabaseDialog.java b/designer-base/src/main/java/com/fr/design/dcm/UniversalDatabaseDialog.java similarity index 79% rename from designer-base/src/main/java/com/fr/design/upm/database/UniverseDatabaseDialog.java rename to designer-base/src/main/java/com/fr/design/dcm/UniversalDatabaseDialog.java index 1fe983ea7..802dd22e4 100644 --- a/designer-base/src/main/java/com/fr/design/upm/database/UniverseDatabaseDialog.java +++ b/designer-base/src/main/java/com/fr/design/dcm/UniversalDatabaseDialog.java @@ -1,4 +1,4 @@ -package com.fr.design.upm.database; +package com.fr.design.dcm; import com.fr.design.dialog.BasicPane; import com.fr.design.dialog.UIDialog; @@ -12,9 +12,9 @@ import java.awt.*; * @version 10.0 * Created by richie on 2019-05-16 */ -public class UniverseDatabaseDialog extends UIDialog { +public class UniversalDatabaseDialog extends UIDialog { - public UniverseDatabaseDialog(Frame frame, BasicPane pane) { + public UniversalDatabaseDialog(Frame frame, BasicPane pane) { super(frame); setUndecorated(true); JPanel panel = (JPanel) getContentPane(); diff --git a/designer-base/src/main/java/com/fr/design/upm/database/UniverseDatabaseOpener.java b/designer-base/src/main/java/com/fr/design/dcm/UniversalDatabaseOpener.java similarity index 74% rename from designer-base/src/main/java/com/fr/design/upm/database/UniverseDatabaseOpener.java rename to designer-base/src/main/java/com/fr/design/dcm/UniversalDatabaseOpener.java index dee5de0f5..9239b9d4d 100644 --- a/designer-base/src/main/java/com/fr/design/upm/database/UniverseDatabaseOpener.java +++ b/designer-base/src/main/java/com/fr/design/dcm/UniversalDatabaseOpener.java @@ -1,4 +1,4 @@ -package com.fr.design.upm.database; +package com.fr.design.dcm; import com.fr.design.dialog.UIDialog; import com.fr.design.mainframe.DesignerContext; @@ -10,7 +10,7 @@ import javax.swing.*; * @version 10.0 * Created by richie on 2019-05-16 */ -public class UniverseDatabaseOpener { +public class UniversalDatabaseOpener { private static UIDialog dialog = null; @@ -19,9 +19,9 @@ public class UniverseDatabaseOpener { } public static void showUniverseDatabaseDialog() { - UniverseDatabasePane upmPane = new UniverseDatabasePane(); + UniversalDatabasePane upmPane = new UniversalDatabasePane(); if (dialog == null) { - dialog = new UniverseDatabaseDialog(DesignerContext.getDesignerFrame(), upmPane); + dialog = new UniversalDatabaseDialog(DesignerContext.getDesignerFrame(), upmPane); } dialog.setVisible(true); } diff --git a/designer-base/src/main/java/com/fr/design/upm/database/UniverseDatabasePane.java b/designer-base/src/main/java/com/fr/design/dcm/UniversalDatabasePane.java similarity index 72% rename from designer-base/src/main/java/com/fr/design/upm/database/UniverseDatabasePane.java rename to designer-base/src/main/java/com/fr/design/dcm/UniversalDatabasePane.java index ac53d9426..e29a9f669 100644 --- a/designer-base/src/main/java/com/fr/design/upm/database/UniverseDatabasePane.java +++ b/designer-base/src/main/java/com/fr/design/dcm/UniversalDatabasePane.java @@ -1,4 +1,4 @@ -package com.fr.design.upm.database; +package com.fr.design.dcm; import com.fr.design.dialog.BasicPane; import com.fr.design.ui.ModernUIPane; @@ -13,7 +13,7 @@ import java.awt.*; * @version 10.0 * Created by richie on 2019-05-16 */ -public class UniverseDatabasePane extends BasicPane { +public class UniversalDatabasePane extends BasicPane { private ModernUIPane modernUIPane; @@ -22,14 +22,15 @@ public class UniverseDatabasePane extends BasicPane { return "Database"; } - public UniverseDatabasePane() { + public UniversalDatabasePane() { setLayout(new BorderLayout()); - modernUIPane = new ModernUIPane.Builder() - .withComponent(UniverseDatabaseComponent.KEY) + modernUIPane = new ModernUIPane.Builder<>() + .withComponent(UniversalDatabaseComponent.KEY) .prepare(new ScriptContextAdapter() { @Override public void onScriptContextCreated(ScriptContextEvent event) { JSValue window = event.getBrowser().executeJavaScriptAndReturnValue("window"); + window.asObject().setProperty("DcmHelper", UniversalDcmBridge.getBridge(event.getBrowser())); } }) .build(); diff --git a/designer-base/src/main/java/com/fr/design/dcm/UniversalDcmBridge.java b/designer-base/src/main/java/com/fr/design/dcm/UniversalDcmBridge.java new file mode 100644 index 000000000..577acada9 --- /dev/null +++ b/designer-base/src/main/java/com/fr/design/dcm/UniversalDcmBridge.java @@ -0,0 +1,34 @@ +package com.fr.design.dcm; + +import com.fr.decision.webservice.bean.BaseBean; +import com.fr.design.bridge.exec.JSBridge; +import com.teamdev.jxbrowser.chromium.Browser; +import com.teamdev.jxbrowser.chromium.JSObject; + +/** + * @author richie + * @version 10.0 + * Created by richie on 2019-05-17 + * 桥接Java和JavaScript的类 + */ +public class UniversalDcmBridge { + + public static UniversalDcmBridge getBridge(Browser browser) { + return new UniversalDcmBridge(browser); + } + + private JSObject window; + + private UniversalDcmBridge(Browser browser) { + this.window = browser.executeJavaScriptAndReturnValue("window").asObject(); + } + + /** + * 获取所有的数据连接 + * @return 数据连接集合 + */ + @JSBridge + public BaseBean getConnections() { + return null; + } +}