Skip to content

Commit 62a049a

Browse files
committed
GroovyScript
1 parent ec9496d commit 62a049a

10 files changed

Lines changed: 335 additions & 116 deletions

File tree

springboot-starter-script/src/main/java/com/codingapi/springboot/script/GroovyScript.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,15 @@ public void remove(){
179179
TempGroovyScriptContext.getInstance().remove(this.getKey());
180180
}
181181

182+
/**
183+
* 复制对象
184+
* @param key 新的key
185+
* @return 脚本对象
186+
*/
187+
public GroovyScript copy(String key){
188+
return new GroovyScript(key,script,description,method,returnType,binds,requests,typeOne,typeTwo,tag,remark,createTime,updateTime);
189+
}
190+
182191

183192
/**
184193
* 编译脚本 并缓存
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package com.codingapi.springboot.script.parser;
2+
3+
import com.codingapi.springboot.framework.reflect.ObjectAnnotationFieldUtils;
4+
import com.codingapi.springboot.script.annotation.GroovyScript;
5+
import com.codingapi.springboot.script.parser.pojo.GroovyScriptFieldResult;
6+
7+
/**
8+
* {@link GroovyScript} 注解扫描工具类型
9+
*/
10+
public class GroovyScriptAnnotationUtils {
11+
12+
public static GroovyScriptFieldResult findGroovyScriptFields(Object target) {
13+
return new GroovyScriptFieldResult(ObjectAnnotationFieldUtils.findFieldAnnotationValue(target, GroovyScript.class, String.class));
14+
}
15+
16+
}

springboot-starter-script/src/main/java/com/codingapi/springboot/script/parser/GroovyScriptParser.java

Lines changed: 0 additions & 80 deletions
This file was deleted.

springboot-starter-script/src/main/java/com/codingapi/springboot/script/parser/GroovyScriptParserService.java

Lines changed: 0 additions & 28 deletions
This file was deleted.
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package com.codingapi.springboot.script.parser.pojo;
2+
3+
import com.codingapi.springboot.framework.reflect.pojo.AnnotationTargetFieldResult;
4+
import lombok.AllArgsConstructor;
5+
6+
import java.util.List;
7+
8+
@AllArgsConstructor
9+
public class GroovyScriptFieldResult {
10+
11+
private final AnnotationTargetFieldResult<String> result;
12+
13+
public List<String> getKeys(){
14+
return result.getValues();
15+
}
16+
17+
public void update(AnnotationTargetFieldResult.Generate<String> generateKey){
18+
result.update(generateKey);
19+
}
20+
21+
}

springboot-starter-script/src/test/java/com/codingapi/springboot/script/request/Node.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,8 @@
22

33
import com.codingapi.springboot.script.annotation.GroovyScript;
44
import lombok.Data;
5-
import lombok.Getter;
6-
import lombok.Setter;
75

8-
@Setter
9-
@Getter
6+
@Data
107
public class Node {
118

129
private String id;

springboot-starter-script/src/test/java/com/codingapi/springboot/script/request/WorkflowTest.java

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.codingapi.springboot.script.request;
22

3-
import com.codingapi.springboot.script.parser.GroovyScriptParserService;
3+
import com.codingapi.springboot.script.parser.GroovyScriptAnnotationUtils;
4+
import com.codingapi.springboot.script.parser.pojo.GroovyScriptFieldResult;
45
import org.junit.jupiter.api.Test;
56

67
import java.util.List;
@@ -20,10 +21,20 @@ void test() {
2021
node.setScript("K123123");
2122
workflow.addNode(node);
2223

23-
GroovyScriptParserService parser = new GroovyScriptParserService(workflow);
24-
List<String> keys = parser.parser();
24+
List<String> keys = GroovyScriptAnnotationUtils.findGroovyScriptFields(workflow).getKeys();
2525
assertEquals(1, keys.size());
26-
assertEquals("K123123",keys.get(0));
26+
assertEquals("K123123", keys.get(0));
27+
28+
GroovyScriptFieldResult result = GroovyScriptAnnotationUtils.findGroovyScriptFields(workflow);
29+
30+
result.update((value)->{
31+
return "K123456";
32+
});
33+
34+
keys = GroovyScriptAnnotationUtils.findGroovyScriptFields(workflow).getKeys();
35+
assertEquals(1, keys.size());
36+
assertEquals("K123456", keys.get(0));
37+
2738
}
2839

2940
}

0 commit comments

Comments
 (0)