diff --git a/api/src/org/labkey/api/exp/XarSource.java b/api/src/org/labkey/api/exp/XarSource.java index 38ec6ec1868..1d0853be740 100644 --- a/api/src/org/labkey/api/exp/XarSource.java +++ b/api/src/org/labkey/api/exp/XarSource.java @@ -84,6 +84,8 @@ public XarSource(PipelineJob job) public abstract Path getRootPath(); + public Path getJobRootPath() { return getRootPath(); } + /** * Should be true if this was uploaded XML that was not part of a full XAR */ diff --git a/experiment/src/org/labkey/experiment/XarReader.java b/experiment/src/org/labkey/experiment/XarReader.java index 62ffa397eab..e7744f755f8 100644 --- a/experiment/src/org/labkey/experiment/XarReader.java +++ b/experiment/src/org/labkey/experiment/XarReader.java @@ -1109,7 +1109,7 @@ private void loadExperimentRun(ExperimentRunType a, List startingMa vals.setProtocolLSID(protocol.getLSID()); vals.setComments(trimString(a.getComments())); - vals.setFilePathRoot(FileUtil.getAbsolutePath(_xarSource.getRootPath())); // FileUtil.getAbsolutePath(runContext.getContainer(), _job.getPipeRoot().getRootNioPath())); + vals.setFilePathRoot(FileUtil.getAbsolutePath(_xarSource.getJobRootPath())); vals.setContainer(getContainer()); String workflowTaskLSID = a.getWorkflowTaskLSID(); diff --git a/experiment/src/org/labkey/experiment/pipeline/MoveRunsTask.java b/experiment/src/org/labkey/experiment/pipeline/MoveRunsTask.java index 1a5e8af2faa..e36410dc529 100644 --- a/experiment/src/org/labkey/experiment/pipeline/MoveRunsTask.java +++ b/experiment/src/org/labkey/experiment/pipeline/MoveRunsTask.java @@ -220,6 +220,15 @@ public Path getRootPath() return FileUtil.stringToPath(_sourceContainer, _root); } + @Override + public Path getJobRootPath() + { + var pipelineJob = getXarContext().getJob(); + return pipelineJob != null + ? pipelineJob.getPipeRoot().getRootFileLike().toNioPathForRead() + : super.getJobRootPath(); + } + @Override public boolean shouldIgnoreDataFiles() {