flex builder importer
[fedora-idea.git] / plugins / eclipse / src / org / jetbrains / idea / eclipse / importWizard / EclipseProjectOpenProcessor.java
blob4f0517d791caf140d90a53f35dd38b51279a1442
1 /*
2 * User: anna
3 * Date: 12-Jul-2007
4 */
5 package org.jetbrains.idea.eclipse.importWizard;
7 import com.intellij.ide.util.projectWizard.WizardContext;
8 import com.intellij.openapi.vfs.VirtualFile;
9 import com.intellij.projectImport.ProjectOpenProcessorBase;
10 import org.jetbrains.annotations.Nullable;
11 import org.jetbrains.idea.eclipse.EclipseXml;
13 import java.util.List;
15 public class EclipseProjectOpenProcessor extends ProjectOpenProcessorBase {
16 public EclipseProjectOpenProcessor(final EclipseImportBuilder builder) {
17 super(builder);
20 public EclipseImportBuilder getBuilder() {
21 return (EclipseImportBuilder)super.getBuilder();
24 @Nullable
25 public String[] getSupportedExtensions() {
26 return new String[] {EclipseXml.CLASSPATH_FILE, EclipseXml.PROJECT_FILE};
29 public boolean canOpenProject(final VirtualFile file) {
30 return super.canOpenProject(file) && isEclipseProject(file);
33 private static boolean isEclipseProject(final VirtualFile file) {
34 if (file.getName().equals(EclipseXml.DOT_CLASSPATH_EXT)) return true;
35 final VirtualFile dir = file.getParent();
36 return dir != null && dir.findChild(EclipseXml.DOT_CLASSPATH_EXT) != null;
39 public boolean doQuickImport(VirtualFile file, final WizardContext wizardContext) {
40 //noinspection ConstantConditions
41 getBuilder().setRootDirectory(file.getParent().getPath());
43 final List<String> projects = getBuilder().getList();
44 if (projects.size() != 1) {
45 return false;
47 getBuilder().setList(projects);
48 wizardContext.setProjectName(EclipseProjectFinder.findProjectName(projects.get(0)));
49 return true;