From a94a7be0faed0b400c7a343424f00227165d17d1 Mon Sep 17 00:00:00 2001 From: "Liana.Bakradze" Date: Fri, 14 Apr 2017 14:16:17 +0300 Subject: [PATCH] check for TaskWithSubtasks (EDU-882) --- .../checker/TaskWithSubtasksChecker.java | 24 +++++++++++++++++++ .../courseFormat/tasks/TaskWithSubtasks.java | 2 +- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/python/educational-core/src/com/jetbrains/edu/learning/checker/TaskWithSubtasksChecker.java b/python/educational-core/src/com/jetbrains/edu/learning/checker/TaskWithSubtasksChecker.java index f18b15fe2eff..42242c7bc06d 100644 --- a/python/educational-core/src/com/jetbrains/edu/learning/checker/TaskWithSubtasksChecker.java +++ b/python/educational-core/src/com/jetbrains/edu/learning/checker/TaskWithSubtasksChecker.java @@ -7,19 +7,43 @@ import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.MessageType; import com.intellij.openapi.util.TextRange; import com.intellij.openapi.vfs.VirtualFile; +import com.jetbrains.edu.learning.EduPluginConfigurator; import com.jetbrains.edu.learning.StudySubtaskUtils; import com.jetbrains.edu.learning.core.EduNames; import com.jetbrains.edu.learning.courseFormat.AnswerPlaceholder; import com.jetbrains.edu.learning.courseFormat.TaskFile; +import com.jetbrains.edu.learning.courseFormat.tasks.PyCharmTask; import com.jetbrains.edu.learning.courseFormat.tasks.TaskWithSubtasks; +import com.jetbrains.edu.learning.stepic.StepicUser; import org.jetbrains.annotations.NotNull; import java.util.Map; public class TaskWithSubtasksChecker extends StudyTaskChecker { + private StudyTaskChecker myPyCharmTaskChecker; public TaskWithSubtasksChecker(@NotNull TaskWithSubtasks task, @NotNull Project project) { super(task, project); + EduPluginConfigurator configurator = EduPluginConfigurator.INSTANCE.forLanguage(myTask.getLesson().getCourse().getLanguageById()); + if (configurator != null) { + myPyCharmTaskChecker = configurator.getPyCharmTaskChecker(task, project); + } + } + + @Override + public StudyCheckResult check() { + if (myPyCharmTaskChecker != null) { + return myPyCharmTaskChecker.check(); + } + return super.check(); + } + + @Override + public StudyCheckResult checkOnRemote(@NotNull StepicUser user) { + if (myPyCharmTaskChecker != null) { + return myPyCharmTaskChecker.checkOnRemote(user); + } + return super.checkOnRemote(user); } @Override diff --git a/python/educational-core/src/com/jetbrains/edu/learning/courseFormat/tasks/TaskWithSubtasks.java b/python/educational-core/src/com/jetbrains/edu/learning/courseFormat/tasks/TaskWithSubtasks.java index 6146fb3e9df7..ab3eca2bd5be 100644 --- a/python/educational-core/src/com/jetbrains/edu/learning/courseFormat/tasks/TaskWithSubtasks.java +++ b/python/educational-core/src/com/jetbrains/edu/learning/courseFormat/tasks/TaskWithSubtasks.java @@ -10,7 +10,7 @@ import com.jetbrains.edu.learning.courseFormat.StudyStatus; import com.jetbrains.edu.learning.courseFormat.TaskFile; import org.jetbrains.annotations.NotNull; -public class TaskWithSubtasks extends Task { +public class TaskWithSubtasks extends PyCharmTask { private int myActiveSubtaskIndex = 0; @SerializedName("last_subtask_index") @Expose private int myLastSubtaskIndex = 0;