Class DefaultMappingManager

  • All Implemented Interfaces:
    org.apache.syncope.core.provisioning.api.MappingManager

    public class DefaultMappingManager
    extends Object
    implements org.apache.syncope.core.provisioning.api.MappingManager
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected org.apache.syncope.core.persistence.api.dao.AnyObjectDAO anyObjectDAO  
      protected org.apache.syncope.core.persistence.api.dao.AnyTypeDAO anyTypeDAO  
      protected org.apache.syncope.core.persistence.api.entity.AnyUtilsFactory anyUtilsFactory  
      protected org.apache.syncope.core.persistence.api.dao.ApplicationDAO applicationDAO  
      protected org.apache.syncope.core.provisioning.api.DerAttrHandler derAttrHandler  
      protected static Encryptor ENCRYPTOR  
      protected org.apache.syncope.core.persistence.api.dao.GroupDAO groupDAO  
      protected org.apache.syncope.core.persistence.api.dao.ImplementationDAO implementationDAO  
      protected org.apache.syncope.core.provisioning.api.IntAttrNameParser intAttrNameParser  
      protected static org.slf4j.Logger LOG  
      protected PasswordGenerator passwordGenerator  
      protected org.apache.syncope.core.persistence.api.dao.RealmDAO realmDAO  
      protected org.apache.syncope.core.persistence.api.dao.RelationshipTypeDAO relationshipTypeDAO  
      protected org.apache.syncope.core.persistence.api.dao.UserDAO userDAO  
      protected org.apache.syncope.core.provisioning.api.cache.VirAttrCache virAttrCache  
      protected org.apache.syncope.core.provisioning.api.VirAttrHandler virAttrHandler  
    • Constructor Summary

      Constructors 
      Constructor Description
      DefaultMappingManager​(org.apache.syncope.core.persistence.api.dao.AnyTypeDAO anyTypeDAO, org.apache.syncope.core.persistence.api.dao.UserDAO userDAO, org.apache.syncope.core.persistence.api.dao.AnyObjectDAO anyObjectDAO, org.apache.syncope.core.persistence.api.dao.GroupDAO groupDAO, org.apache.syncope.core.persistence.api.dao.RelationshipTypeDAO relationshipTypeDAO, org.apache.syncope.core.persistence.api.dao.RealmDAO realmDAO, org.apache.syncope.core.persistence.api.dao.ApplicationDAO applicationDAO, org.apache.syncope.core.persistence.api.dao.ImplementationDAO implementationDAO, org.apache.syncope.core.provisioning.api.DerAttrHandler derAttrHandler, org.apache.syncope.core.provisioning.api.VirAttrHandler virAttrHandler, org.apache.syncope.core.provisioning.api.cache.VirAttrCache virAttrCache, PasswordGenerator passwordGenerator, org.apache.syncope.core.persistence.api.entity.AnyUtilsFactory anyUtilsFactory, org.apache.syncope.core.provisioning.api.IntAttrNameParser intAttrNameParser)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected String decodePassword​(org.apache.syncope.core.persistence.api.entity.user.Account account)  
      protected org.identityconnectors.framework.common.objects.Name evaluateNAME​(org.apache.syncope.core.persistence.api.entity.Any<?> any, org.apache.syncope.common.lib.to.Provision provision, String connObjectKey)
      Build __NAME__ for propagation.
      protected org.identityconnectors.framework.common.objects.Name evaluateNAME​(org.apache.syncope.core.persistence.api.entity.Realm realm, org.apache.syncope.common.lib.to.OrgUnit orgUnit, String connObjectKey)
      Build __NAME__ for propagation.
      Optional<String> getConnObjectKeyValue​(org.apache.syncope.core.persistence.api.entity.Any<?> any, org.apache.syncope.core.persistence.api.entity.ExternalResource resource, org.apache.syncope.common.lib.to.Provision provision)  
      Optional<String> getConnObjectKeyValue​(org.apache.syncope.core.persistence.api.entity.Realm realm, org.apache.syncope.common.lib.to.OrgUnit orgUnit)  
      protected String getGroupOwnerValue​(org.apache.syncope.core.persistence.api.entity.ExternalResource resource, org.apache.syncope.common.lib.to.Provision provision, org.apache.syncope.core.persistence.api.entity.Any<?> any)  
      protected String getIntValue​(org.apache.syncope.core.persistence.api.entity.Realm realm, org.apache.syncope.common.lib.to.Item orgUnitItem)  
      org.apache.commons.lang3.tuple.Pair<org.apache.syncope.common.lib.types.AttrSchemaType,​List<org.apache.syncope.core.persistence.api.entity.PlainAttrValue>> getIntValues​(org.apache.syncope.core.persistence.api.entity.ExternalResource resource, org.apache.syncope.common.lib.to.Provision provision, org.apache.syncope.common.lib.to.Item mapItem, org.apache.syncope.core.provisioning.api.IntAttrName intAttrName, org.apache.syncope.common.lib.types.AttrSchemaType schemaType, org.apache.syncope.core.persistence.api.entity.Any<?> any, org.apache.syncope.core.provisioning.api.AccountGetter usernameAccountGetter, org.apache.syncope.core.provisioning.api.PlainAttrGetter plainAttrGetter)  
      protected static org.identityconnectors.framework.common.objects.Name getName​(String evalConnObjectLink, String connObjectKey)  
      protected String getPasswordAttrValue​(org.apache.syncope.core.persistence.api.entity.ExternalResource resource, org.apache.syncope.core.persistence.api.entity.user.Account account, String defaultValue)  
      protected List<org.apache.syncope.core.persistence.api.entity.Implementation> getTransformers​(org.apache.syncope.common.lib.to.Item item)  
      boolean hasMustChangePassword​(org.apache.syncope.common.lib.to.Provision provision)  
      org.apache.commons.lang3.tuple.Pair<String,​org.identityconnectors.framework.common.objects.Attribute> prepareAttr​(org.apache.syncope.core.persistence.api.entity.ExternalResource resource, org.apache.syncope.common.lib.to.Provision provision, org.apache.syncope.common.lib.to.Item item, org.apache.syncope.core.persistence.api.entity.Any<?> any, String password, org.apache.syncope.core.provisioning.api.AccountGetter usernameAccountGetter, org.apache.syncope.core.provisioning.api.AccountGetter passwordAccountGetter, org.apache.syncope.core.provisioning.api.PlainAttrGetter plainAttrGetter)  
      org.apache.commons.lang3.tuple.Pair<String,​Set<org.identityconnectors.framework.common.objects.Attribute>> prepareAttrsFromAny​(org.apache.syncope.core.persistence.api.entity.Any<?> any, String password, boolean changePwd, Boolean enable, org.apache.syncope.core.persistence.api.entity.ExternalResource resource, org.apache.syncope.common.lib.to.Provision provision)  
      Set<org.identityconnectors.framework.common.objects.Attribute> prepareAttrsFromLinkedAccount​(org.apache.syncope.core.persistence.api.entity.user.User user, org.apache.syncope.core.persistence.api.entity.user.LinkedAccount account, String password, boolean changePwd, org.apache.syncope.common.lib.to.Provision provision)  
      org.apache.commons.lang3.tuple.Pair<String,​Set<org.identityconnectors.framework.common.objects.Attribute>> prepareAttrsFromRealm​(org.apache.syncope.core.persistence.api.entity.Realm realm, org.apache.syncope.common.lib.to.OrgUnit orgUnit)  
      protected String processPreparedAttr​(org.apache.commons.lang3.tuple.Pair<String,​org.identityconnectors.framework.common.objects.Attribute> preparedAttr, Set<org.identityconnectors.framework.common.objects.Attribute> attributes)  
      void setIntValues​(org.apache.syncope.common.lib.to.Item mapItem, org.identityconnectors.framework.common.objects.Attribute attr, org.apache.syncope.common.lib.to.AnyTO anyTO)  
      void setIntValues​(org.apache.syncope.common.lib.to.Item item, org.identityconnectors.framework.common.objects.Attribute attr, org.apache.syncope.common.lib.to.RealmTO realmTO)  
    • Field Detail

      • LOG

        protected static final org.slf4j.Logger LOG
      • ENCRYPTOR

        protected static final Encryptor ENCRYPTOR
      • anyTypeDAO

        protected final org.apache.syncope.core.persistence.api.dao.AnyTypeDAO anyTypeDAO
      • userDAO

        protected final org.apache.syncope.core.persistence.api.dao.UserDAO userDAO
      • anyObjectDAO

        protected final org.apache.syncope.core.persistence.api.dao.AnyObjectDAO anyObjectDAO
      • groupDAO

        protected final org.apache.syncope.core.persistence.api.dao.GroupDAO groupDAO
      • relationshipTypeDAO

        protected final org.apache.syncope.core.persistence.api.dao.RelationshipTypeDAO relationshipTypeDAO
      • realmDAO

        protected final org.apache.syncope.core.persistence.api.dao.RealmDAO realmDAO
      • applicationDAO

        protected final org.apache.syncope.core.persistence.api.dao.ApplicationDAO applicationDAO
      • implementationDAO

        protected final org.apache.syncope.core.persistence.api.dao.ImplementationDAO implementationDAO
      • derAttrHandler

        protected final org.apache.syncope.core.provisioning.api.DerAttrHandler derAttrHandler
      • virAttrHandler

        protected final org.apache.syncope.core.provisioning.api.VirAttrHandler virAttrHandler
      • virAttrCache

        protected final org.apache.syncope.core.provisioning.api.cache.VirAttrCache virAttrCache
      • anyUtilsFactory

        protected final org.apache.syncope.core.persistence.api.entity.AnyUtilsFactory anyUtilsFactory
      • intAttrNameParser

        protected final org.apache.syncope.core.provisioning.api.IntAttrNameParser intAttrNameParser
    • Constructor Detail

      • DefaultMappingManager

        public DefaultMappingManager​(org.apache.syncope.core.persistence.api.dao.AnyTypeDAO anyTypeDAO,
                                     org.apache.syncope.core.persistence.api.dao.UserDAO userDAO,
                                     org.apache.syncope.core.persistence.api.dao.AnyObjectDAO anyObjectDAO,
                                     org.apache.syncope.core.persistence.api.dao.GroupDAO groupDAO,
                                     org.apache.syncope.core.persistence.api.dao.RelationshipTypeDAO relationshipTypeDAO,
                                     org.apache.syncope.core.persistence.api.dao.RealmDAO realmDAO,
                                     org.apache.syncope.core.persistence.api.dao.ApplicationDAO applicationDAO,
                                     org.apache.syncope.core.persistence.api.dao.ImplementationDAO implementationDAO,
                                     org.apache.syncope.core.provisioning.api.DerAttrHandler derAttrHandler,
                                     org.apache.syncope.core.provisioning.api.VirAttrHandler virAttrHandler,
                                     org.apache.syncope.core.provisioning.api.cache.VirAttrCache virAttrCache,
                                     PasswordGenerator passwordGenerator,
                                     org.apache.syncope.core.persistence.api.entity.AnyUtilsFactory anyUtilsFactory,
                                     org.apache.syncope.core.provisioning.api.IntAttrNameParser intAttrNameParser)
    • Method Detail

      • getTransformers

        protected List<org.apache.syncope.core.persistence.api.entity.Implementation> getTransformers​(org.apache.syncope.common.lib.to.Item item)
      • processPreparedAttr

        protected String processPreparedAttr​(org.apache.commons.lang3.tuple.Pair<String,​org.identityconnectors.framework.common.objects.Attribute> preparedAttr,
                                             Set<org.identityconnectors.framework.common.objects.Attribute> attributes)
      • getName

        protected static org.identityconnectors.framework.common.objects.Name getName​(String evalConnObjectLink,
                                                                                      String connObjectKey)
      • evaluateNAME

        protected org.identityconnectors.framework.common.objects.Name evaluateNAME​(org.apache.syncope.core.persistence.api.entity.Any<?> any,
                                                                                    org.apache.syncope.common.lib.to.Provision provision,
                                                                                    String connObjectKey)
        Build __NAME__ for propagation. First look if there is a defined connObjectLink for the given resource (and in this case evaluate as JEXL); otherwise, take given connObjectKey.
        Parameters:
        any - given any object
        provision - external resource
        connObjectKey - connector object key
        Returns:
        the value to be propagated as __NAME__
      • evaluateNAME

        protected org.identityconnectors.framework.common.objects.Name evaluateNAME​(org.apache.syncope.core.persistence.api.entity.Realm realm,
                                                                                    org.apache.syncope.common.lib.to.OrgUnit orgUnit,
                                                                                    String connObjectKey)
        Build __NAME__ for propagation. First look if there is a defined connObjectLink for the given resource (and in this case evaluate as JEXL); otherwise, take given connObjectKey.
        Parameters:
        realm - given any object
        orgUnit - external resource
        connObjectKey - connector object key
        Returns:
        the value to be propagated as __NAME__
      • prepareAttrsFromAny

        @Transactional(readOnly=true)
        public org.apache.commons.lang3.tuple.Pair<String,​Set<org.identityconnectors.framework.common.objects.Attribute>> prepareAttrsFromAny​(org.apache.syncope.core.persistence.api.entity.Any<?> any,
                                                                                                                                                    String password,
                                                                                                                                                    boolean changePwd,
                                                                                                                                                    Boolean enable,
                                                                                                                                                    org.apache.syncope.core.persistence.api.entity.ExternalResource resource,
                                                                                                                                                    org.apache.syncope.common.lib.to.Provision provision)
        Specified by:
        prepareAttrsFromAny in interface org.apache.syncope.core.provisioning.api.MappingManager
      • prepareAttrsFromLinkedAccount

        @Transactional(readOnly=true)
        public Set<org.identityconnectors.framework.common.objects.Attribute> prepareAttrsFromLinkedAccount​(org.apache.syncope.core.persistence.api.entity.user.User user,
                                                                                                            org.apache.syncope.core.persistence.api.entity.user.LinkedAccount account,
                                                                                                            String password,
                                                                                                            boolean changePwd,
                                                                                                            org.apache.syncope.common.lib.to.Provision provision)
        Specified by:
        prepareAttrsFromLinkedAccount in interface org.apache.syncope.core.provisioning.api.MappingManager
      • getIntValue

        protected String getIntValue​(org.apache.syncope.core.persistence.api.entity.Realm realm,
                                     org.apache.syncope.common.lib.to.Item orgUnitItem)
      • prepareAttrsFromRealm

        public org.apache.commons.lang3.tuple.Pair<String,​Set<org.identityconnectors.framework.common.objects.Attribute>> prepareAttrsFromRealm​(org.apache.syncope.core.persistence.api.entity.Realm realm,
                                                                                                                                                      org.apache.syncope.common.lib.to.OrgUnit orgUnit)
        Specified by:
        prepareAttrsFromRealm in interface org.apache.syncope.core.provisioning.api.MappingManager
      • decodePassword

        protected String decodePassword​(org.apache.syncope.core.persistence.api.entity.user.Account account)
      • getPasswordAttrValue

        protected String getPasswordAttrValue​(org.apache.syncope.core.persistence.api.entity.ExternalResource resource,
                                              org.apache.syncope.core.persistence.api.entity.user.Account account,
                                              String defaultValue)
      • prepareAttr

        public org.apache.commons.lang3.tuple.Pair<String,​org.identityconnectors.framework.common.objects.Attribute> prepareAttr​(org.apache.syncope.core.persistence.api.entity.ExternalResource resource,
                                                                                                                                       org.apache.syncope.common.lib.to.Provision provision,
                                                                                                                                       org.apache.syncope.common.lib.to.Item item,
                                                                                                                                       org.apache.syncope.core.persistence.api.entity.Any<?> any,
                                                                                                                                       String password,
                                                                                                                                       org.apache.syncope.core.provisioning.api.AccountGetter usernameAccountGetter,
                                                                                                                                       org.apache.syncope.core.provisioning.api.AccountGetter passwordAccountGetter,
                                                                                                                                       org.apache.syncope.core.provisioning.api.PlainAttrGetter plainAttrGetter)
        Specified by:
        prepareAttr in interface org.apache.syncope.core.provisioning.api.MappingManager
      • getIntValues

        @Transactional(readOnly=true)
        public org.apache.commons.lang3.tuple.Pair<org.apache.syncope.common.lib.types.AttrSchemaType,​List<org.apache.syncope.core.persistence.api.entity.PlainAttrValue>> getIntValues​(org.apache.syncope.core.persistence.api.entity.ExternalResource resource,
                                                                                                                                                                                              org.apache.syncope.common.lib.to.Provision provision,
                                                                                                                                                                                              org.apache.syncope.common.lib.to.Item mapItem,
                                                                                                                                                                                              org.apache.syncope.core.provisioning.api.IntAttrName intAttrName,
                                                                                                                                                                                              org.apache.syncope.common.lib.types.AttrSchemaType schemaType,
                                                                                                                                                                                              org.apache.syncope.core.persistence.api.entity.Any<?> any,
                                                                                                                                                                                              org.apache.syncope.core.provisioning.api.AccountGetter usernameAccountGetter,
                                                                                                                                                                                              org.apache.syncope.core.provisioning.api.PlainAttrGetter plainAttrGetter)
        Specified by:
        getIntValues in interface org.apache.syncope.core.provisioning.api.MappingManager
      • getGroupOwnerValue

        protected String getGroupOwnerValue​(org.apache.syncope.core.persistence.api.entity.ExternalResource resource,
                                            org.apache.syncope.common.lib.to.Provision provision,
                                            org.apache.syncope.core.persistence.api.entity.Any<?> any)
      • getConnObjectKeyValue

        @Transactional(readOnly=true)
        public Optional<String> getConnObjectKeyValue​(org.apache.syncope.core.persistence.api.entity.Any<?> any,
                                                      org.apache.syncope.core.persistence.api.entity.ExternalResource resource,
                                                      org.apache.syncope.common.lib.to.Provision provision)
        Specified by:
        getConnObjectKeyValue in interface org.apache.syncope.core.provisioning.api.MappingManager
      • getConnObjectKeyValue

        @Transactional(readOnly=true)
        public Optional<String> getConnObjectKeyValue​(org.apache.syncope.core.persistence.api.entity.Realm realm,
                                                      org.apache.syncope.common.lib.to.OrgUnit orgUnit)
        Specified by:
        getConnObjectKeyValue in interface org.apache.syncope.core.provisioning.api.MappingManager
      • setIntValues

        @Transactional(readOnly=true)
        public void setIntValues​(org.apache.syncope.common.lib.to.Item mapItem,
                                 org.identityconnectors.framework.common.objects.Attribute attr,
                                 org.apache.syncope.common.lib.to.AnyTO anyTO)
        Specified by:
        setIntValues in interface org.apache.syncope.core.provisioning.api.MappingManager
      • setIntValues

        public void setIntValues​(org.apache.syncope.common.lib.to.Item item,
                                 org.identityconnectors.framework.common.objects.Attribute attr,
                                 org.apache.syncope.common.lib.to.RealmTO realmTO)
        Specified by:
        setIntValues in interface org.apache.syncope.core.provisioning.api.MappingManager
      • hasMustChangePassword

        @Transactional(readOnly=true)
        public boolean hasMustChangePassword​(org.apache.syncope.common.lib.to.Provision provision)
        Specified by:
        hasMustChangePassword in interface org.apache.syncope.core.provisioning.api.MappingManager