From 7a9ce393cdb14495eeb56507d00b8adf26438746 Mon Sep 17 00:00:00 2001 From: WangXuxin Date: Wed, 27 Apr 2022 10:23:33 +0800 Subject: [PATCH 1/2] feat: support @RouteInfo byFunc --- src/main/entry/org/bdware/sc/bean/DefaultRouteRule.java | 3 ++- src/main/entry/org/bdware/sc/bean/RouteInfo.java | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/entry/org/bdware/sc/bean/DefaultRouteRule.java b/src/main/entry/org/bdware/sc/bean/DefaultRouteRule.java index 1355e0d..cb7ee57 100644 --- a/src/main/entry/org/bdware/sc/bean/DefaultRouteRule.java +++ b/src/main/entry/org/bdware/sc/bean/DefaultRouteRule.java @@ -3,5 +3,6 @@ package org.bdware.sc.bean; public enum DefaultRouteRule { byRequester, byArgHash, - byTarget; + byTarget, + byFunc; } diff --git a/src/main/entry/org/bdware/sc/bean/RouteInfo.java b/src/main/entry/org/bdware/sc/bean/RouteInfo.java index e004d7d..b923ebb 100644 --- a/src/main/entry/org/bdware/sc/bean/RouteInfo.java +++ b/src/main/entry/org/bdware/sc/bean/RouteInfo.java @@ -9,6 +9,8 @@ import java.io.Serializable; public class RouteInfo implements Serializable { public DefaultRouteRule useDefault; + public String funcName; + public static RouteInfo create(AnnotationNode annotationNode, ContractNode contractNode) { RouteInfo info = new RouteInfo(); info.useDefault = null; From b78c6a0c98961d148ffceeb3080dfe031d9823e2 Mon Sep 17 00:00:00 2001 From: CaiHQ Date: Mon, 2 May 2022 20:49:37 +0800 Subject: [PATCH 2/2] feat: support onCreateParams --- build.gradle | 5 ++--- src/main/base/org/bdware/sc/JSEngine.java | 1 + src/main/base/org/bdware/sc/conn/ServiceServer.java | 3 +-- src/main/base/org/bdware/sc/node/ContractManifest.java | 2 ++ 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/build.gradle b/build.gradle index a3ac1a4..bf207b0 100644 --- a/build.gradle +++ b/build.gradle @@ -25,15 +25,14 @@ sourceCompatibility = 1.8 dependencies { api project(":gmhelper") - api 'berkeleydb:je:3.2.76' api 'com.fifesoft:rsyntaxtextarea:3.1.3' api 'commons-io:commons-io:2.11.0' api 'io.netty:netty-all:4.1.63.Final' api 'org.antlr:antlr4:4.9.2' api 'commons-codec:commons-codec:1.5' - api 'org.apache.logging.log4j:log4j-core:2.17.0' - api 'org.apache.logging.log4j:log4j-api:2.17.0' + api 'org.apache.logging.log4j:log4j-core:2.17.2' + api 'org.apache.logging.log4j:log4j-api:2.17.2' //api 'org.apache.velocity:velocity-engine-core:2.3' api 'org.rocksdb:rocksdbjni:6.22.1' diff --git a/src/main/base/org/bdware/sc/JSEngine.java b/src/main/base/org/bdware/sc/JSEngine.java index 22196d8..5285335 100644 --- a/src/main/base/org/bdware/sc/JSEngine.java +++ b/src/main/base/org/bdware/sc/JSEngine.java @@ -21,4 +21,5 @@ public abstract class JSEngine implements ScriptEngine { */ public abstract ContractResult loadContract( Contract contract, ContractNode contractNode, boolean isInsnLim); + } diff --git a/src/main/base/org/bdware/sc/conn/ServiceServer.java b/src/main/base/org/bdware/sc/conn/ServiceServer.java index 4d6b0c0..5b22c0e 100644 --- a/src/main/base/org/bdware/sc/conn/ServiceServer.java +++ b/src/main/base/org/bdware/sc/conn/ServiceServer.java @@ -55,11 +55,10 @@ public class ServiceServer extends Thread { public void run() { EventLoopGroup bossGroup = new NioEventLoopGroup(1); - EventLoopGroup workerGroup = new NioEventLoopGroup(); ServerBootstrap b = new ServerBootstrap(); b.option(ChannelOption.ALLOCATOR, PooledByteBufAllocator.DEFAULT); - b.group(bossGroup, workerGroup) + b.group(bossGroup) .channel(NioServerSocketChannel.class) .option(ChannelOption.SO_BACKLOG, 100) .option(ChannelOption.SO_REUSEADDR, false) diff --git a/src/main/base/org/bdware/sc/node/ContractManifest.java b/src/main/base/org/bdware/sc/node/ContractManifest.java index c3d76fd..4138c79 100644 --- a/src/main/base/org/bdware/sc/node/ContractManifest.java +++ b/src/main/base/org/bdware/sc/node/ContractManifest.java @@ -1,5 +1,6 @@ package org.bdware.sc.node; +import com.google.gson.JsonElement; import org.bdware.sc.bean.ContractExecType; import org.bdware.sc.py.bean.PYPackage; @@ -18,6 +19,7 @@ public class ContractManifest { private List permissions; public boolean startAtUnpack; public String sourcePath; + public JsonElement createParam; public List getPyDependences() { return pyDependences;