Resolves proper IdentityStore from IdentityObjectType mapping and delegates method invocation. For relationship related methods, if both IdentityObjectTypes are not mapped in one store, repository will try to sync them and associate in defaultIdentityStore. For attributes that are not mapped inside mapped IdentityStore repository will try to assign those attributes in defaultAttributeStore.
allowNotDefinedAttributes - if mapped IdentityStore doesn't support any attribute that was passed in method invocation FallbackIdentityStoreRepository will try to store it in defaultAttributeStore. If this option is set to true such attribute will be passed to defaultAttributeStore even if it is not mapped there.
<repository> <id>Repository XYZ</id> <class>org.picketlink.idm.impl.repository.FallbackIdentityStoreRepository</class> <external-config/> <default-identity-store-id>Identity Store XX</default-identity-store-id> <default-attribute-store-id>Identity Store XX</default-attribute-store-id> <identity-store-mappings> <identity-store-mapping> <identity-store-id>Identity Store XX</identity-store-id> <identity-object-types> <identity-object-type>DIVISION</identity-object-type> <identity-object-type>PROJECT</identity-object-type> <identity-object-type>PEOPLE</identity-object-type> </identity-object-types> <options/> </identity-store-mapping> <identity-store-mapping> <identity-store-id>Identity Store YY</identity-store-id> <identity-object-types> <identity-object-type>IDENTITY</identity-object-type> <identity-object-type>ORGANIZATION</identity-object-type> <identity-object-type>ORGANIZATION_UNIT</identity-object-type> <identity-object-type>DEPARTMENT</identity-object-type> </identity-object-types> <options> <option> <name>readOnly</name> <value>true</value> </option> </options> </identity-store-mapping> </identity-store-mappings> <options> <option> <name>allowNotDefinedAttributes</name> <value>true</value> </option> </options> </repository>
The readOnly options specifies that the only write operation performed on the store will be password update.