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
) {
20 public EclipseImportBuilder
getBuilder() {
21 return (EclipseImportBuilder
)super.getBuilder();
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) {
47 getBuilder().setList(projects
);
48 wizardContext
.setProjectName(EclipseProjectFinder
.findProjectName(projects
.get(0)));