mirror of
https://gitee.com/BDWare/cp.git
synced 2025-04-27 14:42:15 +00:00
update yjscompiler
This commit is contained in:
parent
05e301d9e9
commit
7f81dba895
@ -1,6 +1,8 @@
|
|||||||
{
|
{
|
||||||
"agentHttpAddr": "127.0.0.1:18000",
|
"agentAddress": "127.0.0.1:18000",
|
||||||
"script": "/Users/huaqiancai/BDWare/datanet/datanet-gateway-bundle/datanet-gateway-backend/build/gateway.ypk",
|
"ypkPath": "/Users/huaqiancai/BDWare/datanet/datanet-gateway-bundle/datanet-gateway-backend/build/gateway.ypk",
|
||||||
"pubKey": "04d1924329f72ced148f6f333fb985ccbaa31b1e3aacf10be5f43d4a4ff5ad88899a005e79e37fc06993e1d66ada8cf8b711cb36f59538bb7d3e39e70fa9360ddd",
|
"privateKey": "04d1924329f72ced148f6f333fb985ccbaa31b1e3aacf10be5f43d4a4ff5ad88899a005e79e37fc06993e1d66ada8cf8b711cb36f59538bb7d3e39e70fa9360ddd",
|
||||||
"privKey": "589d94ee5688358a1c5c18430dd9c75097ddddebf769f139da36a807911d20f8"
|
"publicKey": "589d94ee5688358a1c5c18430dd9c75097ddddebf769f139da36a807911d20f8",
|
||||||
|
"killBeforeStart":"ContractName",
|
||||||
|
"createParam":{}
|
||||||
}
|
}
|
@ -557,6 +557,9 @@ public class ContractProcess {
|
|||||||
if (argSchemaHandler != null) {
|
if (argSchemaHandler != null) {
|
||||||
fun.appendBeforeInvokeHandler(argSchemaHandler);
|
fun.appendBeforeInvokeHandler(argSchemaHandler);
|
||||||
}
|
}
|
||||||
|
if (fun.functionName.equals("onCreate")){
|
||||||
|
fun.appendAfterInvokeHandler(new ObjToJsonHandler());
|
||||||
|
}
|
||||||
if (fun.isExport()) {
|
if (fun.isExport()) {
|
||||||
//if(fun.annotations...)
|
//if(fun.annotations...)
|
||||||
AccessHandler accessHandler = createHandlerIfExist(fun,fun.annotations,AccessHandler.class);
|
AccessHandler accessHandler = createHandlerIfExist(fun,fun.annotations,AccessHandler.class);
|
||||||
|
@ -131,7 +131,8 @@ public class YJSCompiler {
|
|||||||
if (czb.containsPath(str)) {
|
if (czb.containsPath(str)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
ZipEntry entry = zf.getEntry("/" + str);
|
|
||||||
|
ZipEntry entry = zf.getEntry(str.startsWith("/") ? str : "/" + str);
|
||||||
if (null == entry) {
|
if (null == entry) {
|
||||||
throw new IllegalStateException("missing import:" + str);
|
throw new IllegalStateException("missing import:" + str);
|
||||||
}
|
}
|
||||||
|
@ -1,14 +1,15 @@
|
|||||||
package org.bdware.sc.engine;
|
package org.bdware.sc.engine;
|
||||||
|
|
||||||
import com.google.gson.*;
|
import com.google.gson.*;
|
||||||
import jdk.nashorn.internal.runtime.Context;
|
|
||||||
import wrp.jdk.nashorn.api.scripting.ScriptObjectMirror;
|
import wrp.jdk.nashorn.api.scripting.ScriptObjectMirror;
|
||||||
import wrp.jdk.nashorn.internal.objects.NativeArray;
|
import wrp.jdk.nashorn.internal.objects.NativeArray;
|
||||||
import wrp.jdk.nashorn.internal.runtime.PropertyMap;
|
import wrp.jdk.nashorn.internal.runtime.PropertyMap;
|
||||||
import wrp.jdk.nashorn.internal.runtime.ScriptObject;
|
|
||||||
import wrp.jdk.nashorn.internal.scripts.JO;
|
import wrp.jdk.nashorn.internal.scripts.JO;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.HashSet;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
public class JSONTool {
|
public class JSONTool {
|
||||||
public static JsonElement convertMirrorToJson(Object ret2) {
|
public static JsonElement convertMirrorToJson(Object ret2) {
|
||||||
@ -140,15 +141,15 @@ public class JSONTool {
|
|||||||
return JsonNull.INSTANCE;
|
return JsonNull.INSTANCE;
|
||||||
} else if (obj instanceof Number) {
|
} else if (obj instanceof Number) {
|
||||||
return new JsonPrimitive((Number) obj);
|
return new JsonPrimitive((Number) obj);
|
||||||
|
|
||||||
} else if (obj instanceof String) {
|
} else if (obj instanceof String) {
|
||||||
return new JsonPrimitive((String) obj);
|
return new JsonPrimitive((String) obj);
|
||||||
|
|
||||||
} else if (obj instanceof Character) {
|
} else if (obj instanceof Character) {
|
||||||
return new JsonPrimitive((Character) obj);
|
return new JsonPrimitive((Character) obj);
|
||||||
}
|
} else if (obj instanceof Boolean) {
|
||||||
if (obj instanceof Boolean) {
|
|
||||||
return new JsonPrimitive((Boolean) obj);
|
return new JsonPrimitive((Boolean) obj);
|
||||||
|
} else if (obj.getClass() == Boolean.TYPE) {
|
||||||
|
return new JsonPrimitive((boolean) obj);
|
||||||
|
|
||||||
}
|
}
|
||||||
return JsonNull.INSTANCE;
|
return JsonNull.INSTANCE;
|
||||||
}
|
}
|
||||||
|
@ -46,16 +46,14 @@ public class AccessHandler implements AnnotationHook {
|
|||||||
}
|
}
|
||||||
return argPacks;
|
return argPacks;
|
||||||
}
|
}
|
||||||
|
if (!argPacks.request.verifySignature()){
|
||||||
|
argPacks.request.setRequester(null);
|
||||||
|
}
|
||||||
if (acFunction == null) return argPacks;
|
if (acFunction == null) return argPacks;
|
||||||
DesktopEngine de = (DesktopEngine) desktopEngine;
|
DesktopEngine de = (DesktopEngine) desktopEngine;
|
||||||
Global oldGlobal = Context.getGlobal();
|
|
||||||
Global newGlobal = de.getDesktopGlobal();
|
|
||||||
boolean globalChanged = (oldGlobal != newGlobal);
|
|
||||||
try {
|
try {
|
||||||
if (globalChanged) {
|
ContractRequest input = argPacks.request;
|
||||||
Context.setGlobal(newGlobal);
|
|
||||||
}
|
|
||||||
ContractRequest input = argPacks.request;
|
|
||||||
JO jo = new JO(PropertyMap.newMap());
|
JO jo = new JO(PropertyMap.newMap());
|
||||||
jo.put("requester", input.getRequester(), false);
|
jo.put("requester", input.getRequester(), false);
|
||||||
jo.put("action", input.getAction(), false);
|
jo.put("action", input.getAction(), false);
|
||||||
@ -69,9 +67,6 @@ public class AccessHandler implements AnnotationHook {
|
|||||||
jo.addProperty("code", "401");
|
jo.addProperty("code", "401");
|
||||||
jo.addProperty("msg", "access check meets exception! " + e);
|
jo.addProperty("msg", "access check meets exception! " + e);
|
||||||
throw new ScriptReturnException(jo);
|
throw new ScriptReturnException(jo);
|
||||||
} finally {
|
|
||||||
if (globalChanged) Context.setGlobal(oldGlobal);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user