diff --git a/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/project/manage/AbstractModuleDataService.java b/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/project/manage/AbstractModuleDataService.java index 21dac8289728..31b74e432f85 100644 --- a/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/project/manage/AbstractModuleDataService.java +++ b/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/project/manage/AbstractModuleDataService.java @@ -354,6 +354,10 @@ public abstract class AbstractModuleDataService extends Ab } setBytecodeTargetLevel(project, module, moduleDataNode.getData()); } + + for (Module module : modelsProvider.getModules()) { + module.putUserData(MODULE_DATA_KEY, null); + } } @Override diff --git a/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/project/manage/ModuleDataService.java b/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/project/manage/ModuleDataService.java index 74d819042e2e..8e585854c5c6 100644 --- a/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/project/manage/ModuleDataService.java +++ b/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/project/manage/ModuleDataService.java @@ -19,7 +19,6 @@ import com.intellij.openapi.externalSystem.model.DataNode; import com.intellij.openapi.externalSystem.model.Key; import com.intellij.openapi.externalSystem.model.ProjectKeys; import com.intellij.openapi.externalSystem.model.project.ModuleData; -import com.intellij.openapi.externalSystem.model.project.OrderAware; import com.intellij.openapi.externalSystem.model.project.ProjectData; import com.intellij.openapi.externalSystem.service.project.IdeModifiableModelsProvider; import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil; @@ -28,12 +27,11 @@ import com.intellij.openapi.externalSystem.util.Order; import com.intellij.openapi.module.Module; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Computable; -import com.intellij.openapi.util.Condition; -import com.intellij.openapi.util.io.FileUtil; import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; -import java.util.*; +import java.util.Collection; +import java.util.List; /** * Encapsulates functionality of importing external system module to the intellij project. @@ -67,18 +65,7 @@ public class ModuleDataService extends AbstractModuleDataService { final String rootProjectPath = ExternalSystemApiUtil.getExternalRootProjectPath(module); if (projectData.getLinkedExternalProjectPath().equals(rootProjectPath)) { - final String projectPath = ExternalSystemApiUtil.getExternalProjectPath(module); - final String projectId = ExternalSystemApiUtil.getExternalProjectId(module); - - final DataNode found = ContainerUtil.find(toImport, new Condition>() { - @Override - public boolean value(DataNode node) { - final ModuleData moduleData = node.getData(); - return moduleData.getId().equals(projectId) && moduleData.getLinkedExternalProjectPath().equals(projectPath); - } - }); - - if (found == null || !FileUtil.pathsEqual(module.getModuleFilePath(), found.getData().getModuleFilePath())) { + if (module.getUserData(AbstractModuleDataService.MODULE_DATA_KEY) == null) { orphanIdeModules.add(module); } } diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/data/GradleSourceSetDataService.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/data/GradleSourceSetDataService.java index 9da34356197e..96f5fd58bf11 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/data/GradleSourceSetDataService.java +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/data/GradleSourceSetDataService.java @@ -26,7 +26,6 @@ import com.intellij.openapi.externalSystem.util.Order; import com.intellij.openapi.module.Module; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Computable; -import com.intellij.openapi.util.Condition; import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.plugins.gradle.model.data.GradleSourceSetData; @@ -66,16 +65,7 @@ public class GradleSourceSetDataService extends AbstractModuleDataService found = ContainerUtil.find(toImport, new Condition>() { - @Override - public boolean value(DataNode node) { - return node.getData().getId().equals(projectId); - } - }); - - if (found == null) { + if (module.getUserData(AbstractModuleDataService.MODULE_DATA_KEY) == null) { orphanIdeModules.add(module); } }