Files
VisualSapfor/src/_VisualDVM/Passes/All/SPF_GetFileLineInfo.java

73 lines
2.6 KiB
Java
Raw Normal View History

2024-10-14 12:14:01 +03:00
package _VisualDVM.Passes.All;
2024-10-11 00:00:30 +03:00
import Common.Utils.Utils_;
import _VisualDVM.Global;
2024-10-14 12:14:01 +03:00
import _VisualDVM.Passes.Sapfor.SapforAnalysis;
2024-10-14 15:19:13 +03:00
import _VisualDVM.ProjectData.Files.DBProjectFile;
2025-04-16 14:45:34 +03:00
import _VisualDVM.ProjectData.SapforData.LineInfo.FileMetrics;
import _VisualDVM.ProjectData.SapforData.LineInfo.MetricsJson;
2023-09-17 22:13:42 +03:00
public class SPF_GetFileLineInfo extends SapforAnalysis {
@Override
public String phase() {
return "FILE_LINE_INFO";
}
@Override
public void performPreparation() throws Exception {
super.performPreparation(); //удаление интеррупта.
target.numLines = 0;
target.numSPF = 0;
target.numDVM = 0;
}
@Override
protected void showPreparation() throws Exception {
Global.mainModule.getUI().getMainWindow().getProjectWindow().getAnalysisWindow().ShowNoMetrics();
2023-09-17 22:13:42 +03:00
}
@Override
protected void unpack(String packed) throws Exception {
//----------------------------------------
String[] data_ = packed.split("@");
DBProjectFile file_ = null;
for (int i = 0; i < data_.length; ++i) {
String s = data_[i];
if (i % 2 == 0) {
file_ = target.db.files.Data.get(Utils_.toW(s));
} else {
String[] local = s.split("_");
int num = Integer.parseInt(local[0]);
target.numSPF += Integer.parseInt(local[1]);
target.numDVM += Integer.parseInt(local[2]);
if (file_ != null)
file_.lines_count = num;
target.numLines += num;
}
}
/*
2025-04-16 14:45:34 +03:00
MetricsJson metricsJson = Utils_.gson.fromJson(packed, MetricsJson.class);
for (FileMetrics fileMetrics : metricsJson.allMetrics) {
fileMetrics.file = Utils_.toW(fileMetrics.file);
//--
DBProjectFile file = target.db.files.Data.get(fileMetrics.file);
file.lines_count = fileMetrics.linesCount;
//--
target.numLines += fileMetrics.linesCount;
2025-04-16 14:45:34 +03:00
target.numSPF += fileMetrics.numSPF;
target.numDVM += fileMetrics.numDVM;
//--
2023-09-17 22:13:42 +03:00
}
target.UpdateDVMCount();
target.UpdateSPFCount();
target.UpdateLinesCount();
*/
2023-09-17 22:13:42 +03:00
}
@Override
protected void showDone() throws Exception {
Global.mainModule.getUI().getMainWindow().getProjectWindow().getAnalysisWindow().ShowMetrics();
2023-09-17 22:13:42 +03:00
super.showDone();
}
@Override
protected void FocusResult() {
super.FocusResult();
Global.mainModule.getUI().getMainWindow().getProjectWindow().FocusAnalysis();
2023-09-17 22:13:42 +03:00
}
}