Merge branch 'tizen' into da-leak 31/33531/1
authorseokgil.kang <seokgil.kang@samsung.com>
Tue, 13 Jan 2015 05:19:18 +0000 (14:19 +0900)
committerseokgil.kang <seokgil.kang@samsung.com>
Tue, 13 Jan 2015 05:19:18 +0000 (14:19 +0900)
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 <seokgil.kang@samsung.com>
1  2 
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/common/AnalyzerManager.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/nl/SummaryLabels.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/nl/SummaryLabels.properties
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/leaks/LeakDataMaker.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/leaks/LeakTable.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;
@@@ -113,34 -156,45 +112,34 @@@ public class LeakTable extends DATreeCo
        @Override
        public List<TreeInput> makeTreeInput() {
                List<TreeInput> output = new ArrayList<TreeInput>();
 -              Map<Integer, CurrentLeakData> leaks = null;
 -              List<List<Object>> leakDataList = null;
 -              // TODO : make hashkey (LogData.getKey() --> combination of pid and
 -              // address)
 +              List<Integer> selectedPids = new ArrayList<Integer>();  // for multiple processes selection
 +              selectedPids.add(Integer.valueOf(ToolbarArea.getInstance().getSelectedPid()));
-               
++
                if (isRange) {
 -                      leakDataList = SummaryDataManager.getInstance().getLeakDataMaker()
 -                                      .getLeakDataForRange();
 +                      // Grouping - user direct allocation
 +                      HashMap<Integer, List<GroupLeakData>> rangeGroupData = RangeDataManager.getInstance()
 +                                      .getSelectedRangeGroupDataHashMap(selectedPids);
 +                      if (rangeGroupData == null || rangeGroupData.size() < 1)
 +                              return output;
 +                      
 +                      for (Map.Entry<Integer, List<GroupLeakData>> entry : rangeGroupData.entrySet()) {
 +                              output.addAll(makeTreeInputForRangeGroupData(entry.getKey().intValue(),
 +                                              entry.getValue()));
 +                      }
 +                      
 +                      // TODO : Internal allocation
                } else {
 -                      leaks = AnalyzerManager.getNewLeakDetector().getLeakHash();
 +                      // Grouping - user direct allocation
 +                      HashMap<Integer, LeakDataBundle> leaks = AnalyzerManager.getLeakDetector()
 +                                      .getSelectedLeakDataBundleHashMap(selectedPids);
                        if (leaks == null || leaks.size() < 1)
                                return output;
 -                      ArrayList<CurrentLeakData> leakList = new ArrayList<CurrentLeakData>();
 -                      leakList.addAll(leaks.values());
 -                      List<Long> leakSeqNumList = new ArrayList<Long>();
 -                      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<Object> 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<Integer, LeakDataBundle> entry : leaks.entrySet()) {
 +                              output.addAll(makeTreeInputForGroupData(entry.getKey().intValue(), entry.getValue()));
                        }
 +                      
 +                      // TODO : Internal allocation
                }
                
                return output;