diff --git a/platform/lang-impl/src/com/intellij/tools/Tool.java b/platform/lang-impl/src/com/intellij/tools/Tool.java index 5e7b5b7e222c..fae05cea304f 100644 --- a/platform/lang-impl/src/com/intellij/tools/Tool.java +++ b/platform/lang-impl/src/com/intellij/tools/Tool.java @@ -264,10 +264,6 @@ public class Tool implements SchemeElement { return name.toString(); } - public void execute(AnActionEvent event, DataContext dataContext, long executionId) { - execute(event, dataContext, executionId, null); - } - /** * @return true if task has been started successfully */ @@ -303,8 +299,9 @@ public class Tool implements SchemeElement { } OSProcessHandler handler = new OSProcessHandler(commandLine.createProcess(), commandLine.getCommandLineString()); handler.addProcessListener(new ToolProcessAdapter(project, synchronizeAfterExecution(), getName())); - if (processListener != null) + if (processListener != null) { handler.addProcessListener(processListener); + } handler.startNotify(); return true; } diff --git a/platform/lang-impl/src/com/intellij/tools/ToolBeforeRunTask.java b/platform/lang-impl/src/com/intellij/tools/ToolBeforeRunTask.java index aef500c1a94e..632e80830f60 100644 --- a/platform/lang-impl/src/com/intellij/tools/ToolBeforeRunTask.java +++ b/platform/lang-impl/src/com/intellij/tools/ToolBeforeRunTask.java @@ -22,6 +22,7 @@ import com.intellij.openapi.actionSystem.DataContext; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.application.ModalityState; import com.intellij.openapi.diagnostic.Logger; +import com.intellij.openapi.util.Ref; import com.intellij.util.concurrency.Semaphore; import org.jdom.Element; import org.jetbrains.annotations.NonNls; @@ -72,7 +73,7 @@ public class ToolBeforeRunTask extends BeforeRunTask { public boolean execute(final DataContext context, final long executionId) { final Semaphore targetDone = new Semaphore(); - final boolean[] result = new boolean[1]; + final Ref result = new Ref(false); try { ApplicationManager.getApplication().invokeAndWait(new Runnable() { @@ -82,12 +83,12 @@ public class ToolBeforeRunTask extends BeforeRunTask { boolean runToolResult = ToolAction.runTool(myToolActionId, context, null, executionId, new ProcessAdapter() { @Override public void processTerminated(ProcessEvent event) { - result[0] = event.getExitCode() == 0; + result.set(event.getExitCode() == 0); targetDone.up(); } }); if (!runToolResult) { - result[0] = false; + result.set(false); targetDone.up(); } } @@ -98,7 +99,7 @@ public class ToolBeforeRunTask extends BeforeRunTask { return false; } targetDone.waitFor(); - return result[0]; + return result.get(); } @Nullable