mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
ES: extract ExternalProjectsManager interface to API module
This commit is contained in:
+1
-1
@@ -21,7 +21,7 @@ import com.intellij.openapi.externalSystem.model.ProjectSystemId;
|
||||
import com.intellij.openapi.externalSystem.model.project.ProjectData;
|
||||
import com.intellij.openapi.externalSystem.service.execution.ProgressExecutionMode;
|
||||
import com.intellij.openapi.externalSystem.service.project.ExternalProjectRefreshCallback;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ProjectDataManager;
|
||||
import com.intellij.openapi.externalSystem.service.project.ProjectDataManager;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
/*
|
||||
* Copyright 2000-2016 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.intellij.openapi.externalSystem.service.project.manage;
|
||||
|
||||
import com.intellij.openapi.components.ServiceManager;
|
||||
import com.intellij.openapi.externalSystem.importing.ImportSpec;
|
||||
import com.intellij.openapi.externalSystem.model.DataNode;
|
||||
import com.intellij.openapi.externalSystem.model.ProjectSystemId;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
/**
|
||||
* @author Vladislav.Soroka
|
||||
* @since 10/23/2014
|
||||
*/
|
||||
public interface ExternalProjectsManager {
|
||||
|
||||
static ExternalProjectsManager getInstance(@NotNull Project project) {
|
||||
return ServiceManager.getService(project, ExternalProjectsManager.class);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
Project getProject();
|
||||
|
||||
void refreshProject(@NotNull String externalProjectPath, @NotNull ImportSpec importSpec);
|
||||
|
||||
void runWhenInitialized(Runnable runnable);
|
||||
|
||||
boolean isIgnored(@NotNull ProjectSystemId systemId, @NotNull String projectPath);
|
||||
|
||||
void setIgnored(@NotNull DataNode<?> dataNode, boolean isIgnored);
|
||||
}
|
||||
+5
-8
@@ -18,20 +18,17 @@ package com.intellij.openapi.externalSystem.action;
|
||||
import com.intellij.icons.AllIcons;
|
||||
import com.intellij.openapi.actionSystem.AnActionEvent;
|
||||
import com.intellij.openapi.actionSystem.Presentation;
|
||||
import com.intellij.openapi.externalSystem.model.DataNode;
|
||||
import com.intellij.openapi.externalSystem.model.ExternalSystemDataKeys;
|
||||
import com.intellij.openapi.externalSystem.model.ProjectKeys;
|
||||
import com.intellij.openapi.externalSystem.model.ProjectSystemId;
|
||||
import com.intellij.openapi.externalSystem.model.project.ModuleData;
|
||||
import com.intellij.openapi.externalSystem.model.project.ProjectData;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ExternalProjectsManager;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ProjectDataManager;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ExternalProjectsManagerImpl;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ProjectDataManagerImpl;
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil;
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemBundle;
|
||||
import com.intellij.openapi.externalSystem.view.ProjectNode;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.module.ModuleManager;
|
||||
import com.intellij.openapi.project.DumbAware;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.SystemInfoRt;
|
||||
import com.intellij.util.containers.ContainerUtilRt;
|
||||
@@ -87,7 +84,7 @@ public class DetachExternalProjectAction extends ExternalSystemNodeAction<Projec
|
||||
forgetExternalProjects(Collections.singleton(projectData.getLinkedExternalProjectPath()));
|
||||
ExternalSystemApiUtil.getSettings(project, projectSystemId).unlinkExternalProject(projectData.getLinkedExternalProjectPath());
|
||||
|
||||
ExternalProjectsManager.getInstance(project).forgetExternalProjectData(projectSystemId, projectData.getLinkedExternalProjectPath());
|
||||
ExternalProjectsManagerImpl.getInstance(project).forgetExternalProjectData(projectSystemId, projectData.getLinkedExternalProjectPath());
|
||||
|
||||
// Process orphan modules.
|
||||
List<Module> orphanModules = ContainerUtilRt.newArrayList();
|
||||
@@ -102,8 +99,8 @@ public class DetachExternalProjectAction extends ExternalSystemNodeAction<Projec
|
||||
|
||||
if (!orphanModules.isEmpty()) {
|
||||
projectNode.getGroup().remove(projectNode);
|
||||
ProjectDataManager.getInstance().removeData(
|
||||
ProjectKeys.MODULE, orphanModules, Collections.<DataNode<ModuleData>>emptyList(), projectData, project, false);
|
||||
ProjectDataManagerImpl.getInstance().removeData(
|
||||
ProjectKeys.MODULE, orphanModules, Collections.emptyList(), projectData, project, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -20,7 +20,7 @@ import com.intellij.openapi.externalSystem.model.ExternalProjectInfo;
|
||||
import com.intellij.openapi.externalSystem.model.ExternalSystemDataKeys;
|
||||
import com.intellij.openapi.externalSystem.model.ProjectSystemId;
|
||||
import com.intellij.openapi.externalSystem.model.project.ProjectData;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ProjectDataManager;
|
||||
import com.intellij.openapi.externalSystem.service.project.ProjectDataManager;
|
||||
import com.intellij.openapi.externalSystem.service.ui.ExternalProjectDataSelectorDialog;
|
||||
import com.intellij.openapi.externalSystem.view.ExternalSystemNode;
|
||||
import com.intellij.openapi.externalSystem.view.ProjectNode;
|
||||
|
||||
+1
-1
@@ -24,7 +24,7 @@ import com.intellij.openapi.externalSystem.model.ExternalSystemDataKeys;
|
||||
import com.intellij.openapi.externalSystem.model.ProjectSystemId;
|
||||
import com.intellij.openapi.externalSystem.model.project.ExternalConfigPathAware;
|
||||
import com.intellij.openapi.externalSystem.model.project.ProjectData;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ProjectDataManager;
|
||||
import com.intellij.openapi.externalSystem.service.project.ProjectDataManager;
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemBundle;
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemUtil;
|
||||
import com.intellij.openapi.externalSystem.view.ExternalSystemNode;
|
||||
|
||||
+2
-2
@@ -24,7 +24,7 @@ import com.intellij.openapi.externalSystem.model.ProjectSystemId;
|
||||
import com.intellij.openapi.externalSystem.model.project.ModuleData;
|
||||
import com.intellij.openapi.externalSystem.model.project.ProjectData;
|
||||
import com.intellij.openapi.externalSystem.model.task.TaskData;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ExternalProjectsManager;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ExternalProjectsManagerImpl;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ExternalSystemKeymapExtension;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ExternalSystemShortcutsManager;
|
||||
import com.intellij.openapi.externalSystem.view.ExternalSystemNode;
|
||||
@@ -55,7 +55,7 @@ public class AssignShortcutAction extends ExternalSystemNodeAction<TaskData> {
|
||||
@NotNull ProjectSystemId projectSystemId,
|
||||
@NotNull TaskData taskData,
|
||||
@NotNull AnActionEvent e) {
|
||||
final ExternalSystemShortcutsManager shortcutsManager = ExternalProjectsManager.getInstance(project).getShortcutsManager();
|
||||
final ExternalSystemShortcutsManager shortcutsManager = ExternalProjectsManagerImpl.getInstance(project).getShortcutsManager();
|
||||
final String actionId = shortcutsManager.getActionId(taskData.getLinkedExternalProjectPath(), taskData.getName());
|
||||
if (actionId != null) {
|
||||
AnAction action = ActionManager.getInstance().getAction(actionId);
|
||||
|
||||
+2
-2
@@ -22,7 +22,7 @@ import com.intellij.openapi.externalSystem.model.ExternalSystemDataKeys;
|
||||
import com.intellij.openapi.externalSystem.model.execution.ExternalSystemTaskExecutionSettings;
|
||||
import com.intellij.openapi.externalSystem.model.task.TaskData;
|
||||
import com.intellij.openapi.externalSystem.service.execution.ExternalSystemRunConfiguration;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ExternalProjectsManager;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ExternalProjectsManagerImpl;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ExternalSystemTaskActivator;
|
||||
import com.intellij.openapi.externalSystem.view.ExternalSystemNode;
|
||||
import com.intellij.openapi.externalSystem.view.RunConfigurationNode;
|
||||
@@ -108,6 +108,6 @@ public abstract class ToggleTaskActivationAction extends ExternalSystemToggleAct
|
||||
|
||||
|
||||
private ExternalSystemTaskActivator getTaskActivator(AnActionEvent e) {
|
||||
return ExternalProjectsManager.getInstance(getProject(e)).getTaskActivator();
|
||||
return ExternalProjectsManagerImpl.getInstance(getProject(e)).getTaskActivator();
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -20,7 +20,7 @@ import com.intellij.openapi.externalSystem.ExternalSystemManager;
|
||||
import com.intellij.openapi.externalSystem.importing.ImportSpecBuilder;
|
||||
import com.intellij.openapi.externalSystem.model.ExternalSystemDataKeys;
|
||||
import com.intellij.openapi.externalSystem.service.project.ProjectRenameAware;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ExternalProjectsManager;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ExternalProjectsManagerImpl;
|
||||
import com.intellij.openapi.externalSystem.service.ui.ExternalToolWindowManager;
|
||||
import com.intellij.openapi.externalSystem.service.vcs.ExternalSystemVcsRegistrar;
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil;
|
||||
@@ -62,7 +62,7 @@ public class ExternalSystemStartupActivity implements StartupActivity {
|
||||
ProjectRenameAware.beAware(project);
|
||||
};
|
||||
|
||||
ExternalProjectsManager.getInstance(project).init();
|
||||
ExternalProjectsManagerImpl.getInstance(project).init();
|
||||
DumbService.getInstance(project).runWhenSmart(DisposeAwareRunnable.create(task, project));
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -26,7 +26,7 @@ import com.intellij.openapi.externalSystem.model.project.ModuleData;
|
||||
import com.intellij.openapi.externalSystem.model.project.ProjectData;
|
||||
import com.intellij.openapi.externalSystem.model.task.TaskData;
|
||||
import com.intellij.openapi.externalSystem.service.execution.cmd.CommandLineCompletionProvider;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ProjectDataManager;
|
||||
import com.intellij.openapi.externalSystem.service.project.ProjectDataManager;
|
||||
import com.intellij.openapi.externalSystem.settings.ExternalProjectSettings;
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil;
|
||||
import com.intellij.openapi.project.Project;
|
||||
|
||||
+2
-3
@@ -1,6 +1,5 @@
|
||||
package com.intellij.openapi.externalSystem.service.internal;
|
||||
|
||||
import com.intellij.execution.configurations.ParametersList;
|
||||
import com.intellij.openapi.components.ServiceManager;
|
||||
import com.intellij.openapi.externalSystem.ExternalSystemManager;
|
||||
import com.intellij.openapi.externalSystem.model.DataNode;
|
||||
@@ -15,7 +14,7 @@ import com.intellij.openapi.externalSystem.model.task.ExternalSystemTaskState;
|
||||
import com.intellij.openapi.externalSystem.model.task.ExternalSystemTaskType;
|
||||
import com.intellij.openapi.externalSystem.service.ExternalSystemFacadeManager;
|
||||
import com.intellij.openapi.externalSystem.service.notification.ExternalSystemProgressNotificationManager;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ProjectDataManager;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ProjectDataManagerImpl;
|
||||
import com.intellij.openapi.externalSystem.service.remote.ExternalSystemProgressNotificationManagerImpl;
|
||||
import com.intellij.openapi.externalSystem.service.remote.RemoteExternalSystemProjectResolver;
|
||||
import com.intellij.openapi.externalSystem.settings.ExternalProjectSettings;
|
||||
@@ -139,7 +138,7 @@ public class ExternalSystemResolveProjectTask extends AbstractExternalSystemTask
|
||||
final long currentTimeMillis = System.currentTimeMillis();
|
||||
projectInfo.setLastImportTimestamp(currentTimeMillis);
|
||||
projectInfo.setLastSuccessfulImportTimestamp(state == ExternalSystemTaskState.FAILED ? -1 : currentTimeMillis);
|
||||
ProjectDataManager.getInstance().updateExternalProjectData(getIdeProject(), projectInfo);
|
||||
ProjectDataManagerImpl.getInstance().updateExternalProjectData(getIdeProject(), projectInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -28,7 +28,7 @@ import com.intellij.openapi.externalSystem.ExternalSystemConfigurableAware;
|
||||
import com.intellij.openapi.externalSystem.ExternalSystemManager;
|
||||
import com.intellij.openapi.externalSystem.model.LocationAwareExternalSystemException;
|
||||
import com.intellij.openapi.externalSystem.model.ProjectSystemId;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ExternalProjectsManager;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ExternalProjectsManagerImpl;
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil;
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemBundle;
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemUtil;
|
||||
@@ -156,7 +156,7 @@ public class ExternalSystemNotificationManager implements Disposable {
|
||||
NotificationGroup group;
|
||||
if (notificationData.getBalloonGroup() == null) {
|
||||
ExternalProjectsView externalProjectsView =
|
||||
ExternalProjectsManager.getInstance(myProject).getExternalProjectsView(externalSystemId);
|
||||
ExternalProjectsManagerImpl.getInstance(myProject).getExternalProjectsView(externalSystemId);
|
||||
group = externalProjectsView instanceof ExternalProjectsViewImpl ?
|
||||
((ExternalProjectsViewImpl)externalProjectsView).getNotificationGroup() : null;
|
||||
}
|
||||
|
||||
+12
-14
@@ -33,7 +33,7 @@ import com.intellij.openapi.externalSystem.service.execution.ProgressExecutionMo
|
||||
import com.intellij.openapi.externalSystem.service.internal.ExternalSystemProcessingManager;
|
||||
import com.intellij.openapi.externalSystem.service.notification.ExternalSystemProgressNotificationManager;
|
||||
import com.intellij.openapi.externalSystem.service.project.ExternalProjectRefreshCallback;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ProjectDataManager;
|
||||
import com.intellij.openapi.externalSystem.service.project.ProjectDataManager;
|
||||
import com.intellij.openapi.externalSystem.settings.ExternalProjectSettings;
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil;
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemBundle;
|
||||
@@ -609,22 +609,20 @@ public class ExternalSystemProjectsWatcher extends ExternalSystemTaskNotificatio
|
||||
PsiFile psiFile = PsiManager.getInstance(myProject).findFile(file);
|
||||
if (psiFile != null) {
|
||||
final CRC32 crc32 = new CRC32();
|
||||
ApplicationManager.getApplication().runReadAction(() -> {
|
||||
psiFile.acceptChildren(new PsiRecursiveElementVisitor() {
|
||||
@Override
|
||||
public void visitElement(PsiElement element) {
|
||||
if (element instanceof LeafElement && !(element instanceof PsiWhiteSpace) && !(element instanceof PsiComment)) {
|
||||
String text = element.getText();
|
||||
if (!text.trim().isEmpty()) {
|
||||
for (int i = 0, end = text.length(); i < end; i++) {
|
||||
crc32.update(text.charAt(i));
|
||||
}
|
||||
ApplicationManager.getApplication().runReadAction(() -> psiFile.acceptChildren(new PsiRecursiveElementVisitor() {
|
||||
@Override
|
||||
public void visitElement(PsiElement element) {
|
||||
if (element instanceof LeafElement && !(element instanceof PsiWhiteSpace) && !(element instanceof PsiComment)) {
|
||||
String text = element.getText();
|
||||
if (!text.trim().isEmpty()) {
|
||||
for (int i = 0, end = text.length(); i < end; i++) {
|
||||
crc32.update(text.charAt(i));
|
||||
}
|
||||
}
|
||||
super.visitElement(element);
|
||||
}
|
||||
});
|
||||
});
|
||||
super.visitElement(element);
|
||||
}
|
||||
}));
|
||||
newCrc = crc32.getValue();
|
||||
}
|
||||
else {
|
||||
|
||||
+1
-1
@@ -176,6 +176,6 @@ public class ExternalModuleStructureExtension extends ModuleStructureExtension {
|
||||
private static void unlinkProject(@NotNull Project project, ProjectSystemId systemId, String rootProjectPath) {
|
||||
ExternalSystemApiUtil.getLocalSettings(project, systemId).forgetExternalProjects(Collections.singleton(rootProjectPath));
|
||||
ExternalSystemApiUtil.getSettings(project, systemId).unlinkExternalProject(rootProjectPath);
|
||||
ExternalProjectsManager.getInstance(project).forgetExternalProjectData(systemId, rootProjectPath);
|
||||
ExternalProjectsManagerImpl.getInstance(project).forgetExternalProjectData(systemId, rootProjectPath);
|
||||
}
|
||||
}
|
||||
|
||||
+8
-4
@@ -19,7 +19,10 @@ import com.intellij.openapi.application.PathManager;
|
||||
import com.intellij.openapi.components.*;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.externalSystem.ExternalSystemManager;
|
||||
import com.intellij.openapi.externalSystem.model.*;
|
||||
import com.intellij.openapi.externalSystem.model.DataNode;
|
||||
import com.intellij.openapi.externalSystem.model.ExternalProjectInfo;
|
||||
import com.intellij.openapi.externalSystem.model.Key;
|
||||
import com.intellij.openapi.externalSystem.model.ProjectSystemId;
|
||||
import com.intellij.openapi.externalSystem.model.execution.ExternalTaskPojo;
|
||||
import com.intellij.openapi.externalSystem.model.internal.InternalExternalProjectInfo;
|
||||
import com.intellij.openapi.externalSystem.model.project.ExternalConfigPathAware;
|
||||
@@ -35,7 +38,8 @@ import com.intellij.openapi.module.ModuleTypeId;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.Pair;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.util.*;
|
||||
import com.intellij.util.Alarm;
|
||||
import com.intellij.util.SmartList;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import com.intellij.util.containers.MultiMap;
|
||||
import com.intellij.util.xmlb.annotations.AbstractCollection;
|
||||
@@ -105,7 +109,7 @@ public class ExternalProjectsDataStorage implements SettingsSavingComponent, Per
|
||||
final DataNode<ProjectData> projectStructure = externalProjectInfo.getExternalProjectStructure();
|
||||
if (projectStructure == null) return false;
|
||||
|
||||
ProjectDataManager.getInstance().ensureTheDataIsReadyToUse(projectStructure);
|
||||
ProjectDataManagerImpl.getInstance().ensureTheDataIsReadyToUse(projectStructure);
|
||||
return externalProjectInfo.getExternalProjectPath().equals(projectStructure.getData().getLinkedExternalProjectPath());
|
||||
}
|
||||
catch (Exception e) {
|
||||
@@ -262,7 +266,7 @@ public class ExternalProjectsDataStorage implements SettingsSavingComponent, Per
|
||||
if (linkedProjectSettings != null && ContainerUtil.isEmpty(linkedProjectSettings.getModules())) {
|
||||
|
||||
final Set<String> modulePaths = ContainerUtil.map2Set(
|
||||
ExternalSystemApiUtil.findAllRecursively(externalProjectInfo.getExternalProjectStructure(), ProjectKeys.MODULE),
|
||||
ExternalSystemApiUtil.findAllRecursively(externalProjectInfo.getExternalProjectStructure(), MODULE),
|
||||
node -> node.getData().getLinkedExternalProjectPath());
|
||||
linkedProjectSettings.setModules(modulePaths);
|
||||
}
|
||||
|
||||
+21
-11
@@ -20,6 +20,7 @@ import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.components.*;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.externalSystem.ExternalSystemManager;
|
||||
import com.intellij.openapi.externalSystem.importing.ImportSpec;
|
||||
import com.intellij.openapi.externalSystem.model.DataNode;
|
||||
import com.intellij.openapi.externalSystem.model.ExternalProjectInfo;
|
||||
import com.intellij.openapi.externalSystem.model.ProjectSystemId;
|
||||
@@ -54,7 +55,7 @@ import static com.intellij.openapi.externalSystem.model.ProjectKeys.TASK;
|
||||
* @since 10/23/2014
|
||||
*/
|
||||
@State(name = "ExternalProjectsManager", storages = {@Storage(StoragePathMacros.WORKSPACE_FILE)})
|
||||
public class ExternalProjectsManager implements PersistentStateComponent<ExternalProjectsState>, Disposable {
|
||||
public class ExternalProjectsManagerImpl implements ExternalProjectsManager, PersistentStateComponent<ExternalProjectsState>, Disposable {
|
||||
private static final Logger LOG = Logger.getInstance(ExternalProjectsManager.class);
|
||||
|
||||
private final AtomicBoolean isInitializationFinished = new AtomicBoolean();
|
||||
@@ -71,12 +72,7 @@ public class ExternalProjectsManager implements PersistentStateComponent<Externa
|
||||
private final List<ExternalProjectsView> myProjectsViews = new SmartList<>();
|
||||
private ExternalSystemProjectsWatcher myWatcher;
|
||||
|
||||
|
||||
public static ExternalProjectsManager getInstance(@NotNull Project project) {
|
||||
return ServiceManager.getService(project, ExternalProjectsManager.class);
|
||||
}
|
||||
|
||||
public ExternalProjectsManager(@NotNull Project project) {
|
||||
public ExternalProjectsManagerImpl(@NotNull Project project) {
|
||||
myProject = project;
|
||||
myShortcutsManager = new ExternalSystemShortcutsManager(project);
|
||||
Disposer.register(this, myShortcutsManager);
|
||||
@@ -84,7 +80,13 @@ public class ExternalProjectsManager implements PersistentStateComponent<Externa
|
||||
myRunManagerListener = new ExternalSystemRunManagerListener(this);
|
||||
}
|
||||
|
||||
public static ExternalProjectsManagerImpl getInstance(@NotNull Project project) {
|
||||
ExternalProjectsManager service = ServiceManager.getService(project, ExternalProjectsManager.class);
|
||||
return (ExternalProjectsManagerImpl)service;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public Project getProject() {
|
||||
return myProject;
|
||||
}
|
||||
@@ -112,7 +114,7 @@ public class ExternalProjectsManager implements PersistentStateComponent<Externa
|
||||
@Nullable
|
||||
public ExternalProjectsView getExternalProjectsView(@NotNull ProjectSystemId systemId) {
|
||||
for (ExternalProjectsView projectsView : myProjectsViews) {
|
||||
if(projectsView.getSystemId().equals(systemId)) return projectsView;
|
||||
if (projectsView.getSystemId().equals(systemId)) return projectsView;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
@@ -155,8 +157,14 @@ public class ExternalProjectsManager implements PersistentStateComponent<Externa
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void refreshProject(@NotNull final String externalProjectPath, @NotNull final ImportSpec importSpec) {
|
||||
ExternalSystemUtil.refreshProject(externalProjectPath, importSpec);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void runWhenInitialized(Runnable runnable) {
|
||||
synchronized(isInitializationFinished) {
|
||||
synchronized (isInitializationFinished) {
|
||||
if (isInitializationFinished.get()) {
|
||||
ApplicationManager.getApplication().executeOnPooledThread(runnable);
|
||||
}
|
||||
@@ -213,7 +221,7 @@ public class ExternalProjectsManager implements PersistentStateComponent<Externa
|
||||
.collect(Collectors.toMap(o -> o.getSystemId().getId(), o -> o.getSystemId()));
|
||||
for (Map.Entry<String, ExternalProjectsState.State> systemState : myState.getExternalSystemsState().entrySet()) {
|
||||
ProjectSystemId systemId = systemIds.get(systemState.getKey());
|
||||
if(systemId == null) continue;
|
||||
if (systemId == null) continue;
|
||||
|
||||
for (Map.Entry<String, TaskActivationState> activationStateEntry : systemState.getValue().getExternalSystemsTaskActivation()
|
||||
.entrySet()) {
|
||||
@@ -243,6 +251,7 @@ public class ExternalProjectsManager implements PersistentStateComponent<Externa
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isIgnored(@NotNull ProjectSystemId systemId, @NotNull String projectPath) {
|
||||
final ExternalProjectInfo projectInfo = ExternalSystemUtil.getExternalProjectInfo(myProject, systemId, projectPath);
|
||||
if (projectInfo == null) return true;
|
||||
@@ -250,6 +259,7 @@ public class ExternalProjectsManager implements PersistentStateComponent<Externa
|
||||
return ExternalProjectsDataStorage.getInstance(myProject).isIgnored(projectInfo.getExternalProjectPath(), projectPath, MODULE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setIgnored(@NotNull DataNode<?> dataNode, boolean isIgnored) {
|
||||
ExternalProjectsDataStorage.getInstance(myProject).setIgnored(dataNode, isIgnored);
|
||||
ExternalSystemKeymapExtension.updateActions(myProject, ExternalSystemApiUtil.findAllRecursively(dataNode, TASK));
|
||||
@@ -264,7 +274,7 @@ public class ExternalProjectsManager implements PersistentStateComponent<Externa
|
||||
public void dispose() {
|
||||
myProjectsViews.clear();
|
||||
myRunManagerListener.detach();
|
||||
if(myWatcher != null) {
|
||||
if (myWatcher != null) {
|
||||
myWatcher.stop();
|
||||
}
|
||||
myWatcher = null;
|
||||
+4
-4
@@ -88,7 +88,7 @@ public class ExternalSystemKeymapExtension implements KeymapExtension {
|
||||
|
||||
MultiMap<ProjectSystemId, String> projectToActionsMapping = MultiMap.create();
|
||||
for (ExternalSystemManager<?, ?, ?, ?, ?> manager : ExternalSystemApiUtil.getAllManagers()) {
|
||||
projectToActionsMapping.putValues(manager.getSystemId(), ContainerUtil.<String>emptyList());
|
||||
projectToActionsMapping.putValues(manager.getSystemId(), ContainerUtil.emptyList());
|
||||
}
|
||||
|
||||
ActionManager actionManager = ActionManager.getInstance();
|
||||
@@ -194,7 +194,7 @@ public class ExternalSystemKeymapExtension implements KeymapExtension {
|
||||
|
||||
private static void createActions(Project project, Collection<DataNode<TaskData>> taskNodes) {
|
||||
ActionManager actionManager = ActionManager.getInstance();
|
||||
final ExternalSystemShortcutsManager shortcutsManager = ExternalProjectsManager.getInstance(project).getShortcutsManager();
|
||||
final ExternalSystemShortcutsManager shortcutsManager = ExternalProjectsManagerImpl.getInstance(project).getShortcutsManager();
|
||||
if (actionManager != null) {
|
||||
for (DataNode<TaskData> each : taskNodes) {
|
||||
final DataNode<ModuleData> moduleData = ExternalSystemApiUtil.findParent(each, ProjectKeys.MODULE);
|
||||
@@ -233,7 +233,7 @@ public class ExternalSystemKeymapExtension implements KeymapExtension {
|
||||
}
|
||||
|
||||
public static String getActionPrefix(@NotNull Project project, @Nullable String path) {
|
||||
return ExternalProjectsManager.getInstance(project).getShortcutsManager().getActionId(path, null);
|
||||
return ExternalProjectsManagerImpl.getInstance(project).getShortcutsManager().getActionId(path, null);
|
||||
}
|
||||
|
||||
public static void updateRunConfigurationActions(Project project, ProjectSystemId systemId) {
|
||||
@@ -251,7 +251,7 @@ public class ExternalSystemKeymapExtension implements KeymapExtension {
|
||||
Set<RunnerAndConfigurationSettings> settings = new THashSet<>(
|
||||
RunManager.getInstance(project).getConfigurationSettingsList(configurationType));
|
||||
|
||||
final ExternalSystemShortcutsManager shortcutsManager = ExternalProjectsManager.getInstance(project).getShortcutsManager();
|
||||
final ExternalSystemShortcutsManager shortcutsManager = ExternalProjectsManagerImpl.getInstance(project).getShortcutsManager();
|
||||
for (RunnerAndConfigurationSettings configurationSettings : settings) {
|
||||
ExternalSystemRunConfigurationAction runConfigurationAction =
|
||||
new ExternalSystemRunConfigurationAction(project, configurationSettings);
|
||||
|
||||
+5
-4
@@ -23,6 +23,7 @@ import com.intellij.openapi.externalSystem.ExternalSystemManager;
|
||||
import com.intellij.openapi.externalSystem.model.execution.ExternalSystemTaskExecutionSettings;
|
||||
import com.intellij.openapi.externalSystem.service.execution.AbstractExternalSystemTaskConfigurationType;
|
||||
import com.intellij.openapi.externalSystem.service.execution.ExternalSystemRunConfiguration;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ExternalProjectsManagerImpl.ExternalProjectsStateProvider;
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil;
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemUtil;
|
||||
import com.intellij.openapi.util.Pair;
|
||||
@@ -42,11 +43,11 @@ import static com.intellij.openapi.externalSystem.service.project.manage.Externa
|
||||
*/
|
||||
class ExternalSystemRunManagerListener implements RunManagerListener {
|
||||
|
||||
private ExternalProjectsManager myManager;
|
||||
private ExternalProjectsManagerImpl myManager;
|
||||
private final Map<Integer, Pair<String, RunnerAndConfigurationSettings>> myMap;
|
||||
|
||||
public ExternalSystemRunManagerListener(ExternalProjectsManager manager) {
|
||||
myManager = manager;
|
||||
myManager = (ExternalProjectsManagerImpl)manager;
|
||||
myMap = ContainerUtil.newConcurrentMap();
|
||||
}
|
||||
|
||||
@@ -61,7 +62,7 @@ class ExternalSystemRunManagerListener implements RunManagerListener {
|
||||
final Pair<String, RunnerAndConfigurationSettings> pair = myMap.remove(System.identityHashCode(settings));
|
||||
if (pair == null) return;
|
||||
|
||||
final ExternalProjectsManager.ExternalProjectsStateProvider stateProvider = myManager.getStateProvider();
|
||||
final ExternalProjectsStateProvider stateProvider = myManager.getStateProvider();
|
||||
final ExternalSystemTaskExecutionSettings taskExecutionSettings =
|
||||
((ExternalSystemRunConfiguration)settings.getConfiguration()).getSettings();
|
||||
|
||||
@@ -87,7 +88,7 @@ class ExternalSystemRunManagerListener implements RunManagerListener {
|
||||
if (settings.getConfiguration() instanceof ExternalSystemRunConfiguration) {
|
||||
final Pair<String, RunnerAndConfigurationSettings> pair = myMap.get(System.identityHashCode(settings));
|
||||
if (pair != null) {
|
||||
final ExternalProjectsManager.ExternalProjectsStateProvider stateProvider = myManager.getStateProvider();
|
||||
final ExternalProjectsStateProvider stateProvider = myManager.getStateProvider();
|
||||
final ExternalSystemTaskExecutionSettings taskExecutionSettings =
|
||||
((ExternalSystemRunConfiguration)settings.getConfiguration()).getSettings();
|
||||
|
||||
|
||||
+9
-10
@@ -29,20 +29,18 @@ import com.intellij.openapi.externalSystem.model.task.TaskData;
|
||||
import com.intellij.openapi.externalSystem.service.execution.AbstractExternalSystemTaskConfigurationType;
|
||||
import com.intellij.openapi.externalSystem.service.execution.ExternalSystemRunConfiguration;
|
||||
import com.intellij.openapi.externalSystem.service.execution.ProgressExecutionMode;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ExternalProjectsManager.ExternalProjectsStateProvider;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ExternalProjectsManagerImpl.ExternalProjectsStateProvider;
|
||||
import com.intellij.openapi.externalSystem.settings.AbstractExternalSystemSettings;
|
||||
import com.intellij.openapi.externalSystem.settings.ExternalProjectSettings;
|
||||
import com.intellij.openapi.externalSystem.task.TaskCallback;
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil;
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemBundle;
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemUtil;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.Pair;
|
||||
import com.intellij.openapi.util.Ref;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.util.ArrayUtil;
|
||||
import com.intellij.util.Function;
|
||||
import com.intellij.util.concurrency.Semaphore;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import com.intellij.util.containers.FactoryMap;
|
||||
@@ -96,7 +94,7 @@ public class ExternalSystemTaskActivator {
|
||||
public String getDescription(ProjectSystemId systemId, String projectPath, String taskName) {
|
||||
List<String> result = new ArrayList<>();
|
||||
final ExternalProjectsStateProvider stateProvider =
|
||||
ExternalProjectsManager.getInstance(myProject).getStateProvider();
|
||||
ExternalProjectsManagerImpl.getInstance(myProject).getStateProvider();
|
||||
final TaskActivationState taskActivationState = stateProvider.getTasksActivation(systemId, projectPath);
|
||||
if (taskActivationState == null) return null;
|
||||
|
||||
@@ -133,7 +131,8 @@ public class ExternalSystemTaskActivator {
|
||||
}
|
||||
|
||||
public boolean runTasks(@NotNull Collection<String> modules, @NotNull Phase... phases) {
|
||||
final ExternalProjectsStateProvider stateProvider = ExternalProjectsManager.getInstance(myProject).getStateProvider();
|
||||
final ExternalProjectsStateProvider stateProvider =
|
||||
ExternalProjectsManagerImpl.getInstance(myProject).getStateProvider();
|
||||
|
||||
final Queue<Pair<ProjectSystemId, ExternalSystemTaskExecutionSettings>> tasksQueue =
|
||||
new LinkedList<>();
|
||||
@@ -245,7 +244,7 @@ public class ExternalSystemTaskActivator {
|
||||
}
|
||||
|
||||
public boolean isTaskOfPhase(@NotNull TaskData taskData, @NotNull Phase phase) {
|
||||
final ExternalProjectsStateProvider stateProvider = ExternalProjectsManager.getInstance(myProject).getStateProvider();
|
||||
final ExternalProjectsStateProvider stateProvider = ExternalProjectsManagerImpl.getInstance(myProject).getStateProvider();
|
||||
final TaskActivationState taskActivationState =
|
||||
stateProvider.getTasksActivation(taskData.getOwner(), taskData.getLinkedExternalProjectPath());
|
||||
if (taskActivationState == null) return false;
|
||||
@@ -263,7 +262,7 @@ public class ExternalSystemTaskActivator {
|
||||
public void addTasks(@NotNull Collection<TaskActivationEntry> entries) {
|
||||
if (entries.isEmpty()) return;
|
||||
|
||||
final ExternalProjectsStateProvider stateProvider = ExternalProjectsManager.getInstance(myProject).getStateProvider();
|
||||
final ExternalProjectsStateProvider stateProvider = ExternalProjectsManagerImpl.getInstance(myProject).getStateProvider();
|
||||
for (TaskActivationEntry entry : entries) {
|
||||
final TaskActivationState taskActivationState = stateProvider.getTasksActivation(entry.systemId, entry.projectPath);
|
||||
taskActivationState.getTasks(entry.phase).add(entry.taskName);
|
||||
@@ -279,7 +278,7 @@ public class ExternalSystemTaskActivator {
|
||||
|
||||
public void removeTasks(@NotNull Collection<TaskActivationEntry> entries) {
|
||||
if (entries.isEmpty()) return;
|
||||
final ExternalProjectsStateProvider stateProvider = ExternalProjectsManager.getInstance(myProject).getStateProvider();
|
||||
final ExternalProjectsStateProvider stateProvider = ExternalProjectsManagerImpl.getInstance(myProject).getStateProvider();
|
||||
for (TaskActivationEntry activationEntry : entries) {
|
||||
final TaskActivationState taskActivationState =
|
||||
stateProvider.getTasksActivation(activationEntry.systemId, activationEntry.projectPath);
|
||||
@@ -300,7 +299,7 @@ public class ExternalSystemTaskActivator {
|
||||
public void moveTasks(@NotNull Collection<TaskActivationEntry> entries, int increment) {
|
||||
LOG.assertTrue(increment == -1 || increment == 1);
|
||||
|
||||
final ExternalProjectsStateProvider stateProvider = ExternalProjectsManager.getInstance(myProject).getStateProvider();
|
||||
final ExternalProjectsStateProvider stateProvider = ExternalProjectsManagerImpl.getInstance(myProject).getStateProvider();
|
||||
for (TaskActivationEntry activationEntry : entries) {
|
||||
final TaskActivationState taskActivationState =
|
||||
stateProvider.getTasksActivation(activationEntry.systemId, activationEntry.projectPath);
|
||||
@@ -319,7 +318,7 @@ public class ExternalSystemTaskActivator {
|
||||
int increment) {
|
||||
LOG.assertTrue(increment == -1 || increment == 1);
|
||||
|
||||
final ExternalProjectsStateProvider stateProvider = ExternalProjectsManager.getInstance(myProject).getStateProvider();
|
||||
final ExternalProjectsStateProvider stateProvider = ExternalProjectsManagerImpl.getInstance(myProject).getStateProvider();
|
||||
final Map<String, TaskActivationState> activationMap = stateProvider.getProjectsTasksActivationMap(systemId);
|
||||
final List<String> currentPaths = ContainerUtil.newArrayList(activationMap.keySet());
|
||||
if (pathsGroup != null) {
|
||||
|
||||
+10
-5
@@ -13,11 +13,7 @@ import com.intellij.openapi.externalSystem.model.ProjectSystemId;
|
||||
import com.intellij.openapi.externalSystem.model.internal.InternalExternalProjectInfo;
|
||||
import com.intellij.openapi.externalSystem.model.project.ProjectData;
|
||||
import com.intellij.openapi.externalSystem.service.execution.ProgressExecutionMode;
|
||||
import com.intellij.openapi.externalSystem.service.project.ExternalProjectRefreshCallback;
|
||||
import com.intellij.openapi.externalSystem.service.project.IdeModifiableModelsProvider;
|
||||
import com.intellij.openapi.externalSystem.service.project.IdeModifiableModelsProviderImpl;
|
||||
import com.intellij.openapi.externalSystem.service.project.IdeUIModifiableModelsProvider;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ProjectDataManager;
|
||||
import com.intellij.openapi.externalSystem.service.project.*;
|
||||
import com.intellij.openapi.externalSystem.service.settings.AbstractImportFromExternalSystemControl;
|
||||
import com.intellij.openapi.externalSystem.service.ui.ExternalProjectDataSelectorDialog;
|
||||
import com.intellij.openapi.externalSystem.settings.AbstractExternalSystemSettings;
|
||||
@@ -71,6 +67,15 @@ public abstract class AbstractExternalProjectImportBuilder<C extends AbstractImp
|
||||
|
||||
private DataNode<ProjectData> myExternalProjectNode;
|
||||
|
||||
/**
|
||||
* @deprecated use {@link AbstractExternalProjectImportBuilder#AbstractExternalProjectImportBuilder(ProjectDataManager, AbstractImportFromExternalSystemControl, ProjectSystemId)}
|
||||
*/
|
||||
public AbstractExternalProjectImportBuilder(@NotNull com.intellij.openapi.externalSystem.service.project.manage.ProjectDataManager projectDataManager,
|
||||
@NotNull C control,
|
||||
@NotNull ProjectSystemId externalSystemId) {
|
||||
this((ProjectDataManager)projectDataManager, control, externalSystemId);
|
||||
}
|
||||
|
||||
public AbstractExternalProjectImportBuilder(@NotNull ProjectDataManager projectDataManager,
|
||||
@NotNull C control,
|
||||
@NotNull ProjectSystemId externalSystemId)
|
||||
|
||||
+2
-2
@@ -16,7 +16,7 @@
|
||||
package com.intellij.openapi.externalSystem.service.task.ui;
|
||||
|
||||
import com.intellij.openapi.externalSystem.model.ProjectSystemId;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ExternalProjectsManager;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ExternalProjectsManagerImpl;
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemBundle;
|
||||
import com.intellij.openapi.externalSystem.view.ExternalProjectsViewImpl;
|
||||
import com.intellij.openapi.project.DumbAware;
|
||||
@@ -45,7 +45,7 @@ public abstract class AbstractExternalSystemToolWindowFactory implements ToolWin
|
||||
toolWindow.setTitle(myExternalSystemId.getReadableName());
|
||||
ContentManager contentManager = toolWindow.getContentManager();
|
||||
final ExternalProjectsViewImpl projectsView = new ExternalProjectsViewImpl(project, (ToolWindowEx)toolWindow, myExternalSystemId);
|
||||
ExternalProjectsManager.getInstance(project).registerView(projectsView);
|
||||
ExternalProjectsManagerImpl.getInstance(project).registerView(projectsView);
|
||||
ContentImpl tasksContent = new ContentImpl(projectsView, ExternalSystemBundle.message("tool.window.title.projects"), true);
|
||||
contentManager.addContent(tasksContent);
|
||||
}
|
||||
|
||||
+3
-3
@@ -27,9 +27,10 @@ import com.intellij.openapi.externalSystem.model.ExternalProjectInfo;
|
||||
import com.intellij.openapi.externalSystem.model.ProjectKeys;
|
||||
import com.intellij.openapi.externalSystem.model.ProjectSystemId;
|
||||
import com.intellij.openapi.externalSystem.model.project.ModuleData;
|
||||
import com.intellij.openapi.externalSystem.service.project.ProjectDataManager;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ExternalProjectsManagerImpl.ExternalProjectsStateProvider;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ExternalSystemTaskActivator;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ExternalSystemTaskActivator.Phase;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ProjectDataManager;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.TaskActivationState;
|
||||
import com.intellij.openapi.externalSystem.settings.AbstractExternalSystemSettings;
|
||||
import com.intellij.openapi.externalSystem.settings.ExternalProjectSettings;
|
||||
@@ -67,8 +68,7 @@ import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.util.*;
|
||||
|
||||
import static com.intellij.openapi.externalSystem.service.project.manage.ExternalProjectsManager.ExternalProjectsStateProvider;
|
||||
import static com.intellij.openapi.externalSystem.service.project.manage.ExternalProjectsManager.getInstance;
|
||||
import static com.intellij.openapi.externalSystem.service.project.manage.ExternalProjectsManagerImpl.getInstance;
|
||||
import static com.intellij.openapi.externalSystem.service.project.manage.ExternalSystemTaskActivator.TaskActivationEntry;
|
||||
|
||||
/**
|
||||
|
||||
+3
-4
@@ -19,8 +19,8 @@ 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.ProjectData;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ExternalProjectsManager;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ProjectDataManager;
|
||||
import com.intellij.openapi.externalSystem.service.project.ProjectDataManager;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ExternalProjectsManagerImpl;
|
||||
import com.intellij.openapi.externalSystem.view.ExternalProjectsStructure;
|
||||
import com.intellij.openapi.externalSystem.view.ExternalProjectsView;
|
||||
import com.intellij.openapi.externalSystem.view.ExternalProjectsViewAdapter;
|
||||
@@ -32,7 +32,6 @@ import com.intellij.ui.ScrollPaneFactory;
|
||||
import com.intellij.ui.treeStructure.SimpleNode;
|
||||
import com.intellij.ui.treeStructure.SimpleNodeVisitor;
|
||||
import com.intellij.ui.treeStructure.SimpleTree;
|
||||
import com.intellij.util.Function;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import com.intellij.util.ui.JBUI;
|
||||
import com.intellij.util.ui.tree.TreeUtil;
|
||||
@@ -81,7 +80,7 @@ public class SelectExternalSystemNodeDialog extends DialogWrapper {
|
||||
myTree = new SimpleTree();
|
||||
myTree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
|
||||
|
||||
final ExternalProjectsView projectsView = ExternalProjectsManager.getInstance(project).getExternalProjectsView(systemId);
|
||||
final ExternalProjectsView projectsView = ExternalProjectsManagerImpl.getInstance(project).getExternalProjectsView(systemId);
|
||||
if(projectsView != null) {
|
||||
final ExternalProjectsStructure treeStructure = new ExternalProjectsStructure(project, myTree) {
|
||||
@SuppressWarnings("unchecked")
|
||||
|
||||
+6
-5
@@ -52,10 +52,11 @@ import com.intellij.openapi.externalSystem.service.internal.ExternalSystemResolv
|
||||
import com.intellij.openapi.externalSystem.service.notification.ExternalSystemNotificationManager;
|
||||
import com.intellij.openapi.externalSystem.service.notification.NotificationSource;
|
||||
import com.intellij.openapi.externalSystem.service.project.ExternalProjectRefreshCallback;
|
||||
import com.intellij.openapi.externalSystem.service.project.ProjectDataManager;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ContentRootDataService;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ExternalProjectsManager;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ExternalProjectsManagerImpl;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ExternalSystemTaskActivator;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ProjectDataManager;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ProjectDataManagerImpl;
|
||||
import com.intellij.openapi.externalSystem.settings.AbstractExternalSystemSettings;
|
||||
import com.intellij.openapi.externalSystem.settings.ExternalProjectSettings;
|
||||
import com.intellij.openapi.externalSystem.task.TaskCallback;
|
||||
@@ -405,7 +406,7 @@ public class ExternalSystemUtil {
|
||||
.clearNotifications(null, NotificationSource.PROJECT_SYNC, externalSystemId);
|
||||
}
|
||||
|
||||
final ExternalSystemTaskActivator externalSystemTaskActivator = ExternalProjectsManager.getInstance(project).getTaskActivator();
|
||||
final ExternalSystemTaskActivator externalSystemTaskActivator = ExternalProjectsManagerImpl.getInstance(project).getTaskActivator();
|
||||
if (!isPreviewMode && !externalSystemTaskActivator.runTasks(externalProjectPath, ExternalSystemTaskActivator.Phase.BEFORE_SYNC)) {
|
||||
return;
|
||||
}
|
||||
@@ -785,7 +786,7 @@ public class ExternalSystemUtil {
|
||||
}
|
||||
|
||||
public static void scheduleExternalViewStructureUpdate(@NotNull final Project project, @NotNull final ProjectSystemId systemId) {
|
||||
ExternalProjectsView externalProjectsView = ExternalProjectsManager.getInstance(project).getExternalProjectsView(systemId);
|
||||
ExternalProjectsView externalProjectsView = ExternalProjectsManagerImpl.getInstance(project).getExternalProjectsView(systemId);
|
||||
if (externalProjectsView instanceof ExternalProjectsViewImpl) {
|
||||
((ExternalProjectsViewImpl)externalProjectsView).scheduleStructureUpdate();
|
||||
}
|
||||
@@ -799,7 +800,7 @@ public class ExternalSystemUtil {
|
||||
ExternalSystemApiUtil.getSettings(project, projectSystemId).getLinkedProjectSettings(externalProjectPath);
|
||||
if (linkedProjectSettings == null) return null;
|
||||
|
||||
return ProjectDataManager.getInstance().getExternalProjectData(
|
||||
return ProjectDataManagerImpl.getInstance().getExternalProjectData(
|
||||
project, projectSystemId, linkedProjectSettings.getExternalProjectPath());
|
||||
}
|
||||
|
||||
|
||||
+5
-5
@@ -31,10 +31,10 @@ import com.intellij.openapi.externalSystem.model.execution.ExternalTaskExecution
|
||||
import com.intellij.openapi.externalSystem.model.project.ProjectData;
|
||||
import com.intellij.openapi.externalSystem.model.task.TaskData;
|
||||
import com.intellij.openapi.externalSystem.service.execution.ExternalSystemTaskLocation;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ExternalProjectsManager;
|
||||
import com.intellij.openapi.externalSystem.service.project.ProjectDataManager;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ExternalProjectsManagerImpl;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ExternalSystemShortcutsManager;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ExternalSystemTaskActivator;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ProjectDataManager;
|
||||
import com.intellij.openapi.externalSystem.settings.ExternalSystemSettingsListenerAdapter;
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil;
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemUiUtil;
|
||||
@@ -77,7 +77,7 @@ public class ExternalProjectsViewImpl extends SimpleToolWindowPanel implements D
|
||||
@NotNull
|
||||
private final Project myProject;
|
||||
@NotNull
|
||||
private final ExternalProjectsManager myProjectsManager;
|
||||
private final ExternalProjectsManagerImpl myProjectsManager;
|
||||
@NotNull
|
||||
private final ToolWindowEx myToolWindow;
|
||||
@NotNull
|
||||
@@ -101,7 +101,7 @@ public class ExternalProjectsViewImpl extends SimpleToolWindowPanel implements D
|
||||
myToolWindow = toolWindow;
|
||||
myExternalSystemId = externalSystemId;
|
||||
myUiAware = ExternalSystemUiUtil.getUiAware(externalSystemId);
|
||||
myProjectsManager = ExternalProjectsManager.getInstance(myProject);
|
||||
myProjectsManager = ExternalProjectsManagerImpl.getInstance(myProject);
|
||||
|
||||
String toolWindowId =
|
||||
toolWindow instanceof ToolWindowImpl ? ((ToolWindowImpl)toolWindow).getId() : myExternalSystemId.getReadableName();
|
||||
@@ -527,7 +527,7 @@ public class ExternalProjectsViewImpl extends SimpleToolWindowPanel implements D
|
||||
}
|
||||
|
||||
private <T extends ExternalSystemNode> List<T> getSelectedNodes(Class<T> aClass) {
|
||||
return myStructure != null ? myStructure.getSelectedNodes(myTree, aClass) : ContainerUtil.<T>emptyList();
|
||||
return myStructure != null ? myStructure.getSelectedNodes(myTree, aClass) : ContainerUtil.emptyList();
|
||||
}
|
||||
|
||||
private List<ProjectNode> getSelectedProjectNodes() {
|
||||
|
||||
+1
-1
@@ -21,7 +21,7 @@ import com.intellij.openapi.extensions.Extensions
|
||||
import com.intellij.openapi.externalSystem.ExternalSystemManager
|
||||
import com.intellij.openapi.externalSystem.model.DataNode
|
||||
import com.intellij.openapi.externalSystem.model.project.ProjectData
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ProjectDataManager
|
||||
import com.intellij.openapi.externalSystem.service.project.ProjectDataManager
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.util.io.FileUtil
|
||||
|
||||
@@ -32,8 +32,8 @@ import com.intellij.openapi.externalSystem.model.execution.ExternalTaskPojo;
|
||||
import com.intellij.openapi.externalSystem.model.project.ExternalProjectPojo;
|
||||
import com.intellij.openapi.externalSystem.model.project.ModuleData;
|
||||
import com.intellij.openapi.externalSystem.service.project.ExternalSystemProjectResolver;
|
||||
import com.intellij.openapi.externalSystem.service.project.ProjectDataManager;
|
||||
import com.intellij.openapi.externalSystem.service.project.autoimport.CachingExternalSystemAutoImportAware;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ProjectDataManager;
|
||||
import com.intellij.openapi.externalSystem.service.ui.DefaultExternalSystemUiAware;
|
||||
import com.intellij.openapi.externalSystem.task.ExternalSystemTaskManager;
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil;
|
||||
|
||||
+1
-1
@@ -20,7 +20,7 @@ import com.intellij.openapi.externalSystem.model.ExternalProjectInfo;
|
||||
import com.intellij.openapi.externalSystem.model.ProjectKeys;
|
||||
import com.intellij.openapi.externalSystem.model.project.ModuleData;
|
||||
import com.intellij.openapi.externalSystem.model.project.ProjectData;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ProjectDataManager;
|
||||
import com.intellij.openapi.externalSystem.service.project.ProjectDataManager;
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
|
||||
+1
-1
@@ -28,8 +28,8 @@ import com.intellij.openapi.compiler.CompileTask;
|
||||
import com.intellij.openapi.compiler.CompilerManager;
|
||||
import com.intellij.openapi.components.ServiceManager;
|
||||
import com.intellij.openapi.externalSystem.model.ExternalSystemDataKeys;
|
||||
import com.intellij.openapi.externalSystem.service.project.ProjectDataManager;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ExternalProjectsManager;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ProjectDataManager;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.startup.StartupActivity;
|
||||
import com.intellij.openapi.vfs.VfsUtilCore;
|
||||
|
||||
+1
-1
@@ -25,7 +25,7 @@ import com.intellij.openapi.editor.ex.EditorEx;
|
||||
import com.intellij.openapi.externalSystem.model.ExternalProjectInfo;
|
||||
import com.intellij.openapi.externalSystem.model.ProjectSystemId;
|
||||
import com.intellij.openapi.externalSystem.model.project.ProjectData;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ProjectDataManager;
|
||||
import com.intellij.openapi.externalSystem.service.project.ProjectDataManager;
|
||||
import com.intellij.openapi.externalSystem.service.ui.ExternalProjectPathField;
|
||||
import com.intellij.openapi.externalSystem.service.ui.SelectExternalProjectDialog;
|
||||
import com.intellij.openapi.externalSystem.settings.ExternalProjectSettings;
|
||||
|
||||
+8
-1
@@ -24,7 +24,7 @@ import com.intellij.openapi.externalSystem.model.internal.InternalExternalProjec
|
||||
import com.intellij.openapi.externalSystem.model.project.ProjectData;
|
||||
import com.intellij.openapi.externalSystem.service.execution.ExternalSystemJdkUtil;
|
||||
import com.intellij.openapi.externalSystem.service.project.ExternalProjectRefreshCallback;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ProjectDataManager;
|
||||
import com.intellij.openapi.externalSystem.service.project.ProjectDataManager;
|
||||
import com.intellij.openapi.externalSystem.service.project.wizard.AbstractExternalProjectImportBuilder;
|
||||
import com.intellij.openapi.externalSystem.service.ui.ExternalProjectDataSelectorDialog;
|
||||
import com.intellij.openapi.externalSystem.settings.ExternalProjectSettings;
|
||||
@@ -54,6 +54,13 @@ import java.util.List;
|
||||
*/
|
||||
public class GradleProjectImportBuilder extends AbstractExternalProjectImportBuilder<ImportFromGradleControl> {
|
||||
|
||||
/**
|
||||
* @deprecated use {@link GradleProjectImportBuilder#GradleProjectImportBuilder(ProjectDataManager)}
|
||||
*/
|
||||
public GradleProjectImportBuilder(@NotNull com.intellij.openapi.externalSystem.service.project.manage.ProjectDataManager dataManager) {
|
||||
this((ProjectDataManager)dataManager);
|
||||
}
|
||||
|
||||
public GradleProjectImportBuilder(@NotNull ProjectDataManager dataManager) {
|
||||
super(dataManager, new ImportFromGradleControl(), GradleConstants.SYSTEM_ID);
|
||||
}
|
||||
|
||||
+1
-1
@@ -22,7 +22,7 @@ import com.intellij.openapi.externalSystem.model.ExternalProjectInfo;
|
||||
import com.intellij.openapi.externalSystem.model.ProjectKeys;
|
||||
import com.intellij.openapi.externalSystem.model.project.ModuleData;
|
||||
import com.intellij.openapi.externalSystem.model.project.ProjectData;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ProjectDataManager;
|
||||
import com.intellij.openapi.externalSystem.service.project.ProjectDataManager;
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.project.Project;
|
||||
|
||||
Reference in New Issue
Block a user