public class CmsJlanDiskInterface extends java.lang.Object implements org.alfresco.jlan.server.filesys.DiskInterface
This class, together with the CmsJlanNetworkFile class, contains the main repository access functionality.
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
NO_FILESIZE_REQUIRED
Attribute to control whether we need the filesize or not when reading a resource.
|
static CmsResourceFilter |
STANDARD_FILTER
The standard resource filter used for reading resources.
|
Constructor and Description |
---|
CmsJlanDiskInterface() |
Modifier and Type | Method and Description |
---|---|
void |
closeFile(org.alfresco.jlan.server.SrvSession session,
org.alfresco.jlan.server.filesys.TreeConnection connection,
org.alfresco.jlan.server.filesys.NetworkFile file) |
static java.io.IOException |
convertCmsException(CmsException e)
Tries to convert a CmsException to the matching exception type from JLAN.
|
org.alfresco.jlan.server.core.DeviceContext |
createContext(java.lang.String shareName,
org.springframework.extensions.config.ConfigElement args) |
void |
createDirectory(org.alfresco.jlan.server.SrvSession session,
org.alfresco.jlan.server.filesys.TreeConnection connection,
org.alfresco.jlan.server.filesys.FileOpenParams params) |
org.alfresco.jlan.server.filesys.NetworkFile |
createFile(org.alfresco.jlan.server.SrvSession session,
org.alfresco.jlan.server.filesys.TreeConnection connection,
org.alfresco.jlan.server.filesys.FileOpenParams params) |
void |
deleteDirectory(org.alfresco.jlan.server.SrvSession session,
org.alfresco.jlan.server.filesys.TreeConnection connection,
java.lang.String path) |
void |
deleteFile(org.alfresco.jlan.server.SrvSession session,
org.alfresco.jlan.server.filesys.TreeConnection connection,
java.lang.String path) |
int |
fileExists(org.alfresco.jlan.server.SrvSession session,
org.alfresco.jlan.server.filesys.TreeConnection connection,
java.lang.String path) |
void |
flushFile(org.alfresco.jlan.server.SrvSession session,
org.alfresco.jlan.server.filesys.TreeConnection connection,
org.alfresco.jlan.server.filesys.NetworkFile file) |
protected CmsObjectWrapper |
getCms(org.alfresco.jlan.server.SrvSession session,
org.alfresco.jlan.server.filesys.TreeConnection connection)
Creates a CmsObjectWrapper for the current session.
|
protected static java.lang.String |
getCmsPath(java.lang.String path)
Converts a CIFS path to an OpenCms path by converting backslashes to slashes and translating special characters in the file name.
|
protected CmsJlanNetworkFile |
getFileForPath(CmsObjectWrapper cms,
org.alfresco.jlan.server.SrvSession session,
org.alfresco.jlan.server.filesys.TreeConnection connection,
java.lang.String path)
Helper method to get a network file object given a path.
|
protected CmsJlanNetworkFile |
getFileForPath(org.alfresco.jlan.server.SrvSession session,
org.alfresco.jlan.server.filesys.TreeConnection connection,
java.lang.String path)
Helper method to get a network file object given a path.
|
org.alfresco.jlan.server.filesys.FileInfo |
getFileInformation(org.alfresco.jlan.server.SrvSession session,
org.alfresco.jlan.server.filesys.TreeConnection connection,
java.lang.String path) |
protected org.alfresco.jlan.server.filesys.NetworkFile |
internalCreateFile(org.alfresco.jlan.server.SrvSession session,
org.alfresco.jlan.server.filesys.TreeConnection connection,
org.alfresco.jlan.server.filesys.FileOpenParams params,
java.lang.String typeName)
Internal method for creating a new file.
|
boolean |
isReadOnly(org.alfresco.jlan.server.SrvSession session,
org.alfresco.jlan.server.core.DeviceContext context) |
org.alfresco.jlan.server.filesys.NetworkFile |
openFile(org.alfresco.jlan.server.SrvSession session,
org.alfresco.jlan.server.filesys.TreeConnection connection,
org.alfresco.jlan.server.filesys.FileOpenParams params) |
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 |
renameFile(org.alfresco.jlan.server.SrvSession session,
org.alfresco.jlan.server.filesys.TreeConnection connection,
java.lang.String oldName,
java.lang.String newName) |
long |
seekFile(org.alfresco.jlan.server.SrvSession session,
org.alfresco.jlan.server.filesys.TreeConnection connection,
org.alfresco.jlan.server.filesys.NetworkFile file,
long pos,
int seekMode) |
void |
setFileInformation(org.alfresco.jlan.server.SrvSession session,
org.alfresco.jlan.server.filesys.TreeConnection connection,
java.lang.String path,
org.alfresco.jlan.server.filesys.FileInfo info) |
org.alfresco.jlan.server.filesys.SearchContext |
startSearch(org.alfresco.jlan.server.SrvSession session,
org.alfresco.jlan.server.filesys.TreeConnection connection,
java.lang.String searchPath,
int searchAttributes) |
protected java.lang.String |
translateName(java.lang.String path)
Translates the last path segment of a path using the configured OpenCms file translations.
|
void |
treeClosed(org.alfresco.jlan.server.SrvSession sess,
org.alfresco.jlan.server.filesys.TreeConnection tree) |
void |
treeOpened(org.alfresco.jlan.server.SrvSession arg0,
org.alfresco.jlan.server.filesys.TreeConnection arg1) |
void |
truncateFile(org.alfresco.jlan.server.SrvSession session,
org.alfresco.jlan.server.filesys.TreeConnection connection,
org.alfresco.jlan.server.filesys.NetworkFile file,
long size) |
int |
writeFile(org.alfresco.jlan.server.SrvSession session,
org.alfresco.jlan.server.filesys.TreeConnection connection,
org.alfresco.jlan.server.filesys.NetworkFile file,
byte[] data,
int bufferOffset,
int length,
long fileOffset) |
public static final java.lang.String NO_FILESIZE_REQUIRED
public static final CmsResourceFilter STANDARD_FILTER
public CmsJlanDiskInterface()
public static java.io.IOException convertCmsException(CmsException e)
e
- the exception to convertprotected static java.lang.String getCmsPath(java.lang.String path)
path
- the path to transformpublic void closeFile(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection, org.alfresco.jlan.server.filesys.NetworkFile file) throws java.io.IOException
closeFile
in interface org.alfresco.jlan.server.filesys.DiskInterface
java.io.IOException
DiskInterface.closeFile(org.alfresco.jlan.server.SrvSession, org.alfresco.jlan.server.filesys.TreeConnection, org.alfresco.jlan.server.filesys.NetworkFile)
public org.alfresco.jlan.server.core.DeviceContext createContext(java.lang.String shareName, org.springframework.extensions.config.ConfigElement args)
createContext
in interface org.alfresco.jlan.server.core.DeviceInterface
DeviceInterface.createContext(java.lang.String, org.springframework.extensions.config.ConfigElement)
public void createDirectory(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection, org.alfresco.jlan.server.filesys.FileOpenParams params) throws java.io.IOException
createDirectory
in interface org.alfresco.jlan.server.filesys.DiskInterface
java.io.IOException
DiskInterface.createDirectory(org.alfresco.jlan.server.SrvSession, org.alfresco.jlan.server.filesys.TreeConnection, org.alfresco.jlan.server.filesys.FileOpenParams)
public org.alfresco.jlan.server.filesys.NetworkFile createFile(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection, org.alfresco.jlan.server.filesys.FileOpenParams params) throws java.io.IOException
createFile
in interface org.alfresco.jlan.server.filesys.DiskInterface
java.io.IOException
DiskInterface.createFile(org.alfresco.jlan.server.SrvSession, org.alfresco.jlan.server.filesys.TreeConnection, org.alfresco.jlan.server.filesys.FileOpenParams)
public void deleteDirectory(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection, java.lang.String path) throws java.io.IOException
deleteDirectory
in interface org.alfresco.jlan.server.filesys.DiskInterface
java.io.IOException
DiskInterface.deleteDirectory(org.alfresco.jlan.server.SrvSession, org.alfresco.jlan.server.filesys.TreeConnection, java.lang.String)
public void deleteFile(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection, java.lang.String path) throws java.io.IOException
deleteFile
in interface org.alfresco.jlan.server.filesys.DiskInterface
java.io.IOException
DiskInterface.deleteFile(org.alfresco.jlan.server.SrvSession, org.alfresco.jlan.server.filesys.TreeConnection, java.lang.String)
public int fileExists(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection, java.lang.String path)
fileExists
in interface org.alfresco.jlan.server.filesys.DiskInterface
DiskInterface.fileExists(org.alfresco.jlan.server.SrvSession, org.alfresco.jlan.server.filesys.TreeConnection, java.lang.String)
public void flushFile(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection, org.alfresco.jlan.server.filesys.NetworkFile file) throws java.io.IOException
flushFile
in interface org.alfresco.jlan.server.filesys.DiskInterface
java.io.IOException
DiskInterface.flushFile(org.alfresco.jlan.server.SrvSession, org.alfresco.jlan.server.filesys.TreeConnection, org.alfresco.jlan.server.filesys.NetworkFile)
public org.alfresco.jlan.server.filesys.FileInfo getFileInformation(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection, java.lang.String path) throws java.io.IOException
getFileInformation
in interface org.alfresco.jlan.server.filesys.DiskInterface
java.io.IOException
DiskInterface.getFileInformation(org.alfresco.jlan.server.SrvSession, org.alfresco.jlan.server.filesys.TreeConnection, java.lang.String)
public boolean isReadOnly(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.core.DeviceContext context)
isReadOnly
in interface org.alfresco.jlan.server.filesys.DiskInterface
DiskInterface.isReadOnly(org.alfresco.jlan.server.SrvSession, org.alfresco.jlan.server.core.DeviceContext)
public org.alfresco.jlan.server.filesys.NetworkFile openFile(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection, org.alfresco.jlan.server.filesys.FileOpenParams params) throws java.io.IOException
openFile
in interface org.alfresco.jlan.server.filesys.DiskInterface
java.io.IOException
DiskInterface.openFile(org.alfresco.jlan.server.SrvSession, org.alfresco.jlan.server.filesys.TreeConnection, org.alfresco.jlan.server.filesys.FileOpenParams)
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
java.io.IOException
DiskInterface.readFile(org.alfresco.jlan.server.SrvSession, org.alfresco.jlan.server.filesys.TreeConnection, org.alfresco.jlan.server.filesys.NetworkFile, byte[], int, int, long)
public void renameFile(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection, java.lang.String oldName, java.lang.String newName) throws java.io.IOException
renameFile
in interface org.alfresco.jlan.server.filesys.DiskInterface
java.io.IOException
DiskInterface.renameFile(org.alfresco.jlan.server.SrvSession, org.alfresco.jlan.server.filesys.TreeConnection, java.lang.String, java.lang.String)
public long seekFile(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection, org.alfresco.jlan.server.filesys.NetworkFile file, long pos, int seekMode) throws java.io.IOException
seekFile
in interface org.alfresco.jlan.server.filesys.DiskInterface
java.io.IOException
DiskInterface.seekFile(org.alfresco.jlan.server.SrvSession, org.alfresco.jlan.server.filesys.TreeConnection, org.alfresco.jlan.server.filesys.NetworkFile, long, int)
public void setFileInformation(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection, java.lang.String path, org.alfresco.jlan.server.filesys.FileInfo info) throws java.io.IOException
setFileInformation
in interface org.alfresco.jlan.server.filesys.DiskInterface
java.io.IOException
DiskInterface.setFileInformation(org.alfresco.jlan.server.SrvSession, org.alfresco.jlan.server.filesys.TreeConnection, java.lang.String, org.alfresco.jlan.server.filesys.FileInfo)
public org.alfresco.jlan.server.filesys.SearchContext startSearch(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection, java.lang.String searchPath, int searchAttributes)
startSearch
in interface org.alfresco.jlan.server.filesys.DiskInterface
DiskInterface.startSearch(org.alfresco.jlan.server.SrvSession, org.alfresco.jlan.server.filesys.TreeConnection, java.lang.String, int)
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
DeviceInterface.treeClosed(org.alfresco.jlan.server.SrvSession, org.alfresco.jlan.server.filesys.TreeConnection)
public void treeOpened(org.alfresco.jlan.server.SrvSession arg0, org.alfresco.jlan.server.filesys.TreeConnection arg1)
treeOpened
in interface org.alfresco.jlan.server.core.DeviceInterface
DeviceInterface.treeOpened(org.alfresco.jlan.server.SrvSession, org.alfresco.jlan.server.filesys.TreeConnection)
public void truncateFile(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection, org.alfresco.jlan.server.filesys.NetworkFile file, long size) throws java.io.IOException
truncateFile
in interface org.alfresco.jlan.server.filesys.DiskInterface
java.io.IOException
DiskInterface.truncateFile(org.alfresco.jlan.server.SrvSession, org.alfresco.jlan.server.filesys.TreeConnection, org.alfresco.jlan.server.filesys.NetworkFile, long)
public int writeFile(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection, org.alfresco.jlan.server.filesys.NetworkFile file, byte[] data, int bufferOffset, int length, long fileOffset) throws java.io.IOException
writeFile
in interface org.alfresco.jlan.server.filesys.DiskInterface
java.io.IOException
DiskInterface.writeFile(org.alfresco.jlan.server.SrvSession, org.alfresco.jlan.server.filesys.TreeConnection, org.alfresco.jlan.server.filesys.NetworkFile, byte[], int, int, long)
protected CmsObjectWrapper getCms(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection) throws CmsException
session
- the current sessionconnection
- the tree connectionCmsException
- if something goes wrongprotected CmsJlanNetworkFile getFileForPath(CmsObjectWrapper cms, org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection, java.lang.String path) throws CmsException
cms
- the CMS context wrappersession
- the current sessionconnection
- the current connectionpath
- the file pathCmsException
- if something goes wrongprotected CmsJlanNetworkFile getFileForPath(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection, java.lang.String path) throws CmsException
session
- the current sessionconnection
- the current connectionpath
- the file pathCmsException
- if something goes wrongprotected org.alfresco.jlan.server.filesys.NetworkFile internalCreateFile(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection, org.alfresco.jlan.server.filesys.FileOpenParams params, java.lang.String typeName) throws java.io.IOException
session
- the sessionconnection
- the tree connectionparams
- the parameters for opening the filetypeName
- the name of the resource type for the new filejava.io.IOException
- if something goes wrongprotected java.lang.String translateName(java.lang.String path)
path
- the path for which the last segment should be translated