|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.alfresco.filesys.alfresco.AlfrescoDiskDriver
org.alfresco.filesys.alfresco.AlfrescoTxDiskDriver
org.alfresco.filesys.avm.AVMDiskDriver
public class AVMDiskDriver
AVM Repository Filesystem Driver Class
Provides a filesystem interface for various protocols such as SMB/CIFS and FTP.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class org.alfresco.filesys.alfresco.AlfrescoTxDiskDriver |
---|
AlfrescoTxDiskDriver.CallableIO, AlfrescoTxDiskDriver.PropagatingException |
Field Summary | |
---|---|
static char |
AVM_SEPERATOR
|
static java.lang.String |
AVM_SEPERATOR_STR
|
static int |
CustomFileStatus
|
static int |
DirectoryExists
|
static int |
FileExists
|
static int |
FileNotExist
|
static int |
FileUnknown
|
static java.lang.String |
RoleContentManager
|
static java.lang.String |
RoleNotWebAuthor
|
static java.lang.String |
RoleWebProject
|
Fields inherited from class org.alfresco.filesys.alfresco.AlfrescoDiskDriver |
---|
ioControlHandler, m_transactionService |
Constructor Summary | |
---|---|
AVMDiskDriver()
Default constructor |
Method Summary | |
---|---|
protected void |
addNewStore(AVMContext avmCtx,
java.lang.String storeName)
Add a new store to the top level folder list |
protected AVMPath |
buildStorePath(AVMContext ctx,
java.lang.String path,
org.alfresco.jlan.server.SrvSession sess)
Build the full store path for a file/folder using the share relative path |
void |
closeFile(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree,
org.alfresco.jlan.server.filesys.NetworkFile file)
Close the file. |
org.alfresco.jlan.server.core.DeviceContext |
createContext(java.lang.String shareName,
org.springframework.extensions.config.ConfigElement cfg)
Parse and validate the parameter string and create a device context object for this instance of the shared device. |
void |
createDirectory(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree,
org.alfresco.jlan.server.filesys.FileOpenParams params)
Create a new directory on this file system. |
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)
Create a new file on the file system. |
void |
deleteDirectory(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree,
java.lang.String dir)
Delete the directory from the filesystem. |
void |
deleteFile(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree,
java.lang.String name)
Delete the specified file. |
int |
fileExists(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree,
java.lang.String name)
Check if the specified file exists, and whether it is a file or directory. |
protected org.alfresco.jlan.server.filesys.cache.FileState |
findPseudoState(AVMPath avmPath,
AVMContext avmCtx)
Find the file state for a pseudo folder path |
void |
flushFile(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree,
org.alfresco.jlan.server.filesys.NetworkFile file)
Flush any buffered output for the specified file. |
AuthenticationService |
getAuthenticationService()
Return the authentication service |
AVMService |
getAvmService()
Return the AVM service |
org.alfresco.jlan.util.StringList |
getAVMStoreNames()
Return a list of the available AVM store names |
protected java.util.Map |
getAVMStoreProperties(java.lang.String storeName)
Get the properties for a store |
org.alfresco.jlan.server.filesys.FileInfo |
getFileInformation(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree,
java.lang.String name)
Get the file information for the specified file. |
boolean |
isReadOnly(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.core.DeviceContext ctx)
Determine if the disk device is read-only. |
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)
Open a file on the file system. |
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)
Read a block of data from the specified file. |
void |
registerContext(org.alfresco.jlan.server.core.DeviceContext ctx)
Register a 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)
Rename the specified file. |
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)
Seek to the specified file position. |
void |
setAuthenticationComponent(AuthenticationComponent authComponent)
Set the authentication component |
void |
setAuthenticationService(AuthenticationService authService)
Set the authentication service |
void |
setAvmService(AVMService avmService)
Set the AVM service |
void |
setCreateStoreListener(CreateStoreTxnListener createStoreListener)
Set the create store listener |
void |
setCreateVersionListener(CreateVersionTxnListener createVersionListener)
Set the create version listener |
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)
Set the file information for the specified file. |
void |
setMimetypeService(org.alfresco.service.cmr.repository.MimetypeService mimetypeService)
Set the mimetype service |
void |
setNodeService(org.alfresco.service.cmr.repository.NodeService nodeService)
Set the node service |
void |
setPurgeStoreListener(PurgeStoreTxnListener purgeStoreListener)
Set the purge store listener |
void |
setPurgeVersionListener(PurgeVersionTxnListener purgeVersionListener)
Set the purge version listener |
void |
setWebProjectStore(java.lang.String webStore)
Set the web project store |
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)
Start a new search on the filesystem using the specified searchPath that may contain wildcards. |
void |
treeClosed(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree)
Connection opened to this disk device |
void |
treeOpened(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree)
Connection closed to this device |
void |
truncateFile(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree,
org.alfresco.jlan.server.filesys.NetworkFile file,
long siz)
Truncate a file to the specified size |
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)
Write a block of data to the file. |
Methods inherited from class org.alfresco.filesys.alfresco.AlfrescoTxDiskDriver |
---|
beginReadTransaction, beginWriteTransaction, doInWriteTransaction, endTransaction |
Methods inherited from class org.alfresco.filesys.alfresco.AlfrescoDiskDriver |
---|
getIoControlHandler, getServiceRegistry, getTransactionService, processIOControl, setIoControlHandler, setServiceRegistry, setTransactionService |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final char AVM_SEPERATOR
public static final java.lang.String AVM_SEPERATOR_STR
public static final java.lang.String RoleContentManager
public static final java.lang.String RoleWebProject
public static final java.lang.String RoleNotWebAuthor
public static final int FileUnknown
public static final int FileNotExist
public static final int FileExists
public static final int DirectoryExists
public static final int CustomFileStatus
Constructor Detail |
---|
public AVMDiskDriver()
Method Detail |
---|
public final AVMService getAvmService()
public final AuthenticationService getAuthenticationService()
public void setAvmService(AVMService avmService)
avmService
- AVMServicepublic void setAuthenticationComponent(AuthenticationComponent authComponent)
authComponent
- AuthenticationComponentpublic void setAuthenticationService(AuthenticationService authService)
authService
- AuthenticationServicepublic void setMimetypeService(org.alfresco.service.cmr.repository.MimetypeService mimetypeService)
mimetypeService
- MimetypeServicepublic void setNodeService(org.alfresco.service.cmr.repository.NodeService nodeService)
nodeService
- NodeServicepublic void setCreateStoreListener(CreateStoreTxnListener createStoreListener)
createStoreListener
- CreateStoreTxnListenerpublic void setPurgeStoreListener(PurgeStoreTxnListener purgeStoreListener)
purgeStoreListener
- PurgeStoreTxnListenerpublic void setCreateVersionListener(CreateVersionTxnListener createVersionListener)
createVersionListener
- CreateVersionTxnListenerpublic void setPurgeVersionListener(PurgeVersionTxnListener purgeVersionListener)
purgeVersionListener
- PurgeVersionTxnListenerpublic void setWebProjectStore(java.lang.String webStore)
webStore
- Stringpublic org.alfresco.jlan.server.core.DeviceContext createContext(java.lang.String shareName, org.springframework.extensions.config.ConfigElement cfg) throws org.alfresco.jlan.server.core.DeviceContextException
createContext
in interface org.alfresco.jlan.server.core.DeviceInterface
shareName
- Stringcfg
- ConfigElement
org.alfresco.jlan.server.core.DeviceContextException
public void registerContext(org.alfresco.jlan.server.core.DeviceContext ctx) throws org.alfresco.jlan.server.core.DeviceContextException
registerContext
in interface ExtendedDiskInterface
registerContext
in class AlfrescoDiskDriver
context
- the device contextserverConfig
- ServerConfigurationBean
org.alfresco.jlan.server.core.DeviceContextException
public final org.alfresco.jlan.util.StringList getAVMStoreNames()
protected final java.util.Map getAVMStoreProperties(java.lang.String storeName)
storeName
- String
protected final AVMPath buildStorePath(AVMContext ctx, java.lang.String path, org.alfresco.jlan.server.SrvSession sess) throws org.alfresco.jlan.server.filesys.AccessDeniedException
ctx
- AVMContextpath
- Stringsess
- SrvSession
org.alfresco.jlan.server.filesys.AccessDeniedException
public void closeFile(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, org.alfresco.jlan.server.filesys.NetworkFile file) throws java.io.IOException
closeFile
in interface org.alfresco.jlan.server.filesys.DiskInterface
sess
- Server sessiontree
- Tree connection.file
- Network file context.
java.io.IOException
- If an error occurs.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
createDirectory
in interface org.alfresco.jlan.server.filesys.DiskInterface
sess
- Server sessiontree
- Tree connection.params
- Directory create parameters
java.io.IOException
- If an error occurs.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
createFile
in interface org.alfresco.jlan.server.filesys.DiskInterface
sess
- Server sessiontree
- Tree connectionparams
- File create parameters
java.io.IOException
- If an error occurs.public void deleteDirectory(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, java.lang.String dir) throws java.io.IOException
deleteDirectory
in interface org.alfresco.jlan.server.filesys.DiskInterface
sess
- Server sessiontree
- Tree connectiondir
- Directory name.
java.io.IOException
- The exception description.public void deleteFile(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, java.lang.String name) throws java.io.IOException
deleteFile
in interface org.alfresco.jlan.server.filesys.DiskInterface
sess
- Server sessiontree
- Tree connectionfile
- NetworkFile
java.io.IOException
- The exception description.public int fileExists(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, java.lang.String name)
fileExists
in interface org.alfresco.jlan.server.filesys.DiskInterface
sess
- Server sessiontree
- Tree connectionname
- java.lang.String
FileStatus
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
flushFile
in interface org.alfresco.jlan.server.filesys.DiskInterface
sess
- Server sessiontree
- Tree connectionfile
- Network file context.
java.io.IOException
- The exception description.public org.alfresco.jlan.server.filesys.FileInfo getFileInformation(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, java.lang.String name) throws java.io.IOException
getFileInformation
in interface org.alfresco.jlan.server.filesys.DiskInterface
sess
- Server sessiontree
- Tree connectionname
- File name/path that information is required for.
java.io.IOException
- The exception description.public boolean isReadOnly(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.core.DeviceContext ctx) throws java.io.IOException
isReadOnly
in interface org.alfresco.jlan.server.filesys.DiskInterface
sess
- Server sessionctx
- Device context
java.io.IOException
- If an error occurs.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
openFile
in interface org.alfresco.jlan.server.filesys.DiskInterface
sess
- Server sessiontree
- Tree connectionparams
- File open parameters
java.io.IOException
- If an error occurs.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
readFile
in interface org.alfresco.jlan.server.filesys.DiskInterface
sess
- Session detailstree
- Tree connectionfile
- Network filebuf
- Buffer to return data tobufPos
- Starting position in the return buffersiz
- Maximum size of data to returnfilePos
- File offset to read data
java.io.IOException
- The exception description.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
renameFile
in interface org.alfresco.jlan.server.filesys.DiskInterface
sess
- Server sessiontree
- Tree connectionoldName
- java.lang.StringnewName
- java.lang.String
java.io.IOException
- The exception description.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
seekFile
in interface org.alfresco.jlan.server.filesys.DiskInterface
sess
- Server sessiontree
- Tree connectionfile
- Network file.pos
- Position to seek to.typ
- Seek type.
java.io.IOException
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
setFileInformation
in interface org.alfresco.jlan.server.filesys.DiskInterface
sess
- Server sessiontree
- Tree connectionname
- java.lang.Stringinfo
- FileInfo
java.io.IOException
- The exception description.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
startSearch
in interface org.alfresco.jlan.server.filesys.DiskInterface
sess
- Server sessiontree
- Tree connectionsearchPath
- File(s) to search for, may include wildcards.attrib
- Attributes of the file(s) to search for, see class SMBFileAttribute.
java.io.FileNotFoundException
- If the search could not be started.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
truncateFile
in interface org.alfresco.jlan.server.filesys.DiskInterface
sess
- Server sessiontree
- Tree connectionfile
- Network file detailssiz
- New file length
java.io.IOException
- The exception description.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
writeFile
in interface org.alfresco.jlan.server.filesys.DiskInterface
sess
- Server sessiontree
- Tree connectionfile
- Network file detailsbuf
- byte[] Data to be writtenbufoff
- Offset within the buffer that the data startssiz
- int Data lengthfileoff
- Position within the file that the data is to be written.
java.io.IOException
- The exception description.public void treeClosed(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree)
treeClosed
in interface org.alfresco.jlan.server.core.DeviceInterface
sess
- Server sessiontree
- Tree connectionpublic void treeOpened(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree)
treeOpened
in interface org.alfresco.jlan.server.core.DeviceInterface
sess
- Server sessiontree
- Tree connectionprotected final org.alfresco.jlan.server.filesys.cache.FileState findPseudoState(AVMPath avmPath, AVMContext avmCtx)
avmPath
- AVMPathavmCtx
- AVMContext
protected void addNewStore(AVMContext avmCtx, java.lang.String storeName)
avmCtx
- AVMContextstoreName
- String
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |