From 2f5dfa1c8b9527249714cd1ff7d6186c7fcab020 Mon Sep 17 00:00:00 2001 From: sourav-jyoti Date: Sun, 5 Apr 2026 19:04:24 +0530 Subject: [PATCH] fix --- .../module/openconceptlab/importer/Saver.java | 1 + .../openconceptlab/importer/SaverTest.java | 24 +++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/api/src/main/java/org/openmrs/module/openconceptlab/importer/Saver.java b/api/src/main/java/org/openmrs/module/openconceptlab/importer/Saver.java index db4a740..5b51248 100644 --- a/api/src/main/java/org/openmrs/module/openconceptlab/importer/Saver.java +++ b/api/src/main/java/org/openmrs/module/openconceptlab/importer/Saver.java @@ -195,6 +195,7 @@ public Concept toConcept(CacheService cacheService, OclConcept oclConcept) throw conceptClass = new ConceptClass(); conceptClass.setName(oclConcept.getConceptClass()); conceptClass.setDescription("Imported from Open Concept Lab"); + conceptClass.setUuid(version5Uuid("conceptClass/" + oclConcept.getConceptClass()).toString()); conceptService.saveConceptClass(conceptClass); } concept.setConceptClass(conceptClass); diff --git a/api/src/test/java/org/openmrs/module/openconceptlab/importer/SaverTest.java b/api/src/test/java/org/openmrs/module/openconceptlab/importer/SaverTest.java index bd430a7..214756b 100644 --- a/api/src/test/java/org/openmrs/module/openconceptlab/importer/SaverTest.java +++ b/api/src/test/java/org/openmrs/module/openconceptlab/importer/SaverTest.java @@ -710,6 +710,30 @@ public void importConcept_shouldCreateConceptClassIfMissing() throws Exception { ConceptClass conceptClass = conceptService.getConceptClassByName(concept.getConceptClass()); assertThat(conceptClass, notNullValue()); + assertThat(conceptClass.getUuid(), is(version5Uuid("conceptClass/" + concept.getConceptClass()).toString())); + } + + /** + * @verifies generate deterministic UUID for new concept class + * @see Saver#saveConcept(CacheService, Import, OclConcept) + */ + @Test + public void importConcept_shouldGenerateDeterministicUuidForNewConceptClass() throws Exception { + Import update = importService.getLastImport(); + String className = "Drug route"; + String expectedUuid = version5Uuid("conceptClass/" + className).toString(); + + OclConcept concept = newOclConcept(); + concept.setConceptClass(className); + + saver.saveConcept(new CacheService(conceptService, oclConceptService), update, concept); + + ConceptClass conceptClass = conceptService.getConceptClassByName(className); + assertThat(conceptClass, notNullValue()); + assertThat(conceptClass.getUuid(), is(expectedUuid)); + + // Verify determinism: calling version5Uuid again with the same seed produces the same UUID + assertThat(version5Uuid("conceptClass/" + className).toString(), is(expectedUuid)); } /**