Skip to content

Commit d4a5496

Browse files
authored
WW-5616 - JakartaStreamMultiPartRequest warns on file delete if the file doesnt exist (#1591)
* Pull aspects into alignment with main/7.x+ AbstractMultiPartRequest.java * Update JakartaMultiPartRequest and JakartaStreamMultiPartRequest to use isFile() * Update cleanup text to mirror main/7.x+
1 parent 4b29156 commit d4a5496

2 files changed

Lines changed: 18 additions & 8 deletions

File tree

core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaMultiPartRequest.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -373,10 +373,14 @@ public void cleanUp() {
373373
if (item instanceof DiskFileItem) {
374374
DiskFileItem diskItem = (DiskFileItem) item;
375375
File storeLocation = diskItem.getStoreLocation();
376-
if (storeLocation != null && storeLocation.exists()) {
377-
LOG.debug("Deleting temporary file: [{}]", storeLocation.getName());
378-
if (!storeLocation.delete()) {
379-
LOG.warn("Unable to delete temporary file: [{}]", storeLocation.getName());
376+
if (storeLocation != null) {
377+
if(storeLocation.isFile()) {
378+
LOG.debug("Deleting file: {}", storeLocation.getName());
379+
if (!storeLocation.delete()) {
380+
LOG.warn("There was a problem attempting to delete file: {}", storeLocation.getName());
381+
}
382+
} else {
383+
LOG.debug("File: {} already deleted", storeLocation.getName());
380384
}
381385
}
382386
}

core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaStreamMultiPartRequest.java

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,10 +79,16 @@ public void cleanUp() {
7979
try {
8080
// catch any exceptions during cleanup to ensure all files are deleted.
8181
File file = fileInfo.getFile();
82-
LOG.debug("Deleting file '{}'.", file.getName());
83-
if (!file.delete()) {
84-
LOG.warn("There was a problem attempting to delete file [{}].",
85-
file.getName());
82+
if(file != null) {
83+
if(file.isFile()) {
84+
LOG.debug("Deleting file: {}", file.getName());
85+
if (!file.delete()) {
86+
LOG.warn("There was a problem attempting to delete file: {}",
87+
file.getName());
88+
}
89+
} else {
90+
LOG.debug("File: {} already deleted", file.getName());
91+
}
8692
}
8793
} catch (Exception e) {
8894
LOG.warn("Error during cleanup of file item: [{}]", normalizeSpace(fileInfo.getOriginalName()), e);

0 commit comments

Comments
 (0)