From 86904e54b528d523c627618f4a368ff71e52c984 Mon Sep 17 00:00:00 2001 From: Kalven Date: Mon, 26 Aug 2019 16:50:58 +0800 Subject: [PATCH 01/10] =?UTF-8?q?KERNEL-1117=20=E5=AE=8C=E6=88=90=E4=BA=86?= =?UTF-8?q?=E6=8F=92=E4=BB=B6=E9=83=A8=E5=88=86SDK=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.xml | 4 +-- .../design/formula/ui/GroupFormulaPane.java | 29 ++++++++++--------- .../ui/type/impl/BasicFormulaPane.java | 3 +- .../ui/type/impl/ScriptFormulaPane.java | 5 ++-- 4 files changed, 22 insertions(+), 19 deletions(-) diff --git a/build.xml b/build.xml index b15eec1..85dc654 100644 --- a/build.xml +++ b/build.xml @@ -88,8 +88,8 @@ - - + + diff --git a/src/main/java/com/fr/solution/plugin/design/formula/ui/GroupFormulaPane.java b/src/main/java/com/fr/solution/plugin/design/formula/ui/GroupFormulaPane.java index a0301f5..0e9ccb2 100644 --- a/src/main/java/com/fr/solution/plugin/design/formula/ui/GroupFormulaPane.java +++ b/src/main/java/com/fr/solution/plugin/design/formula/ui/GroupFormulaPane.java @@ -1,7 +1,11 @@ package com.fr.solution.plugin.design.formula.ui; + +import com.fanruan.api.util.*; import com.fr.base.BaseFormula; + import com.fr.base.BaseUtils; + import com.fr.base.FRContext; import com.fr.base.Parameter; import com.fr.base.ParameterMapNameSpace; @@ -28,18 +32,17 @@ import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.JTemplate; import com.fr.design.parameter.ParameterInputPane; + import com.fr.design.utils.gui.GUICoreUtils; + import com.fr.general.FRLogger; -import com.fr.general.GeneralUtils; import com.fr.report.core.namespace.SimpleCellValueNameSpace; import com.fr.script.Calculator; import com.fr.solution.plugin.design.formula.compat.DesignToolkit; import com.fr.solution.plugin.design.formula.compat.FunctionConstants; import com.fr.solution.plugin.design.formula.ui.evt.OperateListener; import com.fr.solution.plugin.design.formula.ui.type.CategoryFormulaPane; -import com.fr.stable.ArrayUtils; import com.fr.stable.EncodeConstants; -import com.fr.stable.StringUtils; import com.fr.stable.UtilEvalError; import javax.swing.*; @@ -252,7 +255,7 @@ public class GroupFormulaPane extends BasicPane implements UIFormula, OperateLis NameAndDescription and = descriptions[i]; String functionName = and.searchResult(keyWord, findDescription); - if (StringUtils.isNotBlank(functionName)) { + if (StringKit.isNotBlank(functionName)) { listModel.addElement(functionName); } } @@ -337,7 +340,7 @@ public class GroupFormulaPane extends BasicPane implements UIFormula, OperateLis private String calculate(BaseFormula formula, Parameter[] parameters, Calculator calculator) { final Map parameterMap = new HashMap(); - if (ArrayUtils.isNotEmpty(parameters)) { + if (ArrayKit.isNotEmpty(parameters)) { final ParameterInputPane pPane = new ParameterInputPane(parameters); pPane.showSmallWindow(DesignerContext.getDesignerFrame(), new DialogActionAdapter() { @Override @@ -350,7 +353,7 @@ public class GroupFormulaPane extends BasicPane implements UIFormula, OperateLis String message; try { Object result = formula.evalValue(calculator); - message = DesignToolkit.getLocText("Plugin-Design_Group_Formula_Result") + ":" + GeneralUtils.objectToString(result); + message = DesignToolkit.getLocText("Plugin-Design_Group_Formula_Result") + ":" + GeneralKit.objectToString(result); } catch (UtilEvalError utilEvalError) { message = DesignToolkit.getLocText("Plugin-Design_Group_Formula_Calculate_Error") + ":" + utilEvalError.getMessage(); } @@ -474,7 +477,7 @@ public class GroupFormulaPane extends BasicPane implements UIFormula, OperateLis popupMenu.add(lookDetailAction); // peter: 只有弹出菜单有子菜单的时候,才需要弹出来. - GUICoreUtils.showPopupMenu(popupMenu, functionNameList, evt.getX() - 1, evt.getY() - 1); + GUICoreKit.showPopupMenu(popupMenu, functionNameList, evt.getX() - 1, evt.getY() - 1); } } }); @@ -518,7 +521,7 @@ public class GroupFormulaPane extends BasicPane implements UIFormula, OperateLis private StringBuilder getText(TextUserObject selectedValue, String path) throws IOException { Reader desReader; StringBuilder desBuf = new StringBuilder(); - InputStream desInputStream = BaseUtils.readResource(path + (selectedValue).displayText + ".txt"); + InputStream desInputStream = BaseKit.readResource(path + (selectedValue).displayText + ".txt"); if (desInputStream == null) { String description = ""; desReader = new StringReader(description); @@ -706,24 +709,24 @@ public class GroupFormulaPane extends BasicPane implements UIFormula, OperateLis } rootNode.add(new TextFolderUserObject(DesignToolkit.getLocText("Plugin-Design_Basic_FormulaD_Data_Fields"), - BaseUtils.readIcon("/com/fr/design/images/dialog/table.png"), + BaseKit.readIcon("/com/fr/design/images/dialog/table.png"), variableResolver.resolveColumnNames()).createMutableTreeNode()); // Set cutReport Variable rootNode.add(new TextFolderUserObject(DesignToolkit.getLocText("Plugin-Design_Basic_FormulaPane_Variables"), - BaseUtils.readIcon("/com/fr/design/images/dialog/variable.png"), + BaseKit.readIcon("/com/fr/design/images/dialog/variable.png"), variableResolver.resolveCurReportVariables()).createMutableTreeNode()); rootNode.add(new TextFolderUserObject(DesignToolkit.getLocText("Plugin-Design_Basic_Parameter_Source_Type_Tabledata"), - BaseUtils.readIcon("/com/fr/design/images/dialog/parameter.gif"), + BaseKit.readIcon("/com/fr/design/images/dialog/parameter.gif"), variableResolver.resolveTableDataParameterVariables()).createMutableTreeNode()); rootNode.add(new TextFolderUserObject(DesignToolkit.getLocText("Plugin-Design_Basic_ParameterD_Report_Parameter"), - BaseUtils.readIcon("/com/fr/design/images/m_report/p.gif"), + BaseKit.readIcon("/com/fr/design/images/m_report/p.gif"), variableResolver.resolveReportParameterVariables()).createMutableTreeNode()); rootNode.add(new TextFolderUserObject(DesignToolkit.getLocText("Plugin-Design_Basic_M_Server_Global_Parameters"), - BaseUtils.readIcon("/com/fr/design/images/dialog/parameter.gif"), + BaseKit.readIcon("/com/fr/design/images/dialog/parameter.gif"), variableResolver.resolveGlobalParameterVariables()).createMutableTreeNode()); variableModel.reload(); diff --git a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/BasicFormulaPane.java b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/BasicFormulaPane.java index 1635d3b..b9e1a59 100644 --- a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/BasicFormulaPane.java +++ b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/BasicFormulaPane.java @@ -1,5 +1,6 @@ package com.fr.solution.plugin.design.formula.ui.type.impl; +import com.fanruan.api.util.StringKit; import com.fr.base.Formula; import com.fr.base.Parameter; import com.fr.design.gui.syntax.ui.rsyntaxtextarea.RSyntaxTextArea; @@ -36,7 +37,7 @@ public class BasicFormulaPane extends BaseFormulaPane { @Override protected Formula createFormula(String content) { Formula formula; - if (StringUtils.isEmpty(content) || content.trim().charAt(0) == '=') { + if (StringKit.isEmpty(content) || content.trim().charAt(0) == '=') { formula = new Formula(content); } else { formula = new Formula("=" + content); diff --git a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/ScriptFormulaPane.java b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/ScriptFormulaPane.java index 8cee59a..0a5db53 100644 --- a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/ScriptFormulaPane.java +++ b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/ScriptFormulaPane.java @@ -1,9 +1,9 @@ package com.fr.solution.plugin.design.formula.ui.type.impl; +import com.fanruan.api.util.TemplateKit; import com.fr.base.Parameter; import com.fr.base.ParameterHelper; import com.fr.base.ScriptFormula; -import com.fr.base.TemplateUtils; import com.fr.design.gui.syntax.ui.rsyntaxtextarea.RSyntaxTextArea; import com.fr.design.gui.syntax.ui.rsyntaxtextarea.SyntaxConstants; import com.fr.general.FRLogger; @@ -13,7 +13,6 @@ import com.fr.script.ScriptFactory; import com.fr.solution.plugin.design.formula.ui.type.BaseFormulaPane; import com.fr.stable.StringUtils; -import javax.script.ScriptException; import java.util.HashMap; import java.util.Map; @@ -99,7 +98,7 @@ public class ScriptFormulaPane extends BaseFormulaPane { } try { - String content = TemplateUtils.renderParameter4Tpl(formula.getPureContent(), map); + String content = TemplateKit.renderParameter4Tpl(formula.getPureContent(), map); ScriptFactory.newSingletonScriptEngine().eval(String.format(FUN_TPL, content)); } catch (Exception e) { FRLogger.getLogger().error(e.getMessage(), e); From 70078b378062e03ad8c4a182bb288dae2d5d3539 Mon Sep 17 00:00:00 2001 From: Kalven Date: Tue, 27 Aug 2019 09:57:38 +0800 Subject: [PATCH 02/10] =?UTF-8?q?KERNEL-1117=20=E5=88=A0=E9=99=A4=E5=A4=9A?= =?UTF-8?q?=E4=BD=99=E7=9A=84=E6=97=A0=E7=94=A8=E4=BB=A3=E7=A0=81=EF=BC=8C?= =?UTF-8?q?=E5=AE=8C=E5=96=84=E4=B9=8B=E5=89=8D=E5=B7=A5=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../formula/compat/FunctionConstants.java | 11 +++++----- .../design/formula/ui/GroupFormulaPane.java | 20 +++++++++---------- .../formula/ui/type/BaseFormulaPane.java | 14 +++---------- .../ui/type/impl/BasicFormulaPane.java | 1 - .../ui/type/impl/ScriptFormulaPane.java | 4 ++-- 5 files changed, 21 insertions(+), 29 deletions(-) diff --git a/src/main/java/com/fr/solution/plugin/design/formula/compat/FunctionConstants.java b/src/main/java/com/fr/solution/plugin/design/formula/compat/FunctionConstants.java index 8efe0dc..63a2606 100644 --- a/src/main/java/com/fr/solution/plugin/design/formula/compat/FunctionConstants.java +++ b/src/main/java/com/fr/solution/plugin/design/formula/compat/FunctionConstants.java @@ -1,5 +1,7 @@ package com.fr.solution.plugin.design.formula.compat; +import com.fanruan.api.util.GeneralKit; +import com.fanruan.api.util.StableKit; import com.fr.design.formula.FunctionDefNAD; import com.fr.design.formula.FunctionGroup; import com.fr.design.formula.NameAndDescription; @@ -17,11 +19,9 @@ import com.fr.function.SUM; import com.fr.function.TIME; import com.fr.general.ComparatorUtils; import com.fr.general.FRLogger; -import com.fr.general.GeneralUtils; import com.fr.plugin.ExtraClassManager; import com.fr.stable.EncodeConstants; import com.fr.stable.OperatingSystem; -import com.fr.stable.StableUtils; import com.fr.stable.StringUtils; import com.fr.stable.fun.FunctionDefContainer; import com.fr.stable.fun.mark.Mutable; @@ -96,7 +96,8 @@ public final class FunctionConstants { for (String fileName : findClassNamesUnderFilePath(classFilePath)) { try { Class cls = Class.forName(pkgName + "." + fileName.substring(0, fileName.length() - 6)); - if (StableUtils.classInstanceOf(cls, iface)) { +// if (StableUtils.classInstanceOf(cls, iface)) { + if (StableKit.classInstanceOf(cls, iface)) { Function inst; inst = (Function)cls.newInstance(); for (NameAndTypeAndFunctionList EMBFUNCTION : EMBFUNCTIONS) { @@ -119,7 +120,7 @@ public final class FunctionConstants { } private static boolean isNotDebugMode() { - return GeneralUtils.readBuildNO().contains("-"); + return GeneralKit.readBuildNO().contains("-"); } private static boolean isJarPath(String classFilePath) { @@ -311,7 +312,7 @@ public final class FunctionConstants { Collections.sort(all, new Comparator() { @Override public int compare(NameAndDescription o1, NameAndDescription o2) { - return ComparatorUtils.compare(o1.getName(), o2.getName()); + return GeneralKit.compare(o1.getName(), o2.getName()); } }); diff --git a/src/main/java/com/fr/solution/plugin/design/formula/ui/GroupFormulaPane.java b/src/main/java/com/fr/solution/plugin/design/formula/ui/GroupFormulaPane.java index 0e9ccb2..9500904 100644 --- a/src/main/java/com/fr/solution/plugin/design/formula/ui/GroupFormulaPane.java +++ b/src/main/java/com/fr/solution/plugin/design/formula/ui/GroupFormulaPane.java @@ -1,10 +1,11 @@ package com.fr.solution.plugin.design.formula.ui; +import com.fanruan.api.util.IOKit; +import com.fanruan.api.design.util.GUICoreKit; import com.fanruan.api.util.*; import com.fr.base.BaseFormula; -import com.fr.base.BaseUtils; import com.fr.base.FRContext; import com.fr.base.Parameter; @@ -33,7 +34,6 @@ import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.JTemplate; import com.fr.design.parameter.ParameterInputPane; -import com.fr.design.utils.gui.GUICoreUtils; import com.fr.general.FRLogger; import com.fr.report.core.namespace.SimpleCellValueNameSpace; @@ -148,7 +148,7 @@ public class GroupFormulaPane extends BasicPane implements UIFormula, OperateLis JPanel checkBoxPane = FRGUIPaneFactory.createNormalFlowInnerContainer_S_Pane(); checkBoxPane.setPreferredSize(new Dimension(450, 30)); checkBoxAndButtonPane.add(checkBoxPane, BorderLayout.WEST); - checkBoxAndButtonPane.add(GUICoreUtils.createFlowPane(checkValidButton, calculateButton), BorderLayout.EAST); + checkBoxAndButtonPane.add(GUICoreKit.createFlowPane(checkValidButton, calculateButton), BorderLayout.EAST); extendCheckBoxPane(checkBoxPane); variableTreeAndDescriptionArea = new VariableTreeAndDescriptionArea(); this.add(variableTreeAndDescriptionArea, BorderLayout.SOUTH); @@ -521,7 +521,7 @@ public class GroupFormulaPane extends BasicPane implements UIFormula, OperateLis private StringBuilder getText(TextUserObject selectedValue, String path) throws IOException { Reader desReader; StringBuilder desBuf = new StringBuilder(); - InputStream desInputStream = BaseKit.readResource(path + (selectedValue).displayText + ".txt"); + InputStream desInputStream = IOKit.readResource(path + (selectedValue).displayText + ".txt"); if (desInputStream == null) { String description = ""; desReader = new StringReader(description); @@ -606,7 +606,7 @@ public class GroupFormulaPane extends BasicPane implements UIFormula, OperateLis public LookDetailAction() { this.setName(DesignToolkit.getLocText("Plugin-Design_Basic_FormulaPane_Function_Detail")); this.setMnemonic('L'); - this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/m_file/preview.png")); + this.setSmallIcon(IOKit.readIcon("/com/fr/design/images/m_file/preview.png")); } // 弹出的窗口中显示函数的用法明细 @@ -709,24 +709,24 @@ public class GroupFormulaPane extends BasicPane implements UIFormula, OperateLis } rootNode.add(new TextFolderUserObject(DesignToolkit.getLocText("Plugin-Design_Basic_FormulaD_Data_Fields"), - BaseKit.readIcon("/com/fr/design/images/dialog/table.png"), + IOKit.readIcon("/com/fr/design/images/dialog/table.png"), variableResolver.resolveColumnNames()).createMutableTreeNode()); // Set cutReport Variable rootNode.add(new TextFolderUserObject(DesignToolkit.getLocText("Plugin-Design_Basic_FormulaPane_Variables"), - BaseKit.readIcon("/com/fr/design/images/dialog/variable.png"), + IOKit.readIcon("/com/fr/design/images/dialog/variable.png"), variableResolver.resolveCurReportVariables()).createMutableTreeNode()); rootNode.add(new TextFolderUserObject(DesignToolkit.getLocText("Plugin-Design_Basic_Parameter_Source_Type_Tabledata"), - BaseKit.readIcon("/com/fr/design/images/dialog/parameter.gif"), + IOKit.readIcon("/com/fr/design/images/dialog/parameter.gif"), variableResolver.resolveTableDataParameterVariables()).createMutableTreeNode()); rootNode.add(new TextFolderUserObject(DesignToolkit.getLocText("Plugin-Design_Basic_ParameterD_Report_Parameter"), - BaseKit.readIcon("/com/fr/design/images/m_report/p.gif"), + IOKit.readIcon("/com/fr/design/images/m_report/p.gif"), variableResolver.resolveReportParameterVariables()).createMutableTreeNode()); rootNode.add(new TextFolderUserObject(DesignToolkit.getLocText("Plugin-Design_Basic_M_Server_Global_Parameters"), - BaseKit.readIcon("/com/fr/design/images/dialog/parameter.gif"), + IOKit.readIcon("/com/fr/design/images/dialog/parameter.gif"), variableResolver.resolveGlobalParameterVariables()).createMutableTreeNode()); variableModel.reload(); diff --git a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/BaseFormulaPane.java b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/BaseFormulaPane.java index 1ac6fde..9d0e257 100644 --- a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/BaseFormulaPane.java +++ b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/BaseFormulaPane.java @@ -1,20 +1,13 @@ package com.fr.solution.plugin.design.formula.ui.type; +import com.fanruan.api.util.StringKit; import com.fr.base.BaseFormula; import com.fr.design.beans.FurtherBasicBeanPane; import com.fr.design.gui.icontainer.UIScrollPane; import com.fr.design.gui.syntax.ui.rsyntaxtextarea.RSyntaxTextArea; -import com.fr.general.FRLogger; import com.fr.general.Inter; -import com.fr.log.FineLoggerFactory; -import com.fr.parser.FRLexer; -import com.fr.parser.FRParser; -import com.fr.script.Calculator; import com.fr.solution.plugin.design.formula.ui.evt.OperateListener; import com.fr.stable.ProductConstants; -import com.fr.stable.StringUtils; -import com.fr.stable.script.Expression; -import com.fr.third.antlr.ANTLRException; import javax.swing.*; import java.awt.*; @@ -23,7 +16,6 @@ import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; -import java.io.StringReader; public abstract class BaseFormulaPane extends FurtherBasicBeanPane implements CommonEvent, KeyListener { @@ -205,7 +197,7 @@ public abstract class BaseFormulaPane extends FurtherBasi @Override public void keyPressed(KeyEvent e) { if (ifHasBeenWritten == 0) { - this.formulaTextArea.setText(StringUtils.EMPTY); + this.formulaTextArea.setText(StringKit.EMPTY); } } @@ -307,7 +299,7 @@ public abstract class BaseFormulaPane extends FurtherBasi public void checkContentValid() { // Execute Formula default cell element. String formulaText = formulaTextArea.getText().trim(); - if (StringUtils.isNotEmpty(formulaText)) { + if (StringKit.isNotEmpty(formulaText)) { JOptionPane.showMessageDialog( BaseFormulaPane.this, (isValidFormula(formulaText) ? Inter.getLocText("Plugin-Design_Basic_FormulaD_Valid_Formula") : Inter.getLocText("Plugin-Design_Basic_FormulaD_Invalid_Formula")) + ".", ProductConstants.PRODUCT_NAME, diff --git a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/BasicFormulaPane.java b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/BasicFormulaPane.java index b9e1a59..404d896 100644 --- a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/BasicFormulaPane.java +++ b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/BasicFormulaPane.java @@ -8,7 +8,6 @@ import com.fr.design.gui.syntax.ui.rsyntaxtextarea.SyntaxConstants; import com.fr.general.FRLogger; import com.fr.script.Calculator; import com.fr.solution.plugin.design.formula.ui.type.BaseFormulaPane; -import com.fr.stable.StringUtils; import com.fr.stable.script.Expression; import com.fr.third.antlr.ANTLRException; diff --git a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/ScriptFormulaPane.java b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/ScriptFormulaPane.java index 0a5db53..3c2326c 100644 --- a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/ScriptFormulaPane.java +++ b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/ScriptFormulaPane.java @@ -1,5 +1,6 @@ package com.fr.solution.plugin.design.formula.ui.type.impl; +import com.fanruan.api.util.StringKit; import com.fanruan.api.util.TemplateKit; import com.fr.base.Parameter; import com.fr.base.ParameterHelper; @@ -11,7 +12,6 @@ import com.fr.general.Inter; import com.fr.script.Calculator; import com.fr.script.ScriptFactory; import com.fr.solution.plugin.design.formula.ui.type.BaseFormulaPane; -import com.fr.stable.StringUtils; import java.util.HashMap; import java.util.Map; @@ -55,7 +55,7 @@ public class ScriptFormulaPane extends BaseFormulaPane { @Override protected ScriptFormula createFormula(String content) { ScriptFormula formula; - if (StringUtils.isEmpty(content) || content.trim().charAt(0) == '=') { + if (StringKit.isEmpty(content) || content.trim().charAt(0) == '=') { formula = new ScriptFormula(content); } else { formula = new ScriptFormula("=" + content); From 315f6fd73039f88f4ec585236922c877c168eded Mon Sep 17 00:00:00 2001 From: Kalven Date: Wed, 28 Aug 2019 09:31:18 +0800 Subject: [PATCH 03/10] =?UTF-8?q?KERNEL-1117=20=E7=94=B1=E4=BA=8Efinekit?= =?UTF-8?q?=E6=94=B9=E5=8F=98=EF=BC=8C=E6=94=B9=E5=8F=98=E7=9B=B8=E5=BA=94?= =?UTF-8?q?=E7=9A=84=E5=9C=B0=E6=96=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/design/formula/compat/FunctionConstants.java | 5 ++--- .../design/formula/ui/type/impl/ScriptFormulaPane.java | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/fr/solution/plugin/design/formula/compat/FunctionConstants.java b/src/main/java/com/fr/solution/plugin/design/formula/compat/FunctionConstants.java index 63a2606..4098ddb 100644 --- a/src/main/java/com/fr/solution/plugin/design/formula/compat/FunctionConstants.java +++ b/src/main/java/com/fr/solution/plugin/design/formula/compat/FunctionConstants.java @@ -1,7 +1,7 @@ package com.fr.solution.plugin.design.formula.compat; import com.fanruan.api.util.GeneralKit; -import com.fanruan.api.util.StableKit; +import com.fanruan.api.util.ReflectKit; import com.fr.design.formula.FunctionDefNAD; import com.fr.design.formula.FunctionGroup; import com.fr.design.formula.NameAndDescription; @@ -96,8 +96,7 @@ public final class FunctionConstants { for (String fileName : findClassNamesUnderFilePath(classFilePath)) { try { Class cls = Class.forName(pkgName + "." + fileName.substring(0, fileName.length() - 6)); -// if (StableUtils.classInstanceOf(cls, iface)) { - if (StableKit.classInstanceOf(cls, iface)) { + if (ReflectKit.classInstanceOf(cls, iface)) { Function inst; inst = (Function)cls.newInstance(); for (NameAndTypeAndFunctionList EMBFUNCTION : EMBFUNCTIONS) { diff --git a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/ScriptFormulaPane.java b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/ScriptFormulaPane.java index 3c2326c..5cd85c6 100644 --- a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/ScriptFormulaPane.java +++ b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/ScriptFormulaPane.java @@ -1,7 +1,7 @@ package com.fr.solution.plugin.design.formula.ui.type.impl; import com.fanruan.api.util.StringKit; -import com.fanruan.api.util.TemplateKit; +import com.fanruan.api.util.RenderKit; import com.fr.base.Parameter; import com.fr.base.ParameterHelper; import com.fr.base.ScriptFormula; @@ -98,7 +98,7 @@ public class ScriptFormulaPane extends BaseFormulaPane { } try { - String content = TemplateKit.renderParameter4Tpl(formula.getPureContent(), map); + String content = RenderKit.renderParameter4Tpl(formula.getPureContent(), map); ScriptFactory.newSingletonScriptEngine().eval(String.format(FUN_TPL, content)); } catch (Exception e) { FRLogger.getLogger().error(e.getMessage(), e); From 8cf21f7c40fb2f8d21ea60e60610900eefecc6d2 Mon Sep 17 00:00:00 2001 From: Kalven Date: Sat, 31 Aug 2019 13:02:30 +0800 Subject: [PATCH 04/10] =?UTF-8?q?KERNEL-1117=20=E6=8F=92=E4=BB=B6=E5=9F=BA?= =?UTF-8?q?=E6=9C=AC=E6=94=B9=E5=86=99=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 4 +- .../design/formula/compat/DesignToolkit.java | 7 +- .../formula/compat/FunctionConstants.java | 63 ++++++++------- .../design/formula/ui/GroupFormulaPane.java | 80 ++++++++++--------- .../GroupFormulaPaneWhenReserveFormula.java | 2 +- .../formula/ui/type/BaseFormulaPane.java | 25 +++--- .../formula/ui/type/CategoryFormulaPane.java | 19 +++-- .../design/formula/ui/type/CommonEvent.java | 6 +- .../ui/type/impl/BasicFormulaPane.java | 35 ++++---- .../ui/type/impl/ScriptFormulaPane.java | 39 ++++----- 10 files changed, 154 insertions(+), 126 deletions(-) diff --git a/pom.xml b/pom.xml index 5c01230..bba9648 100644 --- a/pom.xml +++ b/pom.xml @@ -20,8 +20,8 @@ org.apache.maven.plugins maven-compiler-plugin - 6 - 6 + 8 + 8 diff --git a/src/main/java/com/fr/solution/plugin/design/formula/compat/DesignToolkit.java b/src/main/java/com/fr/solution/plugin/design/formula/compat/DesignToolkit.java index c6740e7..302418a 100644 --- a/src/main/java/com/fr/solution/plugin/design/formula/compat/DesignToolkit.java +++ b/src/main/java/com/fr/solution/plugin/design/formula/compat/DesignToolkit.java @@ -1,7 +1,8 @@ package com.fr.solution.plugin.design.formula.compat; -import com.fr.general.Inter; -import com.fr.stable.ProductConstants; +import com.fanruan.api.i18n.I18nKit; +import com.fanruan.api.macro.ProductConstants; + /** * @author richie @@ -14,7 +15,7 @@ public class DesignToolkit { public static String getLocText(String key) { if (version < 10) { - return Inter.getLocText(key); + return I18nKit.getLocText(key); } else { try { return (String) Class.forName("com.fr.design.i18n.Toolkit").getMethod("i18nText", new Class[]{String.class}).invoke(null, key); diff --git a/src/main/java/com/fr/solution/plugin/design/formula/compat/FunctionConstants.java b/src/main/java/com/fr/solution/plugin/design/formula/compat/FunctionConstants.java index 4098ddb..02cab11 100644 --- a/src/main/java/com/fr/solution/plugin/design/formula/compat/FunctionConstants.java +++ b/src/main/java/com/fr/solution/plugin/design/formula/compat/FunctionConstants.java @@ -1,31 +1,36 @@ package com.fr.solution.plugin.design.formula.compat; +import com.fanruan.api.design.util.FunctionDefNAD; +import com.fanruan.api.design.util.FunctionManagerKit; +import com.fanruan.api.design.util.NameAndFunctionList; +import com.fanruan.api.design.util.NameAndTypeAndFunctionList; +import com.fanruan.api.function.AVERAGE; +import com.fanruan.api.function.CHAR; +import com.fanruan.api.function.COUNT; +import com.fanruan.api.function.DATE; +import com.fanruan.api.function.MAX; +import com.fanruan.api.function.MIN; +import com.fanruan.api.function.RANGE; +import com.fanruan.api.function.SUM; +import com.fanruan.api.function.TIME; +import com.fanruan.api.macro.EncodeConstants; +import com.fanruan.api.macro.OperatingSystemKit; +import com.fanruan.api.plugin.ExtraClassManagerKit; import com.fanruan.api.util.GeneralKit; -import com.fanruan.api.util.ReflectKit; -import com.fr.design.formula.FunctionDefNAD; +import com.fanruan.api.util.StringKit; +import com.fanruan.api.util.TypeKit; + +import com.fr.stable.script.Function; +import com.fr.file.FunctionManagerProvider; +import com.fr.stable.fun.FunctionDefContainer; import com.fr.design.formula.FunctionGroup; +import com.fr.stable.fun.mark.Mutable; import com.fr.design.formula.NameAndDescription; -import com.fr.design.formula.NameAndFunctionList; -import com.fr.design.formula.NameAndTypeAndFunctionList; -import com.fr.file.FunctionManager; -import com.fr.function.AVERAGE; -import com.fr.function.CHAR; -import com.fr.function.COUNT; -import com.fr.function.DATE; -import com.fr.function.MAX; -import com.fr.function.MIN; -import com.fr.function.RANGE; -import com.fr.function.SUM; -import com.fr.function.TIME; -import com.fr.general.ComparatorUtils; + +//先不改 import com.fr.general.FRLogger; -import com.fr.plugin.ExtraClassManager; -import com.fr.stable.EncodeConstants; -import com.fr.stable.OperatingSystem; -import com.fr.stable.StringUtils; -import com.fr.stable.fun.FunctionDefContainer; -import com.fr.stable.fun.mark.Mutable; -import com.fr.stable.script.Function; + +//有问题 import com.fr.stable.script.FunctionDef; import javax.swing.*; @@ -96,7 +101,7 @@ public final class FunctionConstants { for (String fileName : findClassNamesUnderFilePath(classFilePath)) { try { Class cls = Class.forName(pkgName + "." + fileName.substring(0, fileName.length() - 6)); - if (ReflectKit.classInstanceOf(cls, iface)) { + if (TypeKit.classInstanceOf(cls, iface)) { Function inst; inst = (Function)cls.newInstance(); for (NameAndTypeAndFunctionList EMBFUNCTION : EMBFUNCTIONS) { @@ -132,7 +137,7 @@ public final class FunctionConstants { */ public static void addFunctionGroupFromPlugins(DefaultListModel listModel){ //hugh:自定义函数分组 - Set containers = ExtraClassManager.getInstance().getArray(FunctionDefContainer.MARK_STRING); + Set containers = ExtraClassManagerKit.getInstance().getArray(FunctionDefContainer.MARK_STRING); if(!containers.isEmpty()){ for(Mutable container : containers){ listModel.addElement(createFunctionGroup((FunctionDefContainer)container)); @@ -179,9 +184,9 @@ public final class FunctionConstants { if(classPath.endsWith("/")){ classPath = classPath.substring(0, classPath.length() - 1); } - if (!OperatingSystem.isWindows()){ + if (!OperatingSystemKit.isWindows()){ //windows里substring后是d:\123\456, mac下substring后是Application/123/456 - jarPath = StringUtils.perfectStart(jarPath, "/"); + jarPath = StringKit.perfectStart(jarPath, "/"); } ZipFile zip; @@ -229,7 +234,7 @@ public final class FunctionConstants { @Override public NameAndDescription[] getDescriptions() { - FunctionDef[] fs = ExtraClassManager.getInstance().getFunctionDef(); + FunctionDef[] fs = ExtraClassManagerKit.getInstance().getFunctionDef(); int count = fs.length; FunctionDefNAD[] nads = new FunctionDefNAD[count]; for (int i = 0; i < count; i ++) { @@ -249,7 +254,7 @@ public final class FunctionConstants { @Override public NameAndDescription[] getDescriptions() { - FunctionManager funtionManager = FunctionManager.getInstance(); + FunctionManagerProvider funtionManager = FunctionManagerKit.getInstance(); if (funtionManager != null) { int functionDefCount = funtionManager.getFunctionDefCount(); @@ -301,7 +306,7 @@ public final class FunctionConstants { Collections.addAll(all, PLUGIN.getDescriptions()); Collections.addAll(all, CUSTOM.getDescriptions()); //hugh:自定义函数分组 - Set containers = ExtraClassManager.getInstance().getArray(FunctionDefContainer.MARK_STRING); + Set containers = ExtraClassManagerKit.getInstance().getArray(FunctionDefContainer.MARK_STRING); if(!containers.isEmpty()){ for(Mutable container : containers){ Collections.addAll(all,createFunctionGroup(((FunctionDefContainer)container)).getDescriptions()); diff --git a/src/main/java/com/fr/solution/plugin/design/formula/ui/GroupFormulaPane.java b/src/main/java/com/fr/solution/plugin/design/formula/ui/GroupFormulaPane.java index 9500904..6583115 100644 --- a/src/main/java/com/fr/solution/plugin/design/formula/ui/GroupFormulaPane.java +++ b/src/main/java/com/fr/solution/plugin/design/formula/ui/GroupFormulaPane.java @@ -1,49 +1,57 @@ package com.fr.solution.plugin.design.formula.ui; - +import com.fanruan.api.cal.CalculatorKit; +import com.fanruan.api.cal.ParameterKit; +import com.fanruan.api.cal.namespace.SimpleCellValueNameSpaceKit; +import com.fanruan.api.design.DesignKit; +import com.fanruan.api.design.ui.container.DialogActionAdapter; +import com.fanruan.api.design.ui.component.*; +import com.fanruan.api.design.ui.container.BasicPane; +import com.fanruan.api.design.ui.action.UpdateAction; +import com.fanruan.api.design.ui.container.HistoryTemplateListPane; +import com.fanruan.api.design.ui.container.ParameterInputPane; +import com.fanruan.api.design.ui.container.UIScrollPane; +import com.fanruan.api.design.ui.component.QuickList; +import com.fanruan.api.macro.EncodeConstants; import com.fanruan.api.util.IOKit; import com.fanruan.api.design.util.GUICoreKit; import com.fanruan.api.util.*; -import com.fr.base.BaseFormula; - -import com.fr.base.FRContext; -import com.fr.base.Parameter; -import com.fr.base.ParameterMapNameSpace; -import com.fr.base.io.IOFile; +/** + * 接口 + */ +import com.fr.base.BaseFormula; import com.fr.data.TableDataSource; -import com.fr.design.actions.UpdateAction; -import com.fr.design.border.UIRoundedBorder; import com.fr.design.constants.UIConstants; -import com.fr.design.dialog.BasicDialog; -import com.fr.design.dialog.BasicPane; -import com.fr.design.dialog.DialogActionAdapter; -import com.fr.design.file.HistoryTemplateListPane; -import com.fr.design.formula.FunctionGroup; -import com.fr.design.formula.NameAndDescription; import com.fr.design.formula.UIFormula; import com.fr.design.formula.VariableResolver; -import com.fr.design.gui.ibutton.UIButton; -import com.fr.design.gui.icontainer.UIScrollPane; -import com.fr.design.gui.ilable.UILabel; -import com.fr.design.gui.ilist.QuickList; -import com.fr.design.gui.itextarea.UITextArea; -import com.fr.design.gui.itextfield.UITextField; import com.fr.design.layout.FRGUIPaneFactory; -import com.fr.design.mainframe.DesignerContext; +import com.fr.general.FRLogger; +import com.fr.stable.ParameterProvider; +import com.fr.stable.script.CalculatorProvider; +import com.fr.design.formula.FunctionGroup; +/** + * 调用了其他函数的方法,返回值是父类,无法赋值给子类 + */ +import com.fr.design.dialog.BasicDialog; +import com.fr.design.formula.NameAndDescription; import com.fr.design.mainframe.JTemplate; -import com.fr.design.parameter.ParameterInputPane; +/** + * 类似于上一个问题,不过是无法获取父类异常 + */ +import com.fr.stable.UtilEvalError; + +/** + * IOFile更改后悔出错不敢换,有instance,可能出错 + */ +import com.fr.base.io.IOFile; -import com.fr.general.FRLogger; -import com.fr.report.core.namespace.SimpleCellValueNameSpace; -import com.fr.script.Calculator; import com.fr.solution.plugin.design.formula.compat.DesignToolkit; import com.fr.solution.plugin.design.formula.compat.FunctionConstants; import com.fr.solution.plugin.design.formula.ui.evt.OperateListener; import com.fr.solution.plugin.design.formula.ui.type.CategoryFormulaPane; -import com.fr.stable.EncodeConstants; -import com.fr.stable.UtilEvalError; + import javax.swing.*; import javax.swing.event.ListSelectionEvent; @@ -325,31 +333,31 @@ public class GroupFormulaPane extends BasicPane implements UIFormula, OperateLis private ActionListener calculateActionListener = new ActionListener() { @Override public void actionPerformed(ActionEvent e) { - Calculator calculator = Calculator.createCalculator(); + CalculatorProvider calculator = CalculatorKit.createCalculator(); JTemplate template = HistoryTemplateListPane.getInstance().getCurrentEditingTemplate(); if (template != null) { IOFile file = (IOFile) template.getTarget(); calculator.setAttribute(TableDataSource.class, file); - calculator.pushNameSpace(SimpleCellValueNameSpace.getInstance()); + calculator.pushNameSpace(SimpleCellValueNameSpaceKit.getInstance()); } BaseFormula formula = GroupFormulaPane.this.update(); String message = calculate(formula, formulaPane.analyze4Parameters(calculator), calculator); - JOptionPane.showMessageDialog(DesignerContext.getDesignerFrame(), message); + JOptionPane.showMessageDialog(DesignKit.getDesignerFrame(), message); } }; - private String calculate(BaseFormula formula, Parameter[] parameters, Calculator calculator) { + private String calculate(BaseFormula formula, ParameterProvider[] parameters, CalculatorProvider calculator) { final Map parameterMap = new HashMap(); if (ArrayKit.isNotEmpty(parameters)) { final ParameterInputPane pPane = new ParameterInputPane(parameters); - pPane.showSmallWindow(DesignerContext.getDesignerFrame(), new DialogActionAdapter() { + pPane.showSmallWindow(DesignKit.getDesignerFrame(), new DialogActionAdapter() { @Override public void doOk() { parameterMap.putAll(pPane.update()); } }).setVisible(true); } - calculator.pushNameSpace(ParameterMapNameSpace.create(parameterMap)); + calculator.pushNameSpace(ParameterKit.createParameterMapNameSpace(parameterMap)); String message; try { Object result = formula.evalValue(calculator); @@ -551,7 +559,7 @@ public class GroupFormulaPane extends BasicPane implements UIFormula, OperateLis StringBuilder desBuf = new StringBuilder(); try { String path; - Locale locale = FRContext.getLocale(); + Locale locale = GeneralKit.getLocale(); if (locale.equals(Locale.CHINA)) { path = "/com/fr/design/insert/formula/variable/cn/"; } else { @@ -627,7 +635,7 @@ public class GroupFormulaPane extends BasicPane implements UIFormula, OperateLis // desArea。setEnabled(false); desArea.setText(this.getTextAreaText()); basicPane.add(new UIScrollPane(desArea), BorderLayout.CENTER); - BasicDialog dialog = basicPane.showWindow(DesignerContext.getDesignerFrame()); + BasicDialog dialog = basicPane.showWindow(DesignKit.getDesignerFrame()); dialog.setVisible(true); } diff --git a/src/main/java/com/fr/solution/plugin/design/formula/ui/GroupFormulaPaneWhenReserveFormula.java b/src/main/java/com/fr/solution/plugin/design/formula/ui/GroupFormulaPaneWhenReserveFormula.java index 58e8055..b11452e 100644 --- a/src/main/java/com/fr/solution/plugin/design/formula/ui/GroupFormulaPaneWhenReserveFormula.java +++ b/src/main/java/com/fr/solution/plugin/design/formula/ui/GroupFormulaPaneWhenReserveFormula.java @@ -1,8 +1,8 @@ package com.fr.solution.plugin.design.formula.ui; +import com.fanruan.api.design.ui.component.UICheckBox; import com.fr.base.BaseFormula; import com.fr.design.formula.VariableResolver; -import com.fr.design.gui.icheckbox.UICheckBox; import com.fr.solution.plugin.design.formula.compat.DesignToolkit; import javax.swing.*; diff --git a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/BaseFormulaPane.java b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/BaseFormulaPane.java index 9d0e257..6b742e8 100644 --- a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/BaseFormulaPane.java +++ b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/BaseFormulaPane.java @@ -1,13 +1,14 @@ package com.fr.solution.plugin.design.formula.ui.type; -import com.fanruan.api.util.StringKit; +import com.fanruan.api.design.ui.component.code.UISyntaxTextArea; +import com.fanruan.api.i18n.I18nKit; import com.fr.base.BaseFormula; -import com.fr.design.beans.FurtherBasicBeanPane; -import com.fr.design.gui.icontainer.UIScrollPane; -import com.fr.design.gui.syntax.ui.rsyntaxtextarea.RSyntaxTextArea; -import com.fr.general.Inter; +import com.fanruan.api.design.ui.container.FurtherBasicBeanPane; +import com.fanruan.api.macro.ProductConstants; +import com.fanruan.api.util.StringKit; +import com.fanruan.api.design.ui.container.UIScrollPane; + import com.fr.solution.plugin.design.formula.ui.evt.OperateListener; -import com.fr.stable.ProductConstants; import javax.swing.*; import java.awt.*; @@ -27,7 +28,7 @@ public abstract class BaseFormulaPane extends FurtherBasi private static final int KEY_40 = 40; - private RSyntaxTextArea formulaTextArea; + private UISyntaxTextArea formulaTextArea; private int currentPosition = 0; private int beginPosition = 0; private int insertPosition = 0; @@ -58,7 +59,7 @@ public abstract class BaseFormulaPane extends FurtherBasi formulaTextArea.setForeground(Color.black); String text = formulaTextArea.getText(); // 判断在中文输入状态是否还包含提示符 要删掉 - String tip = "\n\n\n" + Inter.getLocText("Plugin-Design_Basic_FormulaPane_Tips"); + String tip = "\n\n\n" + I18nKit.getLocText("Plugin-Design_Basic_FormulaPane_Tips"); if (text.contains(tip)) { text = text.substring(0, text.indexOf(tip)); insertPosition = 0; @@ -141,12 +142,12 @@ public abstract class BaseFormulaPane extends FurtherBasi } - protected abstract RSyntaxTextArea createContentEditor(); + protected abstract UISyntaxTextArea createContentEditor(); protected void fixContent(String content) { if (content.trim().equals("=")) { this.formulaTextArea.setForeground(Color.gray); - this.formulaTextArea.setText("\n\n\n" + Inter.getLocText("Plugin-Design_Basic_FormulaPane_Tips")); + this.formulaTextArea.setText("\n\n\n" + I18nKit.getLocText("Plugin-Design_Basic_FormulaPane_Tips")); this.formulaTextArea.setCaretPosition(0); ifHasBeenWritten = 0; operateListener.clearMathListModel(); @@ -302,7 +303,7 @@ public abstract class BaseFormulaPane extends FurtherBasi if (StringKit.isNotEmpty(formulaText)) { JOptionPane.showMessageDialog( BaseFormulaPane.this, - (isValidFormula(formulaText) ? Inter.getLocText("Plugin-Design_Basic_FormulaD_Valid_Formula") : Inter.getLocText("Plugin-Design_Basic_FormulaD_Invalid_Formula")) + ".", ProductConstants.PRODUCT_NAME, + (isValidFormula(formulaText) ? I18nKit.getLocText("Plugin-Design_Basic_FormulaD_Valid_Formula") : I18nKit.getLocText("Plugin-Design_Basic_FormulaD_Invalid_Formula")) + ".", ProductConstants.PRODUCT_NAME, JOptionPane.INFORMATION_MESSAGE); } } @@ -320,6 +321,6 @@ public abstract class BaseFormulaPane extends FurtherBasi @Override public String title4PopupWindow() { - return Inter.getLocText("Plugin-Design_Group_Formula_Basic_Title"); + return I18nKit.getLocText("Plugin-Design_Group_Formula_Basic_Title"); } } diff --git a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/CategoryFormulaPane.java b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/CategoryFormulaPane.java index 57c942b..0520298 100644 --- a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/CategoryFormulaPane.java +++ b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/CategoryFormulaPane.java @@ -1,18 +1,23 @@ package com.fr.solution.plugin.design.formula.ui.type; -import com.fr.base.BaseFormula; -import com.fr.base.Parameter; -import com.fr.design.beans.FurtherBasicBeanPane; -import com.fr.design.gui.frpane.UIRadioPane; -import com.fr.script.Calculator; +import com.fanruan.api.design.ui.component.UIRadioPane; +import com.fr.stable.ParameterProvider; +import com.fr.stable.script.CalculatorProvider; import com.fr.solution.plugin.design.formula.ui.evt.OperateListener; + import com.fr.solution.plugin.design.formula.ui.type.impl.BasicFormulaPane; import com.fr.solution.plugin.design.formula.ui.type.impl.ScriptFormulaPane; +/** + * 有问题,子类无法重写abstract方法的参数无法修改 + */ +import com.fr.design.beans.FurtherBasicBeanPane; +import com.fr.base.BaseFormula; + import java.util.ArrayList; import java.util.List; -public class CategoryFormulaPane extends UIRadioPane{ +public class CategoryFormulaPane extends UIRadioPane { private static final long serialVersionUID = 6102846618673364636L; private List events; @@ -62,7 +67,7 @@ public class CategoryFormulaPane extends UIRadioPane{ } } - public Parameter[] analyze4Parameters(Calculator calculator) { + public ParameterProvider[] analyze4Parameters(CalculatorProvider calculator) { return events.get(cardNamesPane.getSelectedIndex()).analyze4Parameters(calculator); } diff --git a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/CommonEvent.java b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/CommonEvent.java index c11f7d0..1e9c9d1 100644 --- a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/CommonEvent.java +++ b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/CommonEvent.java @@ -1,8 +1,8 @@ package com.fr.solution.plugin.design.formula.ui.type; -import com.fr.base.Parameter; -import com.fr.script.Calculator; import com.fr.solution.plugin.design.formula.ui.evt.OperateListener; +import com.fr.stable.ParameterProvider; +import com.fr.stable.script.CalculatorProvider; public interface CommonEvent { @@ -18,5 +18,5 @@ public interface CommonEvent { void setOperateListener(OperateListener listener); - Parameter[] analyze4Parameters(Calculator calculator); + ParameterProvider[] analyze4Parameters(CalculatorProvider calculator); } diff --git a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/BasicFormulaPane.java b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/BasicFormulaPane.java index 404d896..d6a7606 100644 --- a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/BasicFormulaPane.java +++ b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/BasicFormulaPane.java @@ -1,17 +1,22 @@ package com.fr.solution.plugin.design.formula.ui.type.impl; +import com.fanruan.api.cal.CalculatorKit; +import com.fanruan.api.design.ui.component.code.UISyntaxTextArea; +import com.fanruan.api.structure.Parameter; import com.fanruan.api.util.StringKit; -import com.fr.base.Formula; -import com.fr.base.Parameter; -import com.fr.design.gui.syntax.ui.rsyntaxtextarea.RSyntaxTextArea; +import com.fanruan.api.structure.Formula; +import com.fanruan.api.structure.Expression; + + + import com.fr.design.gui.syntax.ui.rsyntaxtextarea.SyntaxConstants; -import com.fr.general.FRLogger; -import com.fr.script.Calculator; import com.fr.solution.plugin.design.formula.ui.type.BaseFormulaPane; -import com.fr.stable.script.Expression; -import com.fr.third.antlr.ANTLRException; -import java.util.Set; +import com.fr.stable.ParameterProvider; +import com.fr.stable.script.CalculatorProvider; +//有问题 +import com.fr.third.antlr.ANTLRException; +import com.fr.general.FRLogger; public class BasicFormulaPane extends BaseFormulaPane { @@ -46,13 +51,13 @@ public class BasicFormulaPane extends BaseFormulaPane { @Override - protected RSyntaxTextArea createContentEditor() { - RSyntaxTextArea formulaTextArea = new RSyntaxTextArea(); + protected UISyntaxTextArea createContentEditor() { + UISyntaxTextArea formulaTextArea = new UISyntaxTextArea(); configFormulaArea(formulaTextArea); return formulaTextArea; } - protected void configFormulaArea(RSyntaxTextArea formulaTextArea) { + protected void configFormulaArea(UISyntaxTextArea formulaTextArea) { formulaTextArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_FORMULA); formulaTextArea.setAnimateBracketMatching(true); formulaTextArea.setAntiAliasingEnabled(true); @@ -71,7 +76,7 @@ public class BasicFormulaPane extends BaseFormulaPane { Formula formula = createFormula(formulaText); Expression expression = null; try { - expression = formula.parse(Calculator.createCalculator()); + expression = (Expression) (formula.parse(CalculatorKit.createCalculator())); } catch (ANTLRException e) { FRLogger.getLogger().error(e.getMessage(), e); } @@ -79,13 +84,13 @@ public class BasicFormulaPane extends BaseFormulaPane { } @Override - public Parameter[] analyze4Parameters(Calculator calculator) { + public ParameterProvider[] analyze4Parameters(CalculatorProvider calculator) { Formula formula = updateBean(); if (formula == null) { - return new Parameter[0]; + return new ParameterProvider[0]; } String[] arr = formula.dependence(calculator); - Parameter[] parameters = new Parameter[arr.length]; + ParameterProvider[] parameters = new ParameterProvider[arr.length]; for (int i = 0, len = arr.length; i < len; i ++) { parameters[i] = new Parameter(arr[i]); } diff --git a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/ScriptFormulaPane.java b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/ScriptFormulaPane.java index 5cd85c6..4868706 100644 --- a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/ScriptFormulaPane.java +++ b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/ScriptFormulaPane.java @@ -1,17 +1,20 @@ package com.fr.solution.plugin.design.formula.ui.type.impl; - +; +import com.fanruan.api.base.ScriptFormula; +import com.fanruan.api.cal.CalculatorKit; +import com.fanruan.api.cal.ParameterKit; +import com.fanruan.api.design.ui.component.code.UISyntaxTextArea; +import com.fanruan.api.i18n.I18nKit; +import com.fanruan.api.script.ScriptKit; import com.fanruan.api.util.StringKit; import com.fanruan.api.util.RenderKit; -import com.fr.base.Parameter; -import com.fr.base.ParameterHelper; -import com.fr.base.ScriptFormula; -import com.fr.design.gui.syntax.ui.rsyntaxtextarea.RSyntaxTextArea; + + import com.fr.design.gui.syntax.ui.rsyntaxtextarea.SyntaxConstants; import com.fr.general.FRLogger; -import com.fr.general.Inter; -import com.fr.script.Calculator; -import com.fr.script.ScriptFactory; import com.fr.solution.plugin.design.formula.ui.type.BaseFormulaPane; +import com.fr.stable.ParameterProvider; +import com.fr.stable.script.CalculatorProvider; import java.util.HashMap; import java.util.Map; @@ -24,8 +27,8 @@ public class ScriptFormulaPane extends BaseFormulaPane { "})();"; @Override - protected RSyntaxTextArea createContentEditor() { - RSyntaxTextArea formulaTextArea = new RSyntaxTextArea(); + protected UISyntaxTextArea createContentEditor() { + UISyntaxTextArea formulaTextArea = new UISyntaxTextArea(); formulaTextArea.setCloseCurlyBraces(true); formulaTextArea.setLineWrap(true); formulaTextArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVASCRIPT); @@ -80,12 +83,12 @@ public class ScriptFormulaPane extends BaseFormulaPane { @Override protected boolean isValidFormula(String formulaText) { - Calculator calculator = Calculator.createCalculator(); + CalculatorProvider calculator = CalculatorKit.createCalculator(); ScriptFormula formula = createFormula(formulaText); - Parameter[] parameters = analyze4Parameters(calculator); + ParameterProvider[] parameters = analyze4Parameters(calculator); Map map = new HashMap(); - for (Parameter parameter : parameters) { + for (ParameterProvider parameter : parameters) { String name = parameter.getName(); Object value = parameter.getValue(); if (value instanceof Boolean) { @@ -99,7 +102,7 @@ public class ScriptFormulaPane extends BaseFormulaPane { try { String content = RenderKit.renderParameter4Tpl(formula.getPureContent(), map); - ScriptFactory.newSingletonScriptEngine().eval(String.format(FUN_TPL, content)); + ScriptKit.newScriptEngine().eval(String.format(FUN_TPL, content)); } catch (Exception e) { FRLogger.getLogger().error(e.getMessage(), e); return false; @@ -108,16 +111,16 @@ public class ScriptFormulaPane extends BaseFormulaPane { } @Override - public Parameter[] analyze4Parameters(Calculator calculator) { + public ParameterProvider[] analyze4Parameters(CalculatorProvider calculator) { ScriptFormula scriptFormula = updateBean(); if (scriptFormula == null) { - return new Parameter[0]; + return new ParameterProvider[0]; } - return ParameterHelper.analyze4Parameters(scriptFormula.getContent(), true); + return ParameterKit.analyze4Parameters(scriptFormula.getContent(), true); } @Override public String title4PopupWindow() { - return Inter.getLocText("Plugin-Design_Group_Formula_Script_Title"); + return I18nKit.getLocText("Plugin-Design_Group_Formula_Script_Title"); } } From 1a41e3697525013e7c6aca82eeef9ce1467179c0 Mon Sep 17 00:00:00 2001 From: Kalven Date: Sat, 31 Aug 2019 22:52:53 +0800 Subject: [PATCH 05/10] =?UTF-8?q?KERNEL-1117=20=E5=86=8D=E6=AC=A1=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../formula/compat/FunctionConstants.java | 26 +++++++++---------- .../design/formula/ui/GroupFormulaPane.java | 7 +++-- .../ui/type/impl/BasicFormulaPane.java | 10 ++----- 3 files changed, 18 insertions(+), 25 deletions(-) diff --git a/src/main/java/com/fr/solution/plugin/design/formula/compat/FunctionConstants.java b/src/main/java/com/fr/solution/plugin/design/formula/compat/FunctionConstants.java index 02cab11..866c5e5 100644 --- a/src/main/java/com/fr/solution/plugin/design/formula/compat/FunctionConstants.java +++ b/src/main/java/com/fr/solution/plugin/design/formula/compat/FunctionConstants.java @@ -4,28 +4,28 @@ import com.fanruan.api.design.util.FunctionDefNAD; import com.fanruan.api.design.util.FunctionManagerKit; import com.fanruan.api.design.util.NameAndFunctionList; import com.fanruan.api.design.util.NameAndTypeAndFunctionList; -import com.fanruan.api.function.AVERAGE; -import com.fanruan.api.function.CHAR; -import com.fanruan.api.function.COUNT; -import com.fanruan.api.function.DATE; -import com.fanruan.api.function.MAX; -import com.fanruan.api.function.MIN; -import com.fanruan.api.function.RANGE; -import com.fanruan.api.function.SUM; -import com.fanruan.api.function.TIME; import com.fanruan.api.macro.EncodeConstants; import com.fanruan.api.macro.OperatingSystemKit; -import com.fanruan.api.plugin.ExtraClassManagerKit; import com.fanruan.api.util.GeneralKit; import com.fanruan.api.util.StringKit; import com.fanruan.api.util.TypeKit; +import com.fr.plugin.ExtraClassManager; import com.fr.stable.script.Function; import com.fr.file.FunctionManagerProvider; import com.fr.stable.fun.FunctionDefContainer; import com.fr.design.formula.FunctionGroup; import com.fr.stable.fun.mark.Mutable; import com.fr.design.formula.NameAndDescription; +import com.fr.function.AVERAGE; +import com.fr.function.CHAR; +import com.fr.function.COUNT; +import com.fr.function.DATE; +import com.fr.function.MAX; +import com.fr.function.MIN; +import com.fr.function.RANGE; +import com.fr.function.SUM; +import com.fr.function.TIME; //先不改 import com.fr.general.FRLogger; @@ -137,7 +137,7 @@ public final class FunctionConstants { */ public static void addFunctionGroupFromPlugins(DefaultListModel listModel){ //hugh:自定义函数分组 - Set containers = ExtraClassManagerKit.getInstance().getArray(FunctionDefContainer.MARK_STRING); + Set containers = ExtraClassManager.getInstance().getArray(FunctionDefContainer.MARK_STRING); if(!containers.isEmpty()){ for(Mutable container : containers){ listModel.addElement(createFunctionGroup((FunctionDefContainer)container)); @@ -234,7 +234,7 @@ public final class FunctionConstants { @Override public NameAndDescription[] getDescriptions() { - FunctionDef[] fs = ExtraClassManagerKit.getInstance().getFunctionDef(); + FunctionDef[] fs = ExtraClassManager.getInstance().getFunctionDef(); int count = fs.length; FunctionDefNAD[] nads = new FunctionDefNAD[count]; for (int i = 0; i < count; i ++) { @@ -306,7 +306,7 @@ public final class FunctionConstants { Collections.addAll(all, PLUGIN.getDescriptions()); Collections.addAll(all, CUSTOM.getDescriptions()); //hugh:自定义函数分组 - Set containers = ExtraClassManagerKit.getInstance().getArray(FunctionDefContainer.MARK_STRING); + Set containers = ExtraClassManager.getInstance().getArray(FunctionDefContainer.MARK_STRING); if(!containers.isEmpty()){ for(Mutable container : containers){ Collections.addAll(all,createFunctionGroup(((FunctionDefContainer)container)).getDescriptions()); diff --git a/src/main/java/com/fr/solution/plugin/design/formula/ui/GroupFormulaPane.java b/src/main/java/com/fr/solution/plugin/design/formula/ui/GroupFormulaPane.java index 6583115..1b1b30d 100644 --- a/src/main/java/com/fr/solution/plugin/design/formula/ui/GroupFormulaPane.java +++ b/src/main/java/com/fr/solution/plugin/design/formula/ui/GroupFormulaPane.java @@ -2,7 +2,6 @@ package com.fr.solution.plugin.design.formula.ui; import com.fanruan.api.cal.CalculatorKit; import com.fanruan.api.cal.ParameterKit; -import com.fanruan.api.cal.namespace.SimpleCellValueNameSpaceKit; import com.fanruan.api.design.DesignKit; import com.fanruan.api.design.ui.container.DialogActionAdapter; import com.fanruan.api.design.ui.component.*; @@ -45,7 +44,7 @@ import com.fr.stable.UtilEvalError; /** * IOFile更改后悔出错不敢换,有instance,可能出错 */ -import com.fr.base.io.IOFile; +//import com.fr.base.io.IOFile; import com.fr.solution.plugin.design.formula.compat.DesignToolkit; import com.fr.solution.plugin.design.formula.compat.FunctionConstants; @@ -336,9 +335,9 @@ public class GroupFormulaPane extends BasicPane implements UIFormula, OperateLis CalculatorProvider calculator = CalculatorKit.createCalculator(); JTemplate template = HistoryTemplateListPane.getInstance().getCurrentEditingTemplate(); if (template != null) { - IOFile file = (IOFile) template.getTarget(); + TableDataSource file = (TableDataSource) template.getTarget(); calculator.setAttribute(TableDataSource.class, file); - calculator.pushNameSpace(SimpleCellValueNameSpaceKit.getInstance()); + calculator.pushNameSpace(CalculatorKit.createSimpleCellValueNameSpace()); } BaseFormula formula = GroupFormulaPane.this.update(); String message = calculate(formula, formulaPane.analyze4Parameters(calculator), calculator); diff --git a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/BasicFormulaPane.java b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/BasicFormulaPane.java index d6a7606..71118d8 100644 --- a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/BasicFormulaPane.java +++ b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/BasicFormulaPane.java @@ -1,6 +1,7 @@ package com.fr.solution.plugin.design.formula.ui.type.impl; import com.fanruan.api.cal.CalculatorKit; +import com.fanruan.api.cal.FormulaKit; import com.fanruan.api.design.ui.component.code.UISyntaxTextArea; import com.fanruan.api.structure.Parameter; import com.fanruan.api.util.StringKit; @@ -73,14 +74,7 @@ public class BasicFormulaPane extends BaseFormulaPane { @Override protected boolean isValidFormula(String formulaText) { - Formula formula = createFormula(formulaText); - Expression expression = null; - try { - expression = (Expression) (formula.parse(CalculatorKit.createCalculator())); - } catch (ANTLRException e) { - FRLogger.getLogger().error(e.getMessage(), e); - } - return expression != null; + return FormulaKit.checkFormulaContent(formulaText); } @Override From 27c3bd34e0d804bfb3e247cc1418ce8135720d46 Mon Sep 17 00:00:00 2001 From: Kalven Date: Mon, 2 Sep 2019 14:12:35 +0800 Subject: [PATCH 06/10] =?UTF-8?q?KERNEL-1117=20=E6=8C=89=E8=A6=81=E6=B1=82?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8F=92=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 4 +- .../formula/compat/FunctionConstants.java | 15 ++-- .../design/formula/compat/FunctionDefNAD.java | 15 ++++ .../formula/compat/NameAndFunctionList.java | 17 ++++ .../compat/NameAndTypeAndFunctionList.java | 15 ++++ .../design/formula/ui/GroupFormulaPane.java | 11 +-- .../formula/ui/type/BaseFormulaPane.java | 3 +- .../ui/type/impl/BasicFormulaPane.java | 82 +++++++++++++++++-- .../ui/type/impl/ScriptFormulaPane.java | 3 +- 9 files changed, 142 insertions(+), 23 deletions(-) create mode 100644 src/main/java/com/fr/solution/plugin/design/formula/compat/FunctionDefNAD.java create mode 100644 src/main/java/com/fr/solution/plugin/design/formula/compat/NameAndFunctionList.java create mode 100644 src/main/java/com/fr/solution/plugin/design/formula/compat/NameAndTypeAndFunctionList.java diff --git a/pom.xml b/pom.xml index bba9648..5c01230 100644 --- a/pom.xml +++ b/pom.xml @@ -20,8 +20,8 @@ org.apache.maven.plugins maven-compiler-plugin - 8 - 8 + 6 + 6 diff --git a/src/main/java/com/fr/solution/plugin/design/formula/compat/FunctionConstants.java b/src/main/java/com/fr/solution/plugin/design/formula/compat/FunctionConstants.java index 866c5e5..9cb0a8e 100644 --- a/src/main/java/com/fr/solution/plugin/design/formula/compat/FunctionConstants.java +++ b/src/main/java/com/fr/solution/plugin/design/formula/compat/FunctionConstants.java @@ -1,11 +1,9 @@ package com.fr.solution.plugin.design.formula.compat; -import com.fanruan.api.design.util.FunctionDefNAD; -import com.fanruan.api.design.util.FunctionManagerKit; -import com.fanruan.api.design.util.NameAndFunctionList; -import com.fanruan.api.design.util.NameAndTypeAndFunctionList; +import com.fanruan.api.function.FunctionKit; +import com.fanruan.api.function.shell.FineFunc; import com.fanruan.api.macro.EncodeConstants; -import com.fanruan.api.macro.OperatingSystemKit; +import com.fanruan.api.macro.OperatingSystem; import com.fanruan.api.util.GeneralKit; import com.fanruan.api.util.StringKit; import com.fanruan.api.util.TypeKit; @@ -159,7 +157,7 @@ public final class FunctionConstants { @Override public NameAndDescription[] getDescriptions() { - FunctionDef[] fs = container.getFunctionDefs(); + FineFunc[] fs = container.getFunctionDefs(); int count = fs.length; FunctionDefNAD[] nads = new FunctionDefNAD[count]; for (int i = 0; i < count; i ++) { @@ -184,7 +182,7 @@ public final class FunctionConstants { if(classPath.endsWith("/")){ classPath = classPath.substring(0, classPath.length() - 1); } - if (!OperatingSystemKit.isWindows()){ + if (!OperatingSystem.isWindows()){ //windows里substring后是d:\123\456, mac下substring后是Application/123/456 jarPath = StringKit.perfectStart(jarPath, "/"); } @@ -254,10 +252,9 @@ public final class FunctionConstants { @Override public NameAndDescription[] getDescriptions() { - FunctionManagerProvider funtionManager = FunctionManagerKit.getInstance(); + FunctionManagerProvider funtionManager = FunctionKit.getInstance(); if (funtionManager != null) { int functionDefCount = funtionManager.getFunctionDefCount(); - FunctionDefNAD[] nads = new FunctionDefNAD[functionDefCount]; for (int i = 0; i < functionDefCount; i++) { nads[i] = new FunctionDefNAD(funtionManager.getFunctionDef(i)); diff --git a/src/main/java/com/fr/solution/plugin/design/formula/compat/FunctionDefNAD.java b/src/main/java/com/fr/solution/plugin/design/formula/compat/FunctionDefNAD.java new file mode 100644 index 0000000..20de8ab --- /dev/null +++ b/src/main/java/com/fr/solution/plugin/design/formula/compat/FunctionDefNAD.java @@ -0,0 +1,15 @@ +package com.fr.solution.plugin.design.formula.compat; + +import com.fr.stable.script.FunctionDef; + +/** + * 函数名和描述 + * @author Kalven + * @version 10.0 + * Created by Kalven on 2019/8/31 + */ +public class FunctionDefNAD extends com.fr.design.formula.FunctionDefNAD { + public FunctionDefNAD(FunctionDef functionDef) { + super(functionDef); + } +} diff --git a/src/main/java/com/fr/solution/plugin/design/formula/compat/NameAndFunctionList.java b/src/main/java/com/fr/solution/plugin/design/formula/compat/NameAndFunctionList.java new file mode 100644 index 0000000..e7e46be --- /dev/null +++ b/src/main/java/com/fr/solution/plugin/design/formula/compat/NameAndFunctionList.java @@ -0,0 +1,17 @@ +package com.fr.solution.plugin.design.formula.compat; + +import com.fr.stable.script.Function; + +import java.util.Arrays; + +/** + * 名称对应的函数列表 + * @author Kalven + * @version 10.0 + * Created by Kalven on 2019/8/31 + */ +public class NameAndFunctionList extends com.fr.design.formula.NameAndFunctionList { + public NameAndFunctionList(String name, Function[] fns) { + super(name, fns); + } +} diff --git a/src/main/java/com/fr/solution/plugin/design/formula/compat/NameAndTypeAndFunctionList.java b/src/main/java/com/fr/solution/plugin/design/formula/compat/NameAndTypeAndFunctionList.java new file mode 100644 index 0000000..f8220ce --- /dev/null +++ b/src/main/java/com/fr/solution/plugin/design/formula/compat/NameAndTypeAndFunctionList.java @@ -0,0 +1,15 @@ +package com.fr.solution.plugin.design.formula.compat; + +import com.fr.stable.script.Function; + +/** + * 名字和类型对应的函数列表 + * @author Kalven + * @version 10.0 + * Created by Kalven on 2019/8/31 + */ +public class NameAndTypeAndFunctionList extends com.fr.design.formula.NameAndTypeAndFunctionList { + public NameAndTypeAndFunctionList(String name, Function.Type type) { + super(name, type); + } +} diff --git a/src/main/java/com/fr/solution/plugin/design/formula/ui/GroupFormulaPane.java b/src/main/java/com/fr/solution/plugin/design/formula/ui/GroupFormulaPane.java index 1b1b30d..ca5f8e6 100644 --- a/src/main/java/com/fr/solution/plugin/design/formula/ui/GroupFormulaPane.java +++ b/src/main/java/com/fr/solution/plugin/design/formula/ui/GroupFormulaPane.java @@ -3,14 +3,14 @@ package com.fr.solution.plugin.design.formula.ui; import com.fanruan.api.cal.CalculatorKit; import com.fanruan.api.cal.ParameterKit; import com.fanruan.api.design.DesignKit; -import com.fanruan.api.design.ui.container.DialogActionAdapter; +//import com.fanruan.api.design.ui.container.DialogActionAdapter; import com.fanruan.api.design.ui.component.*; import com.fanruan.api.design.ui.container.BasicPane; import com.fanruan.api.design.ui.action.UpdateAction; import com.fanruan.api.design.ui.container.HistoryTemplateListPane; -import com.fanruan.api.design.ui.container.ParameterInputPane; +import com.fanruan.api.design.work.ParameterInputPane; import com.fanruan.api.design.ui.container.UIScrollPane; -import com.fanruan.api.design.ui.component.QuickList; +import com.fanruan.api.design.ui.component.UIQuickList; import com.fanruan.api.macro.EncodeConstants; import com.fanruan.api.util.IOKit; import com.fanruan.api.design.util.GUICoreKit; @@ -22,6 +22,7 @@ import com.fanruan.api.util.*; import com.fr.base.BaseFormula; import com.fr.data.TableDataSource; import com.fr.design.constants.UIConstants; +import com.fr.design.dialog.DialogActionAdapter; import com.fr.design.formula.UIFormula; import com.fr.design.formula.VariableResolver; import com.fr.design.layout.FRGUIPaneFactory; @@ -95,7 +96,7 @@ public class GroupFormulaPane extends BasicPane implements UIFormula, OperateLis private DefaultListModel listModel = new DefaultListModel(); private DefaultListModel functionTypeListModel = new DefaultListModel(); - private QuickList functionTypeList; + private UIQuickList functionTypeList; private DefaultListModel functionNameModel; private JList functionNameList; @@ -377,7 +378,7 @@ public class GroupFormulaPane extends BasicPane implements UIFormula, OperateLis } private void initFunctionTypeList(JPanel functionPane) { - functionTypeList = new QuickList(functionTypeListModel); + functionTypeList = new UIQuickList(functionTypeListModel); UIScrollPane functionTypeScrollPane = new UIScrollPane(functionTypeList); functionTypeScrollPane.setBorder(new UIRoundedBorder(UIConstants.LINE_COLOR, 1, UIConstants.ARC)); functionTypeScrollPane.setPreferredSize(new Dimension(140, 200)); diff --git a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/BaseFormulaPane.java b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/BaseFormulaPane.java index 6b742e8..10557d3 100644 --- a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/BaseFormulaPane.java +++ b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/BaseFormulaPane.java @@ -3,11 +3,12 @@ package com.fr.solution.plugin.design.formula.ui.type; import com.fanruan.api.design.ui.component.code.UISyntaxTextArea; import com.fanruan.api.i18n.I18nKit; import com.fr.base.BaseFormula; -import com.fanruan.api.design.ui.container.FurtherBasicBeanPane; +//import com.fanruan.api.design.ui.container.FurtherBasicBeanPane; import com.fanruan.api.macro.ProductConstants; import com.fanruan.api.util.StringKit; import com.fanruan.api.design.ui.container.UIScrollPane; +import com.fr.design.beans.FurtherBasicBeanPane; import com.fr.solution.plugin.design.formula.ui.evt.OperateListener; import javax.swing.*; diff --git a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/BasicFormulaPane.java b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/BasicFormulaPane.java index 71118d8..97f519f 100644 --- a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/BasicFormulaPane.java +++ b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/BasicFormulaPane.java @@ -3,19 +3,19 @@ package com.fr.solution.plugin.design.formula.ui.type.impl; import com.fanruan.api.cal.CalculatorKit; import com.fanruan.api.cal.FormulaKit; import com.fanruan.api.design.ui.component.code.UISyntaxTextArea; -import com.fanruan.api.structure.Parameter; import com.fanruan.api.util.StringKit; -import com.fanruan.api.structure.Formula; -import com.fanruan.api.structure.Expression; - +//import com.fanruan.api.structure.Formula; +import com.fr.base.Formula; import com.fr.design.gui.syntax.ui.rsyntaxtextarea.SyntaxConstants; import com.fr.solution.plugin.design.formula.ui.type.BaseFormulaPane; import com.fr.stable.ParameterProvider; import com.fr.stable.script.CalculatorProvider; //有问题 +import com.fr.stable.xml.XMLPrintWriter; +import com.fr.stable.xml.XMLableReader; import com.fr.third.antlr.ANTLRException; import com.fr.general.FRLogger; @@ -86,7 +86,79 @@ public class BasicFormulaPane extends BaseFormulaPane { String[] arr = formula.dependence(calculator); ParameterProvider[] parameters = new ParameterProvider[arr.length]; for (int i = 0, len = arr.length; i < len; i ++) { - parameters[i] = new Parameter(arr[i]); + parameters[i] = new ParameterProvider() { + @Override + public Object getValue() { + return null; + } + + @Override + public void setValue(Object o) { + + } + + @Override + public String valueToString() { + return null; + } + + @Override + public String xmlTag() { + return null; + } + + @Override + public String arrayXMLTag() { + return null; + } + + @Override + public T newInstance() { + return null; + } + + @Override + public String[] dependence(CalculatorProvider calculatorProvider) { + return new String[0]; + } + + @Override + public String getName() { + return null; + } + + @Override + public void setName(String s) { + + } + + @Override + public int currentAPILevel() { + return 0; + } + + @Override + public String mark4Provider() { + return null; + } + + @Override + public void readXML(XMLableReader xmLableReader) { + + } + + @Override + public void writeXML(XMLPrintWriter xmlPrintWriter) { + + } + + @Override + public Object clone() throws CloneNotSupportedException { + return null; + } + }; + parameters[i].setName(arr[i]); + parameters[i].setValue(""); } return parameters; } diff --git a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/ScriptFormulaPane.java b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/ScriptFormulaPane.java index 4868706..a32cff7 100644 --- a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/ScriptFormulaPane.java +++ b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/ScriptFormulaPane.java @@ -1,6 +1,6 @@ package com.fr.solution.plugin.design.formula.ui.type.impl; ; -import com.fanruan.api.base.ScriptFormula; +//import com.fanruan.api.base.ScriptFormula; import com.fanruan.api.cal.CalculatorKit; import com.fanruan.api.cal.ParameterKit; import com.fanruan.api.design.ui.component.code.UISyntaxTextArea; @@ -10,6 +10,7 @@ import com.fanruan.api.util.StringKit; import com.fanruan.api.util.RenderKit; +import com.fr.base.ScriptFormula; import com.fr.design.gui.syntax.ui.rsyntaxtextarea.SyntaxConstants; import com.fr.general.FRLogger; import com.fr.solution.plugin.design.formula.ui.type.BaseFormulaPane; From 0b61f634978247090bed8115bbd7c07abab482e7 Mon Sep 17 00:00:00 2001 From: Kalven Date: Mon, 2 Sep 2019 14:36:47 +0800 Subject: [PATCH 07/10] =?UTF-8?q?KERNEL-1117=20=E6=94=B9=E5=9B=9E6?= =?UTF-8?q?=E8=80=81=E7=89=88=E6=9C=AC=E5=8F=AF=E4=BB=A5=E4=B8=8D=E8=BF=87?= =?UTF-8?q?=E4=B8=8D=E8=83=BD=E6=94=AF=E6=8C=81fineKit=E7=9A=84=E9=83=A8?= =?UTF-8?q?=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/formula/compat/FunctionConstants.java | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/fr/solution/plugin/design/formula/compat/FunctionConstants.java b/src/main/java/com/fr/solution/plugin/design/formula/compat/FunctionConstants.java index 9cb0a8e..901d2ec 100644 --- a/src/main/java/com/fr/solution/plugin/design/formula/compat/FunctionConstants.java +++ b/src/main/java/com/fr/solution/plugin/design/formula/compat/FunctionConstants.java @@ -157,7 +157,7 @@ public final class FunctionConstants { @Override public NameAndDescription[] getDescriptions() { - FineFunc[] fs = container.getFunctionDefs(); + FunctionDef[] fs = container.getFunctionDefs(); int count = fs.length; FunctionDefNAD[] nads = new FunctionDefNAD[count]; for (int i = 0; i < count; i ++) { @@ -252,18 +252,7 @@ public final class FunctionConstants { @Override public NameAndDescription[] getDescriptions() { - FunctionManagerProvider funtionManager = FunctionKit.getInstance(); - if (funtionManager != null) { - int functionDefCount = funtionManager.getFunctionDefCount(); - FunctionDefNAD[] nads = new FunctionDefNAD[functionDefCount]; - for (int i = 0; i < functionDefCount; i++) { - nads[i] = new FunctionDefNAD(funtionManager.getFunctionDef(i)); - } - - return nads; - } - - return new NameAndDescription[0]; + return FunctionKit.getDescription(); } }; } From 47ace1db7cd5db524227697e654fabdec1ae00ab Mon Sep 17 00:00:00 2001 From: Kalven Date: Mon, 2 Sep 2019 14:55:39 +0800 Subject: [PATCH 08/10] =?UTF-8?q?KERNEL-1117=20=E5=8E=BB=E6=8E=89=E6=B3=A8?= =?UTF-8?q?=E9=87=8A=EF=BC=8C=E5=90=8C=E6=97=B6=E6=A0=B9=E6=8D=AEfineKit?= =?UTF-8?q?=E8=BF=9B=E4=B8=80=E6=AD=A5=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../formula/compat/FunctionConstants.java | 2 - .../formula/compat/NameAndFunctionList.java | 1 - .../design/formula/ui/GroupFormulaPane.java | 1 - .../formula/ui/type/BaseFormulaPane.java | 1 - .../ui/type/impl/BasicFormulaPane.java | 79 +------------------ .../ui/type/impl/ScriptFormulaPane.java | 3 +- 6 files changed, 3 insertions(+), 84 deletions(-) diff --git a/src/main/java/com/fr/solution/plugin/design/formula/compat/FunctionConstants.java b/src/main/java/com/fr/solution/plugin/design/formula/compat/FunctionConstants.java index 901d2ec..32aa766 100644 --- a/src/main/java/com/fr/solution/plugin/design/formula/compat/FunctionConstants.java +++ b/src/main/java/com/fr/solution/plugin/design/formula/compat/FunctionConstants.java @@ -1,7 +1,6 @@ package com.fr.solution.plugin.design.formula.compat; import com.fanruan.api.function.FunctionKit; -import com.fanruan.api.function.shell.FineFunc; import com.fanruan.api.macro.EncodeConstants; import com.fanruan.api.macro.OperatingSystem; import com.fanruan.api.util.GeneralKit; @@ -10,7 +9,6 @@ import com.fanruan.api.util.TypeKit; import com.fr.plugin.ExtraClassManager; import com.fr.stable.script.Function; -import com.fr.file.FunctionManagerProvider; import com.fr.stable.fun.FunctionDefContainer; import com.fr.design.formula.FunctionGroup; import com.fr.stable.fun.mark.Mutable; diff --git a/src/main/java/com/fr/solution/plugin/design/formula/compat/NameAndFunctionList.java b/src/main/java/com/fr/solution/plugin/design/formula/compat/NameAndFunctionList.java index e7e46be..12c6a18 100644 --- a/src/main/java/com/fr/solution/plugin/design/formula/compat/NameAndFunctionList.java +++ b/src/main/java/com/fr/solution/plugin/design/formula/compat/NameAndFunctionList.java @@ -2,7 +2,6 @@ package com.fr.solution.plugin.design.formula.compat; import com.fr.stable.script.Function; -import java.util.Arrays; /** * 名称对应的函数列表 diff --git a/src/main/java/com/fr/solution/plugin/design/formula/ui/GroupFormulaPane.java b/src/main/java/com/fr/solution/plugin/design/formula/ui/GroupFormulaPane.java index ca5f8e6..52d854a 100644 --- a/src/main/java/com/fr/solution/plugin/design/formula/ui/GroupFormulaPane.java +++ b/src/main/java/com/fr/solution/plugin/design/formula/ui/GroupFormulaPane.java @@ -3,7 +3,6 @@ package com.fr.solution.plugin.design.formula.ui; import com.fanruan.api.cal.CalculatorKit; import com.fanruan.api.cal.ParameterKit; import com.fanruan.api.design.DesignKit; -//import com.fanruan.api.design.ui.container.DialogActionAdapter; import com.fanruan.api.design.ui.component.*; import com.fanruan.api.design.ui.container.BasicPane; import com.fanruan.api.design.ui.action.UpdateAction; diff --git a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/BaseFormulaPane.java b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/BaseFormulaPane.java index 10557d3..ab274be 100644 --- a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/BaseFormulaPane.java +++ b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/BaseFormulaPane.java @@ -3,7 +3,6 @@ package com.fr.solution.plugin.design.formula.ui.type; import com.fanruan.api.design.ui.component.code.UISyntaxTextArea; import com.fanruan.api.i18n.I18nKit; import com.fr.base.BaseFormula; -//import com.fanruan.api.design.ui.container.FurtherBasicBeanPane; import com.fanruan.api.macro.ProductConstants; import com.fanruan.api.util.StringKit; import com.fanruan.api.design.ui.container.UIScrollPane; diff --git a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/BasicFormulaPane.java b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/BasicFormulaPane.java index 97f519f..1f962af 100644 --- a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/BasicFormulaPane.java +++ b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/BasicFormulaPane.java @@ -1,10 +1,9 @@ package com.fr.solution.plugin.design.formula.ui.type.impl; -import com.fanruan.api.cal.CalculatorKit; import com.fanruan.api.cal.FormulaKit; +import com.fanruan.api.cal.ParameterKit; import com.fanruan.api.design.ui.component.code.UISyntaxTextArea; import com.fanruan.api.util.StringKit; -//import com.fanruan.api.structure.Formula; import com.fr.base.Formula; @@ -16,8 +15,6 @@ import com.fr.stable.script.CalculatorProvider; //有问题 import com.fr.stable.xml.XMLPrintWriter; import com.fr.stable.xml.XMLableReader; -import com.fr.third.antlr.ANTLRException; -import com.fr.general.FRLogger; public class BasicFormulaPane extends BaseFormulaPane { @@ -86,79 +83,7 @@ public class BasicFormulaPane extends BaseFormulaPane { String[] arr = formula.dependence(calculator); ParameterProvider[] parameters = new ParameterProvider[arr.length]; for (int i = 0, len = arr.length; i < len; i ++) { - parameters[i] = new ParameterProvider() { - @Override - public Object getValue() { - return null; - } - - @Override - public void setValue(Object o) { - - } - - @Override - public String valueToString() { - return null; - } - - @Override - public String xmlTag() { - return null; - } - - @Override - public String arrayXMLTag() { - return null; - } - - @Override - public T newInstance() { - return null; - } - - @Override - public String[] dependence(CalculatorProvider calculatorProvider) { - return new String[0]; - } - - @Override - public String getName() { - return null; - } - - @Override - public void setName(String s) { - - } - - @Override - public int currentAPILevel() { - return 0; - } - - @Override - public String mark4Provider() { - return null; - } - - @Override - public void readXML(XMLableReader xmLableReader) { - - } - - @Override - public void writeXML(XMLPrintWriter xmlPrintWriter) { - - } - - @Override - public Object clone() throws CloneNotSupportedException { - return null; - } - }; - parameters[i].setName(arr[i]); - parameters[i].setValue(""); + parameters[i] = ParameterKit.createNewParameter(arr[i]); } return parameters; } diff --git a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/ScriptFormulaPane.java b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/ScriptFormulaPane.java index a32cff7..26eba05 100644 --- a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/ScriptFormulaPane.java +++ b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/ScriptFormulaPane.java @@ -1,6 +1,5 @@ package com.fr.solution.plugin.design.formula.ui.type.impl; -; -//import com.fanruan.api.base.ScriptFormula; + import com.fanruan.api.cal.CalculatorKit; import com.fanruan.api.cal.ParameterKit; import com.fanruan.api.design.ui.component.code.UISyntaxTextArea; From 367a4bebafdc1866f3708d030ed093fb886184a7 Mon Sep 17 00:00:00 2001 From: Kalven Date: Mon, 2 Sep 2019 15:02:26 +0800 Subject: [PATCH 09/10] =?UTF-8?q?KERNEL-1117=20=E5=8E=BB=E6=8E=89=E6=B3=A8?= =?UTF-8?q?=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/design/formula/ui/type/impl/BasicFormulaPane.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/BasicFormulaPane.java b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/BasicFormulaPane.java index 1f962af..662bb4f 100644 --- a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/BasicFormulaPane.java +++ b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/BasicFormulaPane.java @@ -12,9 +12,6 @@ import com.fr.solution.plugin.design.formula.ui.type.BaseFormulaPane; import com.fr.stable.ParameterProvider; import com.fr.stable.script.CalculatorProvider; -//有问题 -import com.fr.stable.xml.XMLPrintWriter; -import com.fr.stable.xml.XMLableReader; public class BasicFormulaPane extends BaseFormulaPane { From 75c8ce4a28c797280aa6856b163309363b746108 Mon Sep 17 00:00:00 2001 From: Kalven Date: Mon, 2 Sep 2019 17:14:15 +0800 Subject: [PATCH 10/10] =?UTF-8?q?KERNEL-1117=20=E6=A0=B9=E6=8D=AEfinekit?= =?UTF-8?q?=E7=BB=A7=E7=BB=AD=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 4 ++-- .../solution/plugin/design/formula/ui/GroupFormulaPane.java | 3 +-- .../plugin/design/formula/ui/type/impl/BasicFormulaPane.java | 2 +- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/pom.xml b/pom.xml index 5c01230..bba9648 100644 --- a/pom.xml +++ b/pom.xml @@ -20,8 +20,8 @@ org.apache.maven.plugins maven-compiler-plugin - 6 - 6 + 8 + 8 diff --git a/src/main/java/com/fr/solution/plugin/design/formula/ui/GroupFormulaPane.java b/src/main/java/com/fr/solution/plugin/design/formula/ui/GroupFormulaPane.java index 52d854a..938cb00 100644 --- a/src/main/java/com/fr/solution/plugin/design/formula/ui/GroupFormulaPane.java +++ b/src/main/java/com/fr/solution/plugin/design/formula/ui/GroupFormulaPane.java @@ -6,7 +6,6 @@ import com.fanruan.api.design.DesignKit; import com.fanruan.api.design.ui.component.*; import com.fanruan.api.design.ui.container.BasicPane; import com.fanruan.api.design.ui.action.UpdateAction; -import com.fanruan.api.design.ui.container.HistoryTemplateListPane; import com.fanruan.api.design.work.ParameterInputPane; import com.fanruan.api.design.ui.container.UIScrollPane; import com.fanruan.api.design.ui.component.UIQuickList; @@ -333,7 +332,7 @@ public class GroupFormulaPane extends BasicPane implements UIFormula, OperateLis @Override public void actionPerformed(ActionEvent e) { CalculatorProvider calculator = CalculatorKit.createCalculator(); - JTemplate template = HistoryTemplateListPane.getInstance().getCurrentEditingTemplate(); + JTemplate template = DesignKit.getCurrentEditingTemplate(); if (template != null) { TableDataSource file = (TableDataSource) template.getTarget(); calculator.setAttribute(TableDataSource.class, file); diff --git a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/BasicFormulaPane.java b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/BasicFormulaPane.java index 662bb4f..a513397 100644 --- a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/BasicFormulaPane.java +++ b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/BasicFormulaPane.java @@ -80,7 +80,7 @@ public class BasicFormulaPane extends BaseFormulaPane { String[] arr = formula.dependence(calculator); ParameterProvider[] parameters = new ParameterProvider[arr.length]; for (int i = 0, len = arr.length; i < len; i ++) { - parameters[i] = ParameterKit.createNewParameter(arr[i]); + parameters[i] = ParameterKit.newParameter(arr[i]); } return parameters; }