From 254b7ce2226fbfa38806deb166a2317296112fb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvan-=E6=AC=A7=E9=98=B3=E5=B8=86?= Date: Wed, 8 Feb 2023 10:13:14 +0800 Subject: [PATCH 1/8] =?UTF-8?q?REPORT-89260=20&&=20REPORT-83847=20?= =?UTF-8?q?=E8=BF=9C=E7=A8=8B=E8=AE=BE=E8=AE=A1=E4=B8=8B=E5=8D=A1=E9=A1=BF?= =?UTF-8?q?=E4=BB=A5=E5=8F=8A=E8=A7=84=E5=88=99=E5=BC=82=E5=B8=B8=20?= =?UTF-8?q?=E3=80=90=E9=97=AE=E9=A2=98=E5=8E=9F=E5=9B=A0=E3=80=91=E5=8D=A1?= =?UTF-8?q?=E9=A1=BF=E6=98=AF=E5=9B=A0=E4=B8=BA=E6=9F=A5=E8=AF=A2=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=BA=93=E7=9A=84=E6=93=8D=E4=BD=9C=E6=94=BE=E5=9C=A8?= =?UTF-8?q?=E4=BA=86UI=E7=BA=BF=E7=A8=8B=E9=87=8C=EF=BC=9B=E8=A7=84?= =?UTF-8?q?=E5=88=99=E5=BC=82=E5=B8=B8=E6=98=AF=E5=9B=A0=E4=B8=BA=E8=A7=84?= =?UTF-8?q?=E5=88=99=E7=AE=A1=E7=90=86=E5=99=A8DesensitizationRuleManager?= =?UTF-8?q?=E4=B8=AD=E7=9A=84=E8=A7=84=E5=88=99=E7=BC=93=E5=AD=98=E5=AF=B9?= =?UTF-8?q?=E7=8E=AF=E5=A2=83=E5=88=87=E6=8D=A2=E6=97=B6=E7=9A=84=E7=9B=91?= =?UTF-8?q?=E5=90=AC=E5=86=99=E7=9A=84=E6=9C=89=E7=82=B9=E9=97=AE=E9=A2=98?= =?UTF-8?q?=20=E3=80=90=E6=94=B9=E5=8A=A8=E6=80=9D=E8=B7=AF=E3=80=91?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=8D=A1=E9=A1=BF=E9=97=AE=E9=A2=98=E6=98=AF?= =?UTF-8?q?=E5=8A=A0SwingWorker=EF=BC=9B=E8=A7=84=E5=88=99=E5=BC=82?= =?UTF-8?q?=E5=B8=B8=E8=BF=99=E4=B8=AA=EF=BC=8C=E6=83=B3=E4=BA=86=E4=B8=8B?= =?UTF-8?q?DesensitizationRuleManager=E4=B8=AD=E7=9A=84=E8=A7=84=E5=88=99?= =?UTF-8?q?=E7=BC=93=E5=AD=98=E6=AD=A4=E5=89=8D=E5=8F=AA=E9=92=88=E5=AF=B9?= =?UTF-8?q?=E4=BA=86=E6=9C=AC=E5=9C=B0=E8=A7=84=E5=88=99=E5=8F=98=E5=8C=96?= =?UTF-8?q?=E3=80=81=E8=BF=9C=E7=A8=8B=E7=8E=AF=E5=A2=83=E5=88=87=E6=8D=A2?= =?UTF-8?q?=EF=BC=8C=E4=BD=86=E6=98=AF=E6=B2=A1=E9=92=88=E5=AF=B9=E8=BF=9C?= =?UTF-8?q?=E7=A8=8B=E4=B8=8B=E7=9A=84=E8=A7=84=E5=88=99=E5=8F=98=E5=8C=96?= =?UTF-8?q?=EF=BC=8C=E8=80=8C=E4=B8=94=E5=A5=BD=E5=83=8F=E6=B2=A1=E6=9C=89?= =?UTF-8?q?=E5=A4=AA=E5=A5=BD=E7=9A=84=E6=80=9D=E8=B7=AF=E3=80=82=E7=8E=B0?= =?UTF-8?q?=E5=9C=A8=E7=9A=84=E5=81=9A=E6=B3=95=E6=98=AF=E7=9B=B4=E6=8E=A5?= =?UTF-8?q?=E5=8E=BB=E6=8E=89=E8=A7=84=E5=88=99=E7=BC=93=E5=AD=98=EF=BC=8C?= =?UTF-8?q?=E7=9B=B4=E6=8E=A5=E6=9F=A5=E6=95=B0=E6=8D=AE=E5=BA=93=EF=BC=8C?= =?UTF-8?q?=E5=A5=97=E7=94=A8Config=E6=A1=86=E6=9E=B6=E7=9A=84=E7=BC=93?= =?UTF-8?q?=E5=AD=98=20=E3=80=90review=E5=BB=BA=E8=AE=AE=E3=80=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TableDataPreviewDesensitizeManager.java | 12 ++- .../TableDataDesensitizationTableModel.java | 89 +++++++++---------- 2 files changed, 54 insertions(+), 47 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/TableDataPreviewDesensitizeManager.java b/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/TableDataPreviewDesensitizeManager.java index 1fbed9f437..5c2b42c257 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/TableDataPreviewDesensitizeManager.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/TableDataPreviewDesensitizeManager.java @@ -2,6 +2,7 @@ package com.fr.design.data.datapane.preview.desensitization; import com.fr.base.TableData; +import com.fr.data.TableDataSource; import com.fr.data.desensitize.TableDataDesensitizeManager; import com.fr.data.desensitize.base.DesensitizationTableData; import com.fr.data.desensitize.base.TableDataDesensitizationItem; @@ -15,11 +16,14 @@ import com.fr.decision.webservice.v10.user.PositionService; import com.fr.design.data.DesignTableDataManager; import com.fr.design.data.datapane.preview.PreviewTableModel; import com.fr.design.data.datapane.preview.desensitization.model.DesensitizedPreviewTableModel; +import com.fr.esd.query.StrategicTableData; import com.fr.general.ComparatorUtils; import com.fr.log.FineLoggerFactory; import com.fr.stable.StringUtils; +import java.util.Arrays; import java.util.Collection; +import java.util.Collections; import java.util.Comparator; import java.util.LinkedHashMap; import java.util.List; @@ -107,13 +111,17 @@ public class TableDataPreviewDesensitizeManager implements DesensitizationManage } /** - * 通过TableData获取其列名 + * 通过TableData获取其列名,理论上一定存在缓存值 * * @param tableData * @return */ public List getColumnNamesByTableData(TableData tableData) { - return DesignTableDataManager.getColumnNamesByTableData(tableData); + TableDataSource editingTableDataSource = DesignTableDataManager.getEditingTableDataSource(); + if (editingTableDataSource != null && tableData instanceof StrategicTableData) { + return Arrays.asList(DesignTableDataManager.getSelectedColumnNames(editingTableDataSource, ((StrategicTableData) tableData).getDsName())); + } + return Collections.EMPTY_LIST; } /** diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/setting/TableDataDesensitizationTableModel.java b/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/setting/TableDataDesensitizationTableModel.java index c1d958bf9f..375f280bdf 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/setting/TableDataDesensitizationTableModel.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/setting/TableDataDesensitizationTableModel.java @@ -9,7 +9,6 @@ import com.fr.design.data.datapane.preview.desensitization.TableDataPreviewDesen import com.fr.design.data.datapane.preview.desensitization.view.rule.DesensitizationRulePane; import com.fr.design.dialog.BasicDialog; import com.fr.design.dialog.DialogActionAdapter; -import com.fr.design.dialog.FineJOptionPane; import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.icombobox.UIComboBox; import com.fr.design.gui.icombocheckbox.UIComboCheckBox; @@ -21,6 +20,7 @@ import com.fr.design.i18n.Toolkit; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayoutHelper; +import com.fr.log.FineLoggerFactory; import com.fr.stable.StringUtils; import org.jetbrains.annotations.Nullable; @@ -29,6 +29,7 @@ import javax.swing.JComponent; import javax.swing.JPanel; import javax.swing.JTable; import javax.swing.SwingUtilities; +import javax.swing.SwingWorker; import javax.swing.event.CellEditorListener; import javax.swing.event.ChangeEvent; import javax.swing.table.TableCellEditor; @@ -38,9 +39,11 @@ import java.awt.Color; import java.awt.Component; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.Iterator; +import java.util.LinkedHashMap; import java.util.LinkedHashSet; import java.util.List; import java.util.Map; @@ -61,17 +64,15 @@ public class TableDataDesensitizationTableModel extends UITableModelAdapter columnNames; + private List columnNames = new ArrayList<>(); /** * key为用户组唯一标识(id拼接),value为用户组名称 */ - private Map roleMap; + private final Map roleMap = new LinkedHashMap<>(); private Component parent; @@ -84,12 +85,6 @@ public class TableDataDesensitizationTableModel extends UITableModelAdapter() { + + @Override + protected Void doInBackground() throws Exception { + // 获取当前数据集的所有列名 + columnNames.addAll(TableDataPreviewDesensitizeManager.getInstance().getColumnNamesByTableData(tableData)); + // 获取当前所有用户组 + roleMap.putAll(TableDataPreviewDesensitizeManager.getInstance().getAllRoles()); + return null; + } + + @Override + protected void done() { + try { + // 更新列名选择框和生效用户组选择框 + columnNamesComboBox.refresh(); + effectedRolesChooser.refresh(); + } catch (Exception e) { + FineLoggerFactory.getLogger().error(e, "[Desensitization] get column names or all roles failed for {}", e.getMessage()); + } + } + }.execute(); + } @Override @@ -210,6 +231,10 @@ public class TableDataDesensitizationTableModel extends UITableModelAdapter Date: Wed, 8 Feb 2023 10:17:28 +0800 Subject: [PATCH 2/8] =?UTF-8?q?REPORT-89260=20&&=20REPORT-83847=20?= =?UTF-8?q?=E8=BF=9C=E7=A8=8B=E8=AE=BE=E8=AE=A1=E4=B8=8B=E5=8D=A1=E9=A1=BF?= =?UTF-8?q?=E4=BB=A5=E5=8F=8A=E8=A7=84=E5=88=99=E5=BC=82=E5=B8=B8=20?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E8=B4=A8=E9=87=8F=E9=97=AE=E9=A2=98=EF=BC=8C?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../view/setting/TableDataDesensitizationTableModel.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/setting/TableDataDesensitizationTableModel.java b/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/setting/TableDataDesensitizationTableModel.java index 375f280bdf..e70f5e2cea 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/setting/TableDataDesensitizationTableModel.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/setting/TableDataDesensitizationTableModel.java @@ -231,6 +231,9 @@ public class TableDataDesensitizationTableModel extends UITableModelAdapter Date: Thu, 9 Feb 2023 11:14:18 +0800 Subject: [PATCH 3/8] =?UTF-8?q?REPORT-89249=20fix:=20=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E5=90=AF=E5=8A=A8FineAnalyzer=E9=9C=80=E8=A6=81?= =?UTF-8?q?=E6=B3=A8=E5=85=A5Instrumentation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/record/analyzer/DesignerAnalyzerActivator.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/designer-base/src/main/java/com/fr/design/record/analyzer/DesignerAnalyzerActivator.java b/designer-base/src/main/java/com/fr/design/record/analyzer/DesignerAnalyzerActivator.java index 8a23e6fe0e..087a656ba6 100644 --- a/designer-base/src/main/java/com/fr/design/record/analyzer/DesignerAnalyzerActivator.java +++ b/designer-base/src/main/java/com/fr/design/record/analyzer/DesignerAnalyzerActivator.java @@ -18,6 +18,7 @@ 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.module.Activator; import com.fr.module.extension.Prepare; import com.fr.record.analyzer.AnalyzerConfiguration; @@ -57,7 +58,7 @@ public class DesignerAnalyzerActivator extends Activator implements Prepare { List backwardsConfigurations = findMutableBackwards(AnalyzerKey.KEY); if (!CollectionUtils.isEmpty(backwardsConfigurations)) { // 直接初始化,不添加默认值,防止和下面的冲突 - FineAnalyzer.initDirectly(basicFactory, backwardsConfigurations.toArray(new AnalyzerConfiguration[0])); + FineAnalyzer.initDirectly(FineAssist.findInstrumentation(), basicFactory, backwardsConfigurations.toArray(new AnalyzerConfiguration[0])); } // 等页面完全打开后,再进行 retransform, 别影响了启动速度 From 76a26bb37f8efdc2970cd2f8794ddf7537984207 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvan-=E6=AC=A7=E9=98=B3=E5=B8=86?= Date: Thu, 9 Feb 2023 15:55:39 +0800 Subject: [PATCH 4/8] =?UTF-8?q?REPORT-80693=20=E6=95=B0=E6=8D=AE=E8=84=B1?= =?UTF-8?q?=E6=95=8F=E8=BF=9C=E7=A8=8B=E8=AE=BE=E8=AE=A1=E4=B8=8B=E7=9A=84?= =?UTF-8?q?=E6=80=A7=E8=83=BD=E9=97=AE=E9=A2=98=20=E3=80=90=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E5=8E=9F=E5=9B=A0=E3=80=91rt=20=E3=80=90=E6=94=B9?= =?UTF-8?q?=E5=8A=A8=E6=80=9D=E8=B7=AF=E3=80=91=E5=86=8D=E6=94=B9=E4=B8=80?= =?UTF-8?q?=E7=89=88=E8=BF=9C=E7=A8=8B=E4=B8=8B=E7=9A=84=E6=80=A7=E8=83=BD?= =?UTF-8?q?=E9=97=AE=E9=A2=98=201.=20=E4=B9=8B=E5=89=8D=E7=9A=84SwingWorke?= =?UTF-8?q?r=E6=8F=90=E5=89=8D=E5=88=B0=E7=88=B6=E5=AE=B9=E5=99=A8?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=EF=BC=8C=E5=8F=AA=E6=9F=A5=E8=AF=A2=E4=B8=80?= =?UTF-8?q?=E6=AC=A1=E6=95=B0=E6=8D=AE=E5=BA=93=EF=BC=8C=E6=AD=A4=E5=90=8E?= =?UTF-8?q?=E9=9D=A2=E6=9D=BF=E4=B8=8E=E5=AD=90=E9=9D=A2=E6=9D=BF=E5=9D=87?= =?UTF-8?q?=E5=A4=8D=E7=94=A8=202.=20=E5=A2=9E=E5=8A=A0Loading=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=EF=BC=8C=E9=81=BF=E5=85=8D=E5=8D=A1UI=E7=9A=84?= =?UTF-8?q?=E8=AF=AF=E4=BC=9A=203.=20=E4=BF=AE=E6=94=B9=E8=A7=84=E5=88=99?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=99=A8DesensitizationRuleManager=E4=B8=AD?= =?UTF-8?q?=E7=9A=84=E6=8E=A5=E5=8F=A3=E6=96=B9=E6=B3=95=EF=BC=8C=E5=80=92?= =?UTF-8?q?=E9=80=BC=E8=B0=83=E7=94=A8=E8=80=85=E4=BD=BF=E7=94=A8=E4=B8=80?= =?UTF-8?q?=E6=AC=A1=E6=80=A7=E7=9A=84=E6=9F=A5=E8=AF=A2=EF=BC=9B=E4=BB=A5?= =?UTF-8?q?=E5=8F=8A=E7=9B=B8=E5=BA=94=E8=B0=83=E7=94=A8=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E6=96=B9=E6=B3=95=E9=80=82=E9=85=8D=20=E3=80=90review=E5=BB=BA?= =?UTF-8?q?=E8=AE=AE=E3=80=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rule/DesensitizationRuleChoosePane.java | 14 ++- .../view/rule/DesensitizationRulePane.java | 11 ++- .../TableDataDesensitizationTableModel.java | 76 +++++---------- .../TableDataDesensitizationTablePane.java | 97 +++++++++++++++++-- 4 files changed, 134 insertions(+), 64 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/rule/DesensitizationRuleChoosePane.java b/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/rule/DesensitizationRuleChoosePane.java index 3b44c0b187..e1dc9d7226 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/rule/DesensitizationRuleChoosePane.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/rule/DesensitizationRuleChoosePane.java @@ -28,6 +28,7 @@ import java.awt.Component; import java.awt.event.ActionEvent; import java.util.LinkedHashSet; import java.util.List; +import java.util.Map; import java.util.Set; import java.util.stream.Collectors; @@ -48,7 +49,10 @@ public class DesensitizationRuleChoosePane extends JPanel { private DesensitizationRuleSource currentRuleSource; - public DesensitizationRuleChoosePane() { + private Map> lastedRules; + + public DesensitizationRuleChoosePane(Map> lastedRules) { + this.lastedRules = lastedRules; this.cardLayout = new CardLayout(); this.setLayout(cardLayout); serverRuleEditPane = new UITableEditorPane<>(new DesensitizationRuleChooseTableModel(this, true)); @@ -76,8 +80,8 @@ public class DesensitizationRuleChoosePane extends JPanel { * 展示当前规则 */ private void populateDesensitizationRules() { - serverRuleEditPane.populate(DesensitizationRuleManager.getInstance().getRules(DesensitizationRuleSource.SERVER)); - customRuleEditPane.populate(DesensitizationRuleManager.getInstance().getRules(DesensitizationRuleSource.CUSTOM)); + serverRuleEditPane.populate(lastedRules.get(DesensitizationRuleSource.SERVER).values().toArray(new DesensitizationRule[0])); + customRuleEditPane.populate(lastedRules.get(DesensitizationRuleSource.CUSTOM).values().toArray(new DesensitizationRule[0])); } /** @@ -143,7 +147,7 @@ public class DesensitizationRuleChoosePane extends JPanel { return DesensitizationRule.getDescription(rule); case 3: // 脱敏规则状态 - DesensitizationRuleStatus ruleStatus = DesensitizationRuleManager.getInstance().getRuleStatus(rule); + DesensitizationRuleStatus ruleStatus = DesensitizationRuleManager.getInstance().getRuleStatus(rule, lastedRules); // 非正常状态需要标记为异常 return ruleStatus == DesensitizationRuleStatus.NORMAL ? StringUtils.EMPTY : Toolkit.i18nText("Fine-Design_Report_Desensitization_Rule_Status_Abnormal"); default: @@ -192,7 +196,7 @@ public class DesensitizationRuleChoosePane extends JPanel { * @param rule */ public void refreshRuleStatus(DesensitizationRule rule) { - DesensitizationRuleStatus ruleStatus = DesensitizationRuleManager.getInstance().getRuleStatus(rule); + DesensitizationRuleStatus ruleStatus = DesensitizationRuleManager.getInstance().getRuleStatus(rule, lastedRules); if (ruleStatus == DesensitizationRuleStatus.NORMAL) { // 正常规则时,重置提示Label this.ruleStatusLabel.setText(StringUtils.EMPTY); diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/rule/DesensitizationRulePane.java b/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/rule/DesensitizationRulePane.java index 715c408192..b26b288f0a 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/rule/DesensitizationRulePane.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/rule/DesensitizationRulePane.java @@ -9,6 +9,7 @@ import com.fr.design.layout.FRGUIPaneFactory; import javax.swing.JPanel; import java.awt.BorderLayout; +import java.util.Map; /** * 脱敏规则展示页 @@ -29,13 +30,19 @@ public class DesensitizationRulePane extends BasicBeanPane */ private DesensitizationRuleChoosePane ruleChoosePane; + /** + * 最新的所有规则 + */ + private Map> lastedRules; + /** * 内容面板 */ private JPanel contentPane; - public DesensitizationRulePane() { + public DesensitizationRulePane(Map> lastedRules) { this.setLayout(FRGUIPaneFactory.createBorderLayout()); + this.lastedRules = lastedRules; initPane(); } @@ -47,7 +54,7 @@ public class DesensitizationRulePane extends BasicBeanPane // 规则来源选择Pane ruleSourceChoosePane = new DesensitizationRuleSourceChoosePane(this); // 规则选择Pane - ruleChoosePane = new DesensitizationRuleChoosePane(); + ruleChoosePane = new DesensitizationRuleChoosePane(lastedRules); contentPane.add(ruleSourceChoosePane, BorderLayout.NORTH); contentPane.add(ruleChoosePane, BorderLayout.CENTER); } diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/setting/TableDataDesensitizationTableModel.java b/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/setting/TableDataDesensitizationTableModel.java index e70f5e2cea..595fa4b8a8 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/setting/TableDataDesensitizationTableModel.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/setting/TableDataDesensitizationTableModel.java @@ -4,8 +4,8 @@ import com.fr.data.desensitize.base.DesensitizationTableData; import com.fr.data.desensitize.base.TableDataDesensitizationItem; import com.fr.data.desensitize.rule.DesensitizationRuleManager; import com.fr.data.desensitize.rule.base.DesensitizationRule; +import com.fr.data.desensitize.rule.base.DesensitizationRuleSource; import com.fr.data.desensitize.rule.base.DesensitizationRuleStatus; -import com.fr.design.data.datapane.preview.desensitization.TableDataPreviewDesensitizeManager; import com.fr.design.data.datapane.preview.desensitization.view.rule.DesensitizationRulePane; import com.fr.design.dialog.BasicDialog; import com.fr.design.dialog.DialogActionAdapter; @@ -20,7 +20,6 @@ import com.fr.design.i18n.Toolkit; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayoutHelper; -import com.fr.log.FineLoggerFactory; import com.fr.stable.StringUtils; import org.jetbrains.annotations.Nullable; @@ -29,7 +28,6 @@ import javax.swing.JComponent; import javax.swing.JPanel; import javax.swing.JTable; import javax.swing.SwingUtilities; -import javax.swing.SwingWorker; import javax.swing.event.CellEditorListener; import javax.swing.event.ChangeEvent; import javax.swing.table.TableCellEditor; @@ -72,11 +70,16 @@ public class TableDataDesensitizationTableModel extends UITableModelAdapter roleMap = new LinkedHashMap<>(); + private Map roleMap = new LinkedHashMap<>(); + + /** + * 当前最新的所有规则 + */ + private Map> lastedRules = new LinkedHashMap<>(); private Component parent; - public TableDataDesensitizationTableModel(DesensitizationTableData tableData, Component parent) { + public TableDataDesensitizationTableModel(DesensitizationTableData tableData, Component parent, List columnNames, Map roleMap, Map> lastedRules) { // table相关 super(new String[]{ Toolkit.i18nText("Fine-Design_Report_Desensitization_Column"), @@ -86,6 +89,17 @@ public class TableDataDesensitizationTableModel extends UITableModelAdapter() { - - @Override - protected Void doInBackground() throws Exception { - // 获取当前数据集的所有列名 - columnNames.addAll(TableDataPreviewDesensitizeManager.getInstance().getColumnNamesByTableData(tableData)); - // 获取当前所有用户组 - roleMap.putAll(TableDataPreviewDesensitizeManager.getInstance().getAllRoles()); - return null; - } - - @Override - protected void done() { - try { - // 更新列名选择框和生效用户组选择框 - columnNamesComboBox.refresh(); - effectedRolesChooser.refresh(); - } catch (Exception e) { - FineLoggerFactory.getLogger().error(e, "[Desensitization] get column names or all roles failed for {}", e.getMessage()); - } - } - }.execute(); - } @Override @@ -231,14 +220,6 @@ public class TableDataDesensitizationTableModel extends UITableModelAdapter iterator = items.iterator(); while (iterator.hasNext()) { TableDataDesensitizationItem item = iterator.next(); - DesensitizationRuleStatus ruleStatus = DesensitizationRuleManager.getInstance().getRuleStatus(item.getRule()); + DesensitizationRuleStatus ruleStatus = DesensitizationRuleManager.getInstance().getRuleStatus(item.getRule(), lastedRules); if (ruleStatus == DesensitizationRuleStatus.REMOVED) { // 规则被移除,则删除整条脱敏Item iterator.remove(); } else { // 规则被修改、禁用等,更新一下规则 - item.setRule(DesensitizationRuleManager.getInstance().getLastedDesentizationRule(item.getRule())); + item.setRule(DesensitizationRuleManager.getInstance().getLastedDesentizationRule(item.getRule(), lastedRules)); } } fireTableDataChanged(); diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/setting/TableDataDesensitizationTablePane.java b/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/setting/TableDataDesensitizationTablePane.java index e6395fe8b5..9ef6a7a2ff 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/setting/TableDataDesensitizationTablePane.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/setting/TableDataDesensitizationTablePane.java @@ -2,13 +2,25 @@ package com.fr.design.data.datapane.preview.desensitization.view.setting; import com.fr.data.desensitize.base.DesensitizationTableData; import com.fr.data.desensitize.base.TableDataDesensitizationItem; +import com.fr.data.desensitize.rule.DesensitizationRuleManager; +import com.fr.data.desensitize.rule.base.DesensitizationRule; +import com.fr.data.desensitize.rule.base.DesensitizationRuleSource; +import com.fr.design.data.datapane.preview.desensitization.TableDataPreviewDesensitizeManager; +import com.fr.design.data.tabledata.tabledatapane.loading.TipsPane; import com.fr.design.gui.itableeditorpane.UITableEditorPane; import com.fr.design.layout.FRGUIPaneFactory; +import com.fr.log.FineLoggerFactory; import javax.swing.JPanel; +import javax.swing.SwingWorker; import java.awt.BorderLayout; +import java.awt.CardLayout; import java.awt.Component; +import java.util.ArrayList; +import java.util.LinkedHashMap; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * 脱敏字段设置页面中的Table @@ -34,6 +46,15 @@ public class TableDataDesensitizationTablePane extends JPanel { */ private UITableEditorPane editorPane; + private static final String LOADING_PANE = "loading"; + private static final String CONTENT_PANE = "content"; + + private CardLayout card; + + private JPanel loadingPane; + + private JPanel contentPane; + public TableDataDesensitizationTablePane(DesensitizationTableData tableData, Component parent) { this.tableData = tableData; this.parent = parent; @@ -41,10 +62,65 @@ public class TableDataDesensitizationTablePane extends JPanel { } private void initComponent() { - this.setLayout(FRGUIPaneFactory.createBorderLayout()); - this.editorPane = new UITableEditorPane<>(new TableDataDesensitizationTableModel(tableData, parent)); - this.editorPane.setHeaderResizing(false); - this.add(editorPane, BorderLayout.CENTER); + + card = new CardLayout(); + this.setLayout(card); + // 初始化Loading面板 + loadingPane = new TipsPane(true); + this.add(LOADING_PANE, loadingPane); + switchTo(LOADING_PANE); + + // 在SwingWorker中初始化Content面板并切换 + initContent(); + } + + /** + * 初始化内容面板 + * 考虑到远程设计下的性能,需要限制查询数据库的次数,所以这里查一次,之后子面板内复用 + */ + private void initContent() { + final List columnNames = new ArrayList<>(); + final Map roleMap = new LinkedHashMap<>(); + final Map> lastedRules = new LinkedHashMap<>(); + new SwingWorker() { + + @Override + protected Void doInBackground() throws Exception { + // 获取当前数据集的所有列名 + columnNames.addAll(TableDataPreviewDesensitizeManager.getInstance().getColumnNamesByTableData(tableData)); + // 获取当前所有用户组 + roleMap.putAll(TableDataPreviewDesensitizeManager.getInstance().getAllRoles()); + // 获取当前最新的所有规则 + lastedRules.putAll(DesensitizationRuleManager.getInstance().getAllRules()); + return null; + } + + @Override + protected void done() { + contentPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); + editorPane = new UITableEditorPane<>(new TableDataDesensitizationTableModel(tableData, parent, columnNames, roleMap, lastedRules)); + editorPane.setHeaderResizing(false); + editorPane.populate(tableData.getDesensitizationConfig().getDesensitizationItems().toArray(new TableDataDesensitizationItem[0])); + contentPane.add(editorPane, BorderLayout.CENTER); + add(CONTENT_PANE, contentPane); + switchTo(CONTENT_PANE); + } + }.execute(); + } + + /** + * 切换面板 + * + * @param panelName + */ + public void switchTo(String panelName) { + try { + if (panelName != null) { + card.show(this, panelName); + } + } catch (Exception e) { + FineLoggerFactory.getLogger().error(e.getMessage(), e); + } } /** @@ -54,13 +130,22 @@ public class TableDataDesensitizationTablePane extends JPanel { */ public void populateDesensitizationSetting(DesensitizationTableData tableData) { this.tableData = tableData; - editorPane.populate(tableData.getDesensitizationConfig().getDesensitizationItems().toArray(new TableDataDesensitizationItem[0])); + if (editorPane != null) { + // editorPane的初始化在SwingWorker中完成,这里做个判空 + editorPane.populate(tableData.getDesensitizationConfig().getDesensitizationItems().toArray(new TableDataDesensitizationItem[0])); + } } /** * 获取当前对TableData的配置脱敏规则信息 */ public List updateDesensitizationSetting() { - return editorPane.update(); + + return editorPane == null ? + new ArrayList<>() : + editorPane.update() + .stream() + .filter(item -> TableDataDesensitizationItem.valid(item)) + .collect(Collectors.toList()); } } From 3d379535a0f76b8386ce8e2dc72dbfca1c84d3fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvan-=E6=AC=A7=E9=98=B3=E5=B8=86?= Date: Thu, 9 Feb 2023 16:24:54 +0800 Subject: [PATCH 5/8] =?UTF-8?q?REPORT-80693=20=E6=95=B0=E6=8D=AE=E8=84=B1?= =?UTF-8?q?=E6=95=8F=E8=BF=9C=E7=A8=8B=E8=AE=BE=E8=AE=A1=E4=B8=8B=E7=9A=84?= =?UTF-8?q?=E6=80=A7=E8=83=BD=E9=97=AE=E9=A2=98=20=E5=8F=98=E9=87=8F?= =?UTF-8?q?=E5=90=8D=E5=86=99=E9=94=99=E4=BA=86=EF=BC=8C=E6=94=B9=E4=B8=80?= =?UTF-8?q?=E4=B8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TableDataPreviewDesensitizeManager.java | 2 +- .../view/rule/DesensitizationRuleChoosePane.java | 14 +++++++------- .../view/rule/DesensitizationRulePane.java | 8 ++++---- .../TableDataDesensitizationTableModel.java | 14 +++++++------- .../setting/TableDataDesensitizationTablePane.java | 6 +++--- 5 files changed, 22 insertions(+), 22 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/TableDataPreviewDesensitizeManager.java b/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/TableDataPreviewDesensitizeManager.java index 5c2b42c257..4fca1b49f0 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/TableDataPreviewDesensitizeManager.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/TableDataPreviewDesensitizeManager.java @@ -83,7 +83,7 @@ public class TableDataPreviewDesensitizeManager implements DesensitizationManage Collection desensitizationItems = ((DesensitizationTableData) tableData).getDesensitizationConfig().getDesensitizationItems(); if (DesentizationUtils.isCollectionNotEmpty(desensitizationItems)) { // 更新规则 - desensitizationItems = TableDataDesensitizeManager.getInstance().dealWithLastedRules(desensitizationItems); + desensitizationItems = TableDataDesensitizeManager.getInstance().dealWithlatestRules(desensitizationItems); // 对脱敏配置项集合做过滤和排序处理 List items = desensitizationItems.stream() .filter(item -> isAvaliableItem4Preview(item, model)) diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/rule/DesensitizationRuleChoosePane.java b/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/rule/DesensitizationRuleChoosePane.java index e1dc9d7226..419299336e 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/rule/DesensitizationRuleChoosePane.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/rule/DesensitizationRuleChoosePane.java @@ -49,10 +49,10 @@ public class DesensitizationRuleChoosePane extends JPanel { private DesensitizationRuleSource currentRuleSource; - private Map> lastedRules; + private Map> latestRules; - public DesensitizationRuleChoosePane(Map> lastedRules) { - this.lastedRules = lastedRules; + public DesensitizationRuleChoosePane(Map> latestRules) { + this.latestRules = latestRules; this.cardLayout = new CardLayout(); this.setLayout(cardLayout); serverRuleEditPane = new UITableEditorPane<>(new DesensitizationRuleChooseTableModel(this, true)); @@ -80,8 +80,8 @@ public class DesensitizationRuleChoosePane extends JPanel { * 展示当前规则 */ private void populateDesensitizationRules() { - serverRuleEditPane.populate(lastedRules.get(DesensitizationRuleSource.SERVER).values().toArray(new DesensitizationRule[0])); - customRuleEditPane.populate(lastedRules.get(DesensitizationRuleSource.CUSTOM).values().toArray(new DesensitizationRule[0])); + serverRuleEditPane.populate(latestRules.get(DesensitizationRuleSource.SERVER).values().toArray(new DesensitizationRule[0])); + customRuleEditPane.populate(latestRules.get(DesensitizationRuleSource.CUSTOM).values().toArray(new DesensitizationRule[0])); } /** @@ -147,7 +147,7 @@ public class DesensitizationRuleChoosePane extends JPanel { return DesensitizationRule.getDescription(rule); case 3: // 脱敏规则状态 - DesensitizationRuleStatus ruleStatus = DesensitizationRuleManager.getInstance().getRuleStatus(rule, lastedRules); + DesensitizationRuleStatus ruleStatus = DesensitizationRuleManager.getInstance().getRuleStatus(rule, latestRules); // 非正常状态需要标记为异常 return ruleStatus == DesensitizationRuleStatus.NORMAL ? StringUtils.EMPTY : Toolkit.i18nText("Fine-Design_Report_Desensitization_Rule_Status_Abnormal"); default: @@ -196,7 +196,7 @@ public class DesensitizationRuleChoosePane extends JPanel { * @param rule */ public void refreshRuleStatus(DesensitizationRule rule) { - DesensitizationRuleStatus ruleStatus = DesensitizationRuleManager.getInstance().getRuleStatus(rule, lastedRules); + DesensitizationRuleStatus ruleStatus = DesensitizationRuleManager.getInstance().getRuleStatus(rule, latestRules); if (ruleStatus == DesensitizationRuleStatus.NORMAL) { // 正常规则时,重置提示Label this.ruleStatusLabel.setText(StringUtils.EMPTY); diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/rule/DesensitizationRulePane.java b/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/rule/DesensitizationRulePane.java index b26b288f0a..ba8b00d735 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/rule/DesensitizationRulePane.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/rule/DesensitizationRulePane.java @@ -33,16 +33,16 @@ public class DesensitizationRulePane extends BasicBeanPane /** * 最新的所有规则 */ - private Map> lastedRules; + private Map> latestRules; /** * 内容面板 */ private JPanel contentPane; - public DesensitizationRulePane(Map> lastedRules) { + public DesensitizationRulePane(Map> latestRules) { this.setLayout(FRGUIPaneFactory.createBorderLayout()); - this.lastedRules = lastedRules; + this.latestRules = latestRules; initPane(); } @@ -54,7 +54,7 @@ public class DesensitizationRulePane extends BasicBeanPane // 规则来源选择Pane ruleSourceChoosePane = new DesensitizationRuleSourceChoosePane(this); // 规则选择Pane - ruleChoosePane = new DesensitizationRuleChoosePane(lastedRules); + ruleChoosePane = new DesensitizationRuleChoosePane(latestRules); contentPane.add(ruleSourceChoosePane, BorderLayout.NORTH); contentPane.add(ruleChoosePane, BorderLayout.CENTER); } diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/setting/TableDataDesensitizationTableModel.java b/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/setting/TableDataDesensitizationTableModel.java index 595fa4b8a8..21e96d7131 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/setting/TableDataDesensitizationTableModel.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/setting/TableDataDesensitizationTableModel.java @@ -75,11 +75,11 @@ public class TableDataDesensitizationTableModel extends UITableModelAdapter> lastedRules = new LinkedHashMap<>(); + private Map> latestRules = new LinkedHashMap<>(); private Component parent; - public TableDataDesensitizationTableModel(DesensitizationTableData tableData, Component parent, List columnNames, Map roleMap, Map> lastedRules) { + public TableDataDesensitizationTableModel(DesensitizationTableData tableData, Component parent, List columnNames, Map roleMap, Map> latestRules) { // table相关 super(new String[]{ Toolkit.i18nText("Fine-Design_Report_Desensitization_Column"), @@ -91,7 +91,7 @@ public class TableDataDesensitizationTableModel extends UITableModelAdapter iterator = items.iterator(); while (iterator.hasNext()) { TableDataDesensitizationItem item = iterator.next(); - DesensitizationRuleStatus ruleStatus = DesensitizationRuleManager.getInstance().getRuleStatus(item.getRule(), lastedRules); + DesensitizationRuleStatus ruleStatus = DesensitizationRuleManager.getInstance().getRuleStatus(item.getRule(), latestRules); if (ruleStatus == DesensitizationRuleStatus.REMOVED) { // 规则被移除,则删除整条脱敏Item iterator.remove(); } else { // 规则被修改、禁用等,更新一下规则 - item.setRule(DesensitizationRuleManager.getInstance().getLastedDesentizationRule(item.getRule(), lastedRules)); + item.setRule(DesensitizationRuleManager.getInstance().getLastedDesentizationRule(item.getRule(), latestRules)); } } fireTableDataChanged(); diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/setting/TableDataDesensitizationTablePane.java b/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/setting/TableDataDesensitizationTablePane.java index 9ef6a7a2ff..a2fe6529c0 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/setting/TableDataDesensitizationTablePane.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/setting/TableDataDesensitizationTablePane.java @@ -81,7 +81,7 @@ public class TableDataDesensitizationTablePane extends JPanel { private void initContent() { final List columnNames = new ArrayList<>(); final Map roleMap = new LinkedHashMap<>(); - final Map> lastedRules = new LinkedHashMap<>(); + final Map> latestRules = new LinkedHashMap<>(); new SwingWorker() { @Override @@ -91,14 +91,14 @@ public class TableDataDesensitizationTablePane extends JPanel { // 获取当前所有用户组 roleMap.putAll(TableDataPreviewDesensitizeManager.getInstance().getAllRoles()); // 获取当前最新的所有规则 - lastedRules.putAll(DesensitizationRuleManager.getInstance().getAllRules()); + latestRules.putAll(DesensitizationRuleManager.getInstance().getAllRules()); return null; } @Override protected void done() { contentPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); - editorPane = new UITableEditorPane<>(new TableDataDesensitizationTableModel(tableData, parent, columnNames, roleMap, lastedRules)); + editorPane = new UITableEditorPane<>(new TableDataDesensitizationTableModel(tableData, parent, columnNames, roleMap, latestRules)); editorPane.setHeaderResizing(false); editorPane.populate(tableData.getDesensitizationConfig().getDesensitizationItems().toArray(new TableDataDesensitizationItem[0])); contentPane.add(editorPane, BorderLayout.CENTER); From 261df3edebf75ea27faa666a78a3dcfa3b646704 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvan-=E6=AC=A7=E9=98=B3=E5=B8=86?= Date: Thu, 9 Feb 2023 16:35:44 +0800 Subject: [PATCH 6/8] =?UTF-8?q?REPORT-80693=20=E6=95=B0=E6=8D=AE=E8=84=B1?= =?UTF-8?q?=E6=95=8F=E8=BF=9C=E7=A8=8B=E8=AE=BE=E8=AE=A1=E4=B8=8B=E7=9A=84?= =?UTF-8?q?=E6=80=A7=E8=83=BD=E9=97=AE=E9=A2=98=20=E6=BC=8F=E4=BA=86?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=EF=BC=8C=E8=A1=A5=E5=85=85=E4=B8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../view/setting/TableDataDesensitizationTableModel.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/setting/TableDataDesensitizationTableModel.java b/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/setting/TableDataDesensitizationTableModel.java index 21e96d7131..f050e4b0cd 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/setting/TableDataDesensitizationTableModel.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/setting/TableDataDesensitizationTableModel.java @@ -603,7 +603,7 @@ public class TableDataDesensitizationTableModel extends UITableModelAdapter Date: Thu, 9 Feb 2023 19:26:10 +0800 Subject: [PATCH 7/8] =?UTF-8?q?Revert=20"KERNEL-12978=20fix:=20=E9=80=82?= =?UTF-8?q?=E9=85=8DCBB=E6=94=B9=E5=8A=A8"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 5a717baaea4cc0f968841f55dff8675ce5ac932c. --- .../src/main/java/com/fr/design/actions/file/LocalePane.java | 3 +-- .../main/java/com/fr/design/actions/file/PreferencePane.java | 3 ++- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/actions/file/LocalePane.java b/designer-base/src/main/java/com/fr/design/actions/file/LocalePane.java index 843b3bf724..634af28b9e 100644 --- a/designer-base/src/main/java/com/fr/design/actions/file/LocalePane.java +++ b/designer-base/src/main/java/com/fr/design/actions/file/LocalePane.java @@ -12,7 +12,6 @@ import com.fr.design.gui.itextfield.UITextField; import com.fr.file.filetree.FileNode; import com.fr.general.GeneralUtils; -import com.fr.general.Inter; import com.fr.locale.InterProviderFactory; import com.fr.log.FineLoggerFactory; import com.fr.stable.ArrayUtils; @@ -122,7 +121,7 @@ public class LocalePane extends BasicPane { private void initPredefinedProperties() { - Map supportLocaleMap = Inter.getSupportLocaleMap(); + Map supportLocaleMap = InterProviderFactory.getProvider().getSupportLocaleMap(); // richie:暂时去掉设计器中国际化键值对的显示 Map map = new HashMap<>(); diff --git a/designer-base/src/main/java/com/fr/design/actions/file/PreferencePane.java b/designer-base/src/main/java/com/fr/design/actions/file/PreferencePane.java index 840de5867b..46485409bb 100644 --- a/designer-base/src/main/java/com/fr/design/actions/file/PreferencePane.java +++ b/designer-base/src/main/java/com/fr/design/actions/file/PreferencePane.java @@ -46,6 +46,7 @@ import com.fr.general.IOUtils; import com.fr.general.Inter; import com.fr.general.log.Log4jConfig; import com.fr.io.attr.ImageExportAttr; +import com.fr.locale.InterProviderFactory; import com.fr.log.FineLoggerFactory; import com.fr.report.ReportConfigManager; import com.fr.stable.Constants; @@ -633,7 +634,7 @@ public class PreferencePane extends BasicPane { } private UIDictionaryComboBox createLanguageComboBox() { - Map map = Inter.getSupportLocaleMap(); + Map map = InterProviderFactory.getProvider().getSupportLocaleMap(); int size = map.size(); Locale[] keys = new Locale[size]; String[] values = new String[size]; From c35d831359dadef480ddfb0f19c3c4f8398b0b96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvan-=E6=AC=A7=E9=98=B3=E5=B8=86?= Date: Fri, 10 Feb 2023 10:25:23 +0800 Subject: [PATCH 8/8] =?UTF-8?q?REPORT-83628=20=E6=95=B0=E6=8D=AE=E8=84=B1?= =?UTF-8?q?=E6=95=8F=E9=85=8D=E7=BD=AE=E5=8A=9F=E8=83=BD=E5=AD=98=E5=9C=A8?= =?UTF-8?q?=E6=95=B4=E6=AE=B5=E6=96=87=E6=9C=AC=EF=BC=8C=E4=BD=86key?= =?UTF-8?q?=E8=A2=AB=E6=8B=86=E5=88=86=E4=B8=BA=E5=A4=9A=E9=83=A8=E5=88=86?= =?UTF-8?q?=E7=BB=84=E5=90=88=EF=BC=8C=E9=9C=80=E8=A6=81=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E2=80=94=E2=80=94=E8=AE=BE=E8=AE=A1=E5=99=A8=E9=83=A8=E5=88=86?= =?UTF-8?q?=20=E3=80=90=E9=97=AE=E9=A2=98=E5=8E=9F=E5=9B=A0=E3=80=91?= =?UTF-8?q?=E5=9B=BD=E9=99=85=E7=BB=84=E5=90=8C=E5=AD=A6=E6=8F=90=E7=9A=84?= =?UTF-8?q?bug=20=E3=80=90=E6=94=B9=E5=8A=A8=E6=80=9D=E8=B7=AF=E3=80=91?= =?UTF-8?q?=E6=8C=89=E7=85=A7=E5=9B=BD=E9=99=85=E7=BB=84=E5=90=8C=E5=AD=A6?= =?UTF-8?q?=E7=9A=84=E8=A6=81=E6=B1=82=EF=BC=8C=E6=8B=86=E5=88=86key?= =?UTF-8?q?=E4=BB=A5=E6=96=B9=E4=BE=BF=E7=BF=BB=E8=AF=91=20=E3=80=90review?= =?UTF-8?q?=E5=BB=BA=E8=AE=AE=E3=80=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../view/rule/DesensitizationRuleEditPane.java | 6 +++--- .../desensitization/model/DesensitizationCellPane.java | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/rule/DesensitizationRuleEditPane.java b/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/rule/DesensitizationRuleEditPane.java index b3c0d2615a..5a0515a59e 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/rule/DesensitizationRuleEditPane.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/preview/desensitization/view/rule/DesensitizationRuleEditPane.java @@ -159,15 +159,15 @@ public class DesensitizationRuleEditPane extends BasicBeanPane()); BasicDialog ruleDialog = rulePane.showWindowWithCustomSize(SwingUtilities.getWindowAncestor(parent), new DialogActionAdapter() { @Override