Class JsonAsyncProvisioningRequest

java.lang.Object
com.evolveum.midpoint.schema.messaging.JsonAsyncProvisioningRequest

@Experimental public class JsonAsyncProvisioningRequest extends Object

A simplified representation of a requested asynchronous provisioning operation. MidPoint offers two such built-in representations:

  1. AsyncProvisioningOperationRequestedType
  2. this class

The first one is a direct translation of the operation being requested. It is a Prism structure that can be serialized to any Prism language (XML, JSON, YAML, Axiom). However, it requires Prism implementation at the receiving side in order to be easily and completely parsed.

On the other hand, this class provides a simplified representation (or, better, a class of representations) of the asynchronous provisioning operation. It can be easily parsed by any JSON parser without the need of Prism functionality.

This class offers a basic structure for the request. It is up to the user how he/she decides to use it. For example, individual item and type names can be qualified or unqualified. "Replace-only" changes can be represented as attributes. And so on.

BEWARE: This class is very EXPERIMENTAL. It can change or disappear at any time.

  • Constructor Details

    • JsonAsyncProvisioningRequest

      public JsonAsyncProvisioningRequest()
  • Method Details

    • getOperation

      public String getOperation()
    • setOperation

      public void setOperation(String operation)
    • getObjectClass

      public String getObjectClass()
    • setObjectClass

      public void setObjectClass(String objectClass)
    • getAttributes

      public Map<String,Collection<?>> getAttributes()
    • setAttributes

      public void setAttributes(Map<String,Collection<?>> attributes)
    • addAttributes

      public void addAttributes(Map<String,Collection<?>> added)
    • getAttributesSimplified

      public Map<String,Object> getAttributesSimplified()
      Returns simplified version of the attributes map, suitable e.g. for presentation via Velocity. Each attribute with no values or one value is replaced by scalar, i.e. null or the single item. Attributes with multiple values are represented as lists.
    • getPrimaryIdentifiers

      public Map<String,Collection<?>> getPrimaryIdentifiers()
    • setPrimaryIdentifiers

      public void setPrimaryIdentifiers(Map<String,Collection<?>> primaryIdentifiers)
    • getSecondaryIdentifiers

      public Map<String,Collection<?>> getSecondaryIdentifiers()
    • setSecondaryIdentifiers

      public void setSecondaryIdentifiers(Map<String,Collection<?>> secondaryIdentifiers)
    • getChanges

    • setChanges

      public void setChanges(Map<String,JsonAsyncProvisioningRequest.DeltaValues> changes)
    • getAdditionalInformation

      public Object getAdditionalInformation()
    • setAdditionalInformation

      public void setAdditionalInformation(Object additionalInformation)
    • isAdd

      public boolean isAdd()
    • isModify

      public boolean isModify()
    • isDelete

      public boolean isDelete()
    • from

      public static JsonAsyncProvisioningRequest from(String req) throws com.fasterxml.jackson.core.JsonProcessingException
      Throws:
      com.fasterxml.jackson.core.JsonProcessingException