diff options
Diffstat (limited to 'vespa-athenz')
-rw-r--r-- | vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/client/ServiceIdentityProviderProvider.java | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/client/ServiceIdentityProviderProvider.java b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/client/ServiceIdentityProviderProvider.java new file mode 100644 index 00000000000..d9458f32b98 --- /dev/null +++ b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/client/ServiceIdentityProviderProvider.java @@ -0,0 +1,32 @@ +package com.yahoo.vespa.athenz.identityprovider.client; + +import com.yahoo.container.di.componentgraph.Provider; +import com.yahoo.container.jdisc.athenz.AthenzIdentityProvider; +import com.yahoo.vespa.athenz.identity.ServiceIdentityProvider; + +import javax.inject.Inject; + +/** + * @author olaa + */ +public class ServiceIdentityProviderProvider implements Provider<ServiceIdentityProvider> { + + private AthenzIdentityProvider athenzIdentityProvider; + + @Inject + public ServiceIdentityProviderProvider(AthenzIdentityProvider athenzIdentityProvider) { + this.athenzIdentityProvider = athenzIdentityProvider; + } + + @Override + public ServiceIdentityProvider get() { + if (athenzIdentityProvider instanceof AthenzIdentityProviderImpl impl) return impl; + if (athenzIdentityProvider instanceof LegacyAthenzIdentityProviderImpl legacyImpl) return legacyImpl; + return null; + } + + @Override + public void deconstruct() { + athenzIdentityProvider.deconstruct(); + } +} |