replace AccessToken write action API usages with lambda-passing

This commit is contained in:
peter
2016-10-22 10:24:28 +02:00
parent 42675c6048
commit 9c49c62530
62 changed files with 240 additions and 622 deletions
@@ -15,7 +15,7 @@
*/
package com.intellij.ide.projectView.actions;
import com.intellij.openapi.application.AccessToken;
import com.intellij.application.options.ModulesComboBox;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.module.ModuleUtil;
@@ -28,7 +28,6 @@ import com.intellij.openapi.roots.ModuleRootModificationUtil;
import com.intellij.openapi.roots.impl.libraries.LibraryTypeServiceImpl;
import com.intellij.openapi.roots.libraries.Library;
import com.intellij.openapi.roots.libraries.ui.OrderRoot;
import com.intellij.application.options.ModulesComboBox;
import com.intellij.openapi.roots.ui.configuration.libraryEditor.LibraryNameAndLevelPanel;
import com.intellij.openapi.roots.ui.configuration.projectRoot.LibrariesContainer;
import com.intellij.openapi.roots.ui.configuration.projectRoot.LibrariesContainerFactory;
@@ -139,8 +138,7 @@ public class CreateLibraryFromFilesDialog extends DialogWrapper {
private void addLibrary() {
final LibrariesContainer.LibraryLevel level = myNameAndLevelPanel.getLibraryLevel();
AccessToken token = WriteAction.start();
try {
WriteAction.run(() -> {
final Module module = myModulesComboBox.getSelectedModule();
final String libraryName = myNameAndLevelPanel.getLibraryName();
if (level == LibrariesContainer.LibraryLevel.MODULE) {
@@ -154,10 +152,7 @@ public class CreateLibraryFromFilesDialog extends DialogWrapper {
ModuleRootModificationUtil.addDependency(module, library);
}
}
}
finally {
token.finish();
}
});
}
@Override
@@ -25,7 +25,6 @@ import com.intellij.ide.util.projectWizard.ExistingModuleLoader;
import com.intellij.ide.util.projectWizard.ModuleBuilder;
import com.intellij.ide.util.projectWizard.WizardContext;
import com.intellij.ide.util.projectWizard.importSources.*;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.extensions.Extensions;
@@ -179,28 +178,24 @@ public class ProjectFromSourcesBuilderImpl extends ProjectImportBuilder implemen
final Map<LibraryDescriptor, Library> projectLibs = new HashMap<>();
final List<Module> result = new ArrayList<>();
try {
AccessToken token = WriteAction.start();
try {
WriteAction.run(() -> {
// create project-level libraries
for (ProjectDescriptor projectDescriptor : getSelectedDescriptors()) {
for (LibraryDescriptor lib : projectDescriptor.getLibraries()) {
final Collection<File> files = lib.getJars();
final Library projectLib = projectLibraryTable.createLibrary(lib.getName());
final Library.ModifiableModel libraryModel = projectLib.getModifiableModel();
for (File file : files) {
libraryModel.addRoot(VfsUtil.getUrlForLibraryRoot(file), OrderRootType.CLASSES);
}
libraryModel.commit();
projectLibs.put(lib, projectLib);
final Collection<File> files = lib.getJars();
final Library projectLib = projectLibraryTable.createLibrary(lib.getName());
final Library.ModifiableModel libraryModel = projectLib.getModifiableModel();
for (File file : files) {
libraryModel.addRoot(VfsUtil.getUrlForLibraryRoot(file), OrderRootType.CLASSES);
}
libraryModel.commit();
projectLibs.put(lib, projectLib);
}
}
if (!fromProjectStructure) {
projectLibraryTable.commit();
}
}
finally {
token.finish();
}
});
}
catch (Exception e) {
LOG.info(e);
@@ -210,8 +205,7 @@ public class ProjectFromSourcesBuilderImpl extends ProjectImportBuilder implemen
final Map<ModuleDescriptor, Module> descriptorToModuleMap = new HashMap<>();
try {
AccessToken token = WriteAction.start();
try {
WriteAction.run(() -> {
final ModifiableModuleModel moduleModel = fromProjectStructure ? model : ModuleManager.getInstance(project).getModifiableModel();
for (ProjectDescriptor descriptor : getSelectedDescriptors()) {
for (final ModuleDescriptor moduleDescriptor : descriptor.getModules()) {
@@ -232,10 +226,7 @@ public class ProjectFromSourcesBuilderImpl extends ProjectImportBuilder implemen
if (!fromProjectStructure) {
moduleModel.commit();
}
}
finally {
token.finish();
}
});
}
catch (Exception e) {
LOG.info(e);
@@ -244,8 +235,7 @@ public class ProjectFromSourcesBuilderImpl extends ProjectImportBuilder implemen
// setup dependencies between modules
try {
AccessToken token = WriteAction.start();
try {
WriteAction.run(() -> {
for (ProjectDescriptor data : getSelectedDescriptors()) {
for (final ModuleDescriptor descriptor : data.getModules()) {
final Module module = descriptorToModuleMap.get(descriptor);
@@ -266,28 +256,19 @@ public class ProjectFromSourcesBuilderImpl extends ProjectImportBuilder implemen
rootModel.commit();
}
}
}
finally {
token.finish();
}
});
}
catch (Exception e) {
LOG.info(e);
Messages.showErrorDialog(IdeBundle.message("error.adding.module.to.project", e.getMessage()), IdeBundle.message("title.add.module"));
}
AccessToken token = WriteAction.start();
try {
WriteAction.run(() -> {
ModulesProvider updatedModulesProvider = fromProjectStructure ? modulesProvider : new DefaultModulesProvider(project);
for (ProjectConfigurationUpdater updater : myUpdaters) {
updater.updateProject(project, modelsProvider, updatedModulesProvider);
}
}
finally {
token.finish();
}
});
return result;
}
@@ -18,7 +18,6 @@ package com.intellij.jarFinder;
import com.intellij.codeInsight.AttachSourcesProvider;
import com.intellij.notification.Notification;
import com.intellij.notification.NotificationType;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.diagnostic.Logger;
@@ -120,13 +119,7 @@ public abstract class AbstractAttachSourceProvider implements AttachSourcesProvi
if (myLibrary != getLibraryFromOrderEntriesList(orderEntriesContainingFile)) return callback;
AccessToken accessToken = WriteAction.start();
try {
addSourceFile(mySrcFile, myLibrary);
}
finally {
accessToken.finish();
}
WriteAction.run(() -> addSourceFile(mySrcFile, myLibrary));
return callback;
}
@@ -178,12 +171,10 @@ public abstract class AbstractAttachSourceProvider implements AttachSourcesProvi
}
ApplicationManager.getApplication().invokeLater(() -> {
AccessToken accessToken = WriteAction.start();
try {
storeFile(bytes);
WriteAction.run(() -> storeFile(bytes));
}
finally {
accessToken.finish();
callback.setDone();
}
});
@@ -17,7 +17,6 @@ package com.intellij.jarFinder;
import com.intellij.notification.Notification;
import com.intellij.notification.NotificationType;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.progress.ProgressIndicator;
@@ -28,7 +27,10 @@ import com.intellij.openapi.roots.libraries.Library;
import com.intellij.openapi.roots.ui.configuration.LibrarySourceRootDetectorUtil;
import com.intellij.openapi.util.ActionCallback;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.vfs.*;
import com.intellij.openapi.vfs.JarFileSystem;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VfsUtilCore;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.PsiFile;
import com.intellij.util.SystemProperties;
import com.intellij.util.containers.ContainerUtil;
@@ -191,8 +193,7 @@ public class InternetAttachSourceProvider extends AbstractAttachSourceProvider {
}
public static void attachSourceJar(@NotNull File sourceJar, @NotNull Collection<Library> libraries) {
AccessToken accessToken = WriteAction.start();
try {
WriteAction.run(() -> {
VirtualFile srcFile = LocalFileSystem.getInstance().refreshAndFindFileByIoFile(sourceJar);
if (srcFile == null) return;
@@ -215,10 +216,7 @@ public class InternetAttachSourceProvider extends AbstractAttachSourceProvider {
}
model.commit();
}
}
finally {
accessToken.finish();
}
});
}
public static File getLibrarySourceDir() {
@@ -18,7 +18,6 @@ package com.intellij.openapi.roots.ui.configuration.classpath;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.Presentation;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.Result;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.diagnostic.Logger;
@@ -108,14 +107,7 @@ public abstract class ChangeLibraryLevelActionBase extends AnAction {
final Library copied = provider.getModifiableModel().createLibrary(StringUtil.nullize(dialog.getLibraryName()), library.getKind());
final LibraryEx.ModifiableModelEx model = (LibraryEx.ModifiableModelEx)copied.getModifiableModel();
LibraryEditingUtil.copyLibrary(library, copiedFiles, model);
AccessToken token = WriteAction.start();
try {
model.commit();
}
finally {
token.finish();
}
WriteAction.run(() -> model.commit());
return copied;
}
@@ -18,7 +18,6 @@ package com.intellij.openapi.roots.ui.configuration.libraryEditor;
import com.intellij.ide.IdeBundle;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.project.DumbAwareAction;
import com.intellij.openapi.project.Project;
@@ -75,13 +74,7 @@ public class CreateNewLibraryAction extends DumbAwareAction {
configuration.addRoots(editor);
final Library.ModifiableModel model = library.getModifiableModel();
editor.applyTo((LibraryEx.ModifiableModelEx)model);
AccessToken token = WriteAction.start();
try {
model.commit();
}
finally {
token.finish();
}
WriteAction.run(() -> model.commit());
return library;
}
@@ -4,7 +4,6 @@ import com.intellij.codeInsight.daemon.impl.quickfix.OrderEntryFix;
import com.intellij.codeInsight.hint.HintManager;
import com.intellij.codeInsight.intention.IntentionAction;
import com.intellij.ide.util.PropertiesComponent;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.editor.Editor;
@@ -27,7 +26,6 @@ import com.intellij.psi.PsiFile;
import com.intellij.psi.search.GlobalSearchScope;
import com.intellij.ui.components.JBList;
import com.intellij.util.IncorrectOperationException;
import com.intellij.util.NotNullFunction;
import com.intellij.util.PlatformIcons;
import com.intellij.util.download.DownloadableFileDescription;
import com.intellij.util.download.DownloadableFileService;
@@ -255,13 +253,7 @@ public abstract class FindJarFix<T extends PsiElement> implements IntentionActio
downloader.createDownloader(Arrays.asList(description), jarName)
.downloadFilesWithProgress(file.getPath(), project, myEditorComponent);
if (jars != null && jars.size() == 1) {
AccessToken token = WriteAction.start();
try {
OrderEntryFix.addJarToRoots(jars.get(0).getPresentableUrl(), myModule, myRef);
}
finally {
token.finish();
}
WriteAction.run(() -> OrderEntryFix.addJarToRoots(jars.get(0).getPresentableUrl(), myModule, myRef));
}
}
}
@@ -16,7 +16,6 @@
package com.intellij.testFramework;
import com.intellij.compiler.CompilerTestUtil;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.Result;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.command.WriteCommandAction;
@@ -103,14 +102,10 @@ public class CompilerTester {
}
public void deleteClassFile(final String className) throws IOException {
AccessToken token = WriteAction.start();
try {
//noinspection ConstantConditions
touch(JavaPsiFacade.getInstance(getProject()).findClass(className, GlobalSearchScope.allScope(getProject())).getContainingFile().getVirtualFile());
}
finally {
token.finish();
}
WriteAction.run(() -> {
//noinspection ConstantConditions
touch(JavaPsiFacade.getInstance(getProject()).findClass(className, GlobalSearchScope.allScope(getProject())).getContainingFile().getVirtualFile());
});
}
@Nullable
@@ -16,7 +16,6 @@
package com.intellij.testFramework;
import com.intellij.ide.highlighter.ModuleFileType;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.command.WriteCommandAction;
@@ -57,30 +56,24 @@ public abstract class ModuleTestCase extends IdeaTestCase {
@Override
protected void tearDown() throws Exception {
try {
ModuleManager moduleManager = ModuleManager.getInstance(myProject);
List<Throwable> errors = null;
AccessToken token = WriteAction.start();
try {
for (Module module : myModulesToDispose) {
try {
String moduleName = module.getName();
if (moduleManager.findModuleByName(moduleName) != null) {
moduleManager.disposeModule(module);
if (!myModulesToDispose.isEmpty()) {
List<Throwable> errors = new SmartList<>();
WriteAction.run(() -> {
ModuleManager moduleManager = ModuleManager.getInstance(myProject);
for (Module module : myModulesToDispose) {
try {
String moduleName = module.getName();
if (moduleManager.findModuleByName(moduleName) != null) {
moduleManager.disposeModule(module);
}
}
catch (Throwable e) {
errors.add(e);
}
}
catch (Throwable e) {
if (errors == null) {
errors = new SmartList<>();
}
errors.add(e);
}
}
});
CompoundRuntimeException.throwIfNotEmpty(errors);
}
finally {
token.finish();
}
CompoundRuntimeException.throwIfNotEmpty(errors);
}
finally {
myModulesToDispose.clear();
@@ -15,8 +15,6 @@
*/
package com.intellij.configurationStore
import com.intellij.openapi.application.AccessToken
import com.intellij.openapi.application.WriteAction
import com.intellij.openapi.application.ex.DecodeDefaultsUtil
import com.intellij.openapi.application.runWriteAction
import com.intellij.openapi.components.RoamingType
@@ -734,23 +732,14 @@ class SchemeManagerImpl<T : Scheme, MUTABLE_SCHEME : T>(val fileSpec: String,
if (useVfs) {
virtualDirectory?.let {
var token: AccessToken? = null
try {
for (file in it.children) {
if (filesToDelete.contains(file.name)) {
if (token == null) {
token = WriteAction.start()
}
errors.catch {
file.delete(this)
}
val childrenToDelete = it.children.filter { filesToDelete.contains(it.name) }
if (childrenToDelete.isNotEmpty()) {
runWriteAction {
childrenToDelete.forEach { file ->
errors.catch { file.delete(this) }
}
}
}
finally {
token?.finish()
}
return
}
}
@@ -104,14 +104,14 @@ public abstract class WriteCommandAction<T> extends BaseActionRunnable<T> {
doExecuteCommand(new Runnable() {
@Override
public void run() {
AccessToken token = ApplicationManager.getApplication().acquireWriteActionLock(WriteCommandAction.this.getClass());
try {
results[0].run();
results[0] = null;
}
finally {
token.finish();
}
//noinspection deprecation
ApplicationManager.getApplication().runWriteAction(new Runnable() {
@Override
public void run() {
results[0].run();
results[0] = null;
}
});
}
});
}
@@ -20,10 +20,7 @@ import com.intellij.ide.IdeBundle;
import com.intellij.ide.diff.*;
import com.intellij.internal.statistic.UsageTrigger;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.Application;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ModalityState;
import com.intellij.openapi.application.*;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.diff.impl.dir.actions.popup.WarnOnDeletion;
import com.intellij.openapi.progress.EmptyProgressIndicator;
@@ -35,7 +32,6 @@ import com.intellij.openapi.ui.MessageType;
import com.intellij.openapi.ui.Messages;
import com.intellij.openapi.ui.popup.Balloon;
import com.intellij.openapi.ui.popup.JBPopupFactory;
import com.intellij.openapi.util.Condition;
import com.intellij.openapi.util.Disposer;
import com.intellij.openapi.util.Ref;
import com.intellij.openapi.util.text.StringUtil;
@@ -598,14 +594,10 @@ public class DirDiffTableModel extends AbstractTableModel implements DirDiffMode
((BackgroundOperatingDiffElement)source).copyTo(myTrg, errorMessage, diff, onFinish, element.getTarget(), path);
}
else {
final AccessToken token = ApplicationManager.getApplication().acquireWriteActionLock(getClass());
try {
WriteAction.run(() -> {
final DiffElement<?> diffElement = source.copyTo(myTrg, path);
refreshElementAfterCopyTo(diffElement, element);
}
finally {
token.finish();
}
});
}
}
}
@@ -647,14 +639,10 @@ public class DirDiffTableModel extends AbstractTableModel implements DirDiffMode
((BackgroundOperatingDiffElement)target).copyTo(mySrc, errorMessage, diff, onFinish, element.getSource(), path);
}
else {
final AccessToken token = ApplicationManager.getApplication().acquireWriteActionLock(getClass());
try {
WriteAction.run(() -> {
final DiffElement<?> diffElement = target.copyTo(mySrc, path);
refreshElementAfterCopyFrom(element, diffElement);
}
finally {
token.finish();
}
});
}
}
}
@@ -736,18 +724,14 @@ public class DirDiffTableModel extends AbstractTableModel implements DirDiffMode
if (myElements.indexOf(element) != -1) {
removeElement(element, true);
}
final AccessToken token = ApplicationManager.getApplication().acquireWriteActionLock(getClass());
try {
WriteAction.run(() -> {
if (source != null) {
source.delete();
}
if (target != null) {
target.delete();
}
}
finally {
token.finish();
}
});
}
}
@@ -15,9 +15,8 @@
*/
package com.intellij.application.options.codeStyle;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.ApplicationBundle;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.fileChooser.FileChooserFactory;
import com.intellij.openapi.fileChooser.FileSaverDescriptor;
import com.intellij.openapi.fileChooser.FileSaverDialog;
@@ -91,15 +90,16 @@ class CodeStyleSchemeExporterUI {
String message;
MessageType messageType;
if (targetFile != null) {
final AccessToken writeToken = ApplicationManager.getApplication().acquireWriteActionLock(getClass());
try {
OutputStream outputStream = targetFile.getOutputStream(this);
try {
exporter.exportScheme(myScheme, outputStream);
}
finally {
outputStream.close();
}
WriteAction.run(() -> {
OutputStream outputStream = targetFile.getOutputStream(this);
try {
exporter.exportScheme(myScheme, outputStream);
}
finally {
outputStream.close();
}
});
message = ApplicationBundle
.message("scheme.exporter.ui.code.style.exported.message", myScheme.getName(), targetFile.getPresentableUrl());
messageType = MessageType.INFO;
@@ -108,9 +108,6 @@ class CodeStyleSchemeExporterUI {
message = ApplicationBundle.message("scheme.exporter.ui.export.failed", e.getMessage());
messageType = MessageType.ERROR;
}
finally {
writeToken.finish();
}
}
else {
message = ApplicationBundle.message("scheme.exporter.ui.cannot.write.message");
@@ -31,7 +31,6 @@ import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.CommonDataKeys;
import com.intellij.openapi.actionSystem.DataContext;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.command.WriteCommandAction;
import com.intellij.openapi.diagnostic.Logger;
@@ -39,8 +38,6 @@ import com.intellij.openapi.editor.Document;
import com.intellij.openapi.editor.Editor;
import com.intellij.openapi.editor.EditorFactory;
import com.intellij.openapi.editor.RangeMarker;
import com.intellij.openapi.editor.ex.RangeMarkerEx;
import com.intellij.openapi.editor.impl.RangeMarkerTree;
import com.intellij.openapi.options.ShowSettingsUtil;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.TextRange;
@@ -49,7 +46,10 @@ import com.intellij.psi.util.PsiElementFilter;
import com.intellij.psi.util.PsiTreeUtil;
import com.intellij.util.containers.HashMap;
import java.util.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class SaveAsTemplateAction extends AnAction {
@@ -146,14 +146,7 @@ public class SaveAsTemplateAction extends AnAction {
final TemplateImpl template = new TemplateImpl(TemplateListPanel.ABBREVIATION, document.getText(), TemplateSettings.USER_GROUP_NAME);
template.setToReformat(true);
PsiFile copy;
AccessToken token = WriteAction.start();
try {
copy = TemplateManagerImpl.insertDummyIdentifier(editor, file);
}
finally {
token.finish();
}
PsiFile copy = WriteAction.compute(() -> TemplateManagerImpl.insertDummyIdentifier(editor, file));
Set<TemplateContextType> applicable = TemplateManagerImpl.getApplicableContextTypes(copy, startOffset);
for(TemplateContextType contextType: TemplateManagerImpl.getAllContextTypes()) {
@@ -21,9 +21,9 @@ import com.intellij.ide.scratch.ScratchFileService;
import com.intellij.lang.Language;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.actionSystem.*;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.PathManager;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.command.WriteCommandAction;
import com.intellij.openapi.command.undo.UndoConstants;
import com.intellij.openapi.diagnostic.Logger;
@@ -464,13 +464,7 @@ public class ConsoleHistoryController {
if (loadHistoryOld(id)) {
if (!myRootType.isHidden()) {
// migrate content
AccessToken token = ApplicationManager.getApplication().acquireWriteActionLock(getClass());
try {
VfsUtil.saveText(consoleFile, myContent);
}
finally {
token.finish();
}
WriteAction.run(() -> VfsUtil.saveText(consoleFile, myContent));
}
return true;
}
@@ -560,14 +554,10 @@ public class ConsoleHistoryController {
saveHistoryOld();
return;
}
AccessToken token = ApplicationManager.getApplication().acquireWriteActionLock(getClass());
try {
WriteAction.run(() -> {
VirtualFile file = HistoryRootType.getInstance().findFile(null, getHistoryName(myRootType, myId), ScratchFileService.Option.create_if_missing);
VfsUtil.saveText(file, StringUtil.join(getModel().getEntries(), myRootType.getEntrySeparator()));
}
finally {
token.finish();
}
});
}
catch (Exception ex) {
LOG.error(ex);
@@ -17,9 +17,8 @@ package com.intellij.formatting.commandLine;
import com.intellij.formatting.FormatTextRanges;
import com.intellij.lang.LanguageFormatting;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.command.CommandProcessor;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.command.WriteCommandAction;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.editor.Document;
import com.intellij.openapi.fileEditor.FileDocumentManager;
@@ -92,9 +91,7 @@ class FileSetFormatter extends FileSetProcessor {
private void closeProject() {
if (myProject != null) {
ProjectManager.getInstance().closeProject(myProject);
AccessToken writeToken = ApplicationManager.getApplication().acquireWriteActionLock(this.getClass());
Disposer.dispose(myProject);
writeToken.finish();
WriteAction.run(() -> Disposer.dispose(myProject));
}
}
@@ -150,19 +147,11 @@ class FileSetFormatter extends FileSetProcessor {
}
private void reformatFile(@NotNull Project project, @NotNull final PsiFile file, @NotNull Document document) {
AccessToken writeToken = ApplicationManager.getApplication().acquireWriteActionLock(this.getClass());
try {
CommandProcessor.getInstance().executeCommand(
myProject,
() -> {
CodeFormatterFacade formatterFacade = new CodeFormatterFacade(mySettings, file.getLanguage());
formatterFacade.processText(file, new FormatTextRanges(new TextRange(0, file.getTextLength()), true), false);
PsiDocumentManager.getInstance(project).commitDocument(document);
}, null, null);
}
finally {
writeToken.finish();
}
WriteCommandAction.runWriteCommandAction(project, () -> {
CodeFormatterFacade formatterFacade = new CodeFormatterFacade(mySettings, file.getLanguage());
formatterFacade.processText(file, new FormatTextRanges(new TextRange(0, file.getTextLength()), true), false);
PsiDocumentManager.getInstance(project).commitDocument(document);
});
}
private static boolean isFormattingSupported(@NotNull PsiFile file) {
@@ -20,7 +20,6 @@ import com.intellij.framework.FrameworkType;
import com.intellij.framework.detection.DetectedFrameworkDescription;
import com.intellij.framework.detection.FacetBasedFrameworkDetector;
import com.intellij.framework.detection.FrameworkDetector;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.roots.ModifiableModelsProvider;
import com.intellij.openapi.roots.ui.configuration.ModulesProvider;
@@ -86,8 +85,7 @@ public class FrameworkDetectionUtil {
public static void setupFrameworks(List<? extends DetectedFrameworkDescription> descriptions,
final ModifiableModelsProvider modelsProvider, final ModulesProvider modulesProvider) {
AccessToken token = WriteAction.start();
try {
WriteAction.run(() -> {
List<DetectedFrameworkDescription> sortedDescriptions = new ArrayList<>();
//todo[nik] perform real sorting
for (DetectedFrameworkDescription description : descriptions) {
@@ -103,9 +101,6 @@ public class FrameworkDetectionUtil {
for (DetectedFrameworkDescription description : sortedDescriptions) {
description.setupFramework(modelsProvider, modulesProvider);
}
}
finally {
token.finish();
}
});
}
}
@@ -19,9 +19,7 @@ import com.intellij.CommonBundle;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.CommonDataKeys;
import com.intellij.openapi.actionSystem.PlatformDataKeys;
import com.intellij.openapi.actionSystem.Presentation;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.fileTypes.StdFileTypes;
@@ -54,13 +52,7 @@ public class ImportModuleFromImlFileAction extends AnAction {
model.loadModule(file.getPath());
}
AccessToken token = WriteAction.start();
try {
model.commit();
}
finally {
token.finish();
}
WriteAction.run(() -> model.commit());
}
catch (Exception ex) {
LOG.info(ex);
@@ -21,10 +21,7 @@ import com.intellij.lang.Language;
import com.intellij.lang.LanguageUtil;
import com.intellij.lang.PerFileMappings;
import com.intellij.lang.PerFileMappingsBase;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.Application;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.PathManager;
import com.intellij.openapi.application.*;
import com.intellij.openapi.components.PersistentStateComponent;
import com.intellij.openapi.components.State;
import com.intellij.openapi.components.Storage;
@@ -290,8 +287,7 @@ public class ScratchFileServiceImpl extends ScratchFileService implements Persis
String ext = PathUtil.getFileExtension(pathName);
String fileNameExt = PathUtil.getFileName(pathName);
String fileName = StringUtil.trimEnd(fileNameExt, ext == null ? "" : "." + ext);
AccessToken token = ApplicationManager.getApplication().acquireWriteActionLock(getClass());
try {
return WriteAction.compute(() -> {
VirtualFile dir = VfsUtil.createDirectories(PathUtil.getParentPath(fullPath));
if (option == Option.create_new_always) {
return VfsUtil.createChildSequent(LocalFileSystem.getInstance(), dir, fileName, StringUtil.notNullize(ext));
@@ -299,10 +295,7 @@ public class ScratchFileServiceImpl extends ScratchFileService implements Persis
else {
return dir.createChildData(LocalFileSystem.getInstance(), fileNameExt);
}
}
finally {
token.finish();
}
});
}
@Nullable
@@ -98,13 +98,7 @@ public class ModuleAttachProcessor extends ProjectAttachProcessor {
final ModifiableModuleModel model = ModuleManager.getInstance(project).getModifiableModel();
final Module module = model.loadModule(imlFile.getPath());
AccessToken token = WriteAction.start();
try {
model.commit();
}
finally {
token.finish();
}
WriteAction.run(() -> model.commit());
final Module newModule = ModuleManager.getInstance(project).findModuleByName(module.getName());
assert newModule != null;
final Module primaryModule = addPrimaryModuleDependency(project, newModule);
@@ -19,6 +19,7 @@ import com.intellij.ide.util.projectWizard.ProjectTemplateFileProcessor;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ModalityState;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.components.PathMacroManager;
import com.intellij.openapi.components.PersistentStateComponent;
import com.intellij.openapi.components.ServiceManager;
@@ -88,9 +89,7 @@ public class SystemFileProcessor extends ProjectTemplateFileProcessor {
}
}
else if (component instanceof PersistentStateComponent) {
AccessToken token = ApplicationManager.getApplication().acquireWriteActionLock(SystemFileProcessor.class);
Object state = ((PersistentStateComponent)component).getState();
token.finish();
Object state = WriteAction.compute(() -> ((PersistentStateComponent)component).getState());
if(state == null){
return;
@@ -24,9 +24,9 @@ import com.intellij.ide.fileTemplates.FileTemplate;
import com.intellij.ide.fileTemplates.FileTemplateManager;
import com.intellij.ide.fileTemplates.FileTemplateUtil;
import com.intellij.ide.util.projectWizard.*;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ModalityState;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.diagnostic.Attachment;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.fileTypes.FileType;
@@ -393,16 +393,12 @@ public class TemplateModuleBuilder extends ModuleBuilder {
canceledRef.set(true);
if (!isSomehowOverwriting) {
ApplicationManager.getApplication().invokeLater(() -> {
AccessToken token = ApplicationManager.getApplication().acquireWriteActionLock(TemplateProjectDirectoryGenerator.class);
try {
baseDir.delete(TemplateProjectDirectoryGenerator.class);
WriteAction.run(() -> baseDir.delete(TemplateProjectDirectoryGenerator.class));
}
catch (IOException e) {
LOG.error(e);
}
finally {
token.close();
}
});
}
}
@@ -18,8 +18,7 @@ package com.intellij.ui;
import com.intellij.codeHighlighting.Pass;
import com.intellij.codeInsight.daemon.*;
import com.intellij.icons.AllIcons;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.editor.Editor;
import com.intellij.openapi.editor.ElementColorProvider;
import com.intellij.openapi.editor.markup.GutterIconRenderer;
@@ -81,13 +80,7 @@ public final class ColorLineMarkerProvider implements LineMarkerProvider {
assert editor != null;
final Color c = ColorChooser.chooseColor(editor.getComponent(), "Choose Color", color, true);
if (c != null) {
AccessToken token = ApplicationManager.getApplication().acquireWriteActionLock(ColorLineMarkerProvider.class);
try {
colorProvider.setColorTo(element, c);
}
finally {
token.finish();
}
WriteAction.run(() -> colorProvider.setColorTo(element, c));
}
}
},
@@ -178,12 +178,6 @@ public class StorageUtil {
return parentVirtualFile.createChildData(requestor, file.getFileName().toString());
}
AccessToken token = WriteAction.start();
try {
return parentVirtualFile.createChildData(requestor, file.getFileName().toString());
}
finally {
token.finish();
}
return WriteAction.compute(() -> parentVirtualFile.createChildData(requestor, file.getFileName().toString()));
}
}
@@ -26,10 +26,7 @@ import com.intellij.diff.requests.DiffRequest;
import com.intellij.diff.requests.SimpleDiffRequest;
import com.intellij.diff.util.DiffUserDataKeys;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.TransactionGuard;
import com.intellij.openapi.application.TransactionGuardImpl;
import com.intellij.openapi.application.*;
import com.intellij.openapi.command.CommandProcessor;
import com.intellij.openapi.command.UndoConfirmationPolicy;
import com.intellij.openapi.diagnostic.Logger;
@@ -387,13 +384,7 @@ public class FileDocumentManagerImpl extends FileDocumentManager implements Virt
}
}
final AccessToken token = ApplicationManager.getApplication().acquireWriteActionLock(getClass());
try {
doSaveDocumentInWriteAction(document, file);
}
finally {
token.finish();
}
WriteAction.run(() -> doSaveDocumentInWriteAction(document, file));
}
private void doSaveDocumentInWriteAction(@NotNull final Document document, @NotNull final VirtualFile file) throws IOException {
@@ -65,13 +65,7 @@ public class ProjectMacrosUtil {
String macro = it.next();
String value = System.getProperty(pathMacroSystemPrefix + macro, null);
if (value != null) {
AccessToken token = WriteAction.start();
try {
PathMacros.getInstance().setMacro(macro, value);
}
finally {
token.finish();
}
WriteAction.run(() -> PathMacros.getInstance().setMacro(macro, value));
it.remove();
}
}
@@ -180,14 +180,14 @@ public class RefreshSessionImpl extends RefreshSession {
return;
}
//noinspection unused
try (AccessToken dumb = myStartTrace == null ? null : DumbServiceImpl.forceDumbModeStartTrace(myStartTrace);
AccessToken write = WriteAction.start()) {
if (myDumbModePermission != null) {
DumbService.allowStartingDumbModeInside(myDumbModePermission, this::fireEventsInWriteAction);
} else {
fireEventsInWriteAction();
}
try (AccessToken ignore = myStartTrace == null ? null : DumbServiceImpl.forceDumbModeStartTrace(myStartTrace)) {
WriteAction.run(() -> {
if (myDumbModePermission != null) {
DumbService.allowStartingDumbModeInside(myDumbModePermission, this::fireEventsInWriteAction);
} else {
fireEventsInWriteAction();
}
});
}
finally {
mySemaphore.up();
@@ -16,7 +16,6 @@
package com.intellij.openapi.roots.impl;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ReadAction;
import com.intellij.openapi.application.WriteAction;
@@ -32,6 +31,7 @@ import com.intellij.openapi.util.JDOMExternalizable;
import com.intellij.openapi.util.WriteExternalException;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.openapi.vfs.pointers.VirtualFilePointerManager;
import com.intellij.util.ThrowableRunnable;
import gnu.trove.THashMap;
import org.jdom.Element;
import org.jetbrains.annotations.NotNull;
@@ -346,8 +346,7 @@ public class ModuleRootManagerImpl extends ModuleRootManager implements ModuleCo
}
protected void loadState(ModuleRootManagerState object, boolean throwEvent) {
AccessToken token = throwEvent ? WriteAction.start() : ReadAction.start();
try {
ThrowableRunnable<RuntimeException> r = () -> {
final RootModelImpl newModel = new RootModelImpl(object.getRootModelElement(), this, myProjectRootManager, myFilePointerManager, throwEvent);
if (throwEvent) {
@@ -359,13 +358,14 @@ public class ModuleRootManagerImpl extends ModuleRootManager implements ModuleCo
}
assert !myRootModel.isOrderEntryDisposed();
};
try {
if (throwEvent) WriteAction.run(r);
else ReadAction.run(r);
}
catch (InvalidDataException e) {
LOG.error(e);
}
finally {
token.finish();
}
}
public static class ModuleRootManagerState implements JDOMExternalizable {
@@ -16,7 +16,6 @@
package com.intellij.openapi.roots.impl;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.components.PersistentStateComponent;
@@ -93,17 +92,11 @@ public class ProjectRootManagerImpl extends ProjectRootManagerEx implements Pers
protected void levelDown() {
myBatchLevel -= 1;
if (myChanged && myBatchLevel == 0) {
AccessToken token = WriteAction.start();
try {
fireChange();
WriteAction.run(() -> fireChange());
}
finally {
try {
myChanged = false;
}
finally {
token.finish();
}
myChanged = false;
}
}
}
@@ -17,7 +17,6 @@
package com.intellij.openapi.roots.impl.libraries;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.components.PersistentStateComponent;
@@ -73,14 +72,10 @@ public abstract class LibraryTableBase implements PersistentStateComponent<Eleme
}
else {
LibraryModel model = new LibraryModel(myModel);
AccessToken token = WriteAction.start();
try {
WriteAction.run(() -> {
model.readExternal(element);
commit(model);
}
finally {
token.finish();
}
});
}
myFirstLoad = false;
@@ -93,8 +93,7 @@ public class PsiTestUtil {
PlatformTestCase.synchronizeTempDirVfs(vDir);
EdtTestUtil.runInEdtAndWait(() -> {
AccessToken token = WriteAction.start();
try {
WriteAction.run(() -> {
if (rootPath != null) {
VirtualFile vDir1 = LocalFileSystem.getInstance().findFileByPath(rootPath.replace(File.separatorChar, '/'));
if (vDir1 == null) {
@@ -106,10 +105,7 @@ public class PsiTestUtil {
if (addProjectRoots) {
addSourceContentToRoots(module, vDir);
}
}
finally {
token.finish();
}
});
});
return vDir;
}
@@ -1359,16 +1359,12 @@ public class CodeInsightTestFixtureImpl extends BaseFixture implements CodeInsig
EdtTestUtil.runInEdtAndWait(() -> {
if (!copy.getFileType().isBinary()) {
AccessToken token = WriteAction.start();
try {
copy.setBinaryContent(loader.newFileText.getBytes(copy.getCharset()));
WriteAction.run(() -> copy.setBinaryContent(loader.newFileText.getBytes(copy.getCharset())));
}
catch (IOException e) {
throw new RuntimeException(e);
}
finally {
token.finish();
}
}
myFile = copy;
myEditor = createEditor(copy);
@@ -18,10 +18,7 @@ package org.jetbrains.idea.devkit.actions;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.CommonDataKeys;
import com.intellij.openapi.actionSystem.LangDataKeys;
import com.intellij.openapi.actionSystem.PlatformDataKeys;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.command.CommandProcessorEx;
import com.intellij.openapi.command.UndoConfirmationPolicy;
import com.intellij.openapi.editor.Editor;
@@ -54,12 +51,10 @@ public class ShuffleNamesAction extends AnAction {
final Project project = file.getProject();
CommandProcessorEx commandProcessor = (CommandProcessorEx)CommandProcessorEx.getInstance();
Object commandToken = commandProcessor.startCommand(project, e.getPresentation().getText(), e.getPresentation().getText(), UndoConfirmationPolicy.DEFAULT);
AccessToken token = ApplicationManager.getApplication().acquireWriteActionLock(getClass());
try {
shuffleIds(file, editor);
WriteAction.run(() -> shuffleIds(file, editor));
}
finally {
token.finish();
commandProcessor.finishCommand(project, commandToken, null);
}
}
@@ -22,10 +22,7 @@ import com.intellij.lang.annotation.HighlightSeverity;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.CommonDataKeys;
import com.intellij.openapi.actionSystem.LangDataKeys;
import com.intellij.openapi.actionSystem.PlatformDataKeys;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.command.CommandProcessorEx;
import com.intellij.openapi.command.UndoConfirmationPolicy;
import com.intellij.openapi.editor.Document;
@@ -34,7 +31,6 @@ import com.intellij.openapi.editor.SelectionModel;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.TextRange;
import com.intellij.psi.PsiFile;
import com.intellij.util.Processor;
import org.jetbrains.annotations.Nullable;
import java.util.ArrayList;
@@ -63,19 +59,19 @@ public class ToggleHighlightingMarkupAction extends AnAction {
final Project project = file.getProject();
CommandProcessorEx commandProcessor = (CommandProcessorEx)CommandProcessorEx.getInstance();
Object commandToken = commandProcessor.startCommand(project, e.getPresentation().getText(), e.getPresentation().getText(), UndoConfirmationPolicy.DEFAULT);
AccessToken token = ApplicationManager.getApplication().acquireWriteActionLock(getClass());
try {
final SelectionModel selectionModel = editor.getSelectionModel();
int[] starts = selectionModel.getBlockSelectionStarts();
int[] ends = selectionModel.getBlockSelectionEnds();
WriteAction.run(() -> {
final SelectionModel selectionModel = editor.getSelectionModel();
int[] starts = selectionModel.getBlockSelectionStarts();
int[] ends = selectionModel.getBlockSelectionEnds();
int startOffset = starts.length == 0? 0 : starts[0];
int endOffset = ends.length == 0? editor.getDocument().getTextLength() : ends[ends.length - 1];
int startOffset = starts.length == 0? 0 : starts[0];
int endOffset = ends.length == 0? editor.getDocument().getTextLength() : ends[ends.length - 1];
perform(project, editor.getDocument(), startOffset, endOffset);
perform(project, editor.getDocument(), startOffset, endOffset);
});
}
finally {
token.finish();
commandProcessor.finishCommand(project, commandToken, null);
}
}
@@ -15,7 +15,6 @@
*/
package org.jetbrains.idea.eclipse.config;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.components.StateStorage;
import com.intellij.openapi.components.impl.stores.StorageUtil;
@@ -114,8 +113,7 @@ final class ClasspathSaveSession implements StateStorage.ExternalizationSession,
public void save() throws IOException {
CachedXmlDocumentSet fileSet = EclipseClasspathStorageProvider.getFileCache(module);
AccessToken token = WriteAction.start();
try {
WriteAction.run(() -> {
for (String key : modifiedContent.keySet()) {
Element content = modifiedContent.get(key);
String path = fileSet.getParent(key) + '/' + key;
@@ -143,9 +141,6 @@ final class ClasspathSaveSession implements StateStorage.ExternalizationSession,
}
}
deletedContent.clear();
}
finally {
token.finish();
}
});
}
}
@@ -15,7 +15,6 @@
*/
package org.jetbrains.idea.eclipse.config;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.components.PathMacroManager;
import com.intellij.openapi.module.Module;
@@ -145,13 +144,7 @@ public class EclipseClasspathStorageProvider implements ClasspathStorageProvider
VirtualFile root = LocalFileSystem.getInstance().findFileByPath(ModuleUtilCore.getModuleDirPath(module));
VirtualFile source = root == null ? null : root.findChild(oldName + EclipseXml.IDEA_SETTINGS_POSTFIX);
if (source != null && source.isValid()) {
AccessToken token = WriteAction.start();
try {
source.rename(this, newName + EclipseXml.IDEA_SETTINGS_POSTFIX);
}
finally {
token.finish();
}
WriteAction.run(() -> source.rename(this, newName + EclipseXml.IDEA_SETTINGS_POSTFIX));
}
DotProjectFileHelper.saveDotProjectFile(module, fileSet.getParent(EclipseXml.PROJECT_FILE));
@@ -20,7 +20,6 @@
*/
package org.jetbrains.idea.eclipse.conversion;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.roots.OrderRootType;
@@ -98,8 +97,7 @@ public class EclipseUserLibrariesHelper {
LibraryTable libraryTable = ProjectLibraryTable.getInstance(project);
Element element = JDOMUtil.load(exportedFile.getInputStream());
AccessToken token = WriteAction.start();
try {
WriteAction.run(() -> {
for (Element libElement : element.getChildren("library")) {
String libName = libElement.getAttributeValue("name");
Library libraryByName = libraryTable.getLibraryByName(libName);
@@ -133,9 +131,6 @@ public class EclipseUserLibrariesHelper {
}
unknownLibraries.remove(libName); //ignore finally found libraries
}
}
finally {
token.finish();
}
});
}
}
@@ -20,7 +20,6 @@
*/
package org.jetbrains.idea.eclipse;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.PluginPathManager;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.module.Module;
@@ -75,26 +74,14 @@ public class EclipseEmlTest extends IdeaTestCase {
}
private static Module doLoadModule(@NotNull String path, @NotNull Project project) throws IOException, JDOMException, InvalidDataException {
Module module;
AccessToken token = WriteAction.start();
try {
module = ModuleManager.getInstance(project).newModule(path + '/' + EclipseProjectFinder.findProjectName(path) + IdeaXml.IML_EXT, StdModuleTypes.JAVA.getId());
}
finally {
token.finish();
}
Module module = WriteAction.compute(
() -> ModuleManager.getInstance(project).newModule(path + '/' + EclipseProjectFinder.findProjectName(path) + IdeaXml.IML_EXT, StdModuleTypes.JAVA.getId()));
replaceRoot(path, EclipseXml.DOT_CLASSPATH_EXT, project);
ModifiableRootModel rootModel = ModuleRootManager.getInstance(module).getModifiableModel();
new EclipseClasspathConverter(module).readClasspath(rootModel);
token = WriteAction.start();
try {
rootModel.commit();
}
finally {
token.finish();
}
WriteAction.run(() -> rootModel.commit());
return module;
}
@@ -17,7 +17,6 @@
package org.jetbrains.plugins.groovy.annotator.intentions;
import com.intellij.codeInsight.intention.impl.CreateClassDialog;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.diagnostic.Logger;
@@ -101,43 +100,40 @@ public abstract class CreateClassActionBase extends Intention {
@Nullable final PsiElement contextElement,
@NotNull final String templateName,
boolean allowReformatting) {
AccessToken accessToken = WriteAction.start();
try {
GrTypeDefinition targetClass = null;
return WriteAction.compute(() -> {
try {
PsiFile file = GroovyTemplatesFactory.createFromTemplate(directory, name, name + ".groovy", templateName, allowReformatting);
for (PsiElement element : file.getChildren()) {
if (element instanceof GrTypeDefinition) {
targetClass = ((GrTypeDefinition)element);
break;
GrTypeDefinition targetClass = null;
try {
PsiFile file = GroovyTemplatesFactory.createFromTemplate(directory, name, name + ".groovy", templateName, allowReformatting);
for (PsiElement element : file.getChildren()) {
if (element instanceof GrTypeDefinition) {
targetClass = ((GrTypeDefinition)element);
break;
}
}
if (targetClass == null) {
throw new IncorrectOperationException(GroovyBundle.message("no.class.in.file.template"));
}
}
if (targetClass == null) {
throw new IncorrectOperationException(GroovyBundle.message("no.class.in.file.template"));
catch (final IncorrectOperationException e) {
ApplicationManager.getApplication().invokeLater(() -> Messages.showErrorDialog(
GroovyBundle.message("cannot.create.class.error.text", name, e.getLocalizedMessage()),
GroovyBundle.message("cannot.create.class.error.title")));
return null;
}
PsiModifierList modifiers = targetClass.getModifierList();
if (contextElement != null &&
!JavaPsiFacade.getInstance(manager.getProject()).getResolveHelper().isAccessible(targetClass, contextElement, null) &&
modifiers != null) {
modifiers.setModifierProperty(PsiModifier.PUBLIC, true);
}
return targetClass;
}
catch (final IncorrectOperationException e) {
ApplicationManager.getApplication().invokeLater(() -> Messages.showErrorDialog(
GroovyBundle.message("cannot.create.class.error.text", name, e.getLocalizedMessage()),
GroovyBundle.message("cannot.create.class.error.title")));
catch (IncorrectOperationException e) {
LOG.error(e);
return null;
}
PsiModifierList modifiers = targetClass.getModifierList();
if (contextElement != null &&
!JavaPsiFacade.getInstance(manager.getProject()).getResolveHelper().isAccessible(targetClass, contextElement, null) &&
modifiers != null) {
modifiers.setModifierProperty(PsiModifier.PUBLIC, true);
}
return targetClass;
}
catch (IncorrectOperationException e) {
LOG.error(e);
return null;
}
finally {
accessToken.finish();
}
});
}
@Nullable
@@ -118,8 +118,7 @@ public abstract class CreateClassFix {
@NotNull PsiType[] argTypes,
@NotNull GrTypeDefinition targetClass,
@NotNull Project project) {
final AccessToken writeLock = WriteAction.start();
try {
WriteAction.run(() -> {
ChooseTypeExpression[] paramTypesExpressions = new ChooseTypeExpression[argTypes.length];
String[] paramTypes = new String[argTypes.length];
String[] paramNames = new String[argTypes.length];
@@ -138,10 +137,7 @@ public abstract class CreateClassFix {
method = (GrMethod)targetClass.addBefore(method, null);
final PsiElement context = PsiTreeUtil.getParentOfType(refElement, PsiMethod.class, PsiClass.class, PsiFile.class);
IntentionUtils.createTemplateForMethod(argTypes, paramTypesExpressions, method, targetClass, TypeConstraint.EMPTY_ARRAY, true, context);
}
finally {
writeLock.finish();
}
});
}
public static IntentionAction createClassFixAction(final GrReferenceElement refElement, GrCreateClassKind type) {
@@ -182,21 +178,16 @@ public abstract class CreateClassFix {
return;
}
if (!FileModificationService.getInstance().preparePsiElementForWrite(resolved)) return;
AccessToken lock = ApplicationManager.getApplication().acquireWriteActionLock(CreateClassFix.class);
try {
FileModificationService.getInstance().preparePsiElementForWrite(resolved);
WriteAction.run(() -> {
PsiClass added = (PsiClass)resolved.add(template);
PsiModifierList modifierList = added.getModifierList();
if (modifierList != null) {
modifierList.setModifierProperty(PsiModifier.STATIC, true);
}
IntentionUtils.positionCursor(project, added.getContainingFile(), added);
}
finally {
lock.finish();
}
});
}
@Nullable
@@ -19,7 +19,6 @@ import com.intellij.codeInsight.FileModificationService;
import com.intellij.codeInsight.completion.JavaCompletionUtil;
import com.intellij.codeInsight.daemon.QuickFixBundle;
import com.intellij.ide.util.MethodCellRenderer;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.command.CommandProcessor;
import com.intellij.openapi.diagnostic.Logger;
@@ -159,24 +158,17 @@ public class GroovyStaticImportMethodFix extends Intention {
}
private void doImport(final PsiMethod toImport) {
CommandProcessor.getInstance().executeCommand(toImport.getProject(), () -> {
AccessToken accessToken = WriteAction.start();
CommandProcessor.getInstance().executeCommand(toImport.getProject(), () -> WriteAction.run(() -> {
try {
try {
GrMethodCall element = myMethodCall.getElement();
if (element != null) {
getMethodExpression(element).bindToElementViaStaticImport(toImport);
}
}
catch (IncorrectOperationException e) {
LOG.error(e);
GrMethodCall element = myMethodCall.getElement();
if (element != null) {
getMethodExpression(element).bindToElementViaStaticImport(toImport);
}
}
finally {
accessToken.finish();
catch (IncorrectOperationException e) {
LOG.error(e);
}
}, getText(), this);
}), getText(), this);
}
@@ -15,7 +15,6 @@
*/
package org.jetbrains.plugins.groovy.config;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.PathManager;
import com.intellij.openapi.application.PluginPathManager;
import com.intellij.openapi.application.WriteAction;
@@ -50,18 +49,13 @@ public class GroovyFacetUtil {
GroovyBundle.message("groovy.like.library.found.text", module.getName(), library.getName(), utils.getSDKLibVersion(library)),
GroovyBundle.message("groovy.like.library.found"), JetgroovyIcons.Groovy.Groovy_32x32);
if (result == Messages.OK) {
AccessToken accessToken = WriteAction.start();
try {
WriteAction.run(() -> {
ModifiableRootModel model = ModuleRootManager.getInstance(module).getModifiableModel();
LibraryOrderEntry entry = model.addLibraryEntry(libraries[0]);
LibrariesUtil.placeEntryToCorrectPlace(model, entry);
model.commit();
return true;
}
finally {
accessToken.finish();
}
});
return true;
}
}
return false;
@@ -22,7 +22,6 @@ import com.intellij.execution.configurations.JavaParameters;
import com.intellij.execution.configurations.ParametersList;
import com.intellij.lang.properties.IProperty;
import com.intellij.lang.properties.psi.PropertiesFile;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.project.Project;
@@ -118,18 +117,14 @@ public class GriffonFramework extends MvcFramework {
final VirtualFile root = findAppRoot(module);
if (root == null) return;
AccessToken token = WriteAction.start();
try {
WriteAction.run(() -> {
MvcModuleStructureUtil.updateModuleStructure(module, createProjectStructure(module, false), root);
if (hasSupport(module)) {
MvcModuleStructureUtil.updateAuxiliaryPluginsModuleRoots(module, this);
MvcModuleStructureUtil.updateGlobalPluginModule(module.getProject(), this);
}
}
finally {
token.finish();
}
});
final Project project = module.getProject();
ChangeListManager.getInstance(project).addFilesToIgnore(IgnoredBeanFactory.ignoreUnderDirectory(getUserHomeGriffon(), project));
@@ -145,18 +145,12 @@ public class ConvertConcatenationToGstringIntention extends Intention {
final GroovyPsiElementFactory factory = GroovyPsiElementFactory.getInstance(element.getProject());
final GrExpression newExpr = factory.createExpressionFromText(GrStringUtil.addQuotes(text, true));
CommandProcessor.getInstance().executeCommand(element.getProject(), () -> {
final AccessToken accessToken = WriteAction.start();
try {
final GrExpression expression = ((GrExpression)element).replaceWithExpression(newExpr, true);
if (expression instanceof GrString) {
GrStringUtil.removeUnnecessaryBracesInGString((GrString)expression);
}
CommandProcessor.getInstance().executeCommand(element.getProject(), () -> WriteAction.run(() -> {
final GrExpression expression = ((GrExpression)element).replaceWithExpression(newExpr, true);
if (expression instanceof GrString) {
GrStringUtil.removeUnnecessaryBracesInGString((GrString)expression);
}
finally {
accessToken.finish();
}
}, null, null, document);
}), null, null, document);
}
private static boolean containsMultilineStrings(GrExpression expr) {
@@ -16,7 +16,6 @@
package org.jetbrains.plugins.groovy.refactoring;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.progress.ProgressIndicator;
@@ -29,9 +28,9 @@ import com.intellij.psi.PsiFile;
import com.intellij.refactoring.RefactoringHelper;
import com.intellij.usageView.UsageInfo;
import com.intellij.util.containers.hash.HashSet;
import org.jetbrains.plugins.groovy.lang.psi.util.GroovyImportUtil;
import org.jetbrains.plugins.groovy.lang.psi.GroovyFile;
import org.jetbrains.plugins.groovy.lang.psi.api.toplevel.imports.GrImportStatement;
import org.jetbrains.plugins.groovy.lang.psi.util.GroovyImportUtil;
import org.jetbrains.plugins.groovy.lang.psi.util.PsiUtil;
import java.util.HashMap;
@@ -86,9 +85,7 @@ public class GroovyImportOptimizerRefactoringHelper implements RefactoringHelper
return;
}
AccessToken accessToken = WriteAction.start();
try {
WriteAction.run(() -> {
for (GroovyFile groovyFile : redundants.keySet()) {
if (!groovyFile.isValid()) continue;
final Pair<List<GrImportStatement>, Set<GrImportStatement>> pair = redundants.get(groovyFile);
@@ -100,10 +97,7 @@ public class GroovyImportOptimizerRefactoringHelper implements RefactoringHelper
}
}
}
}
finally {
accessToken.finish();
}
});
}
}
@@ -17,8 +17,8 @@
package org.jetbrains.plugins.groovy.refactoring.extract.method;
import com.intellij.openapi.actionSystem.DataContext;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.command.CommandProcessor;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.editor.Editor;
@@ -194,8 +194,7 @@ public class GroovyExtractMethodHandler implements RefactoringActionHandler {
if (helper == null) return;
CommandProcessor.getInstance().executeCommand(helper.getProject(), () -> {
final AccessToken lock = ApplicationManager.getApplication().acquireWriteActionLock(GroovyExtractMethodHandler.class);
try {
WriteAction.run(() -> {
createMethod(helper, owner);
GrStatementOwner declarationOwner =
helper.getStringPartInfo() == null ? GroovyRefactoringUtil.getDeclarationOwner(helper.getStatements()[0]) : null;
@@ -207,10 +206,7 @@ public class GroovyExtractMethodHandler implements RefactoringActionHandler {
editor.getSelectionModel().removeSelection();
editor.getCaretModel().moveToOffset(ExtractUtil.getCaretOffset(realStatement));
}
}
finally {
lock.finish();
}
});
}, REFACTORING_NAME, null);
}
@@ -16,8 +16,7 @@
package org.jetbrains.plugins.groovy.refactoring.introduce.constant;
import com.intellij.ide.util.*;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.editor.event.DocumentAdapter;
import com.intellij.openapi.editor.event.DocumentEvent;
@@ -437,15 +436,11 @@ public class GrIntroduceConstantDialog extends DialogWrapper
if (psiDirectory == null) return null;
final String shortName = StringUtil.getShortName(qualifiedName);
final String fileName = shortName + NewGroovyActionBase.GROOVY_EXTENSION;
final AccessToken lock = ApplicationManager.getApplication().acquireWriteActionLock(GrIntroduceConstantDialog.class);
try {
return WriteAction.compute(() -> {
final GroovyFile file =
(GroovyFile)GroovyTemplatesFactory.createFromTemplate(psiDirectory, shortName, fileName, GroovyTemplates.GROOVY_CLASS, true);
return file.getTypeDefinitions()[0];
}
finally {
lock.finish();
}
});
}
}
}
@@ -15,7 +15,6 @@
*/
package org.jetbrains.plugins.groovy.refactoring.introduce.parameter;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.ui.DialogWrapper;
@@ -340,15 +339,7 @@ public class GrIntroduceParameterDialog extends DialogWrapper {
final ExtractClosureHelperImpl mockHelper =
new ExtractClosureHelperImpl(myInfo, "__test___n_", false, new TIntArrayList(), false,
IntroduceParameterRefactoring.REPLACE_FIELDS_WITH_GETTERS_NONE, false, false, false);
final PsiType returnType;
final AccessToken token = WriteAction.start();
try {
returnType = ExtractClosureProcessorBase.generateClosure(mockHelper).getReturnType();
}
finally {
token.finish();
}
return returnType;
return WriteAction.compute(() -> ExtractClosureProcessorBase.generateClosure(mockHelper).getReturnType());
}
private NameSuggestionsField createNameField(GrVariable var) {
@@ -17,7 +17,6 @@ package org.jetbrains.plugins.groovy.testIntegration;
import com.intellij.codeInsight.CodeInsightBundle;
import com.intellij.codeInsight.CodeInsightUtil;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.editor.Editor;
@@ -58,8 +57,7 @@ public class GroovyTestGenerator implements TestGenerator {
@Nullable
@Override
public PsiElement generateTest(final Project project, final CreateTestDialog d) {
AccessToken accessToken = WriteAction.start();
try {
return WriteAction.compute(() -> {
final PsiClass test = (PsiClass)PostprocessReformattingAspect.getInstance(project).postponeFormattingInside(
(Computable<PsiElement>)() -> {
try {
@@ -93,10 +91,7 @@ public class GroovyTestGenerator implements TestGenerator {
JavaCodeStyleManager.getInstance(test.getProject()).shortenClassReferences(test);
CodeStyleManager.getInstance(project).reformat(test);
return test;
}
finally {
accessToken.finish();
}
});
}
@Override
@@ -104,9 +104,7 @@ println c /*also important */
private List<String> getSurrounders(final String fileText) {
myFixture.configureByText("a.groovy", fileText)
def token = WriteAction.start()
try {
WriteAction.compute {
def actions = SurroundWithHandler.buildSurroundActions(project, myFixture.editor, myFixture.file, null)
def names = []
for (action in actions) {
@@ -119,8 +117,5 @@ println c /*also important */
}
return names
}
finally {
token.finish()
}
}
}
@@ -668,15 +668,11 @@ println(<selection>a + b</selection>)
private void performRefactoring(String selectedType, boolean isStatic, boolean removeLocal, boolean declareFinal, GrIntroduceFieldSettings.Init initIn, boolean replaceAll) {
final PsiType type = selectedType == null ? null : JavaPsiFacade.getElementFactory(project).createTypeFromText(selectedType, myFixture.file)
def accessToken = WriteAction.start()
try {
WriteAction.run {
final IntroduceFieldTestHandler handler = new IntroduceFieldTestHandler(isStatic, removeLocal, declareFinal, initIn, replaceAll, type)
handler.invoke(project, myFixture.editor, myFixture.file, null)
PostprocessReformattingAspect.getInstance(project).doPostponedFormatting()
}
finally {
accessToken.finish()
}
}
private void doTestInitInTarget(String text, EnumSet<Init> expected = EnumSet.noneOf(Init), ReplaceChoice replaceChoice = ALL) {
@@ -19,8 +19,7 @@ import com.intellij.lang.properties.psi.PropertiesFile;
import com.intellij.lang.properties.references.CreatePropertyFix;
import com.intellij.lang.properties.references.I18nizeQuickFixDialog;
import com.intellij.lang.properties.references.I18nizeQuickFixModel;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.Couple;
@@ -55,17 +54,15 @@ public class JavaCreatePropertyFix extends CreatePropertyFix {
StringUtil.escapeStringCharacters(key.length(), key, buffer);
buffer.append('"');
final AccessToken token = ApplicationManager.getApplication().acquireWriteActionLock(JavaCreatePropertyFix.class);
try {
final PsiExpression newKeyLiteral = JavaPsiFacade.getElementFactory(project).createExpressionFromText(buffer.toString(), null);
psiElement.replace(newKeyLiteral);
WriteAction.run(() -> {
final PsiExpression newKeyLiteral = JavaPsiFacade.getElementFactory(project).createExpressionFromText(buffer.toString(), null);
psiElement.replace(newKeyLiteral);
});
}
catch (IncorrectOperationException e) {
LOG.error(e);
}
finally {
token.finish();
}
}
return result;
}
@@ -29,7 +29,6 @@ import com.intellij.openapi.roots.impl.ModifiableModelCommitter;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.vfs.VfsUtilCore;
import com.intellij.util.ArrayUtil;
import com.intellij.util.PairConsumer;
import com.intellij.util.containers.LinkedMultiMap;
import com.intellij.util.containers.MultiMap;
import org.jdom.Element;
@@ -58,8 +57,7 @@ public class MavenFoldersImporter {
final MavenProjectsManager manager = MavenProjectsManager.getInstance(project);
final MavenImportingSettings settings = manager.getImportingSettings();
AccessToken accessToken = WriteAction.start();
try {
WriteAction.run(() -> {
List<ModifiableRootModel> rootModels = new ArrayList<>();
for (Module each : ModuleManager.getInstance(project).getModules()) {
MavenProject mavenProject = manager.findProject(each);
@@ -83,10 +81,7 @@ public class MavenFoldersImporter {
ModifiableModelCommitter.multiCommit(modelsArray, ModuleManager.getInstance(modelsArray[0].getProject()).getModifiableModel());
}
}
}
finally {
accessToken.finish();
}
});
}
public MavenFoldersImporter(MavenProject mavenProject, MavenImportingSettings settings, MavenRootModelAdapter model) {
@@ -15,7 +15,6 @@
*/
package org.jetbrains.idea.maven.project;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.roots.ex.ProjectRootManagerEx;
@@ -57,14 +56,7 @@ public class MavenProjectsProcessorArtifactsDownloadingTask implements MavenProj
if (myCallbackResult != null) myCallbackResult.setDone(result);
// todo: hack to update all file pointers.
MavenUtil.invokeLater(project, () -> {
AccessToken accessToken = WriteAction.start();
try {
ProjectRootManagerEx.getInstanceEx(project).makeRootsChange(EmptyRunnable.getInstance(), false, true);
}
finally {
accessToken.finish();
}
});
MavenUtil.invokeLater(project, () -> WriteAction.run(
() -> ProjectRootManagerEx.getInstanceEx(project).makeRootsChange(EmptyRunnable.getInstance(), false, true)));
}
}
@@ -19,7 +19,6 @@ import com.intellij.CommonBundle;
import com.intellij.notification.Notification;
import com.intellij.notification.NotificationType;
import com.intellij.notification.Notifications;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.progress.ProgressIndicator;
@@ -35,7 +34,6 @@ import com.intellij.openapi.roots.libraries.ui.OrderRoot;
import com.intellij.openapi.roots.ui.configuration.libraryEditor.LibraryEditor;
import com.intellij.openapi.ui.DialogWrapper;
import com.intellij.openapi.ui.Messages;
import com.intellij.openapi.util.Condition;
import com.intellij.openapi.util.Pair;
import com.intellij.openapi.util.Ref;
import com.intellij.openapi.util.io.FileUtil;
@@ -43,7 +41,6 @@ import com.intellij.openapi.vfs.VfsUtil;
import com.intellij.openapi.vfs.VfsUtilCore;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.openapi.vfs.VirtualFileManager;
import com.intellij.util.Function;
import com.intellij.util.PairProcessor;
import com.intellij.util.Processor;
import com.intellij.util.SmartList;
@@ -143,14 +140,10 @@ public class RepositoryAttachHandler {
final Ref<List<OrderRoot>> result = Ref.create(null);
doResolveInner(project, getMavenId(coord), extraTypes, repositories, artifacts -> {
if (!artifacts.isEmpty()) {
AccessToken accessToken = WriteAction.start();
try {
WriteAction.run(() -> {
final List<OrderRoot> roots = createRoots(artifacts, copyTo);
result.set(roots);
}
finally {
accessToken.finish();
}
});
}
return true;
}, indicator);
@@ -33,7 +33,6 @@ import com.intellij.openapi.ui.Messages;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vfs.JarFileSystem;
import com.intellij.util.Function;
import com.intellij.util.PathUtil;
import com.intellij.util.containers.JBIterable;
import org.jetbrains.annotations.NotNull;
@@ -146,18 +145,14 @@ public class RepositoryUtils {
if (library.isDisposed()) {
return;
}
AccessToken token = WriteAction.start();
try {
WriteAction.run(() -> {
final NewLibraryEditor editor = new NewLibraryEditor(null, properties);
editor.removeAllRoots();
editor.addRoots(roots);
final Library.ModifiableModel model = library.getModifiableModel();
editor.applyTo((LibraryEx.ModifiableModelEx)model);
model.commit();
}
finally {
token.finish();
}
});
});
}
}
@@ -535,16 +535,12 @@ public class ResourceCopyingTest extends MavenCompilingTestCase {
}
private void setModulesOutput(final VirtualFile output, final String... moduleNames) {
AccessToken accessToken = WriteAction.start();
try {
WriteAction.run(() -> {
for (String each : moduleNames) {
PsiTestUtil.setCompilerOutputPath(getModule(each), output.getUrl(), false);
PsiTestUtil.setCompilerOutputPath(getModule(each), output.getUrl(), true);
}
}
finally {
accessToken.finish();
}
});
}
public void testWebResources() throws Exception {
@@ -16,7 +16,6 @@
package org.jetbrains.idea.maven.execution;
import com.intellij.execution.configurations.JavaParameters;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.roots.ProjectRootManager;
import com.intellij.openapi.vfs.VirtualFile;
@@ -80,13 +79,7 @@ public abstract class MavenResolveToWorkspaceTest extends MavenImportingTestCase
//assertModules("project", "moduleA", "moduleB");
AccessToken accessToken = WriteAction.start();
try {
ProjectRootManager.getInstance(myProject).setProjectSdk(createJdk("Java 1.5"));
}
finally {
accessToken.finish();
}
WriteAction.run(() -> ProjectRootManager.getInstance(myProject).setProjectSdk(createJdk("Java 1.5")));
MavenRunnerParameters runnerParameters = new MavenRunnerParameters(moduleB.getParent().getPath(), false, Collections.singletonList("jetty:run"), Collections.<String, Boolean>emptyMap());
runnerParameters.setResolveToWorkspace(true);
@@ -15,7 +15,6 @@
*/
package org.jetbrains.idea.maven.importing;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.Result;
import com.intellij.openapi.application.WriteAction;
@@ -2080,13 +2079,7 @@ public class DependenciesImportingTest extends MavenImportingTestCase {
}
private Library createProjectLibrary(final String libraryName) {
AccessToken accessToken = WriteAction.start();
try {
return ProjectLibraryTable.getInstance(myProject).createLibrary(libraryName);
}
finally {
accessToken.finish();
}
return WriteAction.compute(() -> ProjectLibraryTable.getInstance(myProject).createLibrary(libraryName));
}
private void createAndAddProjectLibrary(final String moduleName, final String libraryName) {
@@ -17,8 +17,7 @@ package com.jetbrains.python.refactoring.introduce.field;
import com.intellij.lang.ASTNode;
import com.intellij.openapi.actionSystem.DataContext;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.editor.CaretModel;
import com.intellij.openapi.editor.Document;
import com.intellij.openapi.editor.Editor;
@@ -359,8 +358,7 @@ public class PyIntroduceFieldHandler extends IntroduceHandler {
@Override
protected void moveOffsetAfter(boolean success) {
if (success && (myPanel != null && myPanel.getInitPlace() != InitPlace.SAME_METHOD) || myOperation.getInplaceInitPlace() != InitPlace.SAME_METHOD) {
final AccessToken accessToken = ApplicationManager.getApplication().acquireWriteActionLock(getClass());
try {
WriteAction.run(() -> {
final PyAssignmentStatement initializer = PsiTreeUtil.getParentOfType(myTarget, PyAssignmentStatement.class);
assert initializer != null;
final Function<String, PyStatement> callback = FunctionUtil.<String, PyStatement>constant(initializer);
@@ -381,10 +379,7 @@ public class PyIntroduceFieldHandler extends IntroduceHandler {
initializer.replace(copy);
}
initializer.delete();
}
finally {
accessToken.finish();
}
});
}
}
}
@@ -17,9 +17,9 @@ package com.intellij.codeInsight.daemon.impl.quickfix;
import com.intellij.codeInsight.daemon.DaemonCodeAnalyzer;
import com.intellij.javaee.ExternalResourceManager;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.PathManager;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.editor.Editor;
import com.intellij.openapi.fileTypes.FileTypeManager;
@@ -184,16 +184,11 @@ public class FetchExtResourceAction extends BaseExtResourceAction implements Wat
final PsiManager psiManager = PsiManager.getInstance(project);
ApplicationManager.getApplication().invokeAndWait(() -> {
@SuppressWarnings("deprecation")
final AccessToken token = ApplicationManager.getApplication().acquireWriteActionLock(FetchExtResourceAction.class);
try {
WriteAction.run(() -> {
final String path = FileUtil.toSystemIndependentName(extResources.getAbsolutePath());
final VirtualFile vFile = LocalFileSystem.getInstance().refreshAndFindFileByPath(path);
LOG.assertTrue(vFile != null, path);
}
finally {
token.finish();
}
});
});
final List<String> downloadedResources = new LinkedList<>();
@@ -108,13 +108,9 @@ class XmlXIncludeTest extends LightCodeInsightFixtureTestCase {
}
private changeText(VirtualFile inc1, String s) {
def token = WriteAction.start()
try {
WriteAction.run {
FileDocumentManager.instance.getDocument(inc1).setText s
PsiDocumentManager.getInstance(project).commitAllDocuments()
}
finally {
token.finish()
}
}
}