Search in sources :

Example 21 with ObjectSynchronizationType

use of com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectSynchronizationType in project midpoint by Evolveum.

the class AbstractModelIntegrationTest method determineSynchronization.

/**
	 * Returns appropriate object synchronization settings for the class.
	 * Assumes single sync setting for now.
	 */
protected ObjectSynchronizationType determineSynchronization(ResourceType resource, Class<UserType> type, String name) {
    SynchronizationType synchronization = resource.getSynchronization();
    if (synchronization == null) {
        return null;
    }
    List<ObjectSynchronizationType> objectSynchronizations = synchronization.getObjectSynchronization();
    if (objectSynchronizations.isEmpty()) {
        return null;
    }
    for (ObjectSynchronizationType objSyncType : objectSynchronizations) {
        QName focusTypeQName = objSyncType.getFocusType();
        if (focusTypeQName == null) {
            if (type != UserType.class) {
                continue;
            }
        } else {
            ObjectTypes focusType = ObjectTypes.getObjectTypeFromTypeQName(focusTypeQName);
            if (type != focusType.getClassDefinition()) {
                continue;
            }
        }
        if (name == null) {
            // we got it
            return objSyncType;
        } else {
            if (name.equals(objSyncType.getName())) {
                return objSyncType;
            }
        }
    }
    throw new IllegalArgumentException("Synchronization setting for " + type + " and name " + name + " not found in " + resource);
}
Also used : ObjectSynchronizationType(com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectSynchronizationType) QName(javax.xml.namespace.QName) ObjectTypes(com.evolveum.midpoint.schema.constants.ObjectTypes) ObjectSynchronizationType(com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectSynchronizationType) SynchronizationType(com.evolveum.midpoint.xml.ns._public.common.common_3.SynchronizationType)

Example 22 with ObjectSynchronizationType

use of com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectSynchronizationType in project midpoint by Evolveum.

the class Migrator method migrateObjectSynchronization.

private void migrateObjectSynchronization(ObjectSynchronizationType sync) {
    if (sync == null || sync.getReaction() == null) {
        return;
    }
    List<SynchronizationReactionType> migratedReactions = new ArrayList<SynchronizationReactionType>();
    for (SynchronizationReactionType reaction : sync.getReaction()) {
        if (reaction.getAction() == null) {
            continue;
        }
        List<SynchronizationActionType> migratedAction = new ArrayList<SynchronizationActionType>();
        for (SynchronizationActionType action : reaction.getAction()) {
            migratedAction.add(migrateAction(action));
        }
        SynchronizationReactionType migratedReaction = reaction.clone();
        migratedReaction.getAction().clear();
        migratedReaction.getAction().addAll(migratedAction);
        migratedReactions.add(migratedReaction);
    }
    sync.getReaction().clear();
    sync.getReaction().addAll(migratedReactions);
}
Also used : SynchronizationActionType(com.evolveum.midpoint.xml.ns._public.common.common_3.SynchronizationActionType) SynchronizationReactionType(com.evolveum.midpoint.xml.ns._public.common.common_3.SynchronizationReactionType) ArrayList(java.util.ArrayList)

Aggregations

SchemaException (com.evolveum.midpoint.util.exception.SchemaException)9 ObjectSynchronizationType (com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectSynchronizationType)9 ShadowType (com.evolveum.midpoint.xml.ns._public.common.common_3.ShadowType)9 PolyString (com.evolveum.midpoint.prism.polystring.PolyString)8 ResourceType (com.evolveum.midpoint.xml.ns._public.common.common_3.ResourceType)7 OperationResult (com.evolveum.midpoint.schema.result.OperationResult)6 PrismObject (com.evolveum.midpoint.prism.PrismObject)5 ObjectNotFoundException (com.evolveum.midpoint.util.exception.ObjectNotFoundException)5 SystemException (com.evolveum.midpoint.util.exception.SystemException)5 ShadowKindType (com.evolveum.midpoint.xml.ns._public.common.common_3.ShadowKindType)5 SynchronizationSituationType (com.evolveum.midpoint.xml.ns._public.common.common_3.SynchronizationSituationType)5 QName (javax.xml.namespace.QName)5 ConfigurationException (com.evolveum.midpoint.util.exception.ConfigurationException)4 ExpressionEvaluationException (com.evolveum.midpoint.util.exception.ExpressionEvaluationException)4 ObjectAlreadyExistsException (com.evolveum.midpoint.util.exception.ObjectAlreadyExistsException)4 ConditionalSearchFilterType (com.evolveum.midpoint.xml.ns._public.common.common_3.ConditionalSearchFilterType)4 PropertyDelta (com.evolveum.midpoint.prism.delta.PropertyDelta)3 CommunicationException (com.evolveum.midpoint.util.exception.CommunicationException)3 PolicyViolationException (com.evolveum.midpoint.util.exception.PolicyViolationException)3 SecurityViolationException (com.evolveum.midpoint.util.exception.SecurityViolationException)3