170170import org .labkey .sequenceanalysis .util .ChainFileValidator ;
171171import org .labkey .sequenceanalysis .util .FastqUtils ;
172172import org .labkey .sequenceanalysis .util .SequenceUtil ;
173+ import org .labkey .vfs .FileLike ;
173174import org .springframework .beans .PropertyValues ;
174175import org .springframework .validation .BindException ;
175176import org .springframework .validation .Errors ;
@@ -2016,30 +2017,30 @@ else if (!d.getFile().exists())
20162017 }
20172018 else if (o .has ("relPath" ) || o .has ("fileName" ))
20182019 {
2019- File f ;
2020+ FileLike f ;
20202021 if (o .opt ("relPath" ) == null )
20212022 {
20222023 if (path != null )
20232024 {
2024- f = pr .resolvePath (path );
2025- f = new File ( f , o .getString ("fileName" ));
2025+ f = pr .resolvePathToFileLike (path );
2026+ f = f . resolveFile ( Path . parse ( o .getString ("fileName" ) ));
20262027 }
20272028 else
20282029 {
2029- f = pr .resolvePath (o .getString ("fileName" ));
2030+ f = pr .resolvePathToFileLike (o .getString ("fileName" ));
20302031 }
20312032 }
20322033 else
20332034 {
2034- f = pr .resolvePath (o .getString ("relPath" ));
2035+ f = pr .resolvePathToFileLike (o .getString ("relPath" ));
20352036 }
20362037
20372038 if (f == null || !f .exists ())
20382039 {
20392040 throw new PipelineValidationException ("Unknown file: " + o .getString ("relPath" ) + " / " + o .getString ("fileName" ));
20402041 }
20412042
2042- ret .add (f );
2043+ ret .add (f . toNioPathForRead (). toFile () );
20432044 }
20442045 else if (o .opt ("filePath" ) != null )
20452046 {
@@ -2555,8 +2556,8 @@ protected File getTargetFile(String filename) throws IOException
25552556
25562557 try
25572558 {
2558- File targetDirectory = AssayFileWriter .ensureUploadDirectory (getContainer (), "sequenceOutputs" );
2559- return AssayFileWriter .findUniqueFileName (filename , targetDirectory );
2559+ FileLike targetDirectory = AssayFileWriter .ensureUploadDirectory (getContainer (), "sequenceOutputs" );
2560+ return AssayFileWriter .findUniqueFileName (filename , targetDirectory ). toNioPathForWrite (). toFile () ;
25602561 }
25612562 catch (ExperimentException e )
25622563 {
@@ -2688,8 +2689,8 @@ protected File getTargetFile(String filename) throws IOException
26882689
26892690 try
26902691 {
2691- File targetDirectory = AssayFileWriter .ensureUploadDirectory (getContainer ());
2692- return AssayFileWriter .findUniqueFileName (filename , targetDirectory );
2692+ FileLike targetDirectory = AssayFileWriter .ensureUploadDirectory (getContainer ());
2693+ return AssayFileWriter .findUniqueFileName (filename , targetDirectory ). toNioPathForWrite (). toFile () ;
26932694 }
26942695 catch (ExperimentException e )
26952696 {
@@ -2853,8 +2854,8 @@ protected File getTargetFile(String filename) throws IOException
28532854
28542855 try
28552856 {
2856- File targetDirectory = AssayFileWriter .ensureUploadDirectory (getContainer ());
2857- return AssayFileWriter .findUniqueFileName (filename , targetDirectory );
2857+ FileLike targetDirectory = AssayFileWriter .ensureUploadDirectory (getContainer ());
2858+ return AssayFileWriter .findUniqueFileName (filename , targetDirectory ). toNioPathForWrite (). toFile () ;
28582859 }
28592860 catch (ExperimentException e )
28602861 {
@@ -3643,7 +3644,7 @@ else if (fastaFileType.isType(data.getFile()))
36433644 }
36443645 }
36453646
3646- File dict = new File (data .getFile ().getParentFile (), FileUtil .getBaseName (data .getFile ()) + ".dict" );
3647+ File dict = FileUtil . appendName (data .getFile ().getParentFile (), FileUtil .getBaseName (data .getFile ()) + ".dict" );
36473648 if (dict .exists ())
36483649 {
36493650 files .add (dict );
@@ -4142,10 +4143,10 @@ public ApiResponse execute(ImportOutputFilesForm form, BindException errors) thr
41424143 return null ;
41434144 }
41444145
4145- File targetDirectory = AssayFileWriter .ensureUploadDirectory (getContainer (), "sequenceOutputs" );
4146+ FileLike targetDirectory = AssayFileWriter .ensureUploadDirectory (getContainer (), "sequenceOutputs" );
41464147 if (!targetDirectory .exists ())
41474148 {
4148- targetDirectory .mkdirs ();
4149+ targetDirectory .mkdir ();
41494150 }
41504151
41514152 if (form .getRecords () != null )
@@ -4155,7 +4156,7 @@ public ApiResponse execute(ImportOutputFilesForm form, BindException errors) thr
41554156 Map <File , Map <String , Object >> toCreate = new HashMap <>();
41564157 for (JSONObject o : JsonUtil .toJSONObjectList (arr ))
41574158 {
4158- File file = new File (dirData , o .getString ("fileName" ));
4159+ File file = FileUtil . appendName (dirData , o .getString ("fileName" ));
41594160 if (!file .exists ())
41604161 {
41614162 errors .reject (ERROR_MSG , "Unknown file: " + file .getPath ());
@@ -4196,8 +4197,8 @@ public ApiResponse execute(ImportOutputFilesForm form, BindException errors) thr
41964197
41974198 for (File file : toCreate .keySet ())
41984199 {
4199- File target = AssayFileWriter .findUniqueFileName (file .getName (), targetDirectory );
4200- FileUtils .moveFile (file , target );
4200+ FileLike target = AssayFileWriter .findUniqueFileName (file .getName (), targetDirectory );
4201+ FileUtils .moveFile (file , target . toNioPathForWrite (). toFile () );
42014202
42024203 ExpData data = ExperimentService .get ().createData (getContainer (), new DataType ("Sequence Output" ));
42034204 data .setName (file .getName ());
@@ -4236,14 +4237,14 @@ public ApiResponse execute(ImportOutputFilesForm form, BindException errors) thr
42364237 }
42374238
42384239 _log .info ("moving associated file: " + idx .getPath () + ", to: " + idxTargetName );
4239- File idxTarget = new File ( targetDirectory , idxTargetName );
4240+ FileLike idxTarget = targetDirectory . resolveChild ( idxTargetName );
42404241 if (idxTarget .exists ())
42414242 {
42424243 _log .error ("target already exists, skipping: " + idxTargetName );
42434244 }
42444245 else
42454246 {
4246- FileUtils .moveFile (idx , idxTarget );
4247+ FileUtils .moveFile (idx , idxTarget . toNioPathForWrite (). toFile () );
42474248
42484249 ExpData idxData = ExperimentService .get ().createData (getContainer (), new DataType ("Sequence Output" ));
42494250 idxData .setName (idxTarget .getName ());
0 commit comments