Skip to content

Commit

Permalink
Merge branch 'release/1.0.13'
Browse files Browse the repository at this point in the history
  • Loading branch information
Plow74 committed Nov 29, 2017
2 parents 4fae685 + 09d77fd commit cf708e0
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 22 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

<groupId>org.sitenv.vocabulary</groupId>
<artifactId>codevalidator-api</artifactId>
<version>1.0.12</version>
<version>1.0.13</version>
<name>Code Validator API</name>
<url>http://www.sitenv.org</url>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,32 +7,33 @@
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Set;

/**
* Created by Brian on 2/7/2016.
*/
@Repository
public interface CodeRepository extends JpaRepository<Code, Integer> {
@Query("SELECT CASE WHEN COUNT(c) > 0 THEN true ELSE false END FROM Code c WHERE c.codeSystem in (:codesystems)")
boolean foundCodesystems(@Param("codesystems")List<String> codesystems);
boolean foundCodesystems(@Param("codesystems")Set<String> codesystems);

@Query("SELECT CASE WHEN COUNT(c) > 0 THEN true ELSE false END FROM Code c WHERE c.code = :code and c.displayName = :displayName and c.codeSystem in (:codesystems)")
boolean foundCodeAndDisplayNameInCodesystem(@Param("code")String code, @Param("displayName")String displayName, @Param("codesystems")List<String> codesystems);

@Query("SELECT CASE WHEN COUNT(c) > 0 THEN true ELSE false END FROM Code c WHERE c.code = :code and c.displayName = :displayName and c.codeSystemOID = :codeSystemOID and c.codeSystem in (:codesystems) and c.active = true")
boolean foundActiveCodeAndDisplayNameAndCodeSystemOIDInCodesystem(@Param("code")String code, @Param("displayName")String displayName, @Param("codeSystemOID")String codeSystemOID, @Param("codesystems")List<String> codesystems);
boolean foundActiveCodeAndDisplayNameAndCodeSystemOIDInCodesystem(@Param("code")String code, @Param("displayName")String displayName, @Param("codeSystemOID")String codeSystemOID, @Param("codesystems")Set<String> codesystems);

@Query("SELECT CASE WHEN COUNT(c) > 0 THEN true ELSE false END FROM Code c WHERE c.code = :code and c.codeSystem in (:codesystems)")
boolean foundCodeInCodesystems(@Param("code")String code, @Param("codesystems")List<String> codesystems);
boolean foundCodeInCodesystems(@Param("code")String code, @Param("codesystems")Set<String> codesystems);

@Query("SELECT CASE WHEN COUNT(c) > 0 THEN true ELSE false END FROM Code c WHERE c.displayName = :displayName and c.codeSystem in (:codesystems)")
boolean foundDisplayNameInCodesystems(@Param("displayName")String displayName, @Param("codesystems")List<String> codesystems);
boolean foundDisplayNameInCodesystems(@Param("displayName")String displayName, @Param("codesystems")Set<String> codesystems);

@Query("SELECT CASE WHEN COUNT(c) > 0 THEN true ELSE false END FROM Code c WHERE c.codeSystemOID = :codeSystemOID and c.codeSystem in (:codesystems)")
boolean foundCodeSystemOIDInCodesystems(@Param("codeSystemOID")String codeSystemOID, @Param("codesystems")List<String> codesystems);
boolean foundCodeSystemOIDInCodesystems(@Param("codeSystemOID")String codeSystemOID, @Param("codesystems")Set<String> codesystems);

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

@Query("SELECT c.active FROM Code c WHERE c.code = :code and c.codeSystem in (:codesystems)")
boolean codeIsActive(@Param("code")String code, @Param("codesystems")List<String> codesystems);
@Query("SELECT c.active FROM Code c WHERE c.active = 1 AND c.code = :code and c.codeSystem in (:codesystems)")
boolean codeIsActive(@Param("code")String code, @Param("codesystems")Set<String> codesystems);
}
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
package org.sitenv.vocabularies.validation.services;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import org.sitenv.vocabularies.validation.entities.Code;
import org.sitenv.vocabularies.validation.repositories.CodeRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.List;
import java.util.Set;

/**
* Created by Brian on 2/23/2016.
*/
Expand All @@ -34,7 +35,7 @@ public boolean isFoundByCodeAndDisplayNameInCodeSystems(String code, String disp

public boolean isFoundByCodeInCodeSystems(String code, Set<String> codeSystems){
String cleanedCode = code.trim().toUpperCase();
ArrayList<String> cleanedCodeSystems = new ArrayList<>();
Set<String> cleanedCodeSystems = new HashSet<>();
for(String codeSystem : codeSystems){
cleanedCodeSystems.add(codeSystem.trim().toUpperCase());
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
package org.sitenv.vocabularies.validation.validators.nodetypes;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathExpression;
import javax.xml.xpath.XPathExpressionException;

import org.apache.log4j.Logger;
import org.sitenv.vocabularies.configuration.ConfiguredValidationResultSeverityLevel;
import org.sitenv.vocabularies.configuration.ConfiguredValidator;
Expand All @@ -13,14 +24,6 @@
import org.springframework.stereotype.Component;
import org.w3c.dom.Node;

import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathExpression;
import javax.xml.xpath.XPathExpressionException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

@Component(value = "CodeSystemCodeValidator")
public class CodeSystemCodeValidator extends NodeValidator {
private static final Logger logger = Logger.getLogger(CodeSystemCodeValidator.class);
Expand Down Expand Up @@ -51,7 +54,7 @@ public List<VocabularyValidationResult> validateNode(ConfiguredValidator configu
throw new RuntimeException("ERROR getting node values " + e.getMessage());
}

List<String> allowedConfiguredCodeSystemNames = new ArrayList<>(Arrays.asList(configuredValidator.getAllowedCodesystemNames().split(",")));
Set<String> allowedConfiguredCodeSystemNames = new HashSet<>(Arrays.asList(configuredValidator.getAllowedCodesystemNames().split(",")));

NodeValidationResult nodeValidationResult = new NodeValidationResult();
nodeValidationResult.setValidatedDocumentXpathExpression(XpathUtils.buildXpathFromNode(node));
Expand Down

0 comments on commit cf708e0

Please sign in to comment.