Package org.opencms.jlan
Class CmsJlanDiskInterface
java.lang.Object
org.opencms.jlan.CmsJlanDiskInterface
- All Implemented Interfaces:
org.alfresco.jlan.server.core.DeviceInterface,org.alfresco.jlan.server.filesys.DiskInterface
public class CmsJlanDiskInterface
extends Object
implements org.alfresco.jlan.server.filesys.DiskInterface
OpenCms implementation of the JLAN DiskInterface interface.
This class, together with the CmsJlanNetworkFile class, contains the main repository access functionality.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringAttribute to control whether we need the filesize or not when reading a resource.static final CmsResourceFilterThe standard resource filter used for reading resources. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidcloseFile(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection, org.alfresco.jlan.server.filesys.NetworkFile file) static IOExceptionTries to convert a CmsException to the matching exception type from JLAN.org.alfresco.jlan.server.core.DeviceContextcreateContext(String shareName, org.springframework.extensions.config.ConfigElement args) voidcreateDirectory(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.NetworkFilecreateFile(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection, org.alfresco.jlan.server.filesys.FileOpenParams params) voiddeleteDirectory(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection, String path) voiddeleteFile(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection, String path) intfileExists(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection, String path) voidflushFile(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection, org.alfresco.jlan.server.filesys.NetworkFile file) protected CmsObjectWrappergetCms(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection) Creates a CmsObjectWrapper for the current session.protected static StringgetCmsPath(String path) Converts a CIFS path to an OpenCms path by converting backslashes to slashes and translating special characters in the file name.protected CmsJlanNetworkFilegetFileForPath(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection, String path) Helper method to get a network file object given a path.protected CmsJlanNetworkFilegetFileForPath(CmsObjectWrapper cms, org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection, String path) Helper method to get a network file object given a path.org.alfresco.jlan.server.filesys.FileInfogetFileInformation(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection, String path) protected org.alfresco.jlan.server.filesys.NetworkFileinternalCreateFile(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection, org.alfresco.jlan.server.filesys.FileOpenParams params, String typeName) Internal method for creating a new file.booleanisReadOnly(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.core.DeviceContext context) org.alfresco.jlan.server.filesys.NetworkFileopenFile(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection, org.alfresco.jlan.server.filesys.FileOpenParams params) intreadFile(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) voidrenameFile(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection, String oldName, String newName) longseekFile(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection, org.alfresco.jlan.server.filesys.NetworkFile file, long pos, int seekMode) voidsetFileInformation(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection, String path, org.alfresco.jlan.server.filesys.FileInfo info) org.alfresco.jlan.server.filesys.SearchContextstartSearch(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection, String searchPath, int searchAttributes) protected StringtranslateName(String path) Translates the last path segment of a path using the configured OpenCms file translations.voidtreeClosed(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree) voidtreeOpened(org.alfresco.jlan.server.SrvSession arg0, org.alfresco.jlan.server.filesys.TreeConnection arg1) voidtruncateFile(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection, org.alfresco.jlan.server.filesys.NetworkFile file, long size) intwriteFile(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)
-
Field Details
-
NO_FILESIZE_REQUIRED
Attribute to control whether we need the filesize or not when reading a resource.- See Also:
-
STANDARD_FILTER
The standard resource filter used for reading resources.
-
-
Constructor Details
-
CmsJlanDiskInterface
public CmsJlanDiskInterface()
-
-
Method Details
-
convertCmsException
Tries to convert a CmsException to the matching exception type from JLAN.- Parameters:
e- the exception to convert- Returns:
- the converted exception
-
getCmsPath
Converts a CIFS path to an OpenCms path by converting backslashes to slashes and translating special characters in the file name.- Parameters:
path- the path to transform- Returns:
- the OpenCms path for the given path
-
closeFile
public void closeFile(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection, org.alfresco.jlan.server.filesys.NetworkFile file) throws IOException - Specified by:
closeFilein interfaceorg.alfresco.jlan.server.filesys.DiskInterface- Throws:
IOException- See Also:
-
createContext
public org.alfresco.jlan.server.core.DeviceContext createContext(String shareName, org.springframework.extensions.config.ConfigElement args) - Specified by:
createContextin interfaceorg.alfresco.jlan.server.core.DeviceInterface- See Also:
-
createDirectory
public void createDirectory(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection, org.alfresco.jlan.server.filesys.FileOpenParams params) throws IOException - Specified by:
createDirectoryin interfaceorg.alfresco.jlan.server.filesys.DiskInterface- Throws:
IOException- See Also:
-
createFile
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 IOException - Specified by:
createFilein interfaceorg.alfresco.jlan.server.filesys.DiskInterface- Throws:
IOException- See Also:
-
deleteDirectory
public void deleteDirectory(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection, String path) throws IOException - Specified by:
deleteDirectoryin interfaceorg.alfresco.jlan.server.filesys.DiskInterface- Throws:
IOException- See Also:
-
deleteFile
public void deleteFile(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection, String path) throws IOException - Specified by:
deleteFilein interfaceorg.alfresco.jlan.server.filesys.DiskInterface- Throws:
IOException- See Also:
-
fileExists
public int fileExists(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection, String path) - Specified by:
fileExistsin interfaceorg.alfresco.jlan.server.filesys.DiskInterface- See Also:
-
flushFile
public void flushFile(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection, org.alfresco.jlan.server.filesys.NetworkFile file) throws IOException - Specified by:
flushFilein interfaceorg.alfresco.jlan.server.filesys.DiskInterface- Throws:
IOException- See Also:
-
getFileInformation
public org.alfresco.jlan.server.filesys.FileInfo getFileInformation(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection, String path) throws IOException - Specified by:
getFileInformationin interfaceorg.alfresco.jlan.server.filesys.DiskInterface- Throws:
IOException- See Also:
-
isReadOnly
public boolean isReadOnly(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.core.DeviceContext context) - Specified by:
isReadOnlyin interfaceorg.alfresco.jlan.server.filesys.DiskInterface- See Also:
-
openFile
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 IOException - Specified by:
openFilein interfaceorg.alfresco.jlan.server.filesys.DiskInterface- Throws:
IOException- See Also:
-
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 IOException - Specified by:
readFilein interfaceorg.alfresco.jlan.server.filesys.DiskInterface- Throws:
IOException- See Also:
-
renameFile
public void renameFile(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection, String oldName, String newName) throws IOException - Specified by:
renameFilein interfaceorg.alfresco.jlan.server.filesys.DiskInterface- Throws:
IOException- See Also:
-
seekFile
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 IOException - Specified by:
seekFilein interfaceorg.alfresco.jlan.server.filesys.DiskInterface- Throws:
IOException- See Also:
-
setFileInformation
public void setFileInformation(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection, String path, org.alfresco.jlan.server.filesys.FileInfo info) throws IOException - Specified by:
setFileInformationin interfaceorg.alfresco.jlan.server.filesys.DiskInterface- Throws:
IOException- See Also:
-
startSearch
public org.alfresco.jlan.server.filesys.SearchContext startSearch(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection, String searchPath, int searchAttributes) - Specified by:
startSearchin interfaceorg.alfresco.jlan.server.filesys.DiskInterface- See Also:
-
treeClosed
public void treeClosed(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree) - Specified by:
treeClosedin interfaceorg.alfresco.jlan.server.core.DeviceInterface- See Also:
-
treeOpened
public void treeOpened(org.alfresco.jlan.server.SrvSession arg0, org.alfresco.jlan.server.filesys.TreeConnection arg1) - Specified by:
treeOpenedin interfaceorg.alfresco.jlan.server.core.DeviceInterface- See Also:
-
truncateFile
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 IOException - Specified by:
truncateFilein interfaceorg.alfresco.jlan.server.filesys.DiskInterface- Throws:
IOException- See Also:
-
writeFile
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 IOException - Specified by:
writeFilein interfaceorg.alfresco.jlan.server.filesys.DiskInterface- Throws:
IOException- See Also:
-
getCms
protected CmsObjectWrapper getCms(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection) throws CmsException Creates a CmsObjectWrapper for the current session.- Parameters:
session- the current sessionconnection- the tree connection- Returns:
- the correctly configured CmsObjectWrapper for this session
- Throws:
CmsException- if something goes wrong
-
getFileForPath
protected CmsJlanNetworkFile getFileForPath(CmsObjectWrapper cms, org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection, String path) throws CmsException Helper method to get a network file object given a path.- Parameters:
cms- the CMS context wrappersession- the current sessionconnection- the current connectionpath- the file path- Returns:
- the network file object for the given path
- Throws:
CmsException- if something goes wrong
-
getFileForPath
protected CmsJlanNetworkFile getFileForPath(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection connection, String path) throws CmsException Helper method to get a network file object given a path.- Parameters:
session- the current sessionconnection- the current connectionpath- the file path- Returns:
- the network file object for the given path
- Throws:
CmsException- if something goes wrong
-
internalCreateFile
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, String typeName) throws IOException Internal method for creating a new file.- Parameters:
session- the sessionconnection- the tree connectionparams- the parameters for opening the filetypeName- the name of the resource type for the new file- Returns:
- a NetworkFile instance representing the newly created file
- Throws:
IOException- if something goes wrong
-
translateName
Translates the last path segment of a path using the configured OpenCms file translations.- Parameters:
path- the path for which the last segment should be translated- Returns:
- the path with the translated last segment
-