From fbf6c3eb3c8204635b808507bc2fb6c4af598318 Mon Sep 17 00:00:00 2001 From: "Destiny.Lin" Date: Thu, 17 Oct 2024 14:10:07 +0800 Subject: [PATCH 1/6] =?UTF-8?q?REPORT-137327=20-=20=E8=BF=9C=E7=A8=8B?= =?UTF-8?q?=E8=AE=BE=E8=AE=A1=E4=B8=8B=E5=88=87=E6=8D=A2=E7=9B=AE=E5=BD=95?= =?UTF-8?q?=E5=8D=A1=E9=A1=BF=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/cache/DesignCacheManager.java | 62 ------------------- .../design/data/DesignTableDataManager.java | 9 +-- .../data/datapane/TableDataPaneListPane.java | 1 + .../data/datapane/TableDataTreePane.java | 9 ++- .../datapane/connect/ConnectionListPane.java | 1 + .../fr/design/file/MultiTemplateTabPane.java | 5 +- .../com/fr/design/file/TemplateTreePane.java | 3 +- .../boot/env/DesignFunctionComponent.java | 1 - .../env/function/DesignAnalyzerComponent.java | 34 ---------- .../function/DesignDatasourceComponent.java | 7 ++- .../boot/pre/DesignPreStartComponent.java | 13 ++-- .../file/newReport/NewWorkBookAction.java | 3 +- 12 files changed, 23 insertions(+), 125 deletions(-) delete mode 100644 designer-base/src/main/java/com/fr/design/cache/DesignCacheManager.java diff --git a/designer-base/src/main/java/com/fr/design/cache/DesignCacheManager.java b/designer-base/src/main/java/com/fr/design/cache/DesignCacheManager.java deleted file mode 100644 index bb0e2c4b42..0000000000 --- a/designer-base/src/main/java/com/fr/design/cache/DesignCacheManager.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.fr.design.cache; - -import com.fr.base.TableData; -import com.fr.design.data.tabledata.wrapper.TableDataFactory; - -import java.util.Map; - -/** - * 设计器缓存管理 - * - * @author Destiny.Lin - * @since 11.0 - * Created on 2024/8/11 - */ -public class DesignCacheManager { - - public static ThreadLocal> cacheTableData = new ThreadLocal<>(); - - /** - * 处理任务(使用数据集缓存) - */ - public static void processByCacheTableData(Task task) { - try { - cacheTableData.set(TableDataFactory.getTableDatas()); - task.process(); - } finally { - cacheTableData.remove(); - } - } - - - /** - * 是否使用数据集的缓存 - */ - public static boolean useDataCache() { - return cacheTableData.get() != null; - } - - /** - * 获取数据集缓存 - */ - public static ThreadLocal> getCacheTableData() { - return cacheTableData; - } - - /** - * 设置数据集缓存 - */ - public static void setCacheTableData(ThreadLocal> cacheTableData) { - DesignCacheManager.cacheTableData = cacheTableData; - } - - /** - * 任务 - */ - public interface Task { - /** - * 处理 - */ - void process(); - } -} diff --git a/designer-base/src/main/java/com/fr/design/data/DesignTableDataManager.java b/designer-base/src/main/java/com/fr/design/data/DesignTableDataManager.java index 0c17bcb0e9..dcde4716b0 100644 --- a/designer-base/src/main/java/com/fr/design/data/DesignTableDataManager.java +++ b/designer-base/src/main/java/com/fr/design/data/DesignTableDataManager.java @@ -19,7 +19,6 @@ import com.fr.data.impl.storeproc.StoreProcedureConstants; import com.fr.data.impl.storeproc.StoreProcedureHelper; import com.fr.data.operator.DataOperator; import com.fr.design.DesignModelAdapter; -import com.fr.design.cache.DesignCacheManager; import com.fr.design.data.datapane.preview.PreviewTablePane; import com.fr.design.data.tabledata.wrapper.MultiResultTableDataNameWrapper; import com.fr.design.data.tabledata.wrapper.MultiResultTableDataWrapper; @@ -449,13 +448,7 @@ public abstract class DesignTableDataManager { } private static void addServerData(java.util.Map resMap) { - Map tableDataMap; - if (DesignCacheManager.useDataCache()) { - FineLoggerFactory.getLogger().debug("use cache Table data wrapper."); - tableDataMap = DesignCacheManager.getCacheTableData().get(); - } else { - tableDataMap = TableDataFactory.getTableDatas(); - } + Map tableDataMap = TableDataFactory.getTableDatas(); for (Entry entry : tableDataMap.entrySet()) { if (globalDsCache.containsKey(entry.getKey())) { resMap.put(entry.getKey(), globalDsCache.get(entry.getKey())); diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/TableDataPaneListPane.java b/designer-base/src/main/java/com/fr/design/data/datapane/TableDataPaneListPane.java index cbc67bb2e8..304ed35eae 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/TableDataPaneListPane.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/TableDataPaneListPane.java @@ -336,6 +336,7 @@ public class TableDataPaneListPane extends JListControlPane implements TableData for (ServerDataSetBean bean : deleteDatas) { TableDataRepository.getInstance().delete(bean); } + TableDataRepository.getInstance().invalidCache(); } catch (Exception e) { FineLoggerFactory.getLogger().error(e.getMessage(), e); } diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/TableDataTreePane.java b/designer-base/src/main/java/com/fr/design/data/datapane/TableDataTreePane.java index 0552f836e8..861e070214 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/TableDataTreePane.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/TableDataTreePane.java @@ -12,7 +12,6 @@ import com.fr.design.DesignModelAdapter; import com.fr.design.DesignerEnvManager; import com.fr.design.ExtraDesignClassManager; import com.fr.design.actions.UpdateAction; -import com.fr.design.cache.DesignCacheManager; import com.fr.design.data.BasicTableDataTreePane; import com.fr.design.data.BasicTableDataUtils; import com.fr.design.data.DesignTableDataManager; @@ -461,7 +460,7 @@ public class TableDataTreePane extends BasicTableDataTreePane { if (!ComparatorUtils.equals(oldName, tdName)) { map.put(oldName, tdName); } - DesignCacheManager.processByCacheTableData(() -> fireDSChanged(map)); + fireDSChanged(map); tc.fireTargetModified(); tc.parameterChanged(); int[] rows = tableDataTree.getSelectionRows(); @@ -1023,7 +1022,7 @@ public class TableDataTreePane extends BasicTableDataTreePane { @Override public void actionPerformed(ActionEvent e) { - DesignCacheManager.processByCacheTableData(() -> dgEdit(getTableDataInstance().creatTableDataPane(), createDsName(getNamePrefix()), false)); + dgEdit(getTableDataInstance().creatTableDataPane(), createDsName(getNamePrefix()), false); } } @@ -1129,7 +1128,7 @@ public class TableDataTreePane extends BasicTableDataTreePane { BasicDialog basicDialog = basicPane.showSmallWindow(SwingUtilities.getWindowAncestor(TableDataTreePane.this), new DialogActionAdapter() { @Override public void doOk() { - DesignCacheManager.processByCacheTableData(this::processRemove); + processRemove(); } private void processRemove() { @@ -1203,7 +1202,7 @@ public class TableDataTreePane extends BasicTableDataTreePane { @Override public void actionPerformed(ActionEvent e) { - DesignCacheManager.processByCacheTableData(this::doPaste); + doPaste(); } private void doPaste() { diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/connect/ConnectionListPane.java b/designer-base/src/main/java/com/fr/design/data/datapane/connect/ConnectionListPane.java index 48a09ba695..d1acf83474 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/connect/ConnectionListPane.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/connect/ConnectionListPane.java @@ -360,6 +360,7 @@ public class ConnectionListPane extends JListControlPane implements ConnectionSh if (!WorkContext.getCurrent().isLocal()) { EventDispatcher.fire(RemoteConfigEvent.EDIT, "ConnectionConfig"); } + ConnectionRepository.getInstance().invalidCache(); } catch (Exception e) { FineLoggerFactory.getLogger().error(e.getMessage(), e); throw e; diff --git a/designer-base/src/main/java/com/fr/design/file/MultiTemplateTabPane.java b/designer-base/src/main/java/com/fr/design/file/MultiTemplateTabPane.java index 0c8d62d587..6f2d1c5719 100644 --- a/designer-base/src/main/java/com/fr/design/file/MultiTemplateTabPane.java +++ b/designer-base/src/main/java/com/fr/design/file/MultiTemplateTabPane.java @@ -13,7 +13,6 @@ import com.fr.design.ExtraDesignClassManager; import com.fr.design.actions.UpdateAction; import com.fr.design.actions.file.LocateAction; import com.fr.design.actions.template.NewWorkBookToolButtonAction; -import com.fr.design.cache.DesignCacheManager; import com.fr.design.constants.UIConstants; import com.fr.design.dialog.FineJOptionPane; import com.fr.design.fun.MenuHandler; @@ -837,13 +836,13 @@ public class MultiTemplateTabPane extends Row { setIsCloseCurrent(true); } closeFormat(template); - DesignCacheManager.processByCacheTableData(() -> closeSpecifiedTemplate(template)); + closeSpecifiedTemplate(template); DesignerContext.getDesignerFrame().getContentFrame().repaint(); isShowList = false; } else { //没有点击关闭和ListDown按钮,则切换到点击的模板处 closeIconIndex = -1; - DesignCacheManager.processByCacheTableData(() -> switchJTemplate(getTemplateIndex(evtX))); + switchJTemplate(getTemplateIndex(evtX)); clodeIcon = new LazyIcon("clear"); switchJTemplate(getTemplateIndex(evtX)); isShowList = false; diff --git a/designer-base/src/main/java/com/fr/design/file/TemplateTreePane.java b/designer-base/src/main/java/com/fr/design/file/TemplateTreePane.java index 2971f38e22..b807123b19 100644 --- a/designer-base/src/main/java/com/fr/design/file/TemplateTreePane.java +++ b/designer-base/src/main/java/com/fr/design/file/TemplateTreePane.java @@ -5,7 +5,6 @@ package com.fr.design.file; import com.fanruan.repository.TemplateRepository; import com.fr.design.ExtraDesignClassManager; -import com.fr.design.cache.DesignCacheManager; import com.fr.design.dialog.FineJOptionPane; import com.fr.design.fun.TemplateTreeDefineProcessor; import com.fr.design.gui.itree.filetree.TemplateFileTree; @@ -105,7 +104,7 @@ public class TemplateTreePane extends JPanel implements FileOperations { return; } if (evt.getClickCount() == 2) { - DesignCacheManager.processByCacheTableData(() -> openFile()); + openFile(); } } diff --git a/designer-realize/src/main/java/com/fanruan/boot/env/DesignFunctionComponent.java b/designer-realize/src/main/java/com/fanruan/boot/env/DesignFunctionComponent.java index 63de9d0d27..f1608a8f52 100644 --- a/designer-realize/src/main/java/com/fanruan/boot/env/DesignFunctionComponent.java +++ b/designer-realize/src/main/java/com/fanruan/boot/env/DesignFunctionComponent.java @@ -1,6 +1,5 @@ package com.fanruan.boot.env; -import com.fanruan.carina.annotions.ActivatorRefer; import com.fanruan.carina.annotions.DependsOn; import com.fanruan.carina.annotions.FineComponent; import com.fanruan.carina.annotions.Start; diff --git a/designer-realize/src/main/java/com/fanruan/boot/env/function/DesignAnalyzerComponent.java b/designer-realize/src/main/java/com/fanruan/boot/env/function/DesignAnalyzerComponent.java index 3403f28df9..783180952a 100644 --- a/designer-realize/src/main/java/com/fanruan/boot/env/function/DesignAnalyzerComponent.java +++ b/designer-realize/src/main/java/com/fanruan/boot/env/function/DesignAnalyzerComponent.java @@ -7,47 +7,13 @@ import com.fanruan.carina.annotions.FineComponent; import com.fanruan.carina.annotions.Start; import com.fanruan.carina.annotions.Supplemental; import com.fanruan.carina.core.partition.ResourceAffiliate; -import com.fr.base.OptimizeUtil; -import com.fr.collect.Collect; -import com.fr.concurrent.NamedThreadFactory; -import com.fr.design.constants.DesignerLaunchStatus; -import com.fr.design.record.analyzer.DesignerAnalyzer; -import com.fr.design.record.analyzer.Interceptor.CollectInterceptor; -import com.fr.design.record.analyzer.advice.CollectAdvice; -import com.fr.design.record.analyzer.advice.DBMonitorAdvice; -import com.fr.design.record.analyzer.advice.FaultToleranceAdvice; -import com.fr.design.record.analyzer.advice.FocusAdvice; -import com.fr.design.record.analyzer.advice.MonitorAdvice; -import com.fr.design.record.analyzer.advice.PerformancePointAdvice; -import com.fr.event.Event; -import com.fr.event.EventDispatcher; -import com.fr.event.Listener; -import com.fr.event.Null; -import com.fr.intelli.metrics.Compute; -import com.fr.intelli.record.Focus; -import com.fr.intelli.record.PerformancePoint; -import com.fr.jvm.assist.FineAssist; import com.fr.record.analyzer.AnalyzerConfiguration; -import com.fr.record.analyzer.AnalyzerKey; -import com.fr.record.analyzer.Assistant; -import com.fr.record.analyzer.DBMetrics; -import com.fr.record.analyzer.FineAnalyzer; -import com.fr.record.analyzer.advice.AnalyzerAdviceKey; import com.fr.record.analyzer.advice.FineAdviceAssistant; import com.fr.record.analyzer.configuration.AnalyzerAssemblyFactory; import com.fr.record.analyzer.configuration.FineAnalyzerAssemblyFactory; -import com.fr.stable.collections.CollectionUtils; -import com.fr.third.net.bytebuddy.description.type.TypeDescription; -import com.fr.third.net.bytebuddy.dynamic.DynamicType; -import com.fr.third.net.bytebuddy.implementation.MethodDelegation; -import com.fr.third.net.bytebuddy.matcher.ElementMatchers; -import com.fr.third.net.bytebuddy.utility.JavaModule; -import com.fr.tolerance.FaultTolerance; import org.jetbrains.annotations.NotNull; -import java.util.ArrayList; import java.util.List; -import java.util.concurrent.ExecutorService; /** * 设计器埋点及分析组件 diff --git a/designer-realize/src/main/java/com/fanruan/boot/env/function/DesignDatasourceComponent.java b/designer-realize/src/main/java/com/fanruan/boot/env/function/DesignDatasourceComponent.java index 688f4079e0..51994dbc04 100644 --- a/designer-realize/src/main/java/com/fanruan/boot/env/function/DesignDatasourceComponent.java +++ b/designer-realize/src/main/java/com/fanruan/boot/env/function/DesignDatasourceComponent.java @@ -43,9 +43,11 @@ import com.fr.decision.webservice.v10.datasource.dataset.processor.impl.DataSetP import com.fr.design.data.datapane.connect.LocalConnectionSource; import com.fr.design.data.tabledata.LocalTableDataSource; import com.fr.file.TableDataConfigWrapper; +import com.fr.workspace.server.repository.connection.ConnectionRepository; import com.fr.workspace.server.repository.connection.ConnectionWriterShell; import com.fr.workspace.server.repository.connection.LocalConnectionShell; import com.fr.workspace.server.repository.tabledata.LocalTableDataShell; +import com.fr.workspace.server.repository.tabledata.TableDataRepository; /** @@ -89,6 +91,8 @@ public class DesignDatasourceComponent extends DatasourceComponent { ParameterTypeHandler.getInstance().addParser(ParameterType.JSONArray.name(), new MultiParameterParser()); ParameterTypeHandler.getInstance().addParser(ParameterType.Formula.name(), new FormulaParameterParser()); ParameterTypeHandler.getInstance().addParser(ParameterType.TableColumn.name(), new TableColumnParameterParser()); + TableDataRepository.getInstance().start(); + ConnectionRepository.getInstance().start(); } private void registerDriverClassLoader() { @@ -102,7 +106,8 @@ public class DesignDatasourceComponent extends DatasourceComponent { */ @Stop public void stop() { - + ConnectionRepository.getInstance().stop(); + TableDataRepository.getInstance().stop(); } /** diff --git a/designer-realize/src/main/java/com/fanruan/boot/pre/DesignPreStartComponent.java b/designer-realize/src/main/java/com/fanruan/boot/pre/DesignPreStartComponent.java index 3ad246a9a8..7f64f751c8 100644 --- a/designer-realize/src/main/java/com/fanruan/boot/pre/DesignPreStartComponent.java +++ b/designer-realize/src/main/java/com/fanruan/boot/pre/DesignPreStartComponent.java @@ -1,12 +1,6 @@ package com.fanruan.boot.pre; import com.fanruan.boot.FSProperties; -import com.fanruan.fs.FileServer; -import com.fanruan.fs.RepositoryFactory; -import com.fanruan.fs.repository.local.LocalFileRepository; -import com.fanruan.product.ProductConstants; -import com.fr.decision.inject.node.impl.DecisionSystemInjectNode; -import com.fr.design.ConfigHelper; import com.fanruan.boot.key.StartupArgsShell; import com.fanruan.carina.Carina; import com.fanruan.carina.annotions.FineComponent; @@ -18,11 +12,17 @@ import com.fanruan.config.impl.ShareConfigProviderImpl; import com.fanruan.config.realm.ConfigRealm; import com.fanruan.config.realm.ConfigRepositoryFactory; import com.fanruan.config.realm.local.LocalConfigRepositoryBuilder; +import com.fanruan.fs.FileServer; +import com.fanruan.fs.RepositoryFactory; +import com.fanruan.fs.repository.local.LocalFileRepository; import com.fanruan.mq.CarinaMQ; import com.fanruan.mq.InternalMQProvider; +import com.fanruan.product.ProductConstants; import com.fr.base.function.UITerminator; import com.fr.carina.util.CarinaResourceUtils; import com.fr.carina.util.provider.CarinaResourceProvider; +import com.fr.decision.inject.node.impl.DecisionSystemInjectNode; +import com.fr.design.ConfigHelper; import com.fr.design.DesignerEnvManager; import com.fr.design.constants.DesignerLaunchStatus; import com.fr.design.deeplink.DeepLinkManager; @@ -47,7 +47,6 @@ import com.fr.module.engine.event.LifecycleErrorEvent; import com.fr.runtime.FineRuntime; import com.fr.stable.CommonCodeUtils; import com.fr.stable.CommonUtils; -import com.fr.stable.StableUtils; import com.fr.stable.StringUtils; import com.fr.stable.lifecycle.FineLifecycleFatalError; import com.fr.stable.project.ProjectConstants; diff --git a/designer-realize/src/main/java/com/fr/design/actions/file/newReport/NewWorkBookAction.java b/designer-realize/src/main/java/com/fr/design/actions/file/newReport/NewWorkBookAction.java index ec8e28cad6..5f41bd5f89 100644 --- a/designer-realize/src/main/java/com/fr/design/actions/file/newReport/NewWorkBookAction.java +++ b/designer-realize/src/main/java/com/fr/design/actions/file/newReport/NewWorkBookAction.java @@ -3,7 +3,6 @@ package com.fr.design.actions.file.newReport; import com.fine.theme.icon.LazyIcon; import com.fr.design.actions.UpdateAction; -import com.fr.design.cache.DesignCacheManager; import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.JWorkBook; import com.fr.design.menu.MenuKeySet; @@ -35,7 +34,7 @@ public class NewWorkBookAction extends UpdateAction { * @param e 事件 */ public void actionPerformed(ActionEvent e) { - DesignCacheManager.processByCacheTableData(() -> DesignerContext.getDesignerFrame().addAndActivateJTemplate(new JWorkBook())); + DesignerContext.getDesignerFrame().addAndActivateJTemplate(new JWorkBook()); } public static final MenuKeySet NEW_WORK_BOOK = new MenuKeySet() { From edb11bc89785f98c4f2cbbe083aa4c1d52d189d1 Mon Sep 17 00:00:00 2001 From: "Richard.Fang" Date: Thu, 17 Oct 2024 14:59:59 +0800 Subject: [PATCH 2/6] =?UTF-8?q?REPORT-137558=20&&=20REPORT-137547=20&&=20R?= =?UTF-8?q?EPORT-137533=20fix:=E5=9B=BE=E6=A0=87=E5=8F=8A=E6=B5=8F?= =?UTF-8?q?=E8=A7=88=E5=99=A8=E8=83=8C=E6=99=AF=E7=BC=96=E8=BE=91=E8=AE=BE?= =?UTF-8?q?=E8=AE=A1=E5=99=A8=E6=98=BE=E7=A4=BA=E9=97=AE=E9=A2=98=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/widget/IconDefinePane.java | 17 +++------- .../com/fr/design/webattr/EditToolBar.java | 2 +- .../com/fr/design/webattr/ToolBarButton.java | 31 ++++++++++++++++--- .../com/fr/design/webattr/ToolBarPane.java | 2 +- 4 files changed, 33 insertions(+), 19 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/widget/IconDefinePane.java b/designer-base/src/main/java/com/fr/design/widget/IconDefinePane.java index f22f1eb0a6..879b417b9e 100644 --- a/designer-base/src/main/java/com/fr/design/widget/IconDefinePane.java +++ b/designer-base/src/main/java/com/fr/design/widget/IconDefinePane.java @@ -23,6 +23,8 @@ import java.awt.event.ActionListener; import static com.fine.swing.ui.layout.Layouts.cell; import static com.fine.swing.ui.layout.Layouts.row; +import static com.fine.swing.ui.layout.Layouts.column; +import static com.fine.swing.ui.layout.Layouts.flex; public class IconDefinePane extends BasicPane { @@ -66,8 +68,9 @@ public class IconDefinePane extends BasicPane { showIconImageLable.setIcon(null); } }); - - JPanel iconButtonPane = row(LayoutConstants.HORIZONTAL_GAP, cell(this.showIconImageLable), cell(this.editIconButton), cell(this.removeIconButton)).getComponent(); + JPanel iconButtonPane = row(LayoutConstants.HORIZONTAL_GAP, cell(this.showIconImageLable), + column(flex(), row(LayoutConstants.HORIZONTAL_GAP, cell(this.editIconButton), cell(this.removeIconButton)), flex()) + ).getComponent(); iconButtonPane.setBorder(new ScaledEmptyBorder(0,0,0,0)); this.setLayout(new BorderLayout()); this.add(iconButtonPane, BorderLayout.CENTER); @@ -92,16 +95,6 @@ public class IconDefinePane extends BasicPane { setShowIconImage(); } - /** - * 直接更新icon - * @param iconName - * @param icon - */ - public void populateIcon(String iconName, Icon icon) { - this.curIconName = iconName; - showIconImageLable.setIcon(icon); - } - public String update() { return this.curIconName; } diff --git a/designer-realize/src/main/java/com/fr/design/webattr/EditToolBar.java b/designer-realize/src/main/java/com/fr/design/webattr/EditToolBar.java index 2fc42d01a5..f722725a6d 100644 --- a/designer-realize/src/main/java/com/fr/design/webattr/EditToolBar.java +++ b/designer-realize/src/main/java/com/fr/design/webattr/EditToolBar.java @@ -667,7 +667,7 @@ public class EditToolBar extends BasicPane { this.icon.setSelected(button.isShowIcon()); this.text.setSelected(button.isShowText()); this.nameField.setText(button.getText()); - this.iconPane.populateIcon(((Button) widget).getIconName(), icon); + this.iconPane.populate(((Button) widget).getIconName()); } /** diff --git a/designer-realize/src/main/java/com/fr/design/webattr/ToolBarButton.java b/designer-realize/src/main/java/com/fr/design/webattr/ToolBarButton.java index e375289d63..c1efe6397f 100644 --- a/designer-realize/src/main/java/com/fr/design/webattr/ToolBarButton.java +++ b/designer-realize/src/main/java/com/fr/design/webattr/ToolBarButton.java @@ -1,6 +1,6 @@ package com.fr.design.webattr; -import com.fine.theme.icon.LazyIcon; +import com.fine.theme.utils.FineUIScale; import com.fr.base.vcs.DesignerMode; import com.fr.design.gui.ibutton.UIButton; import com.fr.design.mainframe.DesignerContext; @@ -8,16 +8,22 @@ import com.fr.design.dialog.BasicDialog; import com.fr.design.dialog.DialogActionAdapter; import com.fr.design.gui.core.WidgetOption; import com.fr.form.ui.Widget; +import com.fr.stable.StringUtils; +import com.fr.form.ui.WidgetInfoConfig; import java.awt.Insets; import java.awt.Graphics; +import java.awt.Image; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.Icon; +import javax.swing.ImageIcon; public class ToolBarButton extends UIButton implements MouseListener { private Widget widget; private WidgetOption no; + private final int ICON_WIDTH = FineUIScale.scale(16); + private final int ICON_HEIGHT = FineUIScale.scale(16); public ToolBarButton(Icon icon, Widget widget) { this(null, icon, widget); @@ -30,15 +36,30 @@ public class ToolBarButton extends UIButton implements MouseListener { public ToolBarButton(String text, Icon icon, Widget widget) { super(text, icon); this.widget = widget; - //直接设置Icon图标 - setIcon(icon); - if (icon instanceof LazyIcon) { - setDisabledIcon(((LazyIcon) icon).disabled()); + if (widget instanceof com.fr.form.ui.Button) { + com.fr.form.ui.Button button = (com.fr.form.ui.Button) widget; + String iconName = button.getIconName(); + if (StringUtils.isNotEmpty(iconName)) { + Image iimage = WidgetInfoConfig.getInstance().getIconManager().getIconImage(iconName); + if (iimage != null) { + setIcon(new ImageIcon(iimage)); + } + } } this.addMouseListener(this); setMargin(new Insets(0, 0, 0, 0)); } + @Override + public void setIcon(Icon icon) { + if (icon instanceof ImageIcon) { + //自定义上传的图标在设计器工具栏显示需要按照16*16进行缩放 + Image originalImage = ((ImageIcon) icon).getImage(); + Image scaledImage = originalImage.getScaledInstance(ICON_WIDTH, ICON_HEIGHT, Image.SCALE_SMOOTH); + icon = new ImageIcon(scaledImage); + } + super.setIcon(icon); + } /** * 改变按钮的权限细粒度状态 diff --git a/designer-realize/src/main/java/com/fr/design/webattr/ToolBarPane.java b/designer-realize/src/main/java/com/fr/design/webattr/ToolBarPane.java index ef228699f6..bb05139af8 100644 --- a/designer-realize/src/main/java/com/fr/design/webattr/ToolBarPane.java +++ b/designer-realize/src/main/java/com/fr/design/webattr/ToolBarPane.java @@ -154,7 +154,7 @@ public class ToolBarPane extends BasicBeanPane { this.validate(); this.repaint(); } -// this.getFToolBar().setBackground(toolbar.getBackground()); + this.getFToolBar().setBackground(toolbar.getBackground()); this.getFToolBar().setDefault(toolbar.isDefault()); this.getFToolBar().setButtonBgColorMode(toolbar.getButtonBgColorMode()); setPopulateFinished(true); From addee654a5e0dc8d2e8c7a86c01b95266f854934 Mon Sep 17 00:00:00 2001 From: "Destiny.Lin" Date: Thu, 17 Oct 2024 15:11:34 +0800 Subject: [PATCH 3/6] =?UTF-8?q?REPORT-137327=20-=20=E8=BF=9C=E7=A8=8B?= =?UTF-8?q?=E8=AE=BE=E8=AE=A1=E4=B8=8B=E5=88=87=E6=8D=A2=E7=9B=AE=E5=BD=95?= =?UTF-8?q?=E5=8D=A1=E9=A1=BF=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fanruan/boot/env/function/app/DesignAppComponent.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/designer-realize/src/main/java/com/fanruan/boot/env/function/app/DesignAppComponent.java b/designer-realize/src/main/java/com/fanruan/boot/env/function/app/DesignAppComponent.java index 55ceb2de9d..377279149c 100644 --- a/designer-realize/src/main/java/com/fanruan/boot/env/function/app/DesignAppComponent.java +++ b/designer-realize/src/main/java/com/fanruan/boot/env/function/app/DesignAppComponent.java @@ -10,6 +10,7 @@ import com.fr.design.mainframe.App; import com.fr.design.mainframe.AppGroup; import com.fr.design.mainframe.JTemplateFactory; import com.fr.nx.app.designer.CptxApp; +import com.fr.workspace.server.repository.authority.RemoteAuthorityRepository; import java.util.ArrayList; import java.util.List; @@ -36,6 +37,7 @@ public class DesignAppComponent { JTemplateFactory.register(app); } PluginRemote.getInstance().start(); + RemoteAuthorityRepository.getInstance().start(); } /** @@ -43,7 +45,7 @@ public class DesignAppComponent { */ @Stop public void stop() { - + RemoteAuthorityRepository.getInstance().stop(); List appList = new ArrayList<>(Carina.getApplicationContext().group(AppGroup.class).getAll()); for (App app : appList) { JTemplateFactory.remove(app); From 72dad56e8e64d84d80b3a331d3338d763f597d32 Mon Sep 17 00:00:00 2001 From: "Destiny.Lin" Date: Thu, 17 Oct 2024 17:12:29 +0800 Subject: [PATCH 4/6] =?UTF-8?q?REPORT-137327=20-=20=E8=BF=9C=E7=A8=8B?= =?UTF-8?q?=E8=AE=BE=E8=AE=A1=E4=B8=8B=E5=88=87=E6=8D=A2=E7=9B=AE=E5=BD=95?= =?UTF-8?q?=E5=8D=A1=E9=A1=BF=E4=BC=98=E5=8C=96=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E7=BC=93=E5=AD=98=E6=9C=BA=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../boot/env/function/DesignDatasourceComponent.java | 8 ++++---- .../fanruan/boot/env/function/app/DesignAppComponent.java | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/designer-realize/src/main/java/com/fanruan/boot/env/function/DesignDatasourceComponent.java b/designer-realize/src/main/java/com/fanruan/boot/env/function/DesignDatasourceComponent.java index 51994dbc04..a28337a0ae 100644 --- a/designer-realize/src/main/java/com/fanruan/boot/env/function/DesignDatasourceComponent.java +++ b/designer-realize/src/main/java/com/fanruan/boot/env/function/DesignDatasourceComponent.java @@ -91,8 +91,8 @@ public class DesignDatasourceComponent extends DatasourceComponent { ParameterTypeHandler.getInstance().addParser(ParameterType.JSONArray.name(), new MultiParameterParser()); ParameterTypeHandler.getInstance().addParser(ParameterType.Formula.name(), new FormulaParameterParser()); ParameterTypeHandler.getInstance().addParser(ParameterType.TableColumn.name(), new TableColumnParameterParser()); - TableDataRepository.getInstance().start(); - ConnectionRepository.getInstance().start(); + TableDataRepository.getInstance().startUseCache(); + ConnectionRepository.getInstance().startUseCache(); } private void registerDriverClassLoader() { @@ -106,8 +106,8 @@ public class DesignDatasourceComponent extends DatasourceComponent { */ @Stop public void stop() { - ConnectionRepository.getInstance().stop(); - TableDataRepository.getInstance().stop(); + ConnectionRepository.getInstance().stopUseCache(); + TableDataRepository.getInstance().stopUseCache(); } /** diff --git a/designer-realize/src/main/java/com/fanruan/boot/env/function/app/DesignAppComponent.java b/designer-realize/src/main/java/com/fanruan/boot/env/function/app/DesignAppComponent.java index 377279149c..ffc779636f 100644 --- a/designer-realize/src/main/java/com/fanruan/boot/env/function/app/DesignAppComponent.java +++ b/designer-realize/src/main/java/com/fanruan/boot/env/function/app/DesignAppComponent.java @@ -37,7 +37,7 @@ public class DesignAppComponent { JTemplateFactory.register(app); } PluginRemote.getInstance().start(); - RemoteAuthorityRepository.getInstance().start(); + RemoteAuthorityRepository.getInstance().startUseCache(); } /** @@ -45,7 +45,7 @@ public class DesignAppComponent { */ @Stop public void stop() { - RemoteAuthorityRepository.getInstance().stop(); + RemoteAuthorityRepository.getInstance().stopUseCache(); List appList = new ArrayList<>(Carina.getApplicationContext().group(AppGroup.class).getAll()); for (App app : appList) { JTemplateFactory.remove(app); From 3b7def91a0b5c8be1fb85948f0b5e1284524fb2c Mon Sep 17 00:00:00 2001 From: "Destiny.Lin" Date: Fri, 18 Oct 2024 09:58:45 +0800 Subject: [PATCH 5/6] =?UTF-8?q?REPORT-137327=20-=20=E8=BF=9C=E7=A8=8B?= =?UTF-8?q?=E8=AE=BE=E8=AE=A1=E4=B8=8B=E5=88=87=E6=8D=A2=E7=9B=AE=E5=BD=95?= =?UTF-8?q?=E5=8D=A1=E9=A1=BF=E4=BC=98=E5=8C=96=20=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E5=90=AF=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../boot/env/function/DesignDatasourceComponent.java | 6 ++---- .../fanruan/boot/env/function/app/DesignAppComponent.java | 3 +-- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/designer-realize/src/main/java/com/fanruan/boot/env/function/DesignDatasourceComponent.java b/designer-realize/src/main/java/com/fanruan/boot/env/function/DesignDatasourceComponent.java index a28337a0ae..ce2e398b2e 100644 --- a/designer-realize/src/main/java/com/fanruan/boot/env/function/DesignDatasourceComponent.java +++ b/designer-realize/src/main/java/com/fanruan/boot/env/function/DesignDatasourceComponent.java @@ -91,8 +91,6 @@ public class DesignDatasourceComponent extends DatasourceComponent { ParameterTypeHandler.getInstance().addParser(ParameterType.JSONArray.name(), new MultiParameterParser()); ParameterTypeHandler.getInstance().addParser(ParameterType.Formula.name(), new FormulaParameterParser()); ParameterTypeHandler.getInstance().addParser(ParameterType.TableColumn.name(), new TableColumnParameterParser()); - TableDataRepository.getInstance().startUseCache(); - ConnectionRepository.getInstance().startUseCache(); } private void registerDriverClassLoader() { @@ -106,8 +104,8 @@ public class DesignDatasourceComponent extends DatasourceComponent { */ @Stop public void stop() { - ConnectionRepository.getInstance().stopUseCache(); - TableDataRepository.getInstance().stopUseCache(); + ConnectionRepository.getInstance().invalidCache(); + TableDataRepository.getInstance().invalidCache(); } /** diff --git a/designer-realize/src/main/java/com/fanruan/boot/env/function/app/DesignAppComponent.java b/designer-realize/src/main/java/com/fanruan/boot/env/function/app/DesignAppComponent.java index ffc779636f..aec58e3e81 100644 --- a/designer-realize/src/main/java/com/fanruan/boot/env/function/app/DesignAppComponent.java +++ b/designer-realize/src/main/java/com/fanruan/boot/env/function/app/DesignAppComponent.java @@ -37,7 +37,6 @@ public class DesignAppComponent { JTemplateFactory.register(app); } PluginRemote.getInstance().start(); - RemoteAuthorityRepository.getInstance().startUseCache(); } /** @@ -45,7 +44,7 @@ public class DesignAppComponent { */ @Stop public void stop() { - RemoteAuthorityRepository.getInstance().stopUseCache(); + RemoteAuthorityRepository.getInstance().invalidCache(); List appList = new ArrayList<>(Carina.getApplicationContext().group(AppGroup.class).getAll()); for (App app : appList) { JTemplateFactory.remove(app); From 96e76398e18e455e003f53e8eba1d4903eeae8f3 Mon Sep 17 00:00:00 2001 From: "Destiny.Lin" Date: Fri, 18 Oct 2024 13:57:29 +0800 Subject: [PATCH 6/6] =?UTF-8?q?REPORT-137866=20=E3=80=90fr-fbp=E5=86=92?= =?UTF-8?q?=E7=83=9F=E3=80=91=E3=80=90=E6=95=B0=E6=8D=AE=E6=BA=90=E3=80=91?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E8=BF=9E=E6=8E=A5-ssh=E8=AE=BE=E7=BD=AE-?= =?UTF-8?q?=E5=85=AC=E9=92=A5=E8=AE=A4=E8=AF=81=EF=BC=8C=E8=AF=BB=E4=B8=8D?= =?UTF-8?q?=E5=88=B0=E7=A7=81=E9=92=A5=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/fr/design/data/datapane/connect/SshPane.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/connect/SshPane.java b/designer-base/src/main/java/com/fr/design/data/datapane/connect/SshPane.java index 4c672479ae..1d31b1a5ab 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/connect/SshPane.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/connect/SshPane.java @@ -97,7 +97,7 @@ public class SshPane extends BasicPane { type.addActionListener(e -> changePaneForType()); fileChooserButton.addActionListener(e -> { - FILEChooserPane fileChooser = FILEChooserPane.getInstanceWithDesignatePath(SslUtils.PREFIX, new ChooseFileFilter(true), SslUtils.CERTIFICATES); + FILEChooserPane fileChooser = FILEChooserPane.getFileCAChoosePane(new ChooseFileFilter(true)); int type = fileChooser.showOpenDialog(SshPane.this, StringUtils.EMPTY); if (type == FILEChooserPane.OK_OPTION) { final FILE file = fileChooser.getSelectedFILE();