Skip to content

Commit c7317e1

Browse files
Move files into a scratch directory before processing
1 parent afa53cf commit c7317e1

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

src/main/java/com/conveyal/analysis/controllers/OpportunityDatasetController.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -329,6 +329,8 @@ private OpportunityDatasetUploadStatus createOpportunityDataset(Request req, Res
329329
OpportunityDatasetUploadStatus status = new OpportunityDatasetUploadStatus(regionId, sourceName);
330330
addStatusAndRemoveOldStatuses(status);
331331

332+
// TODO should we delete this temporary directory at the end?
333+
final File tmpDirectory = FileUtils.createScratchDirectory();
332334
final List<File> files = new ArrayList<>();
333335
final List<FileItem> fileItems;
334336
final FileStorageFormat uploadFormat;
@@ -338,8 +340,9 @@ private OpportunityDatasetUploadStatus createOpportunityDataset(Request req, Res
338340
// Call remove() rather than get() so that subsequent code will see only string parameters, not the files.
339341
fileItems = formFields.remove("files");
340342
for (var fi : fileItems) {
341-
var dfi = (DiskFileItem) fi;
342-
files.add(dfi.getStoreLocation());
343+
var tmpFile = new File(tmpDirectory, fi.getName());
344+
Files.move(((DiskFileItem) fi).getStoreLocation(), tmpFile);
345+
files.add(tmpFile);
343346
}
344347
uploadFormat = detectUploadFormatAndValidate(files);
345348
parameters = extractStringParameters(formFields);
@@ -541,7 +544,7 @@ private List<Grid> createGridsFromShapefile(List<File> files,
541544
}
542545

543546
// Copy the shapefile component files into a temporary directory with a fixed base name.
544-
File tempDir = Files.createTempDir();
547+
File tempDir = FileUtils.createScratchDirectory();
545548

546549
File shpFile = new File(tempDir, "grid.shp");
547550
Files.copy(filesByExtension.get("SHP"), shpFile);

0 commit comments

Comments
 (0)