Package com.logicaldoc.importfolder.smb
Class SMBHelper
- java.lang.Object
-
- com.logicaldoc.importfolder.CrawlerHelper
-
- com.logicaldoc.importfolder.smb.SMBHelper
-
public class SMBHelper extends CrawlerHelper
Helper for SMB shares(it uses jCIFS and can work with SMB1 or SMB2).- Since:
- 4.5
- Author:
- Marco Meschieri - LogicalDOC
-
-
Constructor Summary
Constructors Constructor Description SMBHelper(ImportFolder importFolder)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
checkinFile(Object file, long docId, com.logicaldoc.core.security.User owner)
Imports a remote file into an existing document producing a new versionboolean
deleteFile(Object file)
Delete the given referenced file after document import.static File
downloadFile(jcifs.smb.SmbFile f)
Downloads a remote file into a local copyFile
getContentFile(String path)
Retrieves a file that contains the content referenced by pathDate
getCreationDate(Object file)
Computes remote file creation datejcifs.smb.SmbFile
getFile(String path)
Gets the object representation of the given pathDate
getLastModified(Object file)
Computes remote file last modification timeString
getName(Object file)
Computes the name of the remote fileString
getPath(Object file)
Computes the path of the remote filestatic jcifs.CIFSContext
getSmbContext(ImportFolder importFolder)
int
importDocumentsCount()
The documents, referenced by a index file, that should be imported.com.logicaldoc.core.document.Document
importFile(Object file, com.logicaldoc.core.folder.Folder folder, com.logicaldoc.core.security.User owner, boolean timestamp)
Imports a remote filevoid
importUsingIndex(ImportFolderCrawler crawler)
Imports documents referenced by a index filevoid
list(Object parent, int depth, List<Object> folders, List<Object> files, long max, ImportFolderCache cache)
Lists all files in a remote folderboolean
testConnection()
Tests if the import folder can be accessed-
Methods inherited from class com.logicaldoc.importfolder.CrawlerHelper
getInstance, toBeImported
-
-
-
-
Constructor Detail
-
SMBHelper
public SMBHelper(ImportFolder importFolder)
-
-
Method Detail
-
checkinFile
public void checkinFile(Object file, long docId, com.logicaldoc.core.security.User owner) throws Exception
Description copied from class:CrawlerHelper
Imports a remote file into an existing document producing a new version- Specified by:
checkinFile
in classCrawlerHelper
- Parameters:
file
- The file to be loadeddocId
- The document identifierowner
- The owner user- Throws:
Exception
- a generic error happened
-
importFile
public com.logicaldoc.core.document.Document importFile(Object file, com.logicaldoc.core.folder.Folder folder, com.logicaldoc.core.security.User owner, boolean timestamp) throws Exception
Description copied from class:CrawlerHelper
Imports a remote file- Specified by:
importFile
in classCrawlerHelper
- Parameters:
file
- The file to be loadedfolder
- The target folderowner
- The owner usertimestamp
- If the timestamp has to be included in filename and title- Returns:
- The newly created document
- Throws:
Exception
- a generic error happened
-
list
public void list(Object parent, int depth, List<Object> folders, List<Object> files, long max, ImportFolderCache cache) throws Exception
Description copied from class:CrawlerHelper
Lists all files in a remote folder- Specified by:
list
in classCrawlerHelper
- Parameters:
parent
- The parent directorydepth
- The maximum depthfolders
- The list that will contain all allowed foldersfiles
- The list that will contain all allowed filesmax
- The maximum number of elements in filescache
- Cache of imported documents- Throws:
Exception
- a generic error happened
-
downloadFile
public static File downloadFile(jcifs.smb.SmbFile f) throws Exception
Downloads a remote file into a local copy- Parameters:
f
- the remote file- Returns:
- The local file copy
- Throws:
Exception
- a generic error happened
-
getContentFile
public File getContentFile(String path)
Description copied from class:CrawlerHelper
Retrieves a file that contains the content referenced by path- Specified by:
getContentFile
in classCrawlerHelper
- Parameters:
path
- the full path of a remote file- Returns:
- a local file containing the remote file's content
-
getFile
public jcifs.smb.SmbFile getFile(String path)
Description copied from class:CrawlerHelper
Gets the object representation of the given path- Specified by:
getFile
in classCrawlerHelper
- Parameters:
path
- the full path of a remote file- Returns:
- the remote file at the specified path
-
getName
public String getName(Object file) throws Exception
Description copied from class:CrawlerHelper
Computes the name of the remote file- Specified by:
getName
in classCrawlerHelper
- Parameters:
file
- The file to be considered- Returns:
- The name
- Throws:
Exception
- a generic error happened
-
getPath
public String getPath(Object file) throws Exception
Description copied from class:CrawlerHelper
Computes the path of the remote file- Specified by:
getPath
in classCrawlerHelper
- Parameters:
file
- The file to be considered- Returns:
- The path
- Throws:
Exception
- a generic error happened
-
getLastModified
public Date getLastModified(Object file)
Description copied from class:CrawlerHelper
Computes remote file last modification time- Specified by:
getLastModified
in classCrawlerHelper
- Parameters:
file
- The file to be considered- Returns:
- The last modification time
-
getCreationDate
public Date getCreationDate(Object file)
Description copied from class:CrawlerHelper
Computes remote file creation date- Specified by:
getCreationDate
in classCrawlerHelper
- Parameters:
file
- The file to be considered- Returns:
- The creation date
-
getSmbContext
public static jcifs.CIFSContext getSmbContext(ImportFolder importFolder)
-
importUsingIndex
public void importUsingIndex(ImportFolderCrawler crawler) throws Exception
Description copied from class:CrawlerHelper
Imports documents referenced by a index file- Specified by:
importUsingIndex
in classCrawlerHelper
- Parameters:
crawler
- The current ImportFolderCrawler task- Throws:
Exception
- a generic error happened
-
importDocumentsCount
public int importDocumentsCount() throws Exception
Description copied from class:CrawlerHelper
The documents, referenced by a index file, that should be imported. It returns -1 in case there is not index file- Specified by:
importDocumentsCount
in classCrawlerHelper
- Returns:
- number of documents references inside the index file
- Throws:
Exception
- a generic error happened
-
deleteFile
public boolean deleteFile(Object file)
Description copied from class:CrawlerHelper
Delete the given referenced file after document import.- Specified by:
deleteFile
in classCrawlerHelper
- Parameters:
file
- The file that must be deleted- Returns:
- if the file has been successfully deleted
-
testConnection
public boolean testConnection()
Description copied from class:CrawlerHelper
Tests if the import folder can be accessed- Specified by:
testConnection
in classCrawlerHelper
- Returns:
- true if the import folder is accessible
-
-