public class org.finos.legend.engine.api.analytics.DiagramAnalytics extends java.lang.Object
{
private static final com.fasterxml.jackson.databind.ObjectMapper objectMapper;
private final org.finos.legend.engine.language.pure.modelManager.ModelManager modelManager;
public void <init>(org.finos.legend.engine.language.pure.modelManager.ModelManager)
{
org.finos.legend.engine.language.pure.modelManager.ModelManager v;
org.finos.legend.engine.api.analytics.DiagramAnalytics v;
v := @this: org.finos.legend.engine.api.analytics.DiagramAnalytics;
v := @parameter: org.finos.legend.engine.language.pure.modelManager.ModelManager;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.finos.legend.engine.api.analytics.DiagramAnalytics: org.finos.legend.engine.language.pure.modelManager.ModelManager modelManager> = v;
return;
}
public javax.ws.rs.core.Response analyzeDiagramModelCoverage(org.finos.legend.engine.api.analytics.model.DiagramModelCoverageAnalysisInput, boolean, org.pac4j.core.profile.ProfileManager)
{
org.finos.legend.engine.shared.core.operational.logs.LoggingEventType v;
org.finos.legend.engine.shared.core.identity.Identity v;
io.opentracing.Tracer$SpanBuilder v;
org.eclipse.collections.api.list.MutableList v;
org.eclipse.collections.api.RichIterable v, v, v, v;
org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData v, v, v, v, v, v, v, v, v, v;
javax.ws.rs.core.Response$Status v;
org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData$Builder v;
boolean v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel v;
org.finos.legend.engine.api.analytics.model.DiagramModelCoverageAnalysisInput v;
java.util.function.Predicate v;
java.lang.Exception v;
java.util.List v;
java.util.stream.Stream v, v;
org.finos.legend.pure.runtime.java.compiled.execution.CompiledExecutionSupport v, v, v, v, v;
javax.ws.rs.core.Response v, v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext v;
java.util.Optional v;
io.opentracing.Scope v;
org.finos.legend.pure.generated.Root_meta_pure_metamodel_diagram_analytics_modelCoverage_DiagramModelCoverageAnalysisResult v;
org.eclipse.collections.api.factory.list.ImmutableListFactory v;
java.lang.Throwable v;
org.finos.legend.engine.api.analytics.DiagramAnalytics v;
org.finos.legend.pure.generated.Root_meta_pure_metamodel_diagram_Diagram v;
java.lang.String v, v, v, v, v, v, v, v, v;
org.finos.legend.engine.protocol.pure.v.model.context.PureModelContext v;
io.opentracing.Tracer v;
com.fasterxml.jackson.databind.ObjectMapper v;
org.pac4j.core.profile.ProfileManager v;
org.finos.legend.engine.language.pure.modelManager.ModelManager v, v;
org.eclipse.collections.api.list.ImmutableList v;
java.lang.Object v, v;
v := @this: org.finos.legend.engine.api.analytics.DiagramAnalytics;
v := @parameter: org.finos.legend.engine.api.analytics.model.DiagramModelCoverageAnalysisInput;
v := @parameter: boolean;
v := @parameter: org.pac4j.core.profile.ProfileManager;
v = staticinvoke <org.finos.legend.engine.shared.core.kerberos.ProfileManagerHelper: org.eclipse.collections.api.list.MutableList extractProfiles(org.pac4j.core.profile.ProfileManager)>(v);
v = staticinvoke <org.finos.legend.engine.shared.core.identity.Identity: org.finos.legend.engine.shared.core.identity.Identity makeIdentity(java.lang.Object)>(v);
v = v.<org.finos.legend.engine.api.analytics.DiagramAnalytics: org.finos.legend.engine.language.pure.modelManager.ModelManager modelManager>;
v = v.<org.finos.legend.engine.api.analytics.model.DiagramModelCoverageAnalysisInput: org.finos.legend.engine.protocol.pure.v.model.context.PureModelContext model>;
v = v.<org.finos.legend.engine.api.analytics.model.DiagramModelCoverageAnalysisInput: java.lang.String clientVersion>;
v = virtualinvoke v.<org.finos.legend.engine.language.pure.modelManager.ModelManager: org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData loadData(org.finos.legend.engine.protocol.pure.v.model.context.PureModelContext,java.lang.String,org.finos.legend.engine.shared.core.identity.Identity)>(v, v, v);
v = v.<org.finos.legend.engine.api.analytics.DiagramAnalytics: org.finos.legend.engine.language.pure.modelManager.ModelManager modelManager>;
v = v.<org.finos.legend.engine.api.analytics.model.DiagramModelCoverageAnalysisInput: java.lang.String clientVersion>;
v = virtualinvoke v.<org.finos.legend.engine.language.pure.modelManager.ModelManager: org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel loadModel(org.finos.legend.engine.protocol.pure.v.model.context.PureModelContext,java.lang.String,org.finos.legend.engine.shared.core.identity.Identity,java.lang.String)>(v, v, v, null);
v = v.<org.finos.legend.engine.api.analytics.model.DiagramModelCoverageAnalysisInput: java.lang.String diagram>;
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel: org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext getContext()>();
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.HelperDiagramBuilder: org.finos.legend.pure.generated.Root_meta_pure_metamodel_diagram_Diagram getDiagram(java.lang.String,org.finos.legend.engine.protocol.pure.v.model.SourceInformation,org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext)>(v, null, 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)>("Analytics: diagram model coverage");
v = interfaceinvoke v.<io.opentracing.Tracer$SpanBuilder: io.opentracing.Scope startActive(boolean)>(1);
label:
v = <org.eclipse.collections.impl.factory.Lists: org.eclipse.collections.api.factory.list.ImmutableListFactory immutable>;
v = interfaceinvoke v.<org.eclipse.collections.api.factory.list.ImmutableListFactory: org.eclipse.collections.api.list.ImmutableList of(java.lang.Object)>(v);
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel: org.finos.legend.pure.runtime.java.compiled.execution.CompiledExecutionSupport getExecutionSupport()>();
v = staticinvoke <org.finos.legend.pure.generated.core_diagram_analytics_analytics: org.finos.legend.pure.generated.Root_meta_pure_metamodel_diagram_analytics_modelCoverage_DiagramModelCoverageAnalysisResult Root_meta_pure_metamodel_diagram_analytics_modelCoverage_getDiagramModelCoverage_Diagram_MANY__DiagramModelCoverageAnalysisResult_1_(org.eclipse.collections.api.RichIterable,org.finos.legend.pure.m.execution.ExecutionSupport)>(v, v);
v = interfaceinvoke v.<org.finos.legend.pure.generated.Root_meta_pure_metamodel_diagram_analytics_modelCoverage_DiagramModelCoverageAnalysisResult: org.eclipse.collections.api.RichIterable _classes()>();
v = v.<org.finos.legend.engine.api.analytics.model.DiagramModelCoverageAnalysisInput: java.lang.String clientVersion>;
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel: org.finos.legend.pure.runtime.java.compiled.execution.CompiledExecutionSupport getExecutionSupport()>();
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.fromPureGraph.PureModelContextDataGenerator: org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData generatePureModelContextDataFromClasses(org.eclipse.collections.api.RichIterable,java.lang.String,org.finos.legend.pure.runtime.java.compiled.execution.CompiledExecutionSupport)>(v, v, v);
v = interfaceinvoke v.<org.finos.legend.pure.generated.Root_meta_pure_metamodel_diagram_analytics_modelCoverage_DiagramModelCoverageAnalysisResult: org.eclipse.collections.api.RichIterable _enumerations()>();
v = v.<org.finos.legend.engine.api.analytics.model.DiagramModelCoverageAnalysisInput: java.lang.String clientVersion>;
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel: org.finos.legend.pure.runtime.java.compiled.execution.CompiledExecutionSupport getExecutionSupport()>();
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.fromPureGraph.PureModelContextDataGenerator: org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData generatePureModelContextDataFromEnumerations(org.eclipse.collections.api.RichIterable,java.lang.String,org.finos.legend.pure.runtime.java.compiled.execution.CompiledExecutionSupport)>(v, v, v);
v = interfaceinvoke v.<org.finos.legend.pure.generated.Root_meta_pure_metamodel_diagram_analytics_modelCoverage_DiagramModelCoverageAnalysisResult: org.eclipse.collections.api.RichIterable _profiles()>();
v = v.<org.finos.legend.engine.api.analytics.model.DiagramModelCoverageAnalysisInput: java.lang.String clientVersion>;
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel: org.finos.legend.pure.runtime.java.compiled.execution.CompiledExecutionSupport getExecutionSupport()>();
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.fromPureGraph.PureModelContextDataGenerator: org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData generatePureModelContextDataFromProfile(org.eclipse.collections.api.RichIterable,java.lang.String,org.finos.legend.pure.runtime.java.compiled.execution.CompiledExecutionSupport)>(v, v, v);
v = interfaceinvoke v.<org.finos.legend.pure.generated.Root_meta_pure_metamodel_diagram_analytics_modelCoverage_DiagramModelCoverageAnalysisResult: org.eclipse.collections.api.RichIterable _associations()>();
v = v.<org.finos.legend.engine.api.analytics.model.DiagramModelCoverageAnalysisInput: java.lang.String clientVersion>;
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel: org.finos.legend.pure.runtime.java.compiled.execution.CompiledExecutionSupport getExecutionSupport()>();
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.fromPureGraph.PureModelContextDataGenerator: org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData generatePureModelContextDataFromAssociations(org.eclipse.collections.api.RichIterable,java.lang.String,org.finos.legend.pure.runtime.java.compiled.execution.CompiledExecutionSupport)>(v, v, v);
v = staticinvoke <org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData: org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData$Builder newBuilder()>();
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData: java.util.List getElements()>();
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.finos.legend.engine.api.analytics.DiagramAnalytics$lambda_analyzeDiagramModelCoverage_0__1: java.util.function.Predicate bootstrap$(org.finos.legend.engine.api.analytics.model.DiagramModelCoverageAnalysisInput)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.Optional findFirst()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
v = staticinvoke <java.util.Objects: java.lang.Object requireNonNull(java.lang.Object)>(v);
virtualinvoke v.<org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData$Builder: boolean addElement(org.finos.legend.engine.protocol.pure.v.model.packageableElement.PackageableElement)>(v);
label:
v = virtualinvoke v.<org.finos.legend.engine.shared.core.identity.Identity: java.lang.String getName()>();
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()>();
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);
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);
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);
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);
v = <org.finos.legend.engine.api.analytics.DiagramAnalytics: com.fasterxml.jackson.databind.ObjectMapper objectMapper>;
v = staticinvoke <org.finos.legend.engine.shared.core.api.result.ManageConstantResult: javax.ws.rs.core.Response manageResult(java.lang.String,java.lang.Object,com.fasterxml.jackson.databind.ObjectMapper)>(v, v, v);
label:
if v == null goto label;
interfaceinvoke v.<io.opentracing.Scope: void close()>();
label:
return v;
label:
v := @caughtexception;
v = <org.finos.legend.engine.shared.core.operational.logs.LoggingEventType: org.finos.legend.engine.shared.core.operational.logs.LoggingEventType ANALYTICS_ERROR>;
v = <javax.ws.rs.core.Response$Status: javax.ws.rs.core.Response$Status BAD_REQUEST>;
v = virtualinvoke v.<org.finos.legend.engine.shared.core.identity.Identity: java.lang.String getName()>();
v = staticinvoke <org.finos.legend.engine.shared.core.operational.errorManagement.ExceptionTool: javax.ws.rs.core.Response exceptionManager(java.lang.Exception,org.finos.legend.engine.shared.core.operational.logs.LoggingEventType,javax.ws.rs.core.Response$Status,java.lang.String)>(v, v, v, 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.Exception from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
static void <clinit>()
{
com.fasterxml.jackson.databind.ObjectMapper v;
v = staticinvoke <org.finos.legend.engine.shared.core.ObjectMapperFactory: com.fasterxml.jackson.databind.ObjectMapper getNewStandardObjectMapperWithPureProtocolExtensionSupports()>();
<org.finos.legend.engine.api.analytics.DiagramAnalytics: com.fasterxml.jackson.databind.ObjectMapper objectMapper> = v;
return;
}
}