1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-06-05 08:46:02 +02:00

[205871] - Switched to using ViewerDataRequestMonitor to avoid setting a CANCEL status to a viewer update request monitor.

This commit is contained in:
Pawel Piech 2008-05-09 20:18:37 +00:00
parent 9bff408ec5
commit 7e61e9f632
13 changed files with 79 additions and 69 deletions

View file

@ -29,6 +29,7 @@ import org.eclipse.dd.dsf.debug.service.IRunControl.StateChangeReason;
import org.eclipse.dd.dsf.debug.service.IStack.IFrameDMContext;
import org.eclipse.dd.dsf.debug.service.IStack.IFrameDMData;
import org.eclipse.dd.dsf.service.DsfSession;
import org.eclipse.dd.dsf.ui.concurrent.ViewerDataRequestMonitor;
import org.eclipse.dd.dsf.ui.viewmodel.IVMContext;
import org.eclipse.dd.dsf.ui.viewmodel.ModelProxyInstalledEvent;
import org.eclipse.dd.dsf.ui.viewmodel.VMChildrenUpdate;
@ -85,7 +86,7 @@ public class StackFramesVMNode extends AbstractDMVMNode
getServicesTracker().getService(IStack.class).getFrames(
execDmc,
new DataRequestMonitor<IFrameDMContext[]>(getSession().getExecutor(), null) {
new ViewerDataRequestMonitor<IFrameDMContext[]>(getSession().getExecutor(), update) {
@Override
public void handleCompleted() {
if (!isSuccess()) {
@ -135,7 +136,7 @@ public class StackFramesVMNode extends AbstractDMVMNode
getServicesTracker().getService(IStack.class).getTopFrame(
execDmc,
new DataRequestMonitor<IFrameDMContext>(getExecutor(), null) {
new ViewerDataRequestMonitor<IFrameDMContext>(getExecutor(), update) {
@Override
public void handleCompleted() {
if (!isSuccess()) {
@ -198,7 +199,7 @@ public class StackFramesVMNode extends AbstractDMVMNode
this, update,
getServicesTracker().getService(IStack.class, null),
dmc,
new DataRequestMonitor<IFrameDMData>(getSession().getExecutor(), null) {
new ViewerDataRequestMonitor<IFrameDMData>(getSession().getExecutor(), update) {
@Override
protected void handleCompleted() {
/*
@ -309,7 +310,7 @@ public class StackFramesVMNode extends AbstractDMVMNode
getElementsTopStackFrameOnly(
new VMChildrenUpdate(
parentDelta, getVMProvider().getPresentationContext(), -1, -1,
new DataRequestMonitor<List<Object>>(getExecutor(), null) {
new DataRequestMonitor<List<Object>>(getExecutor(), rm) {
@Override
public void handleCompleted() {
if (isSuccess() && getData().size() != 0) {
@ -401,7 +402,7 @@ public class StackFramesVMNode extends AbstractDMVMNode
getElementsTopStackFrameOnly(
new VMChildrenUpdate(
parentDelta, getVMProvider().getPresentationContext(), -1, -1,
new DataRequestMonitor<List<Object>>(getExecutor(), null) {
new DataRequestMonitor<List<Object>>(getExecutor(), rm) {
@Override
public void handleCompleted() {
if (isSuccess() && getData().size() != 0) {
@ -451,7 +452,7 @@ public class StackFramesVMNode extends AbstractDMVMNode
getElementsTopStackFrameOnly(
new VMChildrenUpdate(
parentDelta, getVMProvider().getPresentationContext(), -1, -1,
new DataRequestMonitor<List<Object>>(getExecutor(), null) {
new DataRequestMonitor<List<Object>>(getExecutor(), rm) {
@Override
public void handleCompleted() {
if (isSuccess() && getData().size() != 0) {

View file

@ -13,7 +13,6 @@ package org.eclipse.dd.dsf.debug.internal.provisional.ui.viewmodel.modules;
import java.util.concurrent.RejectedExecutionException;
import org.eclipse.dd.dsf.concurrent.DataRequestMonitor;
import org.eclipse.dd.dsf.concurrent.DsfRunnable;
import org.eclipse.dd.dsf.concurrent.IDsfStatusConstants;
import org.eclipse.dd.dsf.concurrent.RequestMonitor;
@ -26,6 +25,7 @@ import org.eclipse.dd.dsf.debug.service.IModules.IModuleDMData;
import org.eclipse.dd.dsf.debug.service.IModules.ISymbolDMContext;
import org.eclipse.dd.dsf.debug.ui.IDsfDebugUIConstants;
import org.eclipse.dd.dsf.service.DsfSession;
import org.eclipse.dd.dsf.ui.concurrent.ViewerDataRequestMonitor;
import org.eclipse.dd.dsf.ui.viewmodel.VMDelta;
import org.eclipse.dd.dsf.ui.viewmodel.datamodel.AbstractDMVMNode;
import org.eclipse.dd.dsf.ui.viewmodel.datamodel.AbstractDMVMProvider;
@ -66,7 +66,7 @@ public class ModulesVMNode extends AbstractDMVMNode
if (symDmc != null) {
getServicesTracker().getService(IModules.class).getModules(
symDmc,
new DataRequestMonitor<IModuleDMContext[]>(getSession().getExecutor(), null) {
new ViewerDataRequestMonitor<IModuleDMContext[]>(getSession().getExecutor(), update) {
@Override
public void handleCompleted() {
if (!isSuccess()) {
@ -119,7 +119,7 @@ public class ModulesVMNode extends AbstractDMVMNode
getServicesTracker().getService(IModules.class, null).getModuleData(
dmc,
new DataRequestMonitor<IModuleDMData>(getSession().getExecutor(), null) {
new ViewerDataRequestMonitor<IModuleDMData>(getSession().getExecutor(), update) {
@Override
protected void handleCompleted() {
/*

View file

@ -43,6 +43,7 @@ import org.eclipse.dd.dsf.debug.service.IRegisters.IRegisterDMData;
import org.eclipse.dd.dsf.debug.service.IRegisters.IRegisterGroupDMData;
import org.eclipse.dd.dsf.debug.service.IRunControl.ISuspendedDMEvent;
import org.eclipse.dd.dsf.service.DsfSession;
import org.eclipse.dd.dsf.ui.concurrent.ViewerDataRequestMonitor;
import org.eclipse.dd.dsf.ui.viewmodel.IVMContext;
import org.eclipse.dd.dsf.ui.viewmodel.VMDelta;
import org.eclipse.dd.dsf.ui.viewmodel.datamodel.AbstractDMVMProvider;
@ -175,7 +176,7 @@ public class RegisterBitFieldVMNode extends AbstractExpressionVMNode
regService.getAvailableFormats(
dmc,
new DataRequestMonitor<String[]>(getSession().getExecutor(), null) {
new ViewerDataRequestMonitor<String[]>(getSession().getExecutor(), update) {
@Override
public void handleCompleted() {
if (!isSuccess()) {
@ -225,7 +226,7 @@ public class RegisterBitFieldVMNode extends AbstractExpressionVMNode
getDMVMProvider().getModelData(
RegisterBitFieldVMNode.this, update, regService, valueDmc,
new DataRequestMonitor<FormattedValueDMData>(getSession().getExecutor(), null) {
new ViewerDataRequestMonitor<FormattedValueDMData>(getSession().getExecutor(), update) {
@Override
public void handleCompleted() {
if (!isSuccess()) {
@ -308,7 +309,7 @@ public class RegisterBitFieldVMNode extends AbstractExpressionVMNode
update,
regService,
dmc,
new DataRequestMonitor<IBitFieldDMData>(getSession().getExecutor(), null) {
new ViewerDataRequestMonitor<IBitFieldDMData>(getSession().getExecutor(), update) {
@Override
protected void handleCompleted() {
/*
@ -456,7 +457,7 @@ public class RegisterBitFieldVMNode extends AbstractExpressionVMNode
regService.getBitFields(
regDmc,
new DataRequestMonitor<IBitFieldDMContext[]>(getSession().getExecutor(), null) {
new ViewerDataRequestMonitor<IBitFieldDMContext[]>(getSession().getExecutor(), update) {
@Override
protected void handleFailure() {
handleFailedUpdate(update);

View file

@ -32,6 +32,7 @@ import org.eclipse.dd.dsf.debug.service.IRegisters.IGroupChangedDMEvent;
import org.eclipse.dd.dsf.debug.service.IRegisters.IRegisterGroupDMContext;
import org.eclipse.dd.dsf.debug.service.IRegisters.IRegisterGroupDMData;
import org.eclipse.dd.dsf.service.DsfSession;
import org.eclipse.dd.dsf.ui.concurrent.ViewerDataRequestMonitor;
import org.eclipse.dd.dsf.ui.viewmodel.IVMContext;
import org.eclipse.dd.dsf.ui.viewmodel.VMDelta;
import org.eclipse.dd.dsf.ui.viewmodel.datamodel.AbstractDMVMProvider;
@ -149,7 +150,7 @@ public class RegisterGroupVMNode extends AbstractExpressionVMNode
regService.getRegisterGroups(
createCompositeDMVMContext(update),
new DataRequestMonitor<IRegisterGroupDMContext[]>(getSession().getExecutor(), null) {
new ViewerDataRequestMonitor<IRegisterGroupDMContext[]>(getSession().getExecutor(), update) {
@Override
public void handleCompleted() {
if (!isSuccess()) {
@ -210,7 +211,7 @@ public class RegisterGroupVMNode extends AbstractExpressionVMNode
update,
regService,
dmc,
new DataRequestMonitor<IRegisterGroupDMData>(getSession().getExecutor(), null) {
new ViewerDataRequestMonitor<IRegisterGroupDMData>(getSession().getExecutor(), update) {
@Override
protected void handleCompleted() {
/*

View file

@ -38,6 +38,7 @@ import org.eclipse.dd.dsf.debug.service.IRegisters.IRegisterDMContext;
import org.eclipse.dd.dsf.debug.service.IRegisters.IRegisterDMData;
import org.eclipse.dd.dsf.debug.service.IRegisters.IRegisterGroupDMData;
import org.eclipse.dd.dsf.service.DsfSession;
import org.eclipse.dd.dsf.ui.concurrent.ViewerDataRequestMonitor;
import org.eclipse.dd.dsf.ui.viewmodel.IVMContext;
import org.eclipse.dd.dsf.ui.viewmodel.VMDelta;
import org.eclipse.dd.dsf.ui.viewmodel.datamodel.AbstractDMVMProvider;
@ -178,7 +179,7 @@ public class RegisterVMNode extends AbstractExpressionVMNode
regService.getAvailableFormats(
dmc,
new DataRequestMonitor<String[]>(getSession().getExecutor(), null) {
new ViewerDataRequestMonitor<String[]>(getSession().getExecutor(), update) {
@Override
public void handleCompleted() {
if (!isSuccess()) {
@ -228,7 +229,7 @@ public class RegisterVMNode extends AbstractExpressionVMNode
getDMVMProvider().getModelData(
RegisterVMNode.this, update, regService, valueDmc,
new DataRequestMonitor<FormattedValueDMData>(getSession().getExecutor(), null) {
new ViewerDataRequestMonitor<FormattedValueDMData>(getSession().getExecutor(), update) {
@Override
public void handleCompleted() {
if (!isSuccess()) {
@ -307,7 +308,7 @@ public class RegisterVMNode extends AbstractExpressionVMNode
update,
regService,
dmc,
new DataRequestMonitor<IRegisterDMData>(getSession().getExecutor(), null) {
new ViewerDataRequestMonitor<IRegisterDMData>(getSession().getExecutor(), update) {
@Override
protected void handleCompleted() {
/*
@ -448,7 +449,7 @@ public class RegisterVMNode extends AbstractExpressionVMNode
regService.getRegisters(
createCompositeDMVMContext(update),
new DataRequestMonitor<IRegisterDMContext[]>(getSession().getExecutor(), null) {
new ViewerDataRequestMonitor<IRegisterDMContext[]>(getSession().getExecutor(), update) {
@Override
public void handleCompleted() {
if (!isSuccess()) {

View file

@ -43,6 +43,7 @@ import org.eclipse.dd.dsf.debug.service.IStack.IFrameDMContext;
import org.eclipse.dd.dsf.debug.service.IStack.IVariableDMContext;
import org.eclipse.dd.dsf.debug.service.IStack.IVariableDMData;
import org.eclipse.dd.dsf.service.DsfSession;
import org.eclipse.dd.dsf.ui.concurrent.ViewerDataRequestMonitor;
import org.eclipse.dd.dsf.ui.viewmodel.IVMContext;
import org.eclipse.dd.dsf.ui.viewmodel.VMDelta;
import org.eclipse.dd.dsf.ui.viewmodel.datamodel.AbstractDMVMProvider;
@ -220,7 +221,7 @@ public class VariableVMNode extends AbstractExpressionVMNode
this, update,
getServicesTracker().getService(IExpressions.class, null),
dmc,
new DataRequestMonitor<IExpressionDMData>(getSession().getExecutor(), null) {
new ViewerDataRequestMonitor<IExpressionDMData>(getSession().getExecutor(), update) {
@Override
protected void handleCompleted() {
// Check that the request was evaluated and data is still valid. The request could
@ -332,7 +333,7 @@ public class VariableVMNode extends AbstractExpressionVMNode
expressionService.getAvailableFormats(
dmc,
new DataRequestMonitor<String[]>(getSession().getExecutor(), null) {
new ViewerDataRequestMonitor<String[]>(getSession().getExecutor(), update) {
@Override
public void handleCompleted() {
if (!isSuccess()) {
@ -384,7 +385,7 @@ public class VariableVMNode extends AbstractExpressionVMNode
VariableVMNode.this, update,
expressionService,
valueDmc,
new DataRequestMonitor<FormattedValueDMData>(getSession().getExecutor(), null) {
new ViewerDataRequestMonitor<FormattedValueDMData>(getSession().getExecutor(), update) {
@Override
public void handleCompleted() {
if (!isSuccess()) {
@ -580,7 +581,7 @@ public class VariableVMNode extends AbstractExpressionVMNode
// the sub-expressions of the expression represented by the current expression node.
final DataRequestMonitor<IExpressionDMContext[]> rm =
new DataRequestMonitor<IExpressionDMContext[]>(dsfExecutor, null) {
new ViewerDataRequestMonitor<IExpressionDMContext[]>(dsfExecutor, update) {
@Override
public void handleCompleted() {
if (!isSuccess()) {
@ -619,7 +620,7 @@ public class VariableVMNode extends AbstractExpressionVMNode
// variables in the stack frame represented by frameDmc.
final DataRequestMonitor<IVariableDMContext[]> rm =
new DataRequestMonitor<IVariableDMContext[]>(dsfExecutor, null) {
new ViewerDataRequestMonitor<IVariableDMContext[]>(dsfExecutor, update) {
@Override
public void handleCompleted() {
if (!isSuccess()) {
@ -690,7 +691,7 @@ public class VariableVMNode extends AbstractExpressionVMNode
for (IVariableDMContext localDMC : localsDMCs) {
DataRequestMonitor<IVariableDMData> rm =
new DataRequestMonitor<IVariableDMData>(dsfExecutor, null) {
new ViewerDataRequestMonitor<IVariableDMData>(dsfExecutor, update) {
@Override
public void handleCompleted() {
localsDMData.add(getData());

View file

@ -20,6 +20,8 @@ import org.eclipse.dd.dsf.concurrent.CountingRequestMonitor;
import org.eclipse.dd.dsf.concurrent.DataRequestMonitor;
import org.eclipse.dd.dsf.concurrent.MultiRequestMonitor;
import org.eclipse.dd.dsf.concurrent.RequestMonitor;
import org.eclipse.dd.dsf.ui.concurrent.ViewerCountingRequestMonitor;
import org.eclipse.dd.dsf.ui.concurrent.ViewerDataRequestMonitor;
import org.eclipse.debug.internal.ui.viewers.model.provisional.IChildrenCountUpdate;
import org.eclipse.debug.internal.ui.viewers.model.provisional.IChildrenUpdate;
import org.eclipse.debug.internal.ui.viewers.model.provisional.IElementContentProvider;
@ -145,7 +147,7 @@ public class DefaultVMContentProviderStrategy implements IElementContentProvider
elementsUpdates[j][i] = new VMHasChildrenUpdate(
update,
hasChildrenMultiRequestMon.add(
new DataRequestMonitor<Boolean>(getVMProvider().getExecutor(), null) {
new ViewerDataRequestMonitor<Boolean>(getVMProvider().getExecutor(), update) {
@Override
protected void handleCompleted() {
hasChildrenMultiRequestMon.requestMonitorDone(this);
@ -176,7 +178,7 @@ public class DefaultVMContentProviderStrategy implements IElementContentProvider
getChildrenCountsForNode(
update,
node,
new DataRequestMonitor<Integer[]>(getVMProvider().getExecutor(), null) {
new ViewerDataRequestMonitor<Integer[]>(getVMProvider().getExecutor(), update) {
@Override
protected void handleCompleted() {
if (isSuccess()) {
@ -214,7 +216,7 @@ public class DefaultVMContentProviderStrategy implements IElementContentProvider
getChildrenCountsForNode(
update,
node,
new DataRequestMonitor<Integer[]>(getVMProvider().getExecutor(), null) {
new ViewerDataRequestMonitor<Integer[]>(getVMProvider().getExecutor(), update) {
@Override
protected void handleCompleted() {
if (!isSuccess()) {
@ -265,7 +267,7 @@ public class DefaultVMContentProviderStrategy implements IElementContentProvider
new VMChildrenCountUpdate(
update,
childrenCountMultiReqMon.add(
new DataRequestMonitor<Integer>(getVMProvider().getExecutor(), null) {
new ViewerDataRequestMonitor<Integer>(getVMProvider().getExecutor(), update) {
@Override
protected void handleSuccess() {
counts[nodeIndex] = getData();
@ -288,7 +290,7 @@ public class DefaultVMContentProviderStrategy implements IElementContentProvider
private void updateChildrenWithCounts(final IChildrenUpdate update, IVMNode node, Integer[] nodeElementCounts) {
// Create the multi request monitor to mark update when querying all
// children nodes is finished.
CountingRequestMonitor multiRm = new CountingRequestMonitor(getVMProvider().getExecutor(), null) {
CountingRequestMonitor multiRm = new ViewerCountingRequestMonitor(getVMProvider().getExecutor(), update) {
@Override
protected void handleCompleted() {
update.done();

View file

@ -433,7 +433,7 @@ public class DefaultVMModelProxyStrategy implements IVMModelProxy {
node,
new VMChildrenUpdate(
parentDelta, getVMProvider().getPresentationContext(), -1, -1,
new DataRequestMonitor<List<Object>>(getVMProvider().getExecutor(), null) {
new DataRequestMonitor<List<Object>>(getVMProvider().getExecutor(), requestMonitor) {
@Override
protected void handleCompleted() {
if (fDisposed) return;
@ -497,7 +497,7 @@ public class DefaultVMModelProxyStrategy implements IVMModelProxy {
getChildNodesElementOffsets(
node, delta, calculateOffsets,
new DataRequestMonitor<Map<IVMNode, Integer>>(getVMProvider().getExecutor(), null) {
new DataRequestMonitor<Map<IVMNode, Integer>>(getVMProvider().getExecutor(), requestMonitor) {
@Override
protected void handleCompleted() {
final CountingRequestMonitor multiRm = new CountingRequestMonitor(getVMProvider().getExecutor(), requestMonitor);
@ -574,7 +574,7 @@ public class DefaultVMModelProxyStrategy implements IVMModelProxy {
new VMChildrenCountUpdate(
delta, getVMProvider().getPresentationContext(),
childrenCountMultiRequestMon.add(
new DataRequestMonitor<Integer>(getVMProvider().getExecutor(), null) {
new DataRequestMonitor<Integer>(getVMProvider().getExecutor(), rm) {
@Override
protected void handleCompleted() {
counts[nodeIndex] = getData();

View file

@ -25,6 +25,7 @@ import org.eclipse.dd.dsf.concurrent.IDsfStatusConstants;
import org.eclipse.dd.dsf.concurrent.ImmediateExecutor;
import org.eclipse.dd.dsf.concurrent.ThreadSafe;
import org.eclipse.dd.dsf.internal.ui.DsfUIPlugin;
import org.eclipse.dd.dsf.ui.concurrent.ViewerDataRequestMonitor;
import org.eclipse.dd.dsf.ui.viewmodel.VMViewerUpdate;
import org.eclipse.debug.internal.ui.viewers.model.provisional.IElementLabelProvider;
import org.eclipse.debug.internal.ui.viewers.model.provisional.ILabelUpdate;
@ -191,7 +192,7 @@ public class PropertyBasedLabelProvider
final ILabelUpdate labelUpdate = labelUpdates[i];
propertiesUpdates[i] = new PropertiesUpdate(
propertyNames, labelUpdates[i],
new DataRequestMonitor<Map<String, Object>>(ImmediateExecutor.getInstance(), null) {
new ViewerDataRequestMonitor<Map<String, Object>>(ImmediateExecutor.getInstance(), labelUpdates[i]) {
@Override
protected void handleCompleted() {
if (isSuccess()) {

View file

@ -26,6 +26,7 @@ import org.eclipse.dd.dsf.datamodel.IDMContext;
import org.eclipse.dd.dsf.datamodel.IDMData;
import org.eclipse.dd.dsf.datamodel.IDMService;
import org.eclipse.dd.dsf.ui.concurrent.ViewerCountingRequestMonitor;
import org.eclipse.dd.dsf.ui.concurrent.ViewerDataRequestMonitor;
import org.eclipse.dd.dsf.ui.viewmodel.AbstractVMAdapter;
import org.eclipse.dd.dsf.ui.viewmodel.AbstractVMProvider;
import org.eclipse.dd.dsf.ui.viewmodel.IVMModelProxy;
@ -294,18 +295,20 @@ public class AbstractCachingVMProvider extends AbstractVMProvider implements ICa
update.done();
} else {
missUpdates.add(
new VMHasChildrenUpdate(update, new DataRequestMonitor<Boolean>(getExecutor(), null) {
@Override
protected void handleCompleted() {
if(isSuccess()) {
entry.fHasChildren = this.getData();
update.setHasChilren(getData());
} else {
update.setStatus(getStatus());
new VMHasChildrenUpdate(
update,
new ViewerDataRequestMonitor<Boolean>(getExecutor(), update) {
@Override
protected void handleCompleted() {
if(isSuccess()) {
entry.fHasChildren = this.getData();
update.setHasChilren(getData());
} else {
update.setStatus(getStatus());
}
update.done();
}
update.done();
}
}));
}));
}
}
@ -322,18 +325,20 @@ public class AbstractCachingVMProvider extends AbstractVMProvider implements ICa
update.setChildCount(entry.fChildrenCount.intValue());
update.done();
} else {
IChildrenCountUpdate updateProxy = new VMChildrenCountUpdate(update, new DataRequestMonitor<Integer>(getExecutor(), null) {
@Override
protected void handleCompleted() {
if(isSuccess()) {
entry.fChildrenCount = this.getData();
update.setChildCount(getData());
} else {
update.setStatus(getStatus());
IChildrenCountUpdate updateProxy = new VMChildrenCountUpdate(
update,
new ViewerDataRequestMonitor<Integer>(getExecutor(), update) {
@Override
protected void handleCompleted() {
if(isSuccess()) {
entry.fChildrenCount = this.getData();
update.setChildCount(getData());
} else {
update.setStatus(getStatus());
}
update.done();
}
update.done();
}
});
});
super.updateNode(node, updateProxy);
}
}
@ -350,8 +355,7 @@ public class AbstractCachingVMProvider extends AbstractVMProvider implements ICa
// retrieved that before.
IChildrenUpdate updateProxy = new VMChildrenUpdate(
update, update.getOffset(), update.getLength(),
new DataRequestMonitor<List<Object>>(getExecutor(), null)
{
new ViewerDataRequestMonitor<List<Object>>(getExecutor(), update){
@Override
protected void handleCompleted()
{
@ -573,8 +577,6 @@ public class AbstractCachingVMProvider extends AbstractVMProvider implements ICa
*/
@Override
public IModelProxy createModelProxy(Object element, IPresentationContext context) {
assert getExecutor().isInExecutorThread();
// Iterate through the current active proxies to try to find a proxy with the same
// element and re-use it if found. At the same time purge proxies that are no longer
IVMModelProxy proxy = null;
@ -704,7 +706,7 @@ public class AbstractCachingVMProvider extends AbstractVMProvider implements ICa
rm.done();
} else {
service.getModelData(dmc,
new DataRequestMonitor<IDMData>(executor, rm) {
new ViewerDataRequestMonitor<IDMData>(executor, update) {
@Override
protected void handleCompleted() {
if (isSuccess()) {

View file

@ -15,7 +15,6 @@ import java.util.concurrent.RejectedExecutionException;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.dd.dsf.concurrent.ConfinedToDsfExecutor;
import org.eclipse.dd.dsf.concurrent.DataRequestMonitor;
import org.eclipse.dd.dsf.concurrent.DsfRunnable;
import org.eclipse.dd.dsf.concurrent.ImmediateExecutor;
import org.eclipse.dd.dsf.concurrent.RequestMonitor;
@ -26,8 +25,8 @@ import org.eclipse.dd.dsf.debug.service.IRunControl.IExecutionDMData;
import org.eclipse.dd.dsf.debug.service.IRunControl.IResumedDMEvent;
import org.eclipse.dd.dsf.debug.service.IRunControl.ISuspendedDMEvent;
import org.eclipse.dd.dsf.service.DsfSession;
import org.eclipse.dd.dsf.ui.concurrent.ViewerDataRequestMonitor;
import org.eclipse.dd.dsf.ui.viewmodel.AbstractVMContext;
import org.eclipse.dd.dsf.ui.viewmodel.IVMAdapter;
import org.eclipse.dd.dsf.ui.viewmodel.IVMNode;
import org.eclipse.dd.dsf.ui.viewmodel.VMDelta;
import org.eclipse.dd.dsf.ui.viewmodel.datamodel.AbstractDMVMNode;
@ -199,7 +198,7 @@ public class PDAProgramVMNode extends AbstractDMVMNode
// Retrieve the last state change reason
runControl.getExecutionData(
programCtx,
new DataRequestMonitor<IExecutionDMData>(ImmediateExecutor.getInstance(), null)
new ViewerDataRequestMonitor<IExecutionDMData>(ImmediateExecutor.getInstance(), update)
{
@Override
public void handleCompleted(){

View file

@ -14,7 +14,6 @@ package org.eclipse.dd.gdb.internal.ui.viewmodel.launch;
import java.util.concurrent.RejectedExecutionException;
import org.eclipse.dd.dsf.concurrent.DataRequestMonitor;
import org.eclipse.dd.dsf.concurrent.DsfRunnable;
import org.eclipse.dd.dsf.concurrent.RequestMonitor;
import org.eclipse.dd.dsf.datamodel.DMContexts;
@ -24,6 +23,7 @@ import org.eclipse.dd.dsf.debug.service.IRunControl.IContainerDMContext;
import org.eclipse.dd.dsf.debug.service.IRunControl.IExitedDMEvent;
import org.eclipse.dd.dsf.debug.service.IRunControl.IStartedDMEvent;
import org.eclipse.dd.dsf.service.DsfSession;
import org.eclipse.dd.dsf.ui.concurrent.ViewerDataRequestMonitor;
import org.eclipse.dd.dsf.ui.viewmodel.VMDelta;
import org.eclipse.dd.dsf.ui.viewmodel.datamodel.AbstractDMVMNode;
import org.eclipse.dd.dsf.ui.viewmodel.datamodel.AbstractDMVMProvider;
@ -102,7 +102,7 @@ public class ContainerVMNode extends AbstractDMVMNode
runControl.getProcessData(
dmc,
new DataRequestMonitor<GDBProcessData>(getExecutor(), null) {
new ViewerDataRequestMonitor<GDBProcessData>(getExecutor(), update) {
@Override
public void handleCompleted() {
if (!isSuccess()) {

View file

@ -33,6 +33,7 @@ import org.eclipse.dd.dsf.debug.service.IRunControl.ISuspendedDMEvent;
import org.eclipse.dd.dsf.debug.service.IRunControl.StateChangeReason;
import org.eclipse.dd.dsf.internal.ui.DsfUIPlugin;
import org.eclipse.dd.dsf.service.DsfSession;
import org.eclipse.dd.dsf.ui.concurrent.ViewerDataRequestMonitor;
import org.eclipse.dd.dsf.ui.viewmodel.IVMContext;
import org.eclipse.dd.dsf.ui.viewmodel.ModelProxyInstalledEvent;
import org.eclipse.dd.dsf.ui.viewmodel.VMChildrenUpdate;
@ -74,7 +75,7 @@ public class ThreadVMNode extends AbstractDMVMNode
}
runControl.getExecutionContexts(contDmc,
new DataRequestMonitor<IExecutionDMContext[]>(getSession().getExecutor(), null){
new ViewerDataRequestMonitor<IExecutionDMContext[]>(getSession().getExecutor(), update){
@Override
public void handleCompleted() {
if (!isSuccess()) {
@ -217,7 +218,7 @@ public class ThreadVMNode extends AbstractDMVMNode
// Find the Reason for the State
runControl.getExecutionData(dmc,
new DataRequestMonitor<IExecutionDMData>(getSession().getExecutor(), null) {
new ViewerDataRequestMonitor<IExecutionDMData>(getSession().getExecutor(), update) {
@Override
public void handleCompleted(){
if (!isSuccess()) {
@ -238,7 +239,7 @@ public class ThreadVMNode extends AbstractDMVMNode
// Retrieve the rest of the thread information
runControl.getThreadData(
dmc,
new DataRequestMonitor<GDBThreadData>(getSession().getExecutor(), null) {
new ViewerDataRequestMonitor<GDBThreadData>(getSession().getExecutor(), update) {
@Override
public void handleCompleted() {
if (!isSuccess()) {