From 71acd6a8cb871892fbb67fbe4ee4926c3b515415 Mon Sep 17 00:00:00 2001 From: hades Date: Wed, 6 Apr 2022 16:13:38 +0800 Subject: [PATCH 1/5] =?UTF-8?q?REPORT-69229=20=E8=AE=BE=E8=AE=A1=E5=99=A8?= =?UTF-8?q?=E5=81=B6=E5=8F=91=E5=90=AF=E5=8A=A8=E4=B8=8D=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/fr/design/mainframe/DesignerFrame.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrame.java b/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrame.java index e2d460943..812cb86b1 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrame.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrame.java @@ -371,7 +371,12 @@ public class DesignerFrame extends JFrame implements JTemplateActionListener, Ta public void fireDesignerOpened() { for (DesignerOpenedListener listener : designerOpenedListenerList) { - listener.designerOpened(); + // 捕获下异常 避免造成启动过程监听触发异常导致设计器闪退 + try { + listener.designerOpened(); + } catch (Throwable e) { + FineLoggerFactory.getLogger().error(e.getMessage(), e); + } } designerOpened = true; From 356d7f203ba8296be5cda4a63a76be75153b5783 Mon Sep 17 00:00:00 2001 From: shine Date: Wed, 6 Apr 2022 19:29:51 +0800 Subject: [PATCH 2/5] =?UTF-8?q?REPORT-68886=20design=20fix:fvs.cpt.chart?= =?UTF-8?q?=20=E4=B8=8D=E6=94=AF=E6=8C=81=E4=B8=BB=E9=A2=98=20isThemed?= =?UTF-8?q?=E4=B8=80=E7=9B=B4=E7=AD=89=E4=BA=8Efalse?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chart/gui/data/ChartDataHelper.java | 35 +++++++++++++++++++ ...goryPlotMoreCateReportDataContentPane.java | 3 +- ...egoryPlotMoreCateTableDataContentPane.java | 3 +- .../chart/config/DefaultStyleHelper4Van.java | 26 ++++++++++++++ .../axis/VanChartAxisStyleSettingPane.java | 2 ++ .../style/axis/VanChartBaseAxisPane.java | 3 ++ 6 files changed, 70 insertions(+), 2 deletions(-) create mode 100644 designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/data/ChartDataHelper.java diff --git a/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/data/ChartDataHelper.java b/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/data/ChartDataHelper.java new file mode 100644 index 000000000..0ff5b275f --- /dev/null +++ b/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/data/ChartDataHelper.java @@ -0,0 +1,35 @@ +package com.fr.design.mainframe.chart.gui.data; + +import com.fr.base.chart.chartdata.TopDefinitionProvider; +import com.fr.chart.chartattr.ChartCollection; +import com.fr.chart.chartattr.Plot; +import com.fr.plugin.chart.attr.axis.VanChartAxis; +import com.fr.plugin.chart.attr.axis.VanChartAxisLabelStyle; +import com.fr.plugin.chart.attr.plot.VanChartAxisPlot; +import com.fr.van.chart.config.DefaultStyleHelper4Van; + +/** + * @author shine + * @version 10.0 + * Created by shine on 2022/4/6 + */ +public class ChartDataHelper { + + /** + * 在update数据集分类的时候,需要联动update一下样式-坐标轴里面的分层样式设置,来自CHART-22873 + */ + public static void updateAxisCategoryStyles(ChartCollection chartCollection) { + TopDefinitionProvider definition = chartCollection.getSelectedChart().getFilterDefinition(); + int size = definition == null ? 1 : definition.getMoreCateSize() + 1; + + Plot plot = chartCollection.getSelectedChart().getPlot(); + if (plot instanceof VanChartAxisPlot) { + for (VanChartAxis axis : ((VanChartAxisPlot) plot).getXAxisList()) { + axis.clearCategoryStyles(); + for (int i = 0; i < size; i++) { + axis.addCategoryStyle(DefaultStyleHelper4Van.dealAxisCheckTheme(new VanChartAxisLabelStyle())); + } + } + } + } +} diff --git a/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/data/report/CategoryPlotMoreCateReportDataContentPane.java b/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/data/report/CategoryPlotMoreCateReportDataContentPane.java index 54c3bd33d..a9c6beda5 100644 --- a/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/data/report/CategoryPlotMoreCateReportDataContentPane.java +++ b/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/data/report/CategoryPlotMoreCateReportDataContentPane.java @@ -13,6 +13,7 @@ import com.fr.design.formula.TinyFormulaPane; import com.fr.design.gui.ibutton.UIButton; import com.fr.design.mainframe.chart.gui.ChartDataPane; import com.fr.design.mainframe.chart.gui.data.ChartDataFilterPane; +import com.fr.design.mainframe.chart.gui.data.ChartDataHelper; import com.fr.stable.StringUtils; import com.fr.van.chart.designer.TableLayout4VanChartHelper; @@ -193,7 +194,7 @@ public class CategoryPlotMoreCateReportDataContentPane extends CategoryPlotRepor reportDefinition.clearMoreCate(); updateMoreCate(reportDefinition, plot); - collection.updateAxisCategoryStyles(); + ChartDataHelper.updateAxisCategoryStyles(collection); } } diff --git a/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/data/table/CategoryPlotMoreCateTableDataContentPane.java b/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/data/table/CategoryPlotMoreCateTableDataContentPane.java index 4c809e64f..ca5a98855 100644 --- a/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/data/table/CategoryPlotMoreCateTableDataContentPane.java +++ b/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/data/table/CategoryPlotMoreCateTableDataContentPane.java @@ -13,6 +13,7 @@ import com.fr.design.gui.icombobox.UIComboBox; import com.fr.design.gui.ilable.BoldFontTextLabel; import com.fr.design.gui.ilable.UILabel; import com.fr.design.mainframe.chart.gui.ChartDataPane; +import com.fr.design.mainframe.chart.gui.data.ChartDataHelper; import com.fr.design.utils.gui.GUICoreUtils; import javax.swing.BorderFactory; @@ -246,7 +247,7 @@ public class CategoryPlotMoreCateTableDataContentPane extends CategoryPlotTableD normal.clearMoreCate(); updateMoreCate(normal, plot); } - collection.updateAxisCategoryStyles(); + ChartDataHelper.updateAxisCategoryStyles(collection); } protected void updateMoreCate(NormalTableDataDefinition normal, Plot plot) { diff --git a/designer-chart/src/main/java/com/fr/van/chart/config/DefaultStyleHelper4Van.java b/designer-chart/src/main/java/com/fr/van/chart/config/DefaultStyleHelper4Van.java index 8421492fa..a6ce45a53 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/config/DefaultStyleHelper4Van.java +++ b/designer-chart/src/main/java/com/fr/van/chart/config/DefaultStyleHelper4Van.java @@ -5,6 +5,7 @@ import com.fr.base.ChartPreStyleConfig; import com.fr.chart.base.AttrBorder; import com.fr.chart.base.AttrFillStyle; import com.fr.chart.base.ChartConstants; +import com.fr.chart.base.ChartThemeStyleProvider; import com.fr.chart.chartattr.Plot; import com.fr.chart.chartglyph.ConditionAttr; import com.fr.chart.chartglyph.DataSheet; @@ -14,6 +15,7 @@ import com.fr.design.mainframe.chart.mode.ChartEditContext; import com.fr.plugin.chart.PiePlot4VanChart; import com.fr.plugin.chart.attr.axis.VanChartAlertValue; import com.fr.plugin.chart.attr.axis.VanChartAxis; +import com.fr.plugin.chart.attr.axis.VanChartAxisLabelStyle; import com.fr.plugin.chart.attr.plot.VanChartPlot; import com.fr.plugin.chart.attr.plot.VanChartRectanglePlot; import com.fr.plugin.chart.base.AttrLabel; @@ -24,6 +26,9 @@ import com.fr.plugin.chart.map.VanChartMapPlot; import com.fr.plugin.chart.type.GaugeStyle; import com.fr.plugin.chart.vanchart.VanChart; +import java.util.ArrayList; +import java.util.List; + /** * @author shine * @version 10.0 @@ -82,7 +87,28 @@ public class DefaultStyleHelper4Van { } + private static void dealAxisCheckTheme(VanChartAxis axis) { + if (!ChartEditContext.supportTheme()) { + List chartThemeStyleProviders = new ArrayList<>(); + VanChartRectanglePlot.getAxisChartPreStyleProvider(axis, chartThemeStyleProviders); + for (ChartThemeStyleProvider themeStyleProvider : chartThemeStyleProviders) { + themeStyleProvider.setThemeCustom(); + } + } + } + + public static VanChartAxisLabelStyle dealAxisCheckTheme(VanChartAxisLabelStyle labelStyle) { + if (!ChartEditContext.supportTheme()) { + labelStyle.getTextAttr().setThemeCustom(); + } + return labelStyle; + } + + public static VanChartAxis dealAxisDefault(VanChartAxis axis) { + + dealAxisCheckTheme(axis); + if (!duchampMode()) { return axis; } diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/style/axis/VanChartAxisStyleSettingPane.java b/designer-chart/src/main/java/com/fr/van/chart/designer/style/axis/VanChartAxisStyleSettingPane.java index 5deb49831..dde467226 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/designer/style/axis/VanChartAxisStyleSettingPane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/designer/style/axis/VanChartAxisStyleSettingPane.java @@ -13,6 +13,7 @@ import com.fr.design.mainframe.chart.gui.style.ChartTextAttrPane; import com.fr.design.utils.gui.UIComponentUtils; import com.fr.design.widget.FRWidgetFactory; import com.fr.plugin.chart.attr.axis.VanChartAxisLabelStyle; +import com.fr.van.chart.config.DefaultStyleHelper4Van; import com.fr.van.chart.designer.TableLayout4VanChartHelper; import com.fr.van.chart.designer.style.axis.component.AxisLabelDisplayComboBox; @@ -125,6 +126,7 @@ public class VanChartAxisStyleSettingPane extends BasicBeanPane { private VanChartAxisLabelStyle getAxisLabelStyle(VanChartAxis axis) { VanChartAxisLabelStyle style = new VanChartAxisLabelStyle(); + DefaultStyleHelper4Van.dealAxisCheckTheme(style); style.setLabelDisplay(axis.getLabelDisplay()); style.setTextAttr(axis.getTextAttr()); style.setAutoLabelGap(axis.isAutoLabelGap()); @@ -663,6 +665,7 @@ public class VanChartBaseAxisPane extends FurtherBasicBeanPane { style = axis.getCategoryStyle(index); } else { style = new VanChartAxisLabelStyle(); + DefaultStyleHelper4Van.dealAxisCheckTheme(style); axis.addCategoryStyle(style); } return style; From c0af84735c81f5652264e7eb617566dd8157a0b2 Mon Sep 17 00:00:00 2001 From: "Yuan.Wang" <1536296691@qq.com> Date: Thu, 7 Apr 2022 11:39:41 +0800 Subject: [PATCH 3/5] =?UTF-8?q?REPORT-68244=20=E3=80=90=E4=B8=8B=E6=8B=89?= =?UTF-8?q?=E6=A0=91=E9=87=8D=E6=9E=84=E3=80=91=E6=96=B0=E5=A4=9A=E9=80=89?= =?UTF-8?q?=E4=B8=8B=E6=8B=89=E6=A0=91=E6=8E=A7=E4=BB=B6=E4=B8=8D=E8=83=BD?= =?UTF-8?q?=E7=94=A8=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/fr/design/designer/creator/XTreeEditor.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/designer-form/src/main/java/com/fr/design/designer/creator/XTreeEditor.java b/designer-form/src/main/java/com/fr/design/designer/creator/XTreeEditor.java index bde83a176..872a1e97d 100644 --- a/designer-form/src/main/java/com/fr/design/designer/creator/XTreeEditor.java +++ b/designer-form/src/main/java/com/fr/design/designer/creator/XTreeEditor.java @@ -41,7 +41,7 @@ public class XTreeEditor extends XWidgetCreator { new CRPropertyDescriptor("widgetValue", this.data.getClass()).setI18NName( com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Widget_Value")).setEditorClass(WidgetValueEditor.class) .putKeyValue(XCreatorConstants.PROPERTY_CATEGORY, "Fine-Design_Basic_Advanced"), - new CRPropertyDescriptor("model", this.data.getClass(), "getNodeOrDict", "setNodeOrDict").setI18NName( + new CRPropertyDescriptor("model", this.data.getClass(), "getBuildModelConfig", "setBuildModelConfig").setI18NName( com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_DS_Dictionary")).setEditorClass(TreeModelEditor.class).setRendererClass( TreeModelRenderer.class).putKeyValue(XCreatorConstants.PROPERTY_CATEGORY, "Fine-Design_Basic_Advanced"), new CRPropertyDescriptor("allowBlank", this.data.getClass()).setI18NName( @@ -55,7 +55,7 @@ public class XTreeEditor extends XWidgetCreator { new CRPropertyDescriptor("widgetValue", this.data.getClass()).setI18NName( com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Widget_Value")).setEditorClass(WidgetValueEditor.class) .putKeyValue(XCreatorConstants.PROPERTY_CATEGORY, "Fine-Design_Basic_Advanced"), - new CRPropertyDescriptor("model", this.data.getClass(), "getNodeOrDict", "setNodeOrDict").setI18NName( + new CRPropertyDescriptor("model", this.data.getClass(), "getBuildModelConfig", "setBuildModelConfig").setI18NName( com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_DS_Dictionary")).setEditorClass(TreeModelEditor.class).setRendererClass( TreeModelRenderer.class).putKeyValue(XCreatorConstants.PROPERTY_CATEGORY, "Fine-Design_Basic_Advanced"), new CRPropertyDescriptor("allowBlank", this.data.getClass()).setI18NName( From 0057ee14758f6eaa01cffd70b9e0616c14cdf8ed Mon Sep 17 00:00:00 2001 From: "Henry.Wang" Date: Thu, 7 Apr 2022 14:30:06 +0800 Subject: [PATCH 4/5] =?UTF-8?q?REPORT-68602=20=E7=B3=BB=E5=88=97=E5=A0=86?= =?UTF-8?q?=E7=A7=AF=E5=92=8C=E6=9D=A1=E4=BB=B6=E5=B1=9E=E6=80=A7=E5=BC=B9?= =?UTF-8?q?=E6=A1=86=E5=A4=9A=E4=BA=86=E2=80=9C=E4=BF=9D=E5=AD=98=E2=80=9D?= =?UTF-8?q?=E5=92=8C=E2=80=9C=E5=8F=96=E6=B6=88=E2=80=9D=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E9=A1=B9=20&&=20=E7=B3=BB=E5=88=97REPORT-69013=20=E5=8F=8C?= =?UTF-8?q?=E5=87=BBfvs=E6=96=87=E4=BB=B6=EF=BC=8C=E5=94=A4=E8=B5=B7?= =?UTF-8?q?=E8=AE=BE=E8=AE=A1=E5=99=A8=E5=90=8E=E4=B8=8D=E4=BC=9A=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E6=89=93=E5=BC=80=E6=A8=A1=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/gui/controlpane/UIControlPane.java | 2 +- .../main/java/com/fr/start/BaseDesigner.java | 26 +++++++++++++------ .../component/VanChartUIListControlPane.java | 4 +-- 3 files changed, 21 insertions(+), 11 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/gui/controlpane/UIControlPane.java b/designer-base/src/main/java/com/fr/design/gui/controlpane/UIControlPane.java index f7229136f..f9a3ed0db 100644 --- a/designer-base/src/main/java/com/fr/design/gui/controlpane/UIControlPane.java +++ b/designer-base/src/main/java/com/fr/design/gui/controlpane/UIControlPane.java @@ -212,7 +212,7 @@ public abstract class UIControlPane extends JControlPane { } // 点击"编辑"按钮,弹出面板 - class PopupEditDialog extends JDialog { + protected class PopupEditDialog extends JDialog { private JComponent editPane; private PopupToolPane popupToolPane; private static final int WIDTH = 570; diff --git a/designer-base/src/main/java/com/fr/start/BaseDesigner.java b/designer-base/src/main/java/com/fr/start/BaseDesigner.java index 2633cedd4..360e9cdfa 100644 --- a/designer-base/src/main/java/com/fr/start/BaseDesigner.java +++ b/designer-base/src/main/java/com/fr/start/BaseDesigner.java @@ -3,6 +3,7 @@ */ package com.fr.start; +import com.fr.base.extension.FileExtension; import com.fr.common.report.ReportState; import com.fr.design.DesignerEnvManager; import com.fr.design.ExtraDesignClassManager; @@ -34,6 +35,7 @@ import com.fr.stable.OperatingSystem; import com.fr.start.event.LazyStartupEvent; import com.fr.workspace.base.WorkspaceStatus; + import java.awt.Window; import java.io.File; import java.lang.reflect.Method; @@ -121,14 +123,7 @@ public abstract class BaseDesigner extends ToolBarMenuDock { } File f = new File(arg); String path = f.getAbsolutePath(); - boolean pathends1 = path.endsWith(".cpt") - || path.endsWith(".xls"); - boolean pathends2 = path.endsWith(".xlsx") - || path.endsWith(".frm"); - boolean pathends3 = path.endsWith(".form") - || path.endsWith(".cht"); - boolean pathends4 = pathends1 || pathends2 || pathends3; - if (pathends4 || path.endsWith(".chart")) { + if (isAcceptFilePathEnd(path)) { file = new FileFILE(f); } } @@ -148,6 +143,21 @@ public abstract class BaseDesigner extends ToolBarMenuDock { } } + private boolean isAcceptFilePathEnd(String path) { + FileExtension[] acceptFileExtensions = new FileExtension[]{ + FileExtension.CPT, FileExtension.XLS, FileExtension.XLSX, FileExtension.FRM, FileExtension.CHT, FileExtension.VIS + }; + for (FileExtension acceptFileExtension : acceptFileExtensions) { + String[] extensions = acceptFileExtension.getExtensions(); + for (String extension : extensions) { + if (path.endsWith("." + extension)) { + return true; + } + } + } + return false; + } + private boolean openFile(final DesignerFrame df, boolean isException, FILE file) { //启动时打开指定文件的接口 diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartUIListControlPane.java b/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartUIListControlPane.java index ce8253b98..823012f58 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartUIListControlPane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartUIListControlPane.java @@ -128,7 +128,7 @@ public abstract class VanChartUIListControlPane extends UIListControlPane implem public void populate(Nameable[] nameableArray) { //特殊处理,使用instanceof判断,弹出不同的面板 - if (SwingUtilities.getWindowAncestor(this) instanceof JDialog) { + if (SwingUtilities.getWindowAncestor(this) instanceof PopupEditDialog) { popupEditDialog = new HyperDialog(cardPane); } super.populate(nameableArray); @@ -136,7 +136,7 @@ public abstract class VanChartUIListControlPane extends UIListControlPane implem protected void popupEditDialog(Point mousePos) { //特殊处理,处理连续弹窗情况,弹出面板定为方式不同 - if (SwingUtilities.getWindowAncestor(this) instanceof JDialog) { + if (SwingUtilities.getWindowAncestor(this) instanceof PopupEditDialog) { GUICoreUtils.centerWindow(popupEditDialog); popupEditDialog.setVisible(true); return; From beec0ef3a735eb3125045909c7f7f08bae5ef309 Mon Sep 17 00:00:00 2001 From: Yvan Date: Thu, 7 Apr 2022 14:36:34 +0800 Subject: [PATCH 5/5] =?UTF-8?q?REPORT-68455=20&&=20REPORT-69108=20?= =?UTF-8?q?=E3=80=90=E9=97=AE=E9=A2=98=E5=8E=9F=E5=9B=A0=E3=80=91=201.?= =?UTF-8?q?=E5=B7=A5=E5=85=B7=E6=A0=8F=E9=9D=A2=E6=9D=BF=E4=B8=8E=E5=85=B6?= =?UTF-8?q?=E4=BB=96=E9=9D=A2=E6=9D=BF(=E8=AE=BE=E8=AE=A1=E5=99=A8?= =?UTF-8?q?=E8=8F=9C=E5=8D=95=E6=A0=8F-=E6=A8=A1=E6=9D=BF=E6=88=96?= =?UTF-8?q?=E8=BF=9C=E7=A8=8B=E8=AE=BE=E8=AE=A1-=E5=88=87=E6=8D=A2?= =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E7=9B=AE=E5=BD=95)=E9=87=8D=E5=8F=A0?= =?UTF-8?q?=E6=97=B6=E4=BC=9A=E6=98=BE=E7=A4=BA=E5=BC=82=E5=B8=B8=E6=98=AF?= =?UTF-8?q?=E5=9B=A0=E4=B8=BA=E4=B9=8B=E5=89=8D=E7=9A=84=E8=BF=99=E4=B8=AA?= =?UTF-8?q?=E5=B7=A5=E5=85=B7=E6=A0=8F=E9=9D=A2=E6=9D=BF=E6=89=8B=E8=AF=AF?= =?UTF-8?q?=E5=86=99=E6=88=90=E4=BA=86=E7=BB=A7=E6=89=BFPanel=202.?= =?UTF-8?q?=E6=90=9C=E7=B4=A2=E7=BB=93=E6=9E=9C=E6=98=BE=E7=A4=BA=E4=B8=8D?= =?UTF-8?q?=E6=AD=A3=E7=A1=AE=E6=98=AF=E5=9B=A0=E4=B8=BA=E4=B9=8B=E5=89=8D?= =?UTF-8?q?=E6=94=B9=E5=8D=A1=E6=AD=BB=E9=97=AE=E9=A2=98=E6=B2=A1=E6=94=B9?= =?UTF-8?q?=E5=A5=BD=EF=BC=8C=E6=8A=8A=E6=90=9C=E7=B4=A2=E8=AE=A1=E6=95=B0?= =?UTF-8?q?=E6=94=BE=E5=88=B0=E4=BA=86=E5=A4=84=E7=90=86UI=E7=9A=84?= =?UTF-8?q?=E5=A4=96=E9=9D=A2=EF=BC=8C=E4=BC=9A=E4=BC=98=E5=85=88=E4=BA=8E?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E9=9B=86=E6=A0=91=E7=9A=84=E5=88=B7=E6=96=B0?= =?UTF-8?q?=E8=80=8C=E5=8F=98=E5=8C=96=EF=BC=8C=E5=AF=BC=E8=87=B4=E6=90=9C?= =?UTF-8?q?=E7=B4=A2=E8=AE=A1=E6=95=B0=E5=AE=8C=E6=88=90=E4=BA=86=EF=BC=8C?= =?UTF-8?q?=E4=BD=86=E6=98=AF=E7=BB=93=E6=9E=9C=E6=B2=A1=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98=20=E3=80=90=E6=94=B9=E5=8A=A8?= =?UTF-8?q?=E6=80=9D=E8=B7=AF=E3=80=911.=E6=94=B9=E6=88=90=E7=BB=A7?= =?UTF-8?q?=E6=89=BFJPanel=EF=BC=9B2.=E6=90=9C=E7=B4=A2=E8=AE=A1=E6=95=B0?= =?UTF-8?q?=E6=94=BE=E5=88=B0=E5=A4=84=E7=90=86UI=E4=B8=AD=EF=BC=8C?= =?UTF-8?q?=E7=A1=AE=E5=AE=9A=E5=A4=84=E7=90=86UI=E5=AE=8C=E6=88=90?= =?UTF-8?q?=E6=89=8D=E7=AE=97=E6=98=AF=E4=B8=80=E6=AC=A1=E8=AE=A1=E6=95=B0?= =?UTF-8?q?=E5=AE=8C=E6=88=90=EF=BC=9B3.=E6=B7=BB=E5=8A=A0=E9=83=A8?= =?UTF-8?q?=E5=88=86debug=E6=97=A5=E5=BF=97=EF=BC=8C=E6=96=B9=E4=BE=BF?= =?UTF-8?q?=E4=BB=A5=E5=90=8E=E6=8E=92=E6=9F=A5=E9=97=AE=E9=A2=98=20?= =?UTF-8?q?=E3=80=90review=E5=BB=BA=E8=AE=AE=E3=80=91=E6=97=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../search/TableDataTreeSearchManager.java | 14 +++++++++----- .../control/common/TableDataSearchCallBack.java | 8 ++++---- .../search/control/common/TableDataSearchTask.java | 3 ++- .../search/control/pre/TableDataPreSearchTask.java | 3 ++- .../search/pane/TreeSearchToolbarPane.java | 3 +-- 5 files changed, 18 insertions(+), 13 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/management/search/TableDataTreeSearchManager.java b/designer-base/src/main/java/com/fr/design/data/datapane/management/search/TableDataTreeSearchManager.java index 6fe79189c..f77a94db8 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/management/search/TableDataTreeSearchManager.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/management/search/TableDataTreeSearchManager.java @@ -10,6 +10,7 @@ import com.fr.design.data.datapane.management.search.searcher.TableDataSearchMod import com.fr.design.data.datapane.management.search.searcher.TableDataTreeSearcher; import com.fr.design.data.datapane.management.search.searcher.TreeSearchStatus; import com.fr.design.data.datapane.management.search.view.TreeSearchRendererHelper; +import com.fr.log.FineLoggerFactory; import com.fr.stable.StringUtils; import javax.swing.SwingUtilities; @@ -102,6 +103,7 @@ public class TableDataTreeSearchManager { rendererHelper = new TreeSearchRendererHelper(); rendererHelper.save(getCurrentTableDataTree()); treeSearcher = new TableDataTreeSearcher(); + FineLoggerFactory.getLogger().debug("switch to table data search for mode: {}", searchMode.name()); treeSearcher.beforeSearch(searchMode, tableDataSource); } @@ -132,6 +134,7 @@ public class TableDataTreeSearchManager { setTreeSearchStatus(TreeSearchStatus.SEARCHING); rendererHelper.replaceTreeRenderer(getCurrentTableDataTree(), searchText); count = new AtomicInteger(treeSearcher.getAllWrappersSize()); + FineLoggerFactory.getLogger().debug("start table data search for search text: {}", searchText); treeSearcher.startSearch(searchText); } @@ -150,11 +153,9 @@ public class TableDataTreeSearchManager { } private boolean isRepeatSearch(String searchText) { - if (StringUtils.isEmpty(lastSearchText)) { - lastSearchText = searchText; - return false; - } - return StringUtils.equals(lastSearchText, searchText); + boolean repeat = StringUtils.equals(lastSearchText, searchText); + lastSearchText = searchText; + return repeat; } /** @@ -170,6 +171,7 @@ public class TableDataTreeSearchManager { public void stopSearch() { setTreeSearchStatus(TreeSearchStatus.SEARCH_STOPPED); count = null; + FineLoggerFactory.getLogger().debug("stop table data search for search text: {}", lastSearchText); treeSearcher.stopSearch(); } @@ -179,6 +181,7 @@ public class TableDataTreeSearchManager { public void completeSearch() { setTreeSearchStatus(TreeSearchStatus.SEARCH_COMPLETED); count = null; + FineLoggerFactory.getLogger().debug("complete table data search for search text: {}", lastSearchText); treeSearcher.completeSearch(); } @@ -187,6 +190,7 @@ public class TableDataTreeSearchManager { */ public void restoreToolBarAndTreePane() { setTreeSearchStatus(TreeSearchStatus.NOT_IN_SEARCH_MODE); + FineLoggerFactory.getLogger().info("out of table data search"); if (treeSearcher != null) { treeSearcher.afterSearch(); } diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/management/search/control/common/TableDataSearchCallBack.java b/designer-base/src/main/java/com/fr/design/data/datapane/management/search/control/common/TableDataSearchCallBack.java index 6b17f23a4..6137032f0 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/management/search/control/common/TableDataSearchCallBack.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/management/search/control/common/TableDataSearchCallBack.java @@ -24,14 +24,12 @@ public class TableDataSearchCallBack implements TreeSearchCallback { if (TableDataTreeSearchManager.getInstance().getTreeSearchStatus() != TreeSearchStatus.SEARCHING) { return; } - // 搜索计数 - TableDataTreeSearchManager.getInstance().decreaseCount(); if (treeSearchResult.isSuccess()) { // 添加结果 addToTreeSearcher(treeSearchResult); - // 处理UI - updateTableDataTree(); } + // 处理UI + updateTableDataTree(); } protected void updateTableDataTree() { @@ -40,6 +38,8 @@ public class TableDataSearchCallBack implements TreeSearchCallback { return; } TableDataTreeSearchManager.getInstance().updateTableDataTree(); + // 搜索计数 + TableDataTreeSearchManager.getInstance().decreaseCount(); }); } diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/management/search/control/common/TableDataSearchTask.java b/designer-base/src/main/java/com/fr/design/data/datapane/management/search/control/common/TableDataSearchTask.java index 2ab51f6a2..1a8b607c2 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/management/search/control/common/TableDataSearchTask.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/management/search/control/common/TableDataSearchTask.java @@ -43,8 +43,9 @@ public class TableDataSearchTask implements TreeSearchTask { } else { result = dealWithCommonTableDataWrapper(tableDataWrapper); } + FineLoggerFactory.getLogger().debug("calculate {}'s columns succeeded", tableDataWrapper.getTableDataName()); } catch (Throwable e) { - FineLoggerFactory.getLogger().error(e, e.getMessage()); + FineLoggerFactory.getLogger().error(e, "calculate {}'s columns failed", tableDataWrapper.getTableDataName()); result = dealWithErrorTableDataWrapper(tableDataWrapper); } callback.done(result); diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/management/search/control/pre/TableDataPreSearchTask.java b/designer-base/src/main/java/com/fr/design/data/datapane/management/search/control/pre/TableDataPreSearchTask.java index 7047b5ac1..979eef1b0 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/management/search/control/pre/TableDataPreSearchTask.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/management/search/control/pre/TableDataPreSearchTask.java @@ -33,8 +33,9 @@ public class TableDataPreSearchTask implements TreeSearchTask { result = new TableDataSearchResult.Builder() .buildSuccess(true) .build(); + FineLoggerFactory.getLogger().debug("pre calculate {}'s columns succeeded", tableDataWrapper.getTableDataName()); } catch (Exception e) { - FineLoggerFactory.getLogger().error(e, "calculate table data {} failed", tableDataWrapper.getTableDataName()); + FineLoggerFactory.getLogger().error(e, "pre calculate {}'s columns failed", tableDataWrapper.getTableDataName()); result = new TableDataSearchResult.Builder() .buildSuccess(false) .build(); diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/management/search/pane/TreeSearchToolbarPane.java b/designer-base/src/main/java/com/fr/design/data/datapane/management/search/pane/TreeSearchToolbarPane.java index 2d37395b4..ecabc02b3 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/management/search/pane/TreeSearchToolbarPane.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/management/search/pane/TreeSearchToolbarPane.java @@ -23,7 +23,6 @@ import java.awt.BorderLayout; import java.awt.CardLayout; import java.awt.Color; import java.awt.Dimension; -import java.awt.Panel; import java.awt.event.FocusEvent; import java.awt.event.FocusListener; import java.awt.event.KeyAdapter; @@ -34,7 +33,7 @@ import java.awt.event.MouseEvent; /** * @author Yvan */ -public class TreeSearchToolbarPane extends Panel implements TreeSearchStatusChangeListener { +public class TreeSearchToolbarPane extends JPanel implements TreeSearchStatusChangeListener { public static final String TOOLBAR_PANE = "toolbarPane";