001package org.hl7.fhir.validation.cli.model; 002 003import java.util.ArrayList; 004import java.util.List; 005 006import com.fasterxml.jackson.annotation.JsonProperty; 007 008public class ValidationRequest { 009 010 @JsonProperty("cliContext") 011 private CliContext cliContext; 012 013 @JsonProperty("filesToValidate") 014 private List<FileInfo> filesToValidate = new ArrayList<>(); 015 016 @JsonProperty("cliContext") 017 public CliContext getCliContext() { 018 return cliContext; 019 } 020 021 @JsonProperty("sessionId") 022 public String sessionId; 023 024 public ValidationRequest() {} 025 026 public ValidationRequest(CliContext cliContext, List<FileInfo> filesToValidate) { 027 this(cliContext, filesToValidate, null); 028 } 029 030 public ValidationRequest(CliContext cliContext, List<FileInfo> filesToValidate, String sessionToken) { 031 this.cliContext = cliContext; 032 this.filesToValidate = filesToValidate; 033 this.sessionId = sessionToken; 034 } 035 036 @JsonProperty("cliContext") 037 public ValidationRequest setCliContext(CliContext cliContext) { 038 this.cliContext = cliContext; 039 return this; 040 } 041 042 @JsonProperty("filesToValidate") 043 public List<FileInfo> getFilesToValidate() { 044 return filesToValidate; 045 } 046 047 @JsonProperty("filesToValidate") 048 public ValidationRequest setFilesToValidate(List<FileInfo> filesToValidate) { 049 this.filesToValidate = filesToValidate; 050 return this; 051 } 052 053 @JsonProperty("sessionId") 054 public String getSessionId() { 055 return sessionId; 056 } 057 058 @JsonProperty("sessionId") 059 public ValidationRequest setSessionId(String sessionId) { 060 this.sessionId = sessionId; 061 return this; 062 } 063 064 public String listSourceFiles() { 065 List<String> fileNames = new ArrayList<>(); 066 for (FileInfo fp : filesToValidate) { 067 fileNames.add(fp.getFileName()); 068 } 069 return String.join(", ", fileNames); 070 } 071}