Skip to content

Commit

Permalink
Rename methods for clarity
Browse files Browse the repository at this point in the history
  • Loading branch information
trevorgerhardt committed Oct 28, 2023
1 parent ea820c1 commit 59c9846
Show file tree
Hide file tree
Showing 5 changed files with 22 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ private Bundle create (Request req, Response res) {
throw AnalysisServerException.badRequest("Selected OSM does not exist.");
}
} else {
osmPbfFile = HttpUtils.storeFileItem(files.get("osm").get(0));
osmPbfFile = HttpUtils.saveFileItemLocally(files.get("osm").get(0));
}

if (files.get("feedGroupId") != null) {
Expand All @@ -139,7 +139,7 @@ private Bundle create (Request req, Response res) {
bundle.feedsComplete = bundleWithFeed.feedsComplete;
bundle.totalFeeds = bundleWithFeed.totalFeeds;
} else {
gtfsZipFiles = HttpUtils.storeFileItems(files.get("feedGroup"));
gtfsZipFiles = HttpUtils.saveFileItemsLocally(files.get("feedGroup"));
}
UserPermissions userPermissions = UserPermissions.from(req);
bundle.accessGroup = userPermissions.accessGroup;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -333,7 +333,7 @@ private OpportunityDatasetUploadStatus createOpportunityDataset(Request req, Res
try {
// Validate inputs and parameters, which will throw an exception if there's anything wrong with them.
// Call remove() rather than get() so that subsequent code will see only string parameters, not the files.
files = HttpUtils.storeFileItemsAndUnzip(formFields.remove("files"));
files = HttpUtils.extractFilesFromFileItemsAndUnzip(formFields.remove("files"));
uploadFormat = DataSourceUtil.detectUploadFormatAndValidate(files);
parameters = extractStringParameters(formFields);
} catch (Exception e) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ public static DataSourceUploadAction forFormFields (
// Extract required parameters. Throws AnalysisServerException on failure, e.g. if a field is missing.
final String sourceName = getFormField(formFields, "sourceName", true);
final String regionId = getFormField(formFields, "regionId", true);
final List<File> files = HttpUtils.storeFileItemsAndUnzip(formFields.get("sourceFiles"));
final List<File> files = HttpUtils.extractFilesFromFileItemsAndUnzip(formFields.get("sourceFiles"));

FileStorageFormat format = DataSourceUtil.detectUploadFormatAndValidate(files);
DataSourceIngester ingester = DataSourceIngester.forFormat(format);
Expand Down
28 changes: 17 additions & 11 deletions src/main/java/com/conveyal/analysis/util/HttpUtils.java
Original file line number Diff line number Diff line change
Expand Up @@ -71,17 +71,17 @@ public static String getFormField(Map<String, List<FileItem>> formFields, String
}

/**
* Convert `FileItem`s into `File`s and move them into a temp directory. Automatically unzip files. Return the list
* of new `File` handles.
* Extracts `FileItem`s contents locally in a temp directory. Automatically unzip files. Return the list of new
* `File` handles.
*/
public static List<File> storeFileItemsAndUnzip(List<FileItem> fileItems) {
public static List<File> extractFilesFromFileItemsAndUnzip(List<FileItem> fileItems) {
File directory = FileUtils.createScratchDirectory();
List<File> files = new ArrayList<>();
for (FileItem fi : fileItems) {
File file = storeFileItemInDirectory(fi, directory);
File file = moveFileItemIntoDirectory(fi, directory);
String name = file.getName();
if (name.toLowerCase().endsWith(".zip")) {
files.addAll(FileUtils.unZipFileIntoDirectory(file, directory));
files.addAll(FileUtils.unzipFileIntoDirectory(file, directory));
} else {
files.add(file);
}
Expand All @@ -90,22 +90,28 @@ public static List<File> storeFileItemsAndUnzip(List<FileItem> fileItems) {
}

/**
* Convert `FileItem`s into `File`s and move them into a temporary directory. Return the list of new `File` handles.
* Move `FileItem`s contents into a temporary directory. Return the list of new `File` handles.
*/
public static List<File> storeFileItems(List<FileItem> fileItems) {
public static List<File> saveFileItemsLocally(List<FileItem> fileItems) {
File directory = FileUtils.createScratchDirectory();
List<File> files = new ArrayList<>();
for (FileItem fileItem : fileItems) {
files.add(storeFileItemInDirectory(fileItem, directory));
files.add(moveFileItemIntoDirectory(fileItem, directory));
}
return files;
}

public static File storeFileItem(FileItem fileItem) {
return storeFileItemInDirectory(fileItem, FileUtils.createScratchDirectory());
/**
* Save the contents of a `FileItem` in a temporary directory and return the `File`.
*/
public static File saveFileItemLocally(FileItem fileItem) {
return moveFileItemIntoDirectory(fileItem, FileUtils.createScratchDirectory());
}

public static File storeFileItemInDirectory(FileItem fileItem, File directory) {
/**
* Move the contents of a `FileItem` to the given directory by calling `renameTo`.
*/
public static File moveFileItemIntoDirectory(FileItem fileItem, File directory) {
File file = new File(directory, fileItem.getName());
boolean renameSuccessful = ((DiskFileItem) fileItem).getStoreLocation().renameTo(file);
if (!renameSuccessful) {
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/com/conveyal/file/FileUtils.java
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ public static boolean isGzip (File file) {
/**
* Extract the files inside a zipped file into a given directory and return the `File` handles to the new files.
*/
public static List<File> unZipFileIntoDirectory(File zipFile, File directory) {
public static List<File> unzipFileIntoDirectory(File zipFile, File directory) {
List<File> files = new ArrayList<>();
ZipInputStream zis = new ZipInputStream(FileUtils.getInputStream(zipFile));
ZipEntry zipEntry;
Expand Down

0 comments on commit 59c9846

Please sign in to comment.