summaryrefslogtreecommitdiffstats
path: root/vespa-athenz
diff options
context:
space:
mode:
authorOla Aunronning <olaa@yahooinc.com>2023-04-27 10:28:49 +0200
committerOla Aunronning <olaa@yahooinc.com>2023-04-27 10:28:49 +0200
commit9c6234c28f24032101fbe9203aeceefcdbe9f255 (patch)
treee3aa4e0c705987cfe0b5fc7d3e2b036df69ebaf2 /vespa-athenz
parenta0621e8ce686f9a08ac7d619b93ac56c88d45d68 (diff)
Add ServiceIdentityProviderProvider
Diffstat (limited to 'vespa-athenz')
-rw-r--r--vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/client/ServiceIdentityProviderProvider.java32
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();
+ }
+}