Skip to content

Commit 2d2d95a

Browse files
AssayDataHandler and AssayUpload conversion File->FileObject
checkpoint
1 parent ca012ac commit 2d2d95a

File tree

4 files changed

+19
-15
lines changed

4 files changed

+19
-15
lines changed

laboratory/src/org/labkey/laboratory/LaboratoryController.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import jakarta.servlet.http.HttpServletResponse;
2020
import org.apache.commons.lang3.ArrayUtils;
2121
import org.apache.commons.lang3.StringUtils;
22+
import org.apache.commons.vfs2.FileObject;
2223
import org.apache.logging.log4j.LogManager;
2324
import org.apache.logging.log4j.Logger;
2425
import org.jetbrains.annotations.NotNull;
@@ -619,8 +620,8 @@ protected File getTargetFile(String filename) throws IOException
619620

620621
try
621622
{
622-
File targetDirectory = AssayFileWriter.ensureUploadDirectory(getContainer());
623-
return AssayFileWriter.findUniqueFileName(filename, targetDirectory);
623+
FileObject targetDirectory = AssayFileWriter.ensureUploadDirectory(getContainer());
624+
return AssayFileWriter.findUniqueFileName(filename, targetDirectory).getPath().toFile();
624625
}
625626
catch (ExperimentException e)
626627
{

laboratory/src/org/labkey/laboratory/LaboratoryServiceImpl.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
*/
1616
package org.labkey.laboratory;
1717

18+
import org.apache.commons.vfs2.FileObject;
1819
import org.apache.logging.log4j.Logger;
1920
import org.apache.logging.log4j.LogManager;
2021
import org.jetbrains.annotations.Nullable;
@@ -196,10 +197,10 @@ public Pair<ExpExperiment, ExpRun> saveAssayBatch(List<Map<String, Object>> resu
196197

197198
try
198199
{
199-
File targetDirectory = AssayFileWriter.ensureUploadDirectory(ctx.getContainer());
200-
File file = AssayFileWriter.findUniqueFileName(basename, targetDirectory);
200+
FileObject targetDirectory = AssayFileWriter.ensureUploadDirectory(ctx.getContainer());
201+
FileObject file = AssayFileWriter.findUniqueFileName(basename, targetDirectory);
201202

202-
return this.saveAssayBatch(results, json, file, ctx, provider, protocol);
203+
return this.saveAssayBatch(results, json, file.getPath().toFile(), ctx, provider, protocol);
203204
}
204205
catch (ExperimentException e)
205206
{

laboratory/src/org/labkey/laboratory/assay/AssayHelper.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
*/
1616
package org.labkey.laboratory.assay;
1717

18+
import org.apache.commons.vfs2.FileObject;
1819
import org.apache.logging.log4j.LogManager;
1920
import org.apache.logging.log4j.Logger;
2021
import org.jetbrains.annotations.Nullable;
@@ -46,6 +47,7 @@
4647
import org.labkey.api.exp.property.Domain;
4748
import org.labkey.api.exp.property.DomainKind;
4849
import org.labkey.api.exp.property.DomainProperty;
50+
import org.labkey.api.files.virtual.AuthorizedFileSystem;
4951
import org.labkey.api.laboratory.LaboratoryService;
5052
import org.labkey.api.laboratory.assay.AssayDataProvider;
5153
import org.labkey.api.laboratory.assay.AssayImportMethod;
@@ -88,9 +90,8 @@ public static AssayHelper get()
8890
return _instance;
8991
}
9092

91-
public Map<String, File> saveResultsFile(List<Map<String, Object>> results, JSONObject json, File file, AssayProvider provider, ExpProtocol protocol) throws ExperimentException, ValidationException
93+
public Map<String, FileObject> saveResultsFile(List<Map<String, Object>> results, JSONObject json, File file, AssayProvider provider, ExpProtocol protocol) throws ExperimentException, ValidationException
9294
{
93-
Map<String, File> files = new HashMap<String, File>();
9495
//TODO: consider adding as input??
9596
//files.put("RawInput", file);
9697

@@ -111,7 +112,8 @@ public Map<String, File> saveResultsFile(List<Map<String, Object>> results, JSON
111112
throw new ExperimentException(e.getMessage());
112113
}
113114

114-
files.put(AssayDataCollector.PRIMARY_FILE, newFile);
115+
Map<String, FileObject> files = new HashMap<String, FileObject>();
116+
files.put(AssayDataCollector.PRIMARY_FILE, AuthorizedFileSystem.convertToFileObject(newFile));
115117

116118
return files;
117119
}
@@ -209,7 +211,7 @@ public Pair<ExpExperiment, ExpRun> saveAssayBatch(List<Map<String, Object>> resu
209211
});
210212
}
211213

212-
Map<String, File> uploadedFiles = saveResultsFile(results, json, file, provider, protocol);
214+
Map<String, FileObject> uploadedFiles = saveResultsFile(results, json, file, provider, protocol);
213215

214216
//TODO: see AssayRunAsyncContext
215217
AssayRunUploadContext uploadContext = new RunUploadContext<>(protocol, provider, name, comments, runProperties, batchProperties, ctx, uploadedFiles);
@@ -243,10 +245,10 @@ private File getUniqueOutputName(File input, String extension)
243245
File parent = input.getParentFile();
244246
String basename = FileUtil.getBaseName(input);
245247
int suffix = 1;
246-
File newFile = new File(parent, basename + "." + extension);
248+
File newFile = FileUtil.appendName(parent, basename + "." + extension);
247249
while (newFile.exists())
248250
{
249-
newFile = new File(parent, basename + "-" + suffix + "." + extension);
251+
newFile = FileUtil.appendName(parent, basename + "-" + suffix + "." + extension);
250252
suffix++;
251253
}
252254
return newFile;

laboratory/src/org/labkey/laboratory/assay/RunUploadContext.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
package org.labkey.laboratory.assay;
1717

1818
import jakarta.servlet.http.HttpServletRequest;
19+
import org.apache.commons.vfs2.FileObject;
1920
import org.apache.logging.log4j.Logger;
2021
import org.jetbrains.annotations.NotNull;
2122
import org.labkey.api.assay.AssayProvider;
@@ -33,7 +34,6 @@
3334
import org.labkey.api.view.ActionURL;
3435
import org.labkey.api.view.ViewContext;
3536

36-
import java.io.File;
3737
import java.util.Collections;
3838
import java.util.HashMap;
3939
import java.util.Map;
@@ -53,9 +53,9 @@ public class RunUploadContext<ProviderType extends AssayProvider> implements Ass
5353
private final ViewContext _ctx;
5454

5555
private TransformResult _transformResult;
56-
private final Map<String, File> _uploadedData;
56+
private final Map<String, FileObject> _uploadedData;
5757

58-
public RunUploadContext(ExpProtocol protocol, ProviderType providerType, String name, String comments, Map<String, String> runProperties, Map<String, String> batchProperties, ViewContext ctx, Map<String, File> uploadedData)
58+
public RunUploadContext(ExpProtocol protocol, ProviderType providerType, String name, String comments, Map<String, String> runProperties, Map<String, String> batchProperties, ViewContext ctx, Map<String, FileObject> uploadedData)
5959
{
6060
_protocol = protocol;
6161
_providerType = providerType;
@@ -154,7 +154,7 @@ public ActionURL getActionURL()
154154

155155
@Override
156156
@NotNull
157-
public Map<String, File> getUploadedData() throws ExperimentException
157+
public Map<String, FileObject> getUploadedData() throws ExperimentException
158158
{
159159
return _uploadedData;
160160
}

0 commit comments

Comments
 (0)