Merged V3.1 to HEAD

13175: Basic implementation of timestamp propagation
   13176: Fixed ETHREEOH-1172: NodeService.getProperties sometimes returning instance of "Collections.SingletonList"
   13184: Merged V3.0 to V3.1
      13179: Merged V2.2 to V3.0
         13141: Fix for ETWOTWO-1109: WCM - content publisher cannot submit modified assets (2.2.3-dev regress)
         13144: Fix for repopened ETWOTWO-1082:  AVM has concurrency limitations via CIFS/NFS/FTP ...
      13180: Merged V2.2 to V3.0
         13144: Fix for repopened ETWOTWO-1082:  AVM has concurrency limitations via CIFS/NFS/FTP ...
   13185: Logging enhancements to FileFolderService to aid debugging of ETHREEOH-1247
   13187: Changed NPE to IllegalArgumentException
   13191: Fix for ETHREEOH-1267 malformed JSON.
   13203: Fix ETHREEOH-1309 regress
   13205: Fixed typo of UNKNOWN
   13206: DM index check - allow index transaction tracker to be reset, etc
   13213: Fixed ETHREEOH-1313: System Property Overrides not working when using the installer
   13214: WCM services - add/update unit tests - CRUD using different roles
   ___________________________________________________________________
   Modified: svn:mergeinfo
      Merged /alfresco/BRANCHES/V3.0:r13179-13180
      Merged /alfresco/BRANCHES/V2.2:r13141,13144
      Merged /alfresco/BRANCHES/V3.1:r13172,13175-13176,13179-13181,13184-13189,13191,13203,13205-13206,13210-13215


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13610 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Derek Hulley
2009-03-12 20:15:34 +00:00
parent 39bc2536d5
commit 07114a1ed2
21 changed files with 736 additions and 68 deletions

View File

@@ -586,7 +586,7 @@ public class AVMRepository
// dstNode.setVersionID(dstRepo.getNextVersionID());
dstNode.setAncestor(srcNode);
dirNode.putChild(name, dstNode);
dirNode.updateModTime();
// dirNode.updateModTime();
String beginingPath = AVMNodeConverter.NormalizePath(srcPath);
String finalPath = AVMNodeConverter.ExtendAVMPath(dstPath, name);
finalPath = AVMNodeConverter.NormalizePath(finalPath);
@@ -853,13 +853,13 @@ public class AVMRepository
dstNode = new PlainFileNodeImpl((PlainFileNode) srcNode, dstRepo, parentAcl, ACLCopyMode.COPY);
}
srcDir.removeChild(sPath, srcName);
srcDir.updateModTime();
// srcDir.updateModTime();
// dstNode.setVersionID(dstRepo.getNextVersionID());
if (child != null)
{
dstNode.setAncestor(child);
}
dstDir.updateModTime();
//dstDir.updateModTime();
dstDir.putChild(dstName, dstNode);
if (child == null)
{
@@ -2826,6 +2826,36 @@ public class AVMRepository
fLookupCount.set(null);
}
}
/**
* Update a link, directly.
*
* @param parentPath
* The path to the parent.
* @param name
* The name to give the node.
* @param toLink
* The node to link.
*/
public void updateLink(String parentPath, String name, AVMNodeDescriptor toLink)
{
fLookupCount.set(1);
try
{
String[] pathParts = SplitPath(parentPath);
AVMStore store = getAVMStoreByName(pathParts[0]);
if (store == null)
{
throw new AVMNotFoundException("Store not found.");
}
store.updateLink(pathParts[1], name, toLink);
fLookupCache.onWrite(pathParts[0]);
}
finally
{
fLookupCount.set(null);
}
}
/**
* This is the danger version of link. It must be called on a copied and unsnapshotted directory. It blithely