public class org.finos.legend.engine.authentication.flows.RedshiftWithUserPasswordFlow extends java.lang.Object implements org.finos.legend.engine.authentication.DatabaseAuthenticationFlow
{
public void <init>()
{
org.finos.legend.engine.authentication.flows.RedshiftWithUserPasswordFlow v;
v := @this: org.finos.legend.engine.authentication.flows.RedshiftWithUserPasswordFlow;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public java.lang.Class getDatasourceClass()
{
org.finos.legend.engine.authentication.flows.RedshiftWithUserPasswordFlow v;
v := @this: org.finos.legend.engine.authentication.flows.RedshiftWithUserPasswordFlow;
return class "Lorg/finos/legend/engine/protocol/pure/v1/model/packageableElement/store/relational/connection/specification/RedshiftDatasourceSpecification;";
}
public java.lang.Class getAuthenticationStrategyClass()
{
org.finos.legend.engine.authentication.flows.RedshiftWithUserPasswordFlow v;
v := @this: org.finos.legend.engine.authentication.flows.RedshiftWithUserPasswordFlow;
return class "Lorg/finos/legend/engine/protocol/pure/v1/model/packageableElement/store/relational/connection/authentication/UserNamePasswordAuthenticationStrategy;";
}
public org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.DatabaseType getDatabaseType()
{
org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.DatabaseType v;
org.finos.legend.engine.authentication.flows.RedshiftWithUserPasswordFlow v;
v := @this: org.finos.legend.engine.authentication.flows.RedshiftWithUserPasswordFlow;
v = <org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.DatabaseType: org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.DatabaseType Redshift>;
return v;
}
public org.finos.legend.engine.shared.core.identity.Credential makeCredential(org.finos.legend.engine.shared.core.identity.Identity, org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.specification.RedshiftDatasourceSpecification, org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.authentication.UserNamePasswordAuthenticationStrategy) throws java.lang.Exception
{
org.finos.legend.engine.shared.core.identity.Identity v;
org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.specification.RedshiftDatasourceSpecification v;
org.finos.legend.engine.shared.core.vault.Vault v, v;
org.finos.legend.engine.authentication.flows.RedshiftWithUserPasswordFlow v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v;
org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.authentication.UserNamePasswordAuthenticationStrategy v;
org.finos.legend.engine.shared.core.identity.credential.PlaintextUserPasswordCredential v;
v := @this: org.finos.legend.engine.authentication.flows.RedshiftWithUserPasswordFlow;
v := @parameter: org.finos.legend.engine.shared.core.identity.Identity;
v := @parameter: org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.specification.RedshiftDatasourceSpecification;
v := @parameter: org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.authentication.UserNamePasswordAuthenticationStrategy;
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.authentication.UserNamePasswordAuthenticationStrategy: java.lang.String baseVaultReference>;
if v != null goto label;
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.authentication.UserNamePasswordAuthenticationStrategy: java.lang.String userNameVaultReference>;
goto label;
label:
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.authentication.UserNamePasswordAuthenticationStrategy: java.lang.String baseVaultReference>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.authentication.UserNamePasswordAuthenticationStrategy: java.lang.String userNameVaultReference>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001\u0001");
label:
v = v;
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.authentication.UserNamePasswordAuthenticationStrategy: java.lang.String baseVaultReference>;
if v != null goto label;
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.authentication.UserNamePasswordAuthenticationStrategy: java.lang.String passwordVaultReference>;
goto label;
label:
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.authentication.UserNamePasswordAuthenticationStrategy: java.lang.String baseVaultReference>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.authentication.UserNamePasswordAuthenticationStrategy: java.lang.String passwordVaultReference>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001\u0001");
label:
v = <org.finos.legend.engine.shared.core.vault.Vault: org.finos.legend.engine.shared.core.vault.Vault INSTANCE>;
v = virtualinvoke v.<org.finos.legend.engine.shared.core.vault.Vault: java.lang.String getValue(java.lang.String)>(v);
v = <org.finos.legend.engine.shared.core.vault.Vault: org.finos.legend.engine.shared.core.vault.Vault INSTANCE>;
v = virtualinvoke v.<org.finos.legend.engine.shared.core.vault.Vault: java.lang.String getValue(java.lang.String)>(v);
v = new org.finos.legend.engine.shared.core.identity.credential.PlaintextUserPasswordCredential;
specialinvoke v.<org.finos.legend.engine.shared.core.identity.credential.PlaintextUserPasswordCredential: void <init>(java.lang.String,java.lang.String)>(v, v);
return v;
}
}