From 2649f1973eba9349d3313b2e4ace40c7a73bab2d Mon Sep 17 00:00:00 2001 From: Woonduk Kang Date: Wed, 5 Dec 2012 09:04:41 +0000 Subject: [PATCH] =?UTF-8?q?[=EA=B0=95=EC=9A=B4=EB=8D=95]=20[LUCYSUS-1744]?= =?UTF-8?q?=20=EB=B9=84=EC=A7=80=EB=8B=88=EC=8A=A4=20=ED=8A=B8=EB=9E=9C?= =?UTF-8?q?=EC=9E=AD=EC=85=98=20=EC=9E=AC=EA=B7=80=20=EB=A1=9C=EC=A7=81=20?= =?UTF-8?q?=EC=88=98=EC=A0=95.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://svn.bds.nhncorp.com/pe/hippo-web/trunk@999 84d0f5b1-2673-498c-a247-62c4ff18d310 --- .../web/calltree/span/SpanPopulator.java | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/nhn/hippo/web/calltree/span/SpanPopulator.java b/src/main/java/com/nhn/hippo/web/calltree/span/SpanPopulator.java index 2eb50dd78..f2a5fcecd 100644 --- a/src/main/java/com/nhn/hippo/web/calltree/span/SpanPopulator.java +++ b/src/main/java/com/nhn/hippo/web/calltree/span/SpanPopulator.java @@ -13,6 +13,7 @@ import java.util.List; */ public class SpanPopulator { private List list; + private int index = 0; public SpanPopulator(List list) { this.list = list; @@ -23,20 +24,23 @@ public class SpanPopulator { return Collections.emptyList(); } List populatedList = new ArrayList(); - populatedSpan(populatedList, 0); + + while (index < list.size()) { + populatedSpan(populatedList); + } return populatedList; } - private void populatedSpan(List populatedList, int i) { - SpanAlign spanAlign = list.get(i); + private void populatedSpan(List populatedList) { + SpanAlign spanAlign = list.get(index); SpanBo span = spanAlign.getSpan(); populatedList.add(spanAlign); long startTime = span.getStartTime(); List subSpanBos = sortSubSpan(span); for (SubSpanBo subSpanBo : subSpanBos) { long subStartTime = startTime + subSpanBo.getStartElapsed(); - long nextSpanStartTime = getNextSpanStartTime(i); + long nextSpanStartTime = getNextSpanStartTime(); if (subStartTime <= nextSpanStartTime) { SpanAlign subSpanAlign = new SpanAlign(spanAlign.getDepth(), span, subSpanBo); subSpanAlign.setRoot(false); @@ -45,13 +49,15 @@ public class SpanPopulator { if (nextSpanStartTime == Long.MAX_VALUE) { return; } - populatedSpan(populatedList, ++i); + index++; + populatedSpan(populatedList); } } + index++; } - public long getNextSpanStartTime(int i) { - int nextIndex = i + 1; + public long getNextSpanStartTime() { + int nextIndex = index + 1; if (nextIndex >= list.size()) { return Long.MAX_VALUE; }