Interface MidpointFunctions
- All Known Implementing Classes:
MidpointFunctionsImpl
-
Nested Class Summary
-
Field Summary
-
Method Summary
Modifier and TypeMethodDescription<T extends ObjectType>
StringaddObject
(PrismObject<T> newObject) <T extends ObjectType>
StringaddObject
(PrismObject<T> newObject, ModelExecuteOptions options) <T extends ObjectType>
StringaddObject
(T newObject) <T extends ObjectType>
StringaddObject
(T newObject, ModelExecuteOptions options) default <O extends ObjectType>
voidaddRecomputeTrigger
(PrismObject<O> object, Long timestamp) <O extends ObjectType>
voidaddRecomputeTrigger
(PrismObject<O> object, Long timestamp, MidpointFunctions.TriggerCustomizer triggerCustomizer) default <O extends ObjectType>
voidaddRecomputeTrigger
(O object, Long timestamp) default <O extends ObjectType>
voidaddRecomputeTrigger
(O object, Long timestamp, MidpointFunctions.TriggerCustomizer triggerCustomizer) <T extends ObjectType>
voidapplyDefinition
(T object) @NotNull Collection<PrismValue>
collectAssignedFocusMappingsResults
(@NotNull ItemPath path) Returns all non-negative values from all focus mappings (targeted to given path) from all non-negative evaluated assignments.collectExtensions
(AssignmentPathType path, int startAt) <F extends FocusType>
ShadowPurposeTypecomputeDefaultProjectionPurpose
(F focus, ShadowType shadow, ResourceType resource) Default function used to compute projection purpose.<T> Integer
countAccounts
(ResourceType resourceType, String attributeName, T attributeValue) A variant ofcountAccounts(String, QName, Object)
.<T> Integer
countAccounts
(ResourceType resourceType, QName attributeName, T attributeValue) A variant ofcountAccounts(String, QName, Object)
.<T> Integer
countAccounts
(String resourceOid, QName attributeName, T attributeValue) Counts accounts having `attributeValue` of `attributeName`.<T extends ObjectType>
intcountObjects
(Class<T> type, ObjectQuery query) Count objects.<T extends ObjectType>
intcountObjects
(Class<T> type, ObjectQuery query, Collection<SelectorOptions<GetOperationOptions>> options) Count objects.createAccountActivationLink
(UserType userType) <T extends ObjectType>
TcreateEmptyObject
(Class<T> type) Creates empty prism object of specified type in memory.<T extends ObjectType>
TcreateEmptyObjectWithName
(Class<T> type, PolyString name) Creates empty prism object of specified type and with specified name in memory.<T extends ObjectType>
TcreateEmptyObjectWithName
(Class<T> type, PolyStringType name) Creates empty prism object of specified type and with specified name in memory.<T extends ObjectType>
TcreateEmptyObjectWithName
(Class<T> type, String name) Creates empty prism object of specified type and with specified name in memory.createInvitationLink
(UserType userType) createPasswordResetLink
(UserType userType) void
createRecomputeTrigger
(Class<? extends ObjectType> type, String oid) Goes directly to repository service.createRegistrationConfirmationLink
(UserType userType) @Nullable String
createWorkItemCompletionLink
(@NotNull WorkItemId workItemId) Returns a link where given work item can be completed.<T extends ObjectType>
voiddeleteObject
(Class<T> type, String oid) <T extends ObjectType>
voiddeleteObject
(Class<T> type, String oid, ModelExecuteOptions options) <C extends Containerable>
S_ItemEntrydefault String
Synonym fordescribeResourceObjectSetShort(ResourceObjectSetType)
, mainly for compatibility reasons.Returns longer version of human-readable description of the resource object set: .Short version ofdescribeResourceObjectSetLong(ResourceObjectSetType)
: .executeAdHocProvisioningScript
(ResourceType resource, String language, String code) executeAdHocProvisioningScript
(String resourceOid, String language, String code) void
executeChanges
(ObjectDelta<? extends ObjectType>... deltas) Execute the provided object deltas.void
executeChanges
(Collection<ObjectDelta<? extends ObjectType>> deltas) Execute the provided object deltas.void
executeChanges
(Collection<ObjectDelta<? extends ObjectType>> deltas, ModelExecuteOptions options) Execute the provided object deltas.executeChangesAsynchronously
(Collection<ObjectDelta<?>> deltas, ModelExecuteOptions options, String templateTaskOid) executeChangesAsynchronously
(Collection<ObjectDelta<?>> deltas, ModelExecuteOptions options, String templateTaskOid, Task opTask, OperationResult result) findCandidateOwners
(@NotNull Class<F> focusType, @NotNull ShadowType resourceObject, @NotNull String resourceOid, @NotNull ShadowKindType kind, @NotNull String intent) Finds candidate owners using defined correlation rules.<O extends ObjectType>
ArchetypeTypegetArchetype
(O object) Deprecated.<O extends ObjectType>
StringgetArchetypeOid
(O object) Deprecated.getArchetypeOids
(ObjectType object) Returns a list of archetype OIDs for given object.<O extends ObjectType>
@NotNull List<ArchetypeType>getArchetypes
(O object) <T> @NotNull ResourceAttributeDefinition<T>
getAttributeDefinition
(PrismObject<ResourceType> resource, String objectClassName, String attributeName) <T> @NotNull ResourceAttributeDefinition<T>
getAttributeDefinition
(PrismObject<ResourceType> resource, QName objectClassName, QName attributeName) @Nullable CaseType
getCorrelationCaseForShadow
(@Nullable ShadowType shadow) Returns a correlation case for given shadow.getCurrentResult
(String operationName) Just a convenience method to allow writing `midpoint.evaluateNew` even after Groovy upgrade in 4.8.<F extends ObjectType>
ModelElementContext<F>getFocusesByCorrelationRule
(Class<F> type, String resourceOid, ShadowKindType kind, String intent, ShadowType shadow) Deprecated.default ShadowType
getLinkedShadow
(FocusType focus, ResourceType resource) default ShadowType
getLinkedShadow
(FocusType focus, ResourceType resource, boolean repositoryObjectOnly) default ShadowType
getLinkedShadow
(FocusType focus, String resourceOid) default ShadowType
getLinkedShadow
(FocusType focus, String resourceOid, boolean repositoryObjectOnly) default ShadowType
getLinkedShadow
(FocusType focus, String resourceOid, ShadowKindType kind, String intent) getLinkedShadow
(FocusType focus, String resourceOid, ShadowKindType kind, String intent, boolean repositoryObjectOnly) Null values of resource oid, kind, and intent mean "any".default @NotNull List<ShadowType>
getLinkedShadows
(FocusType focus, String resourceOid) @NotNull List<ShadowType>
getLinkedShadows
(FocusType focus, String resourceOid, boolean repositoryObjectOnly) getManagers
(UserType user) getManagers
(UserType user, String orgType, boolean allowSelf) getManagersByOrgType
(UserType user, String orgType) getManagersOfOrg
(String orgOid) getManagersOids
(UserType user) getManagersOidsExceptUser
(@NotNull Collection<ObjectReferenceType> userRefList) <V extends PrismValue,
D extends ItemDefinition<?>>
Mapping<V,D> getMembers
(String orgOid) getMembersAsReferences
(String orgOid) <F extends ObjectType>
ModelContext<F><T extends ObjectType>
TReturns object for provided OID.<T extends ObjectType>
TgetObject
(Class<T> type, String oid, Collection<SelectorOptions<GetOperationOptions>> options) Returns object for provided OID.<O extends ObjectType,
T>
List<O>getObjectsInConflictOnPropertyValue
(O objectType, String propertyPathString, T propertyValue, boolean getAllConflicting) @NotNull OptimizingTriggerCreator
getOptimizingTriggerCreator
(long fireAfter, long safetyMargin) getOrgByName
(String name) getOrgByOid
(String oid) getOrgUnits
(UserType user) getOrgUnits
(UserType user, QName relation) getParentOrgByArchetype
(ObjectType object, String archetypeOid) Returns parent org of the specified object that have a specific archetype.getParentOrgByOrgType
(ObjectType object, String orgType) Returns parent org of the specified object that have a specific orgType.getParentOrgs
(ObjectType object) Returns all parent orgs of the specified object.getParentOrgs
(ObjectType object, String relation, String orgType) Returns parent orgs of the specified object that have a specific relation and orgType.getParentOrgs
(ObjectType object, QName relation, String orgType) Returns parent orgs of the specified object that have a specific relation and orgType.getParentOrgsByRelation
(ObjectType object, String relation) Returns parent orgs of the specified object that have a specific relation.getParentOrgsByRelation
(ObjectType object, QName relation) Returns parent orgs of the specified object that have a specific relation.getPlaintextAccountPassword
(ShadowType account) getPlaintextAccountPasswordFromDelta
(ObjectDelta<? extends ShadowType> delta) getPlaintextUserPasswordFromDeltas
(List<ObjectDelta<? extends FocusType>> deltas) Returns principal representing the user whose identity is used to execute the expression.Returns OID of the current principal.getResourceDelta
(ModelContext<?> context, String resourceOid) Returns aggregated delta that is to be executed on a given resource.long
getSequenceCounter
(String sequenceOid) Uses repository service directly, bypassing authorization checking.getShadowsToActivate
(Collection<? extends ModelProjectionContext> projectionContexts) Used for account activation notifier to collect all shadows which are going to be activated.<O extends AssignmentHolderType>
@Nullable ArchetypeTypegetStructuralArchetype
(O object) Returns the structural archetype for the object, possibly `null`.getUserByOid
(String oid) Uses repository service directly, bypassing authorization checking.default <O extends ObjectType>
booleanhasArchetype
(O object, String archetypeOid) <F extends ObjectType>
booleanhasLinkedAccount
(String resourceOid) boolean
Returns `true` if the current clockwork operation brings the projection into existence and being effectively enabled, i.e.boolean
Returns `true` if the current clockwork operation causes the current projection to have `administrativeState` switched to a disabled value (e.g.boolean
Returns `true` if the current clockwork operation causes the current projection to have `administrativeState` switched toActivationStatusType.ENABLED
.boolean
Returns `true` if the current clockwork operation deletes the projection or effectively disables it, i.e.boolean
isDirectlyAssigned
(ObjectType target) <F extends FocusType>
booleanisDirectlyAssigned
(F focusType, ObjectType target) <F extends FocusType>
booleanisDirectlyAssigned
(F focus, String targetOid) Returns `true` if `focus` has a `assignment` with `targetRef.OID` being equal to `targetOid`.boolean
isDirectlyAssigned
(String targetOid) default boolean
isEffectivelyEnabled
(@Nullable ObjectType object) Returns true if the object is effectively enabled.Returns indication whether a script code is evaluating a new value.boolean
Does the current clockwork operation bring the focus into existence and being effectively enabled? (So, previously it was either non-existent or effectively disabled.)boolean
Does the current clockwork operation delete or effectively disable the focus? (So, previously it existed and was effectively enabled.)boolean
boolean
Returns true if user is a manager of any organizational unit.boolean
isManagerOf
(UserType user, String orgOid) Returns true if user is a manager of specified organizational unit.boolean
isManagerOfOrgType
(UserType user, String orgType) boolean
isMemberOf
(UserType user, String orgOid) boolean
<T> boolean
isUniqueAccountValue
(ResourceType resourceType, ShadowType shadowType, String attributeName, T attributeValue) Checks if the value `attributeValue` of `attributeName` in given shadow is unique on given resource.<T> boolean
isUniquePropertyValue
(ObjectType objectType, String propertyPathString, T propertyValue) <T extends ObjectType>
voidmodifyObject
(ObjectDelta<T> modifyDelta) <T extends ObjectType>
voidmodifyObject
(ObjectDelta<T> modifyDelta, ModelExecuteOptions options) parseXmlToMap
(String xml) Returns a map from the translated xml attribute - value pairs.<T> PreparedQuery<T>
preparedQueryFor
(Class<T> type, String query) <F extends ObjectType>
ModelContext<F>previewChanges
(Collection<ObjectDelta<? extends ObjectType>> deltas, ModelExecuteOptions options) <F extends ObjectType>
ModelContext<F>previewChanges
(Collection<ObjectDelta<? extends ObjectType>> deltas, ModelExecuteOptions options, OperationResult result) <T> TypedQuery<T>
<F extends FocusType>
voidRecomputes focal object with the specified OID.resolveEntitlement
(ShadowAssociationType shadowAssociationType) <T extends ObjectType>
TresolveReference
(ObjectReferenceType reference) <T extends ObjectType>
TresolveReferenceIfExists
(ObjectReferenceType reference) <T extends ObjectType>
TsearchObjectByName
(Class<T> type, PolyString name) Search for objects by name.<T extends ObjectType>
TsearchObjectByName
(Class<T> type, PolyStringType name) Search for objects by name.<T extends ObjectType>
TsearchObjectByName
(Class<T> type, String name) Search for objects by name.<T extends ObjectType>
List<T>searchObjects
(TypedQuery<T> query) <T extends ObjectType>
List<T>searchObjects
(Class<T> type, ObjectQuery query) Search for objects.<T extends ObjectType>
List<T>searchObjects
(Class<T> type, ObjectQuery query, Collection<SelectorOptions<GetOperationOptions>> options) Search for objects.<T extends ObjectType>
voidsearchObjectsIterative
(Class<T> type, ObjectQuery query, ResultHandler<T> handler) Search for objects in iterative fashion (using callback).<T extends ObjectType>
voidsearchObjectsIterative
(Class<T> type, ObjectQuery query, ResultHandler<T> handler, Collection<SelectorOptions<GetOperationOptions>> options) Search for objects in iterative fashion (using callback).<F extends FocusType>
PrismObject<F>searchShadowOwner
(String accountOid) selectIdentityItemValues
(@Nullable Collection<FocusIdentityType> identities, @Nullable FocusIdentitySourceType source, @NotNull ItemPath itemPath) Selects specified values from all relevant identity data.@NotNull String
submitTaskFromTemplate
(@NotNull String templateOid, @NotNull ActivityCustomization customization) Submits a task from template (pointed to by `templateOid`), customizing it according to givenActivityCustomization
.submitTaskFromTemplate
(String templateTaskOid, List<Item<?, ?>> extensionItems) Deprecated.submitTaskFromTemplate
(String templateTaskOid, Map<QName, Object> extensionValues) Deprecated.testResource
(String resourceOid) Test the resource connection and basic resource connector functionality.translate
(LocalizableMessage message) translate
(LocalizableMessage message, boolean useDefaultLocale) Translates message parameter.translate
(LocalizableMessageType message) translate
(LocalizableMessageType message, boolean useDefaultLocale) Translates message parameter.ModelContext<?>
unwrapModelContext
(LensContextType lensContextType) wrapModelContext
(ModelContext<?> lensContext)
-
Field Details
-
LOGGER
-
-
Method Details
-
createEmptyObject
Creates empty prism object of specified type in memory. This is used to construct Java instances of object before they are added to the repository.
Please note that this method constructs the object in memory only. If you intend to create an object in repository or on the resource you need to populate this object with data and then invoke the addObject or executeChanges method.
- Parameters:
type
- Class of the object to create- Returns:
- empty object in memory
- Throws:
SchemaException
- schema error instantiating the object (e.g. attempt to instantiate abstract type).
-
createEmptyObjectWithName
<T extends ObjectType> T createEmptyObjectWithName(Class<T> type, String name) throws SchemaException Creates empty prism object of specified type and with specified name in memory. This is used to construct Java instances of object before they are added to the repository. The 'name' property of the new object will be set to a specified value.
Please note that this method constructs the object in memory only. If you intend to create an object in repository or on the resource you need to populate this object with data and then invoke the addObject or executeChanges method.
- Parameters:
type
- Class of the object to createname
- Name of the object- Returns:
- empty object in memory
- Throws:
SchemaException
- schema error instantiating the object (e.g. attempt to instantiate abstract type).
-
createEmptyObjectWithName
<T extends ObjectType> T createEmptyObjectWithName(Class<T> type, PolyString name) throws SchemaException Creates empty prism object of specified type and with specified name in memory. This is used to construct Java instances of object before they are added to the repository. The 'name' property of the new object will be set to a specified value.
Please note that this method constructs the object in memory only. If you intend to create an object in repository or on the resource you need to populate this object with data and then invoke the addObject or executeChanges method.
- Parameters:
type
- Class of the object to createname
- Name of the object- Returns:
- empty object in memory
- Throws:
SchemaException
- schema error instantiating the object (e.g. attempt to instantiate abstract type).
-
createEmptyObjectWithName
<T extends ObjectType> T createEmptyObjectWithName(Class<T> type, PolyStringType name) throws SchemaException Creates empty prism object of specified type and with specified name in memory. This is used to construct Java instances of object before they are added to the repository. The 'name' property of the new object will be set to a specified value.
Please note that this method constructs the object in memory only. If you intend to create an object in repository or on the resource you need to populate this object with data and then invoke the addObject or executeChanges method.
- Parameters:
type
- Class of the object to createname
- Name of the object- Returns:
- empty object in memory
- Throws:
SchemaException
- schema error instantiating the object (e.g. attempt to instantiate abstract type).
-
resolveReference
<T extends ObjectType> T resolveReference(ObjectReferenceType reference) throws ObjectNotFoundException, SchemaException, CommunicationException, ConfigurationException, SecurityViolationException, ExpressionEvaluationException -
resolveReferenceIfExists
<T extends ObjectType> T resolveReferenceIfExists(ObjectReferenceType reference) throws SchemaException, CommunicationException, ConfigurationException, SecurityViolationException, ExpressionEvaluationException -
getObject
<T extends ObjectType> T getObject(Class<T> type, String oid, Collection<SelectorOptions<GetOperationOptions>> options) throws ObjectNotFoundException, SchemaException, CommunicationException, ConfigurationException, SecurityViolationException, ExpressionEvaluationException Returns object for provided OID. It retrieves the object from an appropriate source for an object type (e.g. internal repository, resource or both), merging data as necessary, processing any policies, caching mechanisms, etc. This can be influenced by using options.
Fails if object with the OID does not exist.
- Parameters:
type
- (class) of an object to getoid
- OID of the object to getoptions
- options influencing the retrieval and processing of the object- Returns:
- Retrieved object
- Throws:
ObjectNotFoundException
- requested object does not existSchemaException
- the object is not schema compliantSecurityViolationException
- Security violation during operation execution. May be caused either by midPoint internal security mechanism but also by external mechanism (e.g. on the resource)CommunicationException
- Communication (network) error during retrieval. E.g. error communicating with the resourceConfigurationException
- Configuration error. E.g. misconfigured resource parameters, invalid policies, etc.IllegalArgumentException
- missing required parameter, wrong OID format, etc.ClassCastException
- OID represents object of a type incompatible with requested typeSystemException
- unknown error from underlying layers or other unexpected stateExpressionEvaluationException
-
getObject
<T extends ObjectType> T getObject(Class<T> type, String oid) throws ObjectNotFoundException, SchemaException, CommunicationException, ConfigurationException, SecurityViolationException, ExpressionEvaluationException Returns object for provided OID. It retrieves the object from an appropriate source for an object type (e.g. internal repository, resource or both), merging data as necessary, processing any policies, caching mechanisms, etc.
Fails if object with the OID does not exist.
- Parameters:
type
- (class) of an object to getoid
- OID of the object to get- Returns:
- Retrieved object
- Throws:
ObjectNotFoundException
- requested object does not existSchemaException
- the object is not schema compliantSecurityViolationException
- Security violation during operation execution. May be caused either by midPoint internal security mechanism but also by external mechanism (e.g. on the resource)CommunicationException
- Communication (network) error during retrieval. E.g. error communicating with the resourceConfigurationException
- Configuration error. E.g. misconfigured resource parameters, invalid policies, etc.IllegalArgumentException
- missing required parameter, wrong OID format, etc.ClassCastException
- OID represents object of a type incompatible with requested typeSystemException
- unknown error from underlying layers or other unexpected stateExpressionEvaluationException
-
executeChanges
void executeChanges(Collection<ObjectDelta<? extends ObjectType>> deltas, ModelExecuteOptions options) throws ObjectAlreadyExistsException, ObjectNotFoundException, SchemaException, ExpressionEvaluationException, CommunicationException, ConfigurationException, PolicyViolationException, SecurityViolationException Execute the provided object deltas.
The operation executes the provided object deltas. All deltas must relate to analogous objects (e.g. user and linked accounts). The implementation may throw an error if the objects are not analogous. The implementation also implicitly links the objects (mark them to be analogous) if such a link is part of the data model. E.g. the implementation links all accounts to the user if they are passed in a single delta collection. This is especially useful if the account deltas are ADD deltas without OID and therefore cannot be linked explicitly.
There must be no more than one delta for each object. The order of execution is not defined and the implementation is free to determine the correct or most suitable ordering.
The OID provided in ADD deltas may be empty. In that case the OID will be assigned by the implementation and the OIDs will be set in the deltas after the operation is completed.
Execution of ADD deltas should fail if such object already exists (if object with the provided OID already exists). Execution of MODIFY and DELETE deltas should fail if such objects do not exist.
The operation may fail if provided OIDs are in an unusable format for the storage. Generating own OIDs and providing them to this method is not recommended for normal operation.
There are no explicit atomicity guarantees for the operations. Some of the operations may pass, some may fail or even fail partially. The consistency of the data and state are not based on operation atomicity but rather a data model that can "repair" inconsistencies.
The operation may fail if any of the objects to be created or modified does not conform to the underlying schema of the storage system or the schema enforced by the implementation.
- Parameters:
deltas
- Collection of object deltas to executeoptions
- options influencing processing of the deltas- Throws:
ObjectAlreadyExistsException
- object with specified identifiers already exists, cannot addObjectNotFoundException
- object required to complete the operation was not found (e.g. appropriate connector or resource definition)SchemaException
- error dealing with resource schema, e.g. created object does not conform to schemaExpressionEvaluationException
- evaluation of expression associated with the object has failedCommunicationException
- Communication (network) error during retrieval. E.g. error communicating with the resourceConfigurationException
- Configuration error. E.g. misconfigured resource parameters, invalid policies, etc.PolicyViolationException
- Policy violation was detected during processing of the objectSecurityViolationException
- Security violation during operation execution. May be caused either by midPoint internal security mechanism but also by external mechanism (e.g. on the resource)IllegalArgumentException
- wrong OID format, etc.SystemException
- unknown error from underlying layers or other unexpected state
-
executeChanges
void executeChanges(Collection<ObjectDelta<? extends ObjectType>> deltas) throws ObjectAlreadyExistsException, ObjectNotFoundException, SchemaException, ExpressionEvaluationException, CommunicationException, ConfigurationException, PolicyViolationException, SecurityViolationException Execute the provided object deltas.
The operation executes the provided object deltas. All deltas must relate to analogous objects (e.g. user and linked accounts). The implementation may throw an error if the objects are not analogous. The implementation also implicitly links the objects (mark them to be analogous) if such a link is part of the data model. E.g. the implementation links all accounts to the user if they are passed in a single delta collection. This is especially useful if the account deltas are ADD deltas without OID and therefore cannot be linked explicitly.
There must be no more than one delta for each object. The order of execution is not defined and the implementation is free to determine the correct or most suitable ordering.
The OID provided in ADD deltas may be empty. In that case the OID will be assigned by the implementation and the OIDs will be set in the deltas after the operation is completed.
Execution of ADD deltas should fail if such object already exists (if object with the provided OID already exists). Execution of MODIFY and DELETE deltas should fail if such objects do not exist.
The operation may fail if provided OIDs are in an unusable format for the storage. Generating own OIDs and providing them to this method is not recommended for normal operation.
There are no explicit atomicity guarantees for the operations. Some of the operations may pass, some may fail or even fail partially. The consistency of the data and state are not based on operation atomicity but rather a data model that can "repair" inconsistencies.
The operation may fail if any of the objects to be created or modified does not conform to the underlying schema of the storage system or the schema enforced by the implementation.
- Parameters:
deltas
- Collection of object deltas to execute- Throws:
ObjectAlreadyExistsException
- object with specified identifiers already exists, cannot addObjectNotFoundException
- object required to complete the operation was not found (e.g. appropriate connector or resource definition)SchemaException
- error dealing with resource schema, e.g. created object does not conform to schemaExpressionEvaluationException
- evaluation of expression associated with the object has failedCommunicationException
- Communication (network) error during retrieval. E.g. error communicating with the resourceConfigurationException
- Configuration error. E.g. misconfigured resource parameters, invalid policies, etc.PolicyViolationException
- Policy violation was detected during processing of the objectSecurityViolationException
- Security violation during operation execution. May be caused either by midPoint internal security mechanism but also by external mechanism (e.g. on the resource)IllegalArgumentException
- wrong OID format, etc.SystemException
- unknown error from underlying layers or other unexpected state
-
executeChanges
void executeChanges(ObjectDelta<? extends ObjectType>... deltas) throws ObjectAlreadyExistsException, ObjectNotFoundException, SchemaException, ExpressionEvaluationException, CommunicationException, ConfigurationException, PolicyViolationException, SecurityViolationException Execute the provided object deltas.
The operation executes the provided object deltas. All deltas must relate to analogous objects (e.g. user and linked accounts). The implementation may throw an error if the objects are not analogous. The implementation also implicitly links the objects (mark them to be analogous) if such a link is part of the data model. E.g. the implementation links all accounts to the user if they are passed in a single delta collection. This is especially useful if the account deltas are ADD deltas without OID and therefore cannot be linked explicitly.
There must be no more than one delta for each object. The order of execution is not defined and the implementation is free to determine the correct or most suitable ordering.
The OID provided in ADD deltas may be empty. In that case the OID will be assigned by the implementation and the OIDs will be set in the deltas after the operation is completed.
Execution of ADD deltas should fail if such object already exists (if object with the provided OID already exists). Execution of MODIFY and DELETE deltas should fail if such objects do not exist.
The operation may fail if provided OIDs are in an unusable format for the storage. Generating own OIDs and providing them to this method is not recommended for normal operation.
There are no explicit atomicity guarantees for the operations. Some of the operations may pass, some may fail or even fail partially. The consistency of the data and state are not based on operation atomicity but rather a data model that can "repair" inconsistencies.
The operation may fail if any of the objects to be created or modified does not conform to the underlying schema of the storage system or the schema enforced by the implementation.
- Parameters:
deltas
- Collection of object deltas to execute- Throws:
ObjectAlreadyExistsException
- object with specified identifiers already exists, cannot addObjectNotFoundException
- object required to complete the operation was not found (e.g. appropriate connector or resource definition)SchemaException
- error dealing with resource schema, e.g. created object does not conform to schemaExpressionEvaluationException
- evaluation of expression associated with the object has failedCommunicationException
- Communication (network) error during retrieval. E.g. error communicating with the resourceConfigurationException
- Configuration error. E.g. misconfigured resource parameters, invalid policies, etc.PolicyViolationException
- Policy violation was detected during processing of the objectSecurityViolationException
- Security violation during operation execution. May be caused either by midPoint internal security mechanism but also by external mechanism (e.g. on the resource)IllegalArgumentException
- wrong OID format, etc.SystemException
- unknown error from underlying layers or other unexpected state
-
addObject
<T extends ObjectType> String addObject(PrismObject<T> newObject, ModelExecuteOptions options) throws ObjectAlreadyExistsException, ObjectNotFoundException, SchemaException, ExpressionEvaluationException, CommunicationException, ConfigurationException, PolicyViolationException, SecurityViolationException -
addObject
<T extends ObjectType> String addObject(PrismObject<T> newObject) throws ObjectAlreadyExistsException, ObjectNotFoundException, SchemaException, ExpressionEvaluationException, CommunicationException, ConfigurationException, PolicyViolationException, SecurityViolationException -
addObject
<T extends ObjectType> String addObject(T newObject, ModelExecuteOptions options) throws ObjectAlreadyExistsException, ObjectNotFoundException, SchemaException, ExpressionEvaluationException, CommunicationException, ConfigurationException, PolicyViolationException, SecurityViolationException -
addObject
<T extends ObjectType> String addObject(T newObject) throws ObjectAlreadyExistsException, ObjectNotFoundException, SchemaException, ExpressionEvaluationException, CommunicationException, ConfigurationException, PolicyViolationException, SecurityViolationException -
modifyObject
<T extends ObjectType> void modifyObject(ObjectDelta<T> modifyDelta, ModelExecuteOptions options) throws ObjectAlreadyExistsException, ObjectNotFoundException, SchemaException, ExpressionEvaluationException, CommunicationException, ConfigurationException, PolicyViolationException, SecurityViolationException -
modifyObject
<T extends ObjectType> void modifyObject(ObjectDelta<T> modifyDelta) throws ObjectAlreadyExistsException, ObjectNotFoundException, SchemaException, ExpressionEvaluationException, CommunicationException, ConfigurationException, PolicyViolationException, SecurityViolationException -
deleteObject
<T extends ObjectType> void deleteObject(Class<T> type, String oid, ModelExecuteOptions options) throws ObjectAlreadyExistsException, ObjectNotFoundException, SchemaException, ExpressionEvaluationException, CommunicationException, ConfigurationException, PolicyViolationException, SecurityViolationException -
deleteObject
<T extends ObjectType> void deleteObject(Class<T> type, String oid) throws ObjectAlreadyExistsException, ObjectNotFoundException, SchemaException, ExpressionEvaluationException, CommunicationException, ConfigurationException, PolicyViolationException, SecurityViolationException -
recompute
<F extends FocusType> void recompute(Class<F> type, String oid) throws SchemaException, PolicyViolationException, ExpressionEvaluationException, ObjectNotFoundException, ObjectAlreadyExistsException, CommunicationException, ConfigurationException, SecurityViolationException Recomputes focal object with the specified OID. The operation considers all the applicable policies and mapping and tries to re-apply them as necessary.- Parameters:
type
- type (class) of an object to recomputeoid
- OID of the object to recompute- Throws:
SchemaException
PolicyViolationException
ExpressionEvaluationException
ObjectNotFoundException
ObjectAlreadyExistsException
CommunicationException
ConfigurationException
SecurityViolationException
-
searchShadowOwner
<F extends FocusType> PrismObject<F> searchShadowOwner(String accountOid) throws ObjectNotFoundException, SecurityViolationException, SchemaException, ConfigurationException, ExpressionEvaluationException, CommunicationException -
searchObjects
<T extends ObjectType> List<T> searchObjects(Class<T> type, ObjectQuery query, Collection<SelectorOptions<GetOperationOptions>> options) throws SchemaException, ObjectNotFoundException, SecurityViolationException, CommunicationException, ConfigurationException, ExpressionEvaluationException Search for objects.
Searches through all object of a specified type. Returns a list of objects that match search criteria.
Note that this method has a very limited scaling capability as all the results are stored in the memory. DO NOT USE on large datasets. Recommended usage is only when using queries that cannot return large number of results (e.g. queries for unique values) or when combined with paging capability. For other cases use searchObjectsIterative instead.
Returns empty list if object type is correct but there are no objects of that type. Fails if object type is wrong. Should fail if unknown property is specified in the query.
- Parameters:
type
- (class) of an object to searchquery
- search queryoptions
- options influencing the retrieval and processing of the objects- Returns:
- all objects of specified type that match search criteria (subject to paging)
- Throws:
SchemaException
- unknown property used in search queryObjectNotFoundException
- object required for a search was not found (e.g. resource definition)CommunicationException
- Communication (network) error during retrieval. E.g. error communicating with the resourceSecurityViolationException
- Security violation during operation execution. May be caused either by midPoint internal security mechanism but also by external mechanism (e.g. on the resource)ConfigurationException
- Configuration error. E.g. misconfigured resource parameters, invalid policies, etc.IllegalArgumentException
- wrong query formatExpressionEvaluationException
-
searchObjects
<T extends ObjectType> List<T> searchObjects(Class<T> type, ObjectQuery query) throws SchemaException, ObjectNotFoundException, SecurityViolationException, CommunicationException, ConfigurationException, ExpressionEvaluationException Search for objects.
Searches through all object of a specified type. Returns a list of objects that match search criteria.
Note that this method has a very limited scaling capability as all the results are stored in the memory. DO NOT USE on large datasets. Recommended usage is only when using queries that cannot return large number of results (e.g. queries for unique values) or when combined with paging capability. For other cases use searchObjectsIterative instead.
Returns empty list if object type is correct but there are no objects of that type. Fails if object type is wrong. Should fail if unknown property is specified in the query.
- Parameters:
type
- (class) of an object to searchquery
- search query- Returns:
- all objects of specified type that match search criteria (subject to paging)
- Throws:
SchemaException
- unknown property used in search queryObjectNotFoundException
- object required for a search was not found (e.g. resource definition)CommunicationException
- Communication (network) error during retrieval. E.g. error communicating with the resourceSecurityViolationException
- Security violation during operation execution. May be caused either by midPoint internal security mechanism but also by external mechanism (e.g. on the resource)ConfigurationException
- Configuration error. E.g. misconfigured resource parameters, invalid policies, etc.IllegalArgumentException
- wrong query formatExpressionEvaluationException
-
searchObjectsIterative
<T extends ObjectType> void searchObjectsIterative(Class<T> type, ObjectQuery query, ResultHandler<T> handler, Collection<SelectorOptions<GetOperationOptions>> options) throws SchemaException, ObjectNotFoundException, CommunicationException, ConfigurationException, SecurityViolationException, ExpressionEvaluationException Search for objects in iterative fashion (using callback).
Searches through all object of a specified type. A handler is invoked for each object found.
The handler is not called at all if object type is correct but there are no objects of that type. Fails if object type is wrong. Should fail if unknown property is specified in the query.
- Parameters:
type
- (class) of an object to searchquery
- search queryhandler
- callback handler that will be called for each found objectoptions
- options influencing the retrieval and processing of the objects- Throws:
SchemaException
- unknown property used in search queryObjectNotFoundException
- object required for a search was not found (e.g. resource definition)CommunicationException
- Communication (network) error during retrieval. E.g. error communicating with the resourceSecurityViolationException
- Security violation during operation execution. May be caused either by midPoint internal security mechanism but also by external mechanism (e.g. on the resource)ConfigurationException
- Configuration error. E.g. misconfigured resource parameters, invalid policies, etc.IllegalArgumentException
- wrong query formatExpressionEvaluationException
-
searchObjectsIterative
<T extends ObjectType> void searchObjectsIterative(Class<T> type, ObjectQuery query, ResultHandler<T> handler) throws SchemaException, ObjectNotFoundException, CommunicationException, ConfigurationException, SecurityViolationException, ExpressionEvaluationException Search for objects in iterative fashion (using callback).
Searches through all object of a specified type. A handler is invoked for each object found.
The handler is not called at all if object type is correct but there are no objects of that type. Fails if object type is wrong. Should fail if unknown property is specified in the query.
- Parameters:
type
- (class) of an object to searchquery
- search queryhandler
- callback handler that will be called for each found object- Throws:
SchemaException
- unknown property used in search queryObjectNotFoundException
- object required for a search was not found (e.g. resource definition)CommunicationException
- Communication (network) error during retrieval. E.g. error communicating with the resourceSecurityViolationException
- Security violation during operation execution. May be caused either by midPoint internal security mechanism but also by external mechanism (e.g. on the resource)ConfigurationException
- Configuration error. E.g. misconfigured resource parameters, invalid policies, etc.IllegalArgumentException
- wrong query formatExpressionEvaluationException
-
searchObjectByName
<T extends ObjectType> T searchObjectByName(Class<T> type, String name) throws SecurityViolationException, ObjectNotFoundException, CommunicationException, ConfigurationException, SchemaException, ExpressionEvaluationException Search for objects by name.
Searches through all object of a specified type for an object with specified name. Returns that object if it is found, return null otherwise. The method fails if more than one object is found therefore it cannot be reliably used on types with non-unique names (such as Shadows).
- Parameters:
type
- (class) of an object to searchname
- Name of the object to look for- Returns:
- an object of specified type with a matching name or null
- Throws:
SchemaException
- unknown property used in search queryObjectNotFoundException
- object required for a search was not found (e.g. resource definition)CommunicationException
- Communication (network) error during retrieval. E.g. error communicating with the resourceSecurityViolationException
- Security violation during operation execution. May be caused either by midPoint internal security mechanism but also by external mechanism (e.g. on the resource)ConfigurationException
- Configuration error. E.g. misconfigured resource parameters, invalid policies, etc.IllegalArgumentException
- wrong query formatExpressionEvaluationException
-
searchObjectByName
<T extends ObjectType> T searchObjectByName(Class<T> type, PolyString name) throws SecurityViolationException, ObjectNotFoundException, CommunicationException, ConfigurationException, SchemaException, ExpressionEvaluationException Search for objects by name.
Searches through all object of a specified type for an object with specified name. Returns that object if it is found, return null otherwise. The method fails if more than one object is found therefore it cannot be reliably used on types with non-unique names (such as Shadows).
- Parameters:
type
- (class) of an object to searchname
- Name of the object to look for- Returns:
- an object of specified type with a matching name or null
- Throws:
SchemaException
- unknown property used in search queryObjectNotFoundException
- object required for a search was not found (e.g. resource definition)CommunicationException
- Communication (network) error during retrieval. E.g. error communicating with the resourceSecurityViolationException
- Security violation during operation execution. May be caused either by midPoint internal security mechanism but also by external mechanism (e.g. on the resource)ConfigurationException
- Configuration error. E.g. misconfigured resource parameters, invalid policies, etc.IllegalArgumentException
- wrong query formatExpressionEvaluationException
-
searchObjectByName
<T extends ObjectType> T searchObjectByName(Class<T> type, PolyStringType name) throws SecurityViolationException, ObjectNotFoundException, CommunicationException, ConfigurationException, SchemaException, ExpressionEvaluationException Search for objects by name.
Searches through all object of a specified type for an object with specified name. Returns that object if it is found, return null otherwise. The method fails if more than one object is found therefore it cannot be reliably used on types with non-unique names (such as Shadows).
- Parameters:
type
- (class) of an object to searchname
- Name of the object to look for- Returns:
- an object of specified type with a matching name or null
- Throws:
SchemaException
- unknown property used in search queryObjectNotFoundException
- object required for a search was not found (e.g. resource definition)CommunicationException
- Communication (network) error during retrieval. E.g. error communicating with the resourceSecurityViolationException
- Security violation during operation execution. May be caused either by midPoint internal security mechanism but also by external mechanism (e.g. on the resource)ConfigurationException
- Configuration error. E.g. misconfigured resource parameters, invalid policies, etc.IllegalArgumentException
- wrong query formatExpressionEvaluationException
-
countObjects
<T extends ObjectType> int countObjects(Class<T> type, ObjectQuery query, Collection<SelectorOptions<GetOperationOptions>> options) throws SchemaException, ObjectNotFoundException, SecurityViolationException, ConfigurationException, CommunicationException, ExpressionEvaluationException Count objects.
Searches through all object of a specified type and returns a count of such objects. This method is usually much more efficient than equivalent search method. It is used mostly for presentation purposes, e.g. displaying correct number of pages in the GUI listings.
- Parameters:
type
- (class) of an object to searchquery
- search queryoptions
- options influencing the retrieval and processing of the objects- Returns:
- number of objects of specified type that match search criteria (subject to paging)
- Throws:
SchemaException
- unknown property used in search queryObjectNotFoundException
- object required for a search was not found (e.g. resource definition)CommunicationException
- Communication (network) error during retrieval. E.g. error communicating with the resourceSecurityViolationException
- Security violation during operation execution. May be caused either by midPoint internal security mechanism but also by external mechanism (e.g. on the resource)ConfigurationException
- Configuration error. E.g. misconfigured resource parameters, invalid policies, etc.IllegalArgumentException
- wrong query formatExpressionEvaluationException
-
countObjects
<T extends ObjectType> int countObjects(Class<T> type, ObjectQuery query) throws SchemaException, ObjectNotFoundException, SecurityViolationException, ConfigurationException, CommunicationException, ExpressionEvaluationException Count objects.
Searches through all object of a specified type and returns a count of such objects. This method is usually much more efficient than equivalent search method. It is used mostly for presentation purposes, e.g. displaying correct number of pages in the GUI listings.
- Parameters:
type
- (class) of an object to searchquery
- search query- Returns:
- number of objects of specified type that match search criteria (subject to paging)
- Throws:
SchemaException
- unknown property used in search queryObjectNotFoundException
- object required for a search was not found (e.g. resource definition)CommunicationException
- Communication (network) error during retrieval. E.g. error communicating with the resourceSecurityViolationException
- Security violation during operation execution. May be caused either by midPoint internal security mechanism but also by external mechanism (e.g. on the resource)ConfigurationException
- Configuration error. E.g. misconfigured resource parameters, invalid policies, etc.IllegalArgumentException
- wrong query formatExpressionEvaluationException
-
testResource
OperationResult testResource(String resourceOid) throws ObjectNotFoundException, SchemaException, ConfigurationException Test the resource connection and basic resource connector functionality.
This operation will NOT throw exception in case the resource connection fails. It such case it will indicate the failure in the return message, but the operation itself succeeds. The operations fails only if the provided arguments are wrong, in case of system error, system misconfiguration, etc.
This returns OperationResult instead of taking it as in/out argument. This is different from the other methods. The testResource method is not using OperationResult to track its own execution but rather to track the execution of resource tests (that in fact happen in provisioning).
- Parameters:
resourceOid
- OID of resource to test- Returns:
- results of executed tests
- Throws:
ObjectNotFoundException
- specified object does not existIllegalArgumentException
- wrong OID formatSchemaException
ConfigurationException
-
toList
-
getSequenceCounter
Uses repository service directly, bypassing authorization checking. -
getManagersOids
Collection<String> getManagersOids(UserType user) throws SchemaException, ObjectNotFoundException, SecurityViolationException -
getManagersOidsExceptUser
Collection<String> getManagersOidsExceptUser(UserType user) throws SchemaException, ObjectNotFoundException, SecurityViolationException, ExpressionEvaluationException -
getManagersOidsExceptUser
Collection<String> getManagersOidsExceptUser(@NotNull @NotNull Collection<ObjectReferenceType> userRefList) throws SchemaException, ObjectNotFoundException, SecurityViolationException, CommunicationException, ExpressionEvaluationException, ConfigurationException -
getManagers
Collection<UserType> getManagers(UserType user) throws SchemaException, ObjectNotFoundException, SecurityViolationException -
getManagersByOrgType
Collection<UserType> getManagersByOrgType(UserType user, String orgType) throws SchemaException, ObjectNotFoundException, SecurityViolationException -
getManagers
Collection<UserType> getManagers(UserType user, String orgType, boolean allowSelf) throws SchemaException, ObjectNotFoundException, SecurityViolationException -
getUserByOid
Uses repository service directly, bypassing authorization checking. -
getOrgUnits
-
getOrgUnits
-
getOrgByOid
- Throws:
SchemaException
-
getOrgByName
-
getParentOrgs
Collection<OrgType> getParentOrgs(ObjectType object, String relation, String orgType) throws SchemaException, SecurityViolationException Returns parent orgs of the specified object that have a specific relation and orgType.- Parameters:
object
- base objectrelation
- local part of the relation (in the String form)orgType
- orgType to select- Returns:
- parent orgs of the specified object that have a specific relation and orgType
- Throws:
SchemaException
- Internal schema errorSecurityViolationException
- Security violation
-
getParentOrgs
Collection<OrgType> getParentOrgs(ObjectType object, QName relation, String orgType) throws SchemaException, SecurityViolationException Returns parent orgs of the specified object that have a specific relation and orgType.- Parameters:
object
- base objectrelation
- relation in the QName formorgType
- orgType to select- Returns:
- parent orgs of the specified object that have a specific relation and orgType
- Throws:
SchemaException
- Internal schema errorSecurityViolationException
- Security violation
-
getParentOrgByOrgType
OrgType getParentOrgByOrgType(ObjectType object, String orgType) throws SchemaException, SecurityViolationException Returns parent org of the specified object that have a specific orgType.- Parameters:
object
- base objectorgType
- orgType to select- Returns:
- parent org of the specified object that have a specific orgType
- Throws:
SchemaException
- Internal schema errorSecurityViolationException
- Security violation
-
getParentOrgByArchetype
OrgType getParentOrgByArchetype(ObjectType object, String archetypeOid) throws SchemaException, SecurityViolationException Returns parent org of the specified object that have a specific archetype.- Parameters:
object
- base objectarchetypeOid
- archetype OID to select (null means "any archetype")- Returns:
- parent org of the specified object that have a specific archetype
- Throws:
SchemaException
- Internal schema errorSecurityViolationException
- Security violation
-
getParentOrgsByRelation
Collection<OrgType> getParentOrgsByRelation(ObjectType object, QName relation) throws SchemaException, SecurityViolationException Returns parent orgs of the specified object that have a specific relation.- Parameters:
object
- base objectrelation
- relation in the QName form- Returns:
- parent orgs of the specified object that have a specific relation
- Throws:
SchemaException
- Internal schema errorSecurityViolationException
- Security violation
-
getParentOrgsByRelation
Collection<OrgType> getParentOrgsByRelation(ObjectType object, String relation) throws SchemaException, SecurityViolationException Returns parent orgs of the specified object that have a specific relation.- Parameters:
object
- base objectrelation
- local part of the relation (in the String form)- Returns:
- parent orgs of the specified object that have a specific relation
- Throws:
SchemaException
- Internal schema errorSecurityViolationException
- Security violation
-
getParentOrgs
Collection<OrgType> getParentOrgs(ObjectType object) throws SchemaException, SecurityViolationException Returns all parent orgs of the specified object.- Parameters:
object
- base object- Returns:
- all parent orgs
- Throws:
SchemaException
- Internal schema errorSecurityViolationException
- Security violation
-
getManagersOfOrg
Collection<UserType> getManagersOfOrg(String orgOid) throws SchemaException, SecurityViolationException -
isManagerOf
Returns true if user is a manager of specified organizational unit. -
isManager
Returns true if user is a manager of any organizational unit. -
isManagerOfOrgType
- Throws:
SchemaException
-
isMemberOf
-
getPlaintextUserPassword
- Throws:
EncryptionException
-
getPlaintext
- Throws:
EncryptionException
-
getPlaintextAccountPassword
- Throws:
EncryptionException
-
getPlaintextAccountPasswordFromDelta
String getPlaintextAccountPasswordFromDelta(ObjectDelta<? extends ShadowType> delta) throws EncryptionException - Throws:
EncryptionException
-
getPlaintextUserPasswordFromDeltas
String getPlaintextUserPasswordFromDeltas(List<ObjectDelta<? extends FocusType>> deltas) throws EncryptionException - Throws:
EncryptionException
-
getCurrentTask
Task getCurrentTask() -
getCurrentResult
OperationResult getCurrentResult() -
getCurrentResult
-
unwrapModelContext
ModelContext<?> unwrapModelContext(LensContextType lensContextType) throws SchemaException, ObjectNotFoundException, CommunicationException, ConfigurationException, ExpressionEvaluationException -
wrapModelContext
- Throws:
SchemaException
-
hasLinkedAccount
-
isCurrentProjectionBeingEnabled
boolean isCurrentProjectionBeingEnabled()Returns `true` if the current clockwork operation causes the current projection to have `administrativeState` switched toActivationStatusType.ENABLED
. Not always precise - the original value may not be known. -
isCurrentProjectionActivated
boolean isCurrentProjectionActivated() throws SchemaException, ExpressionEvaluationException, CommunicationException, SecurityViolationException, ConfigurationException, ObjectNotFoundExceptionReturns `true` if the current clockwork operation brings the projection into existence and being effectively enabled, i.e. with `administrativeState` set to `null` orActivationStatusType.ENABLED
. (So, previously the projection was either non-existent or effectively disabled.) Loads the full shadow if necessary. -
isCurrentProjectionBeingDisabled
boolean isCurrentProjectionBeingDisabled()Returns `true` if the current clockwork operation causes the current projection to have `administrativeState` switched to a disabled value (e.g.ActivationStatusType.DISABLED
orActivationStatusType.ARCHIVED
). Not always precise - the original value may not be known. TODO what about deleting projections? -
isCurrentProjectionDeactivated
boolean isCurrentProjectionDeactivated() throws SchemaException, ExpressionEvaluationException, CommunicationException, SecurityViolationException, ConfigurationException, ObjectNotFoundExceptionReturns `true` if the current clockwork operation deletes the projection or effectively disables it, i.e. sets `administrativeState`ActivationStatusType.DISABLED
orActivationStatusType.ARCHIVED
. (So, previously the projection existed and was effectively enabled.) Loads the full shadow if necessary. -
isDirectlyAssigned
Returns `true` if `focus` has a `assignment` with `targetRef.OID` being equal to `targetOid`. No other conditions are checked (e.g. validity, assignment condition, lifecycle states, and so on). -
isDirectlyAssigned
-
isDirectlyAssigned
-
isDirectlyAssigned
-
getLinkedShadow
default ShadowType getLinkedShadow(FocusType focus, String resourceOid) throws SchemaException, SecurityViolationException, CommunicationException, ConfigurationException, ExpressionEvaluationException -
getLinkedShadows
@NotNull default @NotNull List<ShadowType> getLinkedShadows(FocusType focus, String resourceOid) throws SchemaException, SecurityViolationException, CommunicationException, ConfigurationException, ExpressionEvaluationException -
getLinkedShadow
default ShadowType getLinkedShadow(FocusType focus, String resourceOid, boolean repositoryObjectOnly) throws SchemaException, SecurityViolationException, CommunicationException, ConfigurationException, ExpressionEvaluationException -
getLinkedShadows
@NotNull @NotNull List<ShadowType> getLinkedShadows(FocusType focus, String resourceOid, boolean repositoryObjectOnly) throws SchemaException, SecurityViolationException, CommunicationException, ConfigurationException, ExpressionEvaluationException -
getLinkedShadow
default ShadowType getLinkedShadow(FocusType focus, ResourceType resource) throws SchemaException, SecurityViolationException, CommunicationException, ConfigurationException, ExpressionEvaluationException -
getLinkedShadow
default ShadowType getLinkedShadow(FocusType focus, ResourceType resource, boolean repositoryObjectOnly) throws SchemaException, SecurityViolationException, CommunicationException, ConfigurationException, ExpressionEvaluationException -
getLinkedShadow
default ShadowType getLinkedShadow(FocusType focus, String resourceOid, ShadowKindType kind, String intent) throws SchemaException, SecurityViolationException, CommunicationException, ConfigurationException, ExpressionEvaluationException -
getLinkedShadow
ShadowType getLinkedShadow(FocusType focus, String resourceOid, ShadowKindType kind, String intent, boolean repositoryObjectOnly) throws SchemaException, SecurityViolationException, CommunicationException, ConfigurationException, ExpressionEvaluationException Null values of resource oid, kind, and intent mean "any". -
getResourceDelta
ObjectDeltaType getResourceDelta(ModelContext<?> context, String resourceOid) throws SchemaException Returns aggregated delta that is to be executed on a given resource.- Parameters:
context
- model contextresourceOid
- OID of the resource in question- Throws:
SchemaException
-
getProtector
Protector getProtector() -
parseXmlToMap
Returns a map from the translated xml attribute - value pairs.- Parameters:
xml
- A string representation of xml formatted data.- Throws:
SystemException
- when a xml stream exception occurs
-
isFullShadow
boolean isFullShadow() -
isProjectionExists
boolean isProjectionExists() -
getMembers
List<UserType> getMembers(String orgOid) throws SchemaException, SecurityViolationException, CommunicationException, ConfigurationException, ObjectNotFoundException, ExpressionEvaluationException -
getMembersAsReferences
List<ObjectReferenceType> getMembersAsReferences(String orgOid) throws SchemaException, SecurityViolationException, CommunicationException, ConfigurationException, ObjectNotFoundException, ExpressionEvaluationException -
computeDefaultProjectionPurpose
<F extends FocusType> ShadowPurposeType computeDefaultProjectionPurpose(F focus, ShadowType shadow, ResourceType resource) Default function used to compute projection purpose. It is provided here so it can be explicitly invoked from a custom expression and then the result can be changed for special cases. -
getPrincipal
Returns principal representing the user whose identity is used to execute the expression.- Throws:
SecurityViolationException
-
getPrincipalOid
String getPrincipalOid()Returns OID of the current principal. After login is complete, the returned OID is the same as getPrincipal().getOid(). However, during login process, this method returns the OID of the user that is being authenticated/logged-in. -
getChannel
String getChannel() -
getWorkflowService
CaseService getWorkflowService() -
getShadowsToActivate
List<ShadowType> getShadowsToActivate(Collection<? extends ModelProjectionContext> projectionContexts) Used for account activation notifier to collect all shadows which are going to be activated. Currently it simply collects all accounts with the purpose ofShadowPurposeType.INCOMPLETE
. -
createRegistrationConfirmationLink
-
createInvitationLink
-
createPasswordResetLink
-
createWorkItemCompletionLink
Returns a link where given work item can be completed.- Returns:
- null if such a link cannot be created
-
createAccountActivationLink
-
getConst
-
resolveEntitlement
-
collectExtensions
ExtensionType collectExtensions(AssignmentPathType path, int startAt) throws CommunicationException, ObjectNotFoundException, SchemaException, SecurityViolationException, ConfigurationException, ExpressionEvaluationException -
submitTaskFromTemplate
@Deprecated TaskType submitTaskFromTemplate(String templateTaskOid, List<Item<?, ?>> extensionItems) throws CommunicationException, ObjectNotFoundException, SchemaException, SecurityViolationException, ConfigurationException, ExpressionEvaluationException, ObjectAlreadyExistsException, PolicyViolationExceptionDeprecated. -
submitTaskFromTemplate
@Deprecated TaskType submitTaskFromTemplate(String templateTaskOid, Map<QName, Object> extensionValues) throws CommunicationException, ObjectNotFoundException, SchemaException, SecurityViolationException, ConfigurationException, ExpressionEvaluationException, ObjectAlreadyExistsException, PolicyViolationExceptionDeprecated. -
submitTaskFromTemplate
@NotNull @NotNull String submitTaskFromTemplate(@NotNull @NotNull String templateOid, @NotNull @NotNull ActivityCustomization customization) throws CommonException Submits a task from template (pointed to by `templateOid`), customizing it according to givenActivityCustomization
. The template must be compatible with the customization required. The currently logged-in user must possessModelAuthorizationAction.USE
authorization applicable for the specified task template.- Throws:
CommonException
-
executeChangesAsynchronously
TaskType executeChangesAsynchronously(Collection<ObjectDelta<?>> deltas, ModelExecuteOptions options, String templateTaskOid) throws SecurityViolationException, ObjectNotFoundException, SchemaException, CommunicationException, ConfigurationException, ExpressionEvaluationException, ObjectAlreadyExistsException, PolicyViolationException -
executeChangesAsynchronously
TaskType executeChangesAsynchronously(Collection<ObjectDelta<?>> deltas, ModelExecuteOptions options, String templateTaskOid, Task opTask, OperationResult result) throws SecurityViolationException, ObjectNotFoundException, SchemaException, CommunicationException, ConfigurationException, ExpressionEvaluationException, ObjectAlreadyExistsException, PolicyViolationException -
translate
-
translate
-
translate
Translates message parameter.- Parameters:
useDefaultLocale
- If true, default JVM locale will be used for translation -Locale.getDefault()
. If false, Midpoint will check principal object for more appropriate login -MidPointPrincipal.getLocale()
, if no locale availableLocale.getDefault()
will be used.- Returns:
- translated string
-
translate
-
translate
Translates message parameter.- Parameters:
useDefaultLocale
- If true, default JVM locale will be used for translation -Locale.getDefault()
. If false, Midpoint will check principal object for more appropriate login -MidPointPrincipal.getLocale()
, if no locale availableLocale.getDefault()
will be used.- Returns:
- translated string
-
countAccounts
<T> Integer countAccounts(String resourceOid, QName attributeName, T attributeValue) throws SchemaException, ObjectNotFoundException, CommunicationException, ConfigurationException, SecurityViolationException, ExpressionEvaluationException Counts accounts having `attributeValue` of `attributeName`. Note that this method uses the default definition ofShadowKindType.ACCOUNT
objects, if present. -
countAccounts
<T> Integer countAccounts(ResourceType resourceType, QName attributeName, T attributeValue) throws SchemaException, ObjectNotFoundException, CommunicationException, ConfigurationException, SecurityViolationException, ExpressionEvaluationException A variant ofcountAccounts(String, QName, Object)
. -
countAccounts
<T> Integer countAccounts(ResourceType resourceType, String attributeName, T attributeValue) throws SchemaException, ObjectNotFoundException, CommunicationException, ConfigurationException, SecurityViolationException, ExpressionEvaluationException A variant ofcountAccounts(String, QName, Object)
. Attribute name is assumed to be in the `ri:` namespace. -
isUniquePropertyValue
<T> boolean isUniquePropertyValue(ObjectType objectType, String propertyPathString, T propertyValue) throws SchemaException, ObjectNotFoundException, CommunicationException, ConfigurationException, SecurityViolationException, ExpressionEvaluationException -
getObjectsInConflictOnPropertyValue
<O extends ObjectType,T> List<O> getObjectsInConflictOnPropertyValue(O objectType, String propertyPathString, T propertyValue, boolean getAllConflicting) throws SchemaException, ObjectNotFoundException, CommunicationException, ConfigurationException, SecurityViolationException, ExpressionEvaluationException -
isUniqueAccountValue
<T> boolean isUniqueAccountValue(ResourceType resourceType, ShadowType shadowType, String attributeName, T attributeValue) throws SchemaException, ObjectNotFoundException, CommunicationException, ConfigurationException, SecurityViolationException, ExpressionEvaluationException Checks if the value `attributeValue` of `attributeName` in given shadow is unique on given resource. A search on resource is invoked, and any occurrences (except the one in `shadowType`) are reported as violations. Notes: 1. `shadowType` should have an OID; 2. when constructing the query, the default `account` definition is used to provide attribute definitions. -
getModelContext
-
getFocusContext
-
getProjectionContext
ModelProjectionContext getProjectionContext() -
getMapping
-
executeAdHocProvisioningScript
Object executeAdHocProvisioningScript(ResourceType resource, String language, String code) throws SchemaException, ObjectNotFoundException, ExpressionEvaluationException, CommunicationException, ConfigurationException, SecurityViolationException, ObjectAlreadyExistsException -
executeAdHocProvisioningScript
Object executeAdHocProvisioningScript(String resourceOid, String language, String code) throws SchemaException, ObjectNotFoundException, ExpressionEvaluationException, CommunicationException, ConfigurationException, SecurityViolationException, ObjectAlreadyExistsException -
isEvaluateNew
Boolean isEvaluateNew()Returns indication whether a script code is evaluating a new value. If this method returns true value then the script code is evaluating "new" value. That means a value that is going to be set to target, e.g. value from "add" or "replace" parts of the delta. If this method returns false value then the script code is evaluating "old" value. That means a value that is used for the purposes of removing values from target, e.g. value from "delete" part of the delta or values from an existing object. If this method returns null then the old/new status cannot be determined or this method is invoked in a situation when such a distinction is not applicable. -
getEvaluateNew
Boolean getEvaluateNew()Just a convenience method to allow writing `midpoint.evaluateNew` even after Groovy upgrade in 4.8. -
collectAssignedFocusMappingsResults
@NotNull @NotNull Collection<PrismValue> collectAssignedFocusMappingsResults(@NotNull @NotNull ItemPath path) throws SchemaException Returns all non-negative values from all focus mappings (targeted to given path) from all non-negative evaluated assignments. Highly experimental. Use at your own risk.- Throws:
SchemaException
-
getFocusesByCorrelationRule
@Deprecated default <F extends FocusType> List<F> getFocusesByCorrelationRule(Class<F> type, String resourceOid, ShadowKindType kind, String intent, ShadowType shadow) throws SchemaException Deprecated.Legacy name forfindCandidateOwners(Class, ShadowType, String, ShadowKindType, String)
. There are some slight changes in semantics comparing to midPoint 4.5: 1. If `kind` is `null`, `ACCOUNT` is assumed. 2. If `intent` is `null`, `default` is assumed. 3. The use of `type` parameter is a bit different. 4. Instead of being limited to correlation/confirmation expressions, the method now invokes the standard correlation mechanism. SeefindCandidateOwners(Class, ShadowType, String, ShadowKindType, String)
for more information. 5. The original method returns `null` e.g. if there's no synchronization policy, etc. So, this method treats all exceptions (except forSchemaException
) by returning `null`.- Throws:
SchemaException
-
findCandidateOwners
@Experimental @NotNull <F extends FocusType> @NotNull List<F> findCandidateOwners(@NotNull @NotNull Class<F> focusType, @NotNull @NotNull ShadowType resourceObject, @NotNull @NotNull String resourceOid, @NotNull @NotNull ShadowKindType kind, @NotNull @NotNull String intent) throws SchemaException, ExpressionEvaluationException, CommunicationException, SecurityViolationException, ConfigurationException, ObjectNotFoundException Finds candidate owners using defined correlation rules. (To be used e.g. in synchronization sorter expressions.) Limitations/notes: 1. Fully supported only for simple correlators: query, expression, and item. Other correlators may or may not work here. 2. The method call encompasses execution of "before correlation" mappings.- Parameters:
focusType
- Type of the owner looked for. It is merged with the type defined for given kind/intent; the more specific of the two is used.resourceObject
- Resource object we want to correlateresourceOid
- OID of the resource we want to do the correlation forkind
- Pre-determined (or assumed) kind of the resource objectintent
- Pre-determined (or assumed) intent of the resource object- Throws:
SchemaException
ExpressionEvaluationException
CommunicationException
SecurityViolationException
ConfigurationException
ObjectNotFoundException
-
previewChanges
<F extends ObjectType> ModelContext<F> previewChanges(Collection<ObjectDelta<? extends ObjectType>> deltas, ModelExecuteOptions options) throws CommunicationException, ObjectNotFoundException, ObjectAlreadyExistsException, ConfigurationException, SchemaException, SecurityViolationException, PolicyViolationException, ExpressionEvaluationException -
previewChanges
<F extends ObjectType> ModelContext<F> previewChanges(Collection<ObjectDelta<? extends ObjectType>> deltas, ModelExecuteOptions options, OperationResult result) throws CommunicationException, ObjectNotFoundException, ObjectAlreadyExistsException, ConfigurationException, SchemaException, SecurityViolationException, PolicyViolationException, ExpressionEvaluationException -
getPrismContext
PrismContext getPrismContext() -
getRelationRegistry
RelationRegistry getRelationRegistry() -
applyDefinition
<T extends ObjectType> void applyDefinition(T object) throws SchemaException, ObjectNotFoundException, CommunicationException, ConfigurationException, ExpressionEvaluationException -
deltaFor
- Throws:
SchemaException
-
hasArchetype
-
getArchetype
Deprecated.Assumes single archetype. May throw error if used on object that has more than one archetype.- Throws:
SchemaException
-
getStructuralArchetype
@Nullable <O extends AssignmentHolderType> @Nullable ArchetypeType getStructuralArchetype(O object) throws SchemaException Returns the structural archetype for the object, possibly `null`.- Throws:
SchemaException
-
getArchetypes
@NotNull <O extends ObjectType> @NotNull List<ArchetypeType> getArchetypes(O object) throws SchemaException - Throws:
SchemaException
-
getArchetypeOid
Deprecated.Assumes single archetype. May throw error if used on object that has more than one archetype.- Throws:
SchemaException
-
getArchetypeOids
Returns a list of archetype OIDs for given object. Currently, those OIDs are taken from archetype assignments. ArchetypeRef values are ignored. -
addRecomputeTrigger
default <O extends ObjectType> void addRecomputeTrigger(O object, Long timestamp) throws ObjectAlreadyExistsException, SchemaException, ObjectNotFoundException -
addRecomputeTrigger
default <O extends ObjectType> void addRecomputeTrigger(O object, Long timestamp, MidpointFunctions.TriggerCustomizer triggerCustomizer) throws ObjectAlreadyExistsException, SchemaException, ObjectNotFoundException -
addRecomputeTrigger
default <O extends ObjectType> void addRecomputeTrigger(PrismObject<O> object, Long timestamp) throws ObjectAlreadyExistsException, SchemaException, ObjectNotFoundException -
addRecomputeTrigger
<O extends ObjectType> void addRecomputeTrigger(PrismObject<O> object, Long timestamp, MidpointFunctions.TriggerCustomizer triggerCustomizer) throws ObjectAlreadyExistsException, SchemaException, ObjectNotFoundException -
getRepositoryService
RepositoryService getRepositoryService() -
getOptimizingTriggerCreator
@NotNull @NotNull OptimizingTriggerCreator getOptimizingTriggerCreator(long fireAfter, long safetyMargin) -
getAttributeDefinition
@NotNull <T> @NotNull ResourceAttributeDefinition<T> getAttributeDefinition(PrismObject<ResourceType> resource, QName objectClassName, QName attributeName) throws SchemaException - Throws:
SchemaException
-
getAttributeDefinition
@NotNull <T> @NotNull ResourceAttributeDefinition<T> getAttributeDefinition(PrismObject<ResourceType> resource, String objectClassName, String attributeName) throws SchemaException - Throws:
SchemaException
-
createRecomputeTrigger
@Experimental void createRecomputeTrigger(Class<? extends ObjectType> type, String oid) throws SchemaException, ObjectAlreadyExistsException, ObjectNotFoundException Goes directly to repository service. -
getCorrelationCaseForShadow
@Experimental @Nullable @Nullable CaseType getCorrelationCaseForShadow(@Nullable @Nullable ShadowType shadow) throws SchemaException Returns a correlation case for given shadow. (Need not be full.)- Throws:
SchemaException
-
queryFor
- Throws:
SchemaException
-
preparedQueryFor
- Throws:
SchemaException
-
searchObjects
<T extends ObjectType> List<T> searchObjects(TypedQuery<T> query) throws SchemaException, ObjectNotFoundException, SecurityViolationException, CommunicationException, ConfigurationException, ExpressionEvaluationException -
describeResourceObjectSetLong
String describeResourceObjectSetLong(ResourceObjectSetType set) throws SchemaException, ExpressionEvaluationException, CommunicationException, SecurityViolationException, ConfigurationException, ObjectNotFoundException Returns longer version of human-readable description of the resource object set: . resource name . object type display name (if known) . object type ID (kind, intent) . flag whether we are using default type definition . object class Currently, object types are resolved and named using theResourceSchemaUtil.findDefinitionForBulkOperation(ResourceType, ShadowKindType, String, QName)
method that is used for import and reconciliation activities. Hence, the name should be quite precise in the context of these activities. -
describeResourceObjectSetShort
String describeResourceObjectSetShort(ResourceObjectSetType set) throws SchemaException, ExpressionEvaluationException, CommunicationException, SecurityViolationException, ConfigurationException, ObjectNotFoundException Short version ofdescribeResourceObjectSetLong(ResourceObjectSetType)
: . only one of object type display name and type ID is shown; . object class is omitted when type is present -
describeResourceObjectSet
default String describeResourceObjectSet(ResourceObjectSetType set) throws SchemaException, ExpressionEvaluationException, CommunicationException, SecurityViolationException, ConfigurationException, ObjectNotFoundException Synonym fordescribeResourceObjectSetShort(ResourceObjectSetType)
, mainly for compatibility reasons. -
selectIdentityItemValues
Collection<PrismValue> selectIdentityItemValues(@Nullable @Nullable Collection<FocusIdentityType> identities, @Nullable @Nullable FocusIdentitySourceType source, @NotNull @NotNull ItemPath itemPath) Selects specified values from all relevant identity data.- Parameters:
identities
- a collection of identities where we search for the datasource
- specification of a source we are looking for; `null` means "all sources" The source is currently matched using resource OID, kind, intent, and tag. SeeFocusIdentityTypeUtil.matches(FocusIdentitySourceType, FocusIdentitySourceType)
method.itemPath
- item that should be provided- See Also:
-
isEffectivelyEnabled
Returns true if the object is effectively enabled. For convenience, if the object is not present, the method returns `false`. If the object is not aFocusType
, the method returns `true` (as there is no activation there). ForFocusType
objects, it assumes that the object underwent standard computation and `activation/effectiveStatus` is set. If the `activation/effectiveStatus` is not present, the return value of the method is undefined. -
isFocusActivated
boolean isFocusActivated()Does the current clockwork operation bring the focus into existence and being effectively enabled? (So, previously it was either non-existent or effectively disabled.) -
isFocusDeactivated
boolean isFocusDeactivated()Does the current clockwork operation delete or effectively disable the focus? (So, previously it existed and was effectively enabled.)
-