Fixed an embarassing not so corner case failure. Non primary

layered directories cannot be just linked in for update, but must instead
be recursively linked in.  


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3801 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Britt Park
2006-09-15 03:04:57 +00:00
parent 5eca8bd6e0
commit 83b4cdb76d
6 changed files with 85 additions and 20 deletions

View File

@@ -35,6 +35,7 @@ import org.alfresco.repo.avm.util.BulkLoader;
import org.alfresco.repo.domain.PropertyValue;
import org.alfresco.repo.security.authentication.AuthenticationComponent;
import org.alfresco.repo.transaction.TransactionUtil;
import org.alfresco.service.cmr.avm.AVMBadArgumentException;
import org.alfresco.service.cmr.avm.AVMException;
import org.alfresco.service.cmr.avm.AVMExistsException;
import org.alfresco.service.cmr.avm.AVMNodeDescriptor;
@@ -359,6 +360,16 @@ public class AVMServiceTest extends AVMServiceTestBase
{
// Do nothing.
}
// Try to link /layer/b to /frinx. It should fail.
try
{
fService.link("main:/", "frinx", fService.lookup(-1, "main:/layer/b"));
fail();
}
catch (AVMBadArgumentException ba)
{
// Do nothing.
}
// Delete /layer/b/bar and redo. It should work.
fService.removeNode("main:/layer/b", "bar");
fService.link("main:/layer/b", "bar", fService.lookup(-1, "main:/layer/b/c/bar"));