EDU-198 Exception on "Run tests" action

This commit is contained in:
Liana Bakradze
2014-09-29 14:51:30 +04:00
parent e33bacad38
commit 9628d60fab
@@ -224,8 +224,9 @@ public class CCRunTests extends AnAction {
VirtualFile ideaDir = project.getBaseDir().findChild(".idea");
assert ideaDir != null;
try {
VirtualFile taskResourceDir = ideaDir.createChildDirectory(project, "course").createChildDirectory(project, lessonDir.getName())
.createChildDirectory(project, taskDir.getName());
VirtualFile courseResourceDir = findOrCreateDir(project, ideaDir, "course");
VirtualFile lessonResourceDir = findOrCreateDir(project, courseResourceDir, lessonDir.getName());
VirtualFile taskResourceDir = findOrCreateDir(project, lessonResourceDir, taskDir.getName());
if (CCProjectService.indexIsValid(lessonIndex, course.getLessons())) {
Lesson lesson = course.getLessons().get(lessonIndex);
if (CCProjectService.indexIsValid(index, lesson.getTaskList())) {
@@ -243,6 +244,14 @@ public class CCRunTests extends AnAction {
}
}
private static VirtualFile findOrCreateDir(@NotNull final Project project, @NotNull final VirtualFile dir, String name) throws IOException {
VirtualFile targetDir = dir.findChild(name);
if (targetDir == null) {
targetDir = dir.createChildDirectory(project, name);
}
return targetDir;
}
@SuppressWarnings("IOResourceOpenedButNotSafelyClosed")
public static VirtualFile flushWindows(TaskFile taskFile, VirtualFile file) {
VirtualFile taskDir = file.getParent();