Skip to content

Commit a32426f

Browse files
committed
Add logging of refactoring when JPanel with them is removed.
1 parent 035d3b8 commit a32426f

File tree

2 files changed

+29
-2
lines changed

2 files changed

+29
-2
lines changed

src/main/java/org/jetbrains/research/groups/ml_methods/ui/ClassRefactoringPanel.java

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,17 @@ public void excludeFieldRefactorings(boolean isDisabled) {
9494
refreshTable();
9595
}
9696

97+
public void onClose() {
98+
final Set<MoveToClassRefactoring> selectableRefactorings =
99+
model.pullSelectable().stream().map(CalculatedRefactoring::getRefactoring).collect(Collectors.toSet());
100+
101+
sendLog(
102+
selectableRefactorings.stream().map(refactoringFeatures::get).collect(Collectors.toList()),
103+
Collections.emptyList(),
104+
Collections.emptyList()
105+
);
106+
}
107+
97108
private void refreshTable() {
98109
model.filter(getCurrentPredicate(thresholdSlider.getValue()));
99110
infoLabel.setText("Total: " + model.getRowCount());
@@ -192,17 +203,30 @@ private void refactorSelected() {
192203
Set<MoveToClassRefactoring> rejectedRefactorings = new HashSet<>(selectedRefactorings);
193204
rejectedRefactorings.removeAll(appliedRefactorings);
194205

195-
RefactoringSessionInfo info = new RefactoringSessionInfo(
206+
sendLog(
196207
uncheckedRefactorings.stream().map(refactoringFeatures::get).collect(Collectors.toList()),
197208
rejectedRefactorings.stream().map(refactoringFeatures::get).collect(Collectors.toList()),
198209
appliedRefactorings.stream().map(refactoringFeatures::get).collect(Collectors.toList())
199210
);
200-
ClassRefactoringPanel.reporter.log(uuid, info);
201211

202212
table.setEnabled(true);
203213
selectAllButton.setEnabled(true);
204214
}
205215

216+
private void sendLog(
217+
final @NotNull List<RefactoringFeatures> uncheckedRefactoringsFeatures,
218+
final @NotNull List<RefactoringFeatures> rejectedRefactoringsFeatures,
219+
final @NotNull List<RefactoringFeatures> appliedRefactoringsFeatures
220+
) {
221+
RefactoringSessionInfo info = new RefactoringSessionInfo(
222+
uncheckedRefactoringsFeatures,
223+
rejectedRefactoringsFeatures,
224+
appliedRefactoringsFeatures
225+
);
226+
227+
ClassRefactoringPanel.reporter.log(uuid, info);
228+
}
229+
206230
private void export() {
207231
final JFileChooser fileChooser = new JFileChooser();
208232
fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);

src/main/java/org/jetbrains/research/groups/ml_methods/ui/RefactoringsToolWindow.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ public void show(
9191
this.entitiesStorage = entitiesStorage;
9292
this.metricsRun = metricsRun;
9393

94+
contents.forEach(ClassRefactoringPanel::onClose);
9495
myToolWindow.getContentManager().removeAllContents(true);
9596
contents.clear();
9697
myToolWindow.setAvailable(false, null);
@@ -105,6 +106,8 @@ public void show(
105106

106107
@Override
107108
public void dispose() {
109+
contents.forEach(ClassRefactoringPanel::onClose);
110+
108111
final ToolWindowManager toolWindowManager = ToolWindowManager.getInstance(project);
109112
toolWindowManager.unregisterToolWindow(WINDOW_ID);
110113
results = null;

0 commit comments

Comments
 (0)