try
{
ClassName actionStoreType = new ClassName(arjPropertyManager.propertyManager.getProperty(Environment.ACTION_STORE,
ArjunaNames.Implementation_ObjectStore_defaultActionStore().stringForm()));
ObjectStore imple = new ObjectStore(actionStoreType, root);
InputObjectState types = new InputObjectState();
startSweep();
if (imple.allTypes(types))
{
String fullPathName = null;
boolean found = false;
try
{
boolean endOfList = false;
DefaultMutableTreeNode currentNode = null;
DefaultMutableTreeNode currentRoot = top;
while (!endOfList)
{
fullPathName = types.unpackString();
if (fullPathName.compareTo("") == 0)
endOfList = true;
else
{
found = true;
InputObjectState uids = new InputObjectState();
String nodeName = stripName(fullPathName);
boolean added = false;
currentNode = findNode(fullPathName);
if (currentNode == null)
{
currentNode = new DefaultMutableTreeNode(nodeName);
addDirectory(currentNode, fullPathName);
currentRoot.add(currentNode);
/*
* New, so update view.
*/
int i[] = new int[1];
i[0] = currentRoot.getChildCount()-1;
model.nodesWereInserted(currentRoot, i);
added = true;
}
currentRoot = findRoot(top, currentNode);
if (added)
currentRoot.add(currentNode);
if (imple.allObjUids(fullPathName, uids))
{
Uid theUid = new Uid(Uid.nullUid());
try
{
boolean endOfUids = false;
boolean first = true;
boolean haveUids = false;
while (!endOfUids)
{
theUid.unpack(uids);
if (theUid.equals(Uid.nullUid()))
{
if (!haveUids)
{
if (emptyDirectory(currentNode))
{
currentNode.removeAllChildren();
model.nodeChanged(currentNode);
}
}
endOfUids = true;
}
else
{
haveUids = true;
if (first)
{
currentNode.removeAllChildren();
first = false;
}
DefaultMutableTreeNode tranID = new DefaultMutableTreeNode(theUid.stringForm());
tranID.add(new DefaultMutableTreeNode(new String("status: "+statusToString(imple.currentState(theUid, fullPathName)))));
currentNode.add(tranID);
added = true;
}