Repository: lens
Updated Branches:
  refs/heads/master 7c9707148 -> 24d4f1531


LENS-1474 : Fix NPE in ExpressionResolver for SegmentationCandidate


Project: http://git-wip-us.apache.org/repos/asf/lens/repo
Commit: http://git-wip-us.apache.org/repos/asf/lens/commit/24d4f153
Tree: http://git-wip-us.apache.org/repos/asf/lens/tree/24d4f153
Diff: http://git-wip-us.apache.org/repos/asf/lens/diff/24d4f153

Branch: refs/heads/master
Commit: 24d4f1531497e8b877fe185a0ef742b18acf125c
Parents: 7c97071
Author: Rajitha R <rajitha....@gmail.com>
Authored: Mon Sep 11 09:53:21 2017 +0530
Committer: Amareshwari Sriramadasu <amareshw...@apache.org>
Committed: Mon Sep 11 09:53:21 2017 +0530

----------------------------------------------------------------------
 .../apache/lens/cube/parse/ExpressionResolver.java | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lens/blob/24d4f153/lens-cube/src/main/java/org/apache/lens/cube/parse/ExpressionResolver.java
----------------------------------------------------------------------
diff --git 
a/lens-cube/src/main/java/org/apache/lens/cube/parse/ExpressionResolver.java 
b/lens-cube/src/main/java/org/apache/lens/cube/parse/ExpressionResolver.java
index 1268ef7..553468f 100644
--- a/lens-cube/src/main/java/org/apache/lens/cube/parse/ExpressionResolver.java
+++ b/lens-cube/src/main/java/org/apache/lens/cube/parse/ExpressionResolver.java
@@ -317,12 +317,14 @@ class ExpressionResolver implements ContextRewriter {
     }
 
     ExpressionContext getExpressionContext(String expr, String alias) {
-      for (ExpressionContext ec : allExprsQueried.get(expr)) {
-        if (ec.getSrcAlias().equals(alias)) {
-          return ec;
+      if (allExprsQueried.get(expr) != null) {
+        for (ExpressionContext ec : allExprsQueried.get(expr)) {
+          if (ec.getSrcAlias().equals(alias)) {
+            return ec;
+          }
         }
       }
-      throw new IllegalArgumentException("no expression available for " + expr 
+ " alias:" + alias);
+      return null;
     }
 
     boolean hasMeasures(String expr, CubeInterface cube) {
@@ -540,8 +542,11 @@ class ExpressionResolver implements ContextRewriter {
       expressionContexts.add(expressionContext);
       for (StorageCandidate sc : scSet) {
         storageTableNames.add(sc.getStorageTable());
-        expressionContexts.add(sc.getCubeQueryContext().getExprCtx()
-          .getExpressionContext(expressionContext.getExprCol().getName(), 
expressionContext.getSrcAlias()));
+        ExpressionContext ex = 
sc.getCubeQueryContext().getExprCtx().getExpressionContext(expressionContext.
+            getExprCol().getName(), expressionContext.getSrcAlias());
+        if (ex != null) {
+          expressionContexts.add(ex);
+        }
       }
       for (ExpressionContext ec : expressionContexts) {
         for (CandidateTable table : ec.evaluableExpressions.keySet()) {

Reply via email to