in transport/swift-transport/src/main/java/org/apache/airavata/mft/transport/swift/SwiftUtil.java [68:116]
public SwiftApi leaseSwiftApi(SwiftSecret swiftSecret) throws Exception {
String secretKey = getSecretKey(swiftSecret);
if (swiftApiCache.get().containsKey(secretKey)) {
return swiftApiCache.get().get(secretKey);
}
SwiftApi swiftApi;
String provider = "openstack-swift";
Properties overrides = new Properties();
switch (swiftSecret.getSecretCase()) {
case V2AUTHSECRET:
SwiftV2AuthSecret v2AuthSecret = swiftSecret.getV2AuthSecret();
overrides.put(KeystoneProperties.KEYSTONE_VERSION, "2");
swiftApi = ContextBuilder.newBuilder(provider)
.endpoint(swiftSecret.getEndpoint())
.credentials(v2AuthSecret.getTenant() + ":" + v2AuthSecret.getUserName(),
v2AuthSecret.getPassword())
.overrides(overrides)
.buildApi(SwiftApi.class);
break;
case V3AUTHSECRET:
SwiftV3AuthSecret v3AuthSecret = swiftSecret.getV3AuthSecret();
overrides.put(KeystoneProperties.KEYSTONE_VERSION, "3");
if (!"".equals(v3AuthSecret.getTenantName())) {
overrides.put(KeystoneProperties.SCOPE, "project:" + v3AuthSecret.getTenantName());
}
if (!"".equals(v3AuthSecret.getProjectDomainName())) {
overrides.put(KeystoneProperties.PROJECT_DOMAIN_NAME, v3AuthSecret.getProjectDomainName());
}
swiftApi = ContextBuilder.newBuilder(provider)
.endpoint(swiftSecret.getEndpoint())
.credentials(v3AuthSecret.getUserDomainName() + ":" + v3AuthSecret.getUserName(),
v3AuthSecret.getPassword())
.overrides(overrides)
.buildApi(SwiftApi.class);
break;
default:
throw new Exception("No v2 or v3 auth secret set");
}
swiftApiCache.get().put(secretKey, swiftApi);
return swiftApi;
}