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 getTargetDatasetV2(org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_Persistence, org.finos.legend.engine.protocol.pure.v.model.valueSpecification.raw.classInstance.path.Path) throws java.lang.Exception
{
org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition v;
org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_Persistence v;
org.eclipse.collections.api.RichIterable v;
int v;
java.lang.String v, v, v, v;
boolean v;
org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.Schema v;
org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_service_ServiceOutputTarget v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetDefinition$Builder v, v, v, v, v;
org.finos.legend.engine.protocol.pure.v.model.valueSpecification.raw.classInstance.path.Path v;
org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.relation.Table 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 := @parameter: org.finos.legend.engine.protocol.pure.v.model.valueSpecification.raw.classInstance.path.Path;
v = interfaceinvoke v.<org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_Persistence: org.eclipse.collections.api.RichIterable _serviceOutputTargets()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: int size()>();
if v <= 1 goto label;
if v == null goto label;
v = staticinvoke <org.finos.legend.engine.testable.persistence.mapper.v.DatasetMapper: org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_service_ServiceOutputTarget getMultiFlatServiceTargetOutput(org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_Persistence,org.finos.legend.engine.protocol.pure.v.model.valueSpecification.raw.classInstance.path.Path)>(v, v);
goto label;
label:
v = staticinvoke <org.finos.legend.engine.testable.persistence.mapper.v.DatasetMapper: org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_service_ServiceOutputTarget getFlatServiceTargetOutput(org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_Persistence)>(v);
label:
v = staticinvoke <org.finos.legend.engine.testable.persistence.mapper.v.DatasetMapper: org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.relation.Table getTargetTable(org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_service_ServiceOutputTarget)>(v);
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 = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.relation.Table: java.lang.String _name()>();
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 = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.relation.Table: java.lang.String _name()>();
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;
}
private static org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_service_ServiceOutputTarget getMultiFlatServiceTargetOutput(org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_Persistence, org.finos.legend.engine.protocol.pure.v.model.valueSpecification.raw.classInstance.path.Path) throws java.lang.Exception
{
org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_Persistence v;
org.eclipse.collections.api.RichIterable v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.path.Path v;
int v;
org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_service_ServiceOutput v;
java.lang.String v, v;
boolean v, v;
java.util.Iterator v;
java.lang.Exception v, v;
org.finos.legend.engine.protocol.pure.v.model.valueSpecification.raw.classInstance.path.Path v;
java.util.List v, v;
java.lang.Object v, v;
v := @parameter: org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_Persistence;
v := @parameter: org.finos.legend.engine.protocol.pure.v.model.valueSpecification.raw.classInstance.path.Path;
v = interfaceinvoke v.<org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_Persistence: org.eclipse.collections.api.RichIterable _serviceOutputTargets()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: int size()>();
if v != 1 goto label;
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: java.lang.Object getAny()>();
return v;
label:
if v != null goto label;
v = new java.lang.Exception;
specialinvoke v.<java.lang.Exception: void <init>(java.lang.String)>("Graph fetch service-outputs require path parameter within tests");
throw v;
label:
v = staticinvoke <org.finos.legend.engine.testable.persistence.mapper.v.IngestModeMapper: java.util.List getPropertyList(org.finos.legend.engine.protocol.pure.v.model.valueSpecification.raw.classInstance.path.Path)>(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.generated.Root_meta_pure_persistence_metamodel_service_ServiceOutputTarget: org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_service_ServiceOutput _serviceOutput()>();
v = interfaceinvoke v.<org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_service_GraphFetchServiceOutput: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.path.Path _path()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.path.Path: java.lang.String _name()>();
v = v.<org.finos.legend.engine.protocol.pure.v.model.valueSpecification.raw.classInstance.path.Path: java.lang.String name>;
if v != v goto label;
v = staticinvoke <org.finos.legend.engine.testable.persistence.mapper.v.DatasetMapper: java.util.List getPurePropertyList(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.path.Path)>(v);
v = interfaceinvoke v.<java.util.List: boolean containsAll(java.util.Collection)>(v);
if v == 0 goto label;
return v;
label:
v = new java.lang.Exception;
specialinvoke v.<java.lang.Exception: void <init>(java.lang.String)>("Exception : Cannot find a serviceOutputTarget with the matching path");
throw v;
}
private static java.util.List getPurePropertyList(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.path.Path)
{
org.eclipse.collections.api.RichIterable v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.path.Path v;
org.eclipse.collections.api.block.procedure.Procedure v;
java.util.ArrayList v;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.path.Path;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.path.Path: org.eclipse.collections.api.RichIterable _path()>();
v = staticinvoke <org.finos.legend.engine.testable.persistence.mapper.v.DatasetMapper$lambda_getPurePropertyList_d9b38fab_1__1: org.eclipse.collections.api.block.procedure.Procedure bootstrap$(java.util.List)>(v);
interfaceinvoke v.<org.eclipse.collections.api.RichIterable: void forEach(org.eclipse.collections.api.block.procedure.Procedure)>(v);
return v;
}
public static org.finos.legend.engine.persistence.components.common.Datasets enrichAndDeriveDatasets(org.finos.legend.engine.protocol.pure.v.model.packageableElement.persistence.service.output.ServiceOutputTarget, org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset, java.lang.String) throws java.lang.Exception
{
org.finos.legend.engine.persistence.components.common.Datasets v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset v;
java.lang.String v;
org.finos.legend.engine.protocol.pure.v.model.packageableElement.persistence.service.output.ServiceOutputTarget v;
v := @parameter: org.finos.legend.engine.protocol.pure.v.model.packageableElement.persistence.service.output.ServiceOutputTarget;
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.persistence.components.common.Datasets deriveDatasets(org.finos.legend.engine.protocol.pure.v.model.packageableElement.persistence.service.output.ServiceOutputTarget,org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset,java.lang.String)>(v, v, v);
return v;
}
private static org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.relation.Table getTargetTable(org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_service_ServiceOutputTarget)
{
java.lang.UnsupportedOperationException v;
org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_target_PersistenceTarget v;
org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.relation.Table v;
org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_service_ServiceOutputTarget v;
boolean v;
v := @parameter: org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_service_ServiceOutputTarget;
v = interfaceinvoke v.<org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_service_ServiceOutputTarget: org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_target_PersistenceTarget _target()>();
v = v instanceof org.finos.legend.pure.generated.Root_meta_pure_persistence_relational_metamodel_RelationalPersistenceTarget;
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_relational_metamodel_RelationalPersistenceTarget: org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.relation.Table _table()>();
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__2: 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__3: 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__4: 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__5: 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;
}
public static org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_service_ServiceOutputTarget getFlatServiceTargetOutput(org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_Persistence)
{
java.lang.Object v;
org.finos.legend.pure.generated.Root_meta_pure_persistence_metamodel_Persistence v;
org.eclipse.collections.api.RichIterable 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.eclipse.collections.api.RichIterable _serviceOutputTargets()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: java.lang.Object getAny()>();
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__6: 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;
}
}