From fa9c285c7d5868582f894de2fc13665f0deb0ebc Mon Sep 17 00:00:00 2001 From: pengda Date: Thu, 12 Aug 2021 13:56:30 +0800 Subject: [PATCH 1/4] =?UTF-8?q?REPORT-55637=20=E8=BF=9C=E7=A8=8B=E8=AE=BE?= =?UTF-8?q?=E8=AE=A1=E7=9A=84=20=E8=AE=B0=E4=BD=8F=E5=AF=86=E7=A0=81=20?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=EF=BC=8C=E5=8F=96=E6=B6=88=E5=8B=BE=E9=80=89?= =?UTF-8?q?=E6=97=A0=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/fr/design/EnvChangeEntrance.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/EnvChangeEntrance.java b/designer-base/src/main/java/com/fr/design/EnvChangeEntrance.java index 14145d119..3015cb858 100644 --- a/designer-base/src/main/java/com/fr/design/EnvChangeEntrance.java +++ b/designer-base/src/main/java/com/fr/design/EnvChangeEntrance.java @@ -450,7 +450,7 @@ public class EnvChangeEntrance { // 切换完成后清理密码 updateNotRememberPwdEnv(); if (changeResult) { - VersionCheckUtils.showVersionCheckDialog(envListPane.updateEnvManager()); + VersionCheckUtils.showVersionCheckDialog(envListPane.getSelectedName()); } } @@ -483,7 +483,7 @@ public class EnvChangeEntrance { DesignerExiter.getInstance().execute(); } else { updateNotRememberPwdEnv(); - VersionCheckUtils.showVersionCheckDialog(envListPane.updateEnvManager()); + VersionCheckUtils.showVersionCheckDialog(envListPane.getSelectedName()); } } From 9d81243a4285b7158f86b8177a0de9494e4c1b2d Mon Sep 17 00:00:00 2001 From: kuangshuai Date: Thu, 12 Aug 2021 20:05:46 +0800 Subject: [PATCH 2/4] =?UTF-8?q?REPORT-56080=20=E5=9B=BE=E8=A1=A8=E5=8F=8C?= =?UTF-8?q?=E5=87=BB=E6=97=A0=E6=B3=95=E8=BF=9B=E5=85=A5=E5=9B=BE=E8=A1=A8?= =?UTF-8?q?=E7=BC=96=E8=BE=91=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/designer/beans/models/SelectionModel.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/designer-form/src/main/java/com/fr/design/designer/beans/models/SelectionModel.java b/designer-form/src/main/java/com/fr/design/designer/beans/models/SelectionModel.java index bf1c84990..c239dea7b 100644 --- a/designer-form/src/main/java/com/fr/design/designer/beans/models/SelectionModel.java +++ b/designer-form/src/main/java/com/fr/design/designer/beans/models/SelectionModel.java @@ -85,7 +85,9 @@ public class SelectionModel { if (e.getButton() == MouseEvent.BUTTON3 || (!InputEventBaseOnOS.isControlDown(e) && !e.isShiftDown())) { // 如果Ctrl或者Shift键盘没有按下,则清除已经选择的组件 XCreator selectXCreator = selection.getSelectedCreator(); - if (selectXCreator != null && comp != null) { + boolean clickOnce = e.getClickCount() == 1; + boolean hasCom = selectXCreator != null && comp != null; + if (clickOnce && hasCom) { if (StringUtils.equals(selectXCreator.toData().getWidgetName(), comp.toData().getWidgetName())) { return; } From 74a947c089df0f3e0f530235e866ee3e3d23e33a Mon Sep 17 00:00:00 2001 From: kerry Date: Mon, 16 Aug 2021 10:26:38 +0800 Subject: [PATCH 3/4] =?UTF-8?q?REPORT-56128=E3=80=90=E5=BC=80=E5=8F=91?= =?UTF-8?q?=E8=80=85=E9=A2=84=E8=A7=88=E6=94=AF=E6=8C=81=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E5=B8=83=E5=B1=80=E3=80=91=E6=96=B0=E8=87=AA?= =?UTF-8?q?=E9=80=82=E5=BA=94-=E8=AE=BE=E8=AE=A1=E7=94=BB=E5=B8=83?= =?UTF-8?q?=E9=87=8C=E6=8B=96=E6=8B=BD=E8=B0=83=E6=95=B4=E7=BB=84=E4=BB=B6?= =?UTF-8?q?A=E5=A4=A7=E5=B0=8F=EF=BC=8C=E6=8C=A4=E5=8E=8B=E7=BB=9D?= =?UTF-8?q?=E5=AF=B9=E7=94=BB=E5=B8=83=E5=9D=97=EF=BC=8C=E7=BB=9D=E5=AF=B9?= =?UTF-8?q?=E7=94=BB=E5=B8=83=E5=9D=97=E5=86=85=E7=BB=84=E4=BB=B6=E4=BC=9A?= =?UTF-8?q?=E4=BF=9D=E6=8C=81=E5=B0=BA=E5=AF=B8=E4=B8=8D=E5=8F=98=E4=B8=94?= =?UTF-8?q?=E8=B6=85=E5=87=BA=E7=BB=9D=E5=AF=B9=E7=94=BB=E5=B8=83=E5=9D=97?= =?UTF-8?q?=EF=BC=9B=E4=BD=86=E5=BC=80=E5=8F=91=E8=80=85=E8=B0=83=E8=AF=95?= =?UTF-8?q?=E4=B8=8B=EF=BC=8C=E6=AD=A4=E5=9C=BA=E6=99=AF=EF=BC=8C=E7=BB=9D?= =?UTF-8?q?=E5=AF=B9=E7=94=BB=E5=B8=83=E5=9D=97=E5=86=85=E7=BB=84=E4=BB=B6?= =?UTF-8?q?=E5=B0=BA=E5=AF=B8=E9=80=82=E5=BA=94=E5=8C=BA=E5=9F=9F=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E3=80=82=E8=BF=99=E9=87=8C=E8=A6=81=E4=B8=8D=E8=A6=81?= =?UTF-8?q?=E7=BB=9F=E4=B8=80=E4=B8=80=E4=B8=8B=E6=95=88=E6=9E=9C=E5=95=8A?= =?UTF-8?q?@kerry?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/fit/common/AdaptiveSwitchUtil.java | 28 ++++++++++++++++--- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/designer-form/src/main/java/com/fr/design/fit/common/AdaptiveSwitchUtil.java b/designer-form/src/main/java/com/fr/design/fit/common/AdaptiveSwitchUtil.java index 7b6984dad..8c55e8ab0 100644 --- a/designer-form/src/main/java/com/fr/design/fit/common/AdaptiveSwitchUtil.java +++ b/designer-form/src/main/java/com/fr/design/fit/common/AdaptiveSwitchUtil.java @@ -1,7 +1,5 @@ package com.fr.design.fit.common; -import com.fr.decision.ExtraDecisionClassManager; -import com.fr.decision.fun.EmailSendProvider; import com.fr.design.data.DesignTableDataManager; import com.fr.design.fit.DesignerUIModeConfig; import com.fr.design.fit.NewJForm; @@ -13,7 +11,6 @@ import com.fr.design.fit.attrpane.RootDesignExtendDefinePane; import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.JForm; import com.fr.design.mainframe.JTemplate; -import com.fr.design.mainframe.JTemplateFactory; import com.fr.design.parameter.RootDesignDefinePane; import com.fr.design.preview.FormAdaptivePreview; import com.fr.design.preview.FormPreview; @@ -25,8 +22,8 @@ import com.fr.design.widget.ui.designer.layout.FRAbsoluteLayoutDefinePane; import com.fr.design.widget.ui.designer.layout.FRFitLayoutDefinePane; import com.fr.file.FILE; import com.fr.file.MemFILE; -import com.fr.form.fit.NewFormMarkAttr; import com.fr.form.main.Form; +import com.fr.form.main.WidgetGather; import com.fr.form.ui.ElementCaseEditor; import com.fr.form.ui.Widget; import com.fr.form.ui.container.WAbsoluteBodyLayout; @@ -152,11 +149,34 @@ public class AdaptiveSwitchUtil { if (DesignerUIModeConfig.getInstance().newUIMode() && jForm.getTarget().getReportFitAttr() != null && isSwitchJFromIng()) { jForm.getTarget().setReportFitAttr(shiftReportFitAttr(old, jForm.getTarget().getReportFitAttr().isFitFont())); } + processAbsoluteLayoutCompatible(jForm.getTarget()); TemplateTool.saveForm(jForm); } return template; } + + private static void processAbsoluteLayoutCompatible(Form form){ + Form.traversalWidget(form.getContainer(), new WidgetGather() { + @Override + public void dealWith(Widget widget) { + if (widget.acceptType(WAbsoluteBodyLayout.class)) { + return; + } + WAbsoluteLayout absoluteLayout = (WAbsoluteLayout) widget; + //切换到新模板后,内部的绝对画布块都要设置成适应缩放的逻辑 + absoluteLayout.setCompState(0); + } + + @Override + public boolean dealWithAllCards() { + return true; + } + }, WAbsoluteLayout.class); + } + + + /** * @Description: 创建模板核心方法 * @param old 以前的方法 From 6fa53eda15eb07c0f150f60c6f2bd6428c24defb Mon Sep 17 00:00:00 2001 From: rinoux Date: Mon, 16 Aug 2021 11:05:29 +0800 Subject: [PATCH 4/4] =?UTF-8?q?REPORT-51472=20=E5=B9=B3=E5=8F=B0=E5=BC=80?= =?UTF-8?q?=E5=90=AF=E7=9A=84=E6=A8=A1=E7=89=88=E8=AF=BB=E4=B8=8D=E5=88=B0?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/DesignerStrategyConfigUtils.java | 3 +- .../strategy/StrategyConfigHandler.java | 37 ++++++ .../tabledatapane/DBTableDataPane.java | 114 +++++++++++++++++- .../db/ServerStrategyConfigHandler.java | 70 ----------- .../db/StrategyConfigHandler.java | 16 --- .../db/TemplateStrategyConfigHandler.java | 50 -------- .../fr/start/module/DesignerESDActivator.java | 4 + 7 files changed, 154 insertions(+), 140 deletions(-) create mode 100644 designer-base/src/main/java/com/fr/design/data/tabledata/strategy/StrategyConfigHandler.java delete mode 100644 designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/db/ServerStrategyConfigHandler.java delete mode 100644 designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/db/StrategyConfigHandler.java delete mode 100644 designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/db/TemplateStrategyConfigHandler.java diff --git a/designer-base/src/main/java/com/fr/design/data/DesignerStrategyConfigUtils.java b/designer-base/src/main/java/com/fr/design/data/DesignerStrategyConfigUtils.java index 8bc5f3644..c15b3f3ce 100644 --- a/designer-base/src/main/java/com/fr/design/data/DesignerStrategyConfigUtils.java +++ b/designer-base/src/main/java/com/fr/design/data/DesignerStrategyConfigUtils.java @@ -5,6 +5,7 @@ import com.fr.design.file.HistoryTemplateListCache; import com.fr.design.mainframe.JTemplate; import com.fr.esd.core.strategy.config.StrategyConfig; import com.fr.esd.core.strategy.config.StrategyConfigHelper; +import com.fr.esd.core.strategy.config.service.StrategyConfigService; import com.fr.esd.core.strategy.persistence.StrategyConfigsAttr; import com.fr.esd.event.DSMapping; import com.fr.esd.event.DsNameTarget; @@ -67,7 +68,7 @@ public class DesignerStrategyConfigUtils { FILE file = jTemplate.getEditingFILE(); if (file != null) { String path = file.getPath(); - return StrategyConfigHelper.recommended(path); + return StrategyConfigService.isTemplateEnabled(path); } } return false; diff --git a/designer-base/src/main/java/com/fr/design/data/tabledata/strategy/StrategyConfigHandler.java b/designer-base/src/main/java/com/fr/design/data/tabledata/strategy/StrategyConfigHandler.java new file mode 100644 index 000000000..5b6a744d0 --- /dev/null +++ b/designer-base/src/main/java/com/fr/design/data/tabledata/strategy/StrategyConfigHandler.java @@ -0,0 +1,37 @@ +package com.fr.design.data.tabledata.strategy; + +import com.fr.esd.core.strategy.config.StrategyConfig; +import com.fr.esd.query.StrategicTableData; + +/** + * @author rinoux + * @version 10.0 + * Created by rinoux on 2021/3/19 + */ +public abstract class StrategyConfigHandler { + + private final T tableData; + + public StrategyConfigHandler(T tableData) { + this.tableData = tableData; + } + + protected T getTableData() { + return tableData; + } + + /** + * 查找配置 + * + * @return 缓存配置 + */ + public abstract StrategyConfig find(); + + + /** + * 保存配置 + * + * @param config 缓存配置 + */ + public abstract void save(T saved, StrategyConfig config); +} diff --git a/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/DBTableDataPane.java b/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/DBTableDataPane.java index ec3276b92..8f17a2a10 100644 --- a/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/DBTableDataPane.java +++ b/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/DBTableDataPane.java @@ -18,13 +18,13 @@ import com.fr.design.data.datapane.connect.ConnectionTableProcedurePane; import com.fr.design.data.datapane.preview.PreviewTablePane; import com.fr.design.data.datapane.preview.sql.PreviewPerformedSqlPane; import com.fr.design.data.datapane.sqlpane.SQLEditPane; -import com.fr.design.data.tabledata.tabledatapane.db.ServerStrategyConfigHandler; +import com.fr.design.data.tabledata.strategy.StrategyConfigHandler; +import com.fr.design.data.tabledata.tabledatapane.db.DBTableDataSavedHook; import com.fr.design.data.tabledata.tabledatapane.db.StrategyConfigFrom; -import com.fr.design.data.tabledata.tabledatapane.db.StrategyConfigHandler; -import com.fr.design.data.tabledata.tabledatapane.db.TemplateStrategyConfigHandler; import com.fr.design.dialog.BasicDialog; import com.fr.design.dialog.BasicPane; import com.fr.design.dialog.DialogActionAdapter; +import com.fr.design.file.HistoryTemplateListCache; import com.fr.design.fun.DBTableDataMenuHandler; import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.icheckbox.UICheckBox; @@ -43,7 +43,11 @@ import com.fr.design.menu.ToolBarDef; import com.fr.design.utils.ParameterUtils; import com.fr.design.utils.gui.GUICoreUtils; import com.fr.esd.core.strategy.config.StrategyConfig; +import com.fr.esd.core.strategy.config.StrategyConfigHelper; import com.fr.esd.core.strategy.config.service.StrategyConfigService; +import com.fr.esd.event.DSMapping; +import com.fr.esd.event.DsNameTarget; +import com.fr.esd.event.StrategyEventsNotifier; import com.fr.esd.query.StrategicTableData; import com.fr.general.ComparatorUtils; import com.fr.general.IOUtils; @@ -53,6 +57,7 @@ import com.fr.script.Calculator; import com.fr.stable.ArrayUtils; import com.fr.stable.ParameterProvider; import com.fr.stable.StringUtils; +import com.fr.workspace.WorkContext; import javax.swing.BorderFactory; import javax.swing.Box; @@ -619,4 +624,107 @@ public class DBTableDataPane extends AbstractTableDataPane { return this.title; } } + + /** + * 服务器数据集配置处理器 + */ + private static class ServerStrategyConfigHandler extends StrategyConfigHandler { + private final String origName; + + private final String origConnection; + + private final String origQuery; + + public ServerStrategyConfigHandler(DBTableData tableData) { + super(tableData); + this.origName = tableData.getDsName(); + this.origConnection = tableData.getDatabase().toString(); + this.origQuery = tableData.getQuery(); + } + + @Override + public StrategyConfig find() { + StrategyConfig strategyConfig = null; + if (getTableData() != null) { + try { + strategyConfig = getTableData().getStrategyConfig() == null ? null : getTableData().getStrategyConfig().clone(); + } catch (CloneNotSupportedException e) { + FineLoggerFactory.getLogger().error(e.getMessage(), e); + } + } + + return strategyConfig; + } + + @Override + public void save(DBTableData saved, StrategyConfig strategyConfig) { + String conn = saved.getDatabase().toString(); + String query = saved.getQuery(); + + + //检查数据链接和sql是否修改,如果修改需要触发缓存监听事件 + if (!conn.equals(origConnection) || !query.equals(origQuery)) { + if (StringUtils.isNotEmpty(origName)) { + //新建数据集的origName为null,不用触发 + StrategyEventsNotifier.modifyDataSet(DSMapping.ofServerDS(new DsNameTarget(origName))); + } + } + + + //配置变动事件 + try { + final StrategyConfig orig = getTableData().getStrategyConfig(); + saved.setStrategyConfig(strategyConfig.clone()); + StrategyEventsNotifier.compareAndFireConfigEvents(orig, strategyConfig, DSMapping.ofServerDS(new DsNameTarget(saved.getDsName()))); + } catch (CloneNotSupportedException e) { + FineLoggerFactory.getLogger().error(e.getMessage(), e); + } + } + } + + + /** + * 模版数据集配置处理器 + */ + private static class TemplateStrategyConfigHandler extends StrategyConfigHandler { + public TemplateStrategyConfigHandler(DBTableData tableData) { + super(tableData); + } + + @Override + public StrategyConfig find() { + StrategyConfig strategyConfig = null; + String tplPath = HistoryTemplateListCache.getInstance().getCurrentEditingTemplate().getEditingFILE().getPath(); + if (getTableData() != null && StringUtils.isNotEmpty(tplPath)) { + //设置保存数据集的事件检查钩子 + //新建模版此时不存在,不需要注册钩子 + if (getTableData().getXmlSavedHook() == null && WorkContext.getWorkResource().exist(tplPath)) { + getTableData().setXmlSavedHook(new DBTableDataSavedHook(tplPath, getTableData())); + } + + //获取当前的缓存配置,没有就创建一份 + String dsName = getTableData().getDsName(); + + //这里为了之前兼容插件创建的配置,缓存配置不在DBTableData,而是从模版attr读取 + strategyConfig = DesignerStrategyConfigUtils.getStrategyConfig(dsName); + + if (strategyConfig == null || strategyConfig.isUseGlobal()) { + //模版里面没有配置,检查模版是否被开启 + boolean tplEnabled = StrategyConfigService.isTemplateEnabled(tplPath); + if (tplEnabled) { + //使用全局配置 + strategyConfig = StrategyConfigHelper.createStrategyConfig(true); + } + } + } + + return strategyConfig; + } + + @Override + public void save(DBTableData saved, StrategyConfig config) { + + //DBTableDataSavedHook处理了 + } + } } diff --git a/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/db/ServerStrategyConfigHandler.java b/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/db/ServerStrategyConfigHandler.java deleted file mode 100644 index 467c29482..000000000 --- a/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/db/ServerStrategyConfigHandler.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.fr.design.data.tabledata.tabledatapane.db; - -import com.fr.data.impl.DBTableData; -import com.fr.esd.core.strategy.config.StrategyConfig; -import com.fr.esd.event.DSMapping; -import com.fr.esd.event.DsNameTarget; -import com.fr.esd.event.StrategyEventsNotifier; -import com.fr.log.FineLoggerFactory; -import com.fr.stable.StringUtils; - -/** - * @author rinoux - * @version 10.0 - * Created by rinoux on 2021/3/19 - */ -public class ServerStrategyConfigHandler implements StrategyConfigHandler { - private final DBTableData tableData; - - private final String origName; - - private final String origConnection; - - private final String origQuery; - - public ServerStrategyConfigHandler(DBTableData tableData) { - this.tableData = tableData; - this.origName = tableData.getDsName(); - this.origConnection = tableData.getDatabase().toString(); - this.origQuery = tableData.getQuery(); - } - - @Override - public StrategyConfig find() { - StrategyConfig strategyConfig = null; - if (tableData != null) { - try { - strategyConfig = tableData.getStrategyConfig() == null ? null : tableData.getStrategyConfig().clone(); - } catch (CloneNotSupportedException e) { - FineLoggerFactory.getLogger().error(e.getMessage(), e); - } - } - - return strategyConfig; - } - - @Override - public void save(DBTableData saved, StrategyConfig strategyConfig) { - String conn = saved.getDatabase().toString(); - String query = saved.getQuery(); - - - //检查数据链接和sql是否修改,如果修改需要触发缓存监听事件 - if (!conn.equals(origConnection) || !query.equals(origQuery)) { - if (StringUtils.isNotEmpty(origName)) { - //新建数据集的origName为null,不用触发 - StrategyEventsNotifier.modifyDataSet(DSMapping.ofServerDS(new DsNameTarget(origName))); - } - } - - - //配置变动事件 - try { - final StrategyConfig orig = tableData.getStrategyConfig(); - saved.setStrategyConfig(strategyConfig.clone()); - StrategyEventsNotifier.compareAndFireConfigEvents(orig, strategyConfig, DSMapping.ofServerDS(new DsNameTarget(saved.getDsName()))); - } catch (CloneNotSupportedException e) { - FineLoggerFactory.getLogger().error(e.getMessage(), e); - } - } -} diff --git a/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/db/StrategyConfigHandler.java b/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/db/StrategyConfigHandler.java deleted file mode 100644 index 346410e0e..000000000 --- a/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/db/StrategyConfigHandler.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.fr.design.data.tabledata.tabledatapane.db; - -import com.fr.data.impl.DBTableData; -import com.fr.esd.core.strategy.config.StrategyConfig; - -/** - * @author rinoux - * @version 10.0 - * Created by rinoux on 2021/3/19 - */ -public interface StrategyConfigHandler { - - StrategyConfig find(); - - void save(DBTableData saved, StrategyConfig config); -} diff --git a/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/db/TemplateStrategyConfigHandler.java b/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/db/TemplateStrategyConfigHandler.java deleted file mode 100644 index 4b0c98add..000000000 --- a/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/db/TemplateStrategyConfigHandler.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.fr.design.data.tabledata.tabledatapane.db; - -import com.fr.base.TableData; -import com.fr.data.impl.DBTableData; -import com.fr.design.data.DesignerStrategyConfigUtils; -import com.fr.design.file.HistoryTemplateListCache; -import com.fr.esd.core.strategy.config.StrategyConfig; -import com.fr.esd.query.StrategicTableData; -import com.fr.workspace.WorkContext; - -/** - * @author rinoux - * @version 10.0 - * Created by rinoux on 2021/3/19 - */ -public class TemplateStrategyConfigHandler implements StrategyConfigHandler { - - DBTableData tableData; - - public TemplateStrategyConfigHandler(DBTableData tableData) { - this.tableData = tableData; - } - - @Override - public StrategyConfig find() { - StrategyConfig strategyConfig = null; - if (tableData != null) { - //设置保存数据集的事件检查钩子 - String tplPath = HistoryTemplateListCache.getInstance().getCurrentEditingTemplate().getEditingFILE().getPath(); - - //新建模版此时不存在,不需要注册钩子 - if (tableData.getXmlSavedHook() == null && WorkContext.getWorkResource().exist(tplPath)) { - tableData.setXmlSavedHook(new DBTableDataSavedHook(tplPath, tableData)); - } - - //获取当前的缓存配置,没有就创建一份 - String dsName = tableData.getDsName(); - - //这里为了之前兼容插件创建的配置,缓存配置不在DBTableData,而是从模版attr读取 - strategyConfig = DesignerStrategyConfigUtils.getStrategyConfig(dsName); - } - - return strategyConfig; - } - - @Override - public void save(DBTableData saved, StrategyConfig config) { - - } -} diff --git a/designer-realize/src/main/java/com/fr/start/module/DesignerESDActivator.java b/designer-realize/src/main/java/com/fr/start/module/DesignerESDActivator.java index ebfaf3470..827e91648 100644 --- a/designer-realize/src/main/java/com/fr/start/module/DesignerESDActivator.java +++ b/designer-realize/src/main/java/com/fr/start/module/DesignerESDActivator.java @@ -1,6 +1,9 @@ package com.fr.start.module; +import com.fr.esd.cache.manager.RecommendManager; import com.fr.esd.core.strategy.config.service.StrategyConfigService; +import com.fr.esd.core.strategy.recomend.EnabledTemplateService; +import com.fr.esd.core.strategy.recomend.EnabledTemplateServiceProvider; import com.fr.esd.impl.strategy.config.service.DefaultStrategyConfigServiceProvider; import com.fr.module.Activator; @@ -13,6 +16,7 @@ public class DesignerESDActivator extends Activator { @Override public void start() { StrategyConfigService.setService(new DefaultStrategyConfigServiceProvider()); + EnabledTemplateService.getInstance().registerService(path -> RecommendManager.getInstance().findByPath(path) != null); } @Override