From b3e9cd5f2ec0b7d399b4d695915a0489cb43050d Mon Sep 17 00:00:00 2001 From: Mohammed Ibrahim Date: Wed, 7 Aug 2024 15:19:15 -0400 Subject: [PATCH] compile stereotypes on activators (#3007) * properly compile stereotypes on activators * Add dependencies * Add dependencies * Add dependencies --- .../pom.xml | 5 +++++ .../BigQueryFunctionCompilerExtension.java | 4 +++- .../pom.xml | 4 ++++ .../HostedServiceCompilerExtension.java | 17 +++++------------ .../pom.xml | 8 ++++++++ .../MemSqlFunctionCompilerExtension.java | 3 +++ .../pom.xml | 4 ++++ .../SnowflakeAppCompilerExtension.java | 4 +++- 8 files changed, 35 insertions(+), 14 deletions(-) diff --git a/legend-engine-xts-bigqueryFunction/legend-engine-xt-bigqueryFunction-compiler/pom.xml b/legend-engine-xts-bigqueryFunction/legend-engine-xt-bigqueryFunction-compiler/pom.xml index 8d5c155372d..77acd719d52 100644 --- a/legend-engine-xts-bigqueryFunction/legend-engine-xt-bigqueryFunction-compiler/pom.xml +++ b/legend-engine-xts-bigqueryFunction/legend-engine-xt-bigqueryFunction-compiler/pom.xml @@ -33,6 +33,11 @@ org.finos.legend.pure legend-pure-m3-core + + org.finos.legend.pure + legend-pure-runtime-java-engine-compiled + + diff --git a/legend-engine-xts-bigqueryFunction/legend-engine-xt-bigqueryFunction-compiler/src/main/java/org/finos/legend/engine/language/bigqueryFunction/compiler/toPureGraph/BigQueryFunctionCompilerExtension.java b/legend-engine-xts-bigqueryFunction/legend-engine-xt-bigqueryFunction-compiler/src/main/java/org/finos/legend/engine/language/bigqueryFunction/compiler/toPureGraph/BigQueryFunctionCompilerExtension.java index 4ed4529dd58..313533014a9 100644 --- a/legend-engine-xts-bigqueryFunction/legend-engine-xt-bigqueryFunction-compiler/src/main/java/org/finos/legend/engine/language/bigqueryFunction/compiler/toPureGraph/BigQueryFunctionCompilerExtension.java +++ b/legend-engine-xts-bigqueryFunction/legend-engine-xt-bigqueryFunction-compiler/src/main/java/org/finos/legend/engine/language/bigqueryFunction/compiler/toPureGraph/BigQueryFunctionCompilerExtension.java @@ -16,6 +16,7 @@ import org.eclipse.collections.api.factory.Lists; import org.eclipse.collections.api.list.MutableList; +import org.eclipse.collections.impl.utility.ListIterate; import org.finos.legend.engine.code.core.CoreFunctionActivatorCodeRepositoryProvider; import org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext; import org.finos.legend.engine.language.pure.compiler.toPureGraph.extension.CompilerExtension; @@ -72,6 +73,8 @@ public Root_meta_external_function_activator_bigQueryFunction_BigQueryFunction b bigQueryFunction.name, null, context.pureModel.getClass("meta::external::function::activator::bigQueryFunction::BigQueryFunction")) + ._stereotypes(ListIterate.collect(bigQueryFunction.stereotypes, s -> context.resolveStereotype(s.profile, s.value, s.profileSourceInformation, s.sourceInformation))) + ._taggedValues(ListIterate.collect(bigQueryFunction.taggedValues, t -> new Root_meta_pure_metamodel_extension_TaggedValue_Impl("", null, context.pureModel.getClass("meta::pure::metamodel::extension::TaggedValue"))._tag(context.resolveTag(t.tag.profile, t.tag.value, t.tag.profileSourceInformation, t.tag.sourceInformation))._value(t.value))) ._functionName(bigQueryFunction.functionName) ._function(func) ._description(bigQueryFunction.description) @@ -88,6 +91,5 @@ public Root_meta_external_function_activator_bigQueryFunction_BigQueryFunctionDe { return new Root_meta_external_function_activator_bigQueryFunction_BigQueryFunctionDeploymentConfiguration_Impl("") ._target((Root_meta_external_store_relational_runtime_RelationalDatabaseConnection) context.resolveConnection(configuration.activationConnection.connection, configuration.sourceInformation)); - // ._stage(context.pureModel.getEnumValue("meta::external::function::activator::DeploymentStage", configuration.stage.name())); } } \ No newline at end of file diff --git a/legend-engine-xts-hostedService/legend-engine-xt-hostedService-compiler/pom.xml b/legend-engine-xts-hostedService/legend-engine-xt-hostedService-compiler/pom.xml index dc179c40c45..9ff1bd4c558 100644 --- a/legend-engine-xts-hostedService/legend-engine-xt-hostedService-compiler/pom.xml +++ b/legend-engine-xts-hostedService/legend-engine-xt-hostedService-compiler/pom.xml @@ -37,6 +37,10 @@ org.finos.legend.pure legend-pure-m2-dsl-mapping-pure + + org.finos.legend.pure + legend-pure-runtime-java-engine-compiled + diff --git a/legend-engine-xts-hostedService/legend-engine-xt-hostedService-compiler/src/main/java/org/finos/legend/engine/language/hostedService/compiler/toPureGraph/HostedServiceCompilerExtension.java b/legend-engine-xts-hostedService/legend-engine-xt-hostedService-compiler/src/main/java/org/finos/legend/engine/language/hostedService/compiler/toPureGraph/HostedServiceCompilerExtension.java index d1720fb9909..e20aaca0651 100644 --- a/legend-engine-xts-hostedService/legend-engine-xt-hostedService-compiler/src/main/java/org/finos/legend/engine/language/hostedService/compiler/toPureGraph/HostedServiceCompilerExtension.java +++ b/legend-engine-xts-hostedService/legend-engine-xt-hostedService-compiler/src/main/java/org/finos/legend/engine/language/hostedService/compiler/toPureGraph/HostedServiceCompilerExtension.java @@ -16,6 +16,7 @@ import org.eclipse.collections.api.factory.Lists; import org.eclipse.collections.api.list.MutableList; +import org.eclipse.collections.impl.utility.ListIterate; import org.finos.legend.engine.code.core.CoreFunctionActivatorCodeRepositoryProvider; import org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext; import org.finos.legend.engine.language.pure.compiler.toPureGraph.extension.CompilerExtension; @@ -34,6 +35,7 @@ import org.finos.legend.pure.generated.Root_meta_external_function_activator_hostedService_HostedService_Impl; import org.finos.legend.pure.generated.Root_meta_external_function_activator_Ownership; import org.finos.legend.pure.generated.Root_meta_external_function_activator_hostedService_UserList_Impl; +import org.finos.legend.pure.generated.Root_meta_pure_metamodel_extension_TaggedValue_Impl; import org.finos.legend.pure.m3.coreinstance.meta.pure.metamodel.function.PackageableFunction; import org.finos.legend.pure.m3.navigation.function.FunctionDescriptor; @@ -67,24 +69,13 @@ public Iterable> getExtraProcessors() HostedService.class, org.eclipse.collections.impl.factory.Lists.fixedSize.with(HostedServiceDeploymentConfiguration.class, ExecutionEnvironmentInstance.class, Function.class), this::buildHostedService - )//, -// Processor.newProcessor( -// ExecutionEnvironmentInstance.class, -// org.eclipse.collections.impl.factory.Lists.fixedSize.with(PackageableConnection.class, PackageableRuntime.class), -// (execEnv, context) -> new Root_meta_legend_service_metamodel_ExecutionEnvironmentInstance_Impl(execEnv.name, null, context.pureModel.getClass("meta::legend::service::metamodel::ExecutionEnvironmentInstance")) -// ._name(execEnv.name), -// (execEnv, context) -> -// { -// Root_meta_legend_service_metamodel_ExecutionEnvironmentInstance pureExecEnv = (Root_meta_legend_service_metamodel_ExecutionEnvironmentInstance) context.pureModel.getOrCreatePackage(execEnv._package)._children().detect(c -> execEnv.name.equals(c._name())); -// pureExecEnv._executionParameters(ListIterate.collect(execEnv.executionParameters, params -> HelperHostedServiceBuilder.processExecutionParameters(params, context))); -// }) + ) ); } public Root_meta_external_function_activator_hostedService_HostedServiceDeploymentConfiguration buildDeploymentConfig(HostedServiceDeploymentConfiguration config, CompileContext context) { return new Root_meta_external_function_activator_hostedService_HostedServiceDeploymentConfiguration_Impl("", null, context.pureModel.getClass("meta::external::function::activator::hostedService::HostedServiceDeploymentConfiguration")); - // ._stage(context.pureModel.getEnumValue("meta::external::function::activator::DeploymentStage", config.stage.name())); } public Root_meta_external_function_activator_hostedService_HostedService buildHostedService(HostedService app, CompileContext context) @@ -97,6 +88,8 @@ public Root_meta_external_function_activator_hostedService_HostedService buildHo null, context.pureModel.getClass("meta::external::function::activator::hostedService::HostedService") ) + ._stereotypes(ListIterate.collect(app.stereotypes, s -> context.resolveStereotype(s.profile, s.value, s.profileSourceInformation, s.sourceInformation))) + ._taggedValues(ListIterate.collect(app.taggedValues, t -> new Root_meta_pure_metamodel_extension_TaggedValue_Impl("", null, context.pureModel.getClass("meta::pure::metamodel::extension::TaggedValue"))._tag(context.resolveTag(t.tag.profile, t.tag.value, t.tag.profileSourceInformation, t.tag.sourceInformation))._value(t.value))) ._pattern(app.pattern) ._function(func) ._documentation(app.documentation) diff --git a/legend-engine-xts-memsqlFunction/legend-engine-xt-memsqlFunction-compiler/pom.xml b/legend-engine-xts-memsqlFunction/legend-engine-xt-memsqlFunction-compiler/pom.xml index 1ab5007ef8c..cec157ca746 100644 --- a/legend-engine-xts-memsqlFunction/legend-engine-xt-memsqlFunction-compiler/pom.xml +++ b/legend-engine-xts-memsqlFunction/legend-engine-xt-memsqlFunction-compiler/pom.xml @@ -33,6 +33,10 @@ org.finos.legend.pure legend-pure-m3-core + + org.finos.legend.pure + legend-pure-runtime-java-engine-compiled + @@ -67,6 +71,10 @@ org.eclipse.collections eclipse-collections-api + + org.eclipse.collections + eclipse-collections + diff --git a/legend-engine-xts-memsqlFunction/legend-engine-xt-memsqlFunction-compiler/src/main/java/org/finos/legend/engine/language/memsqlFunction/compiler/toPureGraph/MemSqlFunctionCompilerExtension.java b/legend-engine-xts-memsqlFunction/legend-engine-xt-memsqlFunction-compiler/src/main/java/org/finos/legend/engine/language/memsqlFunction/compiler/toPureGraph/MemSqlFunctionCompilerExtension.java index 7e403268aa6..9767c2a160b 100644 --- a/legend-engine-xts-memsqlFunction/legend-engine-xt-memsqlFunction-compiler/src/main/java/org/finos/legend/engine/language/memsqlFunction/compiler/toPureGraph/MemSqlFunctionCompilerExtension.java +++ b/legend-engine-xts-memsqlFunction/legend-engine-xt-memsqlFunction-compiler/src/main/java/org/finos/legend/engine/language/memsqlFunction/compiler/toPureGraph/MemSqlFunctionCompilerExtension.java @@ -15,6 +15,7 @@ package org.finos.legend.engine.language.memsqlFunction.compiler.toPureGraph; import org.eclipse.collections.api.factory.Lists; +import org.eclipse.collections.impl.utility.ListIterate; import org.finos.legend.engine.code.core.CoreFunctionActivatorCodeRepositoryProvider; import org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext; import org.finos.legend.engine.language.pure.compiler.toPureGraph.extension.CompilerExtension; @@ -62,6 +63,8 @@ public Root_meta_external_function_activator_memSqlFunction_MemSqlFunction build memSqlFunction.name, null, context.pureModel.getClass("meta::external::function::activator::memSqlFunction::MemSqlFunction")) + ._stereotypes(ListIterate.collect(memSqlFunction.stereotypes, s -> context.resolveStereotype(s.profile, s.value, s.profileSourceInformation, s.sourceInformation))) + ._taggedValues(ListIterate.collect(memSqlFunction.taggedValues, t -> new Root_meta_pure_metamodel_extension_TaggedValue_Impl("", null, context.pureModel.getClass("meta::pure::metamodel::extension::TaggedValue"))._tag(context.resolveTag(t.tag.profile, t.tag.value, t.tag.profileSourceInformation, t.tag.sourceInformation))._value(t.value))) ._functionName(memSqlFunction.functionName) ._function(func) ._description(memSqlFunction.description) diff --git a/legend-engine-xts-snowflakeApp/legend-engine-xt-snowflakeApp-compiler/pom.xml b/legend-engine-xts-snowflakeApp/legend-engine-xt-snowflakeApp-compiler/pom.xml index f8bd46516cc..4a1b740665a 100644 --- a/legend-engine-xts-snowflakeApp/legend-engine-xt-snowflakeApp-compiler/pom.xml +++ b/legend-engine-xts-snowflakeApp/legend-engine-xt-snowflakeApp-compiler/pom.xml @@ -32,6 +32,10 @@ org.finos.legend.pure legend-pure-m3-core + + org.finos.legend.pure + legend-pure-runtime-java-engine-compiled + diff --git a/legend-engine-xts-snowflakeApp/legend-engine-xt-snowflakeApp-compiler/src/main/java/org/finos/legend/engine/language/snowflakeApp/compiler/toPureGraph/SnowflakeAppCompilerExtension.java b/legend-engine-xts-snowflakeApp/legend-engine-xt-snowflakeApp-compiler/src/main/java/org/finos/legend/engine/language/snowflakeApp/compiler/toPureGraph/SnowflakeAppCompilerExtension.java index 0f9c20c6f5c..7baad385236 100644 --- a/legend-engine-xts-snowflakeApp/legend-engine-xt-snowflakeApp-compiler/src/main/java/org/finos/legend/engine/language/snowflakeApp/compiler/toPureGraph/SnowflakeAppCompilerExtension.java +++ b/legend-engine-xts-snowflakeApp/legend-engine-xt-snowflakeApp-compiler/src/main/java/org/finos/legend/engine/language/snowflakeApp/compiler/toPureGraph/SnowflakeAppCompilerExtension.java @@ -16,6 +16,7 @@ import org.eclipse.collections.api.factory.Lists; import org.eclipse.collections.api.list.MutableList; +import org.eclipse.collections.impl.utility.ListIterate; import org.finos.legend.engine.code.core.CoreFunctionActivatorCodeRepositoryProvider; import org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext; import org.finos.legend.engine.language.pure.compiler.toPureGraph.SourceInformationHelper; @@ -70,6 +71,8 @@ public Root_meta_external_function_activator_snowflakeApp_SnowflakeApp buildSnow SourceInformationHelper.toM3SourceInformation(app.sourceInformation), context.pureModel.getClass("meta::external::function::activator::snowflakeApp::SnowflakeApp") ) + ._stereotypes(ListIterate.collect(app.stereotypes, s -> context.resolveStereotype(s.profile, s.value, s.profileSourceInformation, s.sourceInformation))) + ._taggedValues(ListIterate.collect(app.taggedValues, t -> new Root_meta_pure_metamodel_extension_TaggedValue_Impl("", null, context.pureModel.getClass("meta::pure::metamodel::extension::TaggedValue"))._tag(context.resolveTag(t.tag.profile, t.tag.value, t.tag.profileSourceInformation, t.tag.sourceInformation))._value(t.value))) ._applicationName(app.applicationName) ._function(func) ._description(app.description) @@ -88,6 +91,5 @@ public Root_meta_external_function_activator_snowflakeApp_SnowflakeDeploymentCon { return new Root_meta_external_function_activator_snowflakeApp_SnowflakeDeploymentConfiguration_Impl("") ._target((Root_meta_external_store_relational_runtime_RelationalDatabaseConnection) context.resolveConnection(configuration.activationConnection.connection, configuration.sourceInformation)); - // ._stage(context.pureModel.getEnumValue("meta::external::function::activator::DeploymentStage", configuration.stage.name())); } }