org.alfresco.filesys.repo
Class BufferedContentDiskDriver
java.lang.Object
org.alfresco.filesys.repo.BufferedContentDiskDriver
- All Implemented Interfaces:
- ExtendedDiskInterface, org.alfresco.jlan.server.core.DeviceInterface, org.alfresco.jlan.server.filesys.DiskInterface, org.alfresco.jlan.server.filesys.DiskSizeInterface, org.alfresco.jlan.server.filesys.IOCtlInterface, org.alfresco.jlan.server.locking.FileLockingInterface, org.alfresco.jlan.server.locking.OpLockInterface, NodeServicePolicies.OnDeleteNodePolicy, NodeServicePolicies.OnMoveNodePolicy, ClassPolicy, Policy
public class BufferedContentDiskDriver
- extends java.lang.Object
- implements ExtendedDiskInterface, org.alfresco.jlan.server.filesys.DiskInterface, org.alfresco.jlan.server.filesys.DiskSizeInterface, org.alfresco.jlan.server.filesys.IOCtlInterface, org.alfresco.jlan.server.locking.OpLockInterface, org.alfresco.jlan.server.locking.FileLockingInterface, NodeServicePolicies.OnDeleteNodePolicy, NodeServicePolicies.OnMoveNodePolicy
Alfresco Content Disk Driver Cache
Decorates ContentDiskDriver with a performance cache of some frequently used
results. In particular for getFileInformation and fileExists
Nested classes/interfaces inherited from interface org.alfresco.repo.policy.Policy |
Policy.Arg |
Method Summary |
void |
closeFile(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree,
org.alfresco.jlan.server.filesys.NetworkFile param)
|
org.alfresco.jlan.server.core.DeviceContext |
createContext(java.lang.String shareName,
org.springframework.extensions.config.ConfigElement args)
|
void |
createDirectory(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree,
org.alfresco.jlan.server.filesys.FileOpenParams params)
|
org.alfresco.jlan.server.filesys.NetworkFile |
createFile(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree,
org.alfresco.jlan.server.filesys.FileOpenParams params)
|
void |
deleteDirectory(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree,
java.lang.String dir)
|
void |
deleteFile(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree,
java.lang.String name)
|
int |
fileExists(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree,
java.lang.String path)
|
void |
flushFile(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree,
org.alfresco.jlan.server.filesys.NetworkFile file)
|
void |
getDiskInformation(org.alfresco.jlan.server.filesys.DiskDeviceContext ctx,
org.alfresco.jlan.server.filesys.SrvDiskInfo diskDev)
|
ExtendedDiskInterface |
getDiskInterface()
|
org.alfresco.jlan.server.filesys.DiskSizeInterface |
getDiskSizeInterface()
|
org.alfresco.jlan.server.filesys.FileInfo |
getFileInformation(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree,
java.lang.String path)
|
org.alfresco.jlan.server.locking.FileLockingInterface |
getFileLockingInterface()
|
org.alfresco.jlan.server.filesys.IOCtlInterface |
getIoctlInterface()
|
org.alfresco.jlan.server.locking.LockManager |
getLockManager(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree)
|
org.alfresco.jlan.server.locking.OpLockInterface |
getOpLockInterface()
|
org.alfresco.jlan.server.locking.OpLockManager |
getOpLockManager(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree)
|
PolicyComponent |
getPolicyComponent()
|
void |
init()
|
boolean |
isOpLocksEnabled(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree)
|
boolean |
isReadOnly(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.core.DeviceContext ctx)
|
void |
onDeleteNode(org.alfresco.service.cmr.repository.ChildAssociationRef oldChildAssocRef,
boolean isArchived)
Called after a node is deleted. |
void |
onMoveNode(org.alfresco.service.cmr.repository.ChildAssociationRef oldChildAssocRef,
org.alfresco.service.cmr.repository.ChildAssociationRef newChildAssocRef)
Called when a node has been moved. |
org.alfresco.jlan.server.filesys.NetworkFile |
openFile(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree,
org.alfresco.jlan.server.filesys.FileOpenParams params)
|
org.alfresco.jlan.util.DataBuffer |
processIOControl(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree,
int ctrlCode,
int fid,
org.alfresco.jlan.util.DataBuffer dataBuf,
boolean isFSCtrl,
int filter)
|
int |
readFile(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree,
org.alfresco.jlan.server.filesys.NetworkFile file,
byte[] buf,
int bufPos,
int siz,
long filePos)
|
void |
registerContext(org.alfresco.jlan.server.core.DeviceContext ctx)
Register an independently created device context object for this instance of the shared device. |
void |
renameFile(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree,
java.lang.String oldName,
java.lang.String newName)
|
long |
seekFile(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree,
org.alfresco.jlan.server.filesys.NetworkFile file,
long pos,
int typ)
|
void |
setDiskInterface(ExtendedDiskInterface diskInterface)
|
void |
setDiskSizeInterface(org.alfresco.jlan.server.filesys.DiskSizeInterface diskSizeInterface)
|
void |
setFileInfoCache(org.alfresco.repo.cache.SimpleCache cache)
Set the cache that maintains node ID-NodeRef cross referencing data |
void |
setFileInformation(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree,
java.lang.String name,
org.alfresco.jlan.server.filesys.FileInfo info)
|
void |
setFileLockingInterface(org.alfresco.jlan.server.locking.FileLockingInterface fileLockingInterface)
|
void |
setIoctlInterface(org.alfresco.jlan.server.filesys.IOCtlInterface iocltlInterface)
|
void |
setOpLockInterface(org.alfresco.jlan.server.locking.OpLockInterface opLockInterface)
|
void |
setPolicyComponent(PolicyComponent policyComponent)
|
org.alfresco.jlan.server.filesys.SearchContext |
startSearch(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree,
java.lang.String searchPath,
int attrib)
|
void |
treeClosed(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree)
|
void |
treeOpened(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree)
|
void |
truncateFile(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree,
org.alfresco.jlan.server.filesys.NetworkFile file,
long siz)
|
int |
writeFile(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree,
org.alfresco.jlan.server.filesys.NetworkFile file,
byte[] buf,
int bufoff,
int siz,
long fileoff)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
BufferedContentDiskDriver
public BufferedContentDiskDriver()
init
public void init()
setFileInfoCache
public void setFileInfoCache(org.alfresco.repo.cache.SimpleCache cache)
- Set the cache that maintains node ID-NodeRef cross referencing data
- Parameters:
cache
- the cache
getFileInformation
public org.alfresco.jlan.server.filesys.FileInfo getFileInformation(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree,
java.lang.String path)
throws java.io.IOException
- Specified by:
getFileInformation
in interface org.alfresco.jlan.server.filesys.DiskInterface
- Throws:
java.io.IOException
fileExists
public int fileExists(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree,
java.lang.String path)
- Specified by:
fileExists
in interface org.alfresco.jlan.server.filesys.DiskInterface
createContext
public org.alfresco.jlan.server.core.DeviceContext createContext(java.lang.String shareName,
org.springframework.extensions.config.ConfigElement args)
throws org.alfresco.jlan.server.core.DeviceContextException
- Specified by:
createContext
in interface org.alfresco.jlan.server.core.DeviceInterface
- Throws:
org.alfresco.jlan.server.core.DeviceContextException
treeOpened
public void treeOpened(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree)
- Specified by:
treeOpened
in interface org.alfresco.jlan.server.core.DeviceInterface
treeClosed
public void treeClosed(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree)
- Specified by:
treeClosed
in interface org.alfresco.jlan.server.core.DeviceInterface
processIOControl
public org.alfresco.jlan.util.DataBuffer processIOControl(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree,
int ctrlCode,
int fid,
org.alfresco.jlan.util.DataBuffer dataBuf,
boolean isFSCtrl,
int filter)
throws org.alfresco.jlan.server.filesys.IOControlNotImplementedException,
org.alfresco.jlan.smb.SMBException
- Specified by:
processIOControl
in interface org.alfresco.jlan.server.filesys.IOCtlInterface
- Throws:
org.alfresco.jlan.server.filesys.IOControlNotImplementedException
org.alfresco.jlan.smb.SMBException
getDiskInformation
public void getDiskInformation(org.alfresco.jlan.server.filesys.DiskDeviceContext ctx,
org.alfresco.jlan.server.filesys.SrvDiskInfo diskDev)
throws java.io.IOException
- Specified by:
getDiskInformation
in interface org.alfresco.jlan.server.filesys.DiskSizeInterface
- Throws:
java.io.IOException
closeFile
public void closeFile(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree,
org.alfresco.jlan.server.filesys.NetworkFile param)
throws java.io.IOException
- Specified by:
closeFile
in interface org.alfresco.jlan.server.filesys.DiskInterface
- Throws:
java.io.IOException
createDirectory
public void createDirectory(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree,
org.alfresco.jlan.server.filesys.FileOpenParams params)
throws java.io.IOException
- Specified by:
createDirectory
in interface org.alfresco.jlan.server.filesys.DiskInterface
- Throws:
java.io.IOException
createFile
public org.alfresco.jlan.server.filesys.NetworkFile createFile(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree,
org.alfresco.jlan.server.filesys.FileOpenParams params)
throws java.io.IOException
- Specified by:
createFile
in interface org.alfresco.jlan.server.filesys.DiskInterface
- Throws:
java.io.IOException
deleteDirectory
public void deleteDirectory(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree,
java.lang.String dir)
throws java.io.IOException
- Specified by:
deleteDirectory
in interface org.alfresco.jlan.server.filesys.DiskInterface
- Throws:
java.io.IOException
deleteFile
public void deleteFile(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree,
java.lang.String name)
throws java.io.IOException
- Specified by:
deleteFile
in interface org.alfresco.jlan.server.filesys.DiskInterface
- Throws:
java.io.IOException
flushFile
public void flushFile(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree,
org.alfresco.jlan.server.filesys.NetworkFile file)
throws java.io.IOException
- Specified by:
flushFile
in interface org.alfresco.jlan.server.filesys.DiskInterface
- Throws:
java.io.IOException
isReadOnly
public boolean isReadOnly(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.core.DeviceContext ctx)
throws java.io.IOException
- Specified by:
isReadOnly
in interface org.alfresco.jlan.server.filesys.DiskInterface
- Throws:
java.io.IOException
openFile
public org.alfresco.jlan.server.filesys.NetworkFile openFile(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree,
org.alfresco.jlan.server.filesys.FileOpenParams params)
throws java.io.IOException
- Specified by:
openFile
in interface org.alfresco.jlan.server.filesys.DiskInterface
- Throws:
java.io.IOException
readFile
public int readFile(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree,
org.alfresco.jlan.server.filesys.NetworkFile file,
byte[] buf,
int bufPos,
int siz,
long filePos)
throws java.io.IOException
- Specified by:
readFile
in interface org.alfresco.jlan.server.filesys.DiskInterface
- Throws:
java.io.IOException
renameFile
public void renameFile(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree,
java.lang.String oldName,
java.lang.String newName)
throws java.io.IOException
- Specified by:
renameFile
in interface org.alfresco.jlan.server.filesys.DiskInterface
- Throws:
java.io.IOException
seekFile
public long seekFile(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree,
org.alfresco.jlan.server.filesys.NetworkFile file,
long pos,
int typ)
throws java.io.IOException
- Specified by:
seekFile
in interface org.alfresco.jlan.server.filesys.DiskInterface
- Throws:
java.io.IOException
setFileInformation
public void setFileInformation(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree,
java.lang.String name,
org.alfresco.jlan.server.filesys.FileInfo info)
throws java.io.IOException
- Specified by:
setFileInformation
in interface org.alfresco.jlan.server.filesys.DiskInterface
- Throws:
java.io.IOException
startSearch
public org.alfresco.jlan.server.filesys.SearchContext startSearch(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree,
java.lang.String searchPath,
int attrib)
throws java.io.FileNotFoundException
- Specified by:
startSearch
in interface org.alfresco.jlan.server.filesys.DiskInterface
- Throws:
java.io.FileNotFoundException
truncateFile
public void truncateFile(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree,
org.alfresco.jlan.server.filesys.NetworkFile file,
long siz)
throws java.io.IOException
- Specified by:
truncateFile
in interface org.alfresco.jlan.server.filesys.DiskInterface
- Throws:
java.io.IOException
writeFile
public int writeFile(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree,
org.alfresco.jlan.server.filesys.NetworkFile file,
byte[] buf,
int bufoff,
int siz,
long fileoff)
throws java.io.IOException
- Specified by:
writeFile
in interface org.alfresco.jlan.server.filesys.DiskInterface
- Throws:
java.io.IOException
registerContext
public void registerContext(org.alfresco.jlan.server.core.DeviceContext ctx)
throws org.alfresco.jlan.server.core.DeviceContextException
- Description copied from interface:
ExtendedDiskInterface
- Register an independently created device context object for this instance of the shared device. Useful, e.g. when
context singleton configuration managed by a container.
- Specified by:
registerContext
in interface ExtendedDiskInterface
- Throws:
org.alfresco.jlan.server.core.DeviceContextException
setDiskInterface
public void setDiskInterface(ExtendedDiskInterface diskInterface)
getDiskInterface
public ExtendedDiskInterface getDiskInterface()
setDiskSizeInterface
public void setDiskSizeInterface(org.alfresco.jlan.server.filesys.DiskSizeInterface diskSizeInterface)
getDiskSizeInterface
public org.alfresco.jlan.server.filesys.DiskSizeInterface getDiskSizeInterface()
setIoctlInterface
public void setIoctlInterface(org.alfresco.jlan.server.filesys.IOCtlInterface iocltlInterface)
getIoctlInterface
public org.alfresco.jlan.server.filesys.IOCtlInterface getIoctlInterface()
onMoveNode
public void onMoveNode(org.alfresco.service.cmr.repository.ChildAssociationRef oldChildAssocRef,
org.alfresco.service.cmr.repository.ChildAssociationRef newChildAssocRef)
- Description copied from interface:
NodeServicePolicies.OnMoveNodePolicy
- Called when a node has been moved.
- Specified by:
onMoveNode
in interface NodeServicePolicies.OnMoveNodePolicy
- Parameters:
oldChildAssocRef
- the child association reference prior to the movenewChildAssocRef
- the child association reference after the move
onDeleteNode
public void onDeleteNode(org.alfresco.service.cmr.repository.ChildAssociationRef oldChildAssocRef,
boolean isArchived)
- Description copied from interface:
NodeServicePolicies.OnDeleteNodePolicy
- Called after a node is deleted. The reference given is for an association
which has been deleted and cannot be used to retrieve node or associaton
information from any of the services.
- Specified by:
onDeleteNode
in interface NodeServicePolicies.OnDeleteNodePolicy
- Parameters:
oldChildAssocRef
- the primary parent-child association of the deleted nodeisArchived
- indicates whether the node has been archived rather than purged
setPolicyComponent
public void setPolicyComponent(PolicyComponent policyComponent)
getPolicyComponent
public PolicyComponent getPolicyComponent()
setOpLockInterface
public void setOpLockInterface(org.alfresco.jlan.server.locking.OpLockInterface opLockInterface)
getOpLockInterface
public org.alfresco.jlan.server.locking.OpLockInterface getOpLockInterface()
getOpLockManager
public org.alfresco.jlan.server.locking.OpLockManager getOpLockManager(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree)
- Specified by:
getOpLockManager
in interface org.alfresco.jlan.server.locking.OpLockInterface
isOpLocksEnabled
public boolean isOpLocksEnabled(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree)
- Specified by:
isOpLocksEnabled
in interface org.alfresco.jlan.server.locking.OpLockInterface
getLockManager
public org.alfresco.jlan.server.locking.LockManager getLockManager(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree)
- Specified by:
getLockManager
in interface org.alfresco.jlan.server.locking.FileLockingInterface
setFileLockingInterface
public void setFileLockingInterface(org.alfresco.jlan.server.locking.FileLockingInterface fileLockingInterface)
getFileLockingInterface
public org.alfresco.jlan.server.locking.FileLockingInterface getFileLockingInterface()
Copyright © 2005 - 2010 Alfresco Software, Inc. All Rights Reserved.