From 2bfe2753b84e65e6894f107ccbce0d906cc24664 Mon Sep 17 00:00:00 2001 From: You Yong Date: Mon, 26 Mar 2012 21:40:25 +0800 Subject: [PATCH] modify the cat page bug --- .../dianping/cat/report/page/event/Model.java | 4 +- .../dianping/cat/report/page/ip/Model.java | 4 +- .../report/page/problem/GroupLevelInfo.java | 30 +++++------ .../cat/report/page/problem/Model.java | 4 +- .../report/page/problem/ThreadLevelInfo.java | 26 ++++++---- .../dianping/cat/report/page/sql/Model.java | 4 +- .../cat/report/page/transaction/Model.java | 4 +- .../cat/report/view/DomainSortHelper.java | 37 -------------- .../cat/report/view/StringSortHelper.java | 50 +++++++++++++++++++ 9 files changed, 92 insertions(+), 71 deletions(-) delete mode 100644 cat-home/src/main/java/com/dianping/cat/report/view/DomainSortHelper.java create mode 100644 cat-home/src/main/java/com/dianping/cat/report/view/StringSortHelper.java diff --git a/cat-home/src/main/java/com/dianping/cat/report/page/event/Model.java b/cat-home/src/main/java/com/dianping/cat/report/page/event/Model.java index 7159e70e2..88a551f13 100755 --- a/cat-home/src/main/java/com/dianping/cat/report/page/event/Model.java +++ b/cat-home/src/main/java/com/dianping/cat/report/page/event/Model.java @@ -5,7 +5,7 @@ import java.util.List; import com.dianping.cat.consumer.event.model.entity.EventReport; import com.dianping.cat.report.page.AbstractReportModel; -import com.dianping.cat.report.view.DomainSortHelper; +import com.dianping.cat.report.view.StringSortHelper; public class Model extends AbstractReportModel { private EventReport m_report; @@ -44,7 +44,7 @@ public class Model extends AbstractReportModel { if (m_report == null) { return new ArrayList(); } else { - return DomainSortHelper.sortDomain(m_report.getDomains()); + return StringSortHelper.sortDomain(m_report.getDomains()); } } diff --git a/cat-home/src/main/java/com/dianping/cat/report/page/ip/Model.java b/cat-home/src/main/java/com/dianping/cat/report/page/ip/Model.java index 0c78f0ca7..936333b48 100755 --- a/cat-home/src/main/java/com/dianping/cat/report/page/ip/Model.java +++ b/cat-home/src/main/java/com/dianping/cat/report/page/ip/Model.java @@ -5,7 +5,7 @@ import java.util.List; import com.dianping.cat.consumer.ip.model.entity.IpReport; import com.dianping.cat.report.page.AbstractReportModel; -import com.dianping.cat.report.view.DomainSortHelper; +import com.dianping.cat.report.view.StringSortHelper; public class Model extends AbstractReportModel { private IpReport m_report; @@ -40,7 +40,7 @@ public class Model extends AbstractReportModel { if (m_report == null) { return new ArrayList(); } else { - return DomainSortHelper.sortDomain(m_report.getAllDomains().getDomains()); + return StringSortHelper.sortDomain(m_report.getAllDomains().getDomains()); } } diff --git a/cat-home/src/main/java/com/dianping/cat/report/page/problem/GroupLevelInfo.java b/cat-home/src/main/java/com/dianping/cat/report/page/problem/GroupLevelInfo.java index 4305818b9..a9cecf818 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/page/problem/GroupLevelInfo.java +++ b/cat-home/src/main/java/com/dianping/cat/report/page/problem/GroupLevelInfo.java @@ -1,11 +1,10 @@ package com.dianping.cat.report.page.problem; import java.util.ArrayList; -import java.util.HashSet; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; -import java.util.Set; +import java.util.TreeSet; import com.dianping.cat.consumer.problem.model.entity.Entry; import com.dianping.cat.consumer.problem.model.entity.JavaThread; @@ -13,6 +12,7 @@ import com.dianping.cat.consumer.problem.model.entity.Machine; import com.dianping.cat.consumer.problem.model.entity.ProblemReport; import com.dianping.cat.consumer.problem.model.entity.Segment; import com.dianping.cat.report.view.ProblemReportHelper; +import com.dianping.cat.report.view.StringSortHelper; public class GroupLevelInfo { private int m_minutes; @@ -28,8 +28,8 @@ public class GroupLevelInfo { m_minutes = model.getLastMinute(); } - public Set getGroups() { - return m_groupStatistics.keySet(); + public List getGroups() { + return StringSortHelper.sortString(m_groupStatistics.keySet()); } private String getShowDetailByMinte(int minute) { @@ -39,21 +39,21 @@ public class GroupLevelInfo { params.put("ip", m_model.getIpAddress()); params.put("date", m_model.getDate()); params.put("minute", Integer.toString(minute)); - + StringBuilder sb = new StringBuilder().append(""); String minuteStr = Integer.toString(minute); if (minute < 10) { - minuteStr ="0" +minute; + minuteStr = "0" + minute; } sb.append(ProblemReportHelper.creatLinkString(baseUrl, "minute", params, minuteStr)); sb.append(""); - - for (java.util.Map.Entry statistics : m_groupStatistics.entrySet()) { + + for (String group : getGroups()) { sb.append(""); - params.put("group", statistics.getKey()); - GroupStatistics value = statistics.getValue(); + params.put("group", group); + GroupStatistics value = m_groupStatistics.get(group); for (String temp : value.getStatistics().get(minute)) { - String url = ProblemReportHelper.creatLinkString(baseUrl, temp, params,""); + String url = ProblemReportHelper.creatLinkString(baseUrl, temp, params, ""); sb.append(url); } sb.append(""); @@ -108,16 +108,16 @@ public class GroupLevelInfo { public static class GroupStatistics { - private Map> m_statistics = new LinkedHashMap>(); + private Map> m_statistics = new LinkedHashMap>(); - public HashSet getTag(int minutes) { + public TreeSet getTag(int minutes) { return m_statistics.get(minutes); } public GroupStatistics(int lastMinute) { for (int i = 0; i <= lastMinute; i++) { - m_statistics.put(new Integer(i), new HashSet()); + m_statistics.put(new Integer(i), new TreeSet()); } } @@ -131,7 +131,7 @@ public class GroupLevelInfo { } } - public Map> getStatistics() { + public Map> getStatistics() { return m_statistics; } } diff --git a/cat-home/src/main/java/com/dianping/cat/report/page/problem/Model.java b/cat-home/src/main/java/com/dianping/cat/report/page/problem/Model.java index 191f9f4e1..5158503b0 100755 --- a/cat-home/src/main/java/com/dianping/cat/report/page/problem/Model.java +++ b/cat-home/src/main/java/com/dianping/cat/report/page/problem/Model.java @@ -5,7 +5,7 @@ import java.util.List; import com.dianping.cat.consumer.problem.model.entity.ProblemReport; import com.dianping.cat.report.page.AbstractReportModel; -import com.dianping.cat.report.view.DomainSortHelper; +import com.dianping.cat.report.view.StringSortHelper; public class Model extends AbstractReportModel { private ProblemReport m_report; @@ -57,7 +57,7 @@ public class Model extends AbstractReportModel { if (m_report == null) { return new ArrayList(); } else { - return DomainSortHelper.sortDomain(m_report.getAllDomains().getDomains()); + return StringSortHelper.sortDomain(m_report.getAllDomains().getDomains()); } } diff --git a/cat-home/src/main/java/com/dianping/cat/report/page/problem/ThreadLevelInfo.java b/cat-home/src/main/java/com/dianping/cat/report/page/problem/ThreadLevelInfo.java index b3cd4ce94..951d06978 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/page/problem/ThreadLevelInfo.java +++ b/cat-home/src/main/java/com/dianping/cat/report/page/problem/ThreadLevelInfo.java @@ -1,6 +1,8 @@ package com.dianping.cat.report.page.problem; import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; import java.util.HashMap; import java.util.HashSet; import java.util.LinkedHashMap; @@ -41,6 +43,12 @@ public class ThreadLevelInfo { for (java.util.Map.Entry> entry : m_threadsInfo.entrySet()) { result.add(new GroupDisplayInfo().setName(entry.getKey()).setNumber(entry.getValue().size())); } + Collections.sort(result, new Comparator() { + @Override + public int compare(GroupDisplayInfo o1, GroupDisplayInfo o2) { + return o1.getName().compareTo(o2.getName()); + } + }); return result; } @@ -55,7 +63,7 @@ public class ThreadLevelInfo { return result; } - private Set getThreadsByGroup(String groupName) { + private TreeSet getThreadsByGroup(String groupName) { return m_threadsInfo.get(groupName); } @@ -66,18 +74,18 @@ public class ThreadLevelInfo { params.put("ip", m_model.getIpAddress()); params.put("date", m_model.getDate()); params.put("minute", Integer.toString(minute)); - + StringBuilder sb = new StringBuilder().append(""); String minuteStr = Integer.toString(minute); if (minute < 10) { - minuteStr ="0" +minute; + minuteStr = "0" + minute; } sb.append(ProblemReportHelper.creatLinkString(baseUrl, "minute", params, minuteStr)); sb.append(""); - - for (java.util.Map.Entry statistics : m_groupStatistics.entrySet()) { - GroupStatistics value = statistics.getValue(); - String groupName = statistics.getKey(); + + for (GroupDisplayInfo group : getGroups()) { + GroupStatistics value = m_groupStatistics.get(group); + String groupName = group.getName(); Set threads = getThreadsByGroup(groupName); Map temps = value.getStatistics(); @@ -86,11 +94,11 @@ public class ThreadLevelInfo { HashSet errors = theadStatistics.getStatistics().get(minute); sb.append(""); for (String error : errors) { - params.put("group", statistics.getKey()); + params.put("group", groupName); if (groupName.equals(m_groupName)) { params.put("thread", thread); } - String url = ProblemReportHelper.creatLinkString(baseUrl, error, params,""); + String url = ProblemReportHelper.creatLinkString(baseUrl, error, params, ""); sb.append(url); } sb.append(""); diff --git a/cat-home/src/main/java/com/dianping/cat/report/page/sql/Model.java b/cat-home/src/main/java/com/dianping/cat/report/page/sql/Model.java index cfba696f7..b8fa979df 100755 --- a/cat-home/src/main/java/com/dianping/cat/report/page/sql/Model.java +++ b/cat-home/src/main/java/com/dianping/cat/report/page/sql/Model.java @@ -4,7 +4,7 @@ import java.util.ArrayList; import java.util.List; import com.dianping.cat.report.page.AbstractReportModel; -import com.dianping.cat.report.view.DomainSortHelper; +import com.dianping.cat.report.view.StringSortHelper; public class Model extends AbstractReportModel { private SqlReport m_report; @@ -50,7 +50,7 @@ public class Model extends AbstractReportModel { if (m_report == null) { return new ArrayList(); } else { - return DomainSortHelper.sortDomain(m_report.getDomains()); + return StringSortHelper.sortDomain(m_report.getDomains()); } } diff --git a/cat-home/src/main/java/com/dianping/cat/report/page/transaction/Model.java b/cat-home/src/main/java/com/dianping/cat/report/page/transaction/Model.java index 05f8f5fc4..9a1a7a8b9 100755 --- a/cat-home/src/main/java/com/dianping/cat/report/page/transaction/Model.java +++ b/cat-home/src/main/java/com/dianping/cat/report/page/transaction/Model.java @@ -5,7 +5,7 @@ import java.util.List; import com.dianping.cat.consumer.transaction.model.entity.TransactionReport; import com.dianping.cat.report.page.AbstractReportModel; -import com.dianping.cat.report.view.DomainSortHelper; +import com.dianping.cat.report.view.StringSortHelper; public class Model extends AbstractReportModel { private TransactionReport m_report; @@ -44,7 +44,7 @@ public class Model extends AbstractReportModel { if (m_report == null) { return new ArrayList(); } else { - return DomainSortHelper.sortDomain(m_report.getDomains()); + return StringSortHelper.sortDomain(m_report.getDomains()); } } diff --git a/cat-home/src/main/java/com/dianping/cat/report/view/DomainSortHelper.java b/cat-home/src/main/java/com/dianping/cat/report/view/DomainSortHelper.java deleted file mode 100644 index 61a9d8885..000000000 --- a/cat-home/src/main/java/com/dianping/cat/report/view/DomainSortHelper.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.dianping.cat.report.view; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; -import java.util.List; -import java.util.Set; - -public class DomainSortHelper { - public static List sortDomain(List domains){ - Collections.sort(domains,new DomainComparator()); - return domains; - } - - public static List sortDomain(Set domains){ - if(domains==null){ - return null; - }else{ - List domainsList = new ArrayList(); - for(String domain:domains){ - domainsList.add(domain); - } - return sortDomain(domainsList); - } - } - - public static class DomainComparator implements Comparator{ - @Override - public int compare(String d1, String d2) { - if (d1.equals("Cat")) { - return 1; - } - - return d1.compareTo(d2); - } - } -} diff --git a/cat-home/src/main/java/com/dianping/cat/report/view/StringSortHelper.java b/cat-home/src/main/java/com/dianping/cat/report/view/StringSortHelper.java new file mode 100644 index 000000000..d3d9d9f2b --- /dev/null +++ b/cat-home/src/main/java/com/dianping/cat/report/view/StringSortHelper.java @@ -0,0 +1,50 @@ +package com.dianping.cat.report.view; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; +import java.util.Set; + +public class StringSortHelper { + public static List sortDomain(List lists) { + Collections.sort(lists, new DomainComparator()); + return lists; + } + + public static List sortDomain(Set lists) { + if (lists == null) { + return null; + } else { + List domainsList = new ArrayList(); + for (String domain : lists) { + domainsList.add(domain); + } + return sortDomain(domainsList); + } + } + + public static List sortString(Set lists) { + if (lists == null) { + return null; + } else { + List result = new ArrayList(); + for (String domain : lists) { + result.add(domain); + } + Collections.sort(result); + return result; + } + } + + public static class DomainComparator implements Comparator { + @Override + public int compare(String d1, String d2) { + if (d1.equals("Cat")) { + return 1; + } + + return d1.compareTo(d2); + } + } +} -- GitLab