Chapter 26. FallbackIdentityStoreRepository

26.1. ClassName
26.2. Behaviour
26.3. Configuration Options
26.4. Sample Configuration

org.picketlink.idm.impl.repository.FallbackIdentityStoreRepository

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.

                    
<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.