From f2894d6c3b1db963b708507ec95a1d27f49673f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=93=81=E9=94=9A?= Date: Thu, 30 Jun 2016 11:19:11 +0800 Subject: [PATCH 1/2] update StringUtils.java add Method subString("abcdc","a","c",true)="bcd" --- .../com/alibaba/druid/util/StringUtils.java | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/main/java/com/alibaba/druid/util/StringUtils.java b/src/main/java/com/alibaba/druid/util/StringUtils.java index 5252c4d025..ed16734f15 100644 --- a/src/main/java/com/alibaba/druid/util/StringUtils.java +++ b/src/main/java/com/alibaba/druid/util/StringUtils.java @@ -60,6 +60,33 @@ public class StringUtils { } + /** + * Example: subString("abcdc","a","c",true)="bcd" + * + * @param src + * @param start null while start from index=0 + * @param to null while to index=src.length + * @param toLast true while to index=src.lastIndexOf(to) + * @return + */ + public static String subString(String src, String start, String to, boolean toLast) { + if(!toLast) { + return subString(src, start, to); + } + int indexFrom = start == null ? 0 : src.indexOf(start); + int indexTo = to == null ? src.length() : src.lastIndexOf(to); + if (indexFrom < 0 || indexTo < 0 || indexFrom > indexTo) { + return null; + } + + if (null != start) { + indexFrom += start.length(); + } + + return src.substring(indexFrom, indexTo); + + } + /** * @param in * @return From 84b306a05494b8fc2d9248101b6bdfe119196f8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=93=81=E9=94=9A?= Date: Thu, 30 Jun 2016 11:22:46 +0800 Subject: [PATCH 2/2] Fix issues # 1279 [Fix issues # 1279](https://github.com/alibaba/druid/issues/1279) --- src/main/java/com/alibaba/druid/stat/DruidStatService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/alibaba/druid/stat/DruidStatService.java b/src/main/java/com/alibaba/druid/stat/DruidStatService.java index 894a9d0cbc..e76072efaa 100644 --- a/src/main/java/com/alibaba/druid/stat/DruidStatService.java +++ b/src/main/java/com/alibaba/druid/stat/DruidStatService.java @@ -149,7 +149,7 @@ public final class DruidStatService implements DruidStatServiceMBean { } if (url.startsWith("/weburi-") && url.indexOf(".json") > 0) { - String uri = StringUtils.subString(url, "weburi-", ".json"); + String uri = StringUtils.subString(url, "weburi-", ".json", true); return returnJSONResult(RESULT_CODE_SUCCESS, getWebURIStatData(uri)); }