Class PreviewWork
- java.lang.Object
-
- org.nuxeo.ecm.core.work.AbstractWork
-
- org.nuxeo.ecm.platform.preview.work.PreviewWork
-
- All Implemented Interfaces:
Serializable
,Work
public class PreviewWork extends AbstractWork
Generates a document preview on worker node and cache the result in a transient store.- Since:
- 2021.41
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.nuxeo.ecm.core.work.api.Work
Work.Progress, Work.State
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
blobPostProcessing
protected String
documentId
protected String
sourceId
static String
STORE_NAME
protected String
xpath
-
Fields inherited from class org.nuxeo.ecm.core.work.AbstractWork
callerThread, completionTime, docId, docIds, FAILURE_EXCEPTION, FAILURE_MSG, GLOBAL_DLQ_COUNT_REGISTRY_NAME, id, isTree, loginContext, originatingUsername, progress, RANDOM, repositoryName, schedulePath, schedulingTime, session, startTime, state, status, suspended, suspending, traceContext, WORK_FAILED_EVENT, WORK_INSTANCE
-
-
Constructor Summary
Constructors Constructor Description PreviewWork(DocumentModel doc, String xpath, boolean blobPostProcessing)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description String
getCategory()
Gets the category for this work.List<Blob>
getPreview(Duration timeout)
protected String
getSourceId(DocumentModel doc)
Returns the identifier of the object to render, could be the main blob or a doc.protected static TransientStore
getStore()
String
getTitle()
Gets a human-readable name for this work instance.protected void
inError(String message)
boolean
isIdempotent()
Returns true if a work with a givenWork.getId()
should always produce the same result.protected void
submitWork()
void
work()
This method should implement the actual work done by theWork
instance.-
Methods inherited from class org.nuxeo.ecm.core.work.AbstractWork
appendWorkToDeadLetterQueue, buildWorkFailureEventProps, cleanUp, closeSession, commitOrRollbackTransaction, equals, getCompletionTime, getDocument, getDocuments, getId, getOriginatingUsername, getPartitionKey, getProgress, getRetryCount, getSchedulePath, getSchedulingTime, getSpanFromContext, 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, workFailed
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.nuxeo.ecm.core.work.api.Work
isCoalescing, isGroupJoin, onGroupJoinCompletion
-
-
-
-
Field Detail
-
STORE_NAME
public static final String STORE_NAME
- See Also:
- Constant Field Values
-
documentId
protected final String documentId
-
xpath
protected final String xpath
-
blobPostProcessing
protected final boolean blobPostProcessing
-
sourceId
protected final String sourceId
-
-
Constructor Detail
-
PreviewWork
public PreviewWork(DocumentModel doc, String xpath, boolean blobPostProcessing)
-
-
Method Detail
-
getCategory
public String getCategory()
Description copied from interface:Work
Gets the category for this work.Used to choose an execution queue.
- Specified by:
getCategory
in interfaceWork
- Overrides:
getCategory
in classAbstractWork
- Returns:
- the category, or
null
for the default
-
getTitle
public String getTitle()
Description copied from interface:Work
Gets a human-readable name for this work instance.- Returns:
- a human-readable name
-
isIdempotent
public boolean isIdempotent()
Description copied from interface:Work
Returns true if a work with a givenWork.getId()
should always produce the same result. The WorkManager implementation can safely skip duplicate executions of idempotent work.
-
getPreview
public List<Blob> getPreview(Duration timeout) throws TimeoutException
- Throws:
TimeoutException
-
work
public void work()
Description copied from interface:Work
This method should implement the actual work done by theWork
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 callWork.isSuspending()
, and iftrue
callWork.suspended()
return early with saved state data.Clean up can by implemented by
Work.cleanUp(boolean, Exception)
.- Specified by:
work
in interfaceWork
- Specified by:
work
in classAbstractWork
- See Also:
Work.isSuspending()
,Work.suspended()
,Work.cleanUp(boolean, java.lang.Exception)
-
inError
protected void inError(String message)
-
getStore
protected static TransientStore getStore()
-
getSourceId
protected String getSourceId(DocumentModel doc)
Returns the identifier of the object to render, could be the main blob or a doc.
-
submitWork
protected void submitWork()
-
-