Interface CorrelationService
public interface CorrelationService
Contains correlation-related methods that should be accessible from the outside of `model` module.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfacestatic class -
Method Summary
Modifier and TypeMethodDescriptionvoidcompleteCorrelationCase(@NotNull CaseType currentCase, @NotNull CorrelationService.CaseCloser caseCloser, @NotNull com.evolveum.midpoint.task.api.Task task, @NotNull OperationResult result) Completes given correlation case.@NotNull CompleteCorrelationResultcorrelate(@NotNull FocusType preFocus, @Nullable String archetypeOid, @NotNull Set<String> candidateOids, @NotNull CorrelatorDiscriminator discriminator, @NotNull com.evolveum.midpoint.task.api.Task task, @NotNull OperationResult result) Correlates the provided (partial) focus object to a set of candidate matches.@NotNull CompleteCorrelationResultcorrelate(@NotNull ShadowType shadowedResourceObject, @NotNull ResourceType resource, @NotNull ResourceObjectTypeDefinition resourceObjectTypeDefinition, @NotNull CorrelationDefinitionType correlationDefinition, @NotNull com.evolveum.midpoint.task.api.Task task, @NotNull OperationResult result) @NotNull CorrelationCaseDescription<?>describeCorrelationCase(@NotNull CaseType aCase, @Nullable CorrelationService.CorrelationCaseDescriptionOptions options, @NotNull com.evolveum.midpoint.task.api.Task task, @NotNull OperationResult result) Describes the provided correlation case by providingCorrelationCaseDescriptionobject.determineCorrelatorConfiguration(@NotNull CorrelatorDiscriminator discriminator, String archetypeOid, com.evolveum.midpoint.task.api.Task task, OperationResult result) Instantiates a correlatorfindLinkedOrCorrelatedFocus(ShadowType shadow, @NotNull ResourceType resource, @NotNull ResourceObjectTypeDefinition typeDef, @NotNull CorrelationDefinitionType correlationDef, @NotNull com.evolveum.midpoint.task.api.Task task, OperationResult result) Find focus, which is either linked or correlated with given shadow.default voidprepareCorrelationCaseClosing(@NotNull CaseType currentCase, @NotNull com.evolveum.midpoint.task.api.Task task, @NotNull OperationResult result) Executes retry-safe business logic required before a correlation case may be persisted as closing.
-
Method Details
-
correlate
@NotNull @NotNull CompleteCorrelationResult correlate(@NotNull @NotNull FocusType preFocus, @Nullable @Nullable String archetypeOid, @NotNull @NotNull Set<String> candidateOids, @NotNull @NotNull CorrelatorDiscriminator discriminator, @NotNull @NotNull com.evolveum.midpoint.task.api.Task task, @NotNull @NotNull OperationResult result) throws SchemaException, ExpressionEvaluationException, CommunicationException, SecurityViolationException, ConfigurationException, ObjectNotFoundException Correlates the provided (partial) focus object to a set of candidate matches. TODO finish the method signature -
correlate
@NotNull @NotNull CompleteCorrelationResult correlate(@NotNull @NotNull ShadowType shadowedResourceObject, @NotNull @NotNull ResourceType resource, @NotNull @NotNull ResourceObjectTypeDefinition resourceObjectTypeDefinition, @NotNull @NotNull CorrelationDefinitionType correlationDefinition, @NotNull @NotNull com.evolveum.midpoint.task.api.Task task, @NotNull @NotNull OperationResult result) throws SchemaException, ExpressionEvaluationException, CommunicationException, SecurityViolationException, ConfigurationException, ObjectNotFoundException -
describeCorrelationCase
@NotNull @NotNull CorrelationCaseDescription<?> describeCorrelationCase(@NotNull @NotNull CaseType aCase, @Nullable @Nullable CorrelationService.CorrelationCaseDescriptionOptions options, @NotNull @NotNull com.evolveum.midpoint.task.api.Task task, @NotNull @NotNull OperationResult result) throws SchemaException, ConfigurationException, ExpressionEvaluationException, CommunicationException, SecurityViolationException, ObjectNotFoundException Describes the provided correlation case by providingCorrelationCaseDescriptionobject. Currently, it . takes the shadow stored in the correlation case (i.e. does NOT fetch it anew), . recomputes inbound mappings (i.e. ignores stored pre-focus), . and processes candidate owners stored in the correlation case (i.e. does NOT search for them again). TheCorrelationService.CorrelationCaseDescriptionOptionsparameter signals if the client wishes to provide also the correlation explanation, or not. (In the future, we may provide options also for behavior in points 1-3 mentioned above.) -
completeCorrelationCase
void completeCorrelationCase(@NotNull @NotNull CaseType currentCase, @NotNull @NotNull CorrelationService.CaseCloser caseCloser, @NotNull @NotNull com.evolveum.midpoint.task.api.Task task, @NotNull @NotNull OperationResult result) throws SchemaException, ExpressionEvaluationException, CommunicationException, SecurityViolationException, ConfigurationException, ObjectNotFoundException Completes given correlation case. Preconditions: - case is freshly fetched, - case is a correlation one- Parameters:
caseCloser- Makes the case definitely closed. (This functionality must be provided by the caller.)- Throws:
SchemaExceptionExpressionEvaluationExceptionCommunicationExceptionSecurityViolationExceptionConfigurationExceptionObjectNotFoundException
-
prepareCorrelationCaseClosing
default void prepareCorrelationCaseClosing(@NotNull @NotNull CaseType currentCase, @NotNull @NotNull com.evolveum.midpoint.task.api.Task task, @NotNull @NotNull OperationResult result) throws SchemaException, ExpressionEvaluationException, CommunicationException, SecurityViolationException, ConfigurationException, ObjectNotFoundException Executes retry-safe business logic required before a correlation case may be persisted as closing. If this method fails, the case remains open. -
determineCorrelatorConfiguration
PathSet determineCorrelatorConfiguration(@NotNull @NotNull CorrelatorDiscriminator discriminator, String archetypeOid, com.evolveum.midpoint.task.api.Task task, OperationResult result) throws SchemaException, ConfigurationException, ObjectNotFoundException Instantiates a correlator
-