ATLAS-2771: Add option to exclude internal types when retrieving typedefs via REST

Signed-off-by: Madhan Neethiraj <madhan@apache.org>
diff --git a/webapp/src/main/java/org/apache/atlas/web/rest/TypesREST.java b/webapp/src/main/java/org/apache/atlas/web/rest/TypesREST.java
index 345250a..13e6512 100644
--- a/webapp/src/main/java/org/apache/atlas/web/rest/TypesREST.java
+++ b/webapp/src/main/java/org/apache/atlas/web/rest/TypesREST.java
@@ -414,13 +414,20 @@
      * @return
      */
     private SearchFilter getSearchFilter(HttpServletRequest httpServletRequest) {
-        SearchFilter ret = new SearchFilter();
-        Set<String> keySet = httpServletRequest.getParameterMap().keySet();
-        for (String key : keySet) {
-            ret.setParam(String.valueOf(key), String.valueOf(httpServletRequest.getParameter(key)));
+        SearchFilter ret    = new SearchFilter();
+        Set<String>  keySet = httpServletRequest.getParameterMap().keySet();
+
+        for (String k : keySet) {
+            String key   = String.valueOf(k);
+            String value = String.valueOf(httpServletRequest.getParameter(k));
+
+            if (key.equalsIgnoreCase("excludeInternalTypesAndReferences") && value.equalsIgnoreCase("true")) {
+                FilterUtil.addParamsToHideInternalType(ret);
+            } else {
+                ret.setParam(key, value);
+            }
         }
 
-        FilterUtil.addParamsToHideInternalType(ret);
         return ret;
     }
 }