public class org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningConditionVisitor extends java.lang.Object implements org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningStrategyVisitor
{
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset mainDataset;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset stagingDataset;
boolean invertComparison;
java.lang.String digestField;
public void <init>(org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset, org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset, boolean, java.lang.String)
{
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset v, v;
java.lang.String v;
org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningConditionVisitor v;
boolean v;
v := @this: org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningConditionVisitor;
v := @parameter: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset;
v := @parameter: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset;
v := @parameter: boolean;
v := @parameter: java.lang.String;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningConditionVisitor: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset mainDataset> = v;
v.<org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningConditionVisitor: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset stagingDataset> = v;
v.<org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningConditionVisitor: boolean invertComparison> = v;
v.<org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningConditionVisitor: java.lang.String digestField> = v;
return;
}
public org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition visitNoVersioningStrategy(org.finos.legend.engine.persistence.components.ingestmode.versioning.NoVersioningStrategyAbstract)
{
org.finos.legend.engine.persistence.components.ingestmode.versioning.NoVersioningStrategyAbstract v;
org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningConditionVisitor v;
org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition v;
v := @this: org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningConditionVisitor;
v := @parameter: org.finos.legend.engine.persistence.components.ingestmode.versioning.NoVersioningStrategyAbstract;
v = specialinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningConditionVisitor: org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition getDigestBasedVersioningCondition()>();
return v;
}
public org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition visitMaxVersionStrategy(org.finos.legend.engine.persistence.components.ingestmode.versioning.MaxVersionStrategyAbstract)
{
org.finos.legend.engine.persistence.components.ingestmode.versioning.MaxVersionStrategyAbstract v;
org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningConditionVisitor v;
java.util.function.Supplier v;
java.util.Optional v;
java.lang.Object v, v;
java.lang.String v;
org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningConditionVisitor$VersioningCondition v;
v := @this: org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningConditionVisitor;
v := @parameter: org.finos.legend.engine.persistence.components.ingestmode.versioning.MaxVersionStrategyAbstract;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.versioning.MaxVersionStrategyAbstract: java.util.Optional mergeDataVersionResolver()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningConditionVisitor$init__58: java.util.function.Supplier bootstrap$()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElseThrow(java.util.function.Supplier)>(v);
v = new org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningConditionVisitor$VersioningCondition;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.versioning.MaxVersionStrategyAbstract: java.lang.String versioningField()>();
specialinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningConditionVisitor$VersioningCondition: void <init>(org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningConditionVisitor,java.lang.String)>(v, v);
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.versioning.MergeDataVersionResolver: java.lang.Object accept(org.finos.legend.engine.persistence.components.ingestmode.versioning.MergeDataVersionResolverVisitor)>(v);
return v;
}
public org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition visitAllVersionsStrategy(org.finos.legend.engine.persistence.components.ingestmode.versioning.AllVersionsStrategyAbstract)
{
org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningConditionVisitor v;
java.util.function.Supplier v;
java.util.Optional v;
java.lang.Object v, v;
java.lang.String v;
org.finos.legend.engine.persistence.components.ingestmode.versioning.AllVersionsStrategyAbstract v;
org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningConditionVisitor$VersioningCondition v;
v := @this: org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningConditionVisitor;
v := @parameter: org.finos.legend.engine.persistence.components.ingestmode.versioning.AllVersionsStrategyAbstract;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.versioning.AllVersionsStrategyAbstract: java.util.Optional mergeDataVersionResolver()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningConditionVisitor$init__59: java.util.function.Supplier bootstrap$()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElseThrow(java.util.function.Supplier)>(v);
v = new org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningConditionVisitor$VersioningCondition;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.versioning.AllVersionsStrategyAbstract: java.lang.String versioningField()>();
specialinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningConditionVisitor$VersioningCondition: void <init>(org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningConditionVisitor,java.lang.String)>(v, v);
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.versioning.MergeDataVersionResolver: java.lang.Object accept(org.finos.legend.engine.persistence.components.ingestmode.versioning.MergeDataVersionResolverVisitor)>(v);
return v;
}
private org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition getVersioningCondition(org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue, org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue, org.finos.legend.engine.persistence.components.ingestmode.versioning.VersionComparator)
{
java.lang.IllegalStateException v;
org.finos.legend.engine.persistence.components.logicalplan.conditions.GreaterThanEqualTo v;
org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue v, v;
org.finos.legend.engine.persistence.components.logicalplan.conditions.GreaterThan v;
org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningConditionVisitor v;
org.finos.legend.engine.persistence.components.logicalplan.conditions.LessThan v;
org.finos.legend.engine.persistence.components.logicalplan.conditions.LessThanEqualTo v;
org.finos.legend.engine.persistence.components.ingestmode.versioning.VersionComparator v;
int[] v;
int v, v;
boolean v, v;
v := @this: org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningConditionVisitor;
v := @parameter: org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue;
v := @parameter: org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue;
v := @parameter: org.finos.legend.engine.persistence.components.ingestmode.versioning.VersionComparator;
v = <org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningConditionVisitor$1: int[] $SwitchMap$org$finos$legend$engine$persistence$components$ingestmode$versioning$VersionComparator>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.versioning.VersionComparator: int ordinal()>();
v = v[v];
lookupswitch(v)
{
case 1: goto label;
case 2: goto label;
default: goto label;
};
label:
v = v.<org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningConditionVisitor: boolean invertComparison>;
if v == 0 goto label;
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.conditions.LessThanEqualTo: org.finos.legend.engine.persistence.components.logicalplan.conditions.LessThanEqualTo of(org.finos.legend.engine.persistence.components.logicalplan.values.Value,org.finos.legend.engine.persistence.components.logicalplan.values.Value)>(v, v);
return v;
label:
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.conditions.GreaterThan: org.finos.legend.engine.persistence.components.logicalplan.conditions.GreaterThan of(org.finos.legend.engine.persistence.components.logicalplan.values.Value,org.finos.legend.engine.persistence.components.logicalplan.values.Value)>(v, v);
return v;
label:
v = v.<org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningConditionVisitor: boolean invertComparison>;
if v == 0 goto label;
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.conditions.LessThan: org.finos.legend.engine.persistence.components.logicalplan.conditions.LessThan of(org.finos.legend.engine.persistence.components.logicalplan.values.Value,org.finos.legend.engine.persistence.components.logicalplan.values.Value)>(v, v);
return v;
label:
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.conditions.GreaterThanEqualTo: org.finos.legend.engine.persistence.components.logicalplan.conditions.GreaterThanEqualTo of(org.finos.legend.engine.persistence.components.logicalplan.values.Value,org.finos.legend.engine.persistence.components.logicalplan.values.Value)>(v, v);
return v;
label:
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Unsupported versioning comparator type");
throw v;
}
private org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition getDigestBasedVersioningCondition()
{
org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningConditionVisitor v;
org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset v, v, v, v;
java.lang.String v, v;
boolean v;
v := @this: org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningConditionVisitor;
v = v.<org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningConditionVisitor: boolean invertComparison>;
if v == 0 goto label;
v = v.<org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningConditionVisitor: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset mainDataset>;
v = v.<org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningConditionVisitor: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset stagingDataset>;
v = v.<org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningConditionVisitor: java.lang.String digestField>;
v = staticinvoke <org.finos.legend.engine.persistence.components.util.LogicalPlanUtils: org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition getDigestMatchCondition(org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset,org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset,java.lang.String)>(v, v, v);
return v;
label:
v = v.<org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningConditionVisitor: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset mainDataset>;
v = v.<org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningConditionVisitor: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset stagingDataset>;
v = v.<org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningConditionVisitor: java.lang.String digestField>;
v = staticinvoke <org.finos.legend.engine.persistence.components.util.LogicalPlanUtils: org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition getDigestDoesNotMatchCondition(org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset,org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset,java.lang.String)>(v, v, v);
return v;
}
}