public class org.finos.legend.engine.language.hostedService.generation.deployment.HostedServiceArtifactGenerationExtension extends java.lang.Object implements org.finos.legend.engine.language.pure.dsl.generation.extension.ArtifactGenerationExtension
{
private static final com.fasterxml.jackson.databind.ObjectMapper mapper;
private static final org.slf4j.Logger LOGGER;
public final java.lang.String ROOT_PATH;
private static final java.lang.String FILE_NAME;
private static final java.lang.String LINEAGE_FILE_NAME;
public void <init>()
{
org.finos.legend.engine.language.hostedService.generation.deployment.HostedServiceArtifactGenerationExtension v;
v := @this: org.finos.legend.engine.language.hostedService.generation.deployment.HostedServiceArtifactGenerationExtension;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.finos.legend.engine.language.hostedService.generation.deployment.HostedServiceArtifactGenerationExtension: java.lang.String ROOT_PATH> = "Hosted-Service-Artifact-Generation";
return;
}
public org.eclipse.collections.api.list.MutableList group()
{
org.finos.legend.engine.language.hostedService.generation.deployment.HostedServiceArtifactGenerationExtension v;
java.lang.String[] v;
org.eclipse.collections.api.factory.list.MutableListFactory v;
org.eclipse.collections.api.list.MutableList v;
v := @this: org.finos.legend.engine.language.hostedService.generation.deployment.HostedServiceArtifactGenerationExtension;
v = <org.eclipse.collections.impl.factory.Lists: org.eclipse.collections.api.factory.list.MutableListFactory mutable>;
v = newarray (java.lang.String)[2];
v[0] = "Function_Activator";
v[1] = "Hosted_Service";
v = interfaceinvoke v.<org.eclipse.collections.api.factory.list.MutableListFactory: org.eclipse.collections.api.list.MutableList 'with'(java.lang.Object[])>(v);
return v;
}
public java.lang.String getKey()
{
org.finos.legend.engine.language.hostedService.generation.deployment.HostedServiceArtifactGenerationExtension v;
v := @this: org.finos.legend.engine.language.hostedService.generation.deployment.HostedServiceArtifactGenerationExtension;
return "Hosted-Service-Artifact-Generation";
}
public boolean canGenerate(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.PackageableElement)
{
org.finos.legend.engine.language.hostedService.generation.deployment.HostedServiceArtifactGenerationExtension v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.PackageableElement v;
boolean v;
v := @this: org.finos.legend.engine.language.hostedService.generation.deployment.HostedServiceArtifactGenerationExtension;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.PackageableElement;
v = v instanceof org.finos.legend.pure.generated.Root_meta_external_function_activator_hostedService_HostedService;
return v;
}
public java.util.List generate(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.PackageableElement, org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel, org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData, java.lang.String)
{
org.finos.legend.engine.protocol.hostedService.deployment.HostedServiceArtifact v;
org.eclipse.collections.api.block.predicate.Predicate v;
org.eclipse.collections.api.list.MutableList v;
org.eclipse.collections.api.RichIterable v;
org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData v, v;
boolean v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel v;
org.finos.legend.engine.language.hostedService.generation.deployment.HostedServiceArtifactGenerationExtension v;
java.lang.Exception v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.PackageableElement v;
org.eclipse.collections.api.block.function.Function v;
org.eclipse.collections.api.factory.list.MutableListFactory v;
org.finos.legend.engine.protocol.hostedService.deployment.model.GenerationInfoData v;
java.lang.String v, v, v, v, v, v, v, v, v, v;
org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextPointer v, v;
org.slf4j.Logger v, v, v, v;
com.fasterxml.jackson.databind.ObjectMapper v;
org.finos.legend.engine.language.pure.dsl.generation.extension.Artifact v, v;
org.finos.legend.engine.protocol.pure.v.model.context.SDLC v;
v := @this: org.finos.legend.engine.language.hostedService.generation.deployment.HostedServiceArtifactGenerationExtension;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.PackageableElement;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel;
v := @parameter: org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData;
v := @parameter: java.lang.String;
v = <org.eclipse.collections.api.factory.Lists: org.eclipse.collections.api.factory.list.MutableListFactory mutable>;
v = interfaceinvoke v.<org.eclipse.collections.api.factory.list.MutableListFactory: org.eclipse.collections.api.list.MutableList empty()>();
label:
v = <org.finos.legend.engine.language.hostedService.generation.deployment.HostedServiceArtifactGenerationExtension: org.slf4j.Logger LOGGER>;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.PackageableElement: java.lang.String getName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Generating hostedService deploy artifact for \u0001");
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>(v);
v = staticinvoke <org.finos.legend.engine.language.hostedService.generation.deployment.HostedServiceArtifactGenerationExtension$lambda_generate_fa6b7b5_1__2: org.eclipse.collections.api.block.function.Function bootstrap$()>();
v = staticinvoke <org.finos.legend.engine.language.hostedService.generation.HostedServiceArtifactGenerator: org.finos.legend.engine.protocol.hostedService.deployment.model.GenerationInfoData renderArtifact(org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel,org.finos.legend.pure.generated.Root_meta_external_function_activator_hostedService_HostedService,org.finos.legend.engine.protocol.pure.v.model.context.PureModelContext,java.lang.String,org.eclipse.collections.api.block.function.Function)>(v, v, v, v, v);
v = staticinvoke <org.finos.legend.engine.language.hostedService.generation.HostedServiceArtifactGenerator: org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData fetchHostedService(org.finos.legend.pure.generated.Root_meta_external_function_activator_hostedService_HostedService,org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData,org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel)>(v, v, v);
v = new org.finos.legend.engine.language.pure.dsl.generation.extension.Artifact;
v = <org.finos.legend.engine.language.hostedService.generation.deployment.HostedServiceArtifactGenerationExtension: com.fasterxml.jackson.databind.ObjectMapper mapper>;
v = new org.finos.legend.engine.protocol.hostedService.deployment.HostedServiceArtifact;
v = interfaceinvoke v.<org.finos.legend.pure.generated.Root_meta_external_function_activator_hostedService_HostedService: java.lang.String _pattern()>();
v = virtualinvoke v.<org.finos.legend.engine.language.hostedService.generation.deployment.HostedServiceArtifactGenerationExtension: org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextPointer generatePointerForActivator(org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData,org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData)>(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>;
specialinvoke v.<org.finos.legend.engine.protocol.hostedService.deployment.HostedServiceArtifact: void <init>(java.lang.String,org.finos.legend.engine.protocol.hostedService.deployment.model.GenerationInfo,org.finos.legend.engine.protocol.pure.v.model.context.PureModelContext,org.finos.legend.engine.protocol.pure.v.model.context.AlloySDLC)>(v, v, v, v);
v = virtualinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: java.lang.String writeValueAsString(java.lang.Object)>(v);
specialinvoke v.<org.finos.legend.engine.language.pure.dsl.generation.extension.Artifact: void <init>(java.lang.String,java.lang.String,java.lang.String)>(v, "hostedServiceArtifact.json", "json");
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.PackageableElement: org.eclipse.collections.api.RichIterable _stereotypes()>();
v = staticinvoke <org.finos.legend.engine.language.hostedService.generation.deployment.HostedServiceArtifactGenerationExtension$lambda_generate_8c030279_2__3: org.eclipse.collections.api.block.predicate.Predicate bootstrap$()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: boolean anySatisfy(org.eclipse.collections.api.block.predicate.Predicate)>(v);
if v != 0 goto label;
v = <org.finos.legend.engine.language.hostedService.generation.deployment.HostedServiceArtifactGenerationExtension: org.slf4j.Logger LOGGER>;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.PackageableElement: java.lang.String getName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Generating hostedService lineage artifacts for \u0001");
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>(v);
v = staticinvoke <org.finos.legend.engine.language.hostedService.generation.HostedServiceArtifactGenerator: java.lang.String generateLineage(org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel,org.finos.legend.pure.generated.Root_meta_external_function_activator_hostedService_HostedService,org.finos.legend.engine.protocol.pure.v.model.context.PureModelContext,org.eclipse.collections.api.block.function.Function)>(v, v, v, v);
v = new org.finos.legend.engine.language.pure.dsl.generation.extension.Artifact;
specialinvoke v.<org.finos.legend.engine.language.pure.dsl.generation.extension.Artifact: void <init>(java.lang.String,java.lang.String,java.lang.String)>(v, "hostedServiceLineageArtifact.json", "json");
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
v = <org.finos.legend.engine.language.hostedService.generation.deployment.HostedServiceArtifactGenerationExtension: org.slf4j.Logger LOGGER>;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.PackageableElement: java.lang.String getName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Generated artifacts for \u0001");
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.finos.legend.engine.language.hostedService.generation.deployment.HostedServiceArtifactGenerationExtension: org.slf4j.Logger LOGGER>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>("Error generating hostedService artifacts ", v);
label:
return v;
catch java.lang.Exception from label to label with label;
}
public org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextPointer generatePointerForActivator(org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData, org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData)
{
org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextPointer v;
org.finos.legend.engine.language.hostedService.generation.deployment.HostedServiceArtifactGenerationExtension v;
org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementPointer[] v;
org.eclipse.collections.api.factory.list.MutableListFactory v;
org.eclipse.collections.api.list.MutableList v;
java.util.List v;
org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementPointer v;
org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementType v;
org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData v, v;
org.finos.legend.engine.protocol.pure.v.model.context.SDLC v;
java.lang.Object v;
java.lang.String v;
v := @this: org.finos.legend.engine.language.hostedService.generation.deployment.HostedServiceArtifactGenerationExtension;
v := @parameter: org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData;
v := @parameter: org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData;
v = virtualinvoke v.<org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData: org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextPointer getOrigin()>();
v = v.<org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextPointer: org.finos.legend.engine.protocol.pure.v.model.context.SDLC sdlcInfo>;
v = <org.eclipse.collections.api.factory.Lists: org.eclipse.collections.api.factory.list.MutableListFactory mutable>;
v = newarray (org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementPointer)[1];
v = new org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementPointer;
v = <org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementType: org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementType SERVICE>;
v = virtualinvoke v.<org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData: java.util.List getElementsOfType(java.lang.Class)>(class "Lorg/finos/legend/engine/protocol/hostedService/metamodel/HostedService;");
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = virtualinvoke v.<org.finos.legend.engine.language.hostedService.generation.deployment.HostedServiceArtifactGenerationExtension: java.lang.String elementName(org.finos.legend.engine.protocol.hostedService.metamodel.HostedService)>(v);
specialinvoke v.<org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementPointer: void <init>(org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementType,java.lang.String)>(v, v);
v[0] = v;
v = interfaceinvoke v.<org.eclipse.collections.api.factory.list.MutableListFactory: org.eclipse.collections.api.list.MutableList 'with'(java.lang.Object[])>(v);
v.<org.finos.legend.engine.protocol.pure.v.model.context.SDLC: java.util.List packageableElementPointers> = v;
return v;
}
public java.lang.String elementName(org.finos.legend.engine.protocol.hostedService.metamodel.HostedService)
{
org.finos.legend.engine.language.hostedService.generation.deployment.HostedServiceArtifactGenerationExtension v;
org.finos.legend.engine.protocol.hostedService.metamodel.HostedService v;
java.lang.String v, v, v;
v := @this: org.finos.legend.engine.language.hostedService.generation.deployment.HostedServiceArtifactGenerationExtension;
v := @parameter: org.finos.legend.engine.protocol.hostedService.metamodel.HostedService;
v = v.<org.finos.legend.engine.protocol.hostedService.metamodel.HostedService: java.lang.String _package>;
v = v.<org.finos.legend.engine.protocol.hostedService.metamodel.HostedService: java.lang.String name>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(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[])>("\u0001::\u0001");
return v;
}
static void <clinit>()
{
com.fasterxml.jackson.databind.ObjectMapper v;
org.slf4j.Logger v;
v = staticinvoke <org.finos.legend.engine.shared.core.ObjectMapperFactory: com.fasterxml.jackson.databind.ObjectMapper getNewStandardObjectMapperWithPureProtocolExtensionSupports()>();
<org.finos.legend.engine.language.hostedService.generation.deployment.HostedServiceArtifactGenerationExtension: com.fasterxml.jackson.databind.ObjectMapper mapper> = v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/finos/legend/engine/language/hostedService/generation/deployment/HostedServiceArtifactGenerationExtension;");
<org.finos.legend.engine.language.hostedService.generation.deployment.HostedServiceArtifactGenerationExtension: org.slf4j.Logger LOGGER> = v;
return;
}
}