public class IndexingTask
extends java.lang.Object
Created: November 23 2011
Modifier and Type | Class and Description |
---|---|
static interface |
IndexingTask.StatusReporter
Report the number of success and failures sending records/items.
|
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
CLASS_VERSION
Class version string
|
protected Status |
mStatus |
protected java.lang.Object |
mStatusLock
Lock to use for checking/updating status.
|
static java.lang.ThreadLocal<IndexingTask> |
sCurrentTaskThreadLocal |
Constructor and Description |
---|
IndexingTask(Indexable pIndexable)
Create a new instance that uses the specified Indexable to do its work.
|
Modifier and Type | Method and Description |
---|---|
void |
addActiveStatusReporter(IndexingTask.StatusReporter pStatusReporter)
Add an active status reporter to be able to report
running successes/failures.
|
void |
cancelIfPending()
Cancel this job if it is in state pending.
|
protected void |
cancelTask() |
protected void |
doCancel()
Actually do the cancel, called by signalShouldCancel.
|
protected void |
doPostIndexingCleanup(boolean pSuccess)
Actually do any post indexing cleanup.
|
protected void |
doTask()
Actually do all the work of the task.
|
java.util.List<IndexingTask.StatusReporter> |
getActiveStatusReporters()
Returns property activeStatusReporters.
|
java.util.Map<java.lang.String,java.lang.Object> |
getAttributes()
Returns property attributes.
|
static IndexingTask |
getCurrentIndexingTask()
Get the current indexing task for the current thread, if any.
|
long |
getFailureCount()
Returns property failureCount.
|
Indexable |
getIndexable()
Returns property indexable.
|
java.lang.String |
getIndexablePath()
Return the indexablePath property.
|
IndexingJob |
getIndexingJob()
Returns property indexingJob.
|
java.util.Set<java.lang.String> |
getIndexingOutputConfigPaths()
Return the set of IndexingOutputConfigs associated with this Indexable.
|
IndexingPhase |
getIndexingPhase()
Returns property indexingPhase.
|
atg.repository.search.indexing.LoaderResults |
getLoaderResults()
Returns property loaderResults.
|
Status |
getStatus()
Returns property status.
|
java.lang.Boolean |
getSuccess()
Returns property success.
|
long |
getSuccessCount()
Returns property successCount.
|
void |
incrementFailureCount() |
void |
incrementSuccessCount() |
protected void |
internalSetCancelRequested(boolean pCancelRequested)
Sets property cancelRequested.
|
protected void |
internalSetStatus(Status pStatus) |
protected void |
internalSetSuccess(java.lang.Boolean pSuccess)
Sets property success.
|
boolean |
isCancelRequested()
Returns property cancelRequested.
|
boolean |
isSupportsStatusCounts()
Whether this task supports status counts (for admin UI).
|
protected boolean |
mayNeedCleanup()
Whether or not this task may need cleanup, in which case
postIndexingCleanup should be invoked at the end of this task.
|
void |
performTask()
Perform the task.
|
void |
postIndexingCleanup(boolean pSuccess)
Do any final clean-up for this task.
|
void |
removeActiveStatusReporter(IndexingTask.StatusReporter pStatusReporter)
Remove the active status reporter.
|
void |
removeAllActiveStatusReporters() |
void |
setIndexable(Indexable pIndexable)
Sets property indexable.
|
void |
setIndexingJob(IndexingJob pIndexingJob)
Sets property indexingJob.
|
void |
setIndexingPhase(IndexingPhase pIndexingPhase)
Sets property indexingPhase.
|
void |
setLoaderResults(atg.repository.search.indexing.LoaderResults pLoaderResults)
Sets property loaderResults.
|
protected void |
signalShouldCancel()
Should signal that this task should cancel.
|
public static java.lang.String CLASS_VERSION
protected java.lang.Object mStatusLock
public static java.lang.ThreadLocal<IndexingTask> sCurrentTaskThreadLocal
protected Status mStatus
public IndexingTask(Indexable pIndexable)
public void setIndexingJob(IndexingJob pIndexingJob)
public IndexingJob getIndexingJob()
public void setIndexingPhase(IndexingPhase pIndexingPhase)
public IndexingPhase getIndexingPhase()
public Status getStatus()
protected void internalSetStatus(Status pStatus)
protected void internalSetCancelRequested(boolean pCancelRequested)
public boolean isCancelRequested()
public void setIndexable(Indexable pIndexable)
public Indexable getIndexable()
public java.lang.String getIndexablePath()
protected void internalSetSuccess(java.lang.Boolean pSuccess)
public java.lang.Boolean getSuccess()
public void setLoaderResults(atg.repository.search.indexing.LoaderResults pLoaderResults)
public atg.repository.search.indexing.LoaderResults getLoaderResults()
public long getSuccessCount()
public void incrementSuccessCount()
public long getFailureCount()
public void incrementFailureCount()
public java.util.List<IndexingTask.StatusReporter> getActiveStatusReporters()
public java.util.Map<java.lang.String,java.lang.Object> getAttributes()
public void addActiveStatusReporter(IndexingTask.StatusReporter pStatusReporter)
public void removeActiveStatusReporter(IndexingTask.StatusReporter pStatusReporter)
public void removeAllActiveStatusReporters()
public void performTask() throws IndexingException
IndexingException
protected boolean mayNeedCleanup()
protected void doTask() throws IndexingException
IndexingException
protected void cancelTask()
protected void signalShouldCancel()
protected void doCancel() throws IndexingException
IndexingException
public void postIndexingCleanup(boolean pSuccess) throws IndexingException
pSuccess
- whetehr or not everything has been successful, thus far.IndexingException
public void cancelIfPending()
public static IndexingTask getCurrentIndexingTask()
protected void doPostIndexingCleanup(boolean pSuccess) throws IndexingException
IndexingException
public boolean isSupportsStatusCounts()
public java.util.Set<java.lang.String> getIndexingOutputConfigPaths()