mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
ALF-10963 Cannot overwrite files on CIFS share with Notepad++
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@32182 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -305,7 +305,8 @@ public class BufferedContentDiskDriver implements ExtendedDiskInterface,
|
||||
|
||||
if(logger.isDebugEnabled())
|
||||
{
|
||||
logger.debug("getFileInformation path" + path + ", returning:" + finfo +
|
||||
logger.debug("Return getFileInformation, path: " + path +
|
||||
", returning:" + finfo +
|
||||
", readOnly:" +finfo.isReadOnly() +
|
||||
", fileId:" +finfo.getFileId() +
|
||||
", fileSize:" +finfo.getSize() +
|
||||
@@ -324,7 +325,7 @@ public class BufferedContentDiskDriver implements ExtendedDiskInterface,
|
||||
|
||||
if(logger.isDebugEnabled())
|
||||
{
|
||||
logger.debug("getFileInformation returning:" + path + " returning" + info);
|
||||
logger.debug("getFileInformation Return:" + path + " returning" + info);
|
||||
}
|
||||
|
||||
return info;
|
||||
|
@@ -819,6 +819,9 @@ public class ContentDiskDriver2 extends AlfrescoDiskDriver implements ExtendedD
|
||||
logger.debug("Started search: search path=" + searchPath + " attributes=" + attributes + ", ctx=" + searchCtx);
|
||||
}
|
||||
|
||||
// TODO --
|
||||
// Need to resolve the file info here so it's within the transaction boundary.
|
||||
|
||||
return searchCtx;
|
||||
}
|
||||
catch (org.alfresco.repo.security.permissions.AccessDeniedException ex)
|
||||
@@ -1093,7 +1096,8 @@ public class ContentDiskDriver2 extends AlfrescoDiskDriver implements ExtendedD
|
||||
}
|
||||
else if ( params.isWriteOnlyAccess())
|
||||
{
|
||||
netFile.setGrantedAccess( NetworkFile.WRITEONLY);
|
||||
// Needs to be READWRITE for JavaNetworkFile - there's no such thing as WRITEONLY!
|
||||
netFile.setGrantedAccess( NetworkFile.READWRITE);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1867,7 +1871,7 @@ public class ContentDiskDriver2 extends AlfrescoDiskDriver implements ExtendedD
|
||||
{
|
||||
if(logger.isDebugEnabled())
|
||||
{
|
||||
logger.debug("write access denied to : + name");
|
||||
logger.debug("write access denied to :" + name);
|
||||
}
|
||||
throw new AccessDeniedException("No write access to " + name);
|
||||
}
|
||||
@@ -1880,12 +1884,12 @@ public class ContentDiskDriver2 extends AlfrescoDiskDriver implements ExtendedD
|
||||
{
|
||||
if(logger.isDebugEnabled())
|
||||
{
|
||||
logger.debug("delete access denied to : + name");
|
||||
logger.debug("Set Delete On Close for :" + name);
|
||||
}
|
||||
// Check for delete permission
|
||||
if ( permissionService.hasPermission(nodeRef, PermissionService.DELETE) == AccessStatus.DENIED)
|
||||
{
|
||||
throw new AccessDeniedException("No delete access to " + name);
|
||||
throw new AccessDeniedException("No delete access to :" + name);
|
||||
}
|
||||
|
||||
// Check if the node is locked
|
||||
@@ -2100,6 +2104,10 @@ public class ContentDiskDriver2 extends AlfrescoDiskDriver implements ExtendedD
|
||||
}
|
||||
catch (IOException ex)
|
||||
{
|
||||
if(logger.isDebugEnabled())
|
||||
{
|
||||
logger.debug("unable to truncate the file + :" + file.getFullName(), ex);
|
||||
}
|
||||
// Check if we allocated space to the file
|
||||
|
||||
if ( allocSize > 0 && quotaMgr != null)
|
||||
|
@@ -289,6 +289,11 @@ public class LegacyFileStateDriver implements ExtendedDiskInterface
|
||||
{
|
||||
ContentContext tctx = (ContentContext) tree.getContext();
|
||||
|
||||
if(logger.isDebugEnabled())
|
||||
{
|
||||
logger.debug("closeFile:" + param.getFullName() + ", accessToken:" + param.getAccessToken());
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
diskInterface.closeFile(sess, tree, param);
|
||||
@@ -300,7 +305,7 @@ public class LegacyFileStateDriver implements ExtendedDiskInterface
|
||||
|
||||
if(fstate.getOpenCount() ==0 )
|
||||
{
|
||||
logger.debug("reset shared access to READWRITEDELETE");
|
||||
logger.debug("OpenCount = 0, reset shared access to READ WRITE DELETE");
|
||||
fstate.setSharedAccess( SharingMode.READWRITE + SharingMode.DELETE);
|
||||
|
||||
fstate.setAllocationSize(-1);
|
||||
@@ -311,10 +316,11 @@ public class LegacyFileStateDriver implements ExtendedDiskInterface
|
||||
|
||||
if(fstate != null && param.getAccessToken() != null)
|
||||
{
|
||||
|
||||
FileAccessToken token = param.getAccessToken();
|
||||
if(logger.isDebugEnabled() && token != null)
|
||||
{
|
||||
logger.debug("close file release lock token:" + token);
|
||||
logger.debug("close file release access token:" + token);
|
||||
}
|
||||
cache.releaseFileAccess(fstate, token);
|
||||
}
|
||||
|
@@ -39,6 +39,7 @@ import org.alfresco.filesys.repo.rules.operations.RenameFileOperation;
|
||||
import org.alfresco.jlan.server.SrvSession;
|
||||
import org.alfresco.jlan.server.core.DeviceContext;
|
||||
import org.alfresco.jlan.server.core.DeviceContextException;
|
||||
import org.alfresco.jlan.server.filesys.FileAction;
|
||||
import org.alfresco.jlan.server.filesys.FileInfo;
|
||||
import org.alfresco.jlan.server.filesys.FileName;
|
||||
import org.alfresco.jlan.server.filesys.FileOpenParams;
|
||||
@@ -308,8 +309,20 @@ public class NonTransactionalRuleContentDiskDriver implements ExtendedDiskInterf
|
||||
+ ", isDeleteOnClose:" +param.isDeleteOnClose()
|
||||
+ ", allocationSize:" + param.getAllocationSize()
|
||||
+ ", sharedAccess: " + strSharedAccess
|
||||
|
||||
+ ", openAction: " + param.getOpenAction()
|
||||
);
|
||||
|
||||
// TODO - If we are going to truncate then don't waste time copying content.
|
||||
if (param.getOpenAction() == FileAction.NTOverwriteIf)
|
||||
{
|
||||
logger.debug("NTOverwriteIf");
|
||||
}
|
||||
if (param.getOpenAction() == FileAction.NTOverwrite)
|
||||
{
|
||||
logger.debug("NTOverwrite");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
ContentContext tctx = (ContentContext) tree.getContext();
|
||||
|
Reference in New Issue
Block a user