diff --git a/plugins/eclipse/src/org/jetbrains/idea/eclipse/importWizard/EclipseImportBuilder.java b/plugins/eclipse/src/org/jetbrains/idea/eclipse/importWizard/EclipseImportBuilder.java index 23c0da2aeb0b..2988afab6d80 100644 --- a/plugins/eclipse/src/org/jetbrains/idea/eclipse/importWizard/EclipseImportBuilder.java +++ b/plugins/eclipse/src/org/jetbrains/idea/eclipse/importWizard/EclipseImportBuilder.java @@ -38,8 +38,8 @@ import com.intellij.openapi.roots.libraries.LibraryTable; import com.intellij.openapi.roots.libraries.LibraryTablesRegistrar; import com.intellij.openapi.roots.ui.configuration.ModulesProvider; import com.intellij.openapi.ui.DialogWrapper; -import com.intellij.openapi.ui.InputValidator; import com.intellij.openapi.ui.Messages; +import com.intellij.openapi.util.Comparing; import com.intellij.openapi.util.IconLoader; import com.intellij.openapi.util.JDOMUtil; import com.intellij.openapi.util.Ref; @@ -319,31 +319,29 @@ public class EclipseImportBuilder extends ProjectImportBuilder implement } } if (!unknownLibraries.isEmpty()) { - if (message.length() > 0) message.append("\n"); - message.append(EclipseBundle.message("eclipse.import.warning.undefinded.libraries")); + final StringBuffer buf = new StringBuffer(); + buf.append(""); + buf.append(EclipseBundle.message("eclipse.import.warning.undefinded.libraries")); for (String name : unknownLibraries) { - message.append("\n").append(name); + buf.append("
").append(name); } if (model == null) { - message.append("\nPlease export Eclipse user libraries and import them now from"); - final String pathToUserLibraries = Messages.showInputDialog(project, message.toString(), getTitle(), Messages.getErrorIcon(), - project.getBaseDir().getPath() + - "/" + - project.getName() + - ".userlibraries", new InputValidator() { - public boolean checkInput(String inputString) { - return new File(inputString).exists(); - } - - public boolean canClose(String inputString) { - return checkInput(inputString); - } - }); - if (pathToUserLibraries != null) { + buf.append("
Please export Eclipse user libraries and import them now from resulted .userlibraries file"); + buf.append(""); + final FileChooserDescriptor descriptor = new FileChooserDescriptor(true, false, false, false, false, false) { + @Override + public boolean isFileSelectable(VirtualFile file) { + return super.isFileSelectable(file) && Comparing.strEqual(file.getExtension(), "userlibraries"); + } + }; + descriptor.setDescription(buf.toString()); + descriptor.setTitle(getTitle()); + final VirtualFile[] selectedFiles = FileChooser.chooseFiles(project, descriptor, project.getBaseDir()); + if (selectedFiles.length == 1) { ApplicationManager.getApplication().runWriteAction(new Runnable() { public void run() { try { - EclipseUserLibrariesHelper.readProjectLibrariesContent(new File(pathToUserLibraries), project, unknownLibraries); + EclipseUserLibrariesHelper.readProjectLibrariesContent(new File(selectedFiles[0].getPath()), project, unknownLibraries); } catch (Exception e) { LOG.error(e); @@ -351,7 +349,6 @@ public class EclipseImportBuilder extends ProjectImportBuilder implement } }); } - return result; } }