Class ItemProcessingRequest<I>

java.lang.Object
com.evolveum.midpoint.repo.common.activity.run.processing.ItemProcessingRequest<I>
All Implemented Interfaces:
AcknowledgementSink
Direct Known Subclasses:
ContainerableProcessingRequest, GenericProcessingRequest, SyncItemProcessingRequest

public abstract class ItemProcessingRequest<I> extends Object implements AcknowledgementSink

Holds an item that is scheduled for processing.

Besides the item itself it provides so called correlation value that is used to correctly order requests that relate to the same midPoint or resource object - for example, two async changes related to a given account.

  • Field Details

    • item

      @NotNull protected final I item
    • identifier

      @Experimental @NotNull protected final @NotNull String identifier
      Unique identifier of this request. Not to be confused with requestIdentifier used for auditing purposes! Most probably it will be replaced by something different.
  • Constructor Details

    • ItemProcessingRequest

      public ItemProcessingRequest(int sequentialNumber, @NotNull I item, @NotNull @NotNull IterativeActivityRun<I,?,?,?> activityRun)
  • Method Details

    • getSequentialNumber

      public int getSequentialNumber()
    • getItem

      @NotNull public I getItem()
    • getOperationExecutionRecordingTarget

      public abstract OperationExecutionRecorderForTasks.Target getOperationExecutionRecordingTarget()
      Returns:
      Object to which we will write an operation execution record (plus auxiliary information).
    • createRecordingTargetForObject

      @NotNull protected OperationExecutionRecorderForTasks.Target createRecordingTargetForObject(PrismObject<? extends ObjectType> object)
    • getObjectOidToRecordRetryTrigger

      public abstract String getObjectOidToRecordRetryTrigger()
      Returns:
      OID of object to which we put a trigger causing operation retry (if known)
    • getIterationItemInformation

      @NotNull public abstract @NotNull IterationItemInformation getIterationItemInformation()
    • process

      public boolean process(RunningTask workerTask, OperationResult result)
    • getRootTaskOid

      @NotNull protected @NotNull String getRootTaskOid()
    • getType

      @NotNull protected @NotNull QName getType(@NotNull @NotNull PrismObject<?> object)
    • getType

      @NotNull protected @NotNull QName getType(@NotNull @NotNull Containerable value)
    • getItemOid

      @Nullable public abstract @Nullable String getItemOid()
      OID of the object connected to the item being processed (usually the object itself or related shadow). TODO reconsider
    • getSynchronizationSituationOnProcessingStart

      @Nullable public abstract @Nullable SynchronizationSituationType getSynchronizationSituationOnProcessingStart()
      TODO reconsider
    • getIdentifier

      @NotNull public @NotNull String getIdentifier()
    • toString

      public String toString()
      Overrides:
      toString in class Object