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.concurrent.Executor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.dd.dsf.concurrent.ConfinedToDsfExecutor;
import org.eclipse.dd.dsf.concurrent.DataRequestMonitor;
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)
{
@Override
protected void handleOK()
protected void handleCompleted() {
if(getStatus().isOK())
{
if(isCacheWriteEnabled())
fChildrenCounts.put(update.getElement(), this.getData());
update.setChildCount(this.getData());
}
update.done();
}
});
@ -239,7 +242,9 @@ public abstract class VMCache
new DataRequestMonitor<List<Object>>(fExecutor, null)
{
@Override
protected void handleOK()
protected void handleCompleted()
{
if(getStatus().isOK())
{
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.done();
}
});
@ -275,12 +281,34 @@ public abstract class VMCache
service.getModelData(dmc,
new DataRequestMonitor<IDMData>(executor, null) {
@Override
public void handleOK() {
protected void handleCompleted() {
if(getStatus().isOK())
{
if(isCacheWriteEnabled())
fData.put(dmc, getData());
rm.setData(getData());
}
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);
}
}
);
}