@Test public void testIndexFromAvro() throws Exception { URI uri = getClass().getResource("/biofiles/variant-test-file.vcf.gz").toURI(); File file = fileManager.link(studyFqn, uri, "data", null, sessionIdUser).first(); fileManager.create(studyFqn, File.Type.FILE, File.Format.AVRO, null, "data/variant-test-file.vcf.gz.variants.avro.gz", "", "description", new File.FileStatus(File.FileStatus.READY), 0, -1, Collections.emptyList(), -1, Collections.emptyMap(), Collections.emptyMap(), true, "asdf", new QueryOptions(), sessionIdUser); fileManager.link(studyFqn, getClass().getResource("/biofiles/variant-test-file.vcf.gz.file.json.gz").toURI(), "data", null, sessionIdUser).first(); Job job = fileManager.index(studyFqn, Collections.singletonList("variant-test-file.vcf.gz.variants.avro.gz"), "VCF", null, sessionIdUser).first(); assertEquals(file.getUid(), job.getInput().get(0).getUid()); }
Set<Long> fileIdsReferencedInJobs = new HashSet<>(); for (Job job : jobInputFiles.getResult()) { fileIdsReferencedInJobs.addAll(job.getInput().stream().map(File::getUid).collect(Collectors.toList())); jobMap.put(job.getUid(), job); Job job = jobMap.get(jobAux.getUid()); List<File> inputFiles = new ArrayList<>(job.getInput().size()); List<File> attributeFiles = new ArrayList<>(job.getInput().size()); for (File file : job.getInput()) { if (relatedFileMap.containsKey(file.getUid())) { attributeFiles.add(relatedFileMap.get(file.getUid()));
@Test public void testIndex() throws Exception { URI uri = getClass().getResource("/biofiles/variant-test-file.vcf.gz").toURI(); File file = fileManager.link(studyFqn, uri, "", null, sessionIdUser).first(); assertEquals(4, file.getSamples().size()); assertEquals(File.Format.VCF, file.getFormat()); assertEquals(File.Bioformat.VARIANT, file.getBioformat()); Job job = fileManager.index(studyFqn, Collections.singletonList(file.getName()), "VCF", null, sessionIdUser).first(); assertEquals(file.getUid(), job.getInput().get(0).getUid()); }
@Override public Document convertToStorageType(Job object) { Document document = super.convertToStorageType(object); document.put("uid", object.getUid()); document.put("studyUid", object.getStudyUid()); document.put("outDir", convertFileToDocument(object.getOutDir())); document.put("input", convertFilesToDocument(object.getInput())); document.put("output", convertFilesToDocument(object.getOutput())); return document; }
@Test public void updateInputAndOutputFiles() throws Exception { Job job = new Job() .setOutDir(new File().setUid(5)) .setStatus(new Job.JobStatus()); long studyId = user3.getProjects().get(0).getStudies().get(0).getUid(); job.setName("jobName1"); QueryResult<Job> insert = catalogJobDBAdaptor.insert(job, studyId, null); List<File> fileInput = Arrays.asList( new File().setUid(5L).setName("file1").setStatus(new File.FileStatus()), new File().setUid(6L).setName("file2").setStatus(new File.FileStatus()), new File().setUid(7L).setName("file3").setStatus(new File.FileStatus()) ); List<File> fileOutput = Arrays.asList( new File().setUid(15L).setName("file1").setStatus(new File.FileStatus()), new File().setUid(16L).setName("file2").setStatus(new File.FileStatus()), new File().setUid(17L).setName("file3").setStatus(new File.FileStatus()) ); ObjectMap params = new ObjectMap() .append(JobDBAdaptor.QueryParams.INPUT.key(), fileInput) .append(JobDBAdaptor.QueryParams.OUTPUT.key(), fileOutput); QueryResult<Job> update = catalogJobDBAdaptor.update(insert.first().getUid(), params, QueryOptions.empty()); assertEquals(3, update.first().getInput().size()); assertEquals(3, update.first().getOutput().size()); assertTrue(Arrays.asList(5L, 6L, 7L).containsAll(update.first().getInput().stream().map(File::getUid).collect(Collectors.toList()))); assertTrue(Arrays.asList(15L, 16L, 17L) .containsAll(update.first().getOutput().stream().map(File::getUid).collect(Collectors.toList()))); }
job.setCreationDate(ParamUtils.defaultString(job.getCreationDate(), TimeUtils.getTime())); job.setStatus(ParamUtils.defaultObject(job.getStatus(), new Job.JobStatus(Job.JobStatus.PREPARED))); job.setInput(ParamUtils.defaultObject(job.getInput(), Collections.emptyList())); job.setOutput(ParamUtils.defaultObject(job.getOutput(), Collections.emptyList())); job.setExecution(ParamUtils.defaultObject(job.getExecution(), "")); for (File inputFile : job.getInput()) { String fileId = StringUtils.isEmpty(inputFile.getPath()) ? inputFile.getName() : inputFile.getPath(); try {