Execute study after check action not only for solved tasks

This commit is contained in:
Valentina Kiryushkina
2016-03-15 19:41:52 +03:00
parent 0317228526
commit 89d832b910
2 changed files with 6 additions and 6 deletions
@@ -1,10 +1,10 @@
package com.jetbrains.edu.learning.actions;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.project.Project;
import com.jetbrains.edu.courseFormat.StudyStatus;
import com.jetbrains.edu.courseFormat.Task;
import org.jetbrains.annotations.NotNull;
public abstract class StudyAfterCheckAction extends AnAction {
public abstract void run(@NotNull final Project project, @NotNull final Task solvedTask);
public abstract class StudyAfterCheckAction {
public abstract void run(@NotNull final Project project, @NotNull final Task solvedTask, StudyStatus statusBeforeCheck);
}
@@ -100,6 +100,7 @@ public class StudyCheckTask extends com.intellij.openapi.progress.Task.Backgroun
else {
onTaskFailed(testsOutput);
}
runAfterTaskSolvedActions();
}
protected void onTaskFailed(StudyTestsOutputParser.TestsOutput testsOutput) {
@@ -112,16 +113,15 @@ public class StudyCheckTask extends com.intellij.openapi.progress.Task.Backgroun
myTaskManger.setStatus(myTask, StudyStatus.Solved);
ApplicationManager.getApplication().invokeLater(
() -> StudyCheckUtils.showTestResultPopUp(testsOutput.getMessage(), MessageType.INFO.getPopupBackground(), myProject));
runAfterTaskActions();
}
private void runAfterTaskActions() {
private void runAfterTaskSolvedActions() {
StudyPluginConfigurator configurator = StudyUtils.getConfigurator(myProject);
if (configurator != null) {
StudyAfterCheckAction[] checkActions = configurator.getAfterCheckActions();
if (checkActions != null) {
for (StudyAfterCheckAction action: checkActions) {
action.run(myProject, myTask);
action.run(myProject, myTask, myStatusBeforeCheck);
}
}
}