diff --git a/plugins/generate-tostring/src/org/jetbrains/java/generate/GenerateToStringActionHandlerImpl.java b/plugins/generate-tostring/src/org/jetbrains/java/generate/GenerateToStringActionHandlerImpl.java index fcc740b38485..e412314e21df 100644 --- a/plugins/generate-tostring/src/org/jetbrains/java/generate/GenerateToStringActionHandlerImpl.java +++ b/plugins/generate-tostring/src/org/jetbrains/java/generate/GenerateToStringActionHandlerImpl.java @@ -20,6 +20,7 @@ import com.intellij.codeInsight.generation.PsiElementClassMember; import com.intellij.codeInsight.hint.HintManager; import com.intellij.ide.util.MemberChooser; import com.intellij.openapi.Disposable; +import com.intellij.openapi.application.WriteAction; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.options.Configurable; @@ -112,8 +113,14 @@ public class GenerateToStringActionHandlerImpl implements GenerateToStringAction ToStringTemplatesManager.getInstance().setDefaultTemplate(template); if (template.isValidTemplate()) { - GenerateToStringWorker.executeGenerateActionLater(clazz, editor, selectedMembers, template, - chooser.isInsertOverrideAnnotation()); + WriteAction.run(() -> { + try { + new GenerateToStringWorker(clazz, editor, chooser.isInsertOverrideAnnotation()).execute(selectedMembers, template); + } + catch (Exception e) { + GenerationUtil.handleException(project, e); + } + }); } else { HintManager.getInstance().showErrorHint(editor, "toString() template '" + template.getFileName() + "' is invalid"); diff --git a/plugins/generate-tostring/src/org/jetbrains/java/generate/GenerateToStringWorker.java b/plugins/generate-tostring/src/org/jetbrains/java/generate/GenerateToStringWorker.java index cde95464b439..c8be39a956d8 100644 --- a/plugins/generate-tostring/src/org/jetbrains/java/generate/GenerateToStringWorker.java +++ b/plugins/generate-tostring/src/org/jetbrains/java/generate/GenerateToStringWorker.java @@ -20,8 +20,6 @@ package org.jetbrains.java.generate; import com.intellij.codeInsight.hint.HintManager; -import com.intellij.openapi.application.ApplicationManager; -import com.intellij.openapi.command.CommandProcessor; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.editor.ScrollType; @@ -39,7 +37,10 @@ import org.jetbrains.java.generate.psi.PsiAdapter; import org.jetbrains.java.generate.template.TemplateResource; import org.jetbrains.java.generate.view.MethodExistsDialog; -import java.util.*; +import java.util.Collection; +import java.util.HashMap; +import java.util.Map; +import java.util.StringTokenizer; public class GenerateToStringWorker { private static final Logger logger = Logger.getInstance("#" + GenerateToStringWorker.class.getName()); @@ -243,35 +244,4 @@ public class GenerateToStringWorker { PsiAdapter.addImportStatement(psiJavaFile, packageName); } } - - /** - * Generates the toString() code for the specified class and selected - * fields, doing the work through a WriteAction ran by a CommandProcessor. - * - * @param selectedMembers list of members selected - * @param template the chosen template to use - * @param insertAtOverride - */ - public static void executeGenerateActionLater(final PsiClass clazz, - final Editor editor, - final Collection selectedMembers, - final TemplateResource template, - final boolean insertAtOverride) { - Runnable writeCommand = new Runnable() { - public void run() { - ApplicationManager.getApplication().runWriteAction(new Runnable() { - public void run() { - try { - new GenerateToStringWorker(clazz, editor, insertAtOverride).execute(selectedMembers, template); - } - catch (Exception e) { - GenerationUtil.handleException(clazz.getProject(), e); - } - } - }); - } - }; - - CommandProcessor.getInstance().executeCommand(clazz.getProject(), writeCommand, "GenerateToString", null); - } }