From a07053756b7ece8ee1b366a07e4ae0db8f0ba92c Mon Sep 17 00:00:00 2001
From: drm <david.maffitt@wustl.edu>
Date: Mon, 30 May 2016 21:15:08 -0500
Subject: [PATCH] Fix XNAT-4291. Path of destination dir incorrect in
 prearchive when session moved from unassigned to an existing project.

---
 .../helpers/prearchive/FileSystemSessionDataModifier.java     | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/main/java/org/nrg/xnat/helpers/prearchive/FileSystemSessionDataModifier.java b/src/main/java/org/nrg/xnat/helpers/prearchive/FileSystemSessionDataModifier.java
index 5f785d29..36470934 100644
--- a/src/main/java/org/nrg/xnat/helpers/prearchive/FileSystemSessionDataModifier.java
+++ b/src/main/java/org/nrg/xnat/helpers/prearchive/FileSystemSessionDataModifier.java
@@ -34,6 +34,7 @@ import java.io.ByteArrayInputStream;
 import java.io.File;
 import java.io.FileWriter;
 import java.io.IOException;
+import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.sql.SQLException;
 import java.util.List;
@@ -203,7 +204,8 @@ public class FileSystemSessionDataModifier implements SessionDataModifierI {
             this.newProject = newProject;
             this.f = new File(this.uri);
             this.timestampDir = f.getParentFile();
-            this.newTimestampDir = new File(this.basePath + this.newProject, this.timestampDir.getName());
+            Path newTimestampDirPath = Paths.get( this.basePath, this.newProject, this.timestampDir.getName());
+            this.newTimestampDir = newTimestampDirPath.normalize().toFile();
             this.xml = new File(timestampDir, session + ".xml");
             copy = new Copy(timestampDir, newTimestampDir, session);
             setXml = new SetXml(xml, newProject, (new File(newTimestampDir, session)).getAbsolutePath());
-- 
GitLab