inline GenerateToStringWorker#executeGenerateActionLater

This commit is contained in:
peter
2016-04-06 15:25:54 +02:00
parent b8f10f6b5c
commit da40648ed0
2 changed files with 13 additions and 36 deletions
@@ -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");
@@ -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<PsiMember> 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);
}
}