From 248e34b8a12fdce3d854253321cc90825267e755 Mon Sep 17 00:00:00 2001 From: richie Date: Thu, 31 Oct 2019 19:25:37 +0800 Subject: [PATCH] =?UTF-8?q?bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugin.xml | 3 ++- .../design/formula/ui/GroupFormulaPane.java | 15 ++++++++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/plugin.xml b/plugin.xml index 1af9e50..9e4ad4d 100644 --- a/plugin.xml +++ b/plugin.xml @@ -4,12 +4,13 @@ com.fr.solution.plugin.design.formula.script yes - 4.5 + 4.6 9.0~10.0 2017-10-20 richie [2019-05-23]脚本公式可以正确的校验公式的合法性。
[2019-03-21]一个国际化问题。
[2019-03-19]修复在9.0中无法打开的问题。
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 f0b45b1..fe90b8c 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 @@ -342,7 +342,7 @@ public class GroupFormulaPane extends BasicPane implements UIFormula, OperateLis } }).setVisible(true); } - calculator.pushNameSpace(ParameterKit.createParameterMapNameSpace(parameterMap)); + calculator.pushNameSpace(ParameterKit.createParameterMapNameSpace(realMap(parameterMap))); String message; try { Object result = formula.evalValue(calculator); @@ -353,6 +353,19 @@ public class GroupFormulaPane extends BasicPane implements UIFormula, OperateLis return message; } + private Map realMap(Map source) { + Map map = new HashMap(); + for (Map.Entry entry : source.entrySet()) { + String name = entry.getKey(); + if (name.startsWith("$")) { + map.put(name.substring(1), entry.getValue()); + } else { + map.put(name, entry.getValue()); + } + } + return map; + } + public class VariableTreeAndDescriptionArea extends JPanel { private JTree variablesTree;