Fix intermittent HEAD test failure (AVMCrawler -> NPE)

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@17175 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Jan Vonka
2009-10-27 11:13:25 +00:00
parent f360f5fe3c
commit 1362d02f8e
3 changed files with 250 additions and 220 deletions

View File

@@ -34,6 +34,7 @@ import org.alfresco.repo.avm.ChildEntryImpl;
import org.alfresco.repo.avm.ChildKey;
import org.alfresco.repo.avm.DirectoryNode;
import org.alfresco.repo.domain.avm.AVMChildEntryEntity;
import org.springframework.dao.ConcurrencyFailureException;
/**
* iBATIS DAO wrapper for ChildEntry
@@ -147,9 +148,12 @@ class ChildEntryDAOIbatis implements ChildEntryDAO
AVMNode childNode = AVMDAOs.Instance().fAVMNodeDAO.getByID(childEntryEntity.getChildId());
if (childNode == null)
{
throw new ConcurrencyFailureException("Child node (" + childEntryEntity.getParentNodeId() + ", " + childEntryEntity.getChildId() + ") no longer exists");
}
ChildEntry ce = new ChildEntryImpl(new ChildKey(parentNode, childEntryEntity.getName()), childNode);
ce.setKey(new ChildKey(parentNode, childEntryEntity.getName()));
ce.setChild(childNode);
return ce;
}
@@ -160,11 +164,14 @@ class ChildEntryDAOIbatis implements ChildEntryDAO
return null;
}
DirectoryNode parentNode = (DirectoryNode)AVMDAOs.Instance().fAVMNodeDAO.getByID(childEntryEntity.getParentNodeId());
DirectoryNode parentNode = (DirectoryNode)AVMDAOs.Instance().fAVMNodeDAO.getByID(childEntryEntity.getParentNodeId());
if (parentNode == null)
{
throw new ConcurrencyFailureException("Parent node (" + childEntryEntity.getParentNodeId() + ", " + childEntryEntity.getChildId() + ") no longer exists");
}
ChildEntry ce = new ChildEntryImpl(new ChildKey(parentNode, childEntryEntity.getName()), childNode);
ce.setKey(new ChildKey(parentNode, childEntryEntity.getName()));
ce.setChild(childNode);
return ce;
}
}