revert changes with delegate future

This commit is contained in:
Eugene Zhuravlev
2016-02-15 12:43:45 +01:00
parent d9de02bb4e
commit 6b41108278
@@ -672,12 +672,13 @@ public class BuildManager implements Disposable {
return null;
}
final DelegateFuture<?> _future = new DelegateFuture<>();
final DelegateFuture<BuilderMessageHandler> _future = new DelegateFuture<>();
// by using the same queue that processes events we ensure that
// the build will be aware of all events that have happened before this request
runCommand(new Runnable() {
@Override
public void run() {
final Pair<RequestFuture<PreloadedProcessMessageHandler>, OSProcessHandler> preloaded = takePreloadedProcess(projectPath);
final RequestFuture<PreloadedProcessMessageHandler> preloadedFuture = preloaded != null? preloaded.first : null;
final boolean usingPreloadedProcess = preloadedFuture != null;
@@ -692,7 +693,8 @@ public class BuildManager implements Disposable {
sessionId = UUID.randomUUID();
}
final RequestFuture<? extends BuilderMessageHandler> future = usingPreloadedProcess? preloadedFuture : new RequestFuture<BuilderMessageHandler>(handler, sessionId, new CancelBuildSessionAction<BuilderMessageHandler>());
final RequestFuture<? extends BuilderMessageHandler> future = usingPreloadedProcess? preloadedFuture : new RequestFuture<>(handler, sessionId, new CancelBuildSessionAction<BuilderMessageHandler>());
_future.setDelegate(future);
if (!usingPreloadedProcess && (future.isCancelled() || project.isDisposed())) {
// in case of preloaded process the process was already running, so the handler will be notified upon process termination
@@ -739,7 +741,7 @@ public class BuildManager implements Disposable {
}
try {
Future<?> buildFuture = projectTaskQueue.submit(new Runnable() {
projectTaskQueue.submit(new Runnable() {
@Override
public void run() {
Throwable execFailure = null;
@@ -776,7 +778,7 @@ public class BuildManager implements Disposable {
}
});
}
catch (Throwable e) {
catch(Throwable e) {
LOG.info(e);
}
}
@@ -841,9 +843,6 @@ public class BuildManager implements Disposable {
}
}
});
TaskFutureAdapter adapter = new TaskFutureAdapter<>(buildFuture);
boolean set = _future.setDelegate(adapter);
assert set;
}
catch (Throwable e) {
handleProcessExecutionFailure(sessionId, e);