DRILL-1235: Fix null handling in REST interface

Project: http://git-wip-us.apache.org/repos/asf/incubator-drill/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-drill/commit/e71a5059
Tree: http://git-wip-us.apache.org/repos/asf/incubator-drill/tree/e71a5059
Diff: http://git-wip-us.apache.org/repos/asf/incubator-drill/diff/e71a5059

Branch: refs/heads/master
Commit: e71a5059f87aefc23a8e6811cbb5f078281c9549
Parents: 2d10e8b
Author: akumarb2010 <[email protected]>
Authored: Fri Aug 1 18:28:20 2014 +0530
Committer: Jacques Nadeau <[email protected]>
Committed: Wed Aug 6 16:44:22 2014 -0700

----------------------------------------------------------------------
 .../java/org/apache/drill/exec/server/rest/QueryWrapper.java | 8 ++++++--
 exec/java-exec/src/main/resources/rest/query/result.ftl      | 2 +-
 2 files changed, 7 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/e71a5059/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/QueryWrapper.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/QueryWrapper.java
 
b/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/QueryWrapper.java
index 83c82db..8f299bb 100644
--- 
a/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/QueryWrapper.java
+++ 
b/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/QueryWrapper.java
@@ -135,10 +135,14 @@ public class QueryWrapper {
           for (VectorWrapper<?> vw : loader) {
             ValueVector.Accessor accessor = vw.getValueVector().getAccessor();
             Object object = accessor.getObject(i);
-            if (! object.getClass().getName().startsWith("java.lang")) {
+            if (object != null && (! 
object.getClass().getName().startsWith("java.lang"))) {
               object = object.toString();
             }
-            record.put(columnNames.get(j), object);
+            if (object != null) {
+              record.put(columnNames.get(j), object);
+            } else {
+              record.put(columnNames.get(j), null);
+            }
             ++j;
           }
           output.add(record);

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/e71a5059/exec/java-exec/src/main/resources/rest/query/result.ftl
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/main/resources/rest/query/result.ftl 
b/exec/java-exec/src/main/resources/rest/query/result.ftl
index 0d60da8..d4e3508 100644
--- a/exec/java-exec/src/main/resources/rest/query/result.ftl
+++ b/exec/java-exec/src/main/resources/rest/query/result.ftl
@@ -38,7 +38,7 @@
       <#list model.getRecords() as record>
         <tr>
           <#list record as value>
-          <td>${value}</td>
+          <td><#if value??>${value}<#else>null</#if></td>
           </#list>
         </tr>
       </#list>

Reply via email to