mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-08-06 07:45:50 +02:00
merges from IBM RSE
This commit is contained in:
parent
ebd3a5ab05
commit
ccc1549df4
5 changed files with 49 additions and 5 deletions
|
@ -3753,7 +3753,7 @@ public final class DataStore
|
||||||
for (int i = 0; i < toDelete.getNestedSize(); i++)
|
for (int i = 0; i < toDelete.getNestedSize(); i++)
|
||||||
{
|
{
|
||||||
DataElement subDelete = toDelete.get(i);
|
DataElement subDelete = toDelete.get(i);
|
||||||
if (subDelete != null && subDelete.getDataStore() == this && !subDelete.isDeleted())
|
if (subDelete != null && subDelete.getDataStore() == this/* && !subDelete.isDeleted()*/) // on server, spirited are considered deleted
|
||||||
{
|
{
|
||||||
deleteObjectHelper(toDelete, subDelete, depth);
|
deleteObjectHelper(toDelete, subDelete, depth);
|
||||||
}
|
}
|
||||||
|
@ -4201,4 +4201,6 @@ public final class DataStore
|
||||||
{
|
{
|
||||||
referenceTag = tag;
|
referenceTag = tag;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -78,9 +78,17 @@ public abstract class UpdateHandler extends Handler
|
||||||
DataElement child = (DataElement) deletedList.get(i);
|
DataElement child = (DataElement) deletedList.get(i);
|
||||||
if (child != null && child.isDeleted())
|
if (child != null && child.isDeleted())
|
||||||
{
|
{
|
||||||
|
clean(child, depth - 1);
|
||||||
DataElement parent = child.getParent();
|
DataElement parent = child.getParent();
|
||||||
if (child.isSpirit()) DataElementRemover.addToRemovedCount();
|
DataElementRemover.addToRemovedCount();
|
||||||
|
|
||||||
|
if (child.isSpirit())
|
||||||
|
{
|
||||||
|
// officially delete this now
|
||||||
|
child.delete();
|
||||||
|
}
|
||||||
child.clear();
|
child.clear();
|
||||||
|
|
||||||
if (parent != null)
|
if (parent != null)
|
||||||
{
|
{
|
||||||
parent.removeNestedData(child);
|
parent.removeNestedData(child);
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
package org.eclipse.dstore.internal.core.util;
|
package org.eclipse.dstore.internal.core.util;
|
||||||
|
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import org.eclipse.dstore.core.model.DataElement;
|
import org.eclipse.dstore.core.model.DataElement;
|
||||||
import org.eclipse.dstore.core.model.DataStore;
|
import org.eclipse.dstore.core.model.DataStore;
|
||||||
|
@ -38,8 +39,8 @@ public class DataElementRemover extends Handler
|
||||||
// that are older than _expiryTime milliseconds are removed.
|
// that are older than _expiryTime milliseconds are removed.
|
||||||
public static final int DEFAULT_EXPIRY_TIME = 600; // in seconds
|
public static final int DEFAULT_EXPIRY_TIME = 600; // in seconds
|
||||||
public static final int DEFAULT_INTERVAL_TIME = 60; // in seconds
|
public static final int DEFAULT_INTERVAL_TIME = 60; // in seconds
|
||||||
private int _intervalTime = DEFAULT_INTERVAL_TIME * 1000;
|
private int _intervalTime = DEFAULT_INTERVAL_TIME * 100;
|
||||||
private int _expiryTime = DEFAULT_EXPIRY_TIME * 1000;
|
private int _expiryTime = DEFAULT_EXPIRY_TIME * 100;
|
||||||
public static final String EXPIRY_TIME_PROPERTY_NAME = "SPIRIT_EXPIRY_TIME"; //$NON-NLS-1$
|
public static final String EXPIRY_TIME_PROPERTY_NAME = "SPIRIT_EXPIRY_TIME"; //$NON-NLS-1$
|
||||||
public static final String INTERVAL_TIME_PROPERTY_NAME = "SPIRIT_INTERVAL_TIME"; //$NON-NLS-1$
|
public static final String INTERVAL_TIME_PROPERTY_NAME = "SPIRIT_INTERVAL_TIME"; //$NON-NLS-1$
|
||||||
|
|
||||||
|
@ -149,7 +150,7 @@ public class DataElementRemover extends Handler
|
||||||
{
|
{
|
||||||
//_dataStore.memLog(toBeDisconnected.toString());
|
//_dataStore.memLog(toBeDisconnected.toString());
|
||||||
}
|
}
|
||||||
_dataStore.getHashMap().remove(toBeDisconnected.getId());
|
unmap(toBeDisconnected);
|
||||||
}
|
}
|
||||||
_dataStore.memLog("Disconnected " + disconnected + " DataElements."); //$NON-NLS-1$ //$NON-NLS-2$
|
_dataStore.memLog("Disconnected " + disconnected + " DataElements."); //$NON-NLS-1$ //$NON-NLS-2$
|
||||||
_dataStore.memLog("Elements created so far: " + numCreated); //$NON-NLS-1$
|
_dataStore.memLog("Elements created so far: " + numCreated); //$NON-NLS-1$
|
||||||
|
@ -159,6 +160,21 @@ public class DataElementRemover extends Handler
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void unmap(DataElement element)
|
||||||
|
{
|
||||||
|
List children = element.getNestedData();
|
||||||
|
if (children != null)
|
||||||
|
{
|
||||||
|
for (int i = 0; i < children.size(); i++)
|
||||||
|
{
|
||||||
|
DataElement child = (DataElement)children.get(i);
|
||||||
|
unmap(child);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
_dataStore.getHashMap().remove(element.getId());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
protected class QueueItem
|
protected class QueueItem
|
||||||
{
|
{
|
||||||
public DataElement dataElement;
|
public DataElement dataElement;
|
||||||
|
|
|
@ -203,6 +203,7 @@ public class CommandMiner extends Miner
|
||||||
// DataElement de = (DataElement) subject.dereference().get(1);
|
// DataElement de = (DataElement) subject.dereference().get(1);
|
||||||
subject.dereference().get(1);
|
subject.dereference().get(1);
|
||||||
sendInputToCommand(input.getName(), getCommandStatus(subject));
|
sendInputToCommand(input.getName(), getCommandStatus(subject));
|
||||||
|
status.setAttribute(DE.A_NAME, "done");
|
||||||
}
|
}
|
||||||
else if (name.equals("C_CANCEL")) //$NON-NLS-1$
|
else if (name.equals("C_CANCEL")) //$NON-NLS-1$
|
||||||
{
|
{
|
||||||
|
|
|
@ -835,6 +835,23 @@ public class CommandMinerThread extends MinerThread
|
||||||
|
|
||||||
public void cleanupThread()
|
public void cleanupThread()
|
||||||
{
|
{
|
||||||
|
// disconnecting all
|
||||||
|
_dataStore.disconnectObjects(_status);
|
||||||
|
|
||||||
|
|
||||||
|
// clean up the associated environment
|
||||||
|
List projectEnvReference = _subject.getAssociated("inhabits"); //$NON-NLS-1$
|
||||||
|
|
||||||
|
if (projectEnvReference != null)
|
||||||
|
{
|
||||||
|
DataElement env = (DataElement)projectEnvReference.get(0);
|
||||||
|
DataElement envParent = env.getParent();
|
||||||
|
_dataStore.deleteObject(envParent, env);
|
||||||
|
_dataStore.refresh(envParent);
|
||||||
|
}
|
||||||
|
_dataStore.disconnectObject(_subject); //bug 70420
|
||||||
|
|
||||||
|
|
||||||
refreshStatus();
|
refreshStatus();
|
||||||
/*
|
/*
|
||||||
if (_isShell)
|
if (_isShell)
|
||||||
|
|
Loading…
Add table
Reference in a new issue