private void setupPicketlink(Properties config) throws Exception { String pkConfig = config.getProperty("picketlink.config_file_path"); URL pk_config_url = Thread.currentThread().getContextClassLoader().getResource(pkConfig); if (pk_config_url == null) { throw new IllegalStateException("Cannot fine resource: " + pkConfig); } this.realmName = config.getProperty("picketlink.realmName", "idm_realm"); IdentityConfigurationMetaData configMD = JAXB2IdentityConfiguration.createConfigurationMetaData(pk_config_url.openStream()); IdentityConfiguration identityConfiguration = new IdentityConfigurationImpl().configure(configMD); identityConfiguration.getIdentityConfigurationRegistry().register(sessionFactory_, "hibernateSessionFactory"); if (identitySessionFactory == null) { try { identitySessionFactory = identityConfiguration.buildIdentitySessionFactory(); } catch (IdentityConfigurationException e) { throw new RuntimeException(e); } } }
identityConfiguration.getIdentityConfigurationRegistry().register(hibernateService.getSessionFactory(), "hibernateSessionFactory"); staleCacheNodesLinksCleanerDelay, cache); picketLinkIDMCache.register(apiCacheProvider); identityConfiguration.getIdentityConfigurationRegistry().register(apiCacheProvider, "apiCacheProvider"); staleCacheNodesLinksCleanerDelay, cache); picketLinkIDMCache.register(storeCacheProvider); identityConfiguration.getIdentityConfigurationRegistry().register(storeCacheProvider, "storeCacheProvider"); identityConfiguration.getIdentityConfigurationRegistry().register(secureRandomProvider, DatabaseReadingSaltEncoder.DEFAULT_SECURE_RANDOM_PROVIDER_REGISTRY_NAME);