ATLAS-1726 : Creating type name with space causes exceptions while doing DSL search
diff --git a/webapp/src/main/java/org/apache/atlas/web/rest/DiscoveryREST.java b/webapp/src/main/java/org/apache/atlas/web/rest/DiscoveryREST.java
index 836626b..76ad88c 100644
--- a/webapp/src/main/java/org/apache/atlas/web/rest/DiscoveryREST.java
+++ b/webapp/src/main/java/org/apache/atlas/web/rest/DiscoveryREST.java
@@ -82,7 +82,7 @@
String queryStr = query == null ? "" : query;
if (StringUtils.isNoneEmpty(typeName)) {
- queryStr = typeName + " " + queryStr;
+ queryStr = escapeTypeName(typeName) + " " + queryStr;
}
if (StringUtils.isNoneEmpty(classification)) {
@@ -207,4 +207,16 @@
AtlasPerfTracer.log(perf);
}
}
+
+ private String escapeTypeName(String typeName) {
+ String ret;
+
+ if (StringUtils.startsWith(typeName, "`") && StringUtils.endsWith(typeName, "`")) {
+ ret = typeName;
+ } else {
+ ret = String.format("`%s`", typeName);
+ }
+
+ return ret;
+ }
}
\ No newline at end of file