Skip to content

Commit 0b3cdec

Browse files
Continue adopting FileLike instead of File or Path
1 parent dbdca95 commit 0b3cdec

File tree

52 files changed

+244
-208
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+244
-208
lines changed

SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/AbstractResumer.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import org.labkey.api.pipeline.RecordedAction;
88
import org.labkey.api.sequenceanalysis.SequenceOutputFile;
99
import org.labkey.api.util.Pair;
10+
import org.labkey.vfs.FileSystemLike;
1011

1112
import java.io.BufferedInputStream;
1213
import java.io.File;
@@ -240,7 +241,7 @@ public static <T extends AbstractResumer> T create(SequenceOutputHandler.JobCont
240241
{
241242
for (File orig : ret.getCopiedInputs().keySet())
242243
{
243-
ctx.getWorkDir().inputFile(orig, ret._copiedInputs.get(orig), false);
244+
ctx.getWorkDir().inputFile(FileSystemLike.wrapFile(orig), FileSystemLike.wrapFile(ret._copiedInputs.get(orig)), false);
244245
}
245246
}
246247
}

SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/AlignerIndexUtil.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import org.labkey.api.data.ConvertHelper;
66
import org.labkey.api.pipeline.PipelineJobException;
77
import org.labkey.api.pipeline.WorkDirectory;
8+
import org.labkey.vfs.FileSystemLike;
89

