From 1ed16d75d3d56965e146f29cb8e5dc0fa8e1930d Mon Sep 17 00:00:00 2001 From: Valentina Kiryushkina Date: Mon, 19 Dec 2016 12:49:27 +0300 Subject: [PATCH] Do not save empty choice parameters for non-choice tasks --- .../com/jetbrains/edu/learning/courseFormat/Task.java | 10 ++++++++-- .../learning/stepic/EduAdaptiveStepicConnector.java | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/python/educational-core/student/src/com/jetbrains/edu/learning/courseFormat/Task.java b/python/educational-core/student/src/com/jetbrains/edu/learning/courseFormat/Task.java index e525e3e604f5..6cd8083dcecd 100644 --- a/python/educational-core/student/src/com/jetbrains/edu/learning/courseFormat/Task.java +++ b/python/educational-core/student/src/com/jetbrains/edu/learning/courseFormat/Task.java @@ -44,7 +44,7 @@ public class Task implements StudyItem { @Transient private Lesson myLesson; @Expose @SerializedName("update_date") private Date myUpdateDate; - @Expose @SerializedName("choice_parameters") private ChoiceParameters myChoiceParameters = new ChoiceParameters(); + @Expose @SerializedName("choice_parameters") private ChoiceParameters myChoiceParameters; private int myActiveSubtaskIndex = 0; @SerializedName("last_subtask_index") @Expose private int myLastSubtaskIndex = 0; @@ -54,6 +54,12 @@ public class Task implements StudyItem { public Task(@NotNull final String name) { this.name = name; } + + public static Task createChoiceTask(@NotNull String name) { + final Task task = new Task(name); + task.setChoiceParameters(new ChoiceParameters()); + return task; + } /** * Initializes state of task file @@ -326,7 +332,7 @@ public class Task implements StudyItem { } public boolean isChoiceTask() { - return !myChoiceParameters.getChoiceVariants().isEmpty(); + return myChoiceParameters != null; } // used for serialization diff --git a/python/educational-core/student/src/com/jetbrains/edu/learning/stepic/EduAdaptiveStepicConnector.java b/python/educational-core/student/src/com/jetbrains/edu/learning/stepic/EduAdaptiveStepicConnector.java index ef9e9e156ab1..76f3e388b7ac 100644 --- a/python/educational-core/student/src/com/jetbrains/edu/learning/stepic/EduAdaptiveStepicConnector.java +++ b/python/educational-core/student/src/com/jetbrains/edu/learning/stepic/EduAdaptiveStepicConnector.java @@ -156,7 +156,7 @@ public class EduAdaptiveStepicConnector { @NotNull String lessonName, @NotNull StepicWrappers.Step block, int stepId) { - final Task task = new Task(lessonName); + final Task task = Task.createChoiceTask(lessonName); task.setStepId(stepId); task.setText(block.text);