[Title] thread page
authoryeongtaik.byeon <yeongtaik.byeon@samsung.com>
Wed, 28 Nov 2012 02:26:15 +0000 (11:26 +0900)
committeryeongtaik.byeon <yeongtaik.byeon@samsung.com>
Wed, 28 Nov 2012 02:26:15 +0000 (11:26 +0900)
[Desc.] prepare lock & chart name design
[Issue] redmine #5322 #7167

org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/chartBoard/DACustomChartBoardItemCell.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/basechart/table/ThreadAPIListTable.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/ThreadAPIListView.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/ThreadChartView.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/ThreadPageThreadData.java [moved from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/ThreadPageData.java with 81% similarity]
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/ThreadPageThreadDataEvent.java [moved from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/ThreadPageDataEvent.java with 90% similarity]
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/ThreadPageThreadDataManager.java [moved from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/ThreadPageDataManager.java with 77% similarity]

index c83595a..06154a2 100644 (file)
@@ -195,12 +195,22 @@ class DACustomChartBoardItemCell extends Composite {
        }
 
        private void drawNameString(GC gc, String name, int pixcelX, int pixcelY) {
-               Point p;
                if (null == name) {
                        return;
                }
-               p = gc.textExtent(name, SWT.DRAW_DELIMITER);
-               gc.drawText(name, pixcelX - p.x / 2, pixcelY - p.y / 2, true);
+               Point allp = gc.textExtent(name, SWT.DRAW_DELIMITER);
+               
+               String[] temp = name.split("\n");
+               int lineLength = temp.length;
+               Point[] p = new Point[lineLength]; 
+               
+               int startY = pixcelY - allp.y / 2;
+               
+               for(int i=0; i<lineLength; i++){
+                       p[i] = gc.textExtent(temp[i]);
+                       gc.drawText(temp[i], pixcelX - p[i].x / 2, startY, true);
+                       startY += p[i].y;
+               }
        }
 
        public boolean isSelectCell() {
index 9ab14cd..cac6c3d 100644 (file)
@@ -38,8 +38,8 @@ import org.tizen.dynamicanalyzer.error.ErrorCodeManager;
 import org.tizen.dynamicanalyzer.logparser.LogCenterConstants;
 import org.tizen.dynamicanalyzer.model.TableInput;
 import org.tizen.dynamicanalyzer.ui.thread.ThreadAPIListView;
-import org.tizen.dynamicanalyzer.ui.thread.ThreadPageData;
-import org.tizen.dynamicanalyzer.ui.thread.ThreadPageDataEvent;
+import org.tizen.dynamicanalyzer.ui.thread.ThreadPageThreadData;
+import org.tizen.dynamicanalyzer.ui.thread.ThreadPageThreadDataEvent;
 import org.tizen.dynamicanalyzer.ui.widgets.table.DATableComposite;
 import org.tizen.dynamicanalyzer.ui.widgets.table.DATableDataFormat;
 import org.tizen.dynamicanalyzer.utils.Formatter;
@@ -73,7 +73,7 @@ public class ThreadAPIListTable extends DATableComposite {
                if (!(view instanceof ThreadAPIListView)) {
                        return null;
                }
-               ThreadPageData data = view.getPageData();
+               ThreadPageThreadData data = view.getPageData();
 
                if (null == data) {
                        return null;
@@ -81,9 +81,9 @@ public class ThreadAPIListTable extends DATableComposite {
 
                List<TableInput> input = new ArrayList<TableInput>();
 
-               List<ThreadPageDataEvent> contents = data.getContents();
+               List<ThreadPageThreadDataEvent> contents = data.getContents();
 
-               ThreadPageDataEvent content;
+               ThreadPageThreadDataEvent content;
                for (int i = 0; i < contents.size(); i++) {
                        content = contents.get(i);
                        List<String> contentTemp = content.getContents();
index d71a437..bd5f2c8 100644 (file)
@@ -43,7 +43,7 @@ import org.tizen.dynamicanalyzer.ui.widgets.table.TableComparator;
 public class ThreadAPIListView extends DAView {
 
        public static final String ID = ThreadAPIListView.class.getName();
-       private ThreadPageData data;
+       private ThreadPageThreadData data;
        int[] innerMaxWeight = { 0, 100 };
        int[] outerMaxWeight = { 100, 0 };
 
@@ -108,8 +108,8 @@ public class ThreadAPIListView extends DAView {
 
        @Override
        public void updateView(DASelectionData data) {
-               this.data = (ThreadPageData) data.getData();
-               if (!(this.data instanceof ThreadPageData)) {
+               this.data = (ThreadPageThreadData) data.getData();
+               if (!(this.data instanceof ThreadPageThreadData)) {
                        return;
                }
                tableComp.getTable().removeAll();
@@ -127,7 +127,7 @@ public class ThreadAPIListView extends DAView {
                data = null;
        }
 
-       public ThreadPageData getPageData() {
+       public ThreadPageThreadData getPageData() {
                return data;
        }
 }
index 1608bac..7bf6fe5 100644 (file)
@@ -53,7 +53,7 @@ public class ThreadChartView extends DAView {
 
        private DACustomChartBoard threadChart;
        private DACustomCombo combo;
-       ThreadPageDataManager tManager;
+       ThreadPageThreadDataManager tManager;
 
        public ThreadChartView(Composite parent, int style) {
                super(parent, style);
@@ -68,15 +68,18 @@ public class ThreadChartView extends DAView {
                contents.setLayout(new FillLayout());
                threadChart = new DACustomChartBoard(contents,
                                ThreadPageLabels.THREAD_CHART_TITLE);
-               
-               threadChart.addSelectionListener(new DACustomChartBoardSelectionListener() {
-                       
-                       @Override
-                       public void handleSelectionEvent(DACustomChartBoardItem item) {
-                               // TODO Auto-generated method stub
-                               AnalyzerManager.getCurrentPage().updatePage(new DASelectionData(ThreadChartView.ID, 0, 0, item.getData(), null));
-                       }
-               });
+
+               threadChart
+                               .addSelectionListener(new DACustomChartBoardSelectionListener() {
+
+                                       @Override
+                                       public void handleSelectionEvent(DACustomChartBoardItem item) {
+                                               // TODO Auto-generated method stub
+                                               AnalyzerManager.getCurrentPage().updatePage(
+                                                               new DASelectionData(ThreadChartView.ID, 0, 0,
+                                                                               item.getData(), null));
+                                       }
+                               });
 
                combo = new DACustomCombo(threadChart.getTitleComp(), SWT.NONE);
 
@@ -104,7 +107,7 @@ public class ThreadChartView extends DAView {
                combo.setComboPopupRender(new TitleComboPopupRenderer());
                combo.setButtonRenderer(new ComboButtonRenderer());
 
-               tManager = new ThreadPageDataManager(threadChart, this);
+               tManager = new ThreadPageThreadDataManager(threadChart, this);
        }
 
        @Override
@@ -36,32 +36,32 @@ import org.tizen.dynamicanalyzer.widgets.chart.DACustomChartSeries;
 import org.tizen.dynamicanalyzer.widgets.chart.DACustomChartSeriesItem;
 import org.tizen.dynamicanalyzer.widgets.chartBoard.DACustomChartBoardItem;
 
-public class ThreadPageData {
-       private ThreadPageDataManager manager;
+public class ThreadPageThreadData {
+       private ThreadPageThreadDataManager manager;
        private int tid;
        private String name;
        private String address;
-       private List<ThreadPageDataEvent> contents = new ArrayList<ThreadPageDataEvent>();
-       private List<ThreadPageDataEvent> contentsQueue = new ArrayList<ThreadPageDataEvent>();
+       private List<ThreadPageThreadDataEvent> contents = new ArrayList<ThreadPageThreadDataEvent>();
+       private List<ThreadPageThreadDataEvent> contentsQueue = new ArrayList<ThreadPageThreadDataEvent>();
        private DACustomChartBoardItem item;
        private DACustomChart chart;
        private DACustomChartSeries loadSeries;
        private DACustomChartSeries eventSeries;
        private DACustomChartSeries apiSeries;
 
-       public ThreadPageData(ThreadPageDataManager manager, String name, int tid,
-                       String address) {
+       public ThreadPageThreadData(ThreadPageThreadDataManager manager,
+                       String name, int tid, String address) {
                setManager(manager);
                setName(name);
                setTid(tid);
                setAddress(address);
        }
 
-       public ThreadPageDataManager getManager() {
+       public ThreadPageThreadDataManager getManager() {
                return manager;
        }
 
-       private void setManager(ThreadPageDataManager manager) {
+       private void setManager(ThreadPageThreadDataManager manager) {
                this.manager = manager;
        }
 
@@ -89,7 +89,7 @@ public class ThreadPageData {
                this.name = name;
        }
 
-       public void addDataEvent(ThreadPageDataEvent dataEvent) {
+       public void addDataEvent(ThreadPageThreadDataEvent dataEvent) {
                contentsQueue.add(dataEvent);
        }
 
@@ -107,12 +107,12 @@ public class ThreadPageData {
        }
 
        // private DACustomChartBoardItem
-       private int createChartItem(ThreadPageDataEvent event) {
+       private int createChartItem(ThreadPageThreadDataEvent event) {
                int ret = -1;
                DACustomChartSeriesItem seriesItem;
                switch (event.getEventType()) {
-               case ThreadPageDataEvent.TYPE_LOAD:
-                       ret = ThreadPageDataEvent.TYPE_LOAD;
+               case ThreadPageThreadDataEvent.TYPE_LOAD:
+                       ret = ThreadPageThreadDataEvent.TYPE_LOAD;
                        if (null == loadSeries) {
                                return ret;
                        }
@@ -122,8 +122,8 @@ public class ThreadPageData {
 
                        loadSeries.addSeriesItem(seriesItem);
                        break;
-               case ThreadPageDataEvent.TYPE_EVENT:
-                       ret = ThreadPageDataEvent.TYPE_EVENT;
+               case ThreadPageThreadDataEvent.TYPE_EVENT:
+                       ret = ThreadPageThreadDataEvent.TYPE_EVENT;
                        if (null == eventSeries) {
                                return ret;
                        }
@@ -154,8 +154,8 @@ public class ThreadPageData {
 
                        eventSeries.addSeriesItem(seriesItem);
                        break;
-               case ThreadPageDataEvent.TYPE_API:
-                       ret = ThreadPageDataEvent.TYPE_API;
+               case ThreadPageThreadDataEvent.TYPE_API:
+                       ret = ThreadPageThreadDataEvent.TYPE_API;
                        if (null == apiSeries) {
                                return ret;
                        }
@@ -182,8 +182,8 @@ public class ThreadPageData {
                int size = contentsQueue.size();
                if (size > 0) {
                        for (int i = 0; i < size; i++) {
-                               ThreadPageDataEvent event = contentsQueue.get(0);
-                               if (ThreadPageDataEvent.TYPE_API == createChartItem(event)) {
+                               ThreadPageThreadDataEvent event = contentsQueue.get(0);
+                               if (ThreadPageThreadDataEvent.TYPE_API == createChartItem(event)) {
                                        contents.add(event);
                                } else {
                                        // do nothing
@@ -202,11 +202,11 @@ public class ThreadPageData {
                this.chart = chart;
        }
 
-       protected void pushEvent(ThreadPageDataEvent event) {
+       protected void pushEvent(ThreadPageThreadDataEvent event) {
                contentsQueue.add(event);
        }
 
-       public List<ThreadPageDataEvent> getContents() {
+       public List<ThreadPageThreadDataEvent> getContents() {
                return contents;
        }
 }
@@ -30,11 +30,11 @@ import java.util.List;
 
 import org.tizen.dynamicanalyzer.widgets.chart.DACustomChartSeriesItem;
 
-public class ThreadPageDataEvent {
+public class ThreadPageThreadDataEvent {
        public static final int TYPE_API = 0;
        public static final int TYPE_EVENT = 1;
        public static final int TYPE_LOAD = 2;
-       private ThreadPageData data;
+       private ThreadPageThreadData data;
        private List<String> contents = new ArrayList<String>();
        private int eventType = -1;
        private int threadType = -1;
@@ -45,8 +45,8 @@ public class ThreadPageDataEvent {
        private String callID = null;
        private int callerTid = -1;
 
-       public ThreadPageDataEvent(ThreadPageDataManager manager, int eventType,
-                       int threadType, int apiType, double time, int tid,
+       public ThreadPageThreadDataEvent(ThreadPageThreadDataManager manager,
+                       int eventType, int threadType, int apiType, double time, int tid,
                        List<String> contents) {
                setEventType(eventType);
                setThreadType(threadType);
@@ -89,11 +89,11 @@ public class ThreadPageDataEvent {
                this.time = time;
        }
 
-       public ThreadPageData getData() {
+       public ThreadPageThreadData getData() {
                return data;
        }
 
-       public void setData(ThreadPageData data) {
+       public void setData(ThreadPageThreadData data) {
                this.data = data;
                data.pushEvent(this);
        }
@@ -47,37 +47,37 @@ import org.tizen.dynamicanalyzer.widgets.chart.DACustomChartSeries;
 import org.tizen.dynamicanalyzer.widgets.chartBoard.DACustomChartBoard;
 import org.tizen.dynamicanalyzer.widgets.chartBoard.DACustomChartBoardItem;
 
-public class ThreadPageDataManager {
+public class ThreadPageThreadDataManager {
        private DACustomChartBoard board;
        ThreadChartView view;
        private boolean isStart = false;
        private boolean hasUpdate = false;
-       private List<ThreadPageData> rows = new ArrayList<ThreadPageData>();
-       private List<ThreadPageData> rowsQueue = new ArrayList<ThreadPageData>();
-       private List<ThreadPageDataEvent> eventQueue = new ArrayList<ThreadPageDataEvent>();
-       private List<ThreadPageDataEvent> callEventQueue = new ArrayList<ThreadPageDataEvent>();
-       private List<ThreadPageDataEvent> calleeEventQueue = new ArrayList<ThreadPageDataEvent>();
+       private List<ThreadPageThreadData> rows = new ArrayList<ThreadPageThreadData>();
+       private List<ThreadPageThreadData> rowsQueue = new ArrayList<ThreadPageThreadData>();
+       private List<ThreadPageThreadDataEvent> eventQueue = new ArrayList<ThreadPageThreadDataEvent>();
+       private List<ThreadPageThreadDataEvent> callEventQueue = new ArrayList<ThreadPageThreadDataEvent>();
+       private List<ThreadPageThreadDataEvent> calleeEventQueue = new ArrayList<ThreadPageThreadDataEvent>();
 
-       protected void pushRow(ThreadPageData data) {
+       protected void pushRow(ThreadPageThreadData data) {
                rowsQueue.add(data);
                hasUpdate = true;
        }
 
-       protected void pushEvent(ThreadPageDataEvent event) {
+       protected void pushEvent(ThreadPageThreadDataEvent event) {
                eventQueue.add(event);
                hasUpdate = true;
        }
 
-       protected void pushCallEvent(ThreadPageDataEvent event) {
+       protected void pushCallEvent(ThreadPageThreadDataEvent event) {
                callEventQueue.add(event);
        }
 
-       protected ThreadPageDataManager(DACustomChartBoard board,
+       protected ThreadPageThreadDataManager(DACustomChartBoard board,
                        ThreadChartView view) {
                this.setBoard(board);
        }
 
-       private void createBoardItem(ThreadPageData data) {
+       private void createBoardItem(ThreadPageThreadData data) {
                DACustomChartBoardItem item = new DACustomChartBoardItem(board,
                                data.getName());
                DACustomChart chart = item.getChart();
@@ -88,21 +88,24 @@ public class ThreadPageDataManager {
                chart.setData(data);
                chart.redraw();
        }
-       
-       private void sendSelectionTimes(DACustomChart chart, double start, double end){
+
+       private void sendSelectionTimes(DACustomChart chart, double start,
+                       double end) {
                long startTime = (long) (start * TimelineConstants.MEGA);
                long endTime = (long) (end * TimelineConstants.MEGA);
-               if(endTime < startTime){
+               if (endTime < startTime) {
                        long temp = startTime;
                        startTime = endTime;
                        endTime = temp;
                }
-               if(startTime < 0){
+               if (startTime < 0) {
                        startTime = 0;
                }
-               AnalyzerManager.getCurrentPage().updatePage(new DASelectionData(ThreadChartView.ID, startTime, endTime, chart.getData(), chart));
+               AnalyzerManager.getCurrentPage().updatePage(
+                               new DASelectionData(ThreadChartView.ID, startTime, endTime,
+                                               chart.getData(), chart));
        }
-       
+
        private Listener chartMouseListener = new Listener() {
 
                @Override
@@ -113,21 +116,24 @@ public class ThreadPageDataManager {
                        switch (event.type) {
                        case SWT.MouseMove:
                                if ((event.stateMask & SWT.BUTTON1) != 0) {
-                                       board.getIntervalMarker().setEndVal(plot.getXFromXPixcel(event.x));
+                                       board.getIntervalMarker().setEndVal(
+                                                       plot.getXFromXPixcel(event.x));
                                }
                                break;
                        case SWT.MouseDown:
-                               board.getIntervalMarker().setInterval(plot.getXFromXPixcel(event.x), plot.getXFromXPixcel(event.x));
+                               board.getIntervalMarker().setInterval(
+                                               plot.getXFromXPixcel(event.x),
+                                               plot.getXFromXPixcel(event.x));
                                break;
                        case SWT.MouseUp:
                                double endVal = plot.getXFromXPixcel(event.x);
-                               if(endVal <= plot.getVisibleEndX()){
+                               if (endVal <= plot.getVisibleEndX()) {
                                        board.getIntervalMarker().setEndVal(endVal);
-                               }
-                               else{
+                               } else {
                                        board.getIntervalMarker().setEndVal(plot.getVisibleEndX());
                                }
-                               sendSelectionTimes(chart, board.getIntervalMarker().getStartVal(),board.getIntervalMarker().getEndVal());
+                               sendSelectionTimes(chart, board.getIntervalMarker()
+                                               .getStartVal(), board.getIntervalMarker().getEndVal());
                                break;
                        case SWT.MouseEnter:
                                break;
@@ -154,12 +160,12 @@ public class ThreadPageDataManager {
                plot.setAxisRangeY(0, 101);
                plot.setAxisRangeX(board.getVisibleStartTime(),
                                board.getVisibleEndTime());
-//             plot.setIntervalMarker(board.getIntervalMarker());
-//             chart.addListener(SWT.MouseMove, chartMouseListener);
-//             chart.addListener(SWT.MouseDown, chartMouseListener);
-//             chart.addListener(SWT.MouseUp, chartMouseListener);
-//             chart.addListener(SWT.MouseEnter, chartMouseListener);
-//             chart.addListener(SWT.MouseExit, chartMouseListener);
+               // plot.setIntervalMarker(board.getIntervalMarker());
+               // chart.addListener(SWT.MouseMove, chartMouseListener);
+               // chart.addListener(SWT.MouseDown, chartMouseListener);
+               // chart.addListener(SWT.MouseUp, chartMouseListener);
+               // chart.addListener(SWT.MouseEnter, chartMouseListener);
+               // chart.addListener(SWT.MouseExit, chartMouseListener);
        }
 
        private void setChartSeries(DACustomChart chart) {
@@ -196,11 +202,12 @@ public class ThreadPageDataManager {
                }
                long startTime = 0;
 
-               ThreadPageData mainData = new ThreadPageData(this, String.valueOf(tid)
-                               + ThreadPageLabels.THREAD_ITEM_TYPE_MAIN, tid, null);
+               ThreadPageThreadData mainData = new ThreadPageThreadData(this,
+                               String.valueOf(tid) + ThreadPageLabels.THREAD_ITEM_TYPE_MAIN,
+                               tid, null);
                pushRow(mainData);
-               ThreadPageDataEvent mainEvent = new ThreadPageDataEvent(this,
-                               ThreadPageDataEvent.TYPE_EVENT,
+               ThreadPageThreadDataEvent mainEvent = new ThreadPageThreadDataEvent(
+                               this, ThreadPageThreadDataEvent.TYPE_EVENT,
                                LogCenterConstants.THREAD_TYPE_MAIN,
                                LogCenterConstants.THREAD_API_TYPE_START, startTime, tid, null);
                pushEvent(mainEvent);
@@ -238,24 +245,25 @@ public class ThreadPageDataManager {
                        String[] temp = loads.split(",");
                        int tempSize = temp.length;
                        double time;
-                       for(int j=0; j+1 < tempSize; j+=2){
-                               try{
-                               tid = Integer.parseInt(temp[j]);
-                               } catch(NumberFormatException nfe){
+                       for (int j = 0; j + 1 < tempSize; j += 2) {
+                               try {
+                                       tid = Integer.parseInt(temp[j]);
+                               } catch (NumberFormatException nfe) {
                                        System.out.println("error : parseLoad - tid parsing");
                                        break;
                                }
-                               if(null == findParentData(tid)){
+                               if (null == findParentData(tid)) {
                                        continue;
                                }
-                               
-                               load = (int) (Double.parseDouble(temp[j+1]) * 2.55);
+
+                               load = (int) (Double.parseDouble(temp[j + 1]) * 2.55);
                                time = Double.parseDouble(input
                                                .get(LogCenterConstants.DEVICE_TIME_INDEX))
                                                / TimelineConstants.MEGA;
-                               
-                               ThreadPageDataEvent event = new ThreadPageDataEvent(this,
-                                               ThreadPageDataEvent.TYPE_LOAD, load, -1, time, tid, null);
+
+                               ThreadPageThreadDataEvent event = new ThreadPageThreadDataEvent(
+                                               this, ThreadPageThreadDataEvent.TYPE_LOAD, load, -1,
+                                               time, tid, null);
                                pushEvent(event);
                        }
                }
@@ -268,20 +276,22 @@ public class ThreadPageDataManager {
                                .get(LogCenterConstants.THREAD_ID_INDEX));
                int apiType = Integer.parseInt(input
                                .get(LogCenterConstants.THREAD_API_TYPE_INDEX));
-               ThreadPageDataEvent event;
+               ThreadPageThreadDataEvent event;
                switch (apiType) {
                case LogCenterConstants.THREAD_API_TYPE_NEW:
                case LogCenterConstants.THREAD_API_TYPE_STOP:
                case LogCenterConstants.THREAD_API_TYPE_EXIT:
                case LogCenterConstants.THREAD_API_TYPE_WAIT_START:
                case LogCenterConstants.THREAD_API_TYPE_OTHER:
-                       event = new ThreadPageDataEvent(this, ThreadPageDataEvent.TYPE_API,
+                       event = new ThreadPageThreadDataEvent(this,
+                                       ThreadPageThreadDataEvent.TYPE_API,
                                        LogCenterConstants.THREAD_TYPE_PTHREAD, apiType, time, tid,
                                        input);
                        pushEvent(event);
                        break;
                case LogCenterConstants.THREAD_API_TYPE_START:
-                       event = new ThreadPageDataEvent(this, ThreadPageDataEvent.TYPE_API,
+                       event = new ThreadPageThreadDataEvent(this,
+                                       ThreadPageThreadDataEvent.TYPE_API,
                                        LogCenterConstants.THREAD_TYPE_PTHREAD, apiType, time, tid,
                                        input);
                        event.setCallID(input
@@ -290,14 +300,14 @@ public class ThreadPageDataManager {
                        pushCallEvent(event);
                        break;
                case LogCenterConstants.THREAD_API_TYPE_WAIT_END:
-                       event = new ThreadPageDataEvent(this,
-                                       ThreadPageDataEvent.TYPE_EVENT,
+                       event = new ThreadPageThreadDataEvent(this,
+                                       ThreadPageThreadDataEvent.TYPE_EVENT,
                                        LogCenterConstants.THREAD_TYPE_PTHREAD, apiType, time, tid,
                                        input);
                        pushEvent(event);
                case LogCenterConstants.THREAD_API_TYPE_INTERNAL_STOP:
-                       event = new ThreadPageDataEvent(this,
-                                       ThreadPageDataEvent.TYPE_EVENT,
+                       event = new ThreadPageThreadDataEvent(this,
+                                       ThreadPageThreadDataEvent.TYPE_EVENT,
                                        LogCenterConstants.THREAD_TYPE_PTHREAD, apiType, time, tid,
                                        input);
                        event.setCallID(input
@@ -308,13 +318,16 @@ public class ThreadPageDataManager {
                case LogCenterConstants.THREAD_API_TYPE_INTERNAL_START:
                        String address = input
                                        .get(LogCenterConstants.THREAD_PTHREAD_ID_INDEX);
-                       ThreadPageData data = new ThreadPageData(this, String.valueOf(tid)
-                                       + ThreadPageLabels.THREAD_ITEM_TYPE_PTHREAD, tid, address);
+                       ThreadPageThreadData data = new ThreadPageThreadData(this,
+                                       String.valueOf(tid)
+                                                       + ThreadPageLabels.THREAD_ITEM_TYPE_PTHREAD, tid,
+                                       address);
                        pushRow(data);
-                        event = new ThreadPageDataEvent(this,
-                        ThreadPageDataEvent.TYPE_EVENT, LogCenterConstants.THREAD_TYPE_PTHREAD, apiType, time,
-                        tid, input);
-                        pushEvent(event);
+                       event = new ThreadPageThreadDataEvent(this,
+                                       ThreadPageThreadDataEvent.TYPE_EVENT,
+                                       LogCenterConstants.THREAD_TYPE_PTHREAD, apiType, time, tid,
+                                       input);
+                       pushEvent(event);
                        break;
                default:
                        System.out.println("thread page err: unknown thread api type");
@@ -328,20 +341,22 @@ public class ThreadPageDataManager {
                                .get(LogCenterConstants.THREAD_ID_INDEX));
                int apiType = Integer.parseInt(input
                                .get(LogCenterConstants.THREAD_API_TYPE_INDEX));
-               ThreadPageDataEvent event;
+               ThreadPageThreadDataEvent event;
                switch (apiType) {
                case LogCenterConstants.THREAD_API_TYPE_NEW:
                case LogCenterConstants.THREAD_API_TYPE_STOP:
                case LogCenterConstants.THREAD_API_TYPE_EXIT:
                case LogCenterConstants.THREAD_API_TYPE_WAIT_START:
                case LogCenterConstants.THREAD_API_TYPE_OTHER:
-                       event = new ThreadPageDataEvent(this, ThreadPageDataEvent.TYPE_API,
+                       event = new ThreadPageThreadDataEvent(this,
+                                       ThreadPageThreadDataEvent.TYPE_API,
                                        LogCenterConstants.THREAD_TYPE_OSP, apiType, time, tid,
                                        input);
                        pushEvent(event);
                        break;
                case LogCenterConstants.THREAD_API_TYPE_START:
-                       event = new ThreadPageDataEvent(this, ThreadPageDataEvent.TYPE_API,
+                       event = new ThreadPageThreadDataEvent(this,
+                                       ThreadPageThreadDataEvent.TYPE_API,
                                        LogCenterConstants.THREAD_TYPE_OSP, apiType, time, tid,
                                        input);
                        event.setCallID(input
@@ -350,15 +365,15 @@ public class ThreadPageDataManager {
                        pushCallEvent(event);
                        break;
                case LogCenterConstants.THREAD_API_TYPE_WAIT_END:
-                       event = new ThreadPageDataEvent(this,
-                                       ThreadPageDataEvent.TYPE_EVENT,
+                       event = new ThreadPageThreadDataEvent(this,
+                                       ThreadPageThreadDataEvent.TYPE_EVENT,
                                        LogCenterConstants.THREAD_TYPE_OSP, apiType, time, tid,
                                        input);
                        pushEvent(event);
                        break;
                case LogCenterConstants.THREAD_API_TYPE_INTERNAL_STOP:
-                       event = new ThreadPageDataEvent(this,
-                                       ThreadPageDataEvent.TYPE_EVENT,
+                       event = new ThreadPageThreadDataEvent(this,
+                                       ThreadPageThreadDataEvent.TYPE_EVENT,
                                        LogCenterConstants.THREAD_TYPE_OSP, apiType, time, tid,
                                        input);
                        event.setCallID(input
@@ -369,11 +384,13 @@ public class ThreadPageDataManager {
                case LogCenterConstants.THREAD_API_TYPE_INTERNAL_START:
                        String address = input
                                        .get(LogCenterConstants.THREAD_PTHREAD_ID_INDEX);
-                       ThreadPageData data = new ThreadPageData(this, String.valueOf(tid)
-                                       + ThreadPageLabels.THREAD_ITEM_TYPE_OSP, tid, address);
+                       ThreadPageThreadData data = new ThreadPageThreadData(
+                                       this,
+                                       String.valueOf(tid) + ThreadPageLabels.THREAD_ITEM_TYPE_OSP,
+                                       tid, address);
                        pushRow(data);
-                       event = new ThreadPageDataEvent(this,
-                                       ThreadPageDataEvent.TYPE_EVENT,
+                       event = new ThreadPageThreadDataEvent(this,
+                                       ThreadPageThreadDataEvent.TYPE_EVENT,
                                        LogCenterConstants.THREAD_TYPE_OSP, apiType, time, tid,
                                        input);
                        pushEvent(event);
@@ -393,7 +410,7 @@ public class ThreadPageDataManager {
                List<String> input;
                for (int i = 0; i < size; i++) {
                        input = inputs.get(i);
-//                      System.out.println("input : " + input);
+                       // System.out.println("input : " + input);
                        int threadType = Integer.parseInt(input
                                        .get(LogCenterConstants.THREAD_TYPE_INDEX));
 
@@ -425,15 +442,15 @@ public class ThreadPageDataManager {
                this.board = board;
        }
 
-       private boolean checkPairEvent(ThreadPageDataEvent event) {
-               if (event.getEventType() != ThreadPageDataEvent.TYPE_EVENT) {
+       private boolean checkPairEvent(ThreadPageThreadDataEvent event) {
+               if (event.getEventType() != ThreadPageThreadDataEvent.TYPE_EVENT) {
                        return true;
                }
                int apiType = event.getApiType();
                int threadType = event.getThreadType();
                if (LogCenterConstants.THREAD_API_TYPE_INTERNAL_START == apiType) {
                        int callEventQueueSize = callEventQueue.size();
-                       ThreadPageDataEvent callEvent;
+                       ThreadPageThreadDataEvent callEvent;
                        for (int i = 0; i < callEventQueueSize; i++) {
                                callEvent = callEventQueue.get(i);
                                if (callEvent.getApiType() != LogCenterConstants.THREAD_API_TYPE_START) {
@@ -471,7 +488,7 @@ public class ThreadPageDataManager {
                        }
 
                        int callEventQueueSize = callEventQueue.size();
-                       ThreadPageDataEvent callEvent;
+                       ThreadPageThreadDataEvent callEvent;
                        for (int i = 0; i < callEventQueueSize; i++) {
                                callEvent = callEventQueue.get(i);
                                if (callEvent.getApiType() != LogCenterConstants.THREAD_API_TYPE_INTERNAL_STOP) {
@@ -520,9 +537,9 @@ public class ThreadPageDataManager {
                }
        }
 
-       private ThreadPageData findParentData(int tid) {
+       private ThreadPageThreadData findParentData(int tid) {
                int size = rows.size();
-               ThreadPageData ret;
+               ThreadPageThreadData ret;
                for (int i = 0; i < size; i++) {
                        ret = rows.get(i);
                        if (ret.getTid() == tid) {
@@ -541,7 +558,7 @@ public class ThreadPageDataManager {
                int size = rowsQueue.size();
                if (size > 0) {
                        for (int i = 0; i < size; i++) {
-                               ThreadPageData data = rowsQueue.get(0);
+                               ThreadPageThreadData data = rowsQueue.get(0);
                                createBoardItem(data);
                                rows.add(data);
                                rowsQueue.remove(0);
@@ -549,8 +566,8 @@ public class ThreadPageDataManager {
                }
                size = eventQueue.size();
                if (size > 0) {
-                       ThreadPageData data;
-                       ThreadPageDataEvent event;
+                       ThreadPageThreadData data;
+                       ThreadPageThreadDataEvent event;
                        int remainCalleeEventCount = 0;
                        for (int i = 0; i < size; i++) {
                                event = eventQueue.get(remainCalleeEventCount);
@@ -567,7 +584,7 @@ public class ThreadPageDataManager {
                }
                size = rows.size();
                if (size > 0) {
-                       ThreadPageData data;
+                       ThreadPageThreadData data;
                        for (int i = 0; i < size; i++) {
                                data = rows.get(i);
                                data.checkUpdate();