ALF-6297 - Adobe Framemaker "save" function does not play well with alfresco cifs

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@29687 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Mark Rogers
2011-08-11 12:54:36 +00:00
parent 0b171e0f40
commit 7c9c6be018
15 changed files with 639 additions and 46 deletions

View File

@@ -341,6 +341,7 @@ public class NonTransactionalRuleContentDiskDriver implements ExtendedDiskInterf
+ ", requestBatchOpLock:" +param.requestBatchOpLock()
+ ", requestExclusiveOpLock:" +param.requestExclusiveOpLock()
+ ", isDeleteOnClose:" +param.isDeleteOnClose()
+ ", allocationSize:" + param.getAllocationSize()
+ ", sharedAccess: " + strSharedAccess
);
@@ -356,8 +357,19 @@ public class NonTransactionalRuleContentDiskDriver implements ExtendedDiskInterf
String file = paths[1];
EvaluatorContext ctx = getEvaluatorContext(driverState, folder);
boolean writeAccess = param.isReadWriteAccess();
// Todo what about attributes only and writeOnly ?
OpenFileMode writeAccess = param.isReadWriteAccess() ? OpenFileMode.WRITE : OpenFileMode.READ ;
if(param.isDeleteOnClose())
{
if(logger.isDebugEnabled())
{
logger.debug("open file has delete on close");
}
writeAccess = OpenFileMode.DELETE;
}
boolean truncate = param.isOverwrite();
Operation o = new OpenFileOperation(file, writeAccess, truncate, rootNode, path);