You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by lu...@apache.org on 2016/11/25 18:18:08 UTC
[13/14] struts git commit: Fixes issue with NPE
Fixes issue with NPE
Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/1ff8a88a
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/1ff8a88a
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/1ff8a88a
Branch: refs/heads/master
Commit: 1ff8a88a9df4b5cb9ffbdbb21028dc61d3236b01
Parents: ae5605f
Author: Lukasz Lenart <lu...@apache.org>
Authored: Thu Nov 24 14:52:18 2016 +0100
Committer: Lukasz Lenart <lu...@apache.org>
Committed: Thu Nov 24 14:52:18 2016 +0100
----------------------------------------------------------------------
.../conversion/UploadedFileConverter.java | 20 ++++++++++++--------
1 file changed, 12 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/struts/blob/1ff8a88a/core/src/main/java/org/apache/struts2/conversion/UploadedFileConverter.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/conversion/UploadedFileConverter.java b/core/src/main/java/org/apache/struts2/conversion/UploadedFileConverter.java
index 8ceac31..69d3c62 100644
--- a/core/src/main/java/org/apache/struts2/conversion/UploadedFileConverter.java
+++ b/core/src/main/java/org/apache/struts2/conversion/UploadedFileConverter.java
@@ -36,18 +36,22 @@ public class UploadedFileConverter extends DefaultTypeConverter {
@Override
public Object convertValue(Map<String, Object> context, Object target, Member member, String propertyName, Object value, Class toType) {
if (File.class.equals(toType)) {
- LOG.warn("Converting {} into {}, consider switching to {} and do not access {} directly!",
+ LOG.debug("Converting {} into {}, consider switching to {} and do not access {} directly!",
File.class.getName(), UploadedFile.class.getName(), UploadedFile.class.getName(), File.class.getName());
+ Object obj;
if (value.getClass().isArray() && Array.getLength(value) == 1) {
- Object obj = Array.get(value, 0);
- if (obj instanceof UploadedFile) {
- UploadedFile file = (UploadedFile) obj;
- if (file.getContent() instanceof File) {
- return file.getContent();
- }
- return new File(file.getAbsolutePath());
+ obj = Array.get(value, 0);
+ } else {
+ obj = value;
+ }
+
+ if (obj instanceof UploadedFile) {
+ UploadedFile file = (UploadedFile) obj;
+ if (file.getContent() instanceof File) {
+ return file.getContent();
}
+ return new File(file.getAbsolutePath());
}
}