summaryrefslogtreecommitdiffstats
path: root/keystone-client/src/main/java/com/woorea/openstack/keystone/utils/KeystoneTokenProvider.java
diff options
context:
space:
mode:
Diffstat (limited to 'keystone-client/src/main/java/com/woorea/openstack/keystone/utils/KeystoneTokenProvider.java')
-rw-r--r--keystone-client/src/main/java/com/woorea/openstack/keystone/utils/KeystoneTokenProvider.java92
1 files changed, 46 insertions, 46 deletions
diff --git a/keystone-client/src/main/java/com/woorea/openstack/keystone/utils/KeystoneTokenProvider.java b/keystone-client/src/main/java/com/woorea/openstack/keystone/utils/KeystoneTokenProvider.java
index fb5127a..3396492 100644
--- a/keystone-client/src/main/java/com/woorea/openstack/keystone/utils/KeystoneTokenProvider.java
+++ b/keystone-client/src/main/java/com/woorea/openstack/keystone/utils/KeystoneTokenProvider.java
@@ -1,56 +1,56 @@
package com.woorea.openstack.keystone.utils;
-import java.util.concurrent.ConcurrentHashMap;
-
import com.woorea.openstack.base.client.OpenStackTokenProvider;
import com.woorea.openstack.keystone.Keystone;
import com.woorea.openstack.keystone.model.Access;
import com.woorea.openstack.keystone.model.authentication.UsernamePassword;
+import java.util.concurrent.ConcurrentHashMap;
public class KeystoneTokenProvider {
- protected Keystone keystone;
-
- protected String username;
-
- protected String password;
-
- ConcurrentHashMap<String, Access> hashTenantAccess;
-
- public KeystoneTokenProvider(String endpoint, String username, String password) {
- this.keystone = new Keystone(endpoint);
- this.username = username;
- this.password = password;
- this.hashTenantAccess = new ConcurrentHashMap<String, Access>();
- }
-
- public Access getAccessByTenant(String tenantName) {
- Access access = hashTenantAccess.get(tenantName);
- if (access == null) {
- access = keystone.tokens().authenticate(new UsernamePassword(username, password))
- .withTenantName(tenantName)
- .execute();
- hashTenantAccess.put(tenantName, access);
- }
- return access;
- }
-
- public void expireAccessByTenant(String tenantName) {
- hashTenantAccess.remove(tenantName);
- }
-
- public OpenStackTokenProvider getProviderByTenant(final String tenantName) {
- final KeystoneTokenProvider keystoneTokenProvider = this;
- return new OpenStackTokenProvider() {
- @Override
- public String getToken() {
- return keystoneTokenProvider.getAccessByTenant(tenantName)
- .getToken().getId();
- }
- @Override
- public void expireToken() {
- keystoneTokenProvider.expireAccessByTenant(tenantName);
- }
- };
- }
+ protected Keystone keystone;
+
+ protected String username;
+
+ protected String password;
+
+ protected ConcurrentHashMap<String, Access> hashTenantAccess;
+
+ public KeystoneTokenProvider(String endpoint, String username, String password) {
+ keystone = new Keystone(endpoint);
+ this.username = username;
+ this.password = password;
+ hashTenantAccess = new ConcurrentHashMap<>();
+ }
+
+ public Access getAccessByTenant(String tenantName) {
+ Access access = hashTenantAccess.get(tenantName);
+ if (access == null) {
+ access = keystone.tokens().authenticate(new UsernamePassword(username, password))
+ .withTenantName(tenantName)
+ .execute();
+ hashTenantAccess.put(tenantName, access);
+ }
+ return access;
+ }
+
+ public void expireAccessByTenant(String tenantName) {
+ hashTenantAccess.remove(tenantName);
+ }
+
+ public OpenStackTokenProvider getProviderByTenant(final String tenantName) {
+ final KeystoneTokenProvider keystoneTokenProvider = this;
+ return new OpenStackTokenProvider() {
+ @Override
+ public String getToken() {
+ return keystoneTokenProvider.getAccessByTenant(tenantName)
+ .getToken().getId();
+ }
+
+ @Override
+ public void expireToken() {
+ keystoneTokenProvider.expireAccessByTenant(tenantName);
+ }
+ };
+ }
}