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}