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 73d25d3a1f3916e22da4c7b9c328f3618ae09ed5..bffd6df41e5cbfcea447f3083ba51b0e862a3a66 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 87b01ec8a57c1b6252187a62a5735575a5dc31bd..0fe7ceb9efdf4ad812a038c265eeb39cc4619957 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 bc89843e5a10201f35a6a5731bcc1d55594e8eb9..20071b7f27ba81ea22b7406bc79e2f5a7b09d7e4 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 0000000000000000000000000000000000000000..7a4cbd960fa6d86ca4f7b2d1ba07bb5b401fc4e3 --- /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 0000000000000000000000000000000000000000..0111b97725c6610c751c27fce9d51e1a50eaf91f --- /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 4e0a9500609962cde6ef64c71847f8114fda720b..99eb6ce72c5051394a38d69a9960143cf7c22080 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 1507e97af086b3c66d21ce946640692ddaf68433..640ce4304cb1c96ff12ecc2ac2ff90f64be3591c 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 551cbdc8aa9272ac6a6ccdc8e7ea6c872cbad862..005c15537fb4486ef7174a6c3d56b16b8df3d810 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 () {