convert to kotlin, drop useless test.

This commit is contained in:
Nikita Skvortsov
2018-08-09 17:11:22 +03:00
parent 982c472cdd
commit f8a38b4c5c
3 changed files with 43 additions and 118 deletions
@@ -1,74 +0,0 @@
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.intellij.openapi.externalSystem.service.project.manage;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.externalSystem.ExternalSystemManager;
import com.intellij.openapi.externalSystem.model.DataNode;
import com.intellij.openapi.externalSystem.model.ExternalProjectInfo;
import com.intellij.openapi.externalSystem.model.ProjectSystemId;
import com.intellij.openapi.externalSystem.model.project.ContentRootData;
import com.intellij.openapi.externalSystem.model.project.ProjectData;
import com.intellij.openapi.externalSystem.service.project.IdeModifiableModelsProviderImpl;
import com.intellij.openapi.externalSystem.service.project.ProjectDataManager;
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil;
import com.intellij.openapi.module.ModuleManager;
import com.intellij.openapi.project.DumbAware;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.startup.StartupActivity;
import org.jetbrains.annotations.NotNull;
import java.util.Collection;
import static com.intellij.openapi.externalSystem.model.ProjectKeys.CONTENT_ROOT;
public class ReprocessContentRootDataActivity implements StartupActivity, DumbAware {
private static final Logger LOG = Logger.getInstance(ReprocessContentRootDataActivity.class);
@Override
public void runActivity(@NotNull Project project) {
final ProjectDataManager dataManager = ProjectDataManager.getInstance();
final ContentRootDataService service = new ContentRootDataService();
final IdeModifiableModelsProviderImpl modifiableModelsProvider = new IdeModifiableModelsProviderImpl(project);
logUnitTest("Adding 'reprocess content root data' activity to 'runWhenSmart' queue in project [hash=" + project.hashCode() + "]");
ApplicationManager.getApplication().invokeLater(() -> {
logUnitTest("Reprocessing content root data for project [hash=" + project.hashCode() + "]");
ExternalProjectsManagerImpl.getInstance(project).init();
final boolean haveModulesToProcess = ModuleManager.getInstance(project).getModules().length > 0;
if (!haveModulesToProcess) {
logUnitTest("Have zero modules to process, returning");
return;
}
try {
final Collection<ExternalSystemManager<?, ?, ?, ?, ?>> managers = ExternalSystemApiUtil.getAllManagers();
logUnitTest("Found [" + managers.size() + "] external system managers");
for (ExternalSystemManager<?, ?, ?, ?, ?> manager : managers) {
ProjectSystemId id = manager.getSystemId();
final Collection<ExternalProjectInfo> data = dataManager.getExternalProjectsData(project, id);
logUnitTest("Found [" + data.size() + "] external project infos using manager class=[" + dataManager.getClass().getCanonicalName() + "]");
for (ExternalProjectInfo info : data) {
DataNode<ProjectData> projectStructure = info.getExternalProjectStructure();
logUnitTest("External data graph root is "
+ (projectStructure == null ? "" : "not")
+ " null for external project path=[" + info.getExternalProjectPath() + "]");
if (projectStructure != null) {
Collection<DataNode<ContentRootData>> roots = ExternalSystemApiUtil.findAllRecursively(projectStructure, CONTENT_ROOT);
service.importData(roots, null, project, modifiableModelsProvider);
}
}
}
} finally {
ExternalSystemApiUtil.doWriteAction(() -> modifiableModelsProvider.commit());
}
}, project.getDisposed());
}
protected void logUnitTest(String message) {
if (ApplicationManager.getApplication().isUnitTestMode()) {
LOG.info(message);
}
}
}
@@ -0,0 +1,43 @@
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.intellij.openapi.externalSystem.service.project.manage
import com.intellij.openapi.externalSystem.model.ProjectKeys.CONTENT_ROOT
import com.intellij.openapi.externalSystem.service.project.IdeModifiableModelsProviderImpl
import com.intellij.openapi.externalSystem.service.project.ProjectDataManager
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil
import com.intellij.openapi.module.ModuleManager
import com.intellij.openapi.project.DumbAware
import com.intellij.openapi.project.Project
import com.intellij.openapi.startup.StartupActivity
class ReprocessContentRootDataActivity : StartupActivity, DumbAware {
override fun runActivity(project: Project) {
val dataManager = ProjectDataManager.getInstance()
val service = ContentRootDataService()
val externalProjectsManager = ExternalProjectsManagerImpl.getInstance(project)
externalProjectsManager.init()
externalProjectsManager.runWhenInitialized {
val haveModulesToProcess = ModuleManager.getInstance(project).modules.isNotEmpty()
if (!haveModulesToProcess) {
return@runWhenInitialized
}
var modifiableModelsProvider: IdeModifiableModelsProviderImpl? = null
try {
modifiableModelsProvider = IdeModifiableModelsProviderImpl(project)
ExternalSystemApiUtil.getAllManagers()
.flatMap { dataManager.getExternalProjectsData(project, it.getSystemId()) }
.mapNotNull { it.externalProjectStructure }
.map { ExternalSystemApiUtil.findAllRecursively(it, CONTENT_ROOT) }
.forEach {
service.importData(it, null, project, modifiableModelsProvider)
}
println("hello!")
}
finally {
ExternalSystemApiUtil.doWriteAction { modifiableModelsProvider?.commit() }
}
}
}
}
@@ -15,20 +15,12 @@
*/
package org.jetbrains.plugins.gradle.importing;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.project.ex.ProjectManagerEx;
import com.intellij.openapi.roots.ContentEntry;
import com.intellij.openapi.roots.ModuleRootManager;
import com.intellij.openapi.util.Disposer;
import com.intellij.openapi.util.Ref;
import com.intellij.openapi.vfs.VirtualFileManager;
import com.intellij.testFramework.PlatformTestUtil;
import com.intellij.util.ui.UIUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.SystemIndependent;
import org.jetbrains.jps.model.java.JavaSourceRootType;
import org.jetbrains.plugins.gradle.tooling.annotation.TargetVersions;
import org.junit.Test;
@@ -320,42 +312,6 @@ public class GradleFoldersImportingTest extends GradleImportingTestCase {
assertTestSources("project", "test-src/java");
}
@Test
public void testRootsListenersRestoredWhenProjectOpen() throws Exception {
createProjectSubFile("src/main/java/A.java");
importProjectUsingSingeModulePerGradleProject("apply plugin: 'java'");
@SystemIndependent final String path = myProject.getProjectFilePath();
edt(() -> {
VirtualFileManager.getInstance().syncRefresh();
UIUtil.dispatchAllInvocationEvents();
PlatformTestUtil.saveProject(myProject);
ProjectManagerEx.getInstanceEx().closeProject(myProject);
UIUtil.dispatchAllInvocationEvents();
});
final ProjectManagerEx projectManager = ProjectManagerEx.getInstanceEx();
final Ref<Project> projectRef = new Ref<>();
try {
projectRef.set(projectManager.loadProject(path));
edt(() -> projectManager.openTestProject(projectRef.get()));
createProjectSubFile("src/test/java/ATest.java");
edt(() -> UIUtil.dispatchAllInvocationEvents());
assertTestSources(projectRef.get(), "project", "src/test/java");
}
finally {
if (!projectRef.isNull()) {
edt(() -> {
projectManager.closeTestProject(projectRef.get());
WriteAction.run(() -> Disposer.dispose(projectRef.get()));
});
}
}
}
protected void assertDefaultGradleJavaProjectFolders(@NotNull String mainModuleName) {
assertExcludes(mainModuleName, ".gradle", "build", "out");
final String mainSourceSetModuleName = mainModuleName + "_main";