public class CSVImporterWork extends AbstractWork
Work.Progress, Work.State
completionTime, docId, docIds, id, isTree, progress, RANDOM, repositoryName, schedulePath, schedulingTime, session, startTime, state, status, suspended, suspending
Constructor and Description |
---|
CSVImporterWork(String id) |
CSVImporterWork(String repositoryName,
String parentPath,
String username,
File csvFile,
String csvFileName,
CSVImporterOptions options) |
Modifier and Type | Method and Description |
---|---|
protected StringList |
buildRecipientsList(String userEmail) |
protected Map<String,Serializable> |
computePropertiesMap(org.apache.commons.csv.CSVRecord record,
DocumentType docType,
Map<String,Integer> header) |
protected Serializable |
convertValue(DocumentType docType,
String fieldName,
String headerValue,
String stringValue,
long lineNumber) |
protected boolean |
createDocument(long lineNumber,
String newParentPath,
String name,
String type,
Map<String,Serializable> properties) |
protected boolean |
createOrUpdateDocument(long lineNumber,
String name,
String type,
Map<String,Serializable> properties) |
protected void |
doImport(org.apache.commons.csv.CSVParser parser) |
String |
getCategory()
Gets the category for this work.
|
protected DateFormat |
getDateFormat() |
protected String |
getDocumentUrl(DocumentModel doc) |
List<CSVImportLog> |
getImportLogs() |
String |
getTitle()
Gets a human-readable name for this work instance.
|
protected String |
getUserUrl() |
protected boolean |
importRecord(org.apache.commons.csv.CSVRecord record,
Map<String,Integer> header)
Import a line from the CSV file.
|
protected void |
logError(long lineNumber,
String message,
String localizedMessage,
String... params) |
protected BufferedReader |
newReader(File file) |
protected void |
sendMail() |
static Throwable |
unwrapException(Throwable t) |
protected boolean |
updateDocument(long lineNumber,
DocumentRef docRef,
Map<String,Serializable> properties) |
void |
work()
This method should implement the actual work done by the
Work instance. |
cleanUp, closeSession, commitOrRollbackTransaction, equals, getCompletionTime, getDocument, getDocuments, getId, getProgress, getRetryCount, getSchedulePath, getSchedulingTime, getStartTime, getState, getStatus, getUserId, getWorkInstanceResult, getWorkInstanceState, hashCode, initSession, initSession, isDocumentTree, isSuspending, isWorkInstanceSuspended, newDocumentLocation, run, runWorkWithTransaction, runWorkWithTransactionAndCheckExceptions, setCompletionTime, setDocument, setDocument, setDocuments, setProgress, setSchedulePath, setStartTime, setStatus, setWorkInstanceState, setWorkInstanceSuspending, startTransaction, suspended, toString
public static final String NUXEO_CSV_MAIL_TO
public static final String LABEL_CSV_IMPORTER_NOT_EXISTING_FIELD
public static final String LABEL_CSV_IMPORTER_CANNOT_CONVERT_FIELD_VALUE
public static final String LABEL_CSV_IMPORTER_NOT_EXISTING_FILE
public static final String NUXEO_CSV_BLOBS_FOLDER
public static final String LABEL_CSV_IMPORTER_DOCUMENT_ALREADY_EXISTS
public static final String LABEL_CSV_IMPORTER_UNABLE_TO_UPDATE
public static final String LABEL_CSV_IMPORTER_DOCUMENT_UPDATED
public static final String LABEL_CSV_IMPORTER_UNABLE_TO_CREATE
public static final String LABEL_CSV_IMPORTER_PARENT_DOES_NOT_EXIST
public static final String LABEL_CSV_IMPORTER_DOCUMENT_CREATED
public static final String LABEL_CSV_IMPORTER_NOT_ALLOWED_SUB_TYPE
public static final String LABEL_CSV_IMPORTER_UNABLE_TO_SAVE
public static final String LABEL_CSV_IMPORTER_ERROR_IMPORTING_LINE
public static final String LABEL_CSV_IMPORTER_NOT_EXISTING_TYPE
public static final String LABEL_CSV_IMPORTER_MISSING_TYPE_VALUE
public static final String LABEL_CSV_IMPORTER_MISSING_NAME_VALUE
public static final String LABEL_CSV_IMPORTER_MISSING_NAME_OR_TYPE_COLUMN
public static final String LABEL_CSV_IMPORTER_EMPTY_FILE
public static final String LABEL_CSV_IMPORTER_ERROR_DURING_IMPORT
public static final String LABEL_CSV_IMPORTER_EMPTY_LINE
public static final String CATEGORY_CSV_IMPORTER
public static final String CONTENT_FILED_TYPE_NAME
public static List<String> AUTHORIZED_HEADERS
protected String parentPath
protected String csvFileName
protected CSVImporterOptions options
protected transient DateFormat dateformat
protected List<CSVImportLog> importLogs
public CSVImporterWork(String id)
public CSVImporterWork(String repositoryName, String parentPath, String username, File csvFile, String csvFileName, CSVImporterOptions options)
public String getCategory()
Work
Used to choose an execution queue.
getCategory
in interface Work
getCategory
in class AbstractWork
null
for the defaultpublic String getTitle()
Work
public List<CSVImportLog> getImportLogs()
public void work()
Work
Work
instance.
It should periodically update its progress through Work.setProgress(org.nuxeo.ecm.core.work.api.Work.Progress)
.
To allow for suspension by the WorkManager
, it should periodically call Work.isSuspending()
, and if
true
call Work.suspended()
return early with saved state data.
Clean up can by implemented by #cleanUp()
.
work
in interface Work
work
in class AbstractWork
Work.isSuspending()
,
Work.suspended()
,
Work.cleanUp(boolean, java.lang.Exception)
protected BufferedReader newReader(File file) throws FileNotFoundException
FileNotFoundException
protected void doImport(org.apache.commons.csv.CSVParser parser)
protected boolean importRecord(org.apache.commons.csv.CSVRecord record, Map<String,Integer> header)
true
if a document has been created or updated, false
otherwise.protected Map<String,Serializable> computePropertiesMap(org.apache.commons.csv.CSVRecord record, DocumentType docType, Map<String,Integer> header)
protected Serializable convertValue(DocumentType docType, String fieldName, String headerValue, String stringValue, long lineNumber)
protected DateFormat getDateFormat()
protected boolean createOrUpdateDocument(long lineNumber, String name, String type, Map<String,Serializable> properties)
protected boolean createDocument(long lineNumber, String newParentPath, String name, String type, Map<String,Serializable> properties)
protected boolean updateDocument(long lineNumber, DocumentRef docRef, Map<String,Serializable> properties)
protected void logError(long lineNumber, String message, String localizedMessage, String... params)
protected void sendMail()
protected String getDocumentUrl(DocumentModel doc)
protected String getUserUrl()
protected StringList buildRecipientsList(String userEmail)
public static Throwable unwrapException(Throwable t)
Copyright © 2015 Nuxeo SA. All rights reserved.