atlas-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From suma...@apache.org
Subject incubator-atlas git commit: ATLAS-1357: Fixes for test failures from ATLAS-1307
Date Thu, 08 Dec 2016 08:50:14 GMT
Repository: incubator-atlas
Updated Branches:
  refs/heads/master 2c881a466 -> 28410df5f


ATLAS-1357: Fixes for test failures from ATLAS-1307


Project: http://git-wip-us.apache.org/repos/asf/incubator-atlas/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-atlas/commit/28410df5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-atlas/tree/28410df5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-atlas/diff/28410df5

Branch: refs/heads/master
Commit: 28410df5f40cdfd2cb09c9fe99cbfb615b2038c0
Parents: 2c881a4
Author: apoorvnaik <anaik@hortonworks.com>
Authored: Thu Dec 8 00:20:32 2016 -0800
Committer: Suma Shivaprasad <sumasai.shivaprasad@gmail.com>
Committed: Thu Dec 8 00:50:04 2016 -0800

----------------------------------------------------------------------
 .../java/org/apache/atlas/AtlasBaseClient.java  | 36 +++++++---
 .../main/java/org/apache/atlas/AtlasClient.java | 43 +++++------
 .../org/apache/atlas/model/SearchFilter.java    | 29 ++++----
 release-log.txt                                 |  3 +-
 .../web/resources/AdminJerseyResourceIT.java    |  2 +-
 .../DataSetLineageJerseyResourceIT.java         | 10 +--
 .../web/resources/EntityJerseyResourceIT.java   | 76 +++++++++++---------
 .../EntityLineageJerseyResourceIT.java          | 29 ++++----
 .../MetadataDiscoveryJerseyResourceIT.java      | 46 ++++++------
 .../web/resources/TypedefsJerseyResourceIT.java | 26 +++----
 .../web/resources/TypesJerseyResourceIT.java    | 10 +--
 11 files changed, 170 insertions(+), 140 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/28410df5/client/src/main/java/org/apache/atlas/AtlasBaseClient.java
----------------------------------------------------------------------
diff --git a/client/src/main/java/org/apache/atlas/AtlasBaseClient.java b/client/src/main/java/org/apache/atlas/AtlasBaseClient.java
index 72fd69e..a95bf32 100644
--- a/client/src/main/java/org/apache/atlas/AtlasBaseClient.java
+++ b/client/src/main/java/org/apache/atlas/AtlasBaseClient.java
@@ -38,6 +38,7 @@ import org.slf4j.LoggerFactory;
 
 import javax.ws.rs.HttpMethod;
 import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.MultivaluedMap;
 import javax.ws.rs.core.Response;
 import javax.ws.rs.core.UriBuilder;
 import java.io.IOException;
@@ -398,7 +399,7 @@ public abstract class AtlasBaseClient {
         return callAPIWithResource(api, getResource(api, params), requestObject, responseType);
     }
 
-    public <T> T callAPI(APIInfo api, Class<T> responseType, Map<String, String> queryParams, String... params)
+    public <T> T callAPI(APIInfo api, Class<T> responseType, MultivaluedMap<String, String> queryParams, String... params)
             throws AtlasServiceException {
         WebResource resource = getResource(api, queryParams, params);
         return callAPIWithResource(api, resource, null, responseType);
@@ -415,12 +416,27 @@ public abstract class AtlasBaseClient {
         return resource;
     }
 
-    public <T> T callAPI(APIInfo api, Class<T> responseType, Map<String, String> queryParams)
+    public <T> T callAPI(APIInfo api, Class<T> responseType, MultivaluedMap<String, String> queryParams)
             throws AtlasServiceException {
         return callAPIWithResource(api, getResource(api, queryParams), null, responseType);
     }
 
-    protected WebResource getResource(APIInfo api, Map<String, String> queryParams, String ... pathParams) {
+    public <T> T callAPI(APIInfo api, Class<T> responseType, String queryParamKey, List<String> queryParamValues)
+            throws AtlasServiceException {
+        return callAPIWithResource(api, getResource(api, queryParamKey, queryParamValues), null, responseType);
+    }
+
+    private WebResource getResource(APIInfo api, String queryParamKey, List<String> queryParamValues) {
+        WebResource resource = service.path(api.getPath());
+        for (String queryParamValue : queryParamValues) {
+            if (StringUtils.isNotBlank(queryParamKey) && StringUtils.isNotBlank(queryParamValue)) {
+                resource = resource.queryParam(queryParamKey, queryParamValue);
+            }
+        }
+        return resource;
+    }
+
+    protected WebResource getResource(APIInfo api, MultivaluedMap<String, String> queryParams, String ... pathParams) {
         WebResource resource = service.path(api.getPath());
         resource = appendPathParams(resource, pathParams);
         resource = appendQueryParams(queryParams, resource);
@@ -436,21 +452,25 @@ public abstract class AtlasBaseClient {
         return resource;
     }
 
-    protected WebResource getResource(APIInfo api, Map<String, String> queryParams) {
+    protected WebResource getResource(APIInfo api, MultivaluedMap<String, String> queryParams) {
         return getResource(service, api, queryParams);
     }
 
     // Modify URL to include the query params
-    private WebResource getResource(WebResource service, APIInfo api, Map<String, String> queryParams) {
+    private WebResource getResource(WebResource service, APIInfo api, MultivaluedMap<String, String> queryParams) {
         WebResource resource = service.path(api.getPath());
         resource = appendQueryParams(queryParams, resource);
         return resource;
     }
 
-    private WebResource appendQueryParams(Map<String, String> queryParams, WebResource resource) {
+    private WebResource appendQueryParams(MultivaluedMap<String, String> queryParams, WebResource resource) {
         if (null != queryParams && !queryParams.isEmpty()) {
-            for (Map.Entry<String, String> entry : queryParams.entrySet()) {
-                resource = resource.queryParam(entry.getKey(), entry.getValue());
+            for (Map.Entry<String, List<String>> entry : queryParams.entrySet()) {
+                for (String value : entry.getValue()) {
+                    if (StringUtils.isNotBlank(value)) {
+                        resource = resource.queryParam(entry.getKey(), value);
+                    }
+                }
             }
         }
         return resource;

http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/28410df5/client/src/main/java/org/apache/atlas/AtlasClient.java
----------------------------------------------------------------------
diff --git a/client/src/main/java/org/apache/atlas/AtlasClient.java b/client/src/main/java/org/apache/atlas/AtlasClient.java
index a2fabdb..47231a8 100755
--- a/client/src/main/java/org/apache/atlas/AtlasClient.java
+++ b/client/src/main/java/org/apache/atlas/AtlasClient.java
@@ -42,6 +42,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import javax.ws.rs.HttpMethod;
+import javax.ws.rs.core.MultivaluedMap;
 import javax.ws.rs.core.Response;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -301,7 +302,7 @@ public class AtlasClient extends AtlasBaseClient {
      */
     public List<String> createType(String typeAsJson) throws AtlasServiceException {
         LOG.debug("Creating type definition: {}", typeAsJson);
-        JSONObject response = callAPI(API.CREATE_TYPE, typeAsJson);
+        JSONObject response = callAPIWithBody(API.CREATE_TYPE, typeAsJson);
         List<String> results = extractResults(response, AtlasClient.TYPES, new ExtractOperation<String, JSONObject>() {
             @Override
             String extractElement(JSONObject element) throws JSONException {
@@ -357,7 +358,7 @@ public class AtlasClient extends AtlasBaseClient {
      */
     public List<String> updateType(String typeAsJson) throws AtlasServiceException {
         LOG.debug("Updating type definition: {}", typeAsJson);
-        JSONObject response = callAPI(API.UPDATE_TYPE, typeAsJson);
+        JSONObject response = callAPIWithBody(API.UPDATE_TYPE, typeAsJson);
         List<String> results = extractResults(response, AtlasClient.TYPES, new ExtractOperation<String, JSONObject>() {
             @Override
             String extractElement(JSONObject element) throws JSONException {
@@ -384,7 +385,7 @@ public class AtlasClient extends AtlasBaseClient {
      * @throws AtlasServiceException
      */
     public List<String> listTypes() throws AtlasServiceException {
-        final JSONObject jsonObject = callAPI(API.LIST_TYPES, null);
+        final JSONObject jsonObject = callAPIWithQueryParams(API.LIST_TYPES, null);
         return extractResults(jsonObject, AtlasClient.RESULTS, new ExtractOperation<String, String>());
     }
 
@@ -435,7 +436,7 @@ public class AtlasClient extends AtlasBaseClient {
 
     public TypesDef getType(String typeName) throws AtlasServiceException {
         try {
-            JSONObject response = callAPI(API.GET_TYPE, null, typeName);;
+            JSONObject response = callAPIWithBodyAndParams(API.GET_TYPE, null, typeName);
             String typeJson = response.getString(DEFINITION);
             return TypesSerialization.fromJson(typeJson);
         } catch (AtlasServiceException e) {
@@ -456,7 +457,7 @@ public class AtlasClient extends AtlasBaseClient {
      */
     protected List<String> createEntity(JSONArray entities) throws AtlasServiceException {
         LOG.debug("Creating entities: {}", entities);
-        JSONObject response = callAPI(API.CREATE_ENTITY, entities.toString());
+        JSONObject response = callAPIWithBody(API.CREATE_ENTITY, entities.toString());
         List<String> results = extractEntityResult(response).getCreatedEntities();
         LOG.debug("Create entities returned results: {}", results);
         return results;
@@ -506,7 +507,7 @@ public class AtlasClient extends AtlasBaseClient {
 
     protected EntityResult updateEntities(JSONArray entities) throws AtlasServiceException {
         LOG.debug("Updating entities: {}", entities);
-        JSONObject response = callAPI(API.UPDATE_ENTITY, entities.toString());
+        JSONObject response = callAPIWithBody(API.UPDATE_ENTITY, entities.toString());
         EntityResult results = extractEntityResult(response);
         LOG.debug("Update entities returned results: {}", results);
         return results;
@@ -548,7 +549,7 @@ public class AtlasClient extends AtlasBaseClient {
     public EntityResult updateEntity(String guid, Referenceable entity) throws AtlasServiceException {
         String entityJson = InstanceSerialization.toJson(entity, true);
         LOG.debug("Updating entity id {} with {}", guid, entityJson);
-        JSONObject response = callAPI(API.UPDATE_ENTITY_PARTIAL, entityJson, guid);
+        JSONObject response = callAPIWithBodyAndParams(API.UPDATE_ENTITY_PARTIAL, entityJson, guid);
         return extractEntityResult(response);
     }
 
@@ -561,7 +562,7 @@ public class AtlasClient extends AtlasBaseClient {
     public void addTrait(String guid, Struct traitDefinition) throws AtlasServiceException {
         String traitJson = InstanceSerialization.toJson(traitDefinition, true);
         LOG.debug("Adding trait to entity with id {} {}", guid, traitJson);
-        callAPI(API.ADD_TRAITS, traitJson, guid, URI_TRAITS);
+        callAPIWithBodyAndParams(API.ADD_TRAITS, traitJson, guid, URI_TRAITS);
     }
 
     /**
@@ -571,7 +572,7 @@ public class AtlasClient extends AtlasBaseClient {
      * @throws AtlasServiceException
      */
     public void deleteTrait(String guid, String traitName) throws AtlasServiceException {
-        callAPI(API.DELETE_TRAITS, null, guid, TRAITS, traitName);
+        callAPIWithBodyAndParams(API.DELETE_TRAITS, null, guid, TRAITS, traitName);
     }
 
     /**
@@ -666,7 +667,7 @@ public class AtlasClient extends AtlasBaseClient {
      * @throws AtlasServiceException
      */
     public Referenceable getEntity(String guid) throws AtlasServiceException {
-        JSONObject jsonResponse = callAPI(API.GET_ENTITY, null, guid);
+        JSONObject jsonResponse = callAPIWithBodyAndParams(API.GET_ENTITY, null, guid);
         try {
             String entityInstanceDefinition = jsonResponse.getString(AtlasClient.DEFINITION);
             return InstanceSerialization.fromJsonReferenceable(entityInstanceDefinition, true);
@@ -736,7 +737,7 @@ public class AtlasClient extends AtlasBaseClient {
      * @throws AtlasServiceException
      */
     public List<String> listTraits(final String guid) throws AtlasServiceException {
-        JSONObject jsonResponse = callAPI(API.LIST_TRAITS, null, guid, URI_TRAITS);
+        JSONObject jsonResponse = callAPIWithBodyAndParams(API.LIST_TRAITS, null, guid, URI_TRAITS);
         return extractResults(jsonResponse, AtlasClient.RESULTS, new ExtractOperation<String, String>());
     }
 
@@ -747,7 +748,7 @@ public class AtlasClient extends AtlasBaseClient {
      * @throws AtlasServiceException
      */
     public List<Struct> listTraitDefinitions(final String guid) throws AtlasServiceException{
-        JSONObject jsonResponse = callAPI(API.GET_ALL_TRAIT_DEFINITIONS, null, guid, TRAIT_DEFINITIONS);
+        JSONObject jsonResponse = callAPIWithBodyAndParams(API.GET_ALL_TRAIT_DEFINITIONS, null, guid, TRAIT_DEFINITIONS);
         List<JSONObject> traitDefList = extractResults(jsonResponse, AtlasClient.RESULTS, new ExtractOperation<JSONObject, JSONObject>());
         ArrayList<Struct> traitStructList = new ArrayList<>();
         for(JSONObject traitDef:traitDefList){
@@ -765,7 +766,7 @@ public class AtlasClient extends AtlasBaseClient {
      * @throws AtlasServiceException
      */
     public Struct getTraitDefinition(final String guid, final String traitName) throws AtlasServiceException{
-        JSONObject jsonResponse = callAPI(API.GET_TRAIT_DEFINITION, null, guid, TRAIT_DEFINITIONS, traitName);
+        JSONObject jsonResponse = callAPIWithBodyAndParams(API.GET_TRAIT_DEFINITION, null, guid, TRAIT_DEFINITIONS, traitName);
 
         try {
             return InstanceSerialization.fromJsonStruct(jsonResponse.getString(AtlasClient.RESULTS), false);
@@ -909,7 +910,7 @@ public class AtlasClient extends AtlasBaseClient {
     }
 
     public JSONObject getInputGraph(String datasetName) throws AtlasServiceException {
-        JSONObject response = callAPI(API.NAME_LINEAGE_INPUTS_GRAPH, null, datasetName, "/inputs/graph");
+        JSONObject response = callAPIWithBodyAndParams(API.NAME_LINEAGE_INPUTS_GRAPH, null, datasetName, "/inputs/graph");
         try {
             return response.getJSONObject(AtlasClient.RESULTS);
         } catch (JSONException e) {
@@ -918,7 +919,7 @@ public class AtlasClient extends AtlasBaseClient {
     }
 
     public JSONObject getOutputGraph(String datasetName) throws AtlasServiceException {
-        JSONObject response = callAPI(API.NAME_LINEAGE_OUTPUTS_GRAPH, null, datasetName, "/outputs/graph");
+        JSONObject response = callAPIWithBodyAndParams(API.NAME_LINEAGE_OUTPUTS_GRAPH, null, datasetName, "/outputs/graph");
         try {
             return response.getJSONObject(AtlasClient.RESULTS);
         } catch (JSONException e) {
@@ -927,7 +928,7 @@ public class AtlasClient extends AtlasBaseClient {
     }
 
     public JSONObject getInputGraphForEntity(String entityId) throws AtlasServiceException {
-        JSONObject response = callAPI(API.LINEAGE_INPUTS_GRAPH, null, entityId, "/inputs/graph");
+        JSONObject response = callAPIWithBodyAndParams(API.LINEAGE_INPUTS_GRAPH, null, entityId, "/inputs/graph");
         try {
             return response.getJSONObject(AtlasClient.RESULTS);
         } catch (JSONException e) {
@@ -936,7 +937,7 @@ public class AtlasClient extends AtlasBaseClient {
     }
 
     public JSONObject getOutputGraphForEntity(String datasetId) throws AtlasServiceException {
-        JSONObject response = callAPI(API.LINEAGE_OUTPUTS_GRAPH, null, datasetId, "/outputs/graph");
+        JSONObject response = callAPIWithBodyAndParams(API.LINEAGE_OUTPUTS_GRAPH, null, datasetId, "/outputs/graph");
         try {
             return response.getJSONObject(AtlasClient.RESULTS);
         } catch (JSONException e) {
@@ -945,7 +946,7 @@ public class AtlasClient extends AtlasBaseClient {
     }
 
     public JSONObject getSchemaForEntity(String datasetId) throws AtlasServiceException {
-        JSONObject response = callAPI(API.LINEAGE_OUTPUTS_GRAPH, null, datasetId, "/schema");
+        JSONObject response = callAPIWithBodyAndParams(API.LINEAGE_OUTPUTS_GRAPH, null, datasetId, "/schema");
         try {
             return response.getJSONObject(AtlasClient.RESULTS);
         } catch (JSONException e) {
@@ -965,17 +966,17 @@ public class AtlasClient extends AtlasBaseClient {
     }
 
     @VisibleForTesting
-    public JSONObject callAPI(API api, Object requestObject) throws AtlasServiceException {
+    public JSONObject callAPIWithBody(API api, Object requestObject) throws AtlasServiceException {
         return callAPI(toAPIInfo(api), requestObject, JSONObject.class, (String[]) null);
     }
 
     @VisibleForTesting
-    public JSONObject callAPI(API api, Object requestObject, String ... params) throws AtlasServiceException {
+    public JSONObject callAPIWithBodyAndParams(API api, Object requestObject, String ... params) throws AtlasServiceException {
         return callAPI(toAPIInfo(api), requestObject, JSONObject.class, params);
     }
 
     @VisibleForTesting
-    public JSONObject callAPI(API api, Map<String, String> queryParams) throws AtlasServiceException {
+    public JSONObject callAPIWithQueryParams(API api, MultivaluedMap<String, String> queryParams) throws AtlasServiceException {
         return callAPI(toAPIInfo(api), JSONObject.class, queryParams);
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/28410df5/intg/src/main/java/org/apache/atlas/model/SearchFilter.java
----------------------------------------------------------------------
diff --git a/intg/src/main/java/org/apache/atlas/model/SearchFilter.java b/intg/src/main/java/org/apache/atlas/model/SearchFilter.java
index b5f6c3a..677726b 100644
--- a/intg/src/main/java/org/apache/atlas/model/SearchFilter.java
+++ b/intg/src/main/java/org/apache/atlas/model/SearchFilter.java
@@ -17,18 +17,19 @@
  */
 package org.apache.atlas.model;
 
-import java.util.HashMap;
-import java.util.Map;
-
+import com.sun.jersey.core.util.MultivaluedMapImpl;
 import org.codehaus.jackson.annotate.JsonAutoDetect;
-import static org.codehaus.jackson.annotate.JsonAutoDetect.Visibility.PUBLIC_ONLY;
-import static org.codehaus.jackson.annotate.JsonAutoDetect.Visibility.NONE;
 import org.codehaus.jackson.annotate.JsonIgnoreProperties;
 import org.codehaus.jackson.map.annotate.JsonSerialize;
 
+import javax.ws.rs.core.MultivaluedMap;
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlRootElement;
+import java.util.List;
+
+import static org.codehaus.jackson.annotate.JsonAutoDetect.Visibility.NONE;
+import static org.codehaus.jackson.annotate.JsonAutoDetect.Visibility.PUBLIC_ONLY;
 
 /**
  * Generic filter, to specify search criteria using name/value pairs.
@@ -48,7 +49,7 @@ public class SearchFilter {
      */
     public enum SortType { NONE, ASC, DESC };
 
-    private Map<String, String> params     = null;
+    private MultivaluedMap<String, String> params     = null;
     private long                startIndex = 0;
     private long                maxRows    = Long.MAX_VALUE;
     private boolean             getCount   = true;
@@ -59,20 +60,24 @@ public class SearchFilter {
         setParams(null);
     }
 
-    public SearchFilter(Map<String, String> params) {
+    public SearchFilter(MultivaluedMap<String, String> params) {
         setParams(params);
     }
 
-    public Map<String, String> getParams() {
+    public MultivaluedMap<String, String> getParams() {
         return params;
     }
 
-    public void setParams(Map<String, String> params) {
+    public void setParams(MultivaluedMap<String, String> params) {
         this.params = params;
     }
 
     public String getParam(String name) {
-        String ret = null;
+        return getParams(name).get(0);
+    }
+
+    public List<String> getParams(String name) {
+        List<String> ret = null;
 
         if (name != null && params != null) {
             ret = params.get(name);
@@ -84,10 +89,10 @@ public class SearchFilter {
     public void setParam(String name, String value) {
         if (name != null) {
             if (params == null) {
-                params = new HashMap<String, String>();
+                params = new MultivaluedMapImpl();
             }
 
-            params.put(name, value);
+            params.add(name, value);
         }
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/28410df5/release-log.txt
----------------------------------------------------------------------
diff --git a/release-log.txt b/release-log.txt
index 058377a..02fe03b 100644
--- a/release-log.txt
+++ b/release-log.txt
@@ -9,7 +9,8 @@ ATLAS-1060 Add composite indexes for exact match performance improvements for al
 ATLAS-1127 Modify creation and modification timestamps to Date instead of Long(sumasai)
 
 ALL CHANGES:
-ATLAS-1307: Integration test calls routing via the Client. ((apoorvnaik via sumasai)
+ATLAS-1357: Fixes for test failures from ATLAS-1307 (apoorvnaik via sumasai)
+ATLAS-1307: Integration test calls routing via the Client. (apoorvnaik via sumasai)
 ATLAS-1355: Fix for bad error translation from V2 API (apoorvnaik via sumasai)
 ATLAS-1351 HiveHook fails with NPE for hive process registration (vimalsharma via sumasai)
 ATLAS-1342 Titan Solrclient - Add timeouts for zookeeper connect and session (sumasai)

http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/28410df5/webapp/src/test/java/org/apache/atlas/web/resources/AdminJerseyResourceIT.java
----------------------------------------------------------------------
diff --git a/webapp/src/test/java/org/apache/atlas/web/resources/AdminJerseyResourceIT.java b/webapp/src/test/java/org/apache/atlas/web/resources/AdminJerseyResourceIT.java
index 110a7bb..2a4baba 100755
--- a/webapp/src/test/java/org/apache/atlas/web/resources/AdminJerseyResourceIT.java
+++ b/webapp/src/test/java/org/apache/atlas/web/resources/AdminJerseyResourceIT.java
@@ -37,7 +37,7 @@ public class AdminJerseyResourceIT extends BaseResourceIT {
 
     @Test
     public void testGetVersion() throws Exception {
-        JSONObject response = serviceClient.callAPI(AtlasClient.API.VERSION, null, (String[]) null);
+        JSONObject response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.VERSION, null, (String[]) null);
         Assert.assertNotNull(response);
 
         PropertiesConfiguration buildConfiguration = new PropertiesConfiguration("atlas-buildinfo.properties");

http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/28410df5/webapp/src/test/java/org/apache/atlas/web/resources/DataSetLineageJerseyResourceIT.java
----------------------------------------------------------------------
diff --git a/webapp/src/test/java/org/apache/atlas/web/resources/DataSetLineageJerseyResourceIT.java b/webapp/src/test/java/org/apache/atlas/web/resources/DataSetLineageJerseyResourceIT.java
index 011701a..7e4db13 100644
--- a/webapp/src/test/java/org/apache/atlas/web/resources/DataSetLineageJerseyResourceIT.java
+++ b/webapp/src/test/java/org/apache/atlas/web/resources/DataSetLineageJerseyResourceIT.java
@@ -59,7 +59,7 @@ public class DataSetLineageJerseyResourceIT extends BaseResourceIT {
 
     @Test
     public void testInputsGraph() throws Exception {
-        JSONObject response = serviceClient.callAPI(AtlasClient.API.NAME_LINEAGE_INPUTS_GRAPH, null, salesMonthlyTable, "inputs", "graph");
+        JSONObject response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.NAME_LINEAGE_INPUTS_GRAPH, null, salesMonthlyTable, "inputs", "graph");
         Assert.assertNotNull(response);
         System.out.println("inputs graph = " + response);
 
@@ -95,7 +95,7 @@ public class DataSetLineageJerseyResourceIT extends BaseResourceIT {
 
     @Test
     public void testOutputsGraph() throws Exception {
-        JSONObject response = serviceClient.callAPI(AtlasClient.API.NAME_LINEAGE_OUTPUTS_GRAPH, null, salesFactTable, "outputs", "graph");
+        JSONObject response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.NAME_LINEAGE_OUTPUTS_GRAPH, null, salesFactTable, "outputs", "graph");
         Assert.assertNotNull(response);
         System.out.println("outputs graph= " + response);
 
@@ -131,7 +131,7 @@ public class DataSetLineageJerseyResourceIT extends BaseResourceIT {
 
     @Test
     public void testSchema() throws Exception {
-        JSONObject response = serviceClient.callAPI(AtlasClient.API.NAME_LINEAGE_SCHEMA, null, salesFactTable, "schema");
+        JSONObject response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.NAME_LINEAGE_SCHEMA, null, salesFactTable, "schema");
 
         Assert.assertNotNull(response);
         System.out.println("schema = " + response);
@@ -175,12 +175,12 @@ public class DataSetLineageJerseyResourceIT extends BaseResourceIT {
 
     @Test(expectedExceptions = AtlasServiceException.class)
     public void testSchemaForInvalidTable() throws Exception {
-        JSONObject response = serviceClient.callAPI(AtlasClient.API.NAME_LINEAGE_SCHEMA, null, "blah", "schema");
+        JSONObject response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.NAME_LINEAGE_SCHEMA, null, "blah", "schema");
     }
 
     @Test(expectedExceptions = AtlasServiceException.class)
     public void testSchemaForDB() throws Exception {
-        JSONObject response = serviceClient.callAPI(AtlasClient.API.NAME_LINEAGE_SCHEMA, null, salesDBName, "schema");
+        JSONObject response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.NAME_LINEAGE_SCHEMA, null, salesDBName, "schema");
     }
 
     private void setupInstances() throws Exception {

http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/28410df5/webapp/src/test/java/org/apache/atlas/web/resources/EntityJerseyResourceIT.java
----------------------------------------------------------------------
diff --git a/webapp/src/test/java/org/apache/atlas/web/resources/EntityJerseyResourceIT.java b/webapp/src/test/java/org/apache/atlas/web/resources/EntityJerseyResourceIT.java
index 28b6325..1de7d65 100755
--- a/webapp/src/test/java/org/apache/atlas/web/resources/EntityJerseyResourceIT.java
+++ b/webapp/src/test/java/org/apache/atlas/web/resources/EntityJerseyResourceIT.java
@@ -24,6 +24,7 @@ import com.google.gson.Gson;
 import com.google.gson.JsonSyntaxException;
 import com.google.inject.Inject;
 import com.sun.jersey.api.client.ClientResponse;
+import com.sun.jersey.core.util.MultivaluedMapImpl;
 import org.apache.atlas.AtlasClient;
 import org.apache.atlas.AtlasServiceException;
 import org.apache.atlas.EntityAuditEvent;
@@ -60,6 +61,7 @@ import org.testng.annotations.DataProvider;
 import org.testng.annotations.Guice;
 import org.testng.annotations.Test;
 
+import javax.ws.rs.core.MultivaluedMap;
 import javax.ws.rs.core.Response;
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -169,7 +171,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT {
         databaseInstance.set("location", "/tmp");
 
         JSONObject response = serviceClient
-                .callAPI(AtlasClient.API.CREATE_ENTITY, InstanceSerialization.toJson(databaseInstance, true));
+                .callAPIWithBody(AtlasClient.API.CREATE_ENTITY, InstanceSerialization.toJson(databaseInstance, true));
         assertNotNull(response);
         Assert.assertNotNull(response.get(AtlasClient.REQUEST_ID));
 
@@ -322,7 +324,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT {
         String description = "bar table - new desc";
         addProperty(guid, "description", description);
 
-        JSONObject response = serviceClient.callAPI(AtlasClient.API.GET_ENTITY, null, guid);
+        JSONObject response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.GET_ENTITY, null, guid);
         Assert.assertNotNull(response);
 
         tableInstance.set("description", description);
@@ -338,7 +340,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT {
         String currentTime = String.valueOf(new DateTime() );
         addProperty(guid, "createTime", currentTime);
 
-        response = serviceClient.callAPI(AtlasClient.API.GET_ENTITY, null, guid);
+        response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.GET_ENTITY, null, guid);
         Assert.assertNotNull(response);
 
         tableInstance.set("createTime", currentTime);
@@ -390,7 +392,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT {
     @Test(dependsOnMethods = "testSubmitEntity")
     public void testGetEntityDefinition() throws Exception {
         final String guid = tableId._getId();
-        JSONObject response = serviceClient.callAPI(AtlasClient.API.GET_ENTITY, null, guid);
+        JSONObject response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.GET_ENTITY, null, guid);
 
         Assert.assertNotNull(response);
         Assert.assertNotNull(response.get(AtlasClient.REQUEST_ID));
@@ -410,7 +412,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT {
     @Test(expectedExceptions = AtlasServiceException.class)
     public void testGetInvalidEntityDefinition() throws Exception {
 
-        JSONObject response = serviceClient.callAPI(AtlasClient.API.GET_ENTITY, null, "blah");
+        JSONObject response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.GET_ENTITY, null, "blah");
 
         Assert.assertNotNull(response);
 
@@ -430,7 +432,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT {
         Map<String, String> queryParams = new HashMap<>();
         queryParams.put("type", "blah");
 
-        JSONObject response = serviceClient.callAPI(AtlasClient.API.GET_ENTITY, queryParams);
+        JSONObject response = serviceClient.callAPIWithBody(AtlasClient.API.GET_ENTITY, queryParams);
         assertNotNull(response);
         Assert.assertNotNull(response.get(AtlasClient.ERROR));
         Assert.assertNotNull(response.get(AtlasClient.STACKTRACE));
@@ -441,10 +443,10 @@ public class EntityJerseyResourceIT extends BaseResourceIT {
     public void testGetEntityListForNoInstances() throws Exception {
         String typeName = addNewType();
 
-        Map<String, String> queryParams = new HashMap<>();
-        queryParams.put("type", typeName);
+        MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl();
+        queryParams.add("type", typeName);
 
-        JSONObject response = serviceClient.callAPI(AtlasClient.API.GET_ENTITY, queryParams);
+        JSONObject response = serviceClient.callAPIWithQueryParams(AtlasClient.API.GET_ENTITY, queryParams);
         assertNotNull(response);
         Assert.assertNotNull(response.get(AtlasClient.REQUEST_ID));
 
@@ -468,7 +470,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT {
     public void testGetTraitNames() throws Exception {
         final String guid = tableId._getId();
 
-        JSONObject response = serviceClient.callAPI(AtlasClient.API.LIST_TRAITS, null, guid, TRAITS);
+        JSONObject response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.LIST_TRAITS, null, guid, TRAITS);
         assertNotNull(response);
         Assert.assertNotNull(response.get(AtlasClient.REQUEST_ID));
 
@@ -490,7 +492,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT {
         LOG.debug("traitInstanceAsJSON = " + traitInstanceAsJSON);
 
         final String guid = tableId._getId();
-        JSONObject response = serviceClient.callAPI(AtlasClient.API.ADD_TRAITS, traitInstanceAsJSON, guid, TRAITS);
+        JSONObject response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.ADD_TRAITS, traitInstanceAsJSON, guid, TRAITS);
         assertNotNull(response);
         Assert.assertNotNull(response.get(AtlasClient.REQUEST_ID));
 
@@ -511,7 +513,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT {
         LOG.debug("traitInstanceAsJSON = " + traitInstanceAsJSON);
 
         final String guid = tableId._getId();
-        JSONObject response = serviceClient.callAPI(AtlasClient.API.ADD_TRAITS, traitInstanceAsJSON, guid, TRAITS);
+        JSONObject response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.ADD_TRAITS, traitInstanceAsJSON, guid, TRAITS);
         assertNotNull(response);
         Struct traitDef = serviceClient.getTraitDefinition(guid, traitName);
         System.out.println(traitDef.toString());
@@ -533,7 +535,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT {
         LOG.debug("traitInstanceAsJSON = " + traitInstanceAsJSON);
 
         final String guid = tableId._getId();
-        JSONObject response = serviceClient.callAPI(AtlasClient.API.ADD_TRAITS, traitInstanceAsJSON, guid, TRAITS);
+        JSONObject response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.ADD_TRAITS, traitInstanceAsJSON, guid, TRAITS);
         assertNotNull(response);
     }
 
@@ -553,12 +555,12 @@ public class EntityJerseyResourceIT extends BaseResourceIT {
         LOG.debug("traitInstanceAsJSON = " + traitInstanceAsJSON);
 
         final String guid = tableId._getId();
-        JSONObject response = serviceClient.callAPI(AtlasClient.API.ADD_TRAITS, traitInstanceAsJSON, guid, TRAITS);
+        JSONObject response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.ADD_TRAITS, traitInstanceAsJSON, guid, TRAITS);
         assertNotNull(response);
         Assert.assertNotNull(response.get(AtlasClient.REQUEST_ID));
 
         // verify the response
-        response = serviceClient.callAPI(AtlasClient.API.GET_ENTITY, null, guid);
+        response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.GET_ENTITY, null, guid);
         Assert.assertNotNull(response.get(AtlasClient.REQUEST_ID));
 
         final String definition = response.getString(AtlasClient.DEFINITION);
@@ -581,14 +583,14 @@ public class EntityJerseyResourceIT extends BaseResourceIT {
         String traitInstanceAsJSON = InstanceSerialization$.MODULE$.toJson(traitInstance, true);
         LOG.debug("traitInstanceAsJSON = " + traitInstanceAsJSON);
 
-        JSONObject response = serviceClient.callAPI(AtlasClient.API.CREATE_ENTITY, traitInstanceAsJSON, "random", TRAITS);
+        JSONObject response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.CREATE_ENTITY, traitInstanceAsJSON, "random", TRAITS);
     }
 
     @Test(dependsOnMethods = "testAddTrait")
     public void testDeleteTrait() throws Exception {
         final String guid = tableId._getId();
 
-        JSONObject response = serviceClient.callAPI(AtlasClient.API.DELETE_TRAITS, null, guid, TRAITS, traitName);
+        JSONObject response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.DELETE_TRAITS, null, guid, TRAITS, traitName);
         Assert.assertNotNull(response.get(AtlasClient.REQUEST_ID));
         Assert.assertNotNull(response.get("traitName"));
         assertEntityAudit(guid, EntityAuditEvent.EntityAuditAction.TAG_DELETE);
@@ -597,7 +599,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT {
     @Test(expectedExceptions = AtlasServiceException.class)
     public void testDeleteTraitNonExistent() throws Exception {
         final String traitName = "blah_trait";
-        JSONObject response = serviceClient.callAPI(AtlasClient.API.DELETE_TRAITS, null, "random", TRAITS);
+        JSONObject response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.DELETE_TRAITS, null, "random", TRAITS);
 
         Assert.assertNotNull(response.get(AtlasClient.ERROR));
         Assert.assertEquals(response.getString(AtlasClient.ERROR),
@@ -616,9 +618,14 @@ public class EntityJerseyResourceIT extends BaseResourceIT {
         String traitDefinitionAsJSON = TypesSerialization$.MODULE$.toJson(piiTrait, true);
         createType(traitDefinitionAsJSON);
 
-        JSONObject response = serviceClient.callAPI(AtlasClient.API.DELETE_TRAITS, null, "random", TRAITS);
-        Assert.assertNotNull(response.get(AtlasClient.ERROR));
-        Assert.assertNotNull(response.get(AtlasClient.STACKTRACE));
+        try {
+            JSONObject response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.DELETE_TRAITS, null, guid, TRAITS, traitName);
+            fail("Call should've failed for deletion of invalid trait");
+        } catch (AtlasServiceException e) {
+            assertNotNull(e);
+            assertNotNull(e.getStatus());
+            assertEquals(e.getStatus(), ClientResponse.Status.NOT_FOUND);
+        }
     }
 
     private String random() {
@@ -643,8 +650,8 @@ public class EntityJerseyResourceIT extends BaseResourceIT {
         instance.set(attrName, attrValue);
         Id guid = createInstance(instance);
 
-        JSONObject response = serviceClient.callAPI(AtlasClient.API.GET_ENTITY, null, guid._getId());
-        Referenceable getReferenceable = InstanceSerialization.fromJsonReferenceable(response.toString(), true);
+        JSONObject response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.GET_ENTITY, null, guid._getId());
+        Referenceable getReferenceable = InstanceSerialization.fromJsonReferenceable(response.getString(AtlasClient.DEFINITION), true);
         Assert.assertEquals(getReferenceable.get(attrName), attrValue);
     }
 
@@ -674,8 +681,8 @@ public class EntityJerseyResourceIT extends BaseResourceIT {
         assertEquals(entityResult.getUpdateEntities().size(), 1);
         assertEquals(entityResult.getUpdateEntities().get(0), tableId._getId());
 
-        JSONObject response = serviceClient.callAPI(AtlasClient.API.GET_ENTITY, null, tableId._getId());
-        Referenceable getReferenceable = InstanceSerialization.fromJsonReferenceable(response.toString(), true);
+        JSONObject response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.GET_ENTITY, null, tableId._getId());
+        Referenceable getReferenceable = InstanceSerialization.fromJsonReferenceable(response.getString(AtlasClient.DEFINITION), true);
         List<Referenceable> refs = (List<Referenceable>) getReferenceable.get("columns");
 
         Assert.assertTrue(refs.get(0).equalsContents(columns.get(0)));
@@ -694,8 +701,8 @@ public class EntityJerseyResourceIT extends BaseResourceIT {
         assertEquals(entityResult.getUpdateEntities().size(), 2);
         assertEquals(entityResult.getUpdateEntities().get(0), tableId._getId());
 
-        response = serviceClient.callAPI(AtlasClient.API.GET_ENTITY, null, tableId._getId());
-        getReferenceable = InstanceSerialization.fromJsonReferenceable(response.toString(), true);
+        response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.GET_ENTITY, null, tableId._getId());
+        getReferenceable = InstanceSerialization.fromJsonReferenceable(response.getString(AtlasClient.DEFINITION), true);
         refs = (List<Referenceable>) getReferenceable.get("columns");
 
         Assert.assertTrue(refs.get(0).getValuesMap().equals(values));
@@ -736,7 +743,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT {
         entityArray.put(entityJson);
         LOG.debug("Replacing entity= " + tableInstance);
 
-        JSONObject response = serviceClient.callAPI(AtlasClient.API.UPDATE_ENTITY, entityArray);
+        JSONObject response = serviceClient.callAPIWithBody(AtlasClient.API.UPDATE_ENTITY, entityArray);
 
         // ATLAS-586: verify response entity can be parsed by GSON.
         Gson gson = new Gson();
@@ -747,8 +754,9 @@ public class EntityJerseyResourceIT extends BaseResourceIT {
             Assert.fail("Response entity from not parse-able by GSON", e);
         }
 
-        response = serviceClient.callAPI(AtlasClient.API.GET_ENTITY, null, tableId._getId());
-        Referenceable getReferenceable = InstanceSerialization.fromJsonReferenceable(response.toString(), true);
+        response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.GET_ENTITY, null, tableId._getId());
+        LOG.info("Response = {}", response.toString());
+        Referenceable getReferenceable = InstanceSerialization.fromJsonReferenceable(response.getString(AtlasClient.DEFINITION), true);
         List<Referenceable> refs = (List<Referenceable>) getReferenceable.get("columns");
         Assert.assertEquals(refs.size(), 2);
 
@@ -795,11 +803,11 @@ public class EntityJerseyResourceIT extends BaseResourceIT {
         Id db2Id = createInstance(db2);
 
         // Delete the database entities
-        Map<String, String> queryParams = new HashMap<>();
-        queryParams.put(AtlasClient.GUID.toLowerCase(), db1Id._getId());
-        queryParams.put(AtlasClient.GUID.toLowerCase(), db2Id._getId());
+        MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl();
+        queryParams.add(AtlasClient.GUID.toLowerCase(), db1Id._getId());
+        queryParams.add(AtlasClient.GUID.toLowerCase(), db2Id._getId());
 
-        JSONObject response = serviceClient.callAPI(AtlasClient.API.DELETE_ENTITIES, queryParams);
+        JSONObject response = serviceClient.callAPIWithQueryParams(AtlasClient.API.DELETE_ENTITIES, queryParams);
         List<String> deletedGuidsList = AtlasClient.EntityResult.fromString(response.toString()).getDeletedEntities();
         Assert.assertTrue(deletedGuidsList.contains(db1Id._getId()));
         Assert.assertTrue(deletedGuidsList.contains(db2Id._getId()));

http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/28410df5/webapp/src/test/java/org/apache/atlas/web/resources/EntityLineageJerseyResourceIT.java
----------------------------------------------------------------------
diff --git a/webapp/src/test/java/org/apache/atlas/web/resources/EntityLineageJerseyResourceIT.java b/webapp/src/test/java/org/apache/atlas/web/resources/EntityLineageJerseyResourceIT.java
index 2fb1517..c681a0f 100644
--- a/webapp/src/test/java/org/apache/atlas/web/resources/EntityLineageJerseyResourceIT.java
+++ b/webapp/src/test/java/org/apache/atlas/web/resources/EntityLineageJerseyResourceIT.java
@@ -20,6 +20,7 @@ package org.apache.atlas.web.resources;
 
 import com.google.common.collect.ImmutableList;
 import com.google.gson.Gson;
+import com.sun.jersey.core.util.MultivaluedMapImpl;
 import org.apache.atlas.AtlasClient;
 import org.apache.atlas.model.instance.AtlasEntityHeader;
 import org.apache.atlas.model.lineage.AtlasLineageInfo;
@@ -30,8 +31,8 @@ import org.testng.Assert;
 import org.testng.annotations.BeforeClass;
 import org.testng.annotations.Test;
 
+import javax.ws.rs.core.MultivaluedMap;
 import javax.ws.rs.core.Response;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -42,7 +43,7 @@ import static org.apache.atlas.AtlasBaseClient.APIInfo;
  * Entity Lineage v2 Integration Tests.
  */
 public class EntityLineageJerseyResourceIT extends DataSetLineageJerseyResourceIT {
-    private static final String BASE_URI = "api/atlas/v2/lineage/";
+    private static final String BASE_URI = "api/atlas/v2/lineage";
     private static final APIInfo LINEAGE_V2_API = new APIInfo(BASE_URI, "GET", Response.Status.OK);
     private static final String INPUT_DIRECTION = "INPUT";
     private static final String OUTPUT_DIRECTION = "OUTPUT";
@@ -68,10 +69,10 @@ public class EntityLineageJerseyResourceIT extends DataSetLineageJerseyResourceI
         String tableId = serviceClient.getEntity(HIVE_TABLE_TYPE,
                 AtlasClient.REFERENCEABLE_ATTRIBUTE_NAME, salesMonthlyTable).getId()._getId();
 
-        Map<String, String> queryParams = new HashMap<>();
-        queryParams.put(DIRECTION_PARAM, INPUT_DIRECTION);
-        queryParams.put(DEPTH_PARAM, "5");
-        JSONObject response = serviceClient.callAPI(LINEAGE_V2_API, JSONObject.class, queryParams);
+        MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl();
+        queryParams.add(DIRECTION_PARAM, INPUT_DIRECTION);
+        queryParams.add(DEPTH_PARAM, "5");
+        JSONObject response = serviceClient.callAPI(LINEAGE_V2_API, JSONObject.class, queryParams, tableId);
         Assert.assertNotNull(response);
         System.out.println("input lineage info = " + response
         );
@@ -96,10 +97,10 @@ public class EntityLineageJerseyResourceIT extends DataSetLineageJerseyResourceI
         String tableId = serviceClient.getEntity(HIVE_TABLE_TYPE,
                 AtlasClient.REFERENCEABLE_ATTRIBUTE_NAME, salesFactTable).getId()._getId();
 
-        Map<String, String> queryParams = new HashMap<>();
-        queryParams.put(DIRECTION_PARAM, OUTPUT_DIRECTION);
-        queryParams.put(DEPTH_PARAM, "5");
-        JSONObject response = serviceClient.callAPI(LINEAGE_V2_API, JSONObject.class, queryParams);
+        MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl();
+        queryParams.add(DIRECTION_PARAM, OUTPUT_DIRECTION);
+        queryParams.add(DEPTH_PARAM, "5");
+        JSONObject response = serviceClient.callAPI(LINEAGE_V2_API, JSONObject.class, queryParams, tableId);
 
         Assert.assertNotNull(response);
         System.out.println("output lineage info = " + response);
@@ -124,10 +125,10 @@ public class EntityLineageJerseyResourceIT extends DataSetLineageJerseyResourceI
         String tableId = serviceClient.getEntity(HIVE_TABLE_TYPE,
                 AtlasClient.REFERENCEABLE_ATTRIBUTE_NAME, salesMonthlyTable).getId()._getId();
 
-        Map<String, String> queryParams = new HashMap<>();
-        queryParams.put(DIRECTION_PARAM, BOTH_DIRECTION);
-        queryParams.put(DEPTH_PARAM, "5");
-        JSONObject response = serviceClient.callAPI(LINEAGE_V2_API, JSONObject.class, queryParams);
+        MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl();
+        queryParams.add(DIRECTION_PARAM, BOTH_DIRECTION);
+        queryParams.add(DEPTH_PARAM, "5");
+        JSONObject response = serviceClient.callAPI(LINEAGE_V2_API, JSONObject.class, queryParams, tableId);
 
         Assert.assertNotNull(response);
         System.out.println("both lineage info = " + response);

http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/28410df5/webapp/src/test/java/org/apache/atlas/web/resources/MetadataDiscoveryJerseyResourceIT.java
----------------------------------------------------------------------
diff --git a/webapp/src/test/java/org/apache/atlas/web/resources/MetadataDiscoveryJerseyResourceIT.java b/webapp/src/test/java/org/apache/atlas/web/resources/MetadataDiscoveryJerseyResourceIT.java
index ee6d064..ed37c3a 100755
--- a/webapp/src/test/java/org/apache/atlas/web/resources/MetadataDiscoveryJerseyResourceIT.java
+++ b/webapp/src/test/java/org/apache/atlas/web/resources/MetadataDiscoveryJerseyResourceIT.java
@@ -21,6 +21,7 @@ package org.apache.atlas.web.resources;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableSet;
 import com.sun.jersey.api.client.ClientResponse;
+import com.sun.jersey.core.util.MultivaluedMapImpl;
 import org.apache.atlas.AtlasBaseClient;
 import org.apache.atlas.AtlasClient;
 import org.apache.atlas.AtlasServiceException;
@@ -41,10 +42,9 @@ import org.testng.Assert;
 import org.testng.annotations.BeforeClass;
 import org.testng.annotations.Test;
 
+import javax.ws.rs.core.MultivaluedMap;
 import javax.ws.rs.core.Response;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 
 import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertNotNull;
@@ -73,9 +73,9 @@ public class MetadataDiscoveryJerseyResourceIT extends BaseResourceIT {
     @Test
     public void testSearchByDSL() throws Exception {
         String dslQuery = "from "+ DATABASE_TYPE + " qualifiedName=\"" + dbName + "\"";
-        Map<String, String> queryParams = new HashMap<>();
-        queryParams.put("query", dslQuery);
-        JSONObject response = serviceClient.callAPI(AtlasClient.API.SEARCH_DSL, queryParams);
+        MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl();
+        queryParams.add("query", dslQuery);
+        JSONObject response = serviceClient.callAPIWithQueryParams(AtlasClient.API.SEARCH_DSL, queryParams);
 
         Assert.assertNotNull(response);
         Assert.assertNotNull(response.get(AtlasClient.REQUEST_ID));
@@ -96,9 +96,9 @@ public class MetadataDiscoveryJerseyResourceIT extends BaseResourceIT {
 
         //search without new parameters of limit and offset should work
         String dslQuery = "from "+ DATABASE_TYPE + " qualifiedName=\"" + dbName + "\"";
-        Map<String, String> queryParams = new HashMap<>();
-        queryParams.put("query", dslQuery);
-        JSONObject response = serviceClient.callAPI(AtlasClient.API.SEARCH_DSL, queryParams);
+        MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl();
+        queryParams.add("query", dslQuery);
+        JSONObject response = serviceClient.callAPIWithQueryParams(AtlasClient.API.SEARCH_DSL, queryParams);
         assertNotNull(response);
 
         //higher limit, all results returned
@@ -145,19 +145,19 @@ public class MetadataDiscoveryJerseyResourceIT extends BaseResourceIT {
     @Test(expectedExceptions = AtlasServiceException.class)
     public void testSearchByDSLForUnknownType() throws Exception {
         String dslQuery = "from blah";
-        Map<String, String> queryParams = new HashMap<>();
-        queryParams.put("query", dslQuery);
-        JSONObject response = serviceClient.callAPI(AtlasClient.API.SEARCH_DSL, queryParams);
+        MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl();
+        queryParams.add("query", dslQuery);
+        JSONObject response = serviceClient.callAPIWithQueryParams(AtlasClient.API.SEARCH_DSL, queryParams);
 
     }
 
     @Test
     public void testSearchUsingGremlin() throws Exception {
         String query = "g.V.has('type', 'hive_db').toList()";
-        Map<String, String> queryParams = new HashMap<>();
-        queryParams.put("query", query);
+        MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl();
+        queryParams.add("query", query);
 
-        JSONObject response = serviceClient.callAPI(AtlasClient.API.GREMLIN_SEARCH, queryParams);
+        JSONObject response = serviceClient.callAPIWithQueryParams(AtlasClient.API.GREMLIN_SEARCH, queryParams);
 
         assertNotNull(response);
         Assert.assertNotNull(response.get(AtlasClient.REQUEST_ID));
@@ -170,9 +170,9 @@ public class MetadataDiscoveryJerseyResourceIT extends BaseResourceIT {
     public void testSearchUsingDSL() throws Exception {
         //String query = "from dsl_test_type";
         String query = "from "+ DATABASE_TYPE + " qualifiedName=\"" + dbName +"\"";
-        Map<String, String> queryParams = new HashMap<>();
-        queryParams.put("query", query);
-        JSONObject response = serviceClient.callAPI(AtlasClient.API.SEARCH_DSL, queryParams);
+        MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl();
+        queryParams.add("query", query);
+        JSONObject response = serviceClient.callAPIWithQueryParams(AtlasClient.API.SEARCH, queryParams);
 
         Assert.assertNotNull(response);
         Assert.assertNotNull(response.get(AtlasClient.REQUEST_ID));
@@ -184,9 +184,9 @@ public class MetadataDiscoveryJerseyResourceIT extends BaseResourceIT {
     @Test
     public void testSearchFullTextOnDSLFailure() throws Exception {
         String query = "*";
-        Map<String, String> queryParams = new HashMap<>();
-        queryParams.put("query", query);
-        JSONObject response = serviceClient.callAPI(AtlasClient.API.SEARCH_DSL, queryParams);
+        MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl();
+        queryParams.add("query", query);
+        JSONObject response = serviceClient.callAPIWithQueryParams(AtlasClient.API.SEARCH, queryParams);
 
         Assert.assertNotNull(response);
         Assert.assertNotNull(response.get(AtlasClient.REQUEST_ID));
@@ -216,9 +216,9 @@ public class MetadataDiscoveryJerseyResourceIT extends BaseResourceIT {
 
         //API works without limit and offset
         String query = dbName;
-        Map<String, String> queryParams = new HashMap<>();
-        queryParams.put("query", query);
-        response = serviceClient.callAPI(AtlasClient.API.SEARCH_FULL_TEXT, queryParams);
+        MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl();
+        queryParams.add("query", query);
+        response = serviceClient.callAPIWithQueryParams(AtlasClient.API.SEARCH_FULL_TEXT, queryParams);
         results = response.getJSONArray(AtlasClient.RESULTS);
         assertEquals(results.length(), 1);
 

http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/28410df5/webapp/src/test/java/org/apache/atlas/web/resources/TypedefsJerseyResourceIT.java
----------------------------------------------------------------------
diff --git a/webapp/src/test/java/org/apache/atlas/web/resources/TypedefsJerseyResourceIT.java b/webapp/src/test/java/org/apache/atlas/web/resources/TypedefsJerseyResourceIT.java
index 8e8684f..8eacc73 100644
--- a/webapp/src/test/java/org/apache/atlas/web/resources/TypedefsJerseyResourceIT.java
+++ b/webapp/src/test/java/org/apache/atlas/web/resources/TypedefsJerseyResourceIT.java
@@ -19,7 +19,7 @@
 package org.apache.atlas.web.resources;
 
 import com.google.common.collect.ImmutableSet;
-
+import com.sun.jersey.core.util.MultivaluedMapImpl;
 import org.apache.atlas.AtlasServiceException;
 import org.apache.atlas.AtlasTypedefClientV2;
 import org.apache.atlas.model.SearchFilter;
@@ -41,19 +41,13 @@ import org.testng.annotations.AfterClass;
 import org.testng.annotations.BeforeClass;
 import org.testng.annotations.Test;
 
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-
+import javax.ws.rs.core.MultivaluedMap;
 import javax.ws.rs.core.Response;
+import java.util.Collections;
 
 import static org.apache.atlas.model.typedef.AtlasStructDef.AtlasAttributeDef.Cardinality;
 import static org.apache.atlas.type.AtlasTypeUtil.createClassTypeDef;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertFalse;
-import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertTrue;
-import static org.testng.Assert.fail;
+import static org.testng.Assert.*;
 
 /**
  * Integration test for types jersey resource.
@@ -136,8 +130,8 @@ public class TypedefsJerseyResourceIT extends BaseResourceIT {
         assertEquals(updatedTypeDefs.getEntityDefs().size(), atlasTypesDef.getEntityDefs().size());
         assertEquals(updatedTypeDefs.getEntityDefs().get(0).getName(), atlasTypesDef.getEntityDefs().get(0).getName());
 
-        Map<String, String> filterParams = new HashMap<>();
-        filterParams.put(SearchFilter.PARAM_TYPE, "ENTITY");
+        MultivaluedMap<String, String> filterParams = new MultivaluedMapImpl();
+        filterParams.add(SearchFilter.PARAM_TYPE, "ENTITY");
         AtlasTypesDef allTypeDefs = clientV2.getAllTypeDefs(new SearchFilter(filterParams));
         assertNotNull(allTypeDefs);
         Boolean entityDefFound = false;
@@ -265,15 +259,15 @@ public class TypedefsJerseyResourceIT extends BaseResourceIT {
         assertNotNull(created);
         assertEquals(created.getEntityDefs().size(), atlasTypesDef.getEntityDefs().size());
 
-        Map<String, String> searchParams = new HashMap<>();
-        searchParams.put(SearchFilter.PARAM_TYPE, "CLASS");
-        searchParams.put(SearchFilter.PARAM_SUPERTYPE, classDefA.getName());
+        MultivaluedMap<String, String> searchParams = new MultivaluedMapImpl();
+        searchParams.add(SearchFilter.PARAM_TYPE, "CLASS");
+        searchParams.add(SearchFilter.PARAM_SUPERTYPE, classDefA.getName());
         SearchFilter searchFilter = new SearchFilter(searchParams);
         AtlasTypesDef searchDefs = clientV2.getAllTypeDefs(searchFilter);
         assertNotNull(searchDefs);
         assertEquals(searchDefs.getEntityDefs().size(), 2);
 
-        searchParams.put(SearchFilter.PARAM_NOT_SUPERTYPE, classDefB.getName());
+        searchParams.add(SearchFilter.PARAM_NOT_SUPERTYPE, classDefB.getName());
         searchFilter = new SearchFilter(searchParams);
         searchDefs = clientV2.getAllTypeDefs(searchFilter);
         assertNotNull(searchDefs);

http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/28410df5/webapp/src/test/java/org/apache/atlas/web/resources/TypesJerseyResourceIT.java
----------------------------------------------------------------------
diff --git a/webapp/src/test/java/org/apache/atlas/web/resources/TypesJerseyResourceIT.java b/webapp/src/test/java/org/apache/atlas/web/resources/TypesJerseyResourceIT.java
index 4dd65e7..db89d21 100755
--- a/webapp/src/test/java/org/apache/atlas/web/resources/TypesJerseyResourceIT.java
+++ b/webapp/src/test/java/org/apache/atlas/web/resources/TypesJerseyResourceIT.java
@@ -81,7 +81,7 @@ public class TypesJerseyResourceIT extends BaseResourceIT {
                 String typesAsJSON = TypesSerialization.toJson(typeDefinition, false);
                 System.out.println("typesAsJSON = " + typesAsJSON);
 
-            JSONObject response = serviceClient.callAPI(AtlasClient.API.CREATE_TYPE, typesAsJSON);
+            JSONObject response = serviceClient.callAPIWithBody(AtlasClient.API.CREATE_TYPE, typesAsJSON);
             Assert.assertNotNull(response);
 
 
@@ -142,7 +142,7 @@ public class TypesJerseyResourceIT extends BaseResourceIT {
         for (HierarchicalTypeDefinition typeDefinition : typeDefinitions) {
             System.out.println("typeName = " + typeDefinition.typeName);
 
-            JSONObject response = serviceClient.callAPI(AtlasClient.API.LIST_TYPES, null, typeDefinition.typeName);
+            JSONObject response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.LIST_TYPES, null, typeDefinition.typeName);
 
             Assert.assertNotNull(response);
             Assert.assertNotNull(response.get(AtlasClient.DEFINITION));
@@ -164,12 +164,12 @@ public class TypesJerseyResourceIT extends BaseResourceIT {
 
     @Test(expectedExceptions = AtlasServiceException.class)
     public void testGetDefinitionForNonexistentType() throws Exception {
-        JSONObject response = serviceClient.callAPI(AtlasClient.API.LIST_TYPES, null, "blah");
+        JSONObject response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.LIST_TYPES, null, "blah");
     }
 
     @Test(dependsOnMethods = "testSubmit")
     public void testGetTypeNames() throws Exception {
-        JSONObject response = serviceClient.callAPI(AtlasClient.API.LIST_TYPES, null, (String[]) null);
+        JSONObject response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.LIST_TYPES, null, (String[]) null);
         Assert.assertNotNull(response);
 
         Assert.assertNotNull(response.get(AtlasClient.REQUEST_ID));
@@ -190,7 +190,7 @@ public class TypesJerseyResourceIT extends BaseResourceIT {
             Map<String, String> queryParams = new HashMap<>();
         queryParams.put("type", DataTypes.TypeCategory.TRAIT.name());
 
-        JSONObject response = serviceClient.callAPI(AtlasClient.API.LIST_TYPES, queryParams);
+        JSONObject response = serviceClient.callAPIWithBody(AtlasClient.API.LIST_TYPES, queryParams);
         Assert.assertNotNull(response);
 
         Assert.assertNotNull(response.get(AtlasClient.REQUEST_ID));


Mime
View raw message