244         for (Spi spi : spiList) {
   247             Map<String, ProviderFactory> factories = 
new HashMap<String, ProviderFactory>();
   250             String 
provider = Config.getProvider(spi.getName());
   251             if (provider != null) {
   252                 this.provider.put(spi.getProviderClass(), 
provider);
   254                 ProviderFactory factory = pm.load(spi, provider);
   255                 if (factory == null) {
   256                     throw new RuntimeException(
"Failed to find provider " + provider + 
" for " + spi.getName());
   259                 Config.Scope scope = Config.scope(spi.getName(), 
provider);
   262                 if (spi.isInternal() && !
isInternal(factory)) {
   263                     ServicesLogger.LOGGER.spiMayChange(factory.getId(), factory.getClass().getName(), spi.getName());
   266                 factories.put(factory.getId(), factory);
   268                 logger.debugv(
"Loaded SPI {0} (provider = {1})", spi.getName(), 
provider);
   270                 for (ProviderFactory factory : pm.load(spi)) {
   271                     Config.Scope scope = Config.scope(spi.getName(), factory.getId());
   272                     if (scope.getBoolean(
"enabled", 
true)) {
   275                         if (spi.isInternal() && !
isInternal(factory)) {
   276                             ServicesLogger.LOGGER.spiMayChange(factory.getId(), factory.getClass().getName(), spi.getName());
   279                         factories.put(factory.getId(), factory);
   281                         logger.debugv(
"SPI {0} provider {1} disabled", spi.getName(), factory.getId());
   285                 if (factories.size() == 1) {
   286                     provider = factories.values().iterator().next().getId();
   287                     this.provider.put(spi.getProviderClass(), 
provider);
   289                     logger.debugv(
"Loaded SPI {0} (provider = {1})", spi.getName(), 
provider);
   291                     logger.debugv(
"Loaded SPI {0} (providers = {1})", spi.getName(), factories.keySet());
 Set< Spi > spis
Definition: DefaultKeycloakSessionFactory.java:48
 
Map< Class<? extends Provider >, String > provider
Definition: DefaultKeycloakSessionFactory.java:49
 
static final Logger logger
Definition: DefaultKeycloakSessionFactory.java:46
 
boolean isInternal(ProviderFactory<?> factory)
Definition: DefaultKeycloakSessionFactory.java:369
 
volatile Map< Class<? extends Provider >, Map< String, ProviderFactory > > factoriesMap
Definition: DefaultKeycloakSessionFactory.java:50