You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@atlas.apache.org by ni...@apache.org on 2020/03/31 11:11:32 UTC

[atlas] 02/02: ATLAS-3672 : Search with Classification without filters and Entity with filters doesn't fetch expected results.

This is an automated email from the ASF dual-hosted git repository.

nixon pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/atlas.git

commit 4d0f5ce213a49fcd8509a2ea5f6a0bb733c0c186
Author: Pinal Shah <pi...@freestoneinfotech.com>
AuthorDate: Tue Mar 31 16:13:28 2020 +0530

    ATLAS-3672 : Search with Classification without filters and Entity with filters doesn't fetch expected results.
    
    Signed-off-by: nixonrodrigues <ni...@apache.org>
---
 .../apache/atlas/discovery/SearchProcessor.java    | 88 +++++++++++-----------
 1 file changed, 42 insertions(+), 46 deletions(-)

diff --git a/repository/src/main/java/org/apache/atlas/discovery/SearchProcessor.java b/repository/src/main/java/org/apache/atlas/discovery/SearchProcessor.java
index 074ad8b..5d7c508 100644
--- a/repository/src/main/java/org/apache/atlas/discovery/SearchProcessor.java
+++ b/repository/src/main/java/org/apache/atlas/discovery/SearchProcessor.java
@@ -738,52 +738,48 @@ public abstract class SearchProcessor {
                     operator                         = processedCriteria.getOperator();
                 }
 
-                try {
-                    final String qualifiedName = type.getQualifiedAttributeName(attrName);
-
-                    switch (operator) {
-                        case LT:
-                            query.has(qualifiedName, AtlasGraphQuery.ComparisionOperator.LESS_THAN, attrValue);
-                            break;
-                        case LTE:
-                            query.has(qualifiedName, AtlasGraphQuery.ComparisionOperator.LESS_THAN_EQUAL, attrValue);
-                            break;
-                        case GT:
-                            query.has(qualifiedName, AtlasGraphQuery.ComparisionOperator.GREATER_THAN, attrValue);
-                            break;
-                        case GTE:
-                            query.has(qualifiedName, AtlasGraphQuery.ComparisionOperator.GREATER_THAN_EQUAL, attrValue);
-                            break;
-                        case EQ:
-                            query.has(qualifiedName, AtlasGraphQuery.ComparisionOperator.EQUAL, attrValue);
-                            break;
-                        case NEQ:
-                            query.has(qualifiedName, AtlasGraphQuery.ComparisionOperator.NOT_EQUAL, attrValue);
-                            break;
-                        case LIKE:
-                            query.has(qualifiedName, AtlasGraphQuery.MatchingOperator.REGEX, attrValue);
-                            break;
-                        case CONTAINS:
-                            query.has(qualifiedName, AtlasGraphQuery.MatchingOperator.REGEX, getContainsRegex(attrValue));
-                            break;
-                        case STARTS_WITH:
-                            query.has(qualifiedName, AtlasGraphQuery.MatchingOperator.PREFIX, attrValue);
-                            break;
-                        case ENDS_WITH:
-                            query.has(qualifiedName, AtlasGraphQuery.MatchingOperator.REGEX, getSuffixRegex(attrValue));
-                            break;
-                        case IS_NULL:
-                            query.has(qualifiedName, AtlasGraphQuery.ComparisionOperator.EQUAL, null);
-                            break;
-                        case NOT_NULL:
-                            query.has(qualifiedName, AtlasGraphQuery.ComparisionOperator.NOT_EQUAL, null);
-                            break;
-                        default:
-                            LOG.warn("{}: unsupported operator. Ignored", operator);
-                            break;
-                    }
-                } catch (AtlasBaseException e) {
-                    LOG.error("toGraphFilterQuery(): failed for attrName=" + attrName + "; operator=" + operator + "; attrValue=" + attrValue, e);
+                final String qualifiedName           =  type.getAttribute(attrName).getVertexPropertyName();
+
+                switch (operator) {
+                    case LT:
+                        query.has(qualifiedName, AtlasGraphQuery.ComparisionOperator.LESS_THAN, attrValue);
+                        break;
+                    case LTE:
+                        query.has(qualifiedName, AtlasGraphQuery.ComparisionOperator.LESS_THAN_EQUAL, attrValue);
+                        break;
+                    case GT:
+                        query.has(qualifiedName, AtlasGraphQuery.ComparisionOperator.GREATER_THAN, attrValue);
+                        break;
+                    case GTE:
+                        query.has(qualifiedName, AtlasGraphQuery.ComparisionOperator.GREATER_THAN_EQUAL, attrValue);
+                        break;
+                    case EQ:
+                        query.has(qualifiedName, AtlasGraphQuery.ComparisionOperator.EQUAL, attrValue);
+                        break;
+                    case NEQ:
+                        query.has(qualifiedName, AtlasGraphQuery.ComparisionOperator.NOT_EQUAL, attrValue);
+                        break;
+                    case LIKE:
+                        query.has(qualifiedName, AtlasGraphQuery.MatchingOperator.REGEX, attrValue);
+                        break;
+                    case CONTAINS:
+                        query.has(qualifiedName, AtlasGraphQuery.MatchingOperator.REGEX, getContainsRegex(attrValue));
+                        break;
+                    case STARTS_WITH:
+                        query.has(qualifiedName, AtlasGraphQuery.MatchingOperator.PREFIX, attrValue);
+                        break;
+                    case ENDS_WITH:
+                        query.has(qualifiedName, AtlasGraphQuery.MatchingOperator.REGEX, getSuffixRegex(attrValue));
+                        break;
+                    case IS_NULL:
+                        query.has(qualifiedName, AtlasGraphQuery.ComparisionOperator.EQUAL, null);
+                        break;
+                    case NOT_NULL:
+                        query.has(qualifiedName, AtlasGraphQuery.ComparisionOperator.NOT_EQUAL, null);
+                        break;
+                    default:
+                        LOG.warn("{}: unsupported operator. Ignored", operator);
+                        break;
                 }
             }
         }