From 52cc63a06d79ea465b394efdd6863fa0e1dcee49 Mon Sep 17 00:00:00 2001 From: linlinwang3 Date: Fri, 7 Sep 2018 15:36:32 +0800 Subject: [PATCH] =?UTF-8?q?https://github.com/uavorg/uavstack/issues/391?= =?UTF-8?q?=201=E6=97=B6=E7=A9=BA=E6=B2=99=E7=9B=98=E6=9F=A5=E8=AF=A2OpenT?= =?UTF-8?q?SDB=E8=B6=85=E6=97=B6=E4=B8=8D=E8=BF=94=E5=9B=9E=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=EF=BC=8C=E9=A1=B5=E9=9D=A2=E5=8D=A1=E6=AD=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 2.GodEyeService太多的CallBack进行统一整理 --- .../uav/godeye/rest/GodEyeRestService.java | 533 ++---------------- 1 file changed, 44 insertions(+), 489 deletions(-) diff --git a/com.creditease.uav.console/src/main/java/com/creditease/uav/godeye/rest/GodEyeRestService.java b/com.creditease.uav.console/src/main/java/com/creditease/uav/godeye/rest/GodEyeRestService.java index eae9a656..b13bee31 100644 --- a/com.creditease.uav.console/src/main/java/com/creditease/uav/godeye/rest/GodEyeRestService.java +++ b/com.creditease.uav.console/src/main/java/com/creditease/uav/godeye/rest/GodEyeRestService.java @@ -81,13 +81,15 @@ public class GodEyeRestService extends AppHubBaseRestService { * ===========================================回调异步 begin=================================================== */ - private class GodEyeCB implements HttpClientCallback { + private class CommonCB implements HttpClientCallback { private AsyncResponse response; + private String method; - public GodEyeCB(AsyncResponse response) { + public CommonCB(AsyncResponse response, String method) { this.response = response; + this.method = method; } @Override @@ -99,102 +101,19 @@ public void completed(HttpClientCallbackResult result) { @Override public void failed(HttpClientCallbackResult result) { - response.resume(result.getReplyDataAsString()); - } - } - - private class LoadAppIPLinkListCB implements HttpClientCallback { - - private AsyncResponse response; - - public void setResponse(AsyncResponse response) { - - this.response = response; - } - - @Override - public void completed(HttpClientCallbackResult result) { - - response.resume(result.getReplyData()); - } - - @Override - public void failed(HttpClientCallbackResult result) { - - String reStr = result.getReplyDataAsString(); - if (result.getRetCode() == HttpStatus.SC_BAD_REQUEST) { - /** - * Confusing....... - */ - logger.err(this, - "get query result failed -returnCode[" + result.getRetCode() + "] and retMsg[" + reStr + "]", - result.getException()); - response.resume(reStr); - } - } - - } - - private class LoadAppProfileListFromHttpCB implements HttpClientCallback { - - private AsyncResponse response; - - public void setResponse(AsyncResponse response) { - - this.response = response; - } - - @Override - public void completed(HttpClientCallbackResult result) { - - InputStream input = result.getReplyData(); - response.resume(input); - } - - @Override - public void failed(HttpClientCallbackResult result) { - - String reStr = result.getReplyDataAsString(); - if (result.getRetCode() == HttpStatus.SC_BAD_REQUEST) { + String reStr = StringHelper.isEmpty(result.getReplyDataAsString()) + ? "GodEyeRestService " + method + " is failed." + : result.getReplyDataAsString(); + if (result.getRetCode() != HttpStatus.SC_BAD_REQUEST) { /** * Confusing....... */ - logger.err(this, - "get query result failed -returnCode[" + result.getRetCode() + "] and retMsg[" + reStr + "]", - result.getException()); + logger.err(this, "GodEyeRestService " + method + " get result is failed -returnCode[" + + result.getRetCode() + "] and retMsg[" + reStr + "]", result.getException()); response.resume(reStr); } - } - } - - private class LoadUavNetworkInfoFromHttpCB implements HttpClientCallback { - - private AsyncResponse response; - - public void setResponse(AsyncResponse response) { - - this.response = response; - } - - @Override - public void completed(HttpClientCallbackResult result) { - - InputStream input = result.getReplyData(); - response.resume(input); - } - - @Override - public void failed(HttpClientCallbackResult result) { - - String reStr = result.getReplyDataAsString(); - if (result.getRetCode() == HttpStatus.SC_BAD_REQUEST) { - /** - * Confusing....... - */ - logger.err(this, - "get query result failed -returnCode[" + result.getRetCode() + "] and retMsg[" + reStr + "]", - result.getException()); - response.resume(reStr); + else { + response.resume(reStr + ",exception=" + result.getException()); } } } @@ -254,73 +173,6 @@ public void failed(HttpClientCallbackResult result) { } } - private class LoadMonitorDataFromOpenTSDBCB implements HttpClientCallback { - - private AsyncResponse response; - - public void setResponse(AsyncResponse response) { - - this.response = response; - } - - @Override - public void completed(HttpClientCallbackResult result) { - - String replyData = result.getReplyDataAsString(); - if (logger.isDebugEnable()) { - logger.debug(this, "LoadMonitorDataFromOpenTSDB suc,replyDataAsString:" + replyData); - } - response.resume(replyData); - } - - @Override - public void failed(HttpClientCallbackResult result) { - - String reStr = result.getReplyDataAsString(); - if (result.getRetCode() == HttpStatus.SC_BAD_REQUEST) { - /** - * Confusing....... - */ - logger.err(this, - "get query result failed -returnCode[" + result.getRetCode() + "] and retMsg[" + reStr + "]", - result.getException()); - response.resume(reStr); - } - } - } - - private class QueryAppLogCB implements HttpClientCallback { - - private AsyncResponse response; - - public void setResponse(AsyncResponse response) { - - this.response = response; - } - - @Override - public void completed(HttpClientCallbackResult result) { - - InputStream input = result.getReplyData(); - response.resume(input); - } - - @Override - public void failed(HttpClientCallbackResult result) { - - String reStr = result.getReplyDataAsString(); - if (result.getRetCode() == HttpStatus.SC_BAD_REQUEST) { - /** - * Confusing....... - */ - logger.err(this, - "get query result failed -returnCode[" + result.getRetCode() + "] and retMsg[" + reStr + "]", - result.getException()); - response.resume(reStr); - } - } - } - private class NoitifyDescQueryCB implements HttpClientCallback { private AsyncResponse response; @@ -429,56 +281,6 @@ public void failed(HttpClientCallbackResult result) { } - private class NoitifyQueryCB implements HttpClientCallback { - - private AsyncResponse response; - - public void setResponse(AsyncResponse response) { - - this.response = response; - } - - @Override - public void completed(HttpClientCallbackResult result) { - - String respStr = result.getReplyDataAsString(); - response.resume(respStr); - } - - @Override - public void failed(HttpClientCallbackResult result) { - - logger.err(this, "GodEyeRestService noitifyQuery result is failed :" + result.getException()); - String resp = "GodEyeRestService noitifyQuery is failed."; - response.resume(resp); - } - } - - private class NoitifyCountQueryCB implements HttpClientCallback { - - private AsyncResponse response; - - public void setResponse(AsyncResponse response) { - - this.response = response; - } - - @Override - public void completed(HttpClientCallbackResult result) { - - String respStr = result.getReplyDataAsString(); - response.resume(respStr); - } - - @Override - public void failed(HttpClientCallbackResult result) { - - logger.err(this, "GodEyeRestService noitifyQuery result is failed :" + result.getException()); - String resp = "GodEyeRestService noitifyQuery is failed."; - response.resume(resp); - } - } - private class NoitifyViewCB implements HttpClientCallback { private AsyncResponse response; @@ -510,81 +312,6 @@ public void failed(HttpClientCallbackResult result) { } } - private class NoitifyEventCB implements HttpClientCallback { - - private AsyncResponse response; - - public void setResponse(AsyncResponse response) { - - this.response = response; - } - - @Override - public void completed(HttpClientCallbackResult result) { - - String respStr = result.getReplyDataAsString(); - response.resume(respStr); - } - - @Override - public void failed(HttpClientCallbackResult result) { - - logger.err(this, "GodEyeRestService noitifyQuery result is failed :" + result.getException()); - String resp = "GodEyeRestService noitifyQuery is failed."; - response.resume(resp); - } - } - - private class NoitifyQueryBestCB implements HttpClientCallback { - - private AsyncResponse response; - - public void setResponse(AsyncResponse response) { - - this.response = response; - } - - @Override - public void completed(HttpClientCallbackResult result) { - - String respStr = result.getReplyDataAsString(); - response.resume(respStr); - } - - @Override - public void failed(HttpClientCallbackResult result) { - - logger.err(this, "GodEyeRestService noitifyQuery result is failed :" + result.getException()); - String resp = "GodEyeRestService noitifyQuery is failed."; - response.resume(resp); - } - } - - private class NoitifyCountQueryBestCB implements HttpClientCallback { - - private AsyncResponse response; - - public void setResponse(AsyncResponse response) { - - this.response = response; - } - - @Override - public void completed(HttpClientCallbackResult result) { - - String respStr = result.getReplyDataAsString(); - response.resume(respStr); - } - - @Override - public void failed(HttpClientCallbackResult result) { - - logger.err(this, "GodEyeRestService noitifyQuery result is failed :" + result.getException()); - String resp = "GodEyeRestService noitifyQuery is failed."; - response.resume(resp); - } - } - private class NoitifyStrategyQuery implements HttpClientCallback { private AsyncResponse response; @@ -755,147 +482,6 @@ public void failed(HttpClientCallbackResult result) { } - private class DoNodeCtrlOperationCB implements HttpClientCallback { - - private AsyncResponse response; - - public void setResponse(AsyncResponse response) { - - this.response = response; - } - - @Override - public void completed(HttpClientCallbackResult result) { - - InputStream input = result.getReplyData(); - response.resume(input); - } - - @Override - public void failed(HttpClientCallbackResult result) { - - String reStr = result.getReplyDataAsString(); - if (result.getRetCode() == HttpStatus.SC_BAD_REQUEST) { - logger.err(this, "Ctrl Node FAIL:returnCode[" + result.getRetCode() + "] and retMsg[" + reStr + "]", - result.getException()); - response.resume(reStr); - } - } - } - - private class GetMonitorViaDbaCB implements HttpClientCallback { - - private AsyncResponse response; - - public void setResponse(AsyncResponse response) { - - this.response = response; - } - - @Override - public void completed(HttpClientCallbackResult result) { - - String resp = result.getReplyDataAsString(); - logger.info(this, resp); - response.resume(resp); - } - - @Override - public void failed(HttpClientCallbackResult result) { - - String resp = result.getReplyDataAsString(); - logger.err(this, resp, result.getException()); - response.resume(resp); - } - } - - private class GetSlowSQLCB implements HttpClientCallback { - - private AsyncResponse response; - - public void setResponse(AsyncResponse response) { - - this.response = response; - } - - @Override - public void completed(HttpClientCallbackResult result) { - - String resp = result.getReplyDataAsString(); - logger.info(this, resp); - response.resume(resp); - } - - @Override - public void failed(HttpClientCallbackResult result) { - - String resp = result.getReplyDataAsString(); - logger.err(this, resp, result.getException()); - response.resume(resp); - } - } - - private class ListUpgradePackageCB implements HttpClientCallback { - - private AsyncResponse response; - - public void setResponse(AsyncResponse response) { - - this.response = response; - } - - @Override - public void completed(HttpClientCallbackResult result) { - - response.resume(result.getReplyDataAsString()); - } - - @Override - public void failed(HttpClientCallbackResult result) { - - String reStr = result.getReplyDataAsString(); - if (result.getRetCode() == HttpStatus.SC_BAD_REQUEST) { - logger.err(this, - "get query result failed -returnCode[" + result.getRetCode() + "] and retMsg[" + reStr + "]", - result.getException()); - response.resume(reStr); - } - } - } - - /** - * - * SearchNewLogCallback description: - * - */ - private class SearchNewLogCallback implements HttpClientCallback { - - private AsyncResponse response; - - public SearchNewLogCallback(AsyncResponse response) { - - this.response = response; - } - - @Override - public void completed(HttpClientCallbackResult result) { - - response.resume(result.getReplyData()); - } - - @Override - public void failed(HttpClientCallbackResult result) { - - String reStr = result.getReplyDataAsString(); - if (result.getRetCode() == HttpStatus.SC_BAD_REQUEST) { - logger.err(this, "search new log result failed -returnCode[" + result.getRetCode() + "] and retMsg[" - + reStr + "]", result.getException()); - response.resume(reStr); - } - - } - } - /** * ===========================================回调异步 end=================================================== */ @@ -962,10 +548,8 @@ public void loadAppIPLinkList(String data, @Suspended AsyncResponse response) { message.putRequest("appgpids", data); - LoadAppIPLinkListCB callback = new LoadAppIPLinkListCB(); - callback.setResponse(response); - - this.doHttpPost("uav.app.godeye.healthmanager.http.addr", "/hm/cache/q", message, callback); + this.doHttpPost("uav.app.godeye.healthmanager.http.addr", "/hm/cache/q", message, + new CommonCB(response, "loadAppIPLinkList")); } /** @@ -1021,9 +605,8 @@ else if ("ALL".equals(groups)) { private void loadAppProfileListFromHttp(UAVHttpMessage message, final AsyncResponse response) { - LoadAppProfileListFromHttpCB callback = new LoadAppProfileListFromHttpCB(); - callback.setResponse(response); - this.doHttpPost("uav.app.godeye.healthmanager.http.addr", "/hm/cache/q", message, callback); + this.doHttpPost("uav.app.godeye.healthmanager.http.addr", "/hm/cache/q", message, + new CommonCB(response, "loadAppProfileListFromHttp")); } /** @@ -1064,9 +647,8 @@ else if ("ALL".equals(groups)) { private void loadUavNetworkInfoFromHttp(UAVHttpMessage message, final AsyncResponse response) { - LoadUavNetworkInfoFromHttpCB callback = new LoadUavNetworkInfoFromHttpCB(); - callback.setResponse(response); - this.doHttpPost("uav.app.godeye.hbquery.http.addr", "/hb/query", message, callback); + this.doHttpPost("uav.app.godeye.hbquery.http.addr", "/hb/query", message, + new CommonCB(response, "loadUavNetworkInfoFromHttp")); } /** @@ -1263,10 +845,8 @@ private void loadMonitorDataFromOpenTSDB(String data, final AsyncResponse respon message.putRequest("opentsdb.query.json", data); message.putRequest("datastore.name", MonitorDataFrame.MessageType.Monitor.toString()); - LoadMonitorDataFromOpenTSDBCB callback = new LoadMonitorDataFromOpenTSDBCB(); - callback.setResponse(response); - - this.doHttpPost("uav.app.godeye.healthmanager.http.addr", "/hm/query", message, callback); + this.doHttpPost("uav.app.godeye.healthmanager.http.addr", "/hm/query", message, + new CommonCB(response, "loadMonitorDataFromOpenTSDB")); } /** @@ -1325,9 +905,8 @@ protected void queryAppLog(String data, AsyncResponse response) { message.putRequest("hbase.query.json", data); message.putRequest("datastore.name", MonitorDataFrame.MessageType.Log.toString()); - QueryAppLogCB callback = new QueryAppLogCB(); - callback.setResponse(response); - this.doHttpPost("uav.app.godeye.healthmanager.http.addr", "/hm/query", message, callback); + this.doHttpPost("uav.app.godeye.healthmanager.http.addr", "/hm/query", message, + new CommonCB(response, "queryAppLog")); } @@ -1456,10 +1035,8 @@ else if ("ALL".equals(groups)) { message.putRequest("datastore.name", "MT_Notify"); message.putRequest("mgo.coll.name", "uav_notify"); - NoitifyQueryCB callback = new NoitifyQueryCB(); - callback.setResponse(response); - - doHttpPost("uav.app.godeye.healthmanager.http.addr", "/hm/query", message, callback); + doHttpPost("uav.app.godeye.healthmanager.http.addr", "/hm/query", message, + new CommonCB(response, "noitifyQuery")); } else { response.resume("{\"rs\":\"[]\"}"); @@ -1529,10 +1106,8 @@ else if ("ALL".equals(groups)) { message.putRequest("datastore.name", "MT_Notify"); message.putRequest("mgo.coll.name", "uav_notify"); - NoitifyCountQueryCB callback = new NoitifyCountQueryCB(); - callback.setResponse(response); - - doHttpPost("uav.app.godeye.healthmanager.http.addr", "/hm/query", message, callback); + doHttpPost("uav.app.godeye.healthmanager.http.addr", "/hm/query", message, + new CommonCB(response, "noitifyCountQuery")); } else { response.resume("{'rs':'[{\"count\":15}]'}"); @@ -1626,10 +1201,8 @@ public void noitifyEvent(@Suspended AsyncResponse response) throws Exception { message.putRequest("datastore.name", "MT_Notify"); message.putRequest("mgo.coll.name", "uav_notify"); - NoitifyEventCB callback = new NoitifyEventCB(); - callback.setResponse(response); - - doHttpPost("uav.app.godeye.healthmanager.http.addr", "/hm/query", message, callback); + doHttpPost("uav.app.godeye.healthmanager.http.addr", "/hm/query", message, + new CommonCB(response, "noitifyEvent")); } @SuppressWarnings({ "unchecked", "rawtypes" }) @@ -1722,9 +1295,8 @@ else if ("ALL".equals(groups)) { message.putRequest("datastore.name", "MT_Notify"); message.putRequest("mgo.coll.name", "uav_notify"); - NoitifyQueryBestCB callback = new NoitifyQueryBestCB(); - callback.setResponse(response); - doHttpPost("uav.app.godeye.healthmanager.http.addr", "/hm/query", message, callback); + doHttpPost("uav.app.godeye.healthmanager.http.addr", "/hm/query", message, + new CommonCB(response, "noitifyQueryBest")); } } @@ -1812,9 +1384,8 @@ else if ("ALL".equals(groups)) { message.putRequest("datastore.name", "MT_Notify"); message.putRequest("mgo.coll.name", "uav_notify"); - NoitifyCountQueryBestCB callback = new NoitifyCountQueryBestCB(); - callback.setResponse(response); - doHttpPost("uav.app.godeye.healthmanager.http.addr", "/hm/query", message, callback); + doHttpPost("uav.app.godeye.healthmanager.http.addr", "/hm/query", message, + new CommonCB(response, "noitifyCountQueryBest")); } } @@ -1965,10 +1536,7 @@ public void doNodeCtrlOperation(String data, @Suspended AsyncResponse response) + DateTimeHelper.toStandardDateFormat(timeStamp)); } - DoNodeCtrlOperationCB callback = new DoNodeCtrlOperationCB(); - callback.setResponse(response); - - this.doHttpPost(nodeUrl, null, msg, callback); + this.doHttpPost(nodeUrl, null, msg, new CommonCB(response, "doNodeCtrlOperation")); } // ----------------------------------------- database info ------------------------------------- @@ -1978,22 +1546,8 @@ public void doNodeCtrlOperation(String data, @Suspended AsyncResponse response) public void getMonitorViaDba(String data, @Suspended AsyncResponse response) { logger.info(this, data); - GetMonitorViaDbaCB callback = new GetMonitorViaDbaCB(); - callback.setResponse(response); - - doHttpPost("uav.app.godeye.database.http.addr", "/graph/history", data, callback); - } - - @POST - @Path("monitor/q/slowsql") - @Produces(MediaType.APPLICATION_JSON + ";charset=utf-8") - public void getSlowSQL(String data, @Suspended AsyncResponse response) { - - logger.info(this, data); - GetSlowSQLCB callback = new GetSlowSQLCB(); - callback.setResponse(response); - - doHttpPost("uav.app.godeye.database.http.addr", "/top/sql/count", data, callback); + doHttpPost("uav.app.godeye.database.http.addr", "/graph/history", data, + new CommonCB(response, "getMonitorViaDba")); } // -----------------------------------------filter begin ------------------------------------- @@ -2225,10 +1779,8 @@ public String listUpgradePackage(@PathParam("softwareId") String softwareId, @Su logger.info(this, "http get node/upgrade/list/" + softwareId); - ListUpgradePackageCB callback = new ListUpgradePackageCB(); - callback.setResponse(resp); doHttpPost("uav.app.upgrade.server.http.addr", "/uav/upgrade?target=list&softwareId=" + softwareId, "", - callback); + new CommonCB(resp, "listUpgradePackage")); return null; } @@ -2247,7 +1799,7 @@ public void searchNewLog(String data, @Suspended AsyncResponse resp) { UAVHttpMessage msg = new UAVHttpMessage(data); - doHttpPost("uav.app.hm.newlog.http.addr", "/newlog/q", msg, new SearchNewLogCallback(resp)); + doHttpPost("uav.app.hm.newlog.http.addr", "/newlog/q", msg, new CommonCB(resp, "searchNewLog")); } // ---------------------------------------新日志服务接口 END------------------------------------- @@ -2293,7 +1845,8 @@ public void saveFeedback(String reqData, @Suspended AsyncResponse resp) { request.putRequest("datastore.name", "AppHub.feedback"); request.putRequest("mgo.coll.name", "uav_feedback"); - doHttpPost("uav.app.manage.apphubmanager.http.addr", "/ah/feedback", request, new GodEyeCB(resp)); + doHttpPost("uav.app.manage.apphubmanager.http.addr", "/ah/feedback", request, + new CommonCB(resp, "saveFeedback")); } @SuppressWarnings("unchecked") @@ -2338,7 +1891,8 @@ public void queryFeedback(String reqData, @Suspended AsyncResponse resp) { request.putRequest("datastore.name", "AppHub.feedback"); request.putRequest("mgo.coll.name", "uav_feedback"); - doHttpPost("uav.app.manage.apphubmanager.http.addr", "/ah/feedback", request, new GodEyeCB(resp)); + doHttpPost("uav.app.manage.apphubmanager.http.addr", "/ah/feedback", request, + new CommonCB(resp, "queryFeedback")); } @SuppressWarnings("unchecked") @@ -2377,8 +1931,9 @@ public void queryFeedbackCount(String reqData, @Suspended AsyncResponse resp) { request.putRequest("mrd.data", JSONHelper.toString(mapParam)); request.putRequest("datastore.name", "AppHub.feedback"); request.putRequest("mgo.coll.name", "uav_feedback"); - - doHttpPost("uav.app.manage.apphubmanager.http.addr", "/ah/feedback", request, new GodEyeCB(resp)); + + doHttpPost("uav.app.manage.apphubmanager.http.addr", "/ah/feedback", request, + new CommonCB(resp, "queryFeedbackCount")); } // ---------------------------------------反馈建议 END-----------------------------------