diff --git a/application/pom.xml b/application/pom.xml index 5f8b5726..4f5d48e9 100644 --- a/application/pom.xml +++ b/application/pom.xml @@ -257,6 +257,11 @@ dh-console ${revision} + + it.smartcommunitylabdhub + dh-openmetadata + ${revision} + diff --git a/modules/openmetadata-integration/pom.xml b/modules/openmetadata-integration/pom.xml new file mode 100644 index 00000000..f5a5196c --- /dev/null +++ b/modules/openmetadata-integration/pom.xml @@ -0,0 +1,73 @@ + + + 4.0.0 + + it.smartcommunitylabdhub + digitalhub-core + ${revision} + ../../ + + it.smartcommunitylabdhub + dh-openmetadata + openmetadata + OpenMetadata integration + + + + it.smartcommunitylabdhub + dh-commons + ${revision} + + + org.projectlombok + lombok + ${lombok.version} + compile + true + + + org.springframework.boot + spring-boot-starter-test + ${spring-boot.version} + test + + + com.fasterxml.jackson.core + jackson-core + ${jackson.version} + + + com.fasterxml.jackson.dataformat + jackson-dataformat-cbor + ${jackson.version} + + + com.fasterxml.jackson.dataformat + jackson-dataformat-yaml + ${jackson.version} + + + com.fasterxml.jackson.module + jackson-module-jsonSchema + ${jackson.version} + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + ${jackson.version} + + + org.slf4j + slf4j-api + ${slf4j.version} + + + org.slf4j + log4j-over-slf4j + ${slf4j.version} + + + + \ No newline at end of file diff --git a/modules/openmetadata-integration/src/main/java/it/smartcommunitylabdhub/openmetadata/models/OpenMetadataDetails.java b/modules/openmetadata-integration/src/main/java/it/smartcommunitylabdhub/openmetadata/models/OpenMetadataDetails.java new file mode 100644 index 00000000..05de6b24 --- /dev/null +++ b/modules/openmetadata-integration/src/main/java/it/smartcommunitylabdhub/openmetadata/models/OpenMetadataDetails.java @@ -0,0 +1,15 @@ +package it.smartcommunitylabdhub.openmetadata.models; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Getter +@Setter +@NoArgsConstructor +@AllArgsConstructor +public class OpenMetadataDetails { + + private Boolean publish; +} diff --git a/modules/openmetadata-integration/src/main/java/it/smartcommunitylabdhub/openmetadata/models/OpenMetadataMetadata.java b/modules/openmetadata-integration/src/main/java/it/smartcommunitylabdhub/openmetadata/models/OpenMetadataMetadata.java new file mode 100644 index 00000000..a7c703de --- /dev/null +++ b/modules/openmetadata-integration/src/main/java/it/smartcommunitylabdhub/openmetadata/models/OpenMetadataMetadata.java @@ -0,0 +1,35 @@ +package it.smartcommunitylabdhub.openmetadata.models; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import it.smartcommunitylabdhub.commons.annotations.common.SpecType; +import it.smartcommunitylabdhub.commons.models.base.BaseSpec; +import it.smartcommunitylabdhub.commons.models.enums.EntityName; +import it.smartcommunitylabdhub.commons.models.metadata.Metadata; +import java.io.Serializable; +import java.util.Map; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonInclude(JsonInclude.Include.NON_NULL) +@SpecType(kind = "metadata.openmetadata", entity = EntityName.METADATA) +public final class OpenMetadataMetadata extends BaseSpec implements Metadata { + + @JsonProperty("openmetadata") + private OpenMetadataDetails openMetadata; + + @Override + public void configure(Map data) { + OpenMetadataMetadata meta = mapper.convertValue(data, OpenMetadataMetadata.class); + + this.openMetadata = meta.getOpenMetadata(); + } +} diff --git a/pom.xml b/pom.xml index 8e90cfe5..7404cc10 100644 --- a/pom.xml +++ b/pom.xml @@ -35,6 +35,7 @@ modules/runtime-nefertem modules/runtime-mlrun modules/runtime-kfp + modules/openmetadata-integration frontend application