mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Replace ApplicationManager.getApplication().runReadAction() to ApplicationManager.getApplication().acquireReadActionLock().
This commit is contained in:
+11
-10
@@ -20,12 +20,9 @@ import com.intellij.codeInsight.completion.CompletionContributor;
|
||||
import com.intellij.codeInsight.completion.CompletionParameters;
|
||||
import com.intellij.codeInsight.completion.CompletionResultSet;
|
||||
import com.intellij.codeInsight.completion.CompletionType;
|
||||
import com.intellij.codeInsight.lookup.LookupElement;
|
||||
import com.intellij.codeInsight.lookup.LookupElementBuilder;
|
||||
import com.intellij.openapi.application.AccessToken;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.util.Computable;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiNamedElement;
|
||||
import com.intellij.psi.PsiReference;
|
||||
import com.intellij.psi.impl.source.xml.TagNameReference;
|
||||
import com.intellij.psi.xml.XmlText;
|
||||
@@ -46,12 +43,16 @@ public class MavenSmartCompletionContributor extends CompletionContributor {
|
||||
public void fillCompletionVariants(final CompletionParameters parameters, CompletionResultSet result) {
|
||||
if (parameters.getCompletionType() != CompletionType.SMART) return;
|
||||
|
||||
Collection<?> variants = ApplicationManager.getApplication().runReadAction(new Computable<Collection<?>>() {
|
||||
@Override
|
||||
public Collection<?> compute() {
|
||||
return getVariants(parameters);
|
||||
}
|
||||
});
|
||||
Collection<?> variants;
|
||||
|
||||
AccessToken accessToken = ApplicationManager.getApplication().acquireReadActionLock();
|
||||
try {
|
||||
variants = getVariants(parameters);
|
||||
}
|
||||
finally {
|
||||
accessToken.finish();
|
||||
}
|
||||
|
||||
MavenPropertyCompletionContributor.addVariants(variants, result);
|
||||
}
|
||||
|
||||
|
||||
+9
-7
@@ -16,6 +16,7 @@
|
||||
package org.jetbrains.idea.maven.indices;
|
||||
|
||||
import com.intellij.openapi.Disposable;
|
||||
import com.intellij.openapi.application.AccessToken;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.components.ServiceManager;
|
||||
import com.intellij.openapi.extensions.Extensions;
|
||||
@@ -283,14 +284,15 @@ public class MavenIndicesManager {
|
||||
|
||||
private static MavenGeneralSettings getMavenSettings(@NotNull final Project project, @NotNull MavenProgressIndicator indicator)
|
||||
throws MavenProcessCanceledException {
|
||||
MavenGeneralSettings settings;
|
||||
|
||||
MavenGeneralSettings settings = ApplicationManager.getApplication().runReadAction(new Computable<MavenGeneralSettings>() {
|
||||
@Override
|
||||
public MavenGeneralSettings compute() {
|
||||
if (project.isDisposed()) return null;
|
||||
return MavenProjectsManager.getInstance(project).getGeneralSettings();
|
||||
}
|
||||
});
|
||||
AccessToken accessToken = ApplicationManager.getApplication().acquireReadActionLock();
|
||||
try {
|
||||
settings = project.isDisposed() ? null : MavenProjectsManager.getInstance(project).getGeneralSettings();
|
||||
}
|
||||
finally {
|
||||
accessToken.finish();
|
||||
}
|
||||
|
||||
if (settings == null) {
|
||||
// project was closed
|
||||
|
||||
+8
-5
@@ -16,6 +16,7 @@
|
||||
package org.jetbrains.idea.maven.project;
|
||||
|
||||
import com.intellij.ide.startup.StartupManagerEx;
|
||||
import com.intellij.openapi.application.AccessToken;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.components.PersistentStateComponent;
|
||||
import com.intellij.openapi.components.SettingsSavingComponent;
|
||||
@@ -403,11 +404,13 @@ public class MavenProjectsManager extends MavenSimpleProjectComponent
|
||||
}
|
||||
|
||||
public boolean isMavenizedModule(final Module m) {
|
||||
return ApplicationManager.getApplication().runReadAction(new Computable<Boolean>() {
|
||||
public Boolean compute() {
|
||||
return "true".equals(m.getOptionValue(getMavenizedModuleOptionName()));
|
||||
}
|
||||
});
|
||||
AccessToken accessToken = ApplicationManager.getApplication().acquireReadActionLock();
|
||||
try {
|
||||
return "true".equals(m.getOptionValue(getMavenizedModuleOptionName()));
|
||||
}
|
||||
finally {
|
||||
accessToken.finish();
|
||||
}
|
||||
}
|
||||
|
||||
public void setMavenizedModules(Collection<Module> modules, boolean mavenized) {
|
||||
|
||||
+21
-19
@@ -15,10 +15,10 @@
|
||||
*/
|
||||
package org.jetbrains.idea.maven.project;
|
||||
|
||||
import com.intellij.openapi.application.AccessToken;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.Comparing;
|
||||
import com.intellij.openapi.util.Computable;
|
||||
import com.intellij.openapi.util.Key;
|
||||
import com.intellij.openapi.util.Pair;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
@@ -645,27 +645,29 @@ public class MavenProjectsTree {
|
||||
private MavenProjectTimestamp calculateTimestamp(final MavenProject mavenProject,
|
||||
final Collection<String> explicitProfiles,
|
||||
final MavenGeneralSettings generalSettings) {
|
||||
return ApplicationManager.getApplication().runReadAction(new Computable<MavenProjectTimestamp>() {
|
||||
public MavenProjectTimestamp compute() {
|
||||
long pomTimestamp = getFileTimestamp(mavenProject.getFile());
|
||||
MavenProject parent = findParent(mavenProject);
|
||||
long parentLastReadStamp = parent == null ? -1 : parent.getLastReadStamp();
|
||||
VirtualFile profilesXmlFile = mavenProject.getProfilesXmlFile();
|
||||
long profilesTimestamp = getFileTimestamp(profilesXmlFile);
|
||||
AccessToken accessToken = ApplicationManager.getApplication().acquireReadActionLock();
|
||||
try {
|
||||
long pomTimestamp = getFileTimestamp(mavenProject.getFile());
|
||||
MavenProject parent = findParent(mavenProject);
|
||||
long parentLastReadStamp = parent == null ? -1 : parent.getLastReadStamp();
|
||||
VirtualFile profilesXmlFile = mavenProject.getProfilesXmlFile();
|
||||
long profilesTimestamp = getFileTimestamp(profilesXmlFile);
|
||||
|
||||
long userSettingsTimestamp = getFileTimestamp(generalSettings.getEffectiveUserSettingsFile());
|
||||
long globalSettingsTimestamp = getFileTimestamp(generalSettings.getEffectiveGlobalSettingsFile());
|
||||
long userSettingsTimestamp = getFileTimestamp(generalSettings.getEffectiveUserSettingsFile());
|
||||
long globalSettingsTimestamp = getFileTimestamp(generalSettings.getEffectiveGlobalSettingsFile());
|
||||
|
||||
int profilesHashCode = explicitProfiles.hashCode();
|
||||
int profilesHashCode = explicitProfiles.hashCode();
|
||||
|
||||
return new MavenProjectTimestamp(pomTimestamp,
|
||||
parentLastReadStamp,
|
||||
profilesTimestamp,
|
||||
userSettingsTimestamp,
|
||||
globalSettingsTimestamp,
|
||||
profilesHashCode);
|
||||
}
|
||||
});
|
||||
return new MavenProjectTimestamp(pomTimestamp,
|
||||
parentLastReadStamp,
|
||||
profilesTimestamp,
|
||||
userSettingsTimestamp,
|
||||
globalSettingsTimestamp,
|
||||
profilesHashCode);
|
||||
}
|
||||
finally {
|
||||
accessToken.finish();
|
||||
}
|
||||
}
|
||||
|
||||
private static long getFileTimestamp(VirtualFile file) {
|
||||
|
||||
@@ -15,8 +15,8 @@
|
||||
*/
|
||||
package org.jetbrains.idea.maven.utils;
|
||||
|
||||
import com.intellij.openapi.application.AccessToken;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.util.Computable;
|
||||
import com.intellij.openapi.util.JDOMUtil;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.openapi.vfs.CharsetToolkit;
|
||||
@@ -38,19 +38,24 @@ import static com.intellij.openapi.util.text.StringUtil.isEmptyOrSpaces;
|
||||
public class MavenJDOMUtil {
|
||||
@Nullable
|
||||
public static Element read(final VirtualFile file, @Nullable final ErrorHandler handler) {
|
||||
String text = ApplicationManager.getApplication().runReadAction(new Computable<String>() {
|
||||
public String compute() {
|
||||
if (!file.isValid()) return null;
|
||||
try {
|
||||
return VfsUtil.loadText(file);
|
||||
}
|
||||
catch (IOException e) {
|
||||
if (handler != null) handler.onReadError(e);
|
||||
return null;
|
||||
}
|
||||
String text;
|
||||
|
||||
AccessToken accessToken = ApplicationManager.getApplication().acquireReadActionLock();
|
||||
try {
|
||||
if (!file.isValid()) return null;
|
||||
|
||||
try {
|
||||
text = VfsUtil.loadText(file);
|
||||
}
|
||||
});
|
||||
if (text == null) return null;
|
||||
catch (IOException e) {
|
||||
if (handler != null) handler.onReadError(e);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
finally {
|
||||
accessToken.finish();
|
||||
}
|
||||
|
||||
return doRead(text, handler);
|
||||
}
|
||||
|
||||
|
||||
+9
-7
@@ -15,9 +15,9 @@
|
||||
*/
|
||||
package org.jetbrains.idea.maven.utils;
|
||||
|
||||
import com.intellij.openapi.application.AccessToken;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.Computable;
|
||||
import com.intellij.openapi.util.Condition;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.PsiFile;
|
||||
@@ -32,11 +32,13 @@ public class MavenProblemFileHighlighter implements Condition<VirtualFile> {
|
||||
}
|
||||
|
||||
public boolean value(final VirtualFile file) {
|
||||
return ApplicationManager.getApplication().runReadAction(new Computable<Boolean>() {
|
||||
public Boolean compute() {
|
||||
PsiFile psiFile = PsiManager.getInstance(myProject).findFile(file);
|
||||
return psiFile != null && MavenDomUtil.isMavenFile(psiFile);
|
||||
}
|
||||
});
|
||||
AccessToken accessToken = ApplicationManager.getApplication().acquireReadActionLock();
|
||||
try {
|
||||
PsiFile psiFile = PsiManager.getInstance(myProject).findFile(file);
|
||||
return psiFile != null && MavenDomUtil.isMavenFile(psiFile);
|
||||
}
|
||||
finally {
|
||||
accessToken.finish();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+17
-15
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
package org.jetbrains.idea.maven.wizards;
|
||||
|
||||
import com.intellij.openapi.application.AccessToken;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.module.ModifiableModuleModel;
|
||||
import com.intellij.openapi.module.Module;
|
||||
@@ -25,7 +26,6 @@ import com.intellij.openapi.projectRoots.JavaSdk;
|
||||
import com.intellij.openapi.projectRoots.Sdk;
|
||||
import com.intellij.openapi.roots.ui.configuration.ModulesConfigurator;
|
||||
import com.intellij.openapi.roots.ui.configuration.ModulesProvider;
|
||||
import com.intellij.openapi.util.Computable;
|
||||
import com.intellij.openapi.vfs.LocalFileSystem;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.packaging.artifacts.ModifiableArtifactModel;
|
||||
@@ -236,24 +236,26 @@ public class MavenProjectBuilder extends ProjectImportBuilder<MavenProject> {
|
||||
}
|
||||
|
||||
private MavenWorkspaceSettings getDirectProjectsSettings() {
|
||||
return ApplicationManager.getApplication().runReadAction(new Computable<MavenWorkspaceSettings>() {
|
||||
@Override
|
||||
public MavenWorkspaceSettings compute() {
|
||||
return MavenWorkspaceSettingsComponent.getInstance(getProject()).getState();
|
||||
}
|
||||
});
|
||||
AccessToken accessToken = ApplicationManager.getApplication().acquireReadActionLock();
|
||||
try {
|
||||
return MavenWorkspaceSettingsComponent.getInstance(getProject()).getState();
|
||||
}
|
||||
finally {
|
||||
accessToken.finish();
|
||||
}
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private Project getProject() {
|
||||
return ApplicationManager.getApplication().runReadAction(new Computable<Project>() {
|
||||
@Override
|
||||
public Project compute() {
|
||||
Project result = isUpdate() ? getProjectToUpdate() : null;
|
||||
if (result == null || result.isDisposed()) result = ProjectManager.getInstance().getDefaultProject();
|
||||
return result;
|
||||
}
|
||||
});
|
||||
AccessToken accessToken = ApplicationManager.getApplication().acquireReadActionLock();
|
||||
try {
|
||||
Project result = isUpdate() ? getProjectToUpdate() : null;
|
||||
if (result == null || result.isDisposed()) result = ProjectManager.getInstance().getDefaultProject();
|
||||
return result;
|
||||
}
|
||||
finally {
|
||||
accessToken.finish();
|
||||
}
|
||||
}
|
||||
|
||||
public void setFiles(List<VirtualFile> files) {
|
||||
|
||||
@@ -20,6 +20,7 @@ import com.intellij.compiler.CompilerManagerImpl;
|
||||
import com.intellij.compiler.CompilerWorkspaceConfiguration;
|
||||
import com.intellij.compiler.impl.ModuleCompileScope;
|
||||
import com.intellij.compiler.impl.TranslatingCompilerFilesMonitor;
|
||||
import com.intellij.openapi.application.AccessToken;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.compiler.*;
|
||||
import com.intellij.openapi.module.Module;
|
||||
@@ -291,13 +292,15 @@ public abstract class MavenImportingTestCase extends MavenTestCase {
|
||||
}
|
||||
|
||||
protected Module getModule(final String name) {
|
||||
Module m = ApplicationManager.getApplication().runReadAction(new Computable<Module>() {
|
||||
public Module compute() {
|
||||
return ModuleManager.getInstance(myProject).findModuleByName(name);
|
||||
}
|
||||
});
|
||||
assertNotNull("Module " + name + " not found", m);
|
||||
return m;
|
||||
AccessToken accessToken = ApplicationManager.getApplication().acquireReadActionLock();
|
||||
try {
|
||||
Module m = ModuleManager.getInstance(myProject).findModuleByName(name);
|
||||
assertNotNull("Module " + name + " not found", m);
|
||||
return m;
|
||||
}
|
||||
finally {
|
||||
accessToken.finish();
|
||||
}
|
||||
}
|
||||
|
||||
private ContentEntry getContentRoot(String moduleName) {
|
||||
|
||||
Reference in New Issue
Block a user