From 8bbdde7d718bd6a63749c828fa11b81b9aaf5a71 Mon Sep 17 00:00:00 2001 From: "Vladislav.Soroka" Date: Thu, 18 May 2017 18:28:53 +0300 Subject: [PATCH] External system: onSuccessImport method extended to have ability to operate on imported data --- .../project/manage/AbstractProjectDataService.java | 10 ++++++++++ .../project/manage/AbstractModuleDataService.java | 4 +++- .../service/project/manage/ProjectDataManagerImpl.java | 2 +- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/platform/external-system-api/src/com/intellij/openapi/externalSystem/service/project/manage/AbstractProjectDataService.java b/platform/external-system-api/src/com/intellij/openapi/externalSystem/service/project/manage/AbstractProjectDataService.java index a394ab751452..4bc7767e5302 100644 --- a/platform/external-system-api/src/com/intellij/openapi/externalSystem/service/project/manage/AbstractProjectDataService.java +++ b/platform/external-system-api/src/com/intellij/openapi/externalSystem/service/project/manage/AbstractProjectDataService.java @@ -26,6 +26,7 @@ import org.jetbrains.annotations.Nullable; import java.util.Collection; import java.util.Collections; +import java.util.List; /** * @author Vladislav.Soroka @@ -70,6 +71,15 @@ public abstract class AbstractProjectDataService implements ProjectDataSer @NotNull IdeModifiableModelsProvider modelsProvider) { } + /** + * @deprecated use {@link #onSuccessImport(Collection, ProjectData, Project)} + */ public void onSuccessImport(@NotNull Project project) { } + + public void onSuccessImport(@NotNull Collection> imported, + @Nullable ProjectData projectData, + @NotNull Project project) { + onSuccessImport(project); + } } 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 9f56d1c16b97..ace67910b2d0 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 @@ -331,7 +331,9 @@ public abstract class AbstractModuleDataService extends Ab } @Override - public void onSuccessImport(@NotNull Project project) { + public void onSuccessImport(@NotNull Collection> imported, + @Nullable ProjectData projectData, + @NotNull Project project) { final Set orphanFiles = project.getUserData(ORPHAN_MODULE_FILES); if (orphanFiles != null && !orphanFiles.isEmpty()) { ExternalSystemApiUtil.executeOnEdt(false, () -> { diff --git a/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/project/manage/ProjectDataManagerImpl.java b/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/project/manage/ProjectDataManagerImpl.java index c9ba26f1e19d..d68bb75b2280 100644 --- a/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/project/manage/ProjectDataManagerImpl.java +++ b/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/project/manage/ProjectDataManagerImpl.java @@ -285,7 +285,7 @@ public class ProjectDataManagerImpl implements ProjectDataManager { for (ProjectDataService service : services) { if (service instanceof AbstractProjectDataService) { final long taskStartTime = System.currentTimeMillis(); - ((AbstractProjectDataService)service).onSuccessImport(project); + ((AbstractProjectDataService)service).onSuccessImport(toImport, projectData, project); if (LOG.isDebugEnabled()) { final long taskTimeInMs = (System.currentTimeMillis() - taskStartTime); LOG.debug(String.format("Service %s run post import task in %d ms", service.getClass().getSimpleName(), taskTimeInMs));