910
import java.io.File;
1011
import java.io.IOException;
@@ -89,7 +90,7 @@ private static boolean verifyOrCreateCachedIndex(PipelineContext ctx, @Nullable
8990
if (doCopy)
9091
{
9192
ctx.getLogger().info("copying index files to work location");
92-
File localSharedDir = new File(wd.getDir(), "Shared");
93+
File localSharedDir = new File(wd.getDir().toNioPathForRead().toFile(), "Shared");
9394
File destination = new File(localSharedDir, localName);
9495
ctx.getLogger().debug(destination.getPath());
9596
File[] files = webserverIndexDir.listFiles();
@@ -98,7 +99,7 @@ private static boolean verifyOrCreateCachedIndex(PipelineContext ctx, @Nullable
9899
return false;
99100
}
100101

101-
destination = wd.inputFile(webserverIndexDir, destination, true);
102+
destination = wd.inputFile(FileSystemLike.wrapFile(webserverIndexDir), FileSystemLike.wrapFile(destination), true).toNioPathForRead().toFile();
102103
if (output != null && !destination.equals(webserverIndexDir))
103104
{
104105
ctx.getLogger().debug("adding deferred delete file: " + destination.getPath());

SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/HasJobParams.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package org.labkey.api.sequenceanalysis.pipeline;
22

33
import org.json.JSONObject;
4+
import org.labkey.vfs.FileLike;
45

5-
import java.io.File;
66
import java.util.Map;
77

88
/**
@@ -14,5 +14,5 @@ public interface HasJobParams
1414

1515
JSONObject getParameterJson();
1616

17-
File getParametersFile();
17+
FileLike getParametersFile();
1818
}

SequenceAnalysis/src/org/labkey/sequenceanalysis/OutputIntegrationTests.java

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
import org.labkey.api.view.ViewServlet;
3535
import org.labkey.sequenceanalysis.pipeline.ProcessVariantsHandler;
3636
import org.labkey.sequenceanalysis.pipeline.SequenceOutputHandlerJob;
37+
import org.labkey.vfs.FileLike;
3738
import org.springframework.mock.web.MockHttpServletResponse;
3839
import org.springframework.web.bind.annotation.RequestMethod;
3940

@@ -110,15 +111,15 @@ public void testVariantProcessing() throws Exception
110111
SequenceOutputHandlerJob job = (SequenceOutputHandlerJob)j;
111112

112113
Set<File> extraFiles = new HashSet<>();
113-
extraFiles.add(new File(job.getAnalysisDirectory(), jobName + "." + outputFileId + ".log"));
114-
extraFiles.add(new File(job.getAnalysisDirectory(), "sequenceOutput.json"));
115-
extraFiles.add(new File(job.getAnalysisDirectory(), "sequenceSupport.json.gz"));
116-
extraFiles.add(ProcessVariantsHandler.getPedigreeFile(job.getAnalysisDirectory(), "laboratory.subjects"));
117-
extraFiles.add(new File(job.getAnalysisDirectory(), basename + ".gfiltered.selectVariants.annotated.filtered.vcf.gz"));
118-
extraFiles.add(new File(job.getAnalysisDirectory(), basename + ".gfiltered.selectVariants.annotated.filtered.vcf.gz.tbi"));
119-
extraFiles.add(new File(job.getAnalysisDirectory(), job.getBaseName() + ".pipe.xar.xml"));
120-
121-
verifyFileOutputs(job.getAnalysisDirectory(), extraFiles);
114+
extraFiles.add(job.getAnalysisDirectory().resolveChild(jobName + "." + outputFileId + ".log").toNioPathForRead().toFile());
115+
extraFiles.add(job.getAnalysisDirectory().resolveChild("sequenceOutput.json").toNioPathForRead().toFile());
116+
extraFiles.add(job.getAnalysisDirectory().resolveChild("sequenceSupport.json.gz").toNioPathForRead().toFile());
117+
extraFiles.add(ProcessVariantsHandler.getPedigreeFile(job.getAnalysisDirectory(), "laboratory.subjects").toNioPathForRead().toFile());
118+
extraFiles.add(job.getAnalysisDirectory().resolveChild(basename + ".gfiltered.selectVariants.annotated.filtered.vcf.gz").toNioPathForRead().toFile());
119+
extraFiles.add(job.getAnalysisDirectory().resolveChild(basename + ".gfiltered.selectVariants.annotated.filtered.vcf.gz.tbi").toNioPathForRead().toFile());
120+
extraFiles.add(job.getAnalysisDirectory().resolveChild(job.getBaseName() + ".pipe.xar.xml").toNioPathForRead().toFile());
121+
122+
verifyFileOutputs(job.getAnalysisDirectory().toNioPathForRead().toFile(), extraFiles);
122123

123124
//verify outputfile created:
124125
TableSelector ts = new TableSelector(ti, PageFlowUtil.set("rowid"), new SimpleFilter(FieldKey.fromString("runId/jobid/job"), job.getJobGUID()), null);

SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisController.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1876,14 +1876,14 @@ public boolean isSubmitJobToReadsetContainer()
18761876
return getJobParameters() != null && getJobParameters().optBoolean("submitJobToReadsetContainer", false);
18771877
}
18781878

1879-
public List<File> getFiles(PipeRoot pr) throws PipelineValidationException
1879+
public List<FileLike> getFiles(PipeRoot pr) throws PipelineValidationException
18801880
{
18811881
if (getJobParameters() == null || getJobParameters().get("inputFiles") == null)
18821882
{
18831883
return null;
18841884
}
18851885

1886-
List<File> ret = new ArrayList<>();
1886+
List<FileLike> ret = new ArrayList<>();
18871887
JSONArray inputFiles = getJobParameters().getJSONArray("inputFiles");
18881888
String path = getJobParameters().optString("path");
18891889
for (JSONObject o : JsonUtil.toJSONObjectList(inputFiles))
@@ -1900,7 +1900,7 @@ else if (!d.getFile().exists())
19001900
throw new PipelineValidationException("Missing file for data: " + o.get("dataId"));
19011901
}
19021902

1903-
ret.add(d.getFile());
1903+
ret.add(d.getFileLike());
19041904
}
19051905
else if (o.has("relPath") || o.has("fileName"))
19061906
{
@@ -1927,7 +1927,7 @@ else if (o.has("relPath") || o.has("fileName"))
19271927
throw new PipelineValidationException("Unknown file: " + o.getString("relPath") + " / " + o.getString("fileName"));
19281928
}
19291929

1930-
ret.add(f.toNioPathForRead().toFile());
1930+
ret.add(f);
19311931
}
19321932
else if (o.opt("filePath") != null)
19331933
{

SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceIntegrationTests.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1144,7 +1144,7 @@ public void barcodeTest() throws Exception
11441144

11451145
private File getBaseDir(PipelineJob job)
11461146
{
1147-
return ((SequenceJob)job).getAnalysisDirectory();
1147+
return ((SequenceJob)job).getAnalysisDirectory().toNioPathForRead().toFile();
11481148
}
11491149

11501150
/**
@@ -1489,7 +1489,7 @@ protected void validateAlignmentJob(Set<PipelineJob> jobs, Collection<String> ad
14891489
protected void validateAlignmentJob(Set<PipelineJob> jobs, Collection<String> additionalFiles, SequenceReadsetImpl rs, Integer aligned, Integer unaligned, boolean includeRefFiles) throws Exception
14901490
{
14911491
SequenceAlignmentJob job = getAlignmentJob(jobs, rs);
1492-
File basedir = job.getAnalysisDirectory();
1492+
File basedir = job.getAnalysisDirectory().toNioPathForRead().toFile();
14931493
String outDir = SequenceTaskHelper.getUnzippedBaseName(rs.getReadDataImpl().get(0).getFile1());
14941494

14951495
Set<File> expectedOutputs = new HashSet<>();
@@ -2982,7 +2982,7 @@ public void testBismarkWithSavedLibraryAndAdapters() throws Exception
29822982
//job1Files.add("paired1/Alignment/TestReadset1.insertsize.metrics");
29832983
//job1Files.add("paired1/Alignment/TestReadset1.insertsize.metrics.pdf");
29842984

2985-
File basedir1 = getAlignmentJob(jobs, _readsets.get(0)).getAnalysisDirectory();
2985+
File basedir1 = getAlignmentJob(jobs, _readsets.get(0)).getAnalysisDirectory().toNioPathForRead().toFile();
29862986
addOptionalFile(job1Files, basedir1, "paired1/Alignment/CpG_OB_TestReadset1.txt.gz");
29872987
addOptionalFile(job1Files, basedir1, "paired1/Alignment/CpG_OT_TestReadset1.txt.gz");
29882988
addOptionalFile(job1Files, basedir1, "paired1/Alignment/Non_CpG_OB_TestReadset1.bam.txt.gz");
@@ -3008,7 +3008,7 @@ public void testBismarkWithSavedLibraryAndAdapters() throws Exception
30083008
//job2Files.add("paired3/Alignment/TestReadset2.summary.metrics");
30093009
//job2Files.add("paired3/Alignment/TestReadset2.insertsize.metrics");
30103010

3011-
File basedir2 = getAlignmentJob(jobs, _readsets.get(1)).getAnalysisDirectory();
3011+
File basedir2 = getAlignmentJob(jobs, _readsets.get(1)).getAnalysisDirectory().toNioPathForRead().toFile();
30123012
addOptionalFile(job2Files, basedir2, "paired3/Alignment/CpG_OB_TestReadset2.txt.gz");
30133013
addOptionalFile(job2Files, basedir2, "paired3/Alignment/CpG_OT_TestReadset2.txt.gz");
30143014
addOptionalFile(job2Files, basedir2, "paired3/Alignment/Non_CpG_OB_TestReadset2.bam.txt.gz");
@@ -3032,7 +3032,7 @@ public void testBismarkWithSavedLibraryAndAdapters() throws Exception
30323032
//job3Files.add("paired4/Alignment/TestReadset3.summary.metrics");
30333033
//job3Files.add("paired4/Alignment/TestReadset3.insertsize.metrics");
30343034

3035-
File basedir3 = getAlignmentJob(jobs, _readsets.get(2)).getAnalysisDirectory();
3035+
File basedir3 = getAlignmentJob(jobs, _readsets.get(2)).getAnalysisDirectory().toNioPathForRead().toFile();
30363036
addOptionalFile(job3Files, basedir3, "paired4/Alignment/CpG_OB_TestReadset3.txt.gz");
30373037
addOptionalFile(job3Files, basedir3, "paired4/Alignment/CpG_OT_TestReadset3.txt.gz");
30383038
addOptionalFile(job3Files, basedir3, "paired4/Alignment/Non_CpG_OB_TestReadset3.bam.txt.gz");
@@ -3109,7 +3109,7 @@ public void testBismarkWithSavedLibraryAdaptersAndDelete() throws Exception
31093109
job1Files.add("paired1/Alignment/TestReadset1.insertsize.metrics");
31103110
job1Files.add("paired1/Alignment/TestReadset1.insertsize.metrics.pdf");
31113111

3112-
File basedir1 = getAlignmentJob(jobs, _readsets.get(0)).getAnalysisDirectory();
3112+
File basedir1 = getAlignmentJob(jobs, _readsets.get(0)).getAnalysisDirectory().toNioPathForRead().toFile();
31133113
addOptionalFile(job1Files, basedir1, "paired1/Alignment/CpG_OB_TestReadset1.txt.gz");
31143114
addOptionalFile(job1Files, basedir1, "paired1/Alignment/CpG_OT_TestReadset1.txt.gz");
31153115
addOptionalFile(job1Files, basedir1, "paired1/Alignment/Non_CpG_OB_TestReadset1.bam.txt.gz");
@@ -3132,7 +3132,7 @@ public void testBismarkWithSavedLibraryAdaptersAndDelete() throws Exception
31323132
job2Files.add("paired3/Alignment/TestReadset2.summary.metrics");
31333133
//job2Files.add("paired3/Alignment/TestReadset2.insertsize.metrics");
31343134

3135-
File basedir2 = getAlignmentJob(jobs, _readsets.get(1)).getAnalysisDirectory();
3135+
File basedir2 = getAlignmentJob(jobs, _readsets.get(1)).getAnalysisDirectory().toNioPathForRead().toFile();
31363136
addOptionalFile(job2Files, basedir2, "paired3/Alignment/CpG_OB_TestReadset2.txt.gz");
31373137
addOptionalFile(job2Files, basedir2, "paired3/Alignment/CpG_OT_TestReadset2.txt.gz");
31383138
addOptionalFile(job2Files, basedir2, "paired3/Alignment/Non_CpG_OB_TestReadset2.bam.txt.gz");
@@ -3154,7 +3154,7 @@ public void testBismarkWithSavedLibraryAdaptersAndDelete() throws Exception
31543154
job3Files.add("paired4/Alignment/TestReadset3.summary.metrics");
31553155
//job3Files.add("paired4/Alignment/TestReadset3.insertsize.metrics");
31563156

3157-
File basedir3 = getAlignmentJob(jobs, _readsets.get(2)).getAnalysisDirectory();
3157+
File basedir3 = getAlignmentJob(jobs, _readsets.get(2)).getAnalysisDirectory().toNioPathForRead().toFile();
31583158
addOptionalFile(job3Files, basedir3, "paired4/Alignment/CpG_OB_TestReadset3.txt.gz");
31593159
addOptionalFile(job3Files, basedir3, "paired4/Alignment/CpG_OT_TestReadset3.txt.gz");
31603160
addOptionalFile(job3Files, basedir3, "paired4/Alignment/Non_CpG_OB_TestReadset3.bam.txt.gz");

SequenceAnalysis/src/org/labkey/sequenceanalysis/SequencePipelineServiceImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -514,7 +514,7 @@ public List<File> getSequenceJobInputFiles(PipelineJob job)
514514
return null;
515515
}
516516

517-
return ((SequenceJob) job).getInputFiles();
517+
return ((SequenceJob) job).getInputFiles().stream().map(f -> f.toNioPathForRead().toFile()).toList();
518518
}
519519

520520
@Override

SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/AlignmentMetricsHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ public void processFilesRemote(List<SequenceOutputFile> inputFiles, JobContext c
9090
}
9191

9292
List<File> bams = new ArrayList<>();
93-
bams.addAll(job.getJobSupport(FileAnalysisJobSupport.class).getInputFiles());
93+
bams.addAll(job.getJobSupport(FileAnalysisJobSupport.class).getInputFiles().stream().map(f -> f.toNioPathForRead().toFile()).toList());
9494
if (bams.isEmpty())
9595
{
9696
job.error("No BAMS found, aborting");

SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/LiftoverHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ public void processFilesRemote(List<SequenceOutputFile> inputFiles, JobContext c
226226
action.addInput(f.getFile(), "Input File");
227227
action.addInput(chainFile, "Chain File");
228228

229-
File outDir = ((FileAnalysisJobSupport) job).getAnalysisDirectory();
229+
File outDir = ((FileAnalysisJobSupport) job).getAnalysisDirectory().toNioPathForRead().toFile();
230230
String baseName = SequenceAnalysisService.get().getUnzippedBaseName(f.getFile().getName());
231231
File lifted = new File(outDir, baseName + ".lifted-" + targetGenomeId + getOutputExtension(f.getFile()));
232232
File unmappedOutput = retainUnmapped ? getUnmappedOutputFile(lifted) : null;

SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/AlignmentAnalysisJob.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import org.labkey.sequenceanalysis.SequenceReadsetImpl;
2121
import org.labkey.sequenceanalysis.model.AnalysisModelImpl;
2222
import org.labkey.sequenceanalysis.util.SequenceUtil;
23+
import org.labkey.vfs.FileSystemLike;
2324

2425
import java.io.IOException;
2526
import java.util.ArrayList;
@@ -104,7 +105,7 @@ public static List<AlignmentAnalysisJob> createForAnalyses(Container c, User u,
104105

105106
AlignmentAnalysisJob j = new AlignmentAnalysisJob(targetContainer, u, jobName, pr, params, model);
106107
j.setDescription(description);
107-
j.setInputFiles(Collections.singletonList(model.getAlignmentFileObject()));
108+
j.setInputFiles(Collections.singletonList(FileSystemLike.wrapFile(model.getAlignmentFileObject())));
108109

109110
ret.add(j);
110111
}

0 commit comments

Comments
 (0)