diff --git a/source/java/org/alfresco/filesys/repo/ContentDiskDriver2.java b/source/java/org/alfresco/filesys/repo/ContentDiskDriver2.java index 9ed626c10b..d16413319c 100644 --- a/source/java/org/alfresco/filesys/repo/ContentDiskDriver2.java +++ b/source/java/org/alfresco/filesys/repo/ContentDiskDriver2.java @@ -949,7 +949,7 @@ public class ContentDiskDriver2 extends AlfrescoDiskDriver implements ExtendedD if(logger.isDebugEnabled()) { - logger.debug("openFile :" + params + ", session:" + session.getUniqueId()); + logger.debug("openFile :" + params + ", session:" + session.getUniqueId() + ", params:" + params); } try { @@ -1010,8 +1010,11 @@ public class ContentDiskDriver2 extends AlfrescoDiskDriver implements ExtendedD // throw new AccessDeniedException("No delete access to " + params.getFullPath()); // will throw a NodeLockedException is locked by somebody else - lockService.checkForLock(nodeRef); - + if ( params.hasAccessMode(AccessMode.NTWrite)) + { + lockService.checkForLock(nodeRef); + } + // Check if the node is a link node NodeRef linkRef = (NodeRef) nodeService.getProperty(nodeRef, ContentModel.PROP_LINK_DESTINATION); NetworkFile netFile = null; @@ -2699,6 +2702,14 @@ public class ContentDiskDriver2 extends AlfrescoDiskDriver implements ExtendedD } } + /** + * Open the file + */ + public NetworkFile openFile(String path, OpenFileMode mode, boolean truncate) + { + return null; + + } /** * Close the file. diff --git a/source/java/org/alfresco/filesys/repo/NonTransactionalRuleContentDiskDriver.java b/source/java/org/alfresco/filesys/repo/NonTransactionalRuleContentDiskDriver.java index 7285640bba..f3d72376b5 100644 --- a/source/java/org/alfresco/filesys/repo/NonTransactionalRuleContentDiskDriver.java +++ b/source/java/org/alfresco/filesys/repo/NonTransactionalRuleContentDiskDriver.java @@ -291,6 +291,8 @@ public class NonTransactionalRuleContentDiskDriver implements ExtendedDiskInterf { String path = param.getPath(); + boolean truncate = param.isOverwrite(); + if(logger.isDebugEnabled()) { int sharedAccess = param.getSharedAccess(); @@ -304,6 +306,8 @@ public class NonTransactionalRuleContentDiskDriver implements ExtendedDiskInterf + ", writeOnlyAccess:" +param.isWriteOnlyAccess() + ", attributesOnlyAccess:" +param.isAttributesOnlyAccess() + ", sequentialAccessOnly:" + param.isSequentialAccessOnly() + + ", writeThrough:" + param.isWriteThrough() + + ", truncate:" + truncate + ", requestBatchOpLock:" +param.requestBatchOpLock() + ", requestExclusiveOpLock:" +param.requestExclusiveOpLock() + ", isDeleteOnClose:" +param.isDeleteOnClose() @@ -321,8 +325,6 @@ public class NonTransactionalRuleContentDiskDriver implements ExtendedDiskInterf { logger.debug("NTOverwrite"); } - - } ContentContext tctx = (ContentContext) tree.getContext(); @@ -336,9 +338,9 @@ public class NonTransactionalRuleContentDiskDriver implements ExtendedDiskInterf EvaluatorContext ctx = getEvaluatorContext(driverState, folder); - // Todo what about attributes only ? + - OpenFileMode openMode = OpenFileMode.READ_WRITE; + OpenFileMode openMode = OpenFileMode.READ_ONLY; if(param.isAttributesOnlyAccess()) { @@ -364,8 +366,6 @@ public class NonTransactionalRuleContentDiskDriver implements ExtendedDiskInterf } openMode = OpenFileMode.DELETE; } - - boolean truncate = param.isOverwrite(); Operation o = new OpenFileOperation(file, openMode, truncate, rootNode, path); Command c = ruleEvaluator.evaluate(ctx, o);