com.evolveum.midpoint.model.api
Interface ModelInteractionService
- All Known Implementing Classes:
- ModelController
public interface ModelInteractionService
A service provided by the IDM Model that allows to improve the (user) interaction with the model.
It is supposed to provide services such as preview of changes, diagnostics and other informational
services. It should only provide access to read-only data or provide a temporary (throw-away) previews
of data. It should not change the state of IDM repository, resources or tasks.
UNSTABLE: This is likely to change
PRIVATE: This interface is not supposed to be used outside of midPoint
- Author:
- Radovan Semancik
CLASS_NAME_WITH_DOT
static final java.lang.String CLASS_NAME_WITH_DOT
PREVIEW_CHANGES
static final java.lang.String PREVIEW_CHANGES
previewChanges
<F extends ObjectType,P extends ObjectType> ModelContext<F,P> previewChanges(java.util.Collection<ObjectDelta<? extends ObjectType>> deltas,
Task task,
OperationResult result)
throws SchemaException,
PolicyViolationException,
ExpressionEvaluationException,
ObjectNotFoundException,
ObjectAlreadyExistsException,
CommunicationException,
ConfigurationException,
SecurityViolationException
- Computes the most likely changes triggered by the provided delta. The delta may be any change of any object, e.g.
add of a user or change of a shadow. The resulting context will sort that out to "focus" and "projection" as needed.
The supplied delta will be used as a primary change. The resulting context will reflect both this primary change and
any resulting secondary changes.
The changes are only computed, NOT EXECUTED. It also does not change any state of any repository object or task. Therefore
this method is safe to use anytime. However it is reading the data from the repository and possibly also from the resources
therefore there is still potential for communication (and other) errors and invocation of this method may not be cheap.
However, as no operations are really executed there may be issues with resource dependencies. E.g. identifier that are generated
by the resource are not taken into account while recomputing the values. This may also cause errors if some expressions depend
on the generated values.
- Throws:
SchemaException
PolicyViolationException
ExpressionEvaluationException
ObjectNotFoundException
ObjectAlreadyExistsException
CommunicationException
ConfigurationException
SecurityViolationException
Copyright © 2012 evolveum. All Rights Reserved.