From 78e4fd5b0bf772dd1ff65b92a0e0b4535ee155e7 Mon Sep 17 00:00:00 2001 From: "Destiny.Lin" Date: Thu, 4 Jan 2024 10:42:45 +0800 Subject: [PATCH 1/7] =?UTF-8?q?REPORT-111337=20=E3=80=90=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E6=80=A7=E8=83=BD=E3=80=91=E8=AE=BE=E8=AE=A1=E5=99=A8?= =?UTF-8?q?=E5=8D=A1=E9=A1=BF=E4=BC=98=E5=8C=96=20=E7=9B=AE=E5=BD=95?= =?UTF-8?q?=E6=A0=91=E6=90=9C=E7=B4=A2=E5=8A=9F=E8=83=BD=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/mainframe/DesignerFrameFileDealerPane.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrameFileDealerPane.java b/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrameFileDealerPane.java index 16c8ef46ca..48dffbcb93 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrameFileDealerPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrameFileDealerPane.java @@ -29,6 +29,7 @@ import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.imenu.UIMenuHighLight; import com.fr.design.gui.itextfield.UITextField; import com.fr.design.gui.itoolbar.UIToolbar; +import com.fr.design.gui.itree.filetree.TemplateFileTree; import com.fr.design.i18n.Toolkit; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.layout.TableLayout; @@ -463,7 +464,7 @@ public class DesignerFrameFileDealerPane extends JPanel implements FileToolbarSt // 交换层级 searchToolbarPane.switchPane(TemplateTreeSearchToolbarPane.SEARCH_PANE); refreshRightToolBarByContentPaneType(); - TemplateTreePane.getInstance().refreshDockingView(); + // 这边没啥必要再刷新TemplateTreePane了,正常是改变Env需要重新加载目录树才刷新的,搜索直接搜原来的 TemplateTreeSearchManager.getInstance().switchToSearch(TemplateTreePane.getInstance().getTemplateFileTree()); } } @@ -844,4 +845,12 @@ public class DesignerFrameFileDealerPane extends JPanel implements FileToolbarSt } + + + public TemplateFileTree getTemplateTreePane() { + if (selectedOperation instanceof TemplateTreePane) { + return ((TemplateTreePane) selectedOperation).getTemplateFileTree(); + } + return new TemplateFileTree(); + } } From 7ed7505cebf1093cf89c8e88721b5d5221f0926c Mon Sep 17 00:00:00 2001 From: "Destiny.Lin" Date: Thu, 4 Jan 2024 10:44:50 +0800 Subject: [PATCH 2/7] =?UTF-8?q?REPORT-111337=20=E3=80=90=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E6=80=A7=E8=83=BD=E3=80=91=E8=AE=BE=E8=AE=A1=E5=99=A8?= =?UTF-8?q?=E5=8D=A1=E9=A1=BF=E4=BC=98=E5=8C=96=20=E7=9B=AE=E5=BD=95?= =?UTF-8?q?=E6=A0=91=E6=90=9C=E7=B4=A2=E5=8A=9F=E8=83=BD=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E5=8E=BB=E9=99=A4=E5=A4=9A=E4=BD=99=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/mainframe/DesignerFrameFileDealerPane.java | 9 --------- 1 file changed, 9 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrameFileDealerPane.java b/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrameFileDealerPane.java index 48dffbcb93..8d76e0d840 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrameFileDealerPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrameFileDealerPane.java @@ -29,7 +29,6 @@ import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.imenu.UIMenuHighLight; import com.fr.design.gui.itextfield.UITextField; import com.fr.design.gui.itoolbar.UIToolbar; -import com.fr.design.gui.itree.filetree.TemplateFileTree; import com.fr.design.i18n.Toolkit; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.layout.TableLayout; @@ -845,12 +844,4 @@ public class DesignerFrameFileDealerPane extends JPanel implements FileToolbarSt } - - - public TemplateFileTree getTemplateTreePane() { - if (selectedOperation instanceof TemplateTreePane) { - return ((TemplateTreePane) selectedOperation).getTemplateFileTree(); - } - return new TemplateFileTree(); - } } From c24a17f755797ae557d076f8d519f432948beebe Mon Sep 17 00:00:00 2001 From: "Destiny.Lin" Date: Thu, 4 Jan 2024 15:08:33 +0800 Subject: [PATCH 3/7] =?UTF-8?q?REPORT-111337=20=E3=80=90=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E6=80=A7=E8=83=BD=E3=80=91=E8=AE=BE=E8=AE=A1=E5=99=A8?= =?UTF-8?q?=E5=8D=A1=E9=A1=BF=E4=BC=98=E5=8C=96=20=E4=BF=9D=E5=AD=98?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/fr/design/worker/save/SaveWorker.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer-base/src/main/java/com/fr/design/worker/save/SaveWorker.java b/designer-base/src/main/java/com/fr/design/worker/save/SaveWorker.java index 83b7c50d49..af98536609 100644 --- a/designer-base/src/main/java/com/fr/design/worker/save/SaveWorker.java +++ b/designer-base/src/main/java/com/fr/design/worker/save/SaveWorker.java @@ -26,7 +26,7 @@ import javax.swing.SwingWorker; */ public class SaveWorker extends SwingWorker { - private static final int TIME_OUT = 400; + private static final int TIME_OUT = 100; private final Callable callable; From e5e9d0a4c78a0d916443af1ce12aa3c34f46a7c9 Mon Sep 17 00:00:00 2001 From: "Destiny.Lin" Date: Thu, 4 Jan 2024 15:16:07 +0800 Subject: [PATCH 4/7] =?UTF-8?q?REPORT-111337=20=E3=80=90=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E6=80=A7=E8=83=BD=E3=80=91=E8=AE=BE=E8=AE=A1=E5=99=A8?= =?UTF-8?q?=E5=8D=A1=E9=A1=BF=E4=BC=98=E5=8C=96=20=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E4=B8=BB=E9=A2=98+=E6=92=A4=E9=94=80=E9=87=8D=E5=81=9A?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/data/datapane/TableDataSourceOP.java | 9 +++++---- .../com/fr/design/gui/itree/filetree/ReportletPane.java | 6 ++++-- .../src/main/java/com/fr/design/mainframe/JWorkBook.java | 4 ++-- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/TableDataSourceOP.java b/designer-base/src/main/java/com/fr/design/data/datapane/TableDataSourceOP.java index 61c578453c..25617541fa 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/TableDataSourceOP.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/TableDataSourceOP.java @@ -138,10 +138,11 @@ public class TableDataSourceOP implements UserObjectOP { Map templateDataMap; Map serverDataMap; Map storeProcedureMap; - - templateDataMap = this.init().get(0); - serverDataMap = this.init().get(1); - storeProcedureMap = this.init().get(2); + // init涉及到RPC,不要滥用 + List> initList = this.init(); + templateDataMap = initList.get(0); + serverDataMap = initList.get(1); + storeProcedureMap = initList.get(2); //所有的数据集 List list = new ArrayList<>(); diff --git a/designer-base/src/main/java/com/fr/design/gui/itree/filetree/ReportletPane.java b/designer-base/src/main/java/com/fr/design/gui/itree/filetree/ReportletPane.java index 69e5a2c8ae..b6724d9632 100644 --- a/designer-base/src/main/java/com/fr/design/gui/itree/filetree/ReportletPane.java +++ b/designer-base/src/main/java/com/fr/design/gui/itree/filetree/ReportletPane.java @@ -1,6 +1,7 @@ package com.fr.design.gui.itree.filetree; import com.fr.design.dialog.BasicPane; +import com.fr.design.file.TemplateTreePane; import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.itextarea.UITextArea; import com.fr.design.layout.FRGUIPaneFactory; @@ -93,8 +94,9 @@ public class ReportletPane extends BasicPane { * 刷新Env */ public void refreshEnv() { - - this.templateReportletTree.refreshEnv(); + // 直接复用模板树的数据 + TemplateFileTree tree = TemplateTreePane.getInstance().getTemplateFileTree(); + this.templateReportletTree.setModel(tree.getModel()); this.classReportletTree.refreshEnv(); } diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/JWorkBook.java b/designer-realize/src/main/java/com/fr/design/mainframe/JWorkBook.java index f9c086a50b..8a7b0b0186 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/JWorkBook.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/JWorkBook.java @@ -814,7 +814,7 @@ public class JWorkBook extends JTemplate { } reportComposite.setSelectedIndex(u.getSelectedReportIndex()); u.getSelectedEditingState().revert(); - TableDataTreePane.getInstance(DesignModelAdapter.getCurrentModelAdapter()).refreshDockingView(); + TableDataTreePane.getInstanceWithoutRefreshEverytime(DesignModelAdapter.getCurrentModelAdapter()).refreshDockingView(); } this.undoState = u; } else { @@ -1319,7 +1319,7 @@ public class JWorkBook extends JTemplate { if (HistoryTemplateListCache.getInstance().getCurrentEditingTemplate() == this) { fireTargetModified(shouldCreateUndoState); reportComposite.setSelectedIndex(reportComposite.getSelectedIndex()); - TableDataTreePane.getInstance(DesignModelAdapter.getCurrentModelAdapter()).refreshDockingView(); + TableDataTreePane.getInstanceWithoutRefreshEverytime(DesignModelAdapter.getCurrentModelAdapter()).refreshDockingView(); DesignerContext.getDesignerFrame().resetToolkitByPlus(HistoryTemplateListPane.getInstance().getCurrentEditingTemplate()); // 刷新参数面板界面 populateReportParameterAttr(); From 8c716628a5311938bb44e9efbfd275bc00aab33f Mon Sep 17 00:00:00 2001 From: "Destiny.Lin" Date: Thu, 4 Jan 2024 16:04:25 +0800 Subject: [PATCH 5/7] =?UTF-8?q?REPORT-111337=20=E3=80=90=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E6=80=A7=E8=83=BD=E3=80=91=E8=AE=BE=E8=AE=A1=E5=99=A8?= =?UTF-8?q?=E5=8D=A1=E9=A1=BF=E4=BC=98=E5=8C=96=20=E6=89=93=E5=BC=80?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/fr/design/worker/open/OpenWorker.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer-base/src/main/java/com/fr/design/worker/open/OpenWorker.java b/designer-base/src/main/java/com/fr/design/worker/open/OpenWorker.java index d9c8568bf9..296917abda 100644 --- a/designer-base/src/main/java/com/fr/design/worker/open/OpenWorker.java +++ b/designer-base/src/main/java/com/fr/design/worker/open/OpenWorker.java @@ -37,7 +37,7 @@ import java.util.concurrent.TimeoutException; */ public class OpenWorker extends SwingWorker { - private static final int TIME_OUT = 400; + private static final int TIME_OUT = 100; private final Callable callable; From e24738dc36bd47fefc21299a2af05b0abbd0f5b6 Mon Sep 17 00:00:00 2001 From: "Destiny.Lin" Date: Thu, 4 Jan 2024 16:08:23 +0800 Subject: [PATCH 6/7] =?UTF-8?q?REPORT-111337=20=E3=80=90=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E6=80=A7=E8=83=BD=E3=80=91=E7=BC=93=E5=AD=98=E6=96=B9?= =?UTF-8?q?=E6=A1=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/tabledata/wrapper/TableDataFactory.java | 7 +++---- .../design/mainframe/socketio/DesignerSocketIO.java | 12 ++++++++++++ .../java/com/fr/start/module/DesignerActivator.java | 2 ++ 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/data/tabledata/wrapper/TableDataFactory.java b/designer-base/src/main/java/com/fr/design/data/tabledata/wrapper/TableDataFactory.java index 8345bde944..af6bd72c87 100644 --- a/designer-base/src/main/java/com/fr/design/data/tabledata/wrapper/TableDataFactory.java +++ b/designer-base/src/main/java/com/fr/design/data/tabledata/wrapper/TableDataFactory.java @@ -11,6 +11,8 @@ import com.fr.data.impl.MultiFieldTableData; import com.fr.data.impl.MultiTDTableData; import com.fr.data.impl.RecursionTableData; import com.fr.data.impl.storeproc.StoreProcedure; +import com.fr.workspace.base.WorkspaceConstants; +import com.fr.workspace.server.remote.RemoteCacheAttributeManager; import com.fr.design.data.datapane.TableDataNameObjectCreator; import com.fr.design.data.tabledata.tabledatapane.AbstractTableDataPane; import com.fr.design.data.tabledata.tabledatapane.ClassTableDataPane; @@ -26,8 +28,6 @@ import com.fr.general.ComparatorUtils; import com.fr.log.FineLoggerFactory; import com.fr.stable.ArrayUtils; import com.fr.stable.StringUtils; -import com.fr.workspace.WorkContext; -import com.fr.workspace.server.authority.user.UserAuthority; import java.lang.reflect.Constructor; import java.util.ArrayList; @@ -177,8 +177,7 @@ public abstract class TableDataFactory { public static String[] getSortOfChineseNameOfServerData(TableDataConfig tableDataConfig) { clearAll(); try { - UserAuthority userAuthority = WorkContext.getCurrent().get(UserAuthority.class); - Iterator nameIt = userAuthority.getAuthServerDataSetNames().iterator(); + Iterator nameIt = (Iterator) RemoteCacheAttributeManager.getInstance().getValue(WorkspaceConstants.AUTHOR_SERVER_DATA_IT); while (nameIt.hasNext()) { String name = nameIt.next(); addName(name, tableDataConfig.getTableData(name)); diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/socketio/DesignerSocketIO.java b/designer-realize/src/main/java/com/fr/design/mainframe/socketio/DesignerSocketIO.java index 3ceef3ae28..331a408f69 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/socketio/DesignerSocketIO.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/socketio/DesignerSocketIO.java @@ -33,6 +33,7 @@ import com.fr.workspace.Workspace; import com.fr.workspace.base.WorkspaceConstants; import com.fr.workspace.connect.WorkspaceConnectionInfo; import com.fr.workspace.engine.exception.WorkspaceConnectionException; +import com.fr.workspace.server.remote.RemoteCacheAttributeManager; import com.fr.workspace.server.socket.CustomLogEvent; import com.fr.workspace.server.socket.LogEventConverter; import io.socket.client.IO; @@ -118,6 +119,7 @@ public class DesignerSocketIO { socket = IO.socket(new URI(connectionInfo.getUri()), connectionInfo.getSocketConfig().createOptions()); socket.on(WorkspaceConstants.WS_LOGRECORD, printLog); socket.on(WorkspaceConstants.CONFIG_MODIFY, modifyConfig); + socket.on(WorkspaceConstants.AUTHOR_SERVER_DATA_IT, authorServerDataIt); socket.on(Socket.EVENT_CONNECT_ERROR, failRetry); socket.on(Socket.EVENT_DISCONNECT, disConnectHint); socket.on(Socket.EVENT_CONNECT, handleConnect); @@ -183,6 +185,7 @@ public class DesignerSocketIO { if (disConnectHintTimer != null) { FineLoggerFactory.getLogger().info("cancel disConnectHintTimer"); disConnectHintTimer.cancel(); + RemoteCacheAttributeManager.getInstance().stopPolling(); } } }; @@ -201,6 +204,7 @@ public class DesignerSocketIO { dealWithSocketDisconnect(); } status = Status.Disconnected; + RemoteCacheAttributeManager.getInstance().startPolling(); } }; @@ -311,6 +315,14 @@ public class DesignerSocketIO { } }; + private static final Emitter.Listener authorServerDataIt = new Emitter.Listener() { + @Override + public void call(Object... objects) { + FineLoggerFactory.getLogger().info("[AuthServerDataSetNamesIt] update server data author"); + RemoteCacheAttributeManager.getInstance().updateValue(WorkspaceConstants.AUTHOR_SERVER_DATA_IT); + } + }; + private static void printLog(Object[] objects, PrintEventLog printEventLog, String prefix) { for (Object object : objects) { if (object instanceof Throwable) { diff --git a/designer-realize/src/main/java/com/fr/start/module/DesignerActivator.java b/designer-realize/src/main/java/com/fr/start/module/DesignerActivator.java index 16a923df37..01bd8fcb4f 100644 --- a/designer-realize/src/main/java/com/fr/start/module/DesignerActivator.java +++ b/designer-realize/src/main/java/com/fr/start/module/DesignerActivator.java @@ -145,6 +145,7 @@ import com.fr.start.common.DesignerStartupExecutor; import com.fr.start.common.DesignerStartupPool; import com.fr.task.Once; import com.fr.workspace.WorkContext; +import com.fr.workspace.server.remote.RemoteCacheAttributeManager; import com.fr.xml.ReportXMLUtils; import javax.swing.SwingWorker; @@ -205,6 +206,7 @@ public class DesignerActivator extends Activator implements Prepare { } }, SupportOSImpl.BBS_USER_LOGIN_PANE); loadLogAppender(); + RemoteCacheAttributeManager.getInstance().updateAllValue(); DesignerSocketIO.update(); DesignerWorkspaceLoader.init(); storePassport(); From 4c6f5c6179cc9b0d38f62848a51400f9ddc054e0 Mon Sep 17 00:00:00 2001 From: "Destiny.Lin" Date: Thu, 4 Jan 2024 18:48:30 +0800 Subject: [PATCH 7/7] =?UTF-8?q?REPORT-111337=20=E3=80=90=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E6=80=A7=E8=83=BD=E3=80=91=E7=BC=93=E5=AD=98=E6=96=B9?= =?UTF-8?q?=E6=A1=88=E4=BB=A3=E7=A0=81=E8=A7=84=E8=8C=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/mainframe/socketio/DesignerSocketIO.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/socketio/DesignerSocketIO.java b/designer-realize/src/main/java/com/fr/design/mainframe/socketio/DesignerSocketIO.java index 331a408f69..1e18fe6bf8 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/socketio/DesignerSocketIO.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/socketio/DesignerSocketIO.java @@ -119,7 +119,7 @@ public class DesignerSocketIO { socket = IO.socket(new URI(connectionInfo.getUri()), connectionInfo.getSocketConfig().createOptions()); socket.on(WorkspaceConstants.WS_LOGRECORD, printLog); socket.on(WorkspaceConstants.CONFIG_MODIFY, modifyConfig); - socket.on(WorkspaceConstants.AUTHOR_SERVER_DATA_IT, authorServerDataIt); + socket.on(WorkspaceConstants.AUTHOR_SERVER_DATA_IT, MODIFY_AUTHOR_SERVER_DATA_IT); socket.on(Socket.EVENT_CONNECT_ERROR, failRetry); socket.on(Socket.EVENT_DISCONNECT, disConnectHint); socket.on(Socket.EVENT_CONNECT, handleConnect); @@ -315,7 +315,7 @@ public class DesignerSocketIO { } }; - private static final Emitter.Listener authorServerDataIt = new Emitter.Listener() { + private static final Emitter.Listener MODIFY_AUTHOR_SERVER_DATA_IT = new Emitter.Listener() { @Override public void call(Object... objects) { FineLoggerFactory.getLogger().info("[AuthServerDataSetNamesIt] update server data author");