public abstract class FulltextExtractorWork extends AbstractWork
The extracted fulltext is then passed to the single-threaded FulltextUpdaterWork
.
This base abstract class must be subclassed in order to implement the proper
initFulltextConfigurationAndParser()
depending on the storage.
Work.Progress, Work.State
Modifier and Type | Field and Description |
---|---|
protected static String |
ANY2TEXT |
protected static String |
CATEGORY |
protected boolean |
excludeProxies |
protected FulltextConfiguration |
fulltextConfiguration |
protected FulltextParser |
fulltextParser |
protected static String |
TITLE |
callerThread, completionTime, docId, docIds, id, isTree, loginContext, originatingUsername, progress, RANDOM, repositoryName, schedulePath, schedulingTime, session, startTime, state, status, suspended, suspending
Constructor and Description |
---|
FulltextExtractorWork(String repositoryName,
String docId,
String id,
boolean excludeProxies) |
Modifier and Type | Method and Description |
---|---|
protected StringBlob |
blobsToStringBlob(List<Blob> blobs,
String docId) |
void |
cleanUp(boolean ok,
Exception e)
This method is called after
AbstractWork.work() is done in a finally block, whether work completed normally or was in
error or was interrupted. |
protected BlobHolder |
convert(BlobHolder blobHolder) |
protected void |
extractBinaryText() |
String |
getCategory()
Gets the category for this work.
|
int |
getRetryCount()
Gets the number of times that this Work instance can be retried in case of concurrent update exceptions.
|
String |
getTitle()
Gets a human-readable name for this work instance.
|
abstract void |
initFulltextConfigurationAndParser()
Initializes the fulltext configuration and parser.
|
void |
work()
This method should implement the actual work done by the
Work instance. |
closeSession, commitOrRollbackTransaction, equals, getCompletionTime, getDocument, getDocuments, getId, getOriginatingUsername, getProgress, getSchedulePath, getSchedulingTime, getStartTime, getStatus, getWorkInstanceState, hashCode, initSession, initSession, isDocumentTree, isSuspending, isWorkInstanceSuspended, newDocumentLocation, openSystemSession, openUserSession, run, runWorkWithTransaction, setCompletionTime, setDocument, setDocument, setDocuments, setOriginatingUsername, setProgress, setSchedulePath, setStartTime, setStatus, setWorkInstanceState, setWorkInstanceSuspending, startTransaction, suspended, toString
protected static final String ANY2TEXT
protected static final String CATEGORY
protected static final String TITLE
protected final boolean excludeProxies
protected transient FulltextConfiguration fulltextConfiguration
protected transient FulltextParser fulltextParser
public FulltextExtractorWork(String repositoryName, String docId, String id, boolean excludeProxies)
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 int getRetryCount()
AbstractWork
getRetryCount
in class AbstractWork
AbstractWork.work()
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)
public abstract void initFulltextConfigurationAndParser()
protected void extractBinaryText()
public void cleanUp(boolean ok, Exception e)
AbstractWork
AbstractWork.work()
is done in a finally block, whether work completed normally or was in
error or was interrupted.cleanUp
in interface Work
cleanUp
in class AbstractWork
ok
- true
if the work completed normallye
- the exception, if availableprotected StringBlob blobsToStringBlob(List<Blob> blobs, String docId)
protected BlobHolder convert(BlobHolder blobHolder) throws ConversionException
ConversionException
Copyright © 2017 Nuxeo. All rights reserved.