final int length = src.getLength();
final int start = src.getOffset();
final String possibleAnswer = src.getPossibleAnswer();
- int line = -1;
final Gson gson = new GsonBuilder().setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES).create();
final JsonObject answerPlaceholder = new JsonObject();
- answerPlaceholder.addProperty(LINE, line);
- answerPlaceholder.addProperty(START, start);
+ answerPlaceholder.addProperty(OFFSET, start);
answerPlaceholder.addProperty(LENGTH, length);
answerPlaceholder.addProperty(POSSIBLE_ANSWER, possibleAnswer);
import com.intellij.openapi.progress.ProgressManager;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.ui.Messages;
-import com.intellij.openapi.util.ThrowableComputable;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.jetbrains.edu.learning.StudyUtils;
import com.jetbrains.edu.learning.core.EduNames;
import com.jetbrains.edu.learning.core.EduUtils;
-import com.jetbrains.edu.learning.courseFormat.*;
+import com.jetbrains.edu.learning.courseFormat.Course;
+import com.jetbrains.edu.learning.courseFormat.Lesson;
+import com.jetbrains.edu.learning.courseFormat.Task;
+import com.jetbrains.edu.learning.courseFormat.TaskFile;
import com.jetbrains.edu.learning.statistics.EduUsagesCollector;
import com.jetbrains.edu.learning.stepic.CourseInfo;
import com.jetbrains.edu.learning.stepic.EduStepicConnector;
return readCourseFromCache(adaptiveCourseFile, true);
}
}
- return ProgressManager.getInstance().runProcessWithProgressSynchronously(new ThrowableComputable<Course, RuntimeException>() {
- @Override
- public Course compute() throws RuntimeException {
- ProgressManager.getInstance().getProgressIndicator().setIndeterminate(true);
- return execCancelable(() -> {
+ return ProgressManager.getInstance().runProcessWithProgressSynchronously(() -> {
+ ProgressManager.getInstance().getProgressIndicator().setIndeterminate(true);
+ return execCancelable(() -> {
- final Course course = EduStepicConnector.getCourse(project, mySelectedCourseInfo);
- if (course != null) {
- flushCourse(project, course);
- course.initCourse(false);
- }
- return course;
- });
- }
+ final Course course = EduStepicConnector.getCourse(project, mySelectedCourseInfo);
+ if (course != null) {
+ flushCourse(project, course);
+ course.initCourse(false);
+ }
+ return course;
+ });
}, "Creating Course", true, project);
}
public static void flushCourseJson(@NotNull final Course course, @NotNull final File courseDirectory) {
final Gson gson = new GsonBuilder().setPrettyPrinting().
- registerTypeAdapter(AnswerPlaceholder.class, new StudySerializationUtils.Json.StepicAnswerPlaceholderAdapter()).
excludeFieldsWithoutExposeAnnotation().create();
final String json = gson.toJson(course);
final File courseJson = new File(courseDirectory, EduNames.COURSE_META_FILE);