public class org.finos.legend.engine.authentication.flows.DatabricksWithApiTokenFlow extends java.lang.Object implements org.finos.legend.engine.authentication.DatabaseAuthenticationFlow
{
public void <init>()
{
org.finos.legend.engine.authentication.flows.DatabricksWithApiTokenFlow v;
v := @this: org.finos.legend.engine.authentication.flows.DatabricksWithApiTokenFlow;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public java.lang.Class getDatasourceClass()
{
org.finos.legend.engine.authentication.flows.DatabricksWithApiTokenFlow v;
v := @this: org.finos.legend.engine.authentication.flows.DatabricksWithApiTokenFlow;
return class "Lorg/finos/legend/engine/protocol/pure/v1/model/packageableElement/store/relational/connection/specification/DatabricksDatasourceSpecification;";
}
public java.lang.Class getAuthenticationStrategyClass()
{
org.finos.legend.engine.authentication.flows.DatabricksWithApiTokenFlow v;
v := @this: org.finos.legend.engine.authentication.flows.DatabricksWithApiTokenFlow;
return class "Lorg/finos/legend/engine/protocol/pure/v1/model/packageableElement/store/relational/connection/authentication/ApiTokenAuthenticationStrategy;";
}
public org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.DatabaseType getDatabaseType()
{
org.finos.legend.engine.authentication.flows.DatabricksWithApiTokenFlow v;
org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.DatabaseType v;
v := @this: org.finos.legend.engine.authentication.flows.DatabricksWithApiTokenFlow;
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 Databricks>;
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.DatabricksDatasourceSpecification, org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.authentication.ApiTokenAuthenticationStrategy) throws java.lang.Exception
{
org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.authentication.ApiTokenAuthenticationStrategy v;
org.finos.legend.engine.shared.core.identity.Identity v;
org.finos.legend.engine.authentication.flows.DatabricksWithApiTokenFlow v;
org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.specification.DatabricksDatasourceSpecification v;
org.finos.legend.engine.shared.core.vault.Vault v;
java.lang.Exception v;
org.finos.legend.engine.shared.core.identity.credential.ApiTokenCredential v;
int v;
java.lang.String v, v;
v := @this: org.finos.legend.engine.authentication.flows.DatabricksWithApiTokenFlow;
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.DatabricksDatasourceSpecification;
v := @parameter: org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.authentication.ApiTokenAuthenticationStrategy;
v = <org.finos.legend.engine.shared.core.vault.Vault: org.finos.legend.engine.shared.core.vault.Vault INSTANCE>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.authentication.ApiTokenAuthenticationStrategy: java.lang.String apiToken>;
v = virtualinvoke v.<org.finos.legend.engine.shared.core.vault.Vault: java.lang.String getValue(java.lang.String)>(v);
if v == null goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
if v != 0 goto label;
label:
v = new java.lang.Exception;
specialinvoke v.<java.lang.Exception: void <init>(java.lang.String)>("Could not retrieve API token from default vault");
throw v;
label:
v = new org.finos.legend.engine.shared.core.identity.credential.ApiTokenCredential;
specialinvoke v.<org.finos.legend.engine.shared.core.identity.credential.ApiTokenCredential: void <init>(java.lang.String)>(v);
return v;
}
}