From 21a7fbf88d2b83fc03b6cb1fe1b582e534c32eb8 Mon Sep 17 00:00:00 2001 From: "A. Anil Sinaci" Date: Mon, 2 Sep 2024 12:53:23 +0300 Subject: [PATCH] :card_file_box: Handle empty folders during initialization of schema and mapping folder repositories. --- .../tofhir/server/repository/job/JobFolderRepository.scala | 1 + .../mapping/ProjectMappingFolderRepository.scala | 7 ++++++- .../server/repository/schema/SchemaFolderRepository.scala | 7 ++++++- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/tofhir-server/src/main/scala/io/tofhir/server/repository/job/JobFolderRepository.scala b/tofhir-server/src/main/scala/io/tofhir/server/repository/job/JobFolderRepository.scala index 4fa48d0a..641f54b0 100644 --- a/tofhir-server/src/main/scala/io/tofhir/server/repository/job/JobFolderRepository.scala +++ b/tofhir-server/src/main/scala/io/tofhir/server/repository/job/JobFolderRepository.scala @@ -185,6 +185,7 @@ class JobFolderRepository(jobRepositoryFolderPath: String, projectFolderReposito private def initMap(jobRepositoryFolderPath: String): mutable.Map[String, mutable.Map[String, FhirMappingJob]] = { val map = mutable.Map.empty[String, mutable.Map[String, FhirMappingJob]] val jobRepositoryFolder = FileUtils.getPath(jobRepositoryFolderPath).toFile + logger.info(s"Initializing the Mapping Repository from path ${jobRepositoryFolder.getAbsolutePath}.") if (!jobRepositoryFolder.exists()) { jobRepositoryFolder.mkdirs() } diff --git a/tofhir-server/src/main/scala/io/tofhir/server/repository/mapping/ProjectMappingFolderRepository.scala b/tofhir-server/src/main/scala/io/tofhir/server/repository/mapping/ProjectMappingFolderRepository.scala index 16419989..94a2b09c 100644 --- a/tofhir-server/src/main/scala/io/tofhir/server/repository/mapping/ProjectMappingFolderRepository.scala +++ b/tofhir-server/src/main/scala/io/tofhir/server/repository/mapping/ProjectMappingFolderRepository.scala @@ -228,7 +228,12 @@ class ProjectMappingFolderRepository(mappingRepositoryFolderPath: String, projec System.exit(1) } } - map.put(projectDirectory.getName, fhirMappingMap) + if(fhirMappingMap.isEmpty) { + // No processable schema files under projectDirectory + logger.warn(s"There are no processable mapping files under ${projectDirectory.getAbsolutePath}. Skipping ${projectDirectory.getName}.") + } else { + map.put(projectDirectory.getName, fhirMappingMap) + } } map } diff --git a/tofhir-server/src/main/scala/io/tofhir/server/repository/schema/SchemaFolderRepository.scala b/tofhir-server/src/main/scala/io/tofhir/server/repository/schema/SchemaFolderRepository.scala index a38307b2..9a3735ef 100644 --- a/tofhir-server/src/main/scala/io/tofhir/server/repository/schema/SchemaFolderRepository.scala +++ b/tofhir-server/src/main/scala/io/tofhir/server/repository/schema/SchemaFolderRepository.scala @@ -274,7 +274,12 @@ class SchemaFolderRepository(schemaRepositoryFolderPath: String, projectFolderRe System.exit(1) } } - schemaDefinitionMap.put(projectFolder.getName, projectSchemas) + if(projectSchemas.isEmpty) { + // No processable schema files under projectFolder + logger.warn(s"There are no processable schema files under ${projectFolder.getAbsolutePath}. Skipping ${projectFolder.getName}.") + } else { + schemaDefinitionMap.put(projectFolder.getName, projectSchemas) + } }) schemaDefinitionMap }