From: seokgil.kang Date: Tue, 13 Jan 2015 05:19:18 +0000 (+0900) Subject: Merge branch 'tizen' into da-leak X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F31%2F33531%2F1;p=sdk%2Ftools%2Fdynamic-analyzer.git Merge branch 'tizen' into da-leak Conflicts: org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/leaks/LeakDataMaker.java org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/leaks/LeakDetector.java org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/leaks/LeakTable.java org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/leaks/LeakView.java org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/leaks/NewLeakDetector.java Change-Id: I0950bad4723be3dcd087de2570eb71a37a78a143 Signed-off-by: seokgil.kang --- 7df7b331b4fa2e59357ecba3e3d6f3b7573ccde4 diff --cc org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/leaks/LeakDataMaker.java index 671f14a,c3c0bc3..798ec0e --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/leaks/LeakDataMaker.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/leaks/LeakDataMaker.java @@@ -39,10 -38,8 +38,9 @@@ import org.tizen.dynamicanalyzer.common import org.tizen.dynamicanalyzer.database.DBInserter; import org.tizen.dynamicanalyzer.database.DBTable; import org.tizen.dynamicanalyzer.database.IResultSet; +import org.tizen.dynamicanalyzer.database.SqlConnectionManager; import org.tizen.dynamicanalyzer.logparser.LogCenterConstants; import org.tizen.dynamicanalyzer.swap.channel.data.DataChannelConstants; - import org.tizen.dynamicanalyzer.swap.model.data.FileData; import org.tizen.dynamicanalyzer.swap.model.data.LogData; import org.tizen.dynamicanalyzer.swap.model.data.MemoryData; import org.tizen.dynamicanalyzer.ui.summary.SummaryDataManager; diff --cc org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/leaks/LeakTable.java index aa49b17,0d79849..a9fb850 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/leaks/LeakTable.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/leaks/LeakTable.java @@@ -113,34 -156,45 +112,34 @@@ public class LeakTable extends DATreeCo @Override public List makeTreeInput() { List output = new ArrayList(); - Map leaks = null; - List> leakDataList = null; - // TODO : make hashkey (LogData.getKey() --> combination of pid and - // address) + List selectedPids = new ArrayList(); // for multiple processes selection + selectedPids.add(Integer.valueOf(ToolbarArea.getInstance().getSelectedPid())); - ++ if (isRange) { - leakDataList = SummaryDataManager.getInstance().getLeakDataMaker() - .getLeakDataForRange(); + // Grouping - user direct allocation + HashMap> rangeGroupData = RangeDataManager.getInstance() + .getSelectedRangeGroupDataHashMap(selectedPids); + if (rangeGroupData == null || rangeGroupData.size() < 1) + return output; + + for (Map.Entry> entry : rangeGroupData.entrySet()) { + output.addAll(makeTreeInputForRangeGroupData(entry.getKey().intValue(), + entry.getValue())); + } + + // TODO : Internal allocation } else { - leaks = AnalyzerManager.getNewLeakDetector().getLeakHash(); + // Grouping - user direct allocation + HashMap leaks = AnalyzerManager.getLeakDetector() + .getSelectedLeakDataBundleHashMap(selectedPids); if (leaks == null || leaks.size() < 1) return output; - ArrayList leakList = new ArrayList(); - leakList.addAll(leaks.values()); - List leakSeqNumList = new ArrayList(); - for (int i = 0; i < leakList.size(); i++) - leakSeqNumList.add(leakList.get(i).getSequenceNumber()); - - leakDataList = SummaryDataManager.getInstance().getLeakDataMaker() - .getLeakDataWithSeq(leakSeqNumList); - } - if (leakDataList == null) - return output; - // TODO : it is necessary to consider when choosing a multi-processes. - int selectedPid = ToolbarArea.getInstance().getSelectedPid(); - int size = leakDataList.size(); - for (int i = 0; i < size; i++) { - List iLeakData = leakDataList.get(i); - int pid = (Integer) iLeakData.get(MemoryAllocationDataDBTable.COLUMN.PROCESS_ID.index); - if (selectedPid != 0) { - if (selectedPid != pid) { - continue; - } - } - - TreeInput leakInput = makeTreeInputForLeakData(iLeakData, i); - if (leakInput != null){ - output.add(leakInput); + for (Map.Entry entry : leaks.entrySet()) { + output.addAll(makeTreeInputForGroupData(entry.getKey().intValue(), entry.getValue())); } + + // TODO : Internal allocation } return output;