Improve principal handling 99/101699/2
authorRobert Varga <robert.varga@pantheon.tech>
Sun, 3 Jul 2022 01:08:23 +0000 (03:08 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Sun, 3 Jul 2022 01:25:53 +0000 (03:25 +0200)
Use an implicit type check instead of a CCE.

Change-Id: I3b9a897b05ecb6391a5613045f759799e619191f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
aaa-shiro/impl/src/main/java/org/opendaylight/aaa/shiro/realm/KeystoneAuthRealm.java

index 364aa80e93af67352cb64e45066d409c8321e92a..461021d7b4678ef78e542b6de6f24db46477c786 100644 (file)
@@ -85,14 +85,12 @@ public class KeystoneAuthRealm extends AuthorizingRealm {
 
     @Override
     protected AuthorizationInfo doGetAuthorizationInfo(final PrincipalCollection principalCollection) {
-        final Object primaryPrincipal = getAvailablePrincipal(principalCollection);
-        final ODLPrincipal odlPrincipal;
-        try {
-            odlPrincipal = (ODLPrincipal) primaryPrincipal;
-            return new SimpleAuthorizationInfo(odlPrincipal.getRoles());
-        } catch (ClassCastException e) {
-            LOG.error("Couldn't decode authorization request", e);
+        final var primaryPrincipal = getAvailablePrincipal(principalCollection);
+        if (primaryPrincipal instanceof ODLPrincipal) {
+            return new SimpleAuthorizationInfo(((ODLPrincipal) primaryPrincipal).getRoles());
         }
+
+        LOG.error("Unsupported principal {}", primaryPrincipal);
         return new SimpleAuthorizationInfo();
     }