Package com.logicaldoc.core.automation
Class DocTool
java.lang.Object
com.logicaldoc.core.automation.DocTool
Utility methods to handle documents from within Automation
- Since:
- 7.3
- Author:
- Marco Meschieri - LogicalDOC
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Creates a new note for the whole documentcalculateNextVersion
(String currentVersion, boolean major) Calculates what will be the next version specification.Convert a document in another format and saves the result in another file in the same foldervoid
convertPDF
(Document doc) Converts a document in PDF format and saves it as ancillary resource of the document with suffixFormatConverterManager.PDF_CONVERSION_SUFFIX
.Copies a document into a target folderCopies a document into a target folderCopies a resource in a file in the same folder of the original documentint
countPages
(Document document) Counts the number of pages of a documentcreateAlias
(Document originalDoc, Folder targetFolder, String type, String username) Creates an alias to a documentcreateAlias
(Document originalDoc, String targetPath, String type, String username) Creates an alias to a documentcreatePath
(Document doc, String targetPath, String username) Creates a path, all existing nodes in the specified path will be reusedvoid
Delete a documentdisplayFileSize
(Long size) Prints the size of a file in human readable formdisplayUrl
(long tenantId, long docId) Builds the display url of a document(display permalink)displayUrl
(Document doc) Builds the display url of a document(display permalink)displayUrl
(DocumentHistory history) Builds the display url of a document(display permalink)downloadTicket
(long docId, boolean pdfConversion, Integer expireHours, Date expireDate, Integer maxDownloads, String username) Creates a new download ticket for a documentdownloadUrl
(long docId) Builds the download url of a document(download permalink)downloadUrl
(Document doc) Builds the download url of a document(download permalink)downloadUrl
(DocumentHistory history) Builds the download url of a document(download permalink)findById
(long docId) Retrieves a document by it's identifierfindByPath
(String path) Retrieves a document by it's pathfindByPath
(String path, Long tenantId) Retrieves a document by it's pathfindTemplateById
(long templateId) This method finds a template by IDfindTemplateByName
(String name, long tenantId) This method finds a template by namegetHistories
(long docId, String event) Retrieve the list of events of a documentgetIds
(Collection<Document> docs) Converts a collection of documents in a collection of identifiersLists the notes of a given documentCalculates the full path of a documentvoid
initialize
(Document doc) Initializes lazy loaded collectionsLinks two documentsvoid
Locks a documentmerge
(Collection<Document> documents, long targetFolderId, String fileName, String username) Merges a set of documents into a single PDF filevoid
Moves a document into a target folderExtracts the texts from a document, using the same analyzer used for the full-text processing.readAsString
(long docId, String fileVersion, String suffix) Gets the content of a resource and stores it as a stringvoid
Saves / updates a document into the databasevoid
store
(Document doc, DocumentHistory transaction) Saves / updates a document into the databasevoid
Saves / updates a document into the databasevoid
Unlocks a documentviewTicket
(long docId, boolean pdfConversion, Integer expireHours, Date expireDate, Integer maxDownloads, Integer maxViews, String username) Creates a new view ticket for a documentvoid
writeToFile
(long docId, String fileVersion, String suffix, String outputFile) Writes a resource in a file in the local file system
-
Constructor Details
-
DocTool
public DocTool()
-
-
Method Details
-
downloadUrl
Builds the download url of a document(download permalink)- Parameters:
docId
- identifier of the document- Returns:
- the download permalink
-
displayUrl
Builds the display url of a document(display permalink)- Parameters:
tenantId
- identifier of the tenantdocId
- identifier of the document- Returns:
- the display permalink
-
downloadUrl
Builds the download url of a document(download permalink)- Parameters:
doc
- the document- Returns:
- the download permalink
-
downloadUrl
Builds the download url of a document(download permalink)- Parameters:
history
- object representing an event on a document- Returns:
- the download permalink
-
displayUrl
Builds the display url of a document(display permalink)- Parameters:
doc
- the document- Returns:
- the display permalink
-
displayUrl
Builds the display url of a document(display permalink)- Parameters:
history
- object representing an event on a document- Returns:
- the display permalink
-
downloadTicket
public String downloadTicket(long docId, boolean pdfConversion, Integer expireHours, Date expireDate, Integer maxDownloads, String username) Creates a new download ticket for a document- Parameters:
docId
- identifier of the documentpdfConversion
- if the pdf conversion should be downloaded instead of the original fileexpireHours
- number of hours after which the ticket expiresexpireDate
- a specific expiration datemaxDownloads
- number of downloads over which the ticket expiresusername
- the user in whose name the method is run- Returns:
- the complete download ticket's URL
-
viewTicket
public String viewTicket(long docId, boolean pdfConversion, Integer expireHours, Date expireDate, Integer maxDownloads, Integer maxViews, String username) Creates a new view ticket for a document- Parameters:
docId
- identifier of the documentpdfConversion
- if the pdf conversion should be downloaded instead of the original fileexpireHours
- number of hours after which the ticket expiresexpireDate
- a specific expiration datemaxDownloads
- number of downloads over which the ticket expiresmaxDownloads
- number of views over which the ticket expiresusername
- the user in whose name the method is run- Returns:
- the complete download ticket's URL
-
displayFileSize
Prints the size of a file in human readable form- Parameters:
size
- the file size- Returns:
- the human readable representation
-
store
Saves / updates a document into the database- Parameters:
doc
- the document to savetransaction
- entry to log the event
-
store
Saves / updates a document into the database- Parameters:
doc
- the document to save
-
store
Saves / updates a document into the database- Parameters:
doc
- the document to saveusername
- the user in whose name the method is run
-
initialize
Initializes lazy loaded collections- Parameters:
doc
- the document to initialize
-
move
Moves a document into a target folder- Parameters:
doc
- the documenttargetPath
- the full path of the target folderusername
- the user in whose name the method is run
-
copy
public Document copy(Document doc, String targetPath, boolean links, boolean notes, String username) Copies a document into a target folder- Parameters:
doc
- the documenttargetPath
- the full path of the target folderlinks
- if the links must be copied toonotes
- if the notes must be copied toousername
- the user in whose name the method is run- Returns:
- the new document created
-
copy
Copies a document into a target folder- Parameters:
doc
- the documenttargetPath
- the full path of the target folderusername
- the user in whose name the method is run- Returns:
- the new document created
-
link
Links two documents- Parameters:
doc1
- first documentdoc2
- second documenttype
- type of link(optional)- Returns:
- the created link
-
createAlias
public Document createAlias(Document originalDoc, String targetPath, String type, String username) throws PersistenceException Creates an alias to a document- Parameters:
originalDoc
- the original document to be referencedtargetPath
- the full path of the target foldertype
- the alias type(null for the original file or pdf for it's pdf conversion)username
- the user in whose name the method is run- Returns:
- The new alias created
- Throws:
PersistenceException
- Error in the database
-
createAlias
public Document createAlias(Document originalDoc, Folder targetFolder, String type, String username) Creates an alias to a document- Parameters:
originalDoc
- the original document to be referencedtargetFolder
- the folder that will contain the aliastype
- the alias type(null for the original file or pdf for it's pdf conversion)username
- the user in whose name the method is run- Returns:
- The new alias created
-
lock
Locks a document- Parameters:
docId
- identifier of the documentusername
- the user that locks the document
-
unlock
Unlocks a document- Parameters:
docId
- identifier of the documentusername
- the user that locks the document
-
delete
Delete a document- Parameters:
docId
- identifier of the documentusername
- the user in whose name the method is run
-
copyResource
public Document copyResource(Document doc, String fileVersion, String suffix, String newFileName, String username) Copies a resource in a file in the same folder of the original document- Parameters:
doc
- The documentfileVersion
- The file versionsuffix
- the suffix (eg conversion.pdf)newFileName
- the file name of the new fileusername
- the user in whose name the method is run- Returns:
- the document
-
readAsString
Gets the content of a resource and stores it as a string- Parameters:
docId
- The document's identifierfileVersion
- The file versionsuffix
- The suffix- Returns:
- the file content as string
-
writeToFile
Writes a resource in a file in the local file system- Parameters:
docId
- The document's identifierfileVersion
- The file versionsuffix
- the suffix (eg conversion.pdf)outputFile
- the user in name of which to take this action
-
convertPDF
Converts a document in PDF format and saves it as ancillary resource of the document with suffixFormatConverterManager.PDF_CONVERSION_SUFFIX
. If the conversion already exists, nothing will be done.- Parameters:
doc
- the document to convert
-
convert
Convert a document in another format and saves the result in another file in the same folder- Parameters:
doc
- the document to convertformat
- it is the output format(e.g. pdf, txt, ...)username
- the user in whose name the method is run- Returns:
- the generated conversion document
-
merge
public Document merge(Collection<Document> documents, long targetFolderId, String fileName, String username) Merges a set of documents into a single PDF file- Parameters:
documents
- the list of documents to merge(the order counts)targetFolderId
- identifier of the target folderfileName
- name of the output file(must ends with .pdf)username
- the user in whose name the method is run- Returns:
- the generated merged document
-
findById
Retrieves a document by it's identifier- Parameters:
docId
- identifier of the document- Returns:
- the document object
-
findByPath
Retrieves a document by it's path- Parameters:
path
- full path of the document- Returns:
- the document object
-
findByPath
Retrieves a document by it's path- Parameters:
path
- full path of the documenttenantId
- identifier of the tenant(optional)- Returns:
- the document object
-
getPath
Calculates the full path of a document- Parameters:
doc
- the document to inspect- Returns:
- the full path
-
getIds
Converts a collection of documents in a collection of identifiers- Parameters:
docs
- the input collection- Returns:
- the list of all the IDs of the documents in the input collection
-
createPath
Creates a path, all existing nodes in the specified path will be reused- Parameters:
doc
- document used to take the root folder in case thetargetPath
represents a relative pathtargetPath
- absolute or relative(in relation to the document's parent folder) path to be createdusername
- the user in whose name the method is run- Returns:
- the folder leaf of the path
-
getHistories
Retrieve the list of events of a document- Parameters:
docId
- identifier of the documentevent
- event name, optional- Returns:
- list of histories
-
addNote
Creates a new note for the whole document- Parameters:
doc
- the documenttext
- text of the noteusername
- username of the user in name of which this action is taken
-
getNotes
Lists the notes of a given document- Parameters:
docId
- identifier of the documentfileVersion
- version of the file, optional- Returns:
- the list of notes
-
calculateNextVersion
Calculates what will be the next version specification. @seeVersion.getNewVersionName(String, boolean)
- Parameters:
currentVersion
- the current version(e.g. 1.1, 2.15, ...)major
- if the new release must be a major release- Returns:
- the new version
-
findTemplateByName
This method finds a template by name- Parameters:
name
- Name of the templatetenantId
- Identifier of the owning tenant- Returns:
- Template with given name
-
findTemplateById
This method finds a template by ID- Parameters:
templateId
- Identifier of the template- Returns:
- Template with given name
-
countPages
Counts the number of pages of a document- Parameters:
document
- the document- Returns:
- the number of pages
-
parse
Extracts the texts from a document, using the same analyzer used for the full-text processing.- Parameters:
document
- The document to elaboratefileVersion
- Optional file version to consier- Returns:
- the extracted texts
-