public class org.finos.legend.engine.testable.persistence.mapper.v.DatasetMapper extends java.lang.Object
{
public static java.lang.String STAGING_SUFFIX;
private static java.lang.String DEFAULT_SCHEMA;
private static java.lang.String H2_PUBLIC_SCHEMA;
public void <init>()
{
org.finos.legend.engine.testable.persistence.mapper.v.DatasetMapper v;
v := @this: org.finos.legend.engine.testable.persistence.mapper.v.DatasetMapper;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public static org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset getTargetDataset(org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_Persistence) throws java.lang.Exception
{
java.lang.Object[] v;
org.eclipse.collections.api.block.function.Function v;
org.eclipse.collections.api.block.predicate.Predicate v;
org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.Database v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition v;
org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_Persistence v;
org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_persister_BatchPersister v;
org.eclipse.collections.api.RichIterable v, v;
org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_persister_targetshape_FlatTarget v;
java.lang.String v, v, v, v, v;
boolean v;
org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.Schema v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetDefinition$Builder v, v, v, v, v;
org.finos.legend.engine.testable.persistence.exception.PersistenceException v;
java.lang.Object v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetDefinition v;
v := @parameter: org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_Persistence;
v = staticinvoke <org.finos.legend.engine.testable.persistence.mapper.v.DatasetMapper: org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_persister_BatchPersister getBatchPersister(org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_Persistence)>(v);
v = staticinvoke <org.finos.legend.engine.testable.persistence.mapper.v.DatasetMapper: org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.Database getDatabase(org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_persister_BatchPersister)>(v);
v = staticinvoke <org.finos.legend.engine.testable.persistence.mapper.v.DatasetMapper: org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_persister_targetshape_FlatTarget getTarget(org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_persister_BatchPersister)>(v);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.Database: org.eclipse.collections.api.RichIterable _schemas()>();
v = staticinvoke <org.finos.legend.engine.testable.persistence.mapper.v.DatasetMapper$_tables__22: org.eclipse.collections.api.block.function.Function bootstrap$()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.RichIterable flatCollect(org.eclipse.collections.api.block.function.Function)>(v);
v = staticinvoke <org.finos.legend.engine.testable.persistence.mapper.v.DatasetMapper$lambda_getTargetDataset_199c2fcc_1__23: org.eclipse.collections.api.block.predicate.Predicate bootstrap$(org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_persister_targetshape_FlatTarget)>(v);
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: java.lang.Object detect(org.eclipse.collections.api.block.predicate.Predicate)>(v);
if v != null goto label;
v = new org.finos.legend.engine.testable.persistence.exception.PersistenceException;
v = newarray (java.lang.Object)[1];
v = interfaceinvoke v.<org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_persister_targetshape_FlatTarget: java.lang.String _targetName()>();
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Target table [%s] not found in Persistence Spec", v);
specialinvoke v.<org.finos.legend.engine.testable.persistence.exception.PersistenceException: void <init>(java.lang.String)>(v);
throw v;
label:
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.relation.Table: java.lang.String _name()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.relation.Table: org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.Schema _schema()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.Schema: java.lang.String _name()>();
v = <org.finos.legend.engine.testable.persistence.mapper.v.DatasetMapper: java.lang.String DEFAULT_SCHEMA>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = <org.finos.legend.engine.testable.persistence.mapper.v.DatasetMapper: java.lang.String H2_PUBLIC_SCHEMA>;
label:
v = staticinvoke <org.finos.legend.engine.testable.persistence.mapper.v.DatasetMapper: org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition getSchemaDefinition(org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.relation.Table)>(v);
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetDefinition: org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetDefinition$Builder builder()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetDefinition$Builder: org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetDefinition$Builder name(java.lang.String)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetDefinition$Builder: org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetDefinition$Builder group(java.lang.String)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetDefinition$Builder: org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetDefinition$Builder alias(java.lang.String)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetDefinition$Builder: org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetDefinition$Builder schema(org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetDefinition$Builder: org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetDefinition build()>();
return v;
}
public static org.finos.legend.engine.persistence.components.common.Datasets enrichAndDeriveDatasets(org.finos.legend.engine.protocol.pure.v.model.packageableElement.persistence.Persistence, org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset, java.lang.String) throws java.lang.Exception
{
org.finos.legend.engine.protocol.pure.v.model.packageableElement.persistence.Persistence v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset v;
org.finos.legend.engine.testable.persistence.mapper.v.DeriveDatasets v;
java.lang.Object v;
java.lang.String v;
org.finos.legend.engine.protocol.pure.v.model.packageableElement.persistence.persister.ingestmode.IngestMode v;
v := @parameter: org.finos.legend.engine.protocol.pure.v.model.packageableElement.persistence.Persistence;
v := @parameter: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset;
v := @parameter: java.lang.String;
v = staticinvoke <org.finos.legend.engine.testable.persistence.mapper.v.IngestModeMapper: org.finos.legend.engine.protocol.pure.v.model.packageableElement.persistence.persister.ingestmode.IngestMode getIngestMode(org.finos.legend.engine.protocol.pure.v.model.packageableElement.persistence.Persistence)>(v);
v = new org.finos.legend.engine.testable.persistence.mapper.v.DeriveDatasets;
specialinvoke v.<org.finos.legend.engine.testable.persistence.mapper.v.DeriveDatasets: void <init>(org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset,java.lang.String)>(v, v);
v = virtualinvoke v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.persistence.persister.ingestmode.IngestMode: java.lang.Object accept(org.finos.legend.engine.protocol.pure.v.model.packageableElement.persistence.persister.ingestmode.IngestModeVisitor)>(v);
return v;
}
private static org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_persister_targetshape_FlatTarget getTarget(org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_persister_BatchPersister)
{
java.lang.UnsupportedOperationException v;
org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_persister_BatchPersister v;
org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_persister_targetshape_TargetShape v;
boolean v;
v := @parameter: org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_persister_BatchPersister;
v = interfaceinvoke v.<org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_persister_BatchPersister: org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_persister_targetshape_TargetShape _targetShape()>();
v = v instanceof org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_persister_targetshape_FlatTarget;
if v != 0 goto label;
v = new java.lang.UnsupportedOperationException;
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>(java.lang.String)>("write-component-test only supports FlatTarget");
throw v;
label:
return v;
}
private static org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.Database getDatabase(org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_persister_BatchPersister)
{
java.lang.UnsupportedOperationException v;
org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_persister_BatchPersister v;
org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_persister_sink_Sink v;
org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.Database v;
boolean v;
v := @parameter: org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_persister_BatchPersister;
v = interfaceinvoke v.<org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_persister_BatchPersister: org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_persister_sink_Sink _sink()>();
v = v instanceof org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_persister_sink_RelationalSink;
if v != 0 goto label;
v = new java.lang.UnsupportedOperationException;
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>(java.lang.String)>("write-component-test only supports RelationalSink");
throw v;
label:
v = interfaceinvoke v.<org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_persister_sink_RelationalSink: org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.Database _database()>();
return v;
}
private static org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition getSchemaDefinition(org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.relation.Table) throws java.lang.Exception
{
org.eclipse.collections.api.block.function.Function v, v;
org.eclipse.collections.api.block.predicate.Predicate v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.FieldType v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition v;
org.eclipse.collections.api.RichIterable v, v, v, v, v, v;
org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.datatype.DataType v;
java.lang.String v, v, v;
boolean v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition$Builder v;
java.util.Iterator v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Field$Builder v, v, v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Field v;
org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.relation.Table v;
java.lang.Object v;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.relation.Table;
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition: org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition$Builder builder()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.relation.Table: org.eclipse.collections.api.RichIterable _columns()>();
v = staticinvoke <org.finos.legend.engine.testable.persistence.mapper.v.DatasetMapper$lambda_getSchemaDefinition_515ea73a_1__24: org.eclipse.collections.api.block.predicate.Predicate bootstrap$()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.RichIterable select(org.eclipse.collections.api.block.predicate.Predicate)>(v);
v = staticinvoke <org.finos.legend.engine.testable.persistence.mapper.v.DatasetMapper$lambda_getSchemaDefinition_d21c864c_1__25: org.eclipse.collections.api.block.function.Function bootstrap$()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.RichIterable collect(org.eclipse.collections.api.block.function.Function)>(v);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.relation.Table: org.eclipse.collections.api.RichIterable _primaryKey()>();
v = staticinvoke <org.finos.legend.engine.testable.persistence.mapper.v.DatasetMapper$lambda_getSchemaDefinition_ec02799f_1__26: org.eclipse.collections.api.block.predicate.Predicate bootstrap$()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.RichIterable select(org.eclipse.collections.api.block.predicate.Predicate)>(v);
v = staticinvoke <org.finos.legend.engine.testable.persistence.mapper.v.DatasetMapper$lambda_getSchemaDefinition_49eb1b1_1__27: org.eclipse.collections.api.block.function.Function bootstrap$()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.RichIterable collect(org.eclipse.collections.api.block.function.Function)>(v);
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.Column: org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.datatype.DataType _type()>();
v = staticinvoke <org.finos.legend.pure.generated.platform_store_relational_functions: java.lang.String Root_meta_relational_metamodel_datatype_dataTypeToSqlText_DataType_1__String_1_(org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.datatype.DataType,org.finos.legend.pure.m.execution.ExecutionSupport)>(v, null);
v = staticinvoke <org.finos.legend.engine.testable.persistence.mapper.FieldTypeMapper: org.finos.legend.engine.persistence.components.logicalplan.datasets.FieldType 'from'(java.lang.String)>(v);
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.datasets.Field: org.finos.legend.engine.persistence.components.logicalplan.datasets.Field$Builder builder()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.Column: java.lang.String _name()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Field$Builder: org.finos.legend.engine.persistence.components.logicalplan.datasets.Field$Builder name(java.lang.String)>(v);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.Column: java.lang.String _name()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: boolean contains(java.lang.Object)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Field$Builder: org.finos.legend.engine.persistence.components.logicalplan.datasets.Field$Builder primaryKey(boolean)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Field$Builder: org.finos.legend.engine.persistence.components.logicalplan.datasets.Field$Builder type(org.finos.legend.engine.persistence.components.logicalplan.datasets.FieldType)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Field$Builder: org.finos.legend.engine.persistence.components.logicalplan.datasets.Field build()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition$Builder: org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition$Builder addFields(org.finos.legend.engine.persistence.components.logicalplan.datasets.Field)>(v);
goto label;
label:
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition$Builder: org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition build()>();
return v;
}
private static org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_persister_BatchPersister getBatchPersister(org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_Persistence)
{
java.lang.UnsupportedOperationException v;
org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_Persistence v;
org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_persister_Persister v;
boolean v;
v := @parameter: org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_Persistence;
v = interfaceinvoke v.<org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_Persistence: org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_persister_Persister _persister()>();
v = v instanceof org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_persister_BatchPersister;
if v != 0 goto label;
v = new java.lang.UnsupportedOperationException;
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>(java.lang.String)>("write-component-test only supports BatchPersister");
throw v;
label:
return v;
}
static boolean isFieldNamePresent(org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition, java.lang.String)
{
java.util.List v;
java.util.stream.Stream v;
java.util.function.Predicate v;
java.lang.String v;
boolean v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition v;
v := @parameter: org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition: java.util.List fields()>();
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.finos.legend.engine.testable.persistence.mapper.v.DatasetMapper$lambda_isFieldNamePresent_0__28: java.util.function.Predicate bootstrap$(java.lang.String)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: boolean anyMatch(java.util.function.Predicate)>(v);
return v;
}
static void <clinit>()
{
<org.finos.legend.engine.testable.persistence.mapper.v.DatasetMapper: java.lang.String STAGING_SUFFIX> = "_staging";
<org.finos.legend.engine.testable.persistence.mapper.v.DatasetMapper: java.lang.String DEFAULT_SCHEMA> = "default";
<org.finos.legend.engine.testable.persistence.mapper.v.DatasetMapper: java.lang.String H2_PUBLIC_SCHEMA> = "PUBLIC";
return;
}
}