This is an automated email from the ASF dual-hosted git repository. madhan pushed a commit to branch branch-2.0 in repository https://gitbox.apache.org/repos/asf/atlas.git
commit 75949f6c7ceed2480097e8727e4aa4f62e4e2994 Author: Nikhil Bonte <[email protected]> AuthorDate: Mon Dec 2 13:35:25 2019 -0800 ATLAS-3532: DSL Composer update to address '_' test case. Part #2 Signed-off-by: Ashutosh Mestry <[email protected]> (cherry picked from commit 5955fcd1390910b714b13716b8c2ffc8fc5932d8) --- .../src/main/java/org/apache/atlas/query/GremlinQueryComposer.java | 2 +- repository/src/main/java/org/apache/atlas/query/IdentifierHelper.java | 3 +++ .../src/test/java/org/apache/atlas/query/GremlinQueryComposerTest.java | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/repository/src/main/java/org/apache/atlas/query/GremlinQueryComposer.java b/repository/src/main/java/org/apache/atlas/query/GremlinQueryComposer.java index 95f3b44..801e898 100644 --- a/repository/src/main/java/org/apache/atlas/query/GremlinQueryComposer.java +++ b/repository/src/main/java/org/apache/atlas/query/GremlinQueryComposer.java @@ -227,7 +227,7 @@ public class GremlinQueryComposer { } private boolean containsNumberAndLettersOnly(String rhs) { - return Pattern.matches(REGEX_ALPHA_NUMERIC_PATTERN, rhs); + return Pattern.matches(REGEX_ALPHA_NUMERIC_PATTERN, IdentifierHelper.removeWildcards(rhs)); } private String parseNumber(String rhs, Context context) { diff --git a/repository/src/main/java/org/apache/atlas/query/IdentifierHelper.java b/repository/src/main/java/org/apache/atlas/query/IdentifierHelper.java index 0354fd3..7b03d11 100644 --- a/repository/src/main/java/org/apache/atlas/query/IdentifierHelper.java +++ b/repository/src/main/java/org/apache/atlas/query/IdentifierHelper.java @@ -116,6 +116,9 @@ public class IdentifierHelper { return s.replace("*", ".*").replace('?', '.'); } + public static String removeWildcards(String s) { + return removeQuotes(s).replace("*", "").replace("?", ""); + } public static class Info { private String raw; diff --git a/repository/src/test/java/org/apache/atlas/query/GremlinQueryComposerTest.java b/repository/src/test/java/org/apache/atlas/query/GremlinQueryComposerTest.java index 06db67d..959aa11 100644 --- a/repository/src/test/java/org/apache/atlas/query/GremlinQueryComposerTest.java +++ b/repository/src/test/java/org/apache/atlas/query/GremlinQueryComposerTest.java @@ -169,7 +169,7 @@ public class GremlinQueryComposerTest { verify("Table where Asset.name like \"Tab*\"", "g.V().has('__typeName', 'Table').has('Asset.__s_name', org.janusgraph.core.attribute.Text.textRegex(\"Tab.*\")).dedup().limit(25).toList()"); verify("Table where owner like \"Tab*\"", - "g.V().has('__typeName', 'Table').has('Table.owner', org.janusgraph.core.attribute.Text.textRegex(\"Tab.*\")).dedup().limit(25).toList()"); + "g.V().has('__typeName', 'Table').has('Table.owner', org.janusgraph.core.attribute.Text.textContainsRegex(\"Tab.*\")).dedup().limit(25).toList()"); verify("Table where owner like \"*Tab_*\"", "g.V().has('__typeName', 'Table').has('Table.owner', org.janusgraph.core.attribute.Text.textRegex(\".*Tab_.*\")).dedup().limit(25).toList()"); verify("from Table where (db.name = \"Reporting\")",
