From 2891da8dcf2e448ab6c05c2c6777dbb462d88aba Mon Sep 17 00:00:00 2001 From: Liana Bakradze Date: Mon, 29 Sep 2014 13:18:17 +0400 Subject: [PATCH] EDU-161 python file becomes visible after task file rename --- .../CCRefactoringElementListenerProvider.java | 9 ++++++++- .../org/jetbrains/plugins/coursecreator/CCRunTests.java | 7 +++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/CCRefactoringElementListenerProvider.java b/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/CCRefactoringElementListenerProvider.java index 601e4fc7cb40..448cec94e2c4 100644 --- a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/CCRefactoringElementListenerProvider.java +++ b/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/CCRefactoringElementListenerProvider.java @@ -15,6 +15,7 @@ */ package org.jetbrains.plugins.coursecreator; +import com.intellij.openapi.application.ApplicationManager; import com.intellij.psi.PsiDirectory; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; @@ -61,7 +62,7 @@ public class CCRefactoringElementListenerProvider implements RefactoringElementL } private static void renameTaskFile(PsiFile file, String oldName) { - PsiDirectory taskDir = file.getContainingDirectory(); + final PsiDirectory taskDir = file.getContainingDirectory(); Course course = CCProjectService.getInstance(file.getProject()).getCourse(); if (course == null) { return; @@ -81,6 +82,12 @@ public class CCRefactoringElementListenerProvider implements RefactoringElementL if (task == null) { return; } + ApplicationManager.getApplication().runWriteAction(new Runnable() { + @Override + public void run() { + CCRunTests.clearTestEnvironment(taskDir.getVirtualFile(), taskDir.getProject()); + } + }); Map taskFiles = task.getTaskFiles(); TaskFile taskFile = task.getTaskFile(oldName); String realTaskFileName = CCProjectService.getRealTaskFileName(oldName); diff --git a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/CCRunTests.java b/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/CCRunTests.java index 3217bc0cf05e..efb520ba51f0 100644 --- a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/CCRunTests.java +++ b/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/CCRunTests.java @@ -139,7 +139,7 @@ public class CCRunTests extends AnAction { } } - private static void clearTestEnvironment(@NotNull final VirtualFile taskDir, @NotNull final Project project) { + public static void clearTestEnvironment(@NotNull final VirtualFile taskDir, @NotNull final Project project) { try { VirtualFile ideaDir = project.getBaseDir().findChild(".idea"); if (ideaDir == null) { @@ -147,10 +147,9 @@ public class CCRunTests extends AnAction { return; } VirtualFile courseResourceDir = ideaDir.findChild("course"); - if (courseResourceDir == null) { - return; + if (courseResourceDir != null) { + courseResourceDir.delete(project); } - courseResourceDir.delete(project); VirtualFile[] taskDirChildren = taskDir.getChildren(); for (VirtualFile file : taskDirChildren) { if (file.getName().contains("_windows")) {