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());
             }
         }