protected Map < String , List < Object > > getReleasedByDefaultAttributes ( final Principal p , final Map < String , List < Object > > attributes ) { val ctx = ApplicationContextProvider . getApplicationContext ( ) ; if ( ctx != null ) { LOGGER . trace ( "Located application context. Retrieving default attributes for release, if any" ) ; val props = ctx . getAutowireCapableBeanFactory ( ) . getBean ( CasConfigurationProperties . class ) ; val defaultAttrs = props . getAuthn ( ) . getAttributeRepository ( ) . getDefaultAttributesToRelease ( ) ; LOGGER . debug ( "Default attributes for release are: [{}]" , defaultAttrs ) ; val defaultAttributesToRelease = new TreeMap < String , List < Object > > ( String . CASE_INSENSITIVE_ORDER ) ; defaultAttrs . forEach ( key -> { if ( attributes . containsKey ( key ) ) { LOGGER . debug ( "Found and added default attribute for release: [{}]" , key ) ; defaultAttributesToRelease . put ( key , attributes . get ( key ) ) ; } } ) ; return defaultAttributesToRelease ; } return new TreeMap <> ( ) ; }
Determines a default bundle of attributes that may be released to all services without the explicit mapping for each service .