From 4b2fb51f63e018c94d1fc0943b599d5e2bab4e71 Mon Sep 17 00:00:00 2001 From: ascrutae Date: Tue, 17 May 2016 08:40:23 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=B2=A1=E6=9C=89=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E4=B9=9F=E5=8F=AF=E4=BB=A5=E6=90=9C=E7=B4=A2viewpoint?= =?UTF-8?q?=E7=9A=84bug=EF=BC=8C=E4=BB=A5=E5=8F=8A=E5=9C=A8=E9=87=8D?= =?UTF-8?q?=E5=90=AF=E6=9C=BA=E5=99=A8=E6=83=85=E5=86=B5=E4=B8=8B=EF=BC=8C?= =?UTF-8?q?=E5=86=8D=E6=AC=A1=E7=82=B9=E5=87=BB=E6=90=9C=E7=B4=A2=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E6=B2=A1=E6=9C=89=E8=B7=B3=E8=BD=AC=E5=88=B0=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cloud/skywalking/web/common/BaseController.java | 6 ++++-- .../skywalking/web/controller/SearchController.java | 7 ++++++- .../skywalking/web/entity/BreviaryChainNode.java | 7 +++---- .../web/exception/UserInvalidateException.java | 8 ++++++++ .../web/exception/UserNotLoginException.java | 8 ++++++++ .../web/filter/AccessControllerFilter.java | 3 ++- .../skywalking/web/util/ViewPointBeautiUtil.java | 12 +++++++----- .../skywalking/js/analysisSearchResult.js | 2 ++ 8 files changed, 40 insertions(+), 13 deletions(-) create mode 100644 skywalking-webui/src/main/java/com/ai/cloud/skywalking/web/exception/UserInvalidateException.java create mode 100644 skywalking-webui/src/main/java/com/ai/cloud/skywalking/web/exception/UserNotLoginException.java diff --git a/skywalking-webui/src/main/java/com/ai/cloud/skywalking/web/common/BaseController.java b/skywalking-webui/src/main/java/com/ai/cloud/skywalking/web/common/BaseController.java index 73d25d3a1..bffd6df41 100644 --- a/skywalking-webui/src/main/java/com/ai/cloud/skywalking/web/common/BaseController.java +++ b/skywalking-webui/src/main/java/com/ai/cloud/skywalking/web/common/BaseController.java @@ -1,5 +1,7 @@ package com.ai.cloud.skywalking.web.common; +import com.ai.cloud.skywalking.web.exception.UserInvalidateException; +import com.ai.cloud.skywalking.web.exception.UserNotLoginException; import com.ai.cloud.skywalking.web.util.Constants; import com.ai.cloud.skywalking.web.dto.LoginUserInfo; import org.springframework.ui.ModelMap; @@ -29,11 +31,11 @@ public class BaseController { LoginUserInfo loginUserInfo = (LoginUserInfo) request.getSession(). getAttribute(Constants.SESSION_LOGIN_INFO_KEY); if (loginUserInfo == null) { - throw new RuntimeException("Failed to find login user info"); + throw new UserNotLoginException("Failed to find login user info"); } if (loginUserInfo.getUid() == null) { - throw new RuntimeException("Login user Id is null"); + throw new UserInvalidateException("Login user Id is null"); } return loginUserInfo; diff --git a/skywalking-webui/src/main/java/com/ai/cloud/skywalking/web/controller/SearchController.java b/skywalking-webui/src/main/java/com/ai/cloud/skywalking/web/controller/SearchController.java index 87b01ec8a..0fe7ceb9e 100644 --- a/skywalking-webui/src/main/java/com/ai/cloud/skywalking/web/controller/SearchController.java +++ b/skywalking-webui/src/main/java/com/ai/cloud/skywalking/web/controller/SearchController.java @@ -6,6 +6,7 @@ import com.ai.cloud.skywalking.web.entity.BreviaryChainNode; import com.ai.cloud.skywalking.web.dto.LoginUserInfo; import com.ai.cloud.skywalking.web.dto.TraceTreeInfo; import com.ai.cloud.skywalking.web.entity.BreviaryChainTree; +import com.ai.cloud.skywalking.web.exception.UserNotLoginException; import com.ai.cloud.skywalking.web.service.inter.ICallChainTreeService; import com.ai.cloud.skywalking.web.service.inter.ITraceTreeService; import com.ai.cloud.skywalking.web.util.Constants; @@ -115,7 +116,11 @@ public class SearchController extends BaseController { result.add("children", jsonElements); jsonObject.put("code", "200"); jsonObject.put("result", result.toString()); - } catch (Exception e) { + }catch (UserNotLoginException e){ + logger.error("Failed to search chain tree:{}", key, e); + jsonObject.put("code", "505"); + jsonObject.put("result", "User is not login."); + }catch (Exception e) { logger.error("Failed to search chain tree:{}", key, e); jsonObject.put("code", "500"); jsonObject.put("result", "Fatal error"); diff --git a/skywalking-webui/src/main/java/com/ai/cloud/skywalking/web/entity/BreviaryChainNode.java b/skywalking-webui/src/main/java/com/ai/cloud/skywalking/web/entity/BreviaryChainNode.java index bc89843e5..20071b7f2 100644 --- a/skywalking-webui/src/main/java/com/ai/cloud/skywalking/web/entity/BreviaryChainNode.java +++ b/skywalking-webui/src/main/java/com/ai/cloud/skywalking/web/entity/BreviaryChainNode.java @@ -6,9 +6,10 @@ import com.ai.cloud.skywalking.web.util.ViewPointBeautiUtil; * Created by xin on 16-4-14. */ public class BreviaryChainNode { - private String traceLevelId=""; + private String traceLevelId = ""; private String viewPoint; private boolean isGuess; + public BreviaryChainNode(String traceLevelId, String viewPoint, boolean isGuess) { this.traceLevelId = traceLevelId; this.viewPoint = viewPoint; @@ -32,9 +33,7 @@ public class BreviaryChainNode { } public void beautiViewPointString(String searchKey) { - if (viewPoint.length() > 100) { - viewPoint = ViewPointBeautiUtil.beautifulViewPoint(viewPoint, searchKey); - } + viewPoint = ViewPointBeautiUtil.beautifulViewPoint(viewPoint, searchKey); } @Override diff --git a/skywalking-webui/src/main/java/com/ai/cloud/skywalking/web/exception/UserInvalidateException.java b/skywalking-webui/src/main/java/com/ai/cloud/skywalking/web/exception/UserInvalidateException.java new file mode 100644 index 000000000..7a4cbd960 --- /dev/null +++ b/skywalking-webui/src/main/java/com/ai/cloud/skywalking/web/exception/UserInvalidateException.java @@ -0,0 +1,8 @@ +package com.ai.cloud.skywalking.web.exception; + +public class UserInvalidateException extends RuntimeException { + + public UserInvalidateException(String message) { + super(message); + } +} diff --git a/skywalking-webui/src/main/java/com/ai/cloud/skywalking/web/exception/UserNotLoginException.java b/skywalking-webui/src/main/java/com/ai/cloud/skywalking/web/exception/UserNotLoginException.java new file mode 100644 index 000000000..0111b9772 --- /dev/null +++ b/skywalking-webui/src/main/java/com/ai/cloud/skywalking/web/exception/UserNotLoginException.java @@ -0,0 +1,8 @@ +package com.ai.cloud.skywalking.web.exception; + +public class UserNotLoginException extends RuntimeException { + + public UserNotLoginException(String message) { + super(message); + } +} diff --git a/skywalking-webui/src/main/java/com/ai/cloud/skywalking/web/filter/AccessControllerFilter.java b/skywalking-webui/src/main/java/com/ai/cloud/skywalking/web/filter/AccessControllerFilter.java index 4e0a95006..99eb6ce72 100644 --- a/skywalking-webui/src/main/java/com/ai/cloud/skywalking/web/filter/AccessControllerFilter.java +++ b/skywalking-webui/src/main/java/com/ai/cloud/skywalking/web/filter/AccessControllerFilter.java @@ -24,7 +24,8 @@ public class AccessControllerFilter implements Filter { contained.add("addApplication"); contained.add("createGlobalApplication"); contained.add("modifyApplication"); - contained.add("showAnlyResult"); + contained.add("showAnlySearchResult"); + contained.add("showAnalysisResult"); } @Override diff --git a/skywalking-webui/src/main/java/com/ai/cloud/skywalking/web/util/ViewPointBeautiUtil.java b/skywalking-webui/src/main/java/com/ai/cloud/skywalking/web/util/ViewPointBeautiUtil.java index 1507e97af..640ce4304 100644 --- a/skywalking-webui/src/main/java/com/ai/cloud/skywalking/web/util/ViewPointBeautiUtil.java +++ b/skywalking-webui/src/main/java/com/ai/cloud/skywalking/web/util/ViewPointBeautiUtil.java @@ -1,8 +1,5 @@ package com.ai.cloud.skywalking.web.util; -import java.util.ArrayList; -import java.util.List; - /** * Created by xin on 16-4-19. */ @@ -10,7 +7,10 @@ public class ViewPointBeautiUtil { public static String beautifulViewPoint(String viewPoint, String searchKey) { - String highLightViewPoint = ViewPointBeautiUtil.addViewPoint(viewPoint, searchKey); + String highLightViewPoint = viewPoint; + if (viewPoint.length() > 100) { + highLightViewPoint = ViewPointBeautiUtil.addViewPoint(viewPoint, searchKey); + } return ViewPointBeautiUtil.highLightViewPoint(highLightViewPoint, searchKey); } @@ -27,7 +27,9 @@ public class ViewPointBeautiUtil { result.append(""); result.append(searchKey); result.append(""); - result.append(viewPoint.substring(index + searchKey.length() + 1)); + if (viewPoint.length() > index + searchKey.length() + 1) { + result.append(viewPoint.substring(index + searchKey.length() + 1)); + } return result.toString(); } diff --git a/skywalking-webui/src/main/webapp/bower_components/skywalking/js/analysisSearchResult.js b/skywalking-webui/src/main/webapp/bower_components/skywalking/js/analysisSearchResult.js index 551cbdc8a..005c15537 100644 --- a/skywalking-webui/src/main/webapp/bower_components/skywalking/js/analysisSearchResult.js +++ b/skywalking-webui/src/main/webapp/bower_components/skywalking/js/analysisSearchResult.js @@ -89,6 +89,8 @@ function loadAnalyResult(searchKey, pageSize) { $("#anlyResultmPanel").append(htmlOutput); bindPagerBtn(); } + }else if (data.code == '505'){ + window.location.href = baseUrl + "/usr/login"; } }, error: function () {