in services/secret-service/server/src/main/java/org/apache/airavata/mft/secret/server/backend/sql/SQLSecretBackend.java [243:281]
public Optional<SwiftSecret> getSwiftSecret(SwiftSecretGetRequest request) throws Exception {
Optional<SwiftSecretEntity> secEtyOp = swiftSecretRepository.findBySecretId(request.getSecretId());
if (secEtyOp.isPresent()) {
SwiftSecret.Builder secBuilder = SwiftSecret.newBuilder();
SwiftSecretEntity secEty = secEtyOp.get();
secBuilder.setSecretId(secEty.getSecretId());
secBuilder.setEndpoint(secEty.getEndpoint());
switch (secEty.getInternalSecretType()) {
case V2:
Optional<SwiftV2AuthSecretEntity> v2Sec = swiftV2AuthSecretRepository
.findBySecretId(secEty.getInternalSecretId());
if (v2Sec.isPresent()) {
SwiftV2AuthSecret.Builder v2Builder = SwiftV2AuthSecret.newBuilder();
mapper.map(v2Sec.get(), v2Builder);
secBuilder.setV2AuthSecret(v2Builder.build());
} else {
throw new Exception("Can not find a swift password secret with id " + secEty.getInternalSecretId());
}
break;
case V3:
Optional<SwiftV3AuthSecretEntity> v3Sec = swiftV3AuthSecretRepository
.findBySecretId(secEty.getInternalSecretId());
if (v3Sec.isPresent()) {
SwiftV3AuthSecret.Builder v3Builder = SwiftV3AuthSecret.newBuilder();
mapper.map(v3Sec.get(), v3Builder);
secBuilder.setV3AuthSecret(v3Builder.build());
} else {
throw new Exception("Can not find a swift auth cred secret with id " + secEty.getInternalSecretId());
}
break;
default:
throw new Exception("Non compatible internal secret type : " + secEty.getInternalSecretType());
}
return Optional.of(secBuilder.build());
} else {
return Optional.empty();
}
}