EDU-161 python file becomes visible after task file rename

This commit is contained in:
Liana Bakradze
2014-09-29 13:18:17 +04:00
parent 646353bb08
commit 2891da8dcf
2 changed files with 11 additions and 5 deletions
@@ -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<String, TaskFile> taskFiles = task.getTaskFiles();
TaskFile taskFile = task.getTaskFile(oldName);
String realTaskFileName = CCProjectService.getRealTaskFileName(oldName);
@@ -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")) {