From ee0f2e81bb518ab863143679f765cfe0d0942e6e Mon Sep 17 00:00:00 2001 From: zhaoguangwei Date: Mon, 23 Sep 2019 17:34:48 +0800 Subject: [PATCH] init the param of schemaRetrievalUrl; --- .../gateway/GatewayServerBooter.java | 1 + .../gateway/web/BlockBrowserController.java | 32 +++++++++++++++++++ 2 files changed, 33 insertions(+) diff --git a/source/gateway/src/main/java/com/jd/blockchain/gateway/GatewayServerBooter.java b/source/gateway/src/main/java/com/jd/blockchain/gateway/GatewayServerBooter.java index bdc8e881..18866f76 100644 --- a/source/gateway/src/main/java/com/jd/blockchain/gateway/GatewayServerBooter.java +++ b/source/gateway/src/main/java/com/jd/blockchain/gateway/GatewayServerBooter.java @@ -129,6 +129,7 @@ public class GatewayServerBooter { ConsoleUtils.info("\r\n\r\nStart connecting to peer ...."); BlockBrowserController blockBrowserController = appCtx.getBean(BlockBrowserController.class); blockBrowserController.setDataRetrievalUrl(config.dataRetrievalUrl()); + blockBrowserController.setSchemaRetrievalUrl(config.getSchemaRetrievalUrl()); PeerConnector peerConnector = appCtx.getBean(PeerConnector.class); peerConnector.connect(config.masterPeerAddress(), defaultKeyPair, config.providerConfig().getProviders()); ConsoleUtils.info("Peer[%s] is connected success!", config.masterPeerAddress().toString()); diff --git a/source/gateway/src/main/java/com/jd/blockchain/gateway/web/BlockBrowserController.java b/source/gateway/src/main/java/com/jd/blockchain/gateway/web/BlockBrowserController.java index a6ef2f9b..50f528ba 100644 --- a/source/gateway/src/main/java/com/jd/blockchain/gateway/web/BlockBrowserController.java +++ b/source/gateway/src/main/java/com/jd/blockchain/gateway/web/BlockBrowserController.java @@ -56,6 +56,7 @@ public class BlockBrowserController implements BlockchainExtendQueryService { private DataRetrievalService dataRetrievalService; private String dataRetrievalUrl; + private String schemaRetrievalUrl; private static final long BLOCK_MAX_DISPLAY = 3L; @@ -511,6 +512,37 @@ public class BlockBrowserController implements BlockchainExtendQueryService { return result; } + /** + * querysql; + * @param request + * @return + */ + @RequestMapping(method = RequestMethod.POST, value = "schema/querysql") + public Object queryBySql(HttpServletRequest request,@RequestBody String queryString) { + String result; + if (schemaRetrievalUrl == null || schemaRetrievalUrl.length() <= 0) { + result = "{'message':'OK','data':'" + "schema.retrieval.url is empty" + "'}"; + } else { + String queryParams = request.getQueryString() == null ? "": request.getQueryString(); + String fullQueryUrl = new StringBuffer(schemaRetrievalUrl) + .append(request.getRequestURI()) + .append(BaseConstant.DELIMETER_QUESTION) + .append(queryParams) + .toString(); + try { + result = dataRetrievalService.retrievalPost(fullQueryUrl,queryString); + ConsoleUtils.info("request = {%s} \r\n result = {%s} \r\n", fullQueryUrl, result); + } catch (Exception e) { + result = "{'message':'error','data':'" + e.getMessage() + "'}"; + } + } + return result; + } + + public void setSchemaRetrievalUrl(String schemaRetrievalUrl) { + this.schemaRetrievalUrl = schemaRetrievalUrl; + } + public void setDataRetrievalUrl(String dataRetrievalUrl) { this.dataRetrievalUrl = dataRetrievalUrl; }