mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
159683
This commit is contained in:
parent
9a1a5ad41c
commit
bd8ee802ca
1 changed files with 51 additions and 23 deletions
|
@ -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);
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue