From 79e57eb2d3e42c642c03ea9783e3f07a93bc47c6 Mon Sep 17 00:00:00 2001 From: anna Date: Fri, 26 Aug 2011 17:29:51 +0200 Subject: [PATCH] restore ability to choose module where to create class (IDEA-21007) --- .../intention/impl/CreateClassDialog.java | 3 +-- .../src/com/intellij/ide/util/PackageUtil.java | 17 ++++++++++++++++- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/java/java-impl/src/com/intellij/codeInsight/intention/impl/CreateClassDialog.java b/java/java-impl/src/com/intellij/codeInsight/intention/impl/CreateClassDialog.java index ba8647f78ad8..dfdf46b6fc6b 100644 --- a/java/java-impl/src/com/intellij/codeInsight/intention/impl/CreateClassDialog.java +++ b/java/java-impl/src/com/intellij/codeInsight/intention/impl/CreateClassDialog.java @@ -175,8 +175,7 @@ public class CreateClassDialog extends DialogWrapper { CommandProcessor.getInstance().executeCommand(myProject, new Runnable() { public void run() { try { - myTargetDirectory = myModule == null? PackageUtil.findOrCreateDirectoryForPackage(myProject, packageName, getBaseDir(packageName), true) - : PackageUtil.findOrCreateDirectoryForPackage(myModule, packageName, getBaseDir(packageName), true, true); + myTargetDirectory = PackageUtil.findOrCreateDirectoryForPackage(myProject, packageName, getBaseDir(packageName), true, true); if (myTargetDirectory == null) { errorString[0] = ""; // message already reported by PackageUtil return; diff --git a/java/java-impl/src/com/intellij/ide/util/PackageUtil.java b/java/java-impl/src/com/intellij/ide/util/PackageUtil.java index a8c2d63fc02c..fdf5779f612d 100644 --- a/java/java-impl/src/com/intellij/ide/util/PackageUtil.java +++ b/java/java-impl/src/com/intellij/ide/util/PackageUtil.java @@ -84,6 +84,17 @@ public class PackageUtil { String packageName, PsiDirectory baseDir, boolean askUserToCreate) throws IncorrectOperationException { + return findOrCreateDirectoryForPackage(project, packageName, baseDir, askUserToCreate, false); + } + + /** + * @deprecated + */ + @Nullable + public static PsiDirectory findOrCreateDirectoryForPackage(Project project, + String packageName, + PsiDirectory baseDir, + boolean askUserToCreate, boolean filterSourceDirsForTestBaseDir) throws IncorrectOperationException { PsiDirectory psiDirectory = null; @@ -96,7 +107,11 @@ public class PackageUtil { if (packageName.length() > 0) { postfixToShow = File.separatorChar + postfixToShow; } - psiDirectory = DirectoryChooserUtil.selectDirectory(project, rootPackage.getDirectories(), baseDir, postfixToShow); + PsiDirectory[] directories = rootPackage.getDirectories(); + if (filterSourceDirsForTestBaseDir) { + directories = filterSourceDirectories(baseDir, project, directories); + } + psiDirectory = DirectoryChooserUtil.selectDirectory(project, directories, baseDir, postfixToShow); if (psiDirectory == null) return null; } }