From 5c70a6701bd5990c7d7520a73122ceecf3cfaec1 Mon Sep 17 00:00:00 2001 From: Valentina Kiryushkina Date: Wed, 22 Jun 2016 15:57:27 +0300 Subject: [PATCH] Fix NPE in StudyCheckTask for study project with no user --- .../src/com/jetbrains/edu/learning/StudyTaskManager.java | 7 ++++--- .../learning/courseGeneration/StudyProjectGenerator.java | 6 ++++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/python/educational-core/student/src/com/jetbrains/edu/learning/StudyTaskManager.java b/python/educational-core/student/src/com/jetbrains/edu/learning/StudyTaskManager.java index 3dccfa46c3b3..8213a2bc4728 100644 --- a/python/educational-core/student/src/com/jetbrains/edu/learning/StudyTaskManager.java +++ b/python/educational-core/student/src/com/jetbrains/edu/learning/StudyTaskManager.java @@ -36,7 +36,7 @@ import java.util.Map; public class StudyTaskManager implements PersistentStateComponent, DumbAware { private static final Logger LOG = Logger.getInstance(StudyTaskManager.class); public static final int CURRENT_VERSION = 3; - private StepicUser myUser; + private StepicUser myUser = new StepicUser(); private Course myCourse; public int VERSION = 3; @@ -193,12 +193,13 @@ public class StudyTaskManager implements PersistentStateComponent, Dumb public void setTurnEditingMode(boolean turnEditingMode) { myTurnEditingMode = turnEditingMode; } - + + @NotNull public StepicUser getUser() { return myUser; } - public void setUser(StepicUser user) { + public void setUser(@NotNull final StepicUser user) { myUser = user; } } diff --git a/python/educational-core/student/src/com/jetbrains/edu/learning/courseGeneration/StudyProjectGenerator.java b/python/educational-core/student/src/com/jetbrains/edu/learning/courseGeneration/StudyProjectGenerator.java index 5f86fc96212c..9a6c848f2329 100644 --- a/python/educational-core/student/src/com/jetbrains/edu/learning/courseGeneration/StudyProjectGenerator.java +++ b/python/educational-core/student/src/com/jetbrains/edu/learning/courseGeneration/StudyProjectGenerator.java @@ -58,7 +58,7 @@ public class StudyProjectGenerator { private static final String COURSE_DESCRIPTION = "description"; private static final String CACHE_NAME = "courseNames.txt"; private final List myListeners = ContainerUtil.newArrayList(); - public StepicUser myUser; + @Nullable public StepicUser myUser; private List myCourses = new ArrayList<>(); private List myEnrolledCoursesIds = new ArrayList<>(); protected CourseInfo mySelectedCourseInfo; @@ -85,7 +85,9 @@ public class StudyProjectGenerator { } public void generateProject(@NotNull final Project project, @NotNull final VirtualFile baseDir) { - StudyTaskManager.getInstance(project).setUser(myUser); + if (myUser != null) { + StudyTaskManager.getInstance(project).setUser(myUser); + } final Course course = getCourse(project); if (course == null) { LOG.warn("Course is null");