Skip to content

Commit afc36fd

Browse files
committed
1.修改部分EL实例toString方法,用于日志正常输出
1 parent 09e33a9 commit afc36fd

File tree

7 files changed

+27
-13
lines changed

7 files changed

+27
-13
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
<modelVersion>4.0.0</modelVersion>
1010
<groupId>net.fanjr.simplify</groupId>
1111
<artifactId>simplify-el</artifactId>
12-
<version>1.2.1-SNAPSHOT</version>
12+
<version>1.2.1</version>
1313
<packaging>jar</packaging>
1414
<name>Simply Expression Language</name>
1515
<description>

src/main/java/org/fanjr/simplify/el/ELExecutor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -414,9 +414,9 @@ public static ELInvoker resolve(char[] chars, int start, int end) {
414414
if (dots.length == 1) {
415415
// 已判断形式为XX.fun(...)形式,进一步判断是否为注册的function
416416
String functionUtilsName = String.valueOf(chars, start, dots[0] - start);
417-
if (ELFunctionInvokeUtils.hasUtils(functionUtilsName)){
417+
if (ELFunctionInvokeUtils.hasUtils(functionUtilsName)) {
418418
String methodName = String.valueOf(chars, dots[0] + 1, nextFunctionToken - dots[0] - 1);
419-
parent = FunctionMethodNodeInvoker.newInstance(functionUtilsName, methodName, resolveList(chars, nextFunctionToken, nextFunctionEnd + 1));
419+
parent = FunctionMethodNodeInvoker.newInstance(new String(chars, start, nextFunctionEnd + 1 - start), functionUtilsName, methodName, resolveList(chars, nextFunctionToken, nextFunctionEnd + 1));
420420
// 位移到方法后
421421
start = nextFunctionEnd + 1;
422422
if (start >= end) {

src/main/java/org/fanjr/simplify/el/NullEL.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,9 @@ public void accept(ELVisitor visitor) {
2020
// 访问自身
2121
visitor.visit(this);
2222
}
23+
24+
@Override
25+
public String toString() {
26+
return "[EL: null]";
27+
}
2328
}

src/main/java/org/fanjr/simplify/el/SimpleEL.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,9 @@ public void accept(ELVisitor visitor) {
2727
invoker.accept(visitor);
2828
}
2929
}
30+
31+
@Override
32+
public String toString() {
33+
return "[EL: " + invoker.toString() + "]";
34+
}
3035
}

src/main/java/org/fanjr/simplify/el/SpliceEL.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,4 +42,13 @@ public void accept(ELVisitor visitor) {
4242
}
4343
}
4444
}
45+
46+
@Override
47+
public String toString() {
48+
StringBuilder sb = new StringBuilder();
49+
for (ELInvoker invoker : invokers) {
50+
sb.append("[EL: ").append(invoker.toString()).append("]");
51+
}
52+
return sb.toString();
53+
}
4554
}

src/main/java/org/fanjr/simplify/el/invoker/node/FunctionMethodNodeInvoker.java

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,15 @@ public class FunctionMethodNodeInvoker extends NodeInvoker {
2323
private final String utilName;
2424
private final String methodName;
2525

26-
private FunctionMethodNodeInvoker(String utilName, String functionName, ArrayInvoker parameterEl) {
27-
super(utilName);
26+
private FunctionMethodNodeInvoker(String nodeName, String utilName, String functionName, ArrayInvoker parameterEl) {
27+
super(nodeName);
2828
this.utilName = utilName;
2929
this.methodName = functionName;
3030
this.parameterEl = parameterEl;
3131
}
3232

33-
public static FunctionMethodNodeInvoker newInstance(String className, String methodName, ArrayInvoker parameterEl) {
34-
return new FunctionMethodNodeInvoker(className, methodName, parameterEl);
33+
public static FunctionMethodNodeInvoker newInstance(String nodeName, String className, String methodName, ArrayInvoker parameterEl) {
34+
return new FunctionMethodNodeInvoker(nodeName, className, methodName, parameterEl);
3535
}
3636

3737
@Override
@@ -62,11 +62,6 @@ void setValueByParent(NodeHolder parentNode, Object value, int index) {
6262
throw new ElException("不可对【" + this + "】方法执行结果重新赋值!");
6363
}
6464

65-
@Override
66-
public String toString() {
67-
return "Function:" + super.toString();
68-
}
69-
7065
@Override
7166
public boolean isVariable() {
7267
// 动作、方法类为非变量

src/test/java/unit/UnitTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ public void testCache() throws InterruptedException {
101101

102102
@Test
103103
public void testVisitor() {
104-
EL compile = ELExecutor.compile("((String)a+(String)b).substring(map.len)+$.toDate('2014'+map.mon+map.day).toString().length");
104+
EL compile = ELExecutor.compile("BEFORE${((String)a+(String)b).substring(map.len)+$.toDate('2014'+map.mon+map.day).toString().length}AFTER");
105105
compile.accept(new ELVisitor() {
106106
@Override
107107
public boolean visit(EL el) {

0 commit comments

Comments
 (0)