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;