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:
parent
9bff408ec5
commit
7e61e9f632
13 changed files with 79 additions and 69 deletions
|
@ -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) {
|
||||
|
|
|
@ -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() {
|
||||
/*
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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() {
|
||||
/*
|
||||
|
|
|
@ -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()) {
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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()) {
|
||||
|
|
|
@ -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()) {
|
||||
|
|
|
@ -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(){
|
||||
|
|
|
@ -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()) {
|
||||
|
|
|
@ -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()) {
|
||||
|
|
Loading…
Add table
Reference in a new issue