From eb3764c73f46086a9ed417bb553469c6ebbd5e4d Mon Sep 17 00:00:00 2001 From: "liana.bakradze" Date: Sun, 26 Jun 2016 13:50:58 +0300 Subject: [PATCH] compute initial state of placeholder correctly --- .../CCRefactoringElementListenerProvider.java | 2 +- .../src/com/jetbrains/edu/coursecreator/CCUtils.java | 2 +- .../edu/coursecreator/actions/CCAddAnswerPlaceholder.java | 5 ++--- .../edu/coursecreator/actions/CCHideFromStudent.java | 2 +- .../src/com/jetbrains/edu/learning/StudyUtils.java | 8 ++++---- .../learning/actions/StudyRefreshAnswerPlaceholder.java | 2 +- .../edu/learning/actions/StudyRefreshTaskFileAction.java | 7 +++---- .../com/jetbrains/edu/learning/courseFormat/TaskFile.java | 4 +++- 8 files changed, 16 insertions(+), 16 deletions(-) diff --git a/python/educational-core/course-creator/src/com/jetbrains/edu/coursecreator/CCRefactoringElementListenerProvider.java b/python/educational-core/course-creator/src/com/jetbrains/edu/coursecreator/CCRefactoringElementListenerProvider.java index 75634c0a9026..86121ab4340f 100644 --- a/python/educational-core/course-creator/src/com/jetbrains/edu/coursecreator/CCRefactoringElementListenerProvider.java +++ b/python/educational-core/course-creator/src/com/jetbrains/edu/coursecreator/CCRefactoringElementListenerProvider.java @@ -95,7 +95,7 @@ public class CCRefactoringElementListenerProvider implements RefactoringElementL return; } ApplicationManager.getApplication().runWriteAction(() -> { - VirtualFile patternFile = StudyUtils.getPatternFile(project, taskFile, oldName); + VirtualFile patternFile = StudyUtils.getPatternFile(taskFile, oldName); if (patternFile != null) { try { patternFile.delete(CCRefactoringElementListenerProvider.class); diff --git a/python/educational-core/course-creator/src/com/jetbrains/edu/coursecreator/CCUtils.java b/python/educational-core/course-creator/src/com/jetbrains/edu/coursecreator/CCUtils.java index edd3a7f240ac..66e036be3f03 100644 --- a/python/educational-core/course-creator/src/com/jetbrains/edu/coursecreator/CCUtils.java +++ b/python/educational-core/course-creator/src/com/jetbrains/edu/coursecreator/CCUtils.java @@ -221,7 +221,7 @@ public class CCUtils { if (child == null) { continue; } - Document patternDocument = StudyUtils.getPatternDocument(project, entry.getValue(), name); + Document patternDocument = StudyUtils.getPatternDocument(entry.getValue(), name); Document document = FileDocumentManager.getInstance().getDocument(child); if (document == null || patternDocument == null) { return; diff --git a/python/educational-core/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCAddAnswerPlaceholder.java b/python/educational-core/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCAddAnswerPlaceholder.java index 0643eaa8cf0c..2ad1d79faf1f 100644 --- a/python/educational-core/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCAddAnswerPlaceholder.java +++ b/python/educational-core/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCAddAnswerPlaceholder.java @@ -84,7 +84,7 @@ public class CCAddAnswerPlaceholder extends CCAnswerPlaceholderAction { } private static void computeInitialState(Project project, PsiFile file, TaskFile taskFile, Document document) { - Document patternDocument = StudyUtils.getPatternDocument(project, taskFile, file.getName()); + Document patternDocument = StudyUtils.getPatternDocument(taskFile, file.getName()); if (patternDocument == null) { return; } @@ -102,8 +102,7 @@ public class CCAddAnswerPlaceholder extends CCAnswerPlaceholderAction { for (int i = 0; i < placeholders.size(); i++) { AnswerPlaceholder fromPlaceholder = placeholders.get(i); - AnswerPlaceholder.MyInitialState state = fromPlaceholder.getInitialState(); - taskFile.getAnswerPlaceholders().get(i).setInitialState(new AnswerPlaceholder.MyInitialState(state.getOffset(), state.getLength())); + taskFile.getAnswerPlaceholders().get(i).setInitialState(new AnswerPlaceholder.MyInitialState(fromPlaceholder.getOffset(), fromPlaceholder.getLength())); } } diff --git a/python/educational-core/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCHideFromStudent.java b/python/educational-core/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCHideFromStudent.java index 9ac18ba159a3..07cd46cfdf20 100644 --- a/python/educational-core/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCHideFromStudent.java +++ b/python/educational-core/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCHideFromStudent.java @@ -24,7 +24,7 @@ public class CCHideFromStudent extends CCTaskFileActionBase { return; } String name = file.getName(); - VirtualFile patternFile = StudyUtils.getPatternFile(project, taskFile, name); + VirtualFile patternFile = StudyUtils.getPatternFile(taskFile, name); ApplicationManager.getApplication().runWriteAction(() -> { if (patternFile != null) { try { diff --git a/python/educational-core/student/src/com/jetbrains/edu/learning/StudyUtils.java b/python/educational-core/student/src/com/jetbrains/edu/learning/StudyUtils.java index 020dbc27f58e..0be991e4c931 100644 --- a/python/educational-core/student/src/com/jetbrains/edu/learning/StudyUtils.java +++ b/python/educational-core/student/src/com/jetbrains/edu/learning/StudyUtils.java @@ -393,12 +393,12 @@ public class StudyUtils { @Nullable - public static VirtualFile getPatternFile(@NotNull Project project, @NotNull TaskFile taskFile, String name) { + public static VirtualFile getPatternFile(@NotNull TaskFile taskFile, String name) { Task task = taskFile.getTask(); String lessonDir = EduNames.LESSON + String.valueOf(task.getLesson().getIndex()); String taskDir = EduNames.TASK + String.valueOf(task.getIndex()); Course course = task.getLesson().getCourse(); - File resourceFile = getCourseDirectory(project, course); + File resourceFile = new File(course.getCourseDirectory()); if (!resourceFile.exists()) { return null; } @@ -411,8 +411,8 @@ public class StudyUtils { } @Nullable - public static Document getPatternDocument(@NotNull Project project, @NotNull final TaskFile taskFile, String name) { - VirtualFile patternFile = getPatternFile(project, taskFile, name); + public static Document getPatternDocument(@NotNull final TaskFile taskFile, String name) { + VirtualFile patternFile = getPatternFile(taskFile, name); if (patternFile == null) { return null; } diff --git a/python/educational-core/student/src/com/jetbrains/edu/learning/actions/StudyRefreshAnswerPlaceholder.java b/python/educational-core/student/src/com/jetbrains/edu/learning/actions/StudyRefreshAnswerPlaceholder.java index 987819c83ffe..de68d1cfc951 100644 --- a/python/educational-core/student/src/com/jetbrains/edu/learning/actions/StudyRefreshAnswerPlaceholder.java +++ b/python/educational-core/student/src/com/jetbrains/edu/learning/actions/StudyRefreshAnswerPlaceholder.java @@ -45,7 +45,7 @@ public class StudyRefreshAnswerPlaceholder extends DumbAwareAction { } StudyEditor studyEditor = StudyUtils.getSelectedStudyEditor(project); final StudyState studyState = new StudyState(studyEditor); - Document patternDocument = StudyUtils.getPatternDocument(project, answerPlaceholder.getTaskFile(), studyState.getVirtualFile().getName()); + Document patternDocument = StudyUtils.getPatternDocument(answerPlaceholder.getTaskFile(), studyState.getVirtualFile().getName()); if (patternDocument == null) { return; } diff --git a/python/educational-core/student/src/com/jetbrains/edu/learning/actions/StudyRefreshTaskFileAction.java b/python/educational-core/student/src/com/jetbrains/edu/learning/actions/StudyRefreshTaskFileAction.java index 83ba428b17ad..c4046496b736 100644 --- a/python/educational-core/student/src/com/jetbrains/edu/learning/actions/StudyRefreshTaskFileAction.java +++ b/python/educational-core/student/src/com/jetbrains/edu/learning/actions/StudyRefreshTaskFileAction.java @@ -82,7 +82,7 @@ public class StudyRefreshTaskFileAction extends StudyActionWithShortcut { @NotNull final Project project, TaskFile taskFile, String name) { - if (!resetDocument(project, document, taskFile, name)) { + if (!resetDocument(document, taskFile, name)) { return false; } taskFile.getTask().setStatus(StudyStatus.Unchecked); @@ -111,11 +111,10 @@ public class StudyRefreshTaskFileAction extends StudyActionWithShortcut { } - private static boolean resetDocument(@NotNull final Project project, - @NotNull final Document document, + private static boolean resetDocument(@NotNull final Document document, @NotNull final TaskFile taskFile, String fileName) { - final Document patternDocument = StudyUtils.getPatternDocument(project, taskFile, fileName); + final Document patternDocument = StudyUtils.getPatternDocument(taskFile, fileName); if (patternDocument == null) { return false; } diff --git a/python/educational-core/student/src/com/jetbrains/edu/learning/courseFormat/TaskFile.java b/python/educational-core/student/src/com/jetbrains/edu/learning/courseFormat/TaskFile.java index 1223f43f3d10..31eb6f19a743 100644 --- a/python/educational-core/student/src/com/jetbrains/edu/learning/courseFormat/TaskFile.java +++ b/python/educational-core/student/src/com/jetbrains/edu/learning/courseFormat/TaskFile.java @@ -99,7 +99,9 @@ public class TaskFile { answerPlaceholderCopy.setIndex(answerPlaceholder.getIndex()); answerPlaceholderCopy.setHint(answerPlaceholder.getHint()); final AnswerPlaceholder.MyInitialState state = answerPlaceholder.getInitialState(); - answerPlaceholderCopy.setInitialState(new AnswerPlaceholder.MyInitialState(state.getOffset(), state.getLength())); + if (state != null) { + answerPlaceholderCopy.setInitialState(new AnswerPlaceholder.MyInitialState(state.getOffset(), state.getLength())); + } answerPlaceholdersCopy.add(answerPlaceholderCopy); } target.name = source.name;