Add PasswordCredentialAuth interface
[netconf.git] / netconf / aaa-authn-odl-plugin / src / main / java / org / opendaylight / aaa / odl / CredentialServiceAuthProvider.java
index fe1f21c064e6cdc6a94463302cccb174ad072f7c..2fb22dbe56b9586aacfae67c007961514fa808eb 100644 (file)
@@ -10,7 +10,6 @@ package org.opendaylight.aaa.odl;
 import java.util.Map;
 import org.opendaylight.aaa.api.AuthenticationException;
 import org.opendaylight.aaa.api.Claim;
-import org.opendaylight.aaa.api.CredentialAuth;
 import org.opendaylight.aaa.api.PasswordCredentials;
 import org.opendaylight.netconf.auth.AuthProvider;
 import org.osgi.framework.BundleContext;
@@ -32,36 +31,34 @@ public final class CredentialServiceAuthProvider implements AuthProvider, AutoCl
      */
     public static volatile Map.Entry<BundleContext, CredentialServiceAuthProvider> INSTANCE;
 
-    // FIXME CredentialAuth is generic and it causes warnings during compilation
-    // Maybe there should be a PasswordCredentialAuth implements CredentialAuth<PasswordCredentials>
-    private volatile CredentialAuth<PasswordCredentials> nullableCredService;
-    private final ServiceTracker<CredentialAuth, CredentialAuth> listenerTracker;
+    private volatile PasswordCredentialAuth nullableCredService;
+    private final ServiceTracker<PasswordCredentialAuth, PasswordCredentialAuth> listenerTracker;
 
     public CredentialServiceAuthProvider(final BundleContext bundleContext) {
 
-        final ServiceTrackerCustomizer<CredentialAuth, CredentialAuth> customizer = new ServiceTrackerCustomizer<CredentialAuth, CredentialAuth>() {
+        final ServiceTrackerCustomizer<PasswordCredentialAuth, PasswordCredentialAuth> customizer = new ServiceTrackerCustomizer<PasswordCredentialAuth, PasswordCredentialAuth>() {
             @Override
-            public CredentialAuth addingService(final ServiceReference<CredentialAuth> reference) {
+            public PasswordCredentialAuth addingService(final ServiceReference<PasswordCredentialAuth> reference) {
                 logger.trace("Credential service {} added", reference);
-                nullableCredService = bundleContext.getService(reference);
+                nullableCredService =  bundleContext.getService(reference);
                 return nullableCredService;
             }
 
             @Override
-            public void modifiedService(final ServiceReference<CredentialAuth> reference, final CredentialAuth service) {
+            public void modifiedService(final ServiceReference<PasswordCredentialAuth> reference, final PasswordCredentialAuth service) {
                 logger.trace("Replacing modified Credential service {}", reference);
                 nullableCredService = service;
             }
 
             @Override
-            public void removedService(final ServiceReference<CredentialAuth> reference, final CredentialAuth service) {
+            public void removedService(final ServiceReference<PasswordCredentialAuth> reference, final PasswordCredentialAuth service) {
                 logger.trace("Removing Credential service {}. This AuthProvider will fail to authenticate every time", reference);
                 synchronized (CredentialServiceAuthProvider.this) {
                     nullableCredService = null;
                 }
             }
         };
-        listenerTracker = new ServiceTracker<>(bundleContext, CredentialAuth.class, customizer);
+        listenerTracker = new ServiceTracker<>(bundleContext, PasswordCredentialAuth.class, customizer);
         listenerTracker.open();
     }