This is an automated email from the ASF dual-hosted git repository.

machristie pushed a commit to branch custos-integration
in repository https://gitbox.apache.org/repos/asf/airavata-data-catalog.git

commit 849b9267841aeaf0fa5841d24b689ceb2f819137
Author: Marcus Christie <[email protected]>
AuthorDate: Fri Feb 17 09:46:01 2023 -0500

    Cascading metadata schema delete to fields
---
 .../airavata/datacatalog/api/model/MetadataSchemaEntity.java      | 8 ++++++++
 .../airavata/datacatalog/api/service/DataCatalogAPIService.java   | 1 +
 2 files changed, 9 insertions(+)

diff --git 
a/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/model/MetadataSchemaEntity.java
 
b/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/model/MetadataSchemaEntity.java
index 8c1f6cd..f1b038b 100644
--- 
a/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/model/MetadataSchemaEntity.java
+++ 
b/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/model/MetadataSchemaEntity.java
@@ -46,6 +46,14 @@ public class MetadataSchemaEntity {
         this.schemaName = schemaName;
     }
 
+    public Set<MetadataSchemaFieldEntity> getMetadataSchemaFields() {
+        return metadataSchemaFields;
+    }
+
+    public void setMetadataSchemaFields(Set<MetadataSchemaFieldEntity> 
metadataSchemaFields) {
+        this.metadataSchemaFields = metadataSchemaFields;
+    }
+
     @Override
     public int hashCode() {
         final int prime = 31;
diff --git 
a/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/service/DataCatalogAPIService.java
 
b/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/service/DataCatalogAPIService.java
index d001e46..9076ce6 100644
--- 
a/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/service/DataCatalogAPIService.java
+++ 
b/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/service/DataCatalogAPIService.java
@@ -204,6 +204,7 @@ public class DataCatalogAPIService extends 
DataCatalogAPIServiceGrpc.DataCatalog
         // TODO: handle metadata schema not found
         MetadataSchemaEntity metadataSchemaEntity = metadataSchemaRepository
                 .findBySchemaName(request.getMetadataSchema().getSchemaName());
+        
metadataSchemaFieldRepository.deleteAll(metadataSchemaEntity.getMetadataSchemaFields());
         metadataSchemaRepository.delete(metadataSchemaEntity);
         MetadataSchemaDeleteResponse.Builder responseBuilder = 
MetadataSchemaDeleteResponse.newBuilder();
         responseObserver.onNext(responseBuilder.build());

Reply via email to