Package sk.iway.iwcm.admin.upload
Class FileArchiveUploadService
java.lang.Object
sk.iway.iwcm.admin.upload.FileArchiveUploadService
Shared service for file archive upload operations used by both AdminUploadServlet and AdminUploadController.
Centralizes archive permission checks, new file creation, and overwrite logic.
-
Method Summary
Modifier and TypeMethodDescriptionstatic StringnormalizeArchiveFolder(String destinationFolder) Returns the normalized archive folder path.static voidoverwriteArchiveFile(Identity user, Prop prop, String archiveFolder, String fileName, String fileKey, org.json.JSONObject output) Overwrites an existing archive file with a new upload.static voidsaveNewArchiveFile(Identity user, Prop prop, String destinationFolder, String fileName, String originalName, String fileKey, org.json.JSONObject output) Saves a new file into the archive (non-existing file).static voiduploadNewArchiveFileVersion(Identity user, Prop prop, String archiveFolder, String fileName, String fileKey, org.json.JSONObject output) Uploads a new version of an existing archive file.static StringvalidateArchiveUploadPermission(Identity user, String destinationFolder, String referer) Validates that the user has permission to upload to the given archive folder.
-
Method Details
-
validateArchiveUploadPermission
public static String validateArchiveUploadPermission(Identity user, String destinationFolder, String referer) Validates that the user has permission to upload to the given archive folder.- Parameters:
user- - current userdestinationFolder- - raw destination folder from the requestreferer- - HTTP referer header- Returns:
- error key if validation fails, null if OK
-
normalizeArchiveFolder
Returns the normalized archive folder path.- Parameters:
destinationFolder- - raw destination folder- Returns:
- normalized path
-
saveNewArchiveFile
public static void saveNewArchiveFile(Identity user, Prop prop, String destinationFolder, String fileName, String originalName, String fileKey, org.json.JSONObject output) Saves a new file into the archive (non-existing file). Called after chunk assembly in AdminUploadServlet.- Parameters:
user- - current userprop- - localization instancedestinationFolder- - normalized archive folderfileName- - sanitized file nameoriginalName- - original file name (used for virtualFileName)fileKey- - temp file key (random string)output- - JSON output to populate with result
-
overwriteArchiveFile
public static void overwriteArchiveFile(Identity user, Prop prop, String archiveFolder, String fileName, String fileKey, org.json.JSONObject output) Overwrites an existing archive file with a new upload. Called from AdminUploadController.- Parameters:
user- - current userprop- - localization instancearchiveFolder- - normalized archive folderfileName- - file name to overwritefileKey- - temp file keyoutput- - JSON output to populate with result
-
uploadNewArchiveFileVersion
public static void uploadNewArchiveFileVersion(Identity user, Prop prop, String archiveFolder, String fileName, String fileKey, org.json.JSONObject output) Uploads a new version of an existing archive file. Called from AdminUploadController.- Parameters:
user- - current userprop- - localization instancearchiveFolder- - normalized archive folderfileName- - file name whose new version is uploadedfileKey- - temp file keyoutput- - JSON output to populate with result
-