Skip to content

Commit f53ad7b

Browse files
author
Girish
committed
SITE-4361
1 parent bd96fd8 commit f53ad7b

File tree

2 files changed

+3
-17
lines changed

2 files changed

+3
-17
lines changed

src/main/java/org/sitenv/vocabularies/validation/repositories/CodeRepository.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,6 @@ public interface CodeRepository extends JpaRepository<Code, Integer> {
3434

3535
List<Code> findByCodeAndCodeSystemIn(String code, List<String> codesystems);
3636

37-
@Query("SELECT c.active FROM Code c WHERE c.code = :code and c.codeSystem in (:codesystems)")
37+
@Query("SELECT c.active FROM Code c WHERE c.code = :code and c.codeSystem in (:codesystems) and c.active = true and ROWNUM() < 2 ")
3838
boolean codeIsActive(@Param("code")String code, @Param("codesystems")Set<String> codesystems);
3939
}

src/main/java/org/sitenv/vocabularies/validation/validators/nodetypes/CodeSystemCodeValidator.java

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import java.util.HashSet;
66
import java.util.List;
77
import java.util.Set;
8-
import java.util.stream.Collectors;
98

109
import javax.persistence.NonUniqueResultException;
1110
import javax.xml.xpath.XPath;
@@ -20,7 +19,6 @@
2019
import org.sitenv.vocabularies.validation.dto.NodeValidationResult;
2120
import org.sitenv.vocabularies.validation.dto.VocabularyValidationResult;
2221
import org.sitenv.vocabularies.validation.dto.enums.VocabularyValidationResultLevel;
23-
import org.sitenv.vocabularies.validation.entities.Code;
2422
import org.sitenv.vocabularies.validation.repositories.CodeRepository;
2523
import org.sitenv.vocabularies.validation.utils.XpathUtils;
2624
import org.sitenv.vocabularies.validation.validators.NodeValidator;
@@ -76,21 +74,9 @@ public List<VocabularyValidationResult> validateNode(ConfiguredValidator configu
7674
if(codeRepository.foundCodeInCodesystems(nodeCode, allowedConfiguredCodeSystemNames)){
7775
nodeValidationResult.setNodeCodeFound(true);
7876
try {
79-
logger.info("Code :: "+nodeCode+" :: Code System names :: "+allowedConfiguredCodeSystemNames);
80-
List<String> configuredCodeSystemList= allowedConfiguredCodeSystemNames.stream().collect(Collectors.toList());
81-
List<Code> codeList = codeRepository.findByCodeAndCodeSystemIn(nodeCode, configuredCodeSystemList);
82-
boolean foundActiveRecord = false;
83-
for(Code code :codeList ) {
84-
if (codeList.size() > 0) {
85-
logger.info("Multiple codes found for code :: "+code.getCode()+" :: Code System name :: "+code.getCodeSystem() +" :: isActive :: "+code.isActive());
86-
}
87-
if (code.isActive()) {
88-
foundActiveRecord = true;
89-
}
90-
}
91-
if (!foundActiveRecord) {
77+
if (!codeRepository.codeIsActive(nodeCode, allowedConfiguredCodeSystemNames)) {
9278
nodeValidationResult.setNodeCodeIsActive(false);
93-
}
79+
}
9480
} catch (NonUniqueResultException nonUniqueResultException) {
9581
nodeValidationResult.setNodeCodeIsActive(false);
9682
logger.error(

0 commit comments

Comments
 (0)