From 6dfe551a1d87db952b82e200b1c9624a80f72138 Mon Sep 17 00:00:00 2001 From: "Frank.R.Wu" Date: Thu, 15 Jun 2023 11:08:02 +0800 Subject: [PATCH] build: config spotless plugin and reformat code --- build.gradle | 2 + .../src/org/bdware/server/ByteHexUtil.java | 3 +- src/main/src/org/bdware/server/Entry.java | 21 ++- .../bdware/server/action/ActionExecutor.java | 25 +-- .../server/action/HttpResultCallback.java | 7 +- .../HttpServerSentEventResultCallback.java | 11 +- .../org/bdware/server/action/ReplyUtil.java | 7 +- .../org/bdware/server/action/SyncResult.java | 23 +-- .../src/org/bdware/server/http/ArgParser.java | 28 +-- .../server/http/FileDownloaderCallback.java | 12 +- .../server/http/HttpFileHandleAdapter.java | 18 +- .../org/bdware/server/http/HttpMethod.java | 10 +- .../org/bdware/server/http/URIHandler.java | 14 +- .../src/org/bdware/server/http/URIPath.java | 1 + .../bdware/server/nodecenter/Response.java | 10 +- .../server/nodecenter/client/CMNodeBean.java | 17 +- .../bdware/server/permission/Permission.java | 90 +++++---- .../org/bdware/server/permission/Role.java | 9 +- .../server/ws/DelimiterBasedFrameEncoder.java | 16 +- .../org/bdware/server/ws/DelimiterCodec.java | 8 +- .../server/ws/WebSocketIndexPageHandler.java | 134 ++++++------- .../server/ws/WebSocketServerIndexPage.java | 114 +++--------- .../org/bdware/server/IndexServer.java | 5 +- .../org/bdware/server/action/IndexAction.java | 12 +- .../bdware/server/http/IndexHttpHandler.java | 16 +- .../bdware/server/http/URIHandlerTest.java | 16 +- .../permission/test/PermissionTest.java | 8 +- .../bdware/server/test/BDLedgerClient.java | 24 +-- .../org/bdware/server/test/CMHttpTest.java | 155 +++++++-------- .../org/bdware/server/test/GsonParseTest.java | 16 +- .../bdware/server/test/HttpPostFormTest.java | 176 +++++++++--------- .../org/bdware/server/test/LongParseTest.java | 8 +- .../org/bdware/server/test/NCHttpTest.java | 127 ++++++------- .../org/bdware/server/test/StringTest.java | 33 ++-- 34 files changed, 545 insertions(+), 631 deletions(-) diff --git a/build.gradle b/build.gradle index 9641dcd..7896b32 100644 --- a/build.gradle +++ b/build.gradle @@ -5,6 +5,8 @@ plugins { id 'signing' } +apply from: '../spotless.gradle' + sourceSets { main { java { diff --git a/src/main/src/org/bdware/server/ByteHexUtil.java b/src/main/src/org/bdware/server/ByteHexUtil.java index 60fe3a5..5e1d8fb 100644 --- a/src/main/src/org/bdware/server/ByteHexUtil.java +++ b/src/main/src/org/bdware/server/ByteHexUtil.java @@ -4,8 +4,7 @@ public class ByteHexUtil { protected static final char[] hexArray = "0123456789ABCDEF".toCharArray(); // lower ascii only private static final int[] HEX_TO_INT = - new int[]{ - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // 0-15 + new int[] {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // 0-15 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // 16-31 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // 32-47 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -1, -1, -1, -1, -1, -1, // 48-63 diff --git a/src/main/src/org/bdware/server/Entry.java b/src/main/src/org/bdware/server/Entry.java index 678234f..9f0910e 100644 --- a/src/main/src/org/bdware/server/Entry.java +++ b/src/main/src/org/bdware/server/Entry.java @@ -5,7 +5,7 @@ import java.io.InputStreamReader; public class Entry { - //release 地址:47.93.86.250 root:i1235813 + // release 地址:47.93.86.250 root:i1235813 public static void main(String[] args) { try { if (args == null || args.length < 2) { @@ -19,7 +19,7 @@ public class Entry { @Override public void run() { try { - // JavaContractServiceGrpcServer.init(); + // JavaContractServiceGrpcServer.init(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); @@ -36,8 +36,10 @@ public class Entry { Thread.sleep(1000); Process p = Runtime.getRuntime().exec("./bdledger_go"); - BufferedReader stdInput = new BufferedReader(new InputStreamReader(p.getInputStream())); - BufferedReader stdError = new BufferedReader(new InputStreamReader(p.getErrorStream())); + BufferedReader stdInput = new BufferedReader( + new InputStreamReader(p.getInputStream())); + BufferedReader stdError = new BufferedReader( + new InputStreamReader(p.getErrorStream())); // read the output from the command System.out.println("Here is the standard output of the command:\n"); @@ -46,7 +48,8 @@ public class Entry { } // read any errors from the attempted command - System.out.println("Here is the standard error of the command (if any):\n"); + System.out.println( + "Here is the standard error of the command (if any):\n"); while ((s = stdError.readLine()) != null) { System.out.println(s); } @@ -57,14 +60,14 @@ public class Entry { } }); t2.start(); - //CMHttpServer.start(getPort(args)); + // CMHttpServer.start(getPort(args)); break; case "NC": case "NodeCenter": - //NodeCenterServer.start(getPort(args)); + // NodeCenterServer.start(getPort(args)); break; case "Index": -// IndexServer.start(getPort(args)); + // IndexServer.start(getPort(args)); default: printUsage(); } @@ -96,4 +99,4 @@ public class Entry { } return -1; } -} \ No newline at end of file +} diff --git a/src/main/src/org/bdware/server/action/ActionExecutor.java b/src/main/src/org/bdware/server/action/ActionExecutor.java index 8fe2651..4329ee5 100644 --- a/src/main/src/org/bdware/server/action/ActionExecutor.java +++ b/src/main/src/org/bdware/server/action/ActionExecutor.java @@ -20,7 +20,7 @@ public class ActionExecutor { // ---------- use for profiling static Map> allData = new ConcurrentHashMap<>(); public ExecutorService executor; - // private Profiler profiler = new Profiler(); + // private Profiler profiler = new Profiler(); public long permission; Map staticData; private Map> handlers; @@ -84,11 +84,8 @@ public class ActionExecutor { handlers.put(method.getName(), new Pair<>(method, obj)); if (!method.getReturnType().equals(Void.TYPE) || method.getParameterCount() != 2) { - LOGGER.error( - "action ret is not void:" - + obj.getClass().getCanonicalName() - + "-->" - + method.getName()); + LOGGER.error("action ret is not void:" + + obj.getClass().getCanonicalName() + "-->" + method.getName()); System.exit(0); } @@ -97,11 +94,9 @@ public class ActionExecutor { handlers.put(a, new Pair<>(method, obj)); if (!method.getReturnType().equals(Void.TYPE) || method.getParameterCount() != 2) { - LOGGER.error( - "action ret is not void:" - + obj.getClass().getCanonicalName() - + "-->" - + method.getName()); + LOGGER.error("action ret is not void:" + + obj.getClass().getCanonicalName() + "-->" + + method.getName()); System.exit(0); } @@ -116,7 +111,7 @@ public class ActionExecutor { public void handle(String action, final U args, final T callback) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException { - // LOGGER.info("handling " + action + "..."); + // LOGGER.info("handling " + action + "..."); // LOGGER.info("handle : " + action + " ->" + JsonUtil.toJson(args)); if (null != action) { @@ -144,10 +139,8 @@ public class ActionExecutor { try { pair.first.invoke(pair.second, args, callback); } catch (Exception e) { - LOGGER.debug( - pair.first.getDeclaringClass().getCanonicalName() - + "->" - + pair.first.getName()); + LOGGER.debug(pair.first.getDeclaringClass().getCanonicalName() + "->" + + pair.first.getName()); e.printStackTrace(); } }); diff --git a/src/main/src/org/bdware/server/action/HttpResultCallback.java b/src/main/src/org/bdware/server/action/HttpResultCallback.java index 81ee87b..65e2e9c 100644 --- a/src/main/src/org/bdware/server/action/HttpResultCallback.java +++ b/src/main/src/org/bdware/server/action/HttpResultCallback.java @@ -49,12 +49,13 @@ public class HttpResultCallback extends ResultCallback implements Runnable { bytes = ret.getBytes(); } assert bytes != null; - response = new DefaultFullHttpResponse(HttpVersion.HTTP_1_1, OK, Unpooled.wrappedBuffer(bytes)); + response = new DefaultFullHttpResponse(HttpVersion.HTTP_1_1, OK, + Unpooled.wrappedBuffer(bytes)); for (String key : extraHeaders.keySet()) response.headers().add(key, extraHeaders.get(key)); ctxField.channel().eventLoop().execute(this); - } // Just ignore + } // Just ignore } @@ -73,4 +74,4 @@ public class HttpResultCallback extends ResultCallback implements Runnable { public void setDecodeBase64() { decodeAsB64 = true; } -} \ No newline at end of file +} diff --git a/src/main/src/org/bdware/server/action/HttpServerSentEventResultCallback.java b/src/main/src/org/bdware/server/action/HttpServerSentEventResultCallback.java index e73e68f..935f160 100644 --- a/src/main/src/org/bdware/server/action/HttpServerSentEventResultCallback.java +++ b/src/main/src/org/bdware/server/action/HttpServerSentEventResultCallback.java @@ -28,8 +28,8 @@ public class HttpServerSentEventResultCallback extends HttpResultCallback implem } public void writeInitialHead() { - HttpResponse response = new DefaultHttpResponse(HttpVersion.HTTP_1_1, - HttpResponseStatus.OK); + HttpResponse response = + new DefaultHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.OK); for (String key : extraHeaders.keySet()) response.headers().add(key, extraHeaders.get(key)); ctxField.writeAndFlush(response); @@ -63,13 +63,16 @@ public class HttpServerSentEventResultCallback extends HttpResultCallback implem public void run() { try { if (System.currentTimeMillis() - lastUpdate < 10000L) { - //reschedule + // reschedule LOGGER.info("Reschedule time out"); currentScheduler = scheduledThreadPool.schedule(this, 10, TimeUnit.SECONDS); return; } if (!closed) { - final ByteBuf buffer = Unpooled.copiedBuffer("{\"action\":\"onDistributeFinish\",\"progress\":\"-1\",\"data\":\"timeout\"}" + "\n\n", StandardCharsets.UTF_8); + final ByteBuf buffer = Unpooled.copiedBuffer( + "{\"action\":\"onDistributeFinish\",\"progress\":\"-1\",\"data\":\"timeout\"}" + + "\n\n", + StandardCharsets.UTF_8); ctxField.writeAndFlush(new DefaultHttpContent(buffer)); } close(); diff --git a/src/main/src/org/bdware/server/action/ReplyUtil.java b/src/main/src/org/bdware/server/action/ReplyUtil.java index c1fc7b4..88d4c07 100644 --- a/src/main/src/org/bdware/server/action/ReplyUtil.java +++ b/src/main/src/org/bdware/server/action/ReplyUtil.java @@ -15,10 +15,11 @@ public class ReplyUtil { resultCallback.onResult(ret); } - public static void replyWithStatus(ResultCallback resultCallback, String action, boolean status,Object data) { + public static void replyWithStatus(ResultCallback resultCallback, String action, boolean status, + Object data) { Map ret = new HashMap<>(); ret.put("action", action); - ret.put("status",status); + ret.put("status", status); ret.put("data", data); resultCallback.onResult(ret); } @@ -27,4 +28,4 @@ public class ReplyUtil { if (json.has("requestID")) response.responseID = json.get("requestID").getAsString(); } -} \ No newline at end of file +} diff --git a/src/main/src/org/bdware/server/action/SyncResult.java b/src/main/src/org/bdware/server/action/SyncResult.java index 777ab23..6c0dc17 100644 --- a/src/main/src/org/bdware/server/action/SyncResult.java +++ b/src/main/src/org/bdware/server/action/SyncResult.java @@ -19,33 +19,28 @@ import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; public class SyncResult { - public static final HashedWheelTimer timer = new HashedWheelTimer( - Executors.defaultThreadFactory(), - 5, - TimeUnit.MILLISECONDS, - 2); + public static final HashedWheelTimer timer = + new HashedWheelTimer(Executors.defaultThreadFactory(), 5, TimeUnit.MILLISECONDS, 2); private static final Logger LOGGER = LogManager.getLogger(SyncResult.class); public Map waitObj = new ConcurrentHashMap<>(); public synchronized void wakeUp(String requestID, String result) { ResultCallback ob = waitObj.get(requestID); - // TODO 难怪之前这是注释的。 + // TODO 难怪之前这是注释的。 waitObj.remove(requestID); - // cancel timeout + // cancel timeout if (ob != null) { ob.cancelTimeOut(); ob.onResult(result); } } - public void instrumentWakeUp( - String requestID, - InstrumentedResultCallback instrumentedResultCallback, - JsonObject result) { + public void instrumentWakeUp(String requestID, + InstrumentedResultCallback instrumentedResultCallback, JsonObject result) { ResultCallback ob = waitObj.get(requestID); - // TODO 难怪之前这是注释的。 + // TODO 难怪之前这是注释的。 waitObj.remove(requestID); - // cancel timeout + // cancel timeout if (ob != null) { ob.cancelTimeOut(); instrumentedResultCallback.onResult(ob, result); @@ -61,7 +56,7 @@ public class SyncResult { if (!waitObj.containsKey(requestID)) { CancelTask tt = new CancelTask(requestID); Timeout timeout = timer.newTimeout(tt, timeOut, TimeUnit.SECONDS); - // logger.debug("reqID:" + requestID + " createTimeout:" + timeout); + // logger.debug("reqID:" + requestID + " createTimeout:" + timeout); cb.setTimeOut(timeout); waitObj.put(requestID, cb); } else { diff --git a/src/main/src/org/bdware/server/http/ArgParser.java b/src/main/src/org/bdware/server/http/ArgParser.java index 4d4584a..385e6d9 100644 --- a/src/main/src/org/bdware/server/http/ArgParser.java +++ b/src/main/src/org/bdware/server/http/ArgParser.java @@ -28,7 +28,8 @@ public class ArgParser { private static final Logger LOGGER = LogManager.getLogger(ArgParser.class); - public static JsonObject parseGetAndVerify(FullHttpRequest msg, VerifiedCallback cb) throws Exception { + public static JsonObject parseGetAndVerify(FullHttpRequest msg, VerifiedCallback cb) + throws Exception { QueryStringDecoder decoderQuery = new QueryStringDecoder(msg.uri()); Map> parameters = decoderQuery.parameters(); JsonObject transformedParam = new JsonObject(); @@ -41,7 +42,7 @@ public class ArgParser { // 匿名用户权限为0 transformedParam.addProperty("permission", 0); transformedParam.remove("verifiedPubKey"); - // 验签 有pubKey就必须有sign + // 验签 有pubKey就必须有sign String uri = URLDecoder.decode(msg.uri(), "UTF-8").split("\\?")[1]; int index = uri.lastIndexOf('&'); if (index >= 0) @@ -49,17 +50,17 @@ public class ArgParser { return transformedParam; } - private static void verifyParam(JsonObject transformedParam, String toVerifyStr, VerifiedCallback cb) { + private static void verifyParam(JsonObject transformedParam, String toVerifyStr, + VerifiedCallback cb) { boolean verify = false; if (transformedParam.has("pubKey")) { LOGGER.info("before verifying: " + toVerifyStr); try { - ECPublicKeyParameters pubKey = - BCECUtil.createECPublicKeyFromStrParameters( - transformedParam.get("pubKey").getAsString(), SM2Util.CURVE, SM2Util.DOMAIN_PARAMS); - verify = - SM2Util.verify( - pubKey, toVerifyStr.getBytes(), ByteUtils.fromHexString(transformedParam.get("sign").getAsString())); + ECPublicKeyParameters pubKey = BCECUtil.createECPublicKeyFromStrParameters( + transformedParam.get("pubKey").getAsString(), SM2Util.CURVE, + SM2Util.DOMAIN_PARAMS); + verify = SM2Util.verify(pubKey, toVerifyStr.getBytes(), + ByteUtils.fromHexString(transformedParam.get("sign").getAsString())); } catch (Exception e) { LOGGER.error(e.getMessage()); @@ -71,7 +72,8 @@ public class ArgParser { return; } - public static JsonObject parsePostAndVerify(FullHttpRequest msg, VerifiedCallback cb) throws Exception { + public static JsonObject parsePostAndVerify(FullHttpRequest msg, VerifiedCallback cb) + throws Exception { ByteBuf content = msg.content(); JsonObject map = JsonParser.parseReader(new InputStreamReader(new ByteBufInputStream(content))) @@ -80,13 +82,15 @@ public class ArgParser { boolean isFirst = true; for (String key : map.keySet()) { if (!key.equals("sign")) { - if (!isFirst) toSign.append("&"); + if (!isFirst) + toSign.append("&"); isFirst = false; toSign.append(key).append("="); JsonElement je = map.get(key); if (je.isJsonPrimitive()) toSign.append(je.getAsString()); - else toSign.append(je.toString()); + else + toSign.append(je.toString()); } } verifyParam(map, toSign.toString(), cb); diff --git a/src/main/src/org/bdware/server/http/FileDownloaderCallback.java b/src/main/src/org/bdware/server/http/FileDownloaderCallback.java index 315648c..8effee7 100644 --- a/src/main/src/org/bdware/server/http/FileDownloaderCallback.java +++ b/src/main/src/org/bdware/server/http/FileDownloaderCallback.java @@ -24,7 +24,8 @@ public class FileDownloaderCallback extends HttpResultCallback { public void onResult(final String filePath) { try { final RandomAccessFile file = new RandomAccessFile(filePath, "r"); - HttpResponse response = new DefaultHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.OK); + HttpResponse response = + new DefaultHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.OK); // 设置文件格式内容 response.headers().set(HttpHeaderNames.CONTENT_TYPE, "application/x-msdownload"); response.headers().set(HttpHeaderNames.CONTENT_DISPOSITION, @@ -33,13 +34,14 @@ public class FileDownloaderCallback extends HttpResultCallback { HttpUtil.setContentLength(response, file.length()); LOGGER.debug("FileLength:" + file.length()); ctxField.write(response); - ChannelFuture future = ctxField.write(new DefaultFileRegion(file.getChannel(), 0, file.length()), - ctxField.newProgressivePromise()); + ChannelFuture future = + ctxField.write(new DefaultFileRegion(file.getChannel(), 0, file.length()), + ctxField.newProgressivePromise()); ctxField.writeAndFlush(LastHttpContent.EMPTY_LAST_CONTENT); future.addListener(new ChannelProgressiveFutureListener() { @Override - public void operationProgressed(ChannelProgressiveFuture future, long progress, long total) { - } + public void operationProgressed(ChannelProgressiveFuture future, long progress, + long total) {} @Override public void operationComplete(ChannelProgressiveFuture future) throws Exception { diff --git a/src/main/src/org/bdware/server/http/HttpFileHandleAdapter.java b/src/main/src/org/bdware/server/http/HttpFileHandleAdapter.java index bc6c306..472ae1e 100644 --- a/src/main/src/org/bdware/server/http/HttpFileHandleAdapter.java +++ b/src/main/src/org/bdware/server/http/HttpFileHandleAdapter.java @@ -24,12 +24,8 @@ public class HttpFileHandleAdapter extends SimpleChannelInboundHandler t : handlers.get(m)) { String className = t.u.getDeclaringClass().getSimpleName(); sbl.append("\t\t").append(t.t.isEmpty() ? "" : t.t).append(" --> ") - .append(className.isEmpty() ? "null" : className) - .append(".").append(t.u.getName()).append("\n"); + .append(className.isEmpty() ? "null" : className).append(".") + .append(t.u.getName()).append("\n"); } } LOGGER.info(sbl.substring(0, sbl.length() - 1)); } private void sendUnsupported(ChannelHandlerContext ctx) { - FullHttpResponse response = - new DefaultFullHttpResponse( - HTTP_1_1, - HttpResponseStatus.BAD_REQUEST, - Unpooled.wrappedBuffer( - ("Failure: " + HttpResponseStatus.BAD_REQUEST + "\r\n") - .getBytes())); + FullHttpResponse response = new DefaultFullHttpResponse(HTTP_1_1, + HttpResponseStatus.BAD_REQUEST, Unpooled.wrappedBuffer( + ("Failure: " + HttpResponseStatus.BAD_REQUEST + "\r\n").getBytes())); response.headers().set(HttpHeaderNames.CONTENT_TYPE, "text/plain; charset=UTF-8"); ctx.writeAndFlush(response).addListener(ChannelFutureListener.CLOSE); } diff --git a/src/main/src/org/bdware/server/http/URIPath.java b/src/main/src/org/bdware/server/http/URIPath.java index c760cf7..64627b7 100644 --- a/src/main/src/org/bdware/server/http/URIPath.java +++ b/src/main/src/org/bdware/server/http/URIPath.java @@ -9,5 +9,6 @@ import java.lang.annotation.Target; @Target(ElementType.METHOD) public @interface URIPath { String[] value() default {""}; + HttpMethod method() default HttpMethod.GET; } diff --git a/src/main/src/org/bdware/server/nodecenter/Response.java b/src/main/src/org/bdware/server/nodecenter/Response.java index cdc8a51..0857706 100644 --- a/src/main/src/org/bdware/server/nodecenter/Response.java +++ b/src/main/src/org/bdware/server/nodecenter/Response.java @@ -1,9 +1,9 @@ package org.bdware.server.nodecenter; public class Response { - public String responseID; - public String action; - public Object data; - public long executeTime; - public boolean isPrivate; + public String responseID; + public String action; + public Object data; + public long executeTime; + public boolean isPrivate; } diff --git a/src/main/src/org/bdware/server/nodecenter/client/CMNodeBean.java b/src/main/src/org/bdware/server/nodecenter/client/CMNodeBean.java index 4f8573d..da96429 100644 --- a/src/main/src/org/bdware/server/nodecenter/client/CMNodeBean.java +++ b/src/main/src/org/bdware/server/nodecenter/client/CMNodeBean.java @@ -22,9 +22,9 @@ public class CMNodeBean { // TODO nodeMangerPubkey public void updateContract(Map json) { String jsonStr = json.get("contracts"); - contracts = JsonUtil.fromJson(jsonStr, new TypeToken>() { - }.getType()); -// KeyValueDBUtil.instance.setValue(NCTables.NodesDB.toString(), pubKey, JsonUtil.toJson(this)); + contracts = JsonUtil.fromJson(jsonStr, new TypeToken>() {}.getType()); + // KeyValueDBUtil.instance.setValue(NCTables.NodesDB.toString(), pubKey, + // JsonUtil.toJson(this)); } @@ -33,7 +33,8 @@ public class CMNodeBean { public String formatContractName(String contractIDOrName) { if (null != contracts) { for (ContractDesp desp : contracts) { - if (desp.contractID.equals(contractIDOrName) || desp.contractName.equals(contractIDOrName)) { + if (desp.contractID.equals(contractIDOrName) + || desp.contractName.equals(contractIDOrName)) { return desp.contractName; } } @@ -44,7 +45,8 @@ public class CMNodeBean { public boolean containsContract(String contractIDOrName) { if (null != contracts) { for (ContractDesp desp : contracts) { - if (desp.contractID.equals(contractIDOrName) || desp.contractName.equals(contractIDOrName)) + if (desp.contractID.equals(contractIDOrName) + || desp.contractName.equals(contractIDOrName)) return true; } } @@ -54,7 +56,8 @@ public class CMNodeBean { public boolean containsEvent(String contractIDOrName, String event) { if (null != contracts) { for (ContractDesp desp : contracts) { - if (desp.contractID.equals(contractIDOrName) || desp.contractName.equals(contractIDOrName)) { + if (desp.contractID.equals(contractIDOrName) + || desp.contractName.equals(contractIDOrName)) { if (desp.events.containsKey(event)) return true; } @@ -82,4 +85,4 @@ public class CMNodeBean { } -} \ No newline at end of file +} diff --git a/src/main/src/org/bdware/server/permission/Permission.java b/src/main/src/org/bdware/server/permission/Permission.java index aebb447..0642cf4 100644 --- a/src/main/src/org/bdware/server/permission/Permission.java +++ b/src/main/src/org/bdware/server/permission/Permission.java @@ -1,60 +1,54 @@ package org.bdware.server.permission; public enum Permission { -// GetSessionID(0), GetRole(0), Login(0), // 默认权限设置为0 -// ApplyRole(1 << 0), // 匿名用户申请成为节点管理员(NodePortal)角色 -// NodeStateList(1 << 1), // 中心节点查看节点管理员的所管理所有节点的状态 -// AuthNodeManager(1 << 2), // 授权节点管理员 -// DeleteNodeManager(1 << 3), // 从网络中删除某个节点管理员 -// ListAllUsers(1 << 4), // ListAllUser -// ListApplyUser(1 << 5), // ListApplyUser -// ListTrustCluster(1 << 6), // 查看可信执行集群列表 -// AssignTrustedCluster(1 << 7), // 分配可信执行集群 -// -// // ==================NodePotral=============== -// //ApplyNodeRole(1<<6),//申请节点角色 -// AuthNodeRole(1 << 8), // 授权角色 -// DeleteRole(1 << 9), // 从用户角色中删除某一种角色 -// ListAllAuthUsers(1 << 10), // 查看已授权用户 -// ListUnAuthUsers(1 << 11), // 查看未授权用户 -// -// StartContract(1 << 12), ExecuteContract(1 << 13), StopContract(1 << 14), // stop和kill一样 -// UploadContract(1 << 15), // 上传合约代码(修改代码、更新合约代码、保存代码) -// DownloadContract(1 << 16), // 下载合约代码 -// DeleteContract(1 << 17), // 删除合约代码 -// -// ContractCodeStatisticsList(1 << 18), // 查看合约代码统计数据(合约文件大小) -// StaticAnalysis(1 << 19), // 静态分析 -// ConfigureContractPermission(1 << 20), // 配置合约权限 -// ContractProgressList(1L << 22L), // 查看合约进程(listContractProcess) -// -// QueryActionLog(1L << 24L), // 增加listLog(时间戳) -// QueryUserStateLog(1L << 25L), // 查看节点日志 -// ListLocalNodeStatus(1L << 26L), // 节点状态(此节点) -// ListContractLog(1L << 27L), // 合约日志 -// -// TimeTravel(1L << 28L), ManualDump(1L << 29L), // 手动dump -// ForkContractStatus(1L << 30L), // 合约状态从别处迁移到自己本地 -// ConfigureNode(1L << 31L), // 配置节点信息 -// listProjects(1L << 32L),// 合约提供者 + // GetSessionID(0), GetRole(0), Login(0), // 默认权限设置为0 + // ApplyRole(1 << 0), // 匿名用户申请成为节点管理员(NodePortal)角色 + // NodeStateList(1 << 1), // 中心节点查看节点管理员的所管理所有节点的状态 + // AuthNodeManager(1 << 2), // 授权节点管理员 + // DeleteNodeManager(1 << 3), // 从网络中删除某个节点管理员 + // ListAllUsers(1 << 4), // ListAllUser + // ListApplyUser(1 << 5), // ListApplyUser + // ListTrustCluster(1 << 6), // 查看可信执行集群列表 + // AssignTrustedCluster(1 << 7), // 分配可信执行集群 + // + // // ==================NodePotral=============== + // //ApplyNodeRole(1<<6),//申请节点角色 + // AuthNodeRole(1 << 8), // 授权角色 + // DeleteRole(1 << 9), // 从用户角色中删除某一种角色 + // ListAllAuthUsers(1 << 10), // 查看已授权用户 + // ListUnAuthUsers(1 << 11), // 查看未授权用户 + // + // StartContract(1 << 12), ExecuteContract(1 << 13), StopContract(1 << 14), // stop和kill一样 + // UploadContract(1 << 15), // 上传合约代码(修改代码、更新合约代码、保存代码) + // DownloadContract(1 << 16), // 下载合约代码 + // DeleteContract(1 << 17), // 删除合约代码 + // + // ContractCodeStatisticsList(1 << 18), // 查看合约代码统计数据(合约文件大小) + // StaticAnalysis(1 << 19), // 静态分析 + // ConfigureContractPermission(1 << 20), // 配置合约权限 + // ContractProgressList(1L << 22L), // 查看合约进程(listContractProcess) + // + // QueryActionLog(1L << 24L), // 增加listLog(时间戳) + // QueryUserStateLog(1L << 25L), // 查看节点日志 + // ListLocalNodeStatus(1L << 26L), // 节点状态(此节点) + // ListContractLog(1L << 27L), // 合约日志 + // + // TimeTravel(1L << 28L), ManualDump(1L << 29L), // 手动dump + // ForkContractStatus(1L << 30L), // 合约状态从别处迁移到自己本地 + // ConfigureNode(1L << 31L), // 配置节点信息 + // listProjects(1L << 32L),// 合约提供者 // 新加的一些权限 - // listLicence(1L<<33L)//证书列表 updateLicence权限也写成这个了,有没有必要分开 + // listLicence(1L<<33L)//证书列表 updateLicence权限也写成这个了,有没有必要分开 // TODO: 20205/20 需要整理权限就权限和最新的权限 // CenterManager (其他部分代码中出现的,暂未合并整理) - ApplyRole(1 << 0), - NodeStateList(1 << 1), - AuthNodeManager(1 << 2), - ListAllUsers(1 << 3), - ListApplyUser(1 << 4), - DeleteNodeManager(1 << 5), - ListTrustCluster(1 << 6), - AssignTrustedCluster(1 << 7), - QueryActionLog(1 << 8), - QueryUserStateLog(1 << 9), + ApplyRole(1 << 0), NodeStateList(1 << 1), AuthNodeManager(1 << 2), ListAllUsers( + 1 << 3), ListApplyUser(1 << 4), DeleteNodeManager(1 << 5), ListTrustCluster( + 1 << 6), AssignTrustedCluster( + 1 << 7), QueryActionLog(1 << 8), QueryUserStateLog(1 << 9), // Node ConfigureNode(1 << 10), // 其他地方代码中的权限 @@ -90,4 +84,4 @@ public enum Permission { public long getValue() { return value; } -} \ No newline at end of file +} diff --git a/src/main/src/org/bdware/server/permission/Role.java b/src/main/src/org/bdware/server/permission/Role.java index 379a962..1cb7d33 100644 --- a/src/main/src/org/bdware/server/permission/Role.java +++ b/src/main/src/org/bdware/server/permission/Role.java @@ -1,13 +1,8 @@ package org.bdware.server.permission; public enum Role { - CenterManager(0x3ffL), - NodeManager(0xe41L), - Node(0x1L), - ContractProvider(0x3f000L), - ContractInstanceManager(0x7ff10c0L), - ContractUser(0x5c0000L), - Anonymous(0); + CenterManager(0x3ffL), NodeManager(0xe41L), Node(0x1L), ContractProvider( + 0x3f000L), ContractInstanceManager(0x7ff10c0L), ContractUser(0x5c0000L), Anonymous(0); long value; diff --git a/src/main/src/org/bdware/server/ws/DelimiterBasedFrameEncoder.java b/src/main/src/org/bdware/server/ws/DelimiterBasedFrameEncoder.java index 50c8950..4a4279b 100644 --- a/src/main/src/org/bdware/server/ws/DelimiterBasedFrameEncoder.java +++ b/src/main/src/org/bdware/server/ws/DelimiterBasedFrameEncoder.java @@ -5,13 +5,13 @@ import io.netty.channel.ChannelHandlerContext; import io.netty.handler.codec.MessageToByteEncoder; public class DelimiterBasedFrameEncoder extends MessageToByteEncoder { - static byte[] delimiter = "wonbifoodie".getBytes(); + static byte[] delimiter = "wonbifoodie".getBytes(); - @Override - protected void encode(ChannelHandlerContext arg0, ByteBuf in, ByteBuf out) throws Exception { - // System.out.println("[DelimiterBasedFrameEncoder] write:" + - // in.readableBytes()); - out.writeBytes(in); - out.writeBytes(delimiter); - } + @Override + protected void encode(ChannelHandlerContext arg0, ByteBuf in, ByteBuf out) throws Exception { + // System.out.println("[DelimiterBasedFrameEncoder] write:" + + // in.readableBytes()); + out.writeBytes(in); + out.writeBytes(delimiter); + } } diff --git a/src/main/src/org/bdware/server/ws/DelimiterCodec.java b/src/main/src/org/bdware/server/ws/DelimiterCodec.java index 1b00601..176eab3 100644 --- a/src/main/src/org/bdware/server/ws/DelimiterCodec.java +++ b/src/main/src/org/bdware/server/ws/DelimiterCodec.java @@ -5,13 +5,11 @@ import io.netty.buffer.Unpooled; import io.netty.channel.CombinedChannelDuplexHandler; import io.netty.handler.codec.DelimiterBasedFrameDecoder; -public class DelimiterCodec - extends CombinedChannelDuplexHandler< - DelimiterBasedFrameDecoder, DelimiterBasedFrameEncoder> { +public class DelimiterCodec extends + CombinedChannelDuplexHandler { public DelimiterCodec() { ByteBuf buf = Unpooled.wrappedBuffer(DelimiterBasedFrameEncoder.delimiter); - init( - new DelimiterBasedFrameDecoder(10 * 1024 * 1024, buf), + init(new DelimiterBasedFrameDecoder(10 * 1024 * 1024, buf), new DelimiterBasedFrameEncoder()); } } diff --git a/src/main/src/org/bdware/server/ws/WebSocketIndexPageHandler.java b/src/main/src/org/bdware/server/ws/WebSocketIndexPageHandler.java index ef299e3..9beae87 100644 --- a/src/main/src/org/bdware/server/ws/WebSocketIndexPageHandler.java +++ b/src/main/src/org/bdware/server/ws/WebSocketIndexPageHandler.java @@ -25,76 +25,78 @@ import static io.netty.handler.codec.http.HttpResponseStatus.*; */ public class WebSocketIndexPageHandler extends SimpleChannelInboundHandler { - private final String websocketPath; + private final String websocketPath; - public WebSocketIndexPageHandler(String websocketPath) { - this.websocketPath = websocketPath; - } + public WebSocketIndexPageHandler(String websocketPath) { + this.websocketPath = websocketPath; + } - @SuppressWarnings("deprecation") - @Override - protected void channelRead0(ChannelHandlerContext ctx, FullHttpRequest req) throws Exception { - // Handle a bad request. - if (!req.getUri().startsWith("/SCIDE/SCExecutor")) { - sendHttpResponse(ctx, req, - new DefaultFullHttpResponse(req.protocolVersion(), NOT_FOUND, ctx.alloc().buffer(0))); - return; - } - if (!req.decoderResult().isSuccess()) { - sendHttpResponse(ctx, req, - new DefaultFullHttpResponse(req.protocolVersion(), BAD_REQUEST, ctx.alloc().buffer(0))); - return; - } + @SuppressWarnings("deprecation") + @Override + protected void channelRead0(ChannelHandlerContext ctx, FullHttpRequest req) throws Exception { + // Handle a bad request. + if (!req.getUri().startsWith("/SCIDE/SCExecutor")) { + sendHttpResponse(ctx, req, new DefaultFullHttpResponse(req.protocolVersion(), NOT_FOUND, + ctx.alloc().buffer(0))); + return; + } + if (!req.decoderResult().isSuccess()) { + sendHttpResponse(ctx, req, new DefaultFullHttpResponse(req.protocolVersion(), + BAD_REQUEST, ctx.alloc().buffer(0))); + return; + } - // Allow only GET methods. - if (!GET.equals(req.method())) { - sendHttpResponse(ctx, req, - new DefaultFullHttpResponse(req.protocolVersion(), FORBIDDEN, ctx.alloc().buffer(0))); - return; - } + // Allow only GET methods. + if (!GET.equals(req.method())) { + sendHttpResponse(ctx, req, new DefaultFullHttpResponse(req.protocolVersion(), FORBIDDEN, + ctx.alloc().buffer(0))); + return; + } - // Send the index page - if ("/SCIDE/SCExecutor/".equals(req.uri()) || "/SCIDE/SCExecutor/index.html".equals(req.uri())) { - String webSocketLocation = getWebSocketLocation(ctx.pipeline(), req, websocketPath); - ByteBuf content = WebSocketServerIndexPage.getContent(webSocketLocation); - FullHttpResponse res = new DefaultFullHttpResponse(req.protocolVersion(), OK, content); - res.headers().set(CONTENT_TYPE, "text/html; charset=UTF-8"); - HttpUtil.setContentLength(res, content.readableBytes()); - sendHttpResponse(ctx, req, res); - } else { - sendHttpResponse(ctx, req, - new DefaultFullHttpResponse(req.protocolVersion(), NOT_FOUND, ctx.alloc().buffer(0))); - } - } + // Send the index page + if ("/SCIDE/SCExecutor/".equals(req.uri()) + || "/SCIDE/SCExecutor/index.html".equals(req.uri())) { + String webSocketLocation = getWebSocketLocation(ctx.pipeline(), req, websocketPath); + ByteBuf content = WebSocketServerIndexPage.getContent(webSocketLocation); + FullHttpResponse res = new DefaultFullHttpResponse(req.protocolVersion(), OK, content); + res.headers().set(CONTENT_TYPE, "text/html; charset=UTF-8"); + HttpUtil.setContentLength(res, content.readableBytes()); + sendHttpResponse(ctx, req, res); + } else { + sendHttpResponse(ctx, req, new DefaultFullHttpResponse(req.protocolVersion(), NOT_FOUND, + ctx.alloc().buffer(0))); + } + } - @Override - public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) { - cause.printStackTrace(); - ctx.close(); - } + @Override + public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) { + cause.printStackTrace(); + ctx.close(); + } - private static void sendHttpResponse(ChannelHandlerContext ctx, FullHttpRequest req, FullHttpResponse res) { - // Generate an error page if response getStatus code is not OK (200). - HttpResponseStatus responseStatus = res.status(); - if (responseStatus.code() != 200) { - ByteBufUtil.writeUtf8(res.content(), responseStatus.toString()); - HttpUtil.setContentLength(res, res.content().readableBytes()); - } - // Send the response and close the connection if necessary. - boolean keepAlive = HttpUtil.isKeepAlive(req) && responseStatus.code() == 200; - HttpUtil.setKeepAlive(res, keepAlive); - ChannelFuture future = ctx.writeAndFlush(res); - if (!keepAlive) { - future.addListener(ChannelFutureListener.CLOSE); - } - } + private static void sendHttpResponse(ChannelHandlerContext ctx, FullHttpRequest req, + FullHttpResponse res) { + // Generate an error page if response getStatus code is not OK (200). + HttpResponseStatus responseStatus = res.status(); + if (responseStatus.code() != 200) { + ByteBufUtil.writeUtf8(res.content(), responseStatus.toString()); + HttpUtil.setContentLength(res, res.content().readableBytes()); + } + // Send the response and close the connection if necessary. + boolean keepAlive = HttpUtil.isKeepAlive(req) && responseStatus.code() == 200; + HttpUtil.setKeepAlive(res, keepAlive); + ChannelFuture future = ctx.writeAndFlush(res); + if (!keepAlive) { + future.addListener(ChannelFutureListener.CLOSE); + } + } - private static String getWebSocketLocation(ChannelPipeline cp, HttpRequest req, String path) { - String protocol = "ws"; - if (cp.get(SslHandler.class) != null) { - // SSL in use so use Secure WebSockets - protocol = "wss"; - } - return protocol + "://" + req.headers().get(HttpHeaderNames.HOST) + path; - } -} \ No newline at end of file + private static String getWebSocketLocation(ChannelPipeline cp, HttpRequest req, String path) { + String protocol = "ws"; + if (cp.get(SslHandler.class) != null) { + // SSL in use so use Secure WebSockets + protocol = "wss"; + } + return protocol + "://" + req.headers().get(HttpHeaderNames.HOST) + path; + } +} diff --git a/src/main/src/org/bdware/server/ws/WebSocketServerIndexPage.java b/src/main/src/org/bdware/server/ws/WebSocketServerIndexPage.java index c5faabd..df3789e 100644 --- a/src/main/src/org/bdware/server/ws/WebSocketServerIndexPage.java +++ b/src/main/src/org/bdware/server/ws/WebSocketServerIndexPage.java @@ -9,93 +9,33 @@ public final class WebSocketServerIndexPage { private static final String NEWLINE = "\r\n"; public static ByteBuf getContent(String webSocketLocation) { - String str = - "Web Socket Test" - + NEWLINE - + "" - + NEWLINE - + "" - + NEWLINE - + "
" - + NEWLINE - + "" - + "" - + NEWLINE - + "

Output

" - + NEWLINE - + "" - + NEWLINE - + "
" - + NEWLINE - + "" - + NEWLINE - + "" - + NEWLINE; + String str = "Web Socket Test" + NEWLINE + "" + + NEWLINE + "" + NEWLINE + "
" + NEWLINE + + "" + + "" + NEWLINE + + "

Output

" + NEWLINE + + "" + + NEWLINE + "
" + NEWLINE + "" + NEWLINE + "" + NEWLINE; return Unpooled.wrappedBuffer(str.getBytes()); } diff --git a/src/main/thirdparty/org/bdware/server/IndexServer.java b/src/main/thirdparty/org/bdware/server/IndexServer.java index 839f84c..b1dd5f8 100644 --- a/src/main/thirdparty/org/bdware/server/IndexServer.java +++ b/src/main/thirdparty/org/bdware/server/IndexServer.java @@ -22,7 +22,7 @@ public class IndexServer { } public static void main(String[] args) throws Exception { -// NodeCenterServer.start(18001); + // NodeCenterServer.start(18001); start(1614); } @@ -44,7 +44,8 @@ public class IndexServer { .childHandler(new ChannelInitializer() { @Override protected void initChannel(SocketChannel arg0) throws Exception { - arg0.pipeline().addLast(new HttpServerCodec()).addLast(new HttpObjectAggregator(65536)) + arg0.pipeline().addLast(new HttpServerCodec()) + .addLast(new HttpObjectAggregator(65536)) .addLast(new ChunkedWriteHandler()).addLast(serverHandler); } }); diff --git a/src/main/thirdparty/org/bdware/server/action/IndexAction.java b/src/main/thirdparty/org/bdware/server/action/IndexAction.java index 45b4cf6..fdd6b87 100644 --- a/src/main/thirdparty/org/bdware/server/action/IndexAction.java +++ b/src/main/thirdparty/org/bdware/server/action/IndexAction.java @@ -20,8 +20,7 @@ public class IndexAction { static final String MISSING_ARGUMENT = "{\"status\":\"Errorr\",\"data\":\"missing arguments\"}"; static Map fileMap = new HashMap<>(); - public IndexAction() { - } + public IndexAction() {} @Action(async = true) public void createFile(JsonObject args, final ResultCallback resultCallback) { @@ -41,9 +40,9 @@ public class IndexAction { for (int i = 0; i < dataLength; i++) fout.write(1); fout.close(); -// LenVarTimeSerialIndex2 index = getIndexFile(fileName); - resultCallback.onResult( - "{\"status\":\"Success\",\"dataLength\":" + dataLength + ",\".datasize\":" + f.length() + "}"); + // LenVarTimeSerialIndex2 index = getIndexFile(fileName); + resultCallback.onResult("{\"status\":\"Success\",\"dataLength\":" + dataLength + + ",\".datasize\":" + f.length() + "}"); } catch (Exception e) { ByteArrayOutputStream bo = new ByteArrayOutputStream(); @@ -85,7 +84,8 @@ public class IndexAction { try { LenVarTimeSerialIndex2 index = getIndexFile(args.get("file").getAsString()); - resultCallback.onResult("{\"dataSize\":" + index.dataSize + ",\"fileSize\":" + index.fileSize + "}"); + resultCallback.onResult( + "{\"dataSize\":" + index.dataSize + ",\"fileSize\":" + index.fileSize + "}"); } catch (Exception e) { ByteArrayOutputStream bo = new ByteArrayOutputStream(); diff --git a/src/main/thirdparty/org/bdware/server/http/IndexHttpHandler.java b/src/main/thirdparty/org/bdware/server/http/IndexHttpHandler.java index f433a7d..a5634e0 100644 --- a/src/main/thirdparty/org/bdware/server/http/IndexHttpHandler.java +++ b/src/main/thirdparty/org/bdware/server/http/IndexHttpHandler.java @@ -34,11 +34,10 @@ public class IndexHttpHandler extends SimpleChannelInboundHandler { private static final String UNSUPPORTED_HTTP_METHOD = "{\"msg\":\"unsupported http method\"}"; private static final String UNSUPPORTED_ACTION = "{\"msg\":\"unsupported action\"}"; private static final Logger LOGGER = LogManager.getLogger(IndexHttpHandler.class); - private static ActionExecutor actionExecutor = new ActionExecutor<>( - Executors.newFixedThreadPool(5), new IndexAction()); + private static ActionExecutor actionExecutor = + new ActionExecutor<>(Executors.newFixedThreadPool(5), new IndexAction()); - public IndexHttpHandler() { - } + public IndexHttpHandler() {} @Override public void channelReadComplete(ChannelHandlerContext ctx) { @@ -58,8 +57,9 @@ public class IndexHttpHandler extends SimpleChannelInboundHandler { private void handleHttpRequest(ChannelHandlerContext ctx, FullHttpRequest msg) { if (!msg.uri().startsWith("/SCIDE/Index")) { try { - DefaultFullHttpResponse fullResponse = new DefaultFullHttpResponse(msg.getProtocolVersion(), OK, - Unpooled.wrappedBuffer(UNSUPPORTED_HTTP_METHOD.getBytes())); + DefaultFullHttpResponse fullResponse = + new DefaultFullHttpResponse(msg.getProtocolVersion(), OK, + Unpooled.wrappedBuffer(UNSUPPORTED_HTTP_METHOD.getBytes())); ChannelFuture f = ctx.write(fullResponse); f.addListener(ChannelFutureListener.CLOSE); } catch (Exception e) { @@ -109,8 +109,8 @@ public class IndexHttpHandler extends SimpleChannelInboundHandler { String action = null; if (!map.has("action")) { ret = UNSUPPORTED_ACTION.getBytes(); - DefaultFullHttpResponse response = new DefaultFullHttpResponse(HttpVersion.HTTP_1_1, OK, - Unpooled.wrappedBuffer(ret)); + DefaultFullHttpResponse response = new DefaultFullHttpResponse(HttpVersion.HTTP_1_1, + OK, Unpooled.wrappedBuffer(ret)); ChannelFuture f = ctx.write(response); f.addListener(ChannelFutureListener.CLOSE); return; diff --git a/src/test/java/org/bdware/server/http/URIHandlerTest.java b/src/test/java/org/bdware/server/http/URIHandlerTest.java index 06f797a..288ebf1 100644 --- a/src/test/java/org/bdware/server/http/URIHandlerTest.java +++ b/src/test/java/org/bdware/server/http/URIHandlerTest.java @@ -14,30 +14,22 @@ public class URIHandlerTest { handler.register(this); } - @URIPath( - method = HttpMethod.OPTIONS, - value = {"/"}) + @URIPath(method = HttpMethod.OPTIONS, value = {"/"}) public void h1(ChannelHandlerContext ctx, FullHttpRequest request) { return; } - @URIPath( - method = HttpMethod.GET, - value = {"/SCIDE/ABC/", "/SCIDE/CEEEE"}) + @URIPath(method = HttpMethod.GET, value = {"/SCIDE/ABC/", "/SCIDE/CEEEE"}) public void h2(ChannelHandlerContext ctx, FullHttpRequest request) { return; } - @URIPath( - method = HttpMethod.GET, - value = {"/"}) + @URIPath(method = HttpMethod.GET, value = {"/"}) public void h3(ChannelHandlerContext ctx, FullHttpRequest request) { return; } - @URIPath( - method = HttpMethod.GET, - value = {"/client"}) + @URIPath(method = HttpMethod.GET, value = {"/client"}) public void h4(ChannelHandlerContext ctx, FullHttpRequest request) { return; } diff --git a/src/test/java/org/bdware/server/permission/test/PermissionTest.java b/src/test/java/org/bdware/server/permission/test/PermissionTest.java index 42153f2..d8a41ca 100644 --- a/src/test/java/org/bdware/server/permission/test/PermissionTest.java +++ b/src/test/java/org/bdware/server/permission/test/PermissionTest.java @@ -35,11 +35,12 @@ public class PermissionTest { setNodeManager.add(ManageNode); setNodeManager.add(GetNodeInfo); setCenterManager.add(TakeScreenShot); - long NodeManager = 0L;//2248150849 + long NodeManager = 0L;// 2248150849 for (Permission p : setNodeManager) { NodeManager |= p.getValue(); } - System.out.println("[NodeManager]" + String.format("0x%xL", NodeManager) + " " + NodeManager); + System.out + .println("[NodeManager]" + String.format("0x%xL", NodeManager) + " " + NodeManager); EnumSet setContractProvider = EnumSet.noneOf(Permission.class); // 合约提供者 @@ -74,7 +75,8 @@ public class PermissionTest { for (Permission p : ContractInstanceManager) { ContractInstanceManagerVAL |= p.getValue(); } - System.out.println("[ContractInstanceManager]" + String.format("0x%xL", ContractInstanceManagerVAL)); + System.out.println( + "[ContractInstanceManager]" + String.format("0x%xL", ContractInstanceManagerVAL)); EnumSet ContractUser = EnumSet.noneOf(Permission.class); // 合约使用者 diff --git a/src/test/java/org/bdware/server/test/BDLedgerClient.java b/src/test/java/org/bdware/server/test/BDLedgerClient.java index 0f69c89..3ad39a1 100644 --- a/src/test/java/org/bdware/server/test/BDLedgerClient.java +++ b/src/test/java/org/bdware/server/test/BDLedgerClient.java @@ -42,14 +42,9 @@ public class BDLedgerClient { public void send() { String mockedFrom = "0xb60e8dd61c5d32be8058bb8eb970870f07233155"; - LedgerProto.SendTransactionResponse ret2 = - client.sendTransactionSync( - "default", - CommonProto.TransactionType.MESSAGE, - mockedFrom, - random.nextLong(), - mockedFrom, - "Hellooooo".getBytes(StandardCharsets.UTF_8)); + LedgerProto.SendTransactionResponse ret2 = client.sendTransactionSync("default", + CommonProto.TransactionType.MESSAGE, mockedFrom, random.nextLong(), mockedFrom, + "Hellooooo".getBytes(StandardCharsets.UTF_8)); ByteString hash = ret2.getHash(); System.out.println("[BDLedgerClient] hash:" + byteArray2Str(hash.toByteArray(), 0)); } @@ -60,9 +55,7 @@ public class BDLedgerClient { // "ea508a07b79afc03c94a84ff190ca29f1153ef75" // cb304919522a4acd8f2b23fadf993829ac40795a QueryProto.GetBlocksResponse blocks = - client.getBlocksSync( - "default", - System.currentTimeMillis() - 23L * 3600L * 1000L, + client.getBlocksSync("default", System.currentTimeMillis() - 23L * 3600L * 1000L, QueryProto.IncludeTransactions.FULL); System.out.println("BlockCount:" + blocks.getBlocksCount()); // GetTransactionByHashResponse result = client.getTransactionByHashSync("test", @@ -73,11 +66,10 @@ public class BDLedgerClient { @Test public void queryTransaction() { - // test2 31b50daa8d607c673af5ef449a4d78c70bf952d4 - // bdcontract cb304919522a4acd8f2b23fadf993829ac40795a - QueryProto.GetTransactionByHashResponse result = - client.getTransactionByHashSync( - "default", "78bf9fb27963b26bf2f8d558f20bf44559178b67"); + // test2 31b50daa8d607c673af5ef449a4d78c70bf952d4 + // bdcontract cb304919522a4acd8f2b23fadf993829ac40795a + QueryProto.GetTransactionByHashResponse result = client.getTransactionByHashSync("default", + "78bf9fb27963b26bf2f8d558f20bf44559178b67"); ByteString bytes = result.getTransaction().getData(); System.out.println(new String(bytes.toByteArray())); } diff --git a/src/test/java/org/bdware/server/test/CMHttpTest.java b/src/test/java/org/bdware/server/test/CMHttpTest.java index 18b43e6..084280b 100644 --- a/src/test/java/org/bdware/server/test/CMHttpTest.java +++ b/src/test/java/org/bdware/server/test/CMHttpTest.java @@ -11,86 +11,87 @@ import java.util.Scanner; import com.google.gson.Gson; public class CMHttpTest { - public static void main(String[] args) { - // ManagerActionsTest(); - CMActionTest(); - } + public static void main(String[] args) { + // ManagerActionsTest(); + CMActionTest(); + } - private static void CMActionTest() { - //http_load - String host = "http://127.0.0.1:18000/SCIDE/CMManager?action="; - String url1 = host + "ping"; - System.out.println(httpGet(url1)); - url1 = host + "listContractProcess"; - System.out.println(httpGet(url1)); - url1 = host + "writeDyjs&target=test1120.dyjs&contractID=123&content=empty"; - System.out.println(httpGet(url1)); - url1 = host + "executeContract&contractID=BDCoin&operation=totalSupply&arg=en"; - System.out.println(httpGet(url1)); - url1 = host + "getCodeByID&contractID=DORepo"; - System.out.println(httpGet(url1)); - url1 = host + "getPublicKey"; - System.out.println(httpGet(url1)); - url1 = host + "dumpContract&contractID=DORepo&target=dumTest.dyjs"; - System.out.println(httpGet(url1)); - url1 = host + "loadMemory&contractID=DORepo&target=dumTest.dyjs"; - System.out.println(httpGet(url1)); - url1 = host + "killContractProcess&contractID=abc"; - System.out.println(httpGet(url1)); - url1 = host + "killAllContract"; - System.out.println(httpGet(url1)); - url1 = host + "startContractBatched&fileList=" + URLEncoder.encode("[\"algorithmExample.yjs\",\"AAA.yjs\"]"); - System.out.println(httpGet(url1)); - // url1 = host + "startContractInTempZips"; - // System.out.println(httpGet(url1)); - - } + private static void CMActionTest() { + // http_load + String host = "http://127.0.0.1:18000/SCIDE/CMManager?action="; + String url1 = host + "ping"; + System.out.println(httpGet(url1)); + url1 = host + "listContractProcess"; + System.out.println(httpGet(url1)); + url1 = host + "writeDyjs&target=test1120.dyjs&contractID=123&content=empty"; + System.out.println(httpGet(url1)); + url1 = host + "executeContract&contractID=BDCoin&operation=totalSupply&arg=en"; + System.out.println(httpGet(url1)); + url1 = host + "getCodeByID&contractID=DORepo"; + System.out.println(httpGet(url1)); + url1 = host + "getPublicKey"; + System.out.println(httpGet(url1)); + url1 = host + "dumpContract&contractID=DORepo&target=dumTest.dyjs"; + System.out.println(httpGet(url1)); + url1 = host + "loadMemory&contractID=DORepo&target=dumTest.dyjs"; + System.out.println(httpGet(url1)); + url1 = host + "killContractProcess&contractID=abc"; + System.out.println(httpGet(url1)); + url1 = host + "killAllContract"; + System.out.println(httpGet(url1)); + url1 = host + "startContractBatched&fileList=" + + URLEncoder.encode("[\"algorithmExample.yjs\",\"AAA.yjs\"]"); + System.out.println(httpGet(url1)); + // url1 = host + "startContractInTempZips"; + // System.out.println(httpGet(url1)); - private static void ManagerActionsTest() { - String host = "http://127.0.0.1:18000/SCIDE/CMManager?action="; - String url1 = host + "getEncodedUUID"; - System.out.println(httpGet(url1)); - url1 = host + "downloadUUID"; - System.out.println(httpGet(url1)); - url1 = host + "updateConfig&key=projectDir&val=" - + URLEncoder.encode("/Users/huaqiancai/java_workspace/SmartContract/contractExamples"); - System.out.println(httpGet(url1)); - url1 = host + "loadConfig"; - System.out.println(httpGet(url1)); - url1 = host + "getLicenceExpiredDate"; - System.out.println(httpGet(url1)); - url1 = host + "generatePrivateKey"; - System.out.println(httpGet(url1)); + } - } + private static void ManagerActionsTest() { + String host = "http://127.0.0.1:18000/SCIDE/CMManager?action="; + String url1 = host + "getEncodedUUID"; + System.out.println(httpGet(url1)); + url1 = host + "downloadUUID"; + System.out.println(httpGet(url1)); + url1 = host + "updateConfig&key=projectDir&val=" + URLEncoder + .encode("/Users/huaqiancai/java_workspace/SmartContract/contractExamples"); + System.out.println(httpGet(url1)); + url1 = host + "loadConfig"; + System.out.println(httpGet(url1)); + url1 = host + "getLicenceExpiredDate"; + System.out.println(httpGet(url1)); + url1 = host + "generatePrivateKey"; + System.out.println(httpGet(url1)); - static class Result { - int resposeCode; - String response; - } + } - public static String httpGet(String str) { - System.out.println("JavaScriptEntry httpGet:" + str); - Result r = new Result(); - try { - URL url = new URL(str); - HttpURLConnection connection = (HttpURLConnection) url.openConnection(); - r.resposeCode = connection.getResponseCode(); - InputStream input = connection.getInputStream(); - Scanner sc = new Scanner(input); - StringBuilder sb = new StringBuilder(); - for (; sc.hasNextLine();) { - sb.append(sc.nextLine()).append("\n"); - } - sc.close(); - r.response = sb.toString(); - return new Gson().toJson(r); - } catch (Throwable e) { - r.resposeCode = 505; - ByteArrayOutputStream bo = new ByteArrayOutputStream(); - e.printStackTrace(new PrintStream(bo)); - r.response = bo.toString(); - return new Gson().toJson(r); - } - } + static class Result { + int resposeCode; + String response; + } + + public static String httpGet(String str) { + System.out.println("JavaScriptEntry httpGet:" + str); + Result r = new Result(); + try { + URL url = new URL(str); + HttpURLConnection connection = (HttpURLConnection) url.openConnection(); + r.resposeCode = connection.getResponseCode(); + InputStream input = connection.getInputStream(); + Scanner sc = new Scanner(input); + StringBuilder sb = new StringBuilder(); + for (; sc.hasNextLine();) { + sb.append(sc.nextLine()).append("\n"); + } + sc.close(); + r.response = sb.toString(); + return new Gson().toJson(r); + } catch (Throwable e) { + r.resposeCode = 505; + ByteArrayOutputStream bo = new ByteArrayOutputStream(); + e.printStackTrace(new PrintStream(bo)); + r.response = bo.toString(); + return new Gson().toJson(r); + } + } } diff --git a/src/test/java/org/bdware/server/test/GsonParseTest.java b/src/test/java/org/bdware/server/test/GsonParseTest.java index fea1e5f..6801ce7 100644 --- a/src/test/java/org/bdware/server/test/GsonParseTest.java +++ b/src/test/java/org/bdware/server/test/GsonParseTest.java @@ -10,12 +10,12 @@ import com.google.gson.reflect.TypeToken; import org.bdware.sc.bean.ContractDesp; public class GsonParseTest { - public static void main(String[] args) { - String jsonStr = "{\"action\":\"updateContract\",\"contracts\":\"[{\\\"contractID\\\":\\\"-1306108766\\\",\\\"contractName\\\":\\\"EventSuberAtCHQ\\\",\\\"events\\\":[\\\"def\\\"],\\\"exportedFunctions\\\":[{\\\"annotations\\\":[{\\\"type\\\":\\\"LogType\\\",\\\"args\\\":[\\\"\\\\\\\"Arg\\\\\\\"\\\"]}],\\\"functionName\\\":\\\"init\\\"},{\\\"annotations\\\":[{\\\"type\\\":\\\"LogType\\\",\\\"args\\\":[\\\"\\\\\\\"Arg\\\\\\\"\\\"]}],\\\"functionName\\\":\\\"handler\\\"}]}]\"}\n"; - JsonObject jo = new JsonParser().parse(jsonStr).getAsJsonObject(); - List contracts = new Gson().fromJson(jo.get("contracts").getAsString(), - new TypeToken>() { - }.getType()); - System.out.println(new GsonBuilder().setPrettyPrinting().create().toJson(contracts)); - } + public static void main(String[] args) { + String jsonStr = + "{\"action\":\"updateContract\",\"contracts\":\"[{\\\"contractID\\\":\\\"-1306108766\\\",\\\"contractName\\\":\\\"EventSuberAtCHQ\\\",\\\"events\\\":[\\\"def\\\"],\\\"exportedFunctions\\\":[{\\\"annotations\\\":[{\\\"type\\\":\\\"LogType\\\",\\\"args\\\":[\\\"\\\\\\\"Arg\\\\\\\"\\\"]}],\\\"functionName\\\":\\\"init\\\"},{\\\"annotations\\\":[{\\\"type\\\":\\\"LogType\\\",\\\"args\\\":[\\\"\\\\\\\"Arg\\\\\\\"\\\"]}],\\\"functionName\\\":\\\"handler\\\"}]}]\"}\n"; + JsonObject jo = new JsonParser().parse(jsonStr).getAsJsonObject(); + List contracts = new Gson().fromJson(jo.get("contracts").getAsString(), + new TypeToken>() {}.getType()); + System.out.println(new GsonBuilder().setPrettyPrinting().create().toJson(contracts)); + } } diff --git a/src/test/java/org/bdware/server/test/HttpPostFormTest.java b/src/test/java/org/bdware/server/test/HttpPostFormTest.java index 79ed68e..14b665c 100644 --- a/src/test/java/org/bdware/server/test/HttpPostFormTest.java +++ b/src/test/java/org/bdware/server/test/HttpPostFormTest.java @@ -12,100 +12,102 @@ import java.util.Map; public class HttpPostFormTest { - public static void postForm(String url, Map params) { + public static void postForm(String url, Map params) { - String responseMessage = ""; - StringBuffer response = new StringBuffer(); - HttpURLConnection httpConnection = null; - OutputStreamWriter out = null; - BufferedReader reader = null; - try { - URL urlPost = new URL(url); - httpConnection = (HttpURLConnection) urlPost.openConnection(); - httpConnection.setDoOutput(true); - httpConnection.setDoInput(true); - httpConnection.setRequestMethod("POST"); - httpConnection.setUseCaches(false); - httpConnection.setInstanceFollowRedirects(true); - httpConnection.setRequestProperty("Connection", "Keep-Alive"); - httpConnection.setRequestProperty("Charset", "UTF-8"); - // 设置边界 - String BOUNDARY = "----------" + System.currentTimeMillis(); - // httpConnection.setRequestProperty("Content-Type", "multipart/form-data; - // boundary=" + BOUNDARY); - httpConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded;boundary=" + BOUNDARY); + String responseMessage = ""; + StringBuffer response = new StringBuffer(); + HttpURLConnection httpConnection = null; + OutputStreamWriter out = null; + BufferedReader reader = null; + try { + URL urlPost = new URL(url); + httpConnection = (HttpURLConnection) urlPost.openConnection(); + httpConnection.setDoOutput(true); + httpConnection.setDoInput(true); + httpConnection.setRequestMethod("POST"); + httpConnection.setUseCaches(false); + httpConnection.setInstanceFollowRedirects(true); + httpConnection.setRequestProperty("Connection", "Keep-Alive"); + httpConnection.setRequestProperty("Charset", "UTF-8"); + // 设置边界 + String BOUNDARY = "----------" + System.currentTimeMillis(); + // httpConnection.setRequestProperty("Content-Type", "multipart/form-data; + // boundary=" + BOUNDARY); + httpConnection.setRequestProperty("Content-Type", + "application/x-www-form-urlencoded;boundary=" + BOUNDARY); - // 连接,从postUrl.openConnection()至此的配置必须要在connect之前完成, - // 要注意的是connection.getOutputStream会隐含的进行connect。 - // 实际上只是建立了一个与服务器的tcp连接,并没有实际发送http请求。 + // 连接,从postUrl.openConnection()至此的配置必须要在connect之前完成, + // 要注意的是connection.getOutputStream会隐含的进行connect。 + // 实际上只是建立了一个与服务器的tcp连接,并没有实际发送http请求。 - httpConnection.connect(); - out = new OutputStreamWriter(httpConnection.getOutputStream(), "UTF-8"); + httpConnection.connect(); + out = new OutputStreamWriter(httpConnection.getOutputStream(), "UTF-8"); - StringBuffer sb = new StringBuffer(); - int count = params.size(); - for (String key : params.keySet()) { - sb.append(key + "=" + URLEncoder.encode(params.get(key))); - count--; - if (count > 0) - sb.append("&"); - } - out.write(sb.toString()); - System.out.println("send_url:" + url); - System.out.println("send_data:" + sb.toString()); - // flush and close - out.flush(); + StringBuffer sb = new StringBuffer(); + int count = params.size(); + for (String key : params.keySet()) { + sb.append(key + "=" + URLEncoder.encode(params.get(key))); + count--; + if (count > 0) + sb.append("&"); + } + out.write(sb.toString()); + System.out.println("send_url:" + url); + System.out.println("send_data:" + sb.toString()); + // flush and close + out.flush(); - } catch (Exception e) { - e.printStackTrace(); - } finally { - try { - if (null != out) { - out.close(); - } - if (null != reader) { - reader.close(); - } - if (null != httpConnection) { - httpConnection.disconnect(); - } - } catch (Exception e2) { - e2.printStackTrace(); - } - } + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + if (null != out) { + out.close(); + } + if (null != reader) { + reader.close(); + } + if (null != httpConnection) { + httpConnection.disconnect(); + } + } catch (Exception e2) { + e2.printStackTrace(); + } + } - try { - reader = new BufferedReader(new InputStreamReader(httpConnection.getInputStream(), "UTF-8")); - while ((responseMessage = reader.readLine()) != null) { - response.append(responseMessage); - response.append("\n"); - } + try { + reader = new BufferedReader( + new InputStreamReader(httpConnection.getInputStream(), "UTF-8")); + while ((responseMessage = reader.readLine()) != null) { + response.append(responseMessage); + response.append("\n"); + } - if (!"failure".equals(response.toString())) { - System.out.println("success"); - } else { - System.out.println("failue"); - } - // 将该url的配置信息缓存起来 - System.out.println(response.toString()); - System.out.println(httpConnection.getResponseCode()); - } catch (IOException e) { - e.printStackTrace(); - } - } + if (!"failure".equals(response.toString())) { + System.out.println("success"); + } else { + System.out.println("failue"); + } + // 将该url的配置信息缓存起来 + System.out.println(response.toString()); + System.out.println(httpConnection.getResponseCode()); + } catch (IOException e) { + e.printStackTrace(); + } + } - public static void main(String[] args) { - String url = "http://47.106.38.23:13081/register"; + public static void main(String[] args) { + String url = "http://47.106.38.23:13081/register"; - Map params = new HashMap(); - String sucFix = System.currentTimeMillis() + "_ContractLog"; - params.put("DOI", "86.5000.470/" + sucFix); - params.put("Description", "Contract Log"); - params.put("Interface", ""); - params.put("Address", ""); - params.put("PublicKey", ""); - params.put("Signature", ""); - // http://47.106.38.23:8080/idsystem/doDetail.html?doi=86.5000.470/1570626378959_ContractLog - postForm(url, params); - } + Map params = new HashMap(); + String sucFix = System.currentTimeMillis() + "_ContractLog"; + params.put("DOI", "86.5000.470/" + sucFix); + params.put("Description", "Contract Log"); + params.put("Interface", ""); + params.put("Address", ""); + params.put("PublicKey", ""); + params.put("Signature", ""); + // http://47.106.38.23:8080/idsystem/doDetail.html?doi=86.5000.470/1570626378959_ContractLog + postForm(url, params); + } } diff --git a/src/test/java/org/bdware/server/test/LongParseTest.java b/src/test/java/org/bdware/server/test/LongParseTest.java index 34e52c7..16d3164 100644 --- a/src/test/java/org/bdware/server/test/LongParseTest.java +++ b/src/test/java/org/bdware/server/test/LongParseTest.java @@ -1,8 +1,8 @@ package org.bdware.server.test; public class LongParseTest { - public static void main(String[] args) { - String str = "6151".toUpperCase(); - Long.parseUnsignedLong(str, 16); - } + public static void main(String[] args) { + String str = "6151".toUpperCase(); + Long.parseUnsignedLong(str, 16); + } } diff --git a/src/test/java/org/bdware/server/test/NCHttpTest.java b/src/test/java/org/bdware/server/test/NCHttpTest.java index dd48974..ba53fa1 100644 --- a/src/test/java/org/bdware/server/test/NCHttpTest.java +++ b/src/test/java/org/bdware/server/test/NCHttpTest.java @@ -11,74 +11,75 @@ import java.util.Scanner; import com.google.gson.Gson; public class NCHttpTest { - public static void main(String[] args) { - // ManagerActionsTest(); - CMActionTest(); - } + public static void main(String[] args) { + // ManagerActionsTest(); + CMActionTest(); + } - private static void CMActionTest() { - String host = "http://127.0.0.1:18001/SCIDE/NodeCenter?action="; - String url1 = host + "ping"; - System.out.println(httpGet(url1)); - url1 = host + "setNodeID"; - System.out.println(httpGet(url1)); - url1 = host + "listCMInfo"; - System.out.println(httpGet(url1)); - url1 = host + "updateContract"; - System.out.println(httpGet(url1)); + private static void CMActionTest() { + String host = "http://127.0.0.1:18001/SCIDE/NodeCenter?action="; + String url1 = host + "ping"; + System.out.println(httpGet(url1)); + url1 = host + "setNodeID"; + System.out.println(httpGet(url1)); + url1 = host + "listCMInfo"; + System.out.println(httpGet(url1)); + url1 = host + "updateContract"; + System.out.println(httpGet(url1)); - url1 = host + "executeContractOnOtherNodes&requestID=33333&contractRequest={\"contractID\":\"BDCoin\",\"action\":\"totalSupply\",\"arg\":\"n\"}"; - System.out.println(httpGet(url1)); - // url1 = host + "startContractInTempZips"; - // System.out.println(httpGet(url1)); + url1 = host + + "executeContractOnOtherNodes&requestID=33333&contractRequest={\"contractID\":\"BDCoin\",\"action\":\"totalSupply\",\"arg\":\"n\"}"; + System.out.println(httpGet(url1)); + // url1 = host + "startContractInTempZips"; + // System.out.println(httpGet(url1)); - } + } - private static void ManagerActionsTest() { - String host = "http://127.0.0.1:18000/SCIDE/CMManager?action="; - String url1 = host + "getEncodedUUID"; - System.out.println(httpGet(url1)); - url1 = host + "downloadUUID"; - System.out.println(httpGet(url1)); - url1 = host + "updateConfig&key=projectDir&val=" - + URLEncoder.encode("/Users/huaqiancai/java_workspace/SmartContract/contractExamples"); - System.out.println(httpGet(url1)); - url1 = host + "loadConfig"; - System.out.println(httpGet(url1)); - url1 = host + "getLicenceExpiredDate"; - System.out.println(httpGet(url1)); - url1 = host + "generatePrivateKey"; - System.out.println(httpGet(url1)); + private static void ManagerActionsTest() { + String host = "http://127.0.0.1:18000/SCIDE/CMManager?action="; + String url1 = host + "getEncodedUUID"; + System.out.println(httpGet(url1)); + url1 = host + "downloadUUID"; + System.out.println(httpGet(url1)); + url1 = host + "updateConfig&key=projectDir&val=" + URLEncoder + .encode("/Users/huaqiancai/java_workspace/SmartContract/contractExamples"); + System.out.println(httpGet(url1)); + url1 = host + "loadConfig"; + System.out.println(httpGet(url1)); + url1 = host + "getLicenceExpiredDate"; + System.out.println(httpGet(url1)); + url1 = host + "generatePrivateKey"; + System.out.println(httpGet(url1)); - } + } - static class Result { - int resposeCode; - String response; - } + static class Result { + int resposeCode; + String response; + } - public static String httpGet(String str) { - System.out.println("JavaScriptEntry httpGet:" + str); - Result r = new Result(); - try { - URL url = new URL(str); - HttpURLConnection connection = (HttpURLConnection) url.openConnection(); - r.resposeCode = connection.getResponseCode(); - InputStream input = connection.getInputStream(); - Scanner sc = new Scanner(input); - StringBuilder sb = new StringBuilder(); - for (; sc.hasNextLine();) { - sb.append(sc.nextLine()).append("\n"); - } - sc.close(); - r.response = sb.toString(); - return new Gson().toJson(r); - } catch (Throwable e) { - r.resposeCode = 505; - ByteArrayOutputStream bo = new ByteArrayOutputStream(); - e.printStackTrace(new PrintStream(bo)); - r.response = bo.toString(); - return new Gson().toJson(r); - } - } + public static String httpGet(String str) { + System.out.println("JavaScriptEntry httpGet:" + str); + Result r = new Result(); + try { + URL url = new URL(str); + HttpURLConnection connection = (HttpURLConnection) url.openConnection(); + r.resposeCode = connection.getResponseCode(); + InputStream input = connection.getInputStream(); + Scanner sc = new Scanner(input); + StringBuilder sb = new StringBuilder(); + for (; sc.hasNextLine();) { + sb.append(sc.nextLine()).append("\n"); + } + sc.close(); + r.response = sb.toString(); + return new Gson().toJson(r); + } catch (Throwable e) { + r.resposeCode = 505; + ByteArrayOutputStream bo = new ByteArrayOutputStream(); + e.printStackTrace(new PrintStream(bo)); + r.response = bo.toString(); + return new Gson().toJson(r); + } + } } diff --git a/src/test/java/org/bdware/server/test/StringTest.java b/src/test/java/org/bdware/server/test/StringTest.java index e86fe3f..94a5042 100644 --- a/src/test/java/org/bdware/server/test/StringTest.java +++ b/src/test/java/org/bdware/server/test/StringTest.java @@ -1,19 +1,22 @@ package org.bdware.server.test; public class StringTest { - public static void main(String[] arg) { - // String str = "\\manifest.json\\dadad\\daaa"; - // System.out.println(str.replaceAll("\\\\", (byte)"/")); - byte[] arr = new byte[] { (byte) 0x1, (byte) 0x0, (byte) 0x0, (byte) 0x0, (byte) 0x2, (byte) 0xff, (byte) 0xff, - (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0x89, (byte) 0x7f, (byte) 0x51, (byte) 0x8c, (byte) 0x50, - (byte) 0xbb, (byte) 0xd0, (byte) 0x7f, (byte) 0xff, (byte) 0xff, (byte) 0xe9, (byte) 0xf4, (byte) 0xf8, - (byte) 0xfc, (byte) 0x0, (byte) 0x0, (byte) 0x0, (byte) 0x4, (byte) 0xff, (byte) 0xff, (byte) 0xff, - (byte) 0xff, (byte) 0xff, (byte) 0x89, (byte) 0x7f, (byte) 0x51, (byte) 0x8c, (byte) 0x3e, (byte) 0xf4, - (byte) 0x8, (byte) 0x40, (byte) 0x9f, (byte) 0x84, (byte) 0x50, (byte) 0xbb, (byte) 0xd0, (byte) 0x7f, - (byte) 0xff, (byte) 0xff, (byte) 0xe9, (byte) 0xf4, (byte) 0xf8, (byte) 0xfc, (byte) 0xf8, (byte) 0xfc, - (byte) 0x0 }; - System.out.println(new String(arr)); - String str = "042668227e8283cc132863cf7b83489f81056c87a19f878515d6787db7f86da7145ae05926b8e8053e59f93afdddc8705d7e17a5293b60a124a2e842d3c77cf74f"; - System.out.println(str.hashCode()); - } + public static void main(String[] arg) { + // String str = "\\manifest.json\\dadad\\daaa"; + // System.out.println(str.replaceAll("\\\\", (byte)"/")); + byte[] arr = new byte[] {(byte) 0x1, (byte) 0x0, (byte) 0x0, (byte) 0x0, (byte) 0x2, + (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0x89, + (byte) 0x7f, (byte) 0x51, (byte) 0x8c, (byte) 0x50, (byte) 0xbb, (byte) 0xd0, + (byte) 0x7f, (byte) 0xff, (byte) 0xff, (byte) 0xe9, (byte) 0xf4, (byte) 0xf8, + (byte) 0xfc, (byte) 0x0, (byte) 0x0, (byte) 0x0, (byte) 0x4, (byte) 0xff, + (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0x89, (byte) 0x7f, + (byte) 0x51, (byte) 0x8c, (byte) 0x3e, (byte) 0xf4, (byte) 0x8, (byte) 0x40, + (byte) 0x9f, (byte) 0x84, (byte) 0x50, (byte) 0xbb, (byte) 0xd0, (byte) 0x7f, + (byte) 0xff, (byte) 0xff, (byte) 0xe9, (byte) 0xf4, (byte) 0xf8, (byte) 0xfc, + (byte) 0xf8, (byte) 0xfc, (byte) 0x0}; + System.out.println(new String(arr)); + String str = + "042668227e8283cc132863cf7b83489f81056c87a19f878515d6787db7f86da7145ae05926b8e8053e59f93afdddc8705d7e17a5293b60a124a2e842d3c77cf74f"; + System.out.println(str.hashCode()); + } }