check for TaskWithSubtasks (EDU-882)

This commit is contained in:
Liana.Bakradze
2017-04-18 17:11:17 +03:00
parent 7f140d2533
commit a94a7be0fa
2 changed files with 25 additions and 1 deletions
@@ -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<TaskWithSubtasks> {
private StudyTaskChecker<PyCharmTask> 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
@@ -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;