From 9393b047db9e7befcc29c0d585d3feee1145227a Mon Sep 17 00:00:00 2001 From: Mauricio Uyaguari Date: Sun, 9 Feb 2025 19:52:16 -0500 Subject: [PATCH] small update to deploy interface (#3403) --- .../DeploymentConfigurationExtension.java | 21 +++++++++++++++++++ .../extension/ClassDeploymentExtension.java | 11 ++++++++++ 2 files changed, 32 insertions(+) diff --git a/legend-engine-xts-generation/legend-engine-xts-deployment-model/src/main/java/org/finos/legend/engine/deployment/model/DeploymentConfigurationExtension.java b/legend-engine-xts-generation/legend-engine-xts-deployment-model/src/main/java/org/finos/legend/engine/deployment/model/DeploymentConfigurationExtension.java index ff65dd3399..53f0a1fc0b 100644 --- a/legend-engine-xts-generation/legend-engine-xts-deployment-model/src/main/java/org/finos/legend/engine/deployment/model/DeploymentConfigurationExtension.java +++ b/legend-engine-xts-generation/legend-engine-xts-deployment-model/src/main/java/org/finos/legend/engine/deployment/model/DeploymentConfigurationExtension.java @@ -19,6 +19,8 @@ import org.finos.legend.engine.shared.core.extension.LegendGenerationExtension; import org.finos.legend.pure.m3.coreinstance.meta.pure.metamodel.PackageableElement; +import java.util.List; + public interface DeploymentConfigurationExtension extends LegendGenerationExtension { @@ -35,6 +37,25 @@ default String type() */ String getKey(); + /** + * Gives the label for extension for user facing messaging + * if different from key + * + * @return string + */ + default String getLabel() + { + return this.getKey(); + } + + /** + * Gives supported classifier paths for extension + * important as used for filtering non-compiled elements + * + * @return List of classifier paths + */ + List getSupportedClassifierPaths(); + /** * Determines whether a packageable element can deploy diff --git a/legend-engine-xts-generation/legend-engine-xts-deployment-model/src/test/java/org/finos/legend/engine/deployment/extension/ClassDeploymentExtension.java b/legend-engine-xts-generation/legend-engine-xts-deployment-model/src/test/java/org/finos/legend/engine/deployment/extension/ClassDeploymentExtension.java index 4c91e382e4..3d520976d4 100644 --- a/legend-engine-xts-generation/legend-engine-xts-deployment-model/src/test/java/org/finos/legend/engine/deployment/extension/ClassDeploymentExtension.java +++ b/legend-engine-xts-generation/legend-engine-xts-deployment-model/src/test/java/org/finos/legend/engine/deployment/extension/ClassDeploymentExtension.java @@ -14,6 +14,7 @@ package org.finos.legend.engine.deployment.extension; +import org.eclipse.collections.api.factory.Lists; import org.finos.legend.engine.deployment.model.DeploymentConfigurationExtension; import org.finos.legend.engine.deployment.model.DeploymentResponse; import org.finos.legend.engine.deployment.model.DeploymentStatus; @@ -25,6 +26,8 @@ import org.finos.legend.pure.m3.coreinstance.meta.pure.metamodel.PackageableElement; import org.slf4j.Logger; +import java.util.List; + import static org.finos.legend.engine.language.pure.compiler.toPureGraph.HelperModelBuilder.getElementFullPath; public class ClassDeploymentExtension implements DeploymentConfigurationExtension @@ -38,6 +41,8 @@ public String getKey() return "classDeploymentTest"; } + + @Override public boolean canDeploy(PackageableElement element) { @@ -59,6 +64,12 @@ public DeploymentResponse validate(PackageableElement element, PureModel pureMod return response; } + @Override + public List getSupportedClassifierPaths() + { + return Lists.mutable.with("meta::pure::metamodel::type::Class"); + } + @Override public DeploymentResponse deploy(PackageableElement element, PureModel pureModel, PureModelContextData data, String clientVersion)