final class org.finos.legend.engine.language.pure.modelManager.sdlc.SDLCFetcher extends java.lang.Object implements org.finos.legend.engine.protocol.pure.v.model.context.SDLCVisitor
{
private final io.opentracing.Span parentSpan;
private final java.lang.String clientVersion;
private final java.util.function.Function httpClientProvider;
private final org.finos.legend.engine.shared.core.identity.Identity identity;
private final org.finos.legend.engine.language.pure.modelManager.sdlc.pure.PureServerLoader pureLoader;
private final org.finos.legend.engine.language.pure.modelManager.sdlc.alloy.AlloySDLCLoader alloyLoader;
private final org.finos.legend.engine.language.pure.modelManager.sdlc.workspace.WorkspaceSDLCLoader workspaceLoader;
public void <init>(io.opentracing.Span, java.lang.String, java.util.function.Function, org.finos.legend.engine.shared.core.identity.Identity, org.finos.legend.engine.language.pure.modelManager.sdlc.pure.PureServerLoader, org.finos.legend.engine.language.pure.modelManager.sdlc.alloy.AlloySDLCLoader, org.finos.legend.engine.language.pure.modelManager.sdlc.workspace.WorkspaceSDLCLoader)
{
org.finos.legend.engine.shared.core.identity.Identity v;
org.finos.legend.engine.language.pure.modelManager.sdlc.SDLCFetcher v;
org.finos.legend.engine.language.pure.modelManager.sdlc.alloy.AlloySDLCLoader v;
org.finos.legend.engine.language.pure.modelManager.sdlc.workspace.WorkspaceSDLCLoader v;
java.util.function.Function v;
io.opentracing.Span v;
org.finos.legend.engine.language.pure.modelManager.sdlc.pure.PureServerLoader v;
java.lang.String v;
v := @this: org.finos.legend.engine.language.pure.modelManager.sdlc.SDLCFetcher;
v := @parameter: io.opentracing.Span;
v := @parameter: java.lang.String;
v := @parameter: java.util.function.Function;
v := @parameter: org.finos.legend.engine.shared.core.identity.Identity;
v := @parameter: org.finos.legend.engine.language.pure.modelManager.sdlc.pure.PureServerLoader;
v := @parameter: org.finos.legend.engine.language.pure.modelManager.sdlc.alloy.AlloySDLCLoader;
v := @parameter: org.finos.legend.engine.language.pure.modelManager.sdlc.workspace.WorkspaceSDLCLoader;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.finos.legend.engine.language.pure.modelManager.sdlc.SDLCFetcher: io.opentracing.Span parentSpan> = v;
v.<org.finos.legend.engine.language.pure.modelManager.sdlc.SDLCFetcher: java.lang.String clientVersion> = v;
v.<org.finos.legend.engine.language.pure.modelManager.sdlc.SDLCFetcher: java.util.function.Function httpClientProvider> = v;
v.<org.finos.legend.engine.language.pure.modelManager.sdlc.SDLCFetcher: org.finos.legend.engine.shared.core.identity.Identity identity> = v;
v.<org.finos.legend.engine.language.pure.modelManager.sdlc.SDLCFetcher: org.finos.legend.engine.language.pure.modelManager.sdlc.pure.PureServerLoader pureLoader> = v;
v.<org.finos.legend.engine.language.pure.modelManager.sdlc.SDLCFetcher: org.finos.legend.engine.language.pure.modelManager.sdlc.alloy.AlloySDLCLoader alloyLoader> = v;
v.<org.finos.legend.engine.language.pure.modelManager.sdlc.SDLCFetcher: org.finos.legend.engine.language.pure.modelManager.sdlc.workspace.WorkspaceSDLCLoader workspaceLoader> = v;
return;
}
public org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData visit(org.finos.legend.engine.protocol.pure.v.model.context.AlloySDLC)
{
java.lang.Throwable v;
org.finos.legend.engine.shared.core.identity.Identity v, v;
org.finos.legend.engine.language.pure.modelManager.sdlc.SDLCFetcher v;
org.finos.legend.engine.language.pure.modelManager.sdlc.alloy.AlloySDLCLoader v, v, v, v;
io.opentracing.Tracer$SpanBuilder v;
java.util.function.Function v;
org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData v;
java.lang.String v, v, v, v, v;
boolean v, v;
org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextPointer v;
io.opentracing.Tracer v;
org.finos.legend.engine.protocol.pure.v.model.context.AlloySDLC v;
java.util.List v, v;
org.finos.legend.engine.protocol.pure.v.model.context.SDLC v;
org.finos.legend.engine.shared.core.operational.errorManagement.EngineException v;
io.opentracing.Span v;
io.opentracing.Scope v;
v := @this: org.finos.legend.engine.language.pure.modelManager.sdlc.SDLCFetcher;
v := @parameter: org.finos.legend.engine.protocol.pure.v.model.context.AlloySDLC;
v = v.<org.finos.legend.engine.language.pure.modelManager.sdlc.SDLCFetcher: io.opentracing.Span parentSpan>;
interfaceinvoke v.<io.opentracing.Span: io.opentracing.Span setTag(java.lang.String,java.lang.String)>("sdlc", "alloy");
v = staticinvoke <io.opentracing.util.GlobalTracer: io.opentracing.Tracer get()>();
v = interfaceinvoke v.<io.opentracing.Tracer: io.opentracing.Tracer$SpanBuilder buildSpan(java.lang.String)>("Request Alloy Metadata");
v = interfaceinvoke v.<io.opentracing.Tracer$SpanBuilder: io.opentracing.Scope startActive(boolean)>(1);
label:
v = v.<org.finos.legend.engine.language.pure.modelManager.sdlc.SDLCFetcher: org.finos.legend.engine.language.pure.modelManager.sdlc.alloy.AlloySDLCLoader alloyLoader>;
v = v.<org.finos.legend.engine.language.pure.modelManager.sdlc.SDLCFetcher: org.finos.legend.engine.shared.core.identity.Identity identity>;
v = v.<org.finos.legend.engine.language.pure.modelManager.sdlc.SDLCFetcher: java.lang.String clientVersion>;
v = v.<org.finos.legend.engine.language.pure.modelManager.sdlc.SDLCFetcher: java.util.function.Function httpClientProvider>;
v = virtualinvoke v.<org.finos.legend.engine.language.pure.modelManager.sdlc.alloy.AlloySDLCLoader: org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData loadAlloyProject(org.finos.legend.engine.shared.core.identity.Identity,org.finos.legend.engine.protocol.pure.v.model.context.AlloySDLC,java.lang.String,java.util.function.Function)>(v, v, v, v);
v = v.<org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData: org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextPointer origin>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextPointer: org.finos.legend.engine.protocol.pure.v.model.context.SDLC sdlcInfo>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.context.AlloySDLC: java.util.List packageableElementPointers>;
v.<org.finos.legend.engine.protocol.pure.v.model.context.SDLC: java.util.List packageableElementPointers> = v;
v = v.<org.finos.legend.engine.language.pure.modelManager.sdlc.SDLCFetcher: org.finos.legend.engine.language.pure.modelManager.sdlc.alloy.AlloySDLCLoader alloyLoader>;
v = virtualinvoke v.<org.finos.legend.engine.language.pure.modelManager.sdlc.alloy.AlloySDLCLoader: java.util.List checkAllPathsExist(org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData,org.finos.legend.engine.protocol.pure.v.model.context.AlloySDLC)>(v, v);
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
label:
if v == null goto label;
interfaceinvoke v.<io.opentracing.Scope: void close()>();
label:
return v;
label:
v = new org.finos.legend.engine.shared.core.operational.errorManagement.EngineException;
v = v.<org.finos.legend.engine.language.pure.modelManager.sdlc.SDLCFetcher: org.finos.legend.engine.language.pure.modelManager.sdlc.alloy.AlloySDLCLoader alloyLoader>;
v = virtualinvoke v.<org.finos.legend.engine.language.pure.modelManager.sdlc.alloy.AlloySDLCLoader: boolean isLatestRevision(org.finos.legend.engine.protocol.pure.v.model.context.AlloySDLC)>(v);
if v == 0 goto label;
v = "latest";
goto label;
label:
v = v.<org.finos.legend.engine.protocol.pure.v.model.context.AlloySDLC: java.lang.String version>;
label:
v = v.<org.finos.legend.engine.language.pure.modelManager.sdlc.SDLCFetcher: org.finos.legend.engine.language.pure.modelManager.sdlc.alloy.AlloySDLCLoader alloyLoader>;
v = v.<org.finos.legend.engine.language.pure.modelManager.sdlc.SDLCFetcher: org.finos.legend.engine.shared.core.identity.Identity identity>;
v = v.<org.finos.legend.engine.language.pure.modelManager.sdlc.SDLCFetcher: java.lang.String clientVersion>;
v = virtualinvoke v.<org.finos.legend.engine.language.pure.modelManager.sdlc.alloy.AlloySDLCLoader: java.lang.String getMetaDataApiUrl(org.finos.legend.engine.shared.core.identity.Identity,org.finos.legend.engine.protocol.pure.v.model.context.AlloySDLC,java.lang.String)>(v, v, v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.util.List,java.lang.String,java.lang.String)>(v, 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[])>("The following entities:\u do not exist in the project data loaded from the metadata server. Please make sure the corresponding Gitlab pipeline for version \u has completed and also metadata server has updated with corresponding entities by confirming the data returned from <a href=\"\u0001\"/> this API </a>.");
specialinvoke v.<org.finos.legend.engine.shared.core.operational.errorManagement.EngineException: void <init>(java.lang.String)>(v);
throw v;
label:
v := @caughtexception;
throw v;
catch java.lang.Throwable from label to label with label;
}
public org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData visit(org.finos.legend.engine.protocol.pure.v.model.context.PureSDLC)
{
java.lang.Throwable v;
org.finos.legend.engine.protocol.pure.v.model.context.PureSDLC v;
io.opentracing.Tracer v;
org.finos.legend.engine.language.pure.modelManager.sdlc.SDLCFetcher v;
io.opentracing.Tracer$SpanBuilder v;
javax.security.auth.Subject v;
java.util.List v;
org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData v;
org.eclipse.collections.api.block.function.Function v;
io.opentracing.Span v;
java.lang.Object v;
org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData$Builder v, v, v;
io.opentracing.Scope v;
v := @this: org.finos.legend.engine.language.pure.modelManager.sdlc.SDLCFetcher;
v := @parameter: org.finos.legend.engine.protocol.pure.v.model.context.PureSDLC;
v = v.<org.finos.legend.engine.language.pure.modelManager.sdlc.SDLCFetcher: io.opentracing.Span parentSpan>;
interfaceinvoke v.<io.opentracing.Span: io.opentracing.Span setTag(java.lang.String,java.lang.String)>("sdlc", "pure");
v = staticinvoke <io.opentracing.util.GlobalTracer: io.opentracing.Tracer get()>();
v = interfaceinvoke v.<io.opentracing.Tracer: io.opentracing.Tracer$SpanBuilder buildSpan(java.lang.String)>("Request Pure Metadata");
v = interfaceinvoke v.<io.opentracing.Tracer$SpanBuilder: io.opentracing.Scope startActive(boolean)>(1);
label:
v = staticinvoke <org.finos.legend.engine.shared.core.kerberos.SubjectTools: javax.security.auth.Subject getCurrentSubject()>();
v = new org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData$Builder;
specialinvoke v.<org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData$Builder: void <init>()>();
v = v.<org.finos.legend.engine.protocol.pure.v.model.context.PureSDLC: java.util.List packageableElementPointers>;
v = staticinvoke <org.finos.legend.engine.language.pure.modelManager.sdlc.SDLCFetcher$lambda_visit_ddd3d1eb_1__11: org.eclipse.collections.api.block.function.Function bootstrap$(org.finos.legend.engine.language.pure.modelManager.sdlc.SDLCFetcher,javax.security.auth.Subject,org.finos.legend.engine.protocol.pure.v.model.context.PureSDLC)>(v, v, v);
v = staticinvoke <org.eclipse.collections.impl.utility.ListIterate: java.lang.Object injectInto(java.lang.Object,java.util.List,org.eclipse.collections.api.block.function.Function)>(v, v, v);
v = virtualinvoke v.<org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData$Builder: org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData$Builder distinct()>();
v = virtualinvoke v.<org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData$Builder: org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData$Builder sorted()>();
v = virtualinvoke v.<org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData$Builder: org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData build()>();
label:
if v == null goto label;
interfaceinvoke v.<io.opentracing.Scope: void close()>();
label:
return v;
label:
v := @caughtexception;
throw v;
catch java.lang.Throwable from label to label with label;
}
public org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData visit(org.finos.legend.engine.protocol.pure.v.model.context.WorkspaceSDLC)
{
java.lang.Throwable v;
org.finos.legend.engine.shared.core.identity.Identity v, v;
org.finos.legend.engine.language.pure.modelManager.sdlc.SDLCFetcher v;
io.opentracing.Tracer$SpanBuilder v;
java.util.function.Function v, v;
org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData v, v, v;
java.lang.String v, v, v;
boolean v;
io.opentracing.Tracer v;
org.finos.legend.engine.language.pure.modelManager.sdlc.workspace.WorkspaceSDLCLoader v, v;
org.finos.legend.engine.protocol.pure.v.model.context.WorkspaceSDLC v;
io.opentracing.Span v, v, v, v;
io.opentracing.Scope v;
v := @this: org.finos.legend.engine.language.pure.modelManager.sdlc.SDLCFetcher;
v := @parameter: org.finos.legend.engine.protocol.pure.v.model.context.WorkspaceSDLC;
v = v.<org.finos.legend.engine.language.pure.modelManager.sdlc.SDLCFetcher: io.opentracing.Span parentSpan>;
interfaceinvoke v.<io.opentracing.Span: io.opentracing.Span setTag(java.lang.String,java.lang.String)>("sdlc", "workspace");
v = v.<org.finos.legend.engine.language.pure.modelManager.sdlc.SDLCFetcher: io.opentracing.Span parentSpan>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.context.WorkspaceSDLC: java.lang.String project>;
interfaceinvoke v.<io.opentracing.Span: io.opentracing.Span setTag(java.lang.String,java.lang.String)>("project", v);
v = v.<org.finos.legend.engine.language.pure.modelManager.sdlc.SDLCFetcher: io.opentracing.Span parentSpan>;
v = virtualinvoke v.<org.finos.legend.engine.protocol.pure.v.model.context.WorkspaceSDLC: java.lang.String getWorkspace()>();
interfaceinvoke v.<io.opentracing.Span: io.opentracing.Span setTag(java.lang.String,java.lang.String)>("workspace", v);
v = v.<org.finos.legend.engine.language.pure.modelManager.sdlc.SDLCFetcher: io.opentracing.Span parentSpan>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.context.WorkspaceSDLC: boolean isGroupWorkspace>;
interfaceinvoke v.<io.opentracing.Span: io.opentracing.Span setTag(java.lang.String,boolean)>("isGroupWorkspace", v);
v = staticinvoke <io.opentracing.util.GlobalTracer: io.opentracing.Tracer get()>();
v = interfaceinvoke v.<io.opentracing.Tracer: io.opentracing.Tracer$SpanBuilder buildSpan(java.lang.String)>("Request Workspace Metadata");
v = interfaceinvoke v.<io.opentracing.Tracer$SpanBuilder: io.opentracing.Scope startActive(boolean)>(1);
label:
v = v.<org.finos.legend.engine.language.pure.modelManager.sdlc.SDLCFetcher: org.finos.legend.engine.language.pure.modelManager.sdlc.workspace.WorkspaceSDLCLoader workspaceLoader>;
v = v.<org.finos.legend.engine.language.pure.modelManager.sdlc.SDLCFetcher: org.finos.legend.engine.shared.core.identity.Identity identity>;
v = v.<org.finos.legend.engine.language.pure.modelManager.sdlc.SDLCFetcher: java.util.function.Function httpClientProvider>;
v = virtualinvoke v.<org.finos.legend.engine.language.pure.modelManager.sdlc.workspace.WorkspaceSDLCLoader: org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData loadWorkspace(org.finos.legend.engine.shared.core.identity.Identity,org.finos.legend.engine.protocol.pure.v.model.context.WorkspaceSDLC,java.util.function.Function)>(v, v, v);
v = v.<org.finos.legend.engine.language.pure.modelManager.sdlc.SDLCFetcher: org.finos.legend.engine.language.pure.modelManager.sdlc.workspace.WorkspaceSDLCLoader workspaceLoader>;
v = v.<org.finos.legend.engine.language.pure.modelManager.sdlc.SDLCFetcher: org.finos.legend.engine.shared.core.identity.Identity identity>;
v = v.<org.finos.legend.engine.language.pure.modelManager.sdlc.SDLCFetcher: java.lang.String clientVersion>;
v = v.<org.finos.legend.engine.language.pure.modelManager.sdlc.SDLCFetcher: java.util.function.Function httpClientProvider>;
v = virtualinvoke v.<org.finos.legend.engine.language.pure.modelManager.sdlc.workspace.WorkspaceSDLCLoader: org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData getSDLCDependenciesPMCD(org.finos.legend.engine.shared.core.identity.Identity,java.lang.String,org.finos.legend.engine.protocol.pure.v.model.context.WorkspaceSDLC,java.util.function.Function)>(v, v, v, v);
v = virtualinvoke v.<org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData: org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData combine(org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData)>(v);
label:
if v == null goto label;
interfaceinvoke v.<io.opentracing.Scope: void close()>();
label:
return v;
label:
v := @caughtexception;
throw v;
catch java.lang.Throwable from label to label with label;
}
}