Migrate more ThreadLocals
[aaa.git] / aaa-shiro / impl / src / main / java / org / opendaylight / aaa / shiro / web / env / AAAIniWebEnvironment.java
index 87956637b469f551486f8059779c088b37222ee1..f085e569430174470d40fe617534976988328e16 100644 (file)
@@ -20,6 +20,7 @@ import org.opendaylight.aaa.api.password.service.PasswordHashService;
 import org.opendaylight.aaa.cert.api.ICertificateManager;
 import org.opendaylight.aaa.shiro.realm.KeystoneAuthRealm;
 import org.opendaylight.aaa.shiro.realm.MoonRealm;
+import org.opendaylight.aaa.shiro.realm.TokenAuthRealm;
 import org.opendaylight.aaa.tokenauthrealm.auth.TokenAuthenticators;
 import org.opendaylight.aaa.web.servlet.ServletSupport;
 import org.opendaylight.mdsal.binding.api.DataBroker;
@@ -94,25 +95,21 @@ class AAAIniWebEnvironment extends IniWebEnvironment {
     @Override
     public void init() {
         ThreadLocals.DATABROKER_TL.set(dataBroker);
-        ThreadLocals.AUTH_SETVICE_TL.set(authenticationService);
-        ThreadLocals.TOKEN_AUTHENICATORS_TL.set(tokenAuthenticators);
-        ThreadLocals.TOKEN_STORE_TL.set(tokenStore);
         ThreadLocals.PASSWORD_HASH_SERVICE_TL.set(passwordHashService);
-        try (var keyStoneLoad = KeystoneAuthRealm.prepareForLoad(certificateManager)) {
-            try (var moonLoad = MoonRealm.prepareForLoad(servletSupport)) {
-                // Initialize the Shiro environment from clustered-app-config
-                final Ini ini = createIniFromClusteredAppConfig(shiroConfiguration);
-                setIni(ini);
-                ClassLoaderUtils.getWithClassLoader(AAAIniWebEnvironment.class.getClassLoader(), () -> {
-                    super.init();
-                    return null;
-                });
-            }
+        try (
+            var keyStoneLoad = KeystoneAuthRealm.prepareForLoad(certificateManager);
+            var moonLoad = MoonRealm.prepareForLoad(servletSupport);
+            var tokenAuthLoad = TokenAuthRealm.prepareForLoad(authenticationService, tokenAuthenticators, tokenStore)) {
+
+            // Initialize the Shiro environment from clustered-app-config
+            final Ini ini = createIniFromClusteredAppConfig(shiroConfiguration);
+            setIni(ini);
+            ClassLoaderUtils.getWithClassLoader(AAAIniWebEnvironment.class.getClassLoader(), () -> {
+                super.init();
+                return null;
+            });
         } finally {
             ThreadLocals.DATABROKER_TL.remove();
-            ThreadLocals.AUTH_SETVICE_TL.remove();
-            ThreadLocals.TOKEN_AUTHENICATORS_TL.remove();
-            ThreadLocals.TOKEN_STORE_TL.remove();
             ThreadLocals.PASSWORD_HASH_SERVICE_TL.remove();
         }
     }