1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00
This commit is contained in:
Ted Williams 2007-07-06 18:24:41 +00:00
parent 9a1a5ad41c
commit bd8ee802ca

View file

@ -16,6 +16,7 @@ import java.util.List;
import java.util.Vector; import java.util.Vector;
import java.util.concurrent.Executor; import java.util.concurrent.Executor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.dd.dsf.concurrent.ConfinedToDsfExecutor; import org.eclipse.dd.dsf.concurrent.ConfinedToDsfExecutor;
import org.eclipse.dd.dsf.concurrent.DataRequestMonitor; import org.eclipse.dd.dsf.concurrent.DataRequestMonitor;
import org.eclipse.dd.dsf.concurrent.DefaultDsfExecutor; import org.eclipse.dd.dsf.concurrent.DefaultDsfExecutor;
@ -132,11 +133,13 @@ public abstract class VMCache
updates[i] = new VMElementsCountUpdate(update, new DataRequestMonitor<Integer>(fExecutor, null) updates[i] = new VMElementsCountUpdate(update, new DataRequestMonitor<Integer>(fExecutor, null)
{ {
@Override @Override
protected void handleOK() protected void handleCompleted() {
if(getStatus().isOK())
{ {
if(isCacheWriteEnabled()) if(isCacheWriteEnabled())
fChildrenCounts.put(update.getElement(), this.getData()); fChildrenCounts.put(update.getElement(), this.getData());
update.setChildCount(this.getData()); update.setChildCount(this.getData());
}
update.done(); update.done();
} }
}); });
@ -239,7 +242,9 @@ public abstract class VMCache
new DataRequestMonitor<List<Object>>(fExecutor, null) new DataRequestMonitor<List<Object>>(fExecutor, null)
{ {
@Override @Override
protected void handleOK() protected void handleCompleted()
{
if(getStatus().isOK())
{ {
for(int j = 0; j < update.getLength(); j++) for(int j = 0; j < update.getLength(); j++)
{ {
@ -253,6 +258,7 @@ public abstract class VMCache
update.setChild(getData().get(j), update.getOffset() + j); update.setChild(getData().get(j), update.getOffset() + j);
} }
}
update.done(); update.done();
} }
}); });
@ -275,12 +281,34 @@ public abstract class VMCache
service.getModelData(dmc, service.getModelData(dmc,
new DataRequestMonitor<IDMData>(executor, null) { new DataRequestMonitor<IDMData>(executor, null) {
@Override @Override
public void handleOK() { protected void handleCompleted() {
if(getStatus().isOK())
{
if(isCacheWriteEnabled()) if(isCacheWriteEnabled())
fData.put(dmc, getData()); fData.put(dmc, getData());
rm.setData(getData()); rm.setData(getData());
}
rm.done(); rm.done();
} }
@Override
public synchronized void setCanceled(boolean canceled) {
rm.setCanceled(canceled);
super.setCanceled(canceled);
}
@Override
public void setMultiStatus(String pluginId, int code,
String message, IStatus subStatus) {
rm.setMultiStatus(pluginId, code, message, subStatus);
super.setMultiStatus(pluginId, code, message, subStatus);
}
@Override
public synchronized void setStatus(IStatus status) {
rm.setStatus(status);
super.setStatus(status);
}
} }
); );
} }