You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@atlas.apache.org by ma...@apache.org on 2017/09/27 04:25:28 UTC

[4/7] atlas git commit: ATLAS-2179: Split Atlas client library to avoid unnecessary dependencies

http://git-wip-us.apache.org/repos/asf/atlas/blob/187730dd/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
deleted file mode 100755
index 5fa5df7..0000000
--- a/client/src/main/java/org/apache/atlas/AtlasClient.java
+++ /dev/null
@@ -1,962 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.atlas;
-
-import com.google.common.annotations.VisibleForTesting;
-import com.google.common.collect.ImmutableSet;
-import com.sun.jersey.api.client.WebResource;
-import org.apache.atlas.model.legacy.EntityResult;
-import org.apache.atlas.typesystem.Referenceable;
-import org.apache.atlas.typesystem.Struct;
-import org.apache.atlas.typesystem.TypesDef;
-import org.apache.atlas.typesystem.json.InstanceSerialization;
-import org.apache.atlas.typesystem.json.TypesSerialization;
-import org.apache.atlas.typesystem.types.AttributeDefinition;
-import org.apache.atlas.typesystem.types.DataTypes;
-import org.apache.atlas.typesystem.types.HierarchicalTypeDefinition;
-import org.apache.atlas.typesystem.types.TraitType;
-import org.apache.atlas.typesystem.types.utils.TypesUtil;
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.lang.StringUtils;
-import org.apache.hadoop.security.UserGroupInformation;
-import org.codehaus.jettison.json.JSONArray;
-import org.codehaus.jettison.json.JSONException;
-import org.codehaus.jettison.json.JSONObject;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.ws.rs.HttpMethod;
-import javax.ws.rs.core.Cookie;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.List;
-
-/**
- * Client for metadata.
- */
-@Deprecated
-public class AtlasClient extends AtlasBaseClient {
-    private static final Logger LOG = LoggerFactory.getLogger(AtlasClient.class);
-
-    public static final String TYPE = "type";
-    public static final String TYPENAME = "typeName";
-    public static final String GUID = "GUID";
-    public static final String ENTITIES = "entities";
-    public static final String GUID_ASSIGNMENTS = "guidAssignments";
-
-    public static final String DEFINITION = "definition";
-    public static final String ERROR = "error";
-    public static final String STACKTRACE = "stackTrace";
-    public static final String REQUEST_ID = "requestId";
-    public static final String RESULTS = "results";
-    public static final String COUNT = "count";
-    public static final String ROWS = "rows";
-    public static final String DATATYPE = "dataType";
-    public static final String STATUS = "Status";
-
-    public static final String EVENTS = "events";
-    public static final String START_KEY = "startKey";
-    public static final String NUM_RESULTS = "count";
-
-    public static final String URI_ENTITY = "entities";
-    public static final String URI_ENTITY_AUDIT = "audit";
-    public static final String URI_SEARCH = "discovery/search";
-    public static final String URI_NAME_LINEAGE = "lineage/hive/table";
-    public static final String URI_LINEAGE = "lineage/";
-    public static final String URI_TRAITS = "traits";
-    public static final String TRAITS = "traits";
-    public static final String TRAIT_DEFINITIONS = "traitDefinitions";
-
-
-    public static final String QUERY = "query";
-    public static final String LIMIT = "limit";
-    public static final String OFFSET = "offset";
-    public static final String QUERY_TYPE = "queryType";
-    public static final String ATTRIBUTE_NAME = "property";
-    public static final String ATTRIBUTE_VALUE = "value";
-
-    public static final String SUPERTYPE = "supertype";
-    public static final String NOT_SUPERTYPE = "notsupertype";
-
-    public static final String ASSET_TYPE = "Asset";
-    public static final String NAME = "name";
-    public static final String DESCRIPTION = "description";
-    public static final String OWNER = "owner";
-    public static final String CREATE_TIME = "createTime";
-
-    public static final String INFRASTRUCTURE_SUPER_TYPE = "Infrastructure";
-    public static final String DATA_SET_SUPER_TYPE = "DataSet";
-    public static final String PROCESS_SUPER_TYPE = "Process";
-    public static final String PROCESS_ATTRIBUTE_INPUTS = "inputs";
-    public static final String PROCESS_ATTRIBUTE_OUTPUTS = "outputs";
-
-    public static final String REFERENCEABLE_SUPER_TYPE = "Referenceable";
-    public static final String QUALIFIED_NAME = "qualifiedName";
-    public static final String REFERENCEABLE_ATTRIBUTE_NAME = QUALIFIED_NAME;
-
-    public static final String UNKNOWN_STATUS = "Unknown status";
-
-    /**
-     * Constructor for AtlasClient with cookie params as header
-     * @param baseUrl
-     * @param cookieName
-     * @param value
-     * @param path
-     * @param domain
-     */
-
-    public AtlasClient(String[] baseUrl, String cookieName, String value, String path, String domain) {
-        super(baseUrl, new Cookie( cookieName, value, path, domain));
-    }
-
-    /**
-     * Constructor for AtlasClient with cookie as header
-     * @param baseUrl
-     * @param cookie
-     */
-
-    public AtlasClient(String[] baseUrl, Cookie cookie) {
-        super(baseUrl, cookie);
-    }
-
-
-    // New constructor for Basic auth
-    public AtlasClient(String[] baseUrl, String[] basicAuthUserNamePassword) {
-        super(baseUrl, basicAuthUserNamePassword);
-    }
-
-    /**
-     * Create a new Atlas client.
-     * @param baseUrls A list of URLs that point to an ensemble of Atlas servers working in
-     *                 High Availability mode. The client will automatically determine the
-     *                 active instance on startup and also when there is a scenario of
-     *                 failover.
-     */
-    public AtlasClient(String... baseUrls) throws AtlasException {
-        this(getCurrentUGI(), baseUrls);
-    }
-
-    /**
-     * Create a new Atlas client.
-     * @param ugi UserGroupInformation
-     * @param doAsUser
-     * @param baseUrls A list of URLs that point to an ensemble of Atlas servers working in
-     *                 High Availability mode. The client will automatically determine the
-     *                 active instance on startup and also when there is a scenario of
-     *                 failover.
-     */
-    public AtlasClient(UserGroupInformation ugi, String doAsUser, String... baseUrls) {
-        initializeState(baseUrls, ugi, doAsUser);
-    }
-
-    private AtlasClient(UserGroupInformation ugi, String[] baseUrls) {
-        this(ugi, ugi.getShortUserName(), baseUrls);
-    }
-
-    //Used by LocalAtlasClient
-    protected AtlasClient() {
-        //Do nothing
-    }
-
-    @VisibleForTesting
-    public AtlasClient(Configuration configuration, String[] baseUrl, String[] basicAuthUserNamePassword) {
-        super(configuration, baseUrl, basicAuthUserNamePassword);
-    }
-
-    @VisibleForTesting
-    public AtlasClient(Configuration configuration, String... baseUrls) throws AtlasException {
-        initializeState(configuration, baseUrls, getCurrentUGI(), getCurrentUGI().getShortUserName());
-    }
-
-    @VisibleForTesting
-    AtlasClient(WebResource service, Configuration configuration) {
-        super(service, configuration);
-    }
-
-    public WebResource getResource() {
-        return service;
-    }
-
-    public enum API {
-
-        //Admin operations
-        VERSION(BASE_URI + ADMIN_VERSION, HttpMethod.GET, Response.Status.OK),
-        STATUS(BASE_URI + ADMIN_STATUS, HttpMethod.GET, Response.Status.OK),
-
-        //Type operations
-        CREATE_TYPE(BASE_URI + TYPES, HttpMethod.POST, Response.Status.CREATED),
-        UPDATE_TYPE(BASE_URI + TYPES, HttpMethod.PUT, Response.Status.OK),
-        GET_TYPE(BASE_URI + TYPES, HttpMethod.GET, Response.Status.OK),
-        LIST_TYPES(BASE_URI + TYPES, HttpMethod.GET, Response.Status.OK),
-        LIST_TRAIT_TYPES(BASE_URI + TYPES + "?type=trait", HttpMethod.GET, Response.Status.OK),
-
-        //Entity operations
-        CREATE_ENTITY(BASE_URI + URI_ENTITY, HttpMethod.POST, Response.Status.CREATED),
-        GET_ENTITY(BASE_URI + URI_ENTITY, HttpMethod.GET, Response.Status.OK),
-        UPDATE_ENTITY(BASE_URI + URI_ENTITY, HttpMethod.PUT, Response.Status.OK),
-        UPDATE_ENTITY_PARTIAL(BASE_URI + URI_ENTITY, HttpMethod.POST, Response.Status.OK),
-        LIST_ENTITIES(BASE_URI + URI_ENTITY, HttpMethod.GET, Response.Status.OK),
-        DELETE_ENTITIES(BASE_URI + URI_ENTITY, HttpMethod.DELETE, Response.Status.OK),
-        DELETE_ENTITY(BASE_URI + URI_ENTITY, HttpMethod.DELETE, Response.Status.OK),
-
-        //audit operation
-        LIST_ENTITY_AUDIT(BASE_URI + URI_ENTITY, HttpMethod.GET, Response.Status.OK),
-
-        //Trait operations
-        ADD_TRAITS(BASE_URI + URI_ENTITY, HttpMethod.POST, Response.Status.CREATED),
-        DELETE_TRAITS(BASE_URI + URI_ENTITY, HttpMethod.DELETE, Response.Status.OK),
-        LIST_TRAITS(BASE_URI + URI_ENTITY, HttpMethod.GET, Response.Status.OK),
-        GET_ALL_TRAIT_DEFINITIONS(BASE_URI + URI_ENTITY, HttpMethod.GET, Response.Status.OK),
-        GET_TRAIT_DEFINITION(BASE_URI + URI_ENTITY, HttpMethod.GET, Response.Status.OK),
-
-        //Search operations
-        SEARCH(BASE_URI + URI_SEARCH, HttpMethod.GET, Response.Status.OK),
-        SEARCH_DSL(BASE_URI + URI_SEARCH + "/dsl", HttpMethod.GET, Response.Status.OK),
-        SEARCH_FULL_TEXT(BASE_URI + URI_SEARCH + "/fulltext", HttpMethod.GET, Response.Status.OK),
-
-        GREMLIN_SEARCH(BASE_URI + URI_SEARCH + "/gremlin", HttpMethod.GET, Response.Status.OK),
-
-        //Lineage operations based on dataset name
-        NAME_LINEAGE_INPUTS_GRAPH(BASE_URI + URI_NAME_LINEAGE, HttpMethod.GET, Response.Status.OK),
-        NAME_LINEAGE_OUTPUTS_GRAPH(BASE_URI + URI_NAME_LINEAGE, HttpMethod.GET, Response.Status.OK),
-        NAME_LINEAGE_SCHEMA(BASE_URI + URI_NAME_LINEAGE, HttpMethod.GET, Response.Status.OK),
-
-        //Lineage operations based on entity id of the dataset
-        LINEAGE_INPUTS_GRAPH(BASE_URI + URI_LINEAGE, HttpMethod.GET, Response.Status.OK),
-        LINEAGE_OUTPUTS_GRAPH(BASE_URI + URI_LINEAGE, HttpMethod.GET, Response.Status.OK),
-        LINEAGE_SCHEMA(BASE_URI + URI_LINEAGE, HttpMethod.GET, Response.Status.OK);
-
-        private final String method;
-        private final String path;
-        private final Response.Status status;
-
-        API(String path, String method, Response.Status status) {
-            this.path = path;
-            this.method = method;
-            this.status = status;
-        }
-
-        public String getMethod() {
-            return method;
-        }
-
-        public String getPath() {
-            return path;
-        }
-
-        public Response.Status getExpectedStatus() {
-            return status;
-        }
-    }
-
-    /**
-     * Register the given type(meta model)
-     * @param typeAsJson type definition a jaon
-     * @return result json object
-     * @throws AtlasServiceException
-     */
-    public List<String> createType(String typeAsJson) throws AtlasServiceException {
-        LOG.debug("Creating type definition: {}", 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 {
-                return element.getString(AtlasClient.NAME);
-            }
-        });
-        LOG.debug("Create type definition returned results: {}", results);
-        return results;
-    }
-
-    /**
-     * Register the given type(meta model)
-     * @param typeDef type definition
-     * @return result json object
-     * @throws AtlasServiceException
-     */
-    public List<String> createType(TypesDef typeDef) throws AtlasServiceException {
-        return createType(TypesSerialization.toJson(typeDef));
-    }
-
-    /**
-     * Creates trait type with specifiedName, superTraits and attributes
-     * @param traitName the name of the trait type
-     * @param superTraits the list of super traits from which this trait type inherits attributes
-     * @param attributeDefinitions the list of attributes of the trait type
-     * @return the list of types created
-     * @throws AtlasServiceException
-     */
-    public List<String> createTraitType(String traitName, ImmutableSet<String> superTraits, AttributeDefinition... attributeDefinitions) throws AtlasServiceException {
-        HierarchicalTypeDefinition<TraitType> piiTrait =
-            TypesUtil.createTraitTypeDef(traitName, superTraits, attributeDefinitions);
-
-        String traitDefinitionAsJSON = TypesSerialization.toJson(piiTrait, true);
-        LOG.debug("Creating trait type {} {}" , traitName, traitDefinitionAsJSON);
-        return createType(traitDefinitionAsJSON);
-    }
-
-    /**
-     * Creates simple trait type with specifiedName with no superTraits or attributes
-     * @param traitName the name of the trait type
-     * @return the list of types created
-     * @throws AtlasServiceException
-     */
-    public List<String> createTraitType(String traitName) throws AtlasServiceException {
-        return createTraitType(traitName, null);
-    }
-
-    /**
-     * Register the given type(meta model)
-     * @param typeAsJson type definition a jaon
-     * @return result json object
-     * @throws AtlasServiceException
-     */
-    public List<String> updateType(String typeAsJson) throws AtlasServiceException {
-        LOG.debug("Updating type definition: {}", 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 {
-                return element.getString(AtlasClient.NAME);
-            }
-        });
-        LOG.debug("Update type definition returned results: {}", results);
-        return results;
-    }
-
-    /**
-     * Register the given type(meta model)
-     * @param typeDef type definition
-     * @return result json object
-     * @throws AtlasServiceException
-     */
-    public List<String> updateType(TypesDef typeDef) throws AtlasServiceException {
-        return updateType(TypesSerialization.toJson(typeDef));
-    }
-
-    /**
-     * Returns all type names in the system
-     * @return list of type names
-     * @throws AtlasServiceException
-     */
-    public List<String> listTypes() throws AtlasServiceException {
-        final JSONObject jsonObject = callAPIWithQueryParams(API.LIST_TYPES, null);
-        return extractResults(jsonObject, AtlasClient.RESULTS, new ExtractOperation<String, String>());
-    }
-
-    /**
-     * Returns all type names with the given category
-     * @param category
-     * @return list of type names
-     * @throws AtlasServiceException
-     */
-    public List<String> listTypes(final DataTypes.TypeCategory category) throws AtlasServiceException {
-        JSONObject response = callAPIWithRetries(API.LIST_TYPES, null, new ResourceCreator() {
-            @Override
-            public WebResource createResource() {
-                WebResource resource = getResource(API.LIST_TYPES.getPath());
-                resource = resource.queryParam(TYPE, category.name());
-                return resource;
-            }
-        });
-        return extractResults(response, AtlasClient.RESULTS, new ExtractOperation<String, String>());
-    }
-
-    /**
-     * Return the list of type names in the type system which match the specified filter.
-     *
-     * @param category returns types whose category is the given typeCategory
-     * @param superType returns types which contain the given supertype
-     * @param notSupertype returns types which do not contain the given supertype
-     *
-     * Its possible to specify combination of these filters in one request and the conditions are combined with AND
-     * For example, typeCategory = TRAIT && supertype contains 'X' && supertype !contains 'Y'
-     * If there is no filter, all the types are returned
-     * @return list of type names
-     */
-    public List<String> listTypes(final DataTypes.TypeCategory category, final String superType,
-                                  final String notSupertype) throws AtlasServiceException {
-        JSONObject response = callAPIWithRetries(API.LIST_TYPES, null, new ResourceCreator() {
-            @Override
-            public WebResource createResource() {
-                WebResource resource = getResource(API.LIST_TYPES);
-                resource = resource.queryParam(TYPE, category.name());
-                resource = resource.queryParam(SUPERTYPE, superType);
-                resource = resource.queryParam(NOT_SUPERTYPE, notSupertype);
-                return resource;
-            }
-        });
-        return extractResults(response, AtlasClient.RESULTS, new ExtractOperation<String, String>());
-    }
-
-    public TypesDef getType(String typeName) throws AtlasServiceException {
-        try {
-            JSONObject response = callAPIWithBodyAndParams(API.GET_TYPE, null, typeName);
-            String typeJson = response.getString(DEFINITION);
-            return TypesSerialization.fromJson(typeJson);
-        } catch (JSONException e) {
-            throw new AtlasServiceException(e);
-        }
-    }
-
-    /**
-     * Create the given entity
-     * @param entities entity(type instance) as json
-     * @return json array of guids
-     * @throws AtlasServiceException
-     */
-    protected List<String> createEntity(JSONArray entities) throws AtlasServiceException {
-        LOG.debug("Creating entities: {}", entities);
-        JSONObject response = callAPIWithBody(API.CREATE_ENTITY, entities.toString());
-        List<String> results = extractEntityResult(response).getCreatedEntities();
-        LOG.debug("Create entities returned results: {}", results);
-        return results;
-    }
-
-    protected EntityResult extractEntityResult(JSONObject response) throws AtlasServiceException {
-        return EntityResult.fromString(response.toString());
-    }
-
-    /**
-     * Create the given entity
-     * @param entitiesAsJson entity(type instance) as json
-     * @return json array of guids
-     * @throws AtlasServiceException
-     */
-    public List<String> createEntity(String... entitiesAsJson) throws AtlasServiceException {
-        return createEntity(new JSONArray(Arrays.asList(entitiesAsJson)));
-    }
-
-    public List<String> createEntity(Referenceable... entities) throws AtlasServiceException {
-        return createEntity(Arrays.asList(entities));
-    }
-
-    public List<String> createEntity(Collection<Referenceable> entities) throws AtlasServiceException {
-        JSONArray entityArray = getEntitiesArray(entities);
-        return createEntity(entityArray);
-    }
-
-    private JSONArray getEntitiesArray(Collection<Referenceable> entities) {
-        JSONArray entityArray = new JSONArray(entities.size());
-        for (Referenceable entity : entities) {
-            entityArray.put(InstanceSerialization.toJson(entity, true));
-        }
-        return entityArray;
-    }
-
-    /**
-     * Replaces entity definitions identified by their guid or unique attribute
-     * Updates properties set in the definition for the entity corresponding to guid
-     * @param entities entities to be updated
-     * @return json array of guids which were updated/created
-     * @throws AtlasServiceException
-     */
-    public EntityResult updateEntities(Referenceable... entities) throws AtlasServiceException {
-        return updateEntities(Arrays.asList(entities));
-    }
-
-    protected EntityResult updateEntities(JSONArray entities) throws AtlasServiceException {
-        LOG.debug("Updating entities: {}", entities);
-        JSONObject response = callAPIWithBody(API.UPDATE_ENTITY, entities.toString());
-        EntityResult results = extractEntityResult(response);
-        LOG.debug("Update entities returned results: {}", results);
-        return results;
-    }
-
-    public EntityResult updateEntities(Collection<Referenceable> entities) throws AtlasServiceException {
-        JSONArray entitiesArray = getEntitiesArray(entities);
-        return updateEntities(entitiesArray);
-    }
-
-    /**
-     * Supports Partial updates
-     * Updates property for the entity corresponding to guid
-     * @param guid      guid
-     * @param attribute  property key
-     * @param value     property value
-     */
-    public EntityResult updateEntityAttribute(final String guid, final String attribute, String value)
-            throws AtlasServiceException {
-        LOG.debug("Updating entity id: {}, attribute name: {}, attribute value: {}", guid, attribute, value);
-        JSONObject response = callAPIWithRetries(API.UPDATE_ENTITY_PARTIAL, value, new ResourceCreator() {
-            @Override
-            public WebResource createResource() {
-                API api = API.UPDATE_ENTITY_PARTIAL;
-                WebResource resource = getResource(api, guid);
-                resource = resource.queryParam(ATTRIBUTE_NAME, attribute);
-                return resource;
-            }
-        });
-        return extractEntityResult(response);
-    }
-
-    /**
-     * Supports Partial updates
-     * Updates properties set in the definition for the entity corresponding to guid
-     * @param guid      guid
-     * @param entity entity definition
-     */
-    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 = callAPIWithBodyAndParams(API.UPDATE_ENTITY_PARTIAL, entityJson, guid);
-        return extractEntityResult(response);
-    }
-
-    /**
-     * Associate trait to an entity
-     *
-     * @param guid      guid
-     * @param traitDefinition trait definition
-     */
-    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);
-        callAPIWithBodyAndParams(API.ADD_TRAITS, traitJson, guid, URI_TRAITS);
-    }
-
-    /**
-     * Delete a trait from the given entity
-     * @param guid guid of the entity
-     * @param traitName trait to be deleted
-     * @throws AtlasServiceException
-     */
-    public void deleteTrait(String guid, String traitName) throws AtlasServiceException {
-        callAPIWithBodyAndParams(API.DELETE_TRAITS, null, guid, TRAITS, traitName);
-    }
-
-    /**
-     * Supports Partial updates
-     * Updates properties set in the definition for the entity corresponding to guid
-     * @param entityType Type of the entity being updated
-     * @param uniqueAttributeName Attribute Name that uniquely identifies the entity
-     * @param uniqueAttributeValue Attribute Value that uniquely identifies the entity
-     * @param entity entity definition
-     */
-    public EntityResult updateEntity(final String entityType, final String uniqueAttributeName,
-                                     final String uniqueAttributeValue,
-                                     Referenceable entity) throws AtlasServiceException {
-        final API api = API.UPDATE_ENTITY_PARTIAL;
-        String entityJson = InstanceSerialization.toJson(entity, true);
-        LOG.debug("Updating entity type: {}, attributeName: {}, attributeValue: {}, entity: {}", entityType,
-                uniqueAttributeName, uniqueAttributeValue, entityJson);
-        JSONObject response = callAPIWithRetries(api, entityJson, new ResourceCreator() {
-            @Override
-            public WebResource createResource() {
-                WebResource resource = getResource(api, QUALIFIED_NAME);
-                resource = resource.queryParam(TYPE, entityType);
-                resource = resource.queryParam(ATTRIBUTE_NAME, uniqueAttributeName);
-                resource = resource.queryParam(ATTRIBUTE_VALUE, uniqueAttributeValue);
-                return resource;
-            }
-        });
-        EntityResult result = extractEntityResult(response);
-        LOG.debug("Update entity returned result: {}", result);
-        return result;
-    }
-
-    protected String getString(JSONObject jsonObject, String parameter) throws AtlasServiceException {
-        try {
-            return jsonObject.getString(parameter);
-        } catch (JSONException e) {
-            throw new AtlasServiceException(e);
-        }
-    }
-
-    /**
-     * Delete the specified entities from the repository
-     *
-     * @param guids guids of entities to delete
-     * @return List of entity ids updated/deleted
-     * @throws AtlasServiceException
-     */
-    public EntityResult deleteEntities(final String ... guids) throws AtlasServiceException {
-        LOG.debug("Deleting entities: {}", guids);
-        JSONObject jsonResponse = callAPIWithRetries(API.DELETE_ENTITIES, null, new ResourceCreator() {
-            @Override
-            public WebResource createResource() {
-                API api = API.DELETE_ENTITIES;
-                WebResource resource = getResource(api);
-                for (String guid : guids) {
-                    resource = resource.queryParam(GUID.toLowerCase(), guid);
-                }
-                return resource;
-            }
-        });
-        EntityResult results = extractEntityResult(jsonResponse);
-        LOG.debug("Delete entities returned results: {}", results);
-        return results;
-    }
-
-    /**
-     * Supports Deletion of an entity identified by its unique attribute value
-     * @param entityType Type of the entity being deleted
-     * @param uniqueAttributeName Attribute Name that uniquely identifies the entity
-     * @param uniqueAttributeValue Attribute Value that uniquely identifies the entity
-     * @return List of entity ids updated/deleted(including composite references from that entity)
-     */
-    public EntityResult deleteEntity(String entityType, String uniqueAttributeName, String uniqueAttributeValue)
-            throws AtlasServiceException {
-        LOG.debug("Deleting entity type: {}, attributeName: {}, attributeValue: {}", entityType, uniqueAttributeName,
-                uniqueAttributeValue);
-        API api = API.DELETE_ENTITY;
-        WebResource resource = getResource(api);
-        resource = resource.queryParam(TYPE, entityType);
-        resource = resource.queryParam(ATTRIBUTE_NAME, uniqueAttributeName);
-        resource = resource.queryParam(ATTRIBUTE_VALUE, uniqueAttributeValue);
-        JSONObject jsonResponse = callAPIWithResource(API.DELETE_ENTITIES, resource);
-        EntityResult results = extractEntityResult(jsonResponse);
-        LOG.debug("Delete entities returned results: {}", results);
-        return results;
-    }
-
-    /**
-     * Get an entity given the entity id
-     * @param guid entity id
-     * @return result object
-     * @throws AtlasServiceException
-     */
-    public Referenceable getEntity(String guid) throws AtlasServiceException {
-        JSONObject jsonResponse = callAPIWithBodyAndParams(API.GET_ENTITY, null, guid);
-        try {
-            String entityInstanceDefinition = jsonResponse.getString(AtlasClient.DEFINITION);
-            return InstanceSerialization.fromJsonReferenceable(entityInstanceDefinition, true);
-        } catch (JSONException e) {
-            throw new AtlasServiceException(API.GET_ENTITY, e);
-        }
-    }
-
-    public static String toString(JSONArray jsonArray) throws JSONException {
-        ArrayList<String> resultsList = new ArrayList<>();
-        for (int index = 0; index < jsonArray.length(); index++) {
-            resultsList.add(jsonArray.getString(index));
-        }
-        return StringUtils.join(resultsList, ",");
-    }
-
-    /**
-     * Get an entity given the entity id
-     * @param entityType entity type name
-     * @param attribute qualified name of the entity
-     * @param value
-     * @return result object
-     * @throws AtlasServiceException
-     */
-    public Referenceable getEntity(final String entityType, final String attribute, final String value)
-            throws AtlasServiceException {
-        JSONObject jsonResponse = callAPIWithRetries(API.GET_ENTITY, null, new ResourceCreator() {
-            @Override
-            public WebResource createResource() {
-                WebResource resource = getResource(API.GET_ENTITY);
-                resource = resource.queryParam(TYPE, entityType);
-                resource = resource.queryParam(ATTRIBUTE_NAME, attribute);
-                resource = resource.queryParam(ATTRIBUTE_VALUE, value);
-                return resource;
-            }
-        });
-        try {
-            String entityInstanceDefinition = jsonResponse.getString(AtlasClient.DEFINITION);
-            return InstanceSerialization.fromJsonReferenceable(entityInstanceDefinition, true);
-        } catch (JSONException e) {
-            throw new AtlasServiceException(API.GET_ENTITY, e);
-        }
-    }
-
-    /**
-     * List entities for a given entity type
-     * @param entityType
-     * @return
-     * @throws AtlasServiceException
-     */
-    public List<String> listEntities(final String entityType) throws AtlasServiceException {
-        JSONObject jsonResponse = callAPIWithRetries(API.LIST_ENTITIES, null, new ResourceCreator() {
-            @Override
-            public WebResource createResource() {
-                WebResource resource = getResource(API.LIST_ENTITIES);
-                resource = resource.queryParam(TYPE, entityType);
-                return resource;
-            }
-        });
-        return extractResults(jsonResponse, AtlasClient.RESULTS, new ExtractOperation<String, String>());
-    }
-
-    /**
-     * List traits for a given entity identified by its GUID
-     * @param guid GUID of the entity
-     * @return List<String> - traitnames associated with entity
-     * @throws AtlasServiceException
-     */
-    public List<String> listTraits(final String guid) throws AtlasServiceException {
-        JSONObject jsonResponse = callAPIWithBodyAndParams(API.LIST_TRAITS, null, guid, URI_TRAITS);
-        return extractResults(jsonResponse, AtlasClient.RESULTS, new ExtractOperation<String, String>());
-    }
-
-    /**
-     * Get all trait definitions for an entity
-     * @param guid GUID of the entity
-     * @return List<String> trait definitions of the traits associated to the entity
-     * @throws AtlasServiceException
-     */
-    public List<Struct> listTraitDefinitions(final String guid) throws AtlasServiceException{
-        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){
-            Struct traitStruct = InstanceSerialization.fromJsonStruct(traitDef.toString(), true);
-            traitStructList.add(traitStruct);
-        }
-        return traitStructList;
-    }
-
-    /**
-     * Get trait definition for a given entity and traitname
-     * @param guid GUID of the entity
-     * @param traitName
-     * @return trait definition
-     * @throws AtlasServiceException
-     */
-    public Struct getTraitDefinition(final String guid, final String traitName) throws AtlasServiceException{
-        JSONObject jsonResponse = callAPIWithBodyAndParams(API.GET_TRAIT_DEFINITION, null, guid, TRAIT_DEFINITIONS, traitName);
-
-        try {
-            return InstanceSerialization.fromJsonStruct(jsonResponse.getString(AtlasClient.RESULTS), false);
-        }catch (JSONException e){
-            throw new AtlasServiceException(API.GET_TRAIT_DEFINITION, e);
-        }
-    }
-
-    protected class ExtractOperation<T, U> {
-        T extractElement(U element) throws JSONException {
-            return (T) element;
-        }
-    }
-
-    protected <T, U> List<T> extractResults(JSONObject jsonResponse, String key, ExtractOperation<T, U> extractInterafce)
-            throws AtlasServiceException {
-        try {
-            JSONArray results = jsonResponse.getJSONArray(key);
-            ArrayList<T> resultsList = new ArrayList<>();
-            for (int index = 0; index < results.length(); index++) {
-                Object element = results.get(index);
-                resultsList.add(extractInterafce.extractElement((U) element));
-            }
-            return resultsList;
-        } catch (JSONException e) {
-            throw new AtlasServiceException(e);
-        }
-    }
-
-    /**
-     * Get the latest numResults entity audit events in decreasing order of timestamp for the given entity id
-     * @param entityId entity id
-     * @param numResults number of results to be returned
-     * @return list of audit events for the entity id
-     * @throws AtlasServiceException
-     */
-    public List<EntityAuditEvent> getEntityAuditEvents(String entityId, short numResults)
-            throws AtlasServiceException {
-        return getEntityAuditEvents(entityId, null, numResults);
-    }
-
-    /**
-     * Get the entity audit events in decreasing order of timestamp for the given entity id
-     * @param entityId entity id
-     * @param startKey key for the first event to be returned, used for pagination
-     * @param numResults number of results to be returned
-     * @return list of audit events for the entity id
-     * @throws AtlasServiceException
-     */
-    public List<EntityAuditEvent> getEntityAuditEvents(String entityId, String startKey, short numResults)
-            throws AtlasServiceException {
-        WebResource resource = getResource(API.LIST_ENTITY_AUDIT, entityId, URI_ENTITY_AUDIT);
-        if (StringUtils.isNotEmpty(startKey)) {
-            resource = resource.queryParam(START_KEY, startKey);
-        }
-        resource = resource.queryParam(NUM_RESULTS, String.valueOf(numResults));
-
-        JSONObject jsonResponse = callAPIWithResource(API.LIST_ENTITY_AUDIT, resource);
-        return extractResults(jsonResponse, AtlasClient.EVENTS, new ExtractOperation<EntityAuditEvent, JSONObject>() {
-            @Override
-            EntityAuditEvent extractElement(JSONObject element) throws JSONException {
-                return SerDe.GSON.fromJson(element.toString(), EntityAuditEvent.class);
-            }
-        });
-
-    }
-
-    /**
-     * Search using dsl/full text
-     * @param searchQuery
-     * @param limit number of rows to be returned in the result, used for pagination. maxlimit > limit > 0. -1 maps to atlas.search.defaultlimit property value
-     * @param offset offset to the results returned, used for pagination. offset >= 0. -1 maps to offset 0
-     * @return Query results
-     * @throws AtlasServiceException
-     */
-    public JSONArray search(final String searchQuery, final int limit, final int offset) throws AtlasServiceException {
-        JSONObject result = callAPIWithRetries(API.SEARCH, null, new ResourceCreator() {
-            @Override
-            public WebResource createResource() {
-                WebResource resource = getResource(API.SEARCH);
-                resource = resource.queryParam(QUERY, searchQuery);
-                resource = resource.queryParam(LIMIT, String.valueOf(limit));
-                resource = resource.queryParam(OFFSET, String.valueOf(offset));
-                return resource;
-            }
-        });
-        try {
-            return result.getJSONArray(RESULTS);
-        } catch (JSONException e) {
-            throw new AtlasServiceException(e);
-        }
-
-    }
-
-    /**
-     * Search given query DSL
-     * @param query DSL query
-     * @param limit number of rows to be returned in the result, used for pagination. maxlimit > limit > 0. -1 maps to atlas.search.defaultlimit property value
-     * @param offset offset to the results returned, used for pagination. offset >= 0. -1 maps to offset 0
-     * @return result json object
-     * @throws AtlasServiceException
-     */
-    public JSONArray searchByDSL(final String query, final int limit, final int offset) throws AtlasServiceException {
-        LOG.debug("DSL query: {}", query);
-        JSONObject result = callAPIWithRetries(API.SEARCH_DSL, null, new ResourceCreator() {
-            @Override
-            public WebResource createResource() {
-                WebResource resource = getResource(API.SEARCH_DSL);
-                resource = resource.queryParam(QUERY, query);
-                resource = resource.queryParam(LIMIT, String.valueOf(limit));
-                resource = resource.queryParam(OFFSET, String.valueOf(offset));
-                return resource;
-            }
-        });
-        try {
-            return result.getJSONArray(RESULTS);
-        } catch (JSONException e) {
-            throw new AtlasServiceException(e);
-        }
-    }
-
-    /**
-     * Search given full text search
-     * @param query Query
-     * @param limit number of rows to be returned in the result, used for pagination. maxlimit > limit > 0. -1 maps to atlas.search.defaultlimit property value
-     * @param offset offset to the results returned, used for pagination. offset >= 0. -1 maps to offset 0
-     * @return result json object
-     * @throws AtlasServiceException
-     */
-    public JSONObject searchByFullText(final String query, final int limit, final int offset) throws AtlasServiceException {
-        return callAPIWithRetries(API.SEARCH_FULL_TEXT, null, new ResourceCreator() {
-            @Override
-            public WebResource createResource() {
-                WebResource resource = getResource(API.SEARCH_FULL_TEXT);
-                resource = resource.queryParam(QUERY, query);
-                resource = resource.queryParam(LIMIT, String.valueOf(limit));
-                resource = resource.queryParam(OFFSET, String.valueOf(offset));
-                return resource;
-            }
-        });
-    }
-
-    public JSONObject getInputGraph(String datasetName) throws AtlasServiceException {
-        JSONObject response = callAPIWithBodyAndParams(API.NAME_LINEAGE_INPUTS_GRAPH, null, datasetName, "/inputs/graph");
-        try {
-            return response.getJSONObject(AtlasClient.RESULTS);
-        } catch (JSONException e) {
-            throw new AtlasServiceException(e);
-        }
-    }
-
-    public JSONObject getOutputGraph(String datasetName) throws AtlasServiceException {
-        JSONObject response = callAPIWithBodyAndParams(API.NAME_LINEAGE_OUTPUTS_GRAPH, null, datasetName, "/outputs/graph");
-        try {
-            return response.getJSONObject(AtlasClient.RESULTS);
-        } catch (JSONException e) {
-            throw new AtlasServiceException(e);
-        }
-    }
-
-    public JSONObject getInputGraphForEntity(String entityId) throws AtlasServiceException {
-        JSONObject response = callAPIWithBodyAndParams(API.LINEAGE_INPUTS_GRAPH, null, entityId, "/inputs/graph");
-        try {
-            return response.getJSONObject(AtlasClient.RESULTS);
-        } catch (JSONException e) {
-            throw new AtlasServiceException(e);
-        }
-    }
-
-    public JSONObject getOutputGraphForEntity(String datasetId) throws AtlasServiceException {
-        JSONObject response = callAPIWithBodyAndParams(API.LINEAGE_OUTPUTS_GRAPH, null, datasetId, "/outputs/graph");
-        try {
-            return response.getJSONObject(AtlasClient.RESULTS);
-        } catch (JSONException e) {
-            throw new AtlasServiceException(e);
-        }
-    }
-
-    public JSONObject getSchemaForEntity(String datasetId) throws AtlasServiceException {
-        JSONObject response = callAPIWithBodyAndParams(API.LINEAGE_OUTPUTS_GRAPH, null, datasetId, "/schema");
-        try {
-            return response.getJSONObject(AtlasClient.RESULTS);
-        } catch (JSONException e) {
-            throw new AtlasServiceException(e);
-        }
-    }
-
-    // Wrapper methods for compatibility
-    @VisibleForTesting
-    public JSONObject callAPIWithResource(API api, WebResource resource) throws AtlasServiceException {
-        return callAPIWithResource(toAPIInfo(api), resource, null, JSONObject.class);
-    }
-
-    @VisibleForTesting
-    public WebResource getResource(API api, String ... params) {
-        return getResource(toAPIInfo(api), params);
-    }
-
-    @VisibleForTesting
-    public JSONObject callAPIWithBody(API api, Object requestObject) throws AtlasServiceException {
-        return callAPI(toAPIInfo(api), JSONObject.class, requestObject, (String[]) null);
-    }
-
-    @VisibleForTesting
-    public JSONObject callAPIWithBodyAndParams(API api, Object requestObject, String ... params) throws AtlasServiceException {
-        return callAPI(toAPIInfo(api), JSONObject.class, requestObject, params);
-    }
-
-    @VisibleForTesting
-    public JSONObject callAPIWithQueryParams(API api, MultivaluedMap<String, String> queryParams) throws AtlasServiceException {
-        return callAPI(toAPIInfo(api), JSONObject.class, queryParams);
-    }
-
-    @VisibleForTesting
-    JSONObject callAPIWithRetries(API api, Object requestObject, ResourceCreator resourceCreator) throws AtlasServiceException {
-        return super.callAPIWithRetries(toAPIInfo(api), requestObject, resourceCreator);
-    }
-
-    private APIInfo toAPIInfo(API api){
-        return new APIInfo(api.getPath(), api.getMethod(), api.getExpectedStatus());
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/atlas/blob/187730dd/client/src/main/java/org/apache/atlas/AtlasClientV2.java
----------------------------------------------------------------------
diff --git a/client/src/main/java/org/apache/atlas/AtlasClientV2.java b/client/src/main/java/org/apache/atlas/AtlasClientV2.java
deleted file mode 100644
index 2cb9e84..0000000
--- a/client/src/main/java/org/apache/atlas/AtlasClientV2.java
+++ /dev/null
@@ -1,466 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.atlas;
-
-import com.google.common.annotations.VisibleForTesting;
-import com.sun.jersey.api.client.WebResource;
-import com.sun.jersey.core.util.MultivaluedMapImpl;
-import org.apache.atlas.model.SearchFilter;
-import org.apache.atlas.model.discovery.AtlasSearchResult;
-import org.apache.atlas.model.discovery.SearchParameters;
-import org.apache.atlas.model.instance.AtlasClassification;
-import org.apache.atlas.model.instance.AtlasClassification.AtlasClassifications;
-import org.apache.atlas.model.instance.AtlasEntity.AtlasEntitiesWithExtInfo;
-import org.apache.atlas.model.instance.AtlasEntity.AtlasEntityWithExtInfo;
-import org.apache.atlas.model.instance.EntityMutationResponse;
-import org.apache.atlas.model.lineage.AtlasLineageInfo;
-import org.apache.atlas.model.lineage.AtlasLineageInfo.LineageDirection;
-import org.apache.atlas.model.typedef.AtlasClassificationDef;
-import org.apache.atlas.model.typedef.AtlasEntityDef;
-import org.apache.atlas.model.typedef.AtlasEnumDef;
-import org.apache.atlas.model.typedef.AtlasStructDef;
-import org.apache.atlas.model.typedef.AtlasTypesDef;
-import org.apache.atlas.type.AtlasType;
-import org.apache.commons.collections.MapUtils;
-import org.apache.commons.configuration.Configuration;
-import org.apache.hadoop.security.UserGroupInformation;
-
-import javax.ws.rs.HttpMethod;
-import javax.ws.rs.core.Cookie;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import java.util.List;
-import java.util.Map;
-
-import static org.apache.atlas.AtlasClient.LIMIT;
-import static org.apache.atlas.AtlasClient.OFFSET;
-import static org.apache.atlas.AtlasClient.QUERY;
-
-public class AtlasClientV2 extends AtlasBaseClient {
-
-    // Type APIs
-    public static final String TYPES_API = BASE_URI + "v2/types/";
-    private static final String TYPEDEFS_API = TYPES_API + "typedefs/";
-    private static final String TYPEDEF_BY_NAME = TYPES_API + "typedef/name/";
-    private static final String TYPEDEF_BY_GUID = TYPES_API + "typedef/guid/";
-
-    private static final String GET_BY_NAME_TEMPLATE = TYPES_API + "%s/name/%s";
-    private static final String GET_BY_GUID_TEMPLATE = TYPES_API + "%s/guid/%s";
-
-    private static final APIInfo GET_TYPEDEF_BY_NAME = new APIInfo(TYPEDEF_BY_NAME, HttpMethod.GET, Response.Status.OK);
-    private static final APIInfo GET_TYPEDEF_BY_GUID = new APIInfo(TYPEDEF_BY_GUID, HttpMethod.GET, Response.Status.OK);
-    private static final APIInfo GET_ALL_TYPE_DEFS = new APIInfo(TYPEDEFS_API, HttpMethod.GET, Response.Status.OK);
-    private static final APIInfo CREATE_ALL_TYPE_DEFS = new APIInfo(TYPEDEFS_API, HttpMethod.POST, Response.Status.OK);
-    private static final APIInfo UPDATE_ALL_TYPE_DEFS = new APIInfo(TYPEDEFS_API, HttpMethod.PUT, Response.Status.OK);
-    private static final APIInfo DELETE_ALL_TYPE_DEFS = new APIInfo(TYPEDEFS_API, HttpMethod.DELETE, Response.Status.NO_CONTENT);
-
-    // Entity APIs
-    public static final String ENTITY_API = BASE_URI + "v2/entity/";
-    private static final String ENTITY_BULK_API = ENTITY_API + "bulk/";
-
-    private static final APIInfo GET_ENTITY_BY_GUID         = new APIInfo(ENTITY_API + "guid/", HttpMethod.GET, Response.Status.OK);
-    private static final APIInfo GET_ENTITY_BY_ATTRIBUTE    = new APIInfo(ENTITY_API + "uniqueAttribute/type/", HttpMethod.GET, Response.Status.OK);
-    public  static final APIInfo CREATE_ENTITY              = new APIInfo(ENTITY_API, HttpMethod.POST, Response.Status.OK);
-    public  static final APIInfo UPDATE_ENTITY              = CREATE_ENTITY;
-    public  static final APIInfo UPDATE_ENTITY_BY_ATTRIBUTE = new APIInfo(ENTITY_API + "uniqueAttribute/type/", HttpMethod.PUT, Response.Status.OK);
-    private static final APIInfo DELETE_ENTITY_BY_GUID      = new APIInfo(ENTITY_API + "guid/", HttpMethod.DELETE, Response.Status.OK);
-    public  static final APIInfo DELETE_ENTITY_BY_ATTRIBUTE = new APIInfo(ENTITY_API + "uniqueAttribute/type/", HttpMethod.DELETE, Response.Status.OK);
-
-    private static final APIInfo GET_ENTITIES_BY_GUIDS    = new APIInfo(ENTITY_BULK_API, HttpMethod.GET, Response.Status.OK);
-    private static final APIInfo CREATE_ENTITIES          = new APIInfo(ENTITY_BULK_API, HttpMethod.POST, Response.Status.OK);
-    private static final APIInfo UPDATE_ENTITIES          = CREATE_ENTITIES;
-    private static final APIInfo DELETE_ENTITIES_BY_GUIDS = new APIInfo(ENTITY_BULK_API, HttpMethod.DELETE, Response.Status.OK);
-
-    private static final APIInfo GET_CLASSIFICATIONS    = new APIInfo(ENTITY_API + "guid/%s/classifications", HttpMethod.GET, Response.Status.OK);
-    private static final APIInfo ADD_CLASSIFICATIONS    = new APIInfo(ENTITY_API + "guid/%s/classifications", HttpMethod.POST, Response.Status.NO_CONTENT);
-    private static final APIInfo UPDATE_CLASSIFICATIONS = new APIInfo(ENTITY_API + "guid/%s/classifications", HttpMethod.PUT, Response.Status.OK);
-    private static final APIInfo DELETE_CLASSIFICATION  = new APIInfo(ENTITY_API + "guid/%s/classification/%s", HttpMethod.DELETE, Response.Status.NO_CONTENT);
-
-    public static final String PREFIX_ATTR = "attr:";
-
-    // Lineage APIs
-    private static final String  LINEAGE_URI  = BASE_URI + "v2/lineage/";
-    private static final APIInfo LINEAGE_INFO = new APIInfo(LINEAGE_URI, HttpMethod.GET, Response.Status.OK);
-
-
-    // Discovery APIs
-    private static final String DISCOVERY_URI = BASE_URI + "v2/search";
-    private static final String DSL_URI       = DISCOVERY_URI + "/dsl";
-    private static final String FULL_TEXT_URI = DISCOVERY_URI + "/fulltext";
-    private static final String BASIC_SEARCH_URI = DISCOVERY_URI + "/basic";
-    private static final String FACETED_SEARCH_URI = BASIC_SEARCH_URI;
-
-    private static final APIInfo DSL_SEARCH       = new APIInfo(DSL_URI, HttpMethod.GET, Response.Status.OK);
-    private static final APIInfo FULL_TEXT_SEARCH = new APIInfo(FULL_TEXT_URI, HttpMethod.GET, Response.Status.OK);
-    private static final APIInfo BASIC_SEARCH = new APIInfo(BASIC_SEARCH_URI, HttpMethod.GET, Response.Status.OK);
-    private static final APIInfo FACETED_SEARCH = new APIInfo(FACETED_SEARCH_URI, HttpMethod.POST, Response.Status.OK);
-
-
-    public AtlasClientV2(String[] baseUrl, String[] basicAuthUserNamePassword) {
-        super(baseUrl, basicAuthUserNamePassword);
-    }
-
-    public AtlasClientV2(String... baseUrls) throws AtlasException {
-        super(baseUrls);
-    }
-
-    public AtlasClientV2(UserGroupInformation ugi, String doAsUser, String... baseUrls) {
-        super(ugi, doAsUser, baseUrls);
-    }
-
-    /**
-     * Constructor for AtlasClient with cookie params as header
-     * @param baseUrl
-     * @param cookieName
-     * @param value
-     * @param path
-     * @param domain
-     */
-    public AtlasClientV2(String[] baseUrl, String cookieName, String value, String path, String domain) {
-        super(baseUrl, new Cookie(cookieName, value, path, domain));
-    }
-
-    /**
-     * Constructor for AtlasClient with cookie as header
-     * @param baseUrl
-     * @param cookie
-     */
-    public AtlasClientV2(String[] baseUrl, Cookie cookie) {
-        super(baseUrl, cookie);
-    }
-
-    @VisibleForTesting
-    AtlasClientV2(WebResource service, Configuration configuration) {
-        super(service, configuration);
-    }
-
-    /**
-     * Bulk retrieval API for retrieving all type definitions in Atlas
-     *
-     * @return A composite wrapper object with lists of all type definitions
-     */
-    public AtlasTypesDef getAllTypeDefs(SearchFilter searchFilter) throws AtlasServiceException {
-        return callAPI(GET_ALL_TYPE_DEFS, AtlasTypesDef.class, searchFilter.getParams());
-    }
-
-    public boolean typeWithGuidExists(String guid) {
-        try {
-            callAPI(GET_TYPEDEF_BY_GUID, String.class, null, guid);
-        } catch (AtlasServiceException e) {
-            return false;
-        }
-        return true;
-    }
-
-    public boolean typeWithNameExists(String name) {
-        try {
-            callAPI(GET_TYPEDEF_BY_NAME, String.class, null, name);
-        } catch (AtlasServiceException e) {
-            return false;
-        }
-        return true;
-    }
-
-    public AtlasEnumDef getEnumDefByName(final String name) throws AtlasServiceException {
-        return getTypeDefByName(name, AtlasEnumDef.class);
-    }
-
-    public AtlasEnumDef getEnumDefByGuid(final String guid) throws AtlasServiceException {
-        return getTypeDefByGuid(guid, AtlasEnumDef.class);
-    }
-
-    public AtlasStructDef getStructDefByName(final String name) throws AtlasServiceException {
-        return getTypeDefByName(name, AtlasStructDef.class);
-    }
-
-    public AtlasStructDef getStructDefByGuid(final String guid) throws AtlasServiceException {
-        return getTypeDefByGuid(guid, AtlasStructDef.class);
-    }
-
-    public AtlasClassificationDef getClassificationDefByName(final String name) throws AtlasServiceException {
-        return getTypeDefByName(name, AtlasClassificationDef.class);
-    }
-
-    public AtlasClassificationDef getClassificationDefByGuid(final String guid) throws AtlasServiceException {
-        return getTypeDefByGuid(guid, AtlasClassificationDef.class);
-    }
-
-    public AtlasEntityDef getEntityDefByName(final String name) throws AtlasServiceException {
-        return getTypeDefByName(name, AtlasEntityDef.class);
-    }
-
-    public AtlasEntityDef getEntityDefByGuid(final String guid) throws AtlasServiceException {
-        return getTypeDefByGuid(guid, AtlasEntityDef.class);
-    }
-
-    @Deprecated
-    public AtlasEnumDef createEnumDef(AtlasEnumDef enumDef) throws AtlasServiceException {
-        AtlasTypesDef atlasTypesDef = new AtlasTypesDef();
-        atlasTypesDef.getEnumDefs().add(enumDef);
-        AtlasTypesDef created = createAtlasTypeDefs(atlasTypesDef);
-        assert created != null;
-        assert created.getEnumDefs() != null;
-        return created.getEnumDefs().get(0);
-    }
-
-    @Deprecated
-    public AtlasStructDef createStructDef(AtlasStructDef structDef) throws AtlasServiceException {
-        AtlasTypesDef atlasTypesDef = new AtlasTypesDef();
-        atlasTypesDef.getStructDefs().add(structDef);
-        AtlasTypesDef created = createAtlasTypeDefs(atlasTypesDef);
-        assert created != null;
-        assert created.getStructDefs() != null;
-        return created.getStructDefs().get(0);
-    }
-
-    @Deprecated
-    public AtlasEntityDef createEntityDef(AtlasEntityDef entityDef) throws AtlasServiceException {
-        AtlasTypesDef atlasTypesDef = new AtlasTypesDef();
-        atlasTypesDef.getEntityDefs().add(entityDef);
-        AtlasTypesDef created = createAtlasTypeDefs(atlasTypesDef);
-        assert created != null;
-        assert created.getEntityDefs() != null;
-        return created.getEntityDefs().get(0);
-    }
-
-    @Deprecated
-    public AtlasClassificationDef createClassificationDef(AtlasClassificationDef classificationDef)
-            throws AtlasServiceException {
-        AtlasTypesDef atlasTypesDef = new AtlasTypesDef();
-        atlasTypesDef.getClassificationDefs().add(classificationDef);
-        AtlasTypesDef created = createAtlasTypeDefs(atlasTypesDef);
-        assert created != null;
-        assert created.getClassificationDefs() != null;
-        return created.getClassificationDefs().get(0);
-    }
-
-
-    /**
-     * Bulk create APIs for all atlas type definitions, only new definitions will be created.
-     * Any changes to the existing definitions will be discarded
-     *
-     * @param typesDef A composite wrapper object with corresponding lists of the type definition
-     * @return A composite wrapper object with lists of type definitions that were successfully
-     * created
-     */
-    public AtlasTypesDef createAtlasTypeDefs(final AtlasTypesDef typesDef) throws AtlasServiceException {
-        return callAPI(CREATE_ALL_TYPE_DEFS, AtlasTypesDef.class, AtlasType.toJson(typesDef));
-    }
-
-    /**
-     * Bulk update API for all types, changes detected in the type definitions would be persisted
-     *
-     * @param typesDef A composite object that captures all type definition changes
-     * @return A composite object with lists of type definitions that were updated
-     */
-    public AtlasTypesDef updateAtlasTypeDefs(final AtlasTypesDef typesDef) throws AtlasServiceException {
-        return callAPI(UPDATE_ALL_TYPE_DEFS, AtlasTypesDef.class, AtlasType.toJson(typesDef));
-    }
-
-    /**
-     * Bulk delete API for all types
-     *
-     * @param typesDef A composite object that captures all types to be deleted
-     */
-    public void deleteAtlasTypeDefs(final AtlasTypesDef typesDef) throws AtlasServiceException {
-        callAPI(DELETE_ALL_TYPE_DEFS, (Class<?>)null, AtlasType.toJson(typesDef));
-    }
-
-    /* Lineage Calls  */
-
-    public AtlasLineageInfo getLineageInfo(final String guid, final LineageDirection direction, final int depth) throws AtlasServiceException {
-        MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl();
-        queryParams.add("direction", direction.toString());
-        queryParams.add("depth", String.valueOf(depth));
-
-        return callAPI(LINEAGE_INFO, AtlasLineageInfo.class, queryParams, guid);
-    }
-
-    /* Entity Calls */
-
-    public AtlasEntityWithExtInfo getEntityByGuid(String guid) throws AtlasServiceException {
-        return callAPI(GET_ENTITY_BY_GUID, AtlasEntityWithExtInfo.class, (MultivaluedMap<String, String>) null, guid);
-    }
-
-    public AtlasEntityWithExtInfo getEntityByAttribute(String type, Map<String, String> attributes) throws AtlasServiceException {
-        MultivaluedMap<String, String> queryParams = attributesToQueryParams(attributes);
-
-        return callAPI(GET_ENTITY_BY_ATTRIBUTE, AtlasEntityWithExtInfo.class, queryParams, type);
-    }
-
-    public EntityMutationResponse updateEntityByAttribute(String type, Map<String, String> attributes, AtlasEntityWithExtInfo entityInfo)
-            throws AtlasServiceException {
-        MultivaluedMap<String, String> queryParams = attributesToQueryParams(attributes);
-
-        return callAPI(UPDATE_ENTITY_BY_ATTRIBUTE, EntityMutationResponse.class, entityInfo, queryParams, type);
-    }
-
-    public EntityMutationResponse deleteEntityByAttribute(String type, Map<String, String> attributes) throws AtlasServiceException {
-        MultivaluedMap<String, String> queryParams = attributesToQueryParams(attributes);
-
-        return callAPI(DELETE_ENTITY_BY_ATTRIBUTE, EntityMutationResponse.class, queryParams, type);
-    }
-
-    public EntityMutationResponse createEntity(AtlasEntityWithExtInfo entity) throws AtlasServiceException {
-        return callAPI(CREATE_ENTITY, EntityMutationResponse.class, entity);
-    }
-
-    public EntityMutationResponse updateEntity(AtlasEntityWithExtInfo entity) throws AtlasServiceException {
-        return callAPI(UPDATE_ENTITY, EntityMutationResponse.class, entity);
-    }
-
-    public EntityMutationResponse deleteEntityByGuid(String guid) throws AtlasServiceException {
-        return callAPI(DELETE_ENTITY_BY_GUID, EntityMutationResponse.class, null, guid);
-    }
-
-    public AtlasEntitiesWithExtInfo getEntitiesByGuids(List<String> guids) throws AtlasServiceException {
-        MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl();
-
-        queryParams.put("guid", guids);
-
-        return callAPI(GET_ENTITIES_BY_GUIDS, AtlasEntitiesWithExtInfo.class, queryParams);
-    }
-
-    public EntityMutationResponse createEntities(AtlasEntitiesWithExtInfo atlasEntities) throws AtlasServiceException {
-        return callAPI(CREATE_ENTITIES, EntityMutationResponse.class, atlasEntities);
-    }
-
-    public EntityMutationResponse updateEntities(AtlasEntitiesWithExtInfo atlasEntities) throws AtlasServiceException {
-        return callAPI(UPDATE_ENTITIES, EntityMutationResponse.class, atlasEntities);
-    }
-
-    public EntityMutationResponse deleteEntitiesByGuids(List<String> guids) throws AtlasServiceException {
-        return callAPI(DELETE_ENTITIES_BY_GUIDS, EntityMutationResponse.class, "guid", guids);
-    }
-
-    public AtlasClassifications getClassifications(String guid) throws AtlasServiceException {
-        return callAPI(updatePathParameters(GET_CLASSIFICATIONS, guid), AtlasClassifications.class, null);
-    }
-
-    public void addClassifications(String guid, List<AtlasClassification> classifications) throws AtlasServiceException {
-        callAPI(updatePathParameters(ADD_CLASSIFICATIONS, guid), (Class<?>)null, classifications, (String[]) null);
-    }
-
-    public void updateClassifications(String guid, List<AtlasClassification> classifications) throws AtlasServiceException {
-        callAPI(updatePathParameters(UPDATE_CLASSIFICATIONS, guid), AtlasClassifications.class, classifications);
-    }
-
-    public void deleteClassifications(String guid, List<AtlasClassification> classifications) throws AtlasServiceException {
-        callAPI(updatePathParameters(GET_CLASSIFICATIONS, guid), AtlasClassifications.class, classifications);
-    }
-
-    public void deleteClassification(String guid, String classificationName) throws AtlasServiceException {
-        callAPI(updatePathParameters(DELETE_CLASSIFICATION, guid, classificationName), null, null);
-    }
-
-
-    private MultivaluedMap<String, String> attributesToQueryParams(Map<String, String> attributes) {
-        return attributesToQueryParams(attributes, null);
-    }
-
-    private MultivaluedMap<String, String> attributesToQueryParams(Map<String, String>            attributes,
-                                                                   MultivaluedMap<String, String> queryParams) {
-        if (queryParams == null) {
-            queryParams = new MultivaluedMapImpl();
-        }
-
-        if (MapUtils.isNotEmpty(attributes)) {
-            for (Map.Entry<String, String> e : attributes.entrySet()) {
-                queryParams.putSingle(PREFIX_ATTR + e.getKey(), e.getValue());
-            }
-        }
-
-        return queryParams;
-    }
-
-    /* Discovery calls */
-    public AtlasSearchResult dslSearch(final String query) throws AtlasServiceException {
-        MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl();
-        queryParams.add(QUERY, query);
-
-        return callAPI(DSL_SEARCH, AtlasSearchResult.class, queryParams);
-    }
-
-    public AtlasSearchResult dslSearchWithParams(final String query, final int limit, final int offset) throws AtlasServiceException {
-        MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl();
-        queryParams.add(QUERY, query);
-        queryParams.add(LIMIT, String.valueOf(limit));
-        queryParams.add(OFFSET, String.valueOf(offset));
-
-        return callAPI(DSL_SEARCH, AtlasSearchResult.class, queryParams);
-    }
-
-    public AtlasSearchResult fullTextSearch(final String query) throws AtlasServiceException {
-        MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl();
-        queryParams.add(QUERY, query);
-
-        return callAPI(FULL_TEXT_SEARCH, AtlasSearchResult.class, queryParams);
-    }
-
-    public AtlasSearchResult fullTextSearchWithParams(final String query, final int limit, final int offset) throws AtlasServiceException {
-        MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl();
-        queryParams.add(QUERY, query);
-        queryParams.add(LIMIT, String.valueOf(limit));
-        queryParams.add(OFFSET, String.valueOf(offset));
-
-        return callAPI(FULL_TEXT_SEARCH, AtlasSearchResult.class, queryParams);
-    }
-
-    public AtlasSearchResult basicSearch(final String typeName, final String classification, final String query,
-                                         final boolean excludeDeletedEntities, final int limit, final int offset) throws AtlasServiceException {
-        MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl();
-        queryParams.add("typeName", typeName);
-        queryParams.add("classification", classification);
-        queryParams.add(QUERY, query);
-        queryParams.add("excludeDeletedEntities", String.valueOf(excludeDeletedEntities));
-        queryParams.add(LIMIT, String.valueOf(limit));
-        queryParams.add(OFFSET, String.valueOf(offset));
-
-        return callAPI(BASIC_SEARCH, AtlasSearchResult.class, queryParams);
-    }
-
-    public AtlasSearchResult facetedSearch(SearchParameters searchParameters) throws AtlasServiceException {
-        return callAPI(FACETED_SEARCH, AtlasSearchResult.class, searchParameters);
-    }
-
-    private <T> T getTypeDefByName(final String name, Class<T> typeDefClass) throws AtlasServiceException {
-        String atlasPath = getAtlasPath(typeDefClass);
-        APIInfo apiInfo = new APIInfo(String.format(GET_BY_NAME_TEMPLATE, atlasPath, name), HttpMethod.GET, Response.Status.OK);
-        return callAPI(apiInfo, typeDefClass, null);
-    }
-
-    private <T> T getTypeDefByGuid(final String guid, Class<T> typeDefClass) throws AtlasServiceException {
-        String atlasPath = getAtlasPath(typeDefClass);
-        APIInfo apiInfo = new APIInfo(String.format(GET_BY_GUID_TEMPLATE, atlasPath, guid), HttpMethod.GET, Response.Status.OK);
-        return callAPI(apiInfo, typeDefClass, null);
-    }
-
-    private <T> String getAtlasPath(Class<T> typeDefClass) {
-        if (AtlasEnumDef.class.isAssignableFrom(typeDefClass)) {
-            return "enumdef";
-        } else if (AtlasEntityDef.class.isAssignableFrom(typeDefClass)) {
-            return "entitydef";
-        } else if (AtlasClassificationDef.class.isAssignableFrom(typeDefClass)) {
-            return "classificationdef";
-        } else if (AtlasStructDef.class.isAssignableFrom(typeDefClass)) {
-            return "structdef";
-        }
-        // Code should never reach this point
-        return "";
-    }
-}

http://git-wip-us.apache.org/repos/asf/atlas/blob/187730dd/client/src/main/java/org/apache/atlas/AtlasServerEnsemble.java
----------------------------------------------------------------------
diff --git a/client/src/main/java/org/apache/atlas/AtlasServerEnsemble.java b/client/src/main/java/org/apache/atlas/AtlasServerEnsemble.java
deleted file mode 100644
index 01e4e32..0000000
--- a/client/src/main/java/org/apache/atlas/AtlasServerEnsemble.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.atlas;
-
-import com.google.common.base.Preconditions;
-import org.apache.commons.lang.StringUtils;
-import java.util.Arrays;
-
-import java.util.List;
-
-public class AtlasServerEnsemble {
-
-    private final String[] urls;
-
-    public AtlasServerEnsemble(String[] baseUrls) {
-        Preconditions.checkArgument((baseUrls!=null && baseUrls.length>0),
-                "List of baseURLs cannot be null or empty.");
-        for (String baseUrl : baseUrls) {
-            Preconditions.checkArgument(StringUtils.isNotEmpty(baseUrl),
-                    "Base URL cannot be null or empty.");
-        }
-        urls = baseUrls;
-    }
-
-    public boolean hasSingleInstance() {
-        return urls.length==1;
-    }
-
-    public String firstURL() {
-        return urls[0];
-    }
-
-    public List<String> getMembers() {
-        return Arrays.asList(urls);
-    }
-}

http://git-wip-us.apache.org/repos/asf/atlas/blob/187730dd/client/src/main/java/org/apache/atlas/AtlasServiceException.java
----------------------------------------------------------------------
diff --git a/client/src/main/java/org/apache/atlas/AtlasServiceException.java b/client/src/main/java/org/apache/atlas/AtlasServiceException.java
deleted file mode 100755
index b128f98..0000000
--- a/client/src/main/java/org/apache/atlas/AtlasServiceException.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.atlas;
-
-import com.sun.jersey.api.client.ClientResponse;
-import org.codehaus.jettison.json.JSONException;
-import org.codehaus.jettison.json.JSONObject;
-
-import javax.ws.rs.WebApplicationException;
-
-public class AtlasServiceException extends Exception {
-    private ClientResponse.Status status;
-
-    public AtlasServiceException(AtlasClient.API api, Exception e) {
-        super("Metadata service API " + api + " failed", e);
-    }
-
-    public AtlasServiceException(AtlasBaseClient.APIInfo api, Exception e) {
-        super("Metadata service API " + api.getMethod() + " : " + api.getPath() + " failed", e);
-    }
-
-    public AtlasServiceException(AtlasClient.API api, WebApplicationException e) throws JSONException {
-        this(api, ClientResponse.Status.fromStatusCode(e.getResponse().getStatus()),
-                ((JSONObject) e.getResponse().getEntity()).getString("stackTrace"));
-    }
-
-    public AtlasServiceException(AtlasBaseClient.APIInfo api, WebApplicationException e) throws JSONException {
-        this(api, ClientResponse.Status.fromStatusCode(e.getResponse().getStatus()),
-                ((JSONObject) e.getResponse().getEntity()).getString("stackTrace"));
-    }
-
-    private AtlasServiceException(AtlasClient.API api, ClientResponse.Status status, String response) {
-        super("Metadata service API " + api + " failed with status " + (status != null ? status.getStatusCode() : -1)
-                + " (" + status + ") Response Body (" + response + ")");
-        this.status = status;
-    }
-
-    private AtlasServiceException(AtlasBaseClient.APIInfo api, ClientResponse.Status status, String response) {
-        super("Metadata service API " + api + " failed with status " + (status != null ? status.getStatusCode() : -1)
-                + " (" + status + ") Response Body (" + response + ")");
-        this.status = status;
-    }
-
-    public AtlasServiceException(AtlasClient.API api, ClientResponse response) {
-        this(api, ClientResponse.Status.fromStatusCode(response.getStatus()), response.getEntity(String.class));
-    }
-
-    public AtlasServiceException(AtlasBaseClient.APIInfo api, ClientResponse response) {
-        this(api, ClientResponse.Status.fromStatusCode(response.getStatus()), response.getEntity(String.class));
-    }
-
-    public AtlasServiceException(Exception e) {
-        super(e);
-    }
-
-    public ClientResponse.Status getStatus() {
-        return status;
-    }
-}

http://git-wip-us.apache.org/repos/asf/atlas/blob/187730dd/client/src/main/java/org/apache/atlas/CreateUpdateEntitiesResult.java
----------------------------------------------------------------------
diff --git a/client/src/main/java/org/apache/atlas/CreateUpdateEntitiesResult.java b/client/src/main/java/org/apache/atlas/CreateUpdateEntitiesResult.java
deleted file mode 100644
index 5e6d6db..0000000
--- a/client/src/main/java/org/apache/atlas/CreateUpdateEntitiesResult.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.atlas;
-
-import org.apache.atlas.model.instance.GuidMapping;
-import org.apache.atlas.model.legacy.EntityResult;
-import org.apache.atlas.type.AtlasType;
-
-import java.util.Collections;
-import java.util.List;
-
-/**
- * Result from creating or updating entities.
- */
-@Deprecated
-public class CreateUpdateEntitiesResult {
-
-    /**
-     * Guid mapping for the entities that were created/updated
-     */
-    private GuidMapping guidMapping;
-
-    /**
-     * Entity result
-     */
-    private EntityResult entityResult;
-
-    /**
-     * Gets the guid mapping
-     */
-    public GuidMapping getGuidMapping() {
-        return guidMapping;
-    }
-
-    /**
-     * Sets the guid mapping
-     */
-    public void setGuidMapping(GuidMapping guidMapping) {
-        this.guidMapping = guidMapping;
-    }
-
-    /**
-     * Gets the entity result
-     */
-    public EntityResult getEntityResult() {
-        return entityResult;
-    }
-
-    /**
-     * Sets the entity result
-     */
-    public void setEntityResult(EntityResult entityResult) {
-        this.entityResult = entityResult;
-    }
-
-    /**
-     * Deserializes the given json into an instance of
-     * CreateUpdateEntitiesResult.
-     *
-     * @param json
-     *            the (unmodified) json that comes back from Atlas.
-     * @return
-     * @throws AtlasServiceException
-     */
-    public static CreateUpdateEntitiesResult fromJson(String json) throws AtlasServiceException {
-
-        GuidMapping guidMapping = AtlasType.fromJson(json, GuidMapping.class);
-        EntityResult entityResult = EntityResult.fromString(json);
-        CreateUpdateEntitiesResult result = new CreateUpdateEntitiesResult();
-        result.setEntityResult(entityResult);
-        result.setGuidMapping(guidMapping);
-        return result;
-    }
-
-    /**
-     * Convenience method to get the guids of the created entities from
-     * the EntityResult.
-     */
-    public List<String> getCreatedEntities() {
-        if(entityResult == null) {
-            return Collections.emptyList();
-        }
-        return getEntityResult().getCreatedEntities();
-    }
-
-    /**
-     * Convenience method to get the guids of the updated entities from
-     * the EntityResult.
-     */
-    public List<String> getUpdatedEntities() {
-        if(entityResult == null) {
-            return Collections.emptyList();
-        }
-        return getEntityResult().getUpdateEntities();
-    }
-
-
-    /**
-     * Convenience method to get the guids of the deleted entities
-     * from the EntityResult.
-     */
-    public List<String> getDeletedEntities() {
-        if (entityResult == null) {
-            return Collections.emptyList();
-        }
-        return getEntityResult().getDeletedEntities();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/atlas/blob/187730dd/client/src/main/java/org/apache/atlas/EntityAuditEvent.java
----------------------------------------------------------------------
diff --git a/client/src/main/java/org/apache/atlas/EntityAuditEvent.java b/client/src/main/java/org/apache/atlas/EntityAuditEvent.java
deleted file mode 100644
index 904674d..0000000
--- a/client/src/main/java/org/apache/atlas/EntityAuditEvent.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * <p/>
- * http://www.apache.org/licenses/LICENSE-2.0
- * <p/>
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.atlas;
-
-import org.apache.atlas.typesystem.IReferenceableInstance;
-import org.apache.atlas.typesystem.json.InstanceSerialization;
-
-import java.util.Objects;
-
-/**
- * Structure of entity audit event
- */
-public class EntityAuditEvent {
-    public enum EntityAuditAction {
-        ENTITY_CREATE, ENTITY_UPDATE, ENTITY_DELETE, TAG_ADD, TAG_DELETE, TAG_UPDATE,
-        ENTITY_IMPORT_CREATE, ENTITY_IMPORT_UPDATE, ENTITY_IMPORT_DELETE,
-    }
-
-    private String entityId;
-    private long timestamp;
-    private String user;
-    private EntityAuditAction action;
-    private String details;
-    private String eventKey;
-    private IReferenceableInstance entityDefinition;
-
-    public EntityAuditEvent() {
-    }
-
-    public EntityAuditEvent(String entityId, Long ts, String user, EntityAuditAction action, String details,
-                            IReferenceableInstance entityDefinition) throws AtlasException {
-        this.entityId = entityId;
-        this.timestamp = ts;
-        this.user = user;
-        this.action = action;
-        this.details = details;
-        this.entityDefinition = entityDefinition;
-    }
-
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) return true;
-        if (o == null || getClass() != o.getClass()) return false;
-        EntityAuditEvent that = (EntityAuditEvent) o;
-        return timestamp == that.timestamp &&
-                Objects.equals(entityId, that.entityId) &&
-                Objects.equals(user, that.user) &&
-                action == that.action &&
-                Objects.equals(details, that.details) &&
-                Objects.equals(eventKey, that.eventKey) &&
-                Objects.equals(entityDefinition, that.entityDefinition);
-    }
-
-    @Override
-    public int hashCode() {
-        return Objects.hash(entityId, timestamp, user, action, details, eventKey, entityDefinition);
-    }
-
-    @Override
-    public String toString() {
-        return SerDe.GSON.toJson(this);
-    }
-
-    public static EntityAuditEvent fromString(String eventString) {
-        return SerDe.GSON.fromJson(eventString, EntityAuditEvent.class);
-    }
-
-    public String getEntityId() {
-        return entityId;
-    }
-
-    public long getTimestamp() {
-        return timestamp;
-    }
-
-    public String getUser() {
-        return user;
-    }
-
-    public EntityAuditAction getAction() {
-        return action;
-    }
-
-    public String getDetails() {
-        return details;
-    }
-
-    public void setEntityId(String entityId) {
-        this.entityId = entityId;
-    }
-
-    public void setTimestamp(long timestamp) {
-        this.timestamp = timestamp;
-    }
-
-    public void setUser(String user) {
-        this.user = user;
-    }
-
-    public void setAction(EntityAuditAction action) {
-        this.action = action;
-    }
-
-    public void setDetails(String details) {
-        this.details = details;
-    }
-
-    public String getEventKey() {
-        return eventKey;
-    }
-
-    public void setEventKey(String eventKey) {
-        this.eventKey = eventKey;
-    }
-
-    public IReferenceableInstance getEntityDefinition() {
-        return entityDefinition;
-    }
-
-    public String getEntityDefinitionString() {
-        if (entityDefinition != null) {
-            return InstanceSerialization.toJson(entityDefinition, true);
-        }
-        return null;
-    }
-
-    public void setEntityDefinition(String entityDefinition) {
-        this.entityDefinition = InstanceSerialization.fromJsonReferenceable(entityDefinition, true);
-    }
-}

http://git-wip-us.apache.org/repos/asf/atlas/blob/187730dd/client/src/main/java/org/apache/atlas/ResourceCreator.java
----------------------------------------------------------------------
diff --git a/client/src/main/java/org/apache/atlas/ResourceCreator.java b/client/src/main/java/org/apache/atlas/ResourceCreator.java
deleted file mode 100644
index 2017065..0000000
--- a/client/src/main/java/org/apache/atlas/ResourceCreator.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.atlas;
-
-import com.sun.jersey.api.client.WebResource;
-
-/**
- * An interface to capture the closure of how a WebResource is created.
- */
-@Deprecated
-public interface ResourceCreator {
-    WebResource createResource();
-}

http://git-wip-us.apache.org/repos/asf/atlas/blob/187730dd/client/src/main/java/org/apache/atlas/SerDe.java
----------------------------------------------------------------------
diff --git a/client/src/main/java/org/apache/atlas/SerDe.java b/client/src/main/java/org/apache/atlas/SerDe.java
deleted file mode 100644
index cdc3509..0000000
--- a/client/src/main/java/org/apache/atlas/SerDe.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * <p/>
- * http://www.apache.org/licenses/LICENSE-2.0
- * <p/>
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.atlas;
-
-import com.google.gson.Gson;
-import com.google.gson.GsonBuilder;
-import com.google.gson.JsonDeserializationContext;
-import com.google.gson.JsonDeserializer;
-import com.google.gson.JsonElement;
-import com.google.gson.JsonParser;
-import com.google.gson.JsonSerializationContext;
-import com.google.gson.JsonSerializer;
-import org.apache.atlas.typesystem.IReferenceableInstance;
-import org.apache.atlas.typesystem.IStruct;
-import org.apache.atlas.typesystem.Referenceable;
-import org.apache.atlas.typesystem.Struct;
-import org.apache.atlas.typesystem.json.InstanceSerialization;
-
-import java.lang.reflect.Type;
-
-@Deprecated
-public class SerDe {
-    public static final Gson GSON = new GsonBuilder().
-             registerTypeAdapter(IStruct.class, new StructDeserializer()).
-             registerTypeAdapter(IReferenceableInstance.class, new ReferenceableSerializerDeserializer()).
-             registerTypeAdapter(Referenceable.class, new ReferenceableSerializerDeserializer()).
-             create();
-
-    /**
-     * Serde for Struct used by AbstractNotificationConsumer.GSON.
-     */
-    public static final class StructDeserializer implements JsonDeserializer<IStruct>, JsonSerializer<IStruct> {
-        @Override
-        public IStruct deserialize(final JsonElement json, final Type type,
-                                   final JsonDeserializationContext context) {
-            return context.deserialize(json, Struct.class);
-        }
-
-        @Override
-        public JsonElement serialize(IStruct src, Type typeOfSrc, JsonSerializationContext context) {
-            String instanceJson = InstanceSerialization.toJson(src, true);
-            return new JsonParser().parse(instanceJson).getAsJsonObject();
-        }
-    }
-
-    /**
-     * Serde for Referenceable used by AbstractNotificationConsumer.GSON.
-     */
-    public static final class ReferenceableSerializerDeserializer implements JsonDeserializer<IStruct>,
-            JsonSerializer<IReferenceableInstance> {
-        @Override
-        public IReferenceableInstance deserialize(final JsonElement json, final Type type,
-                                                  final JsonDeserializationContext context) {
-
-            return InstanceSerialization.fromJsonReferenceable(json.toString(), true);
-        }
-
-        @Override
-        public JsonElement serialize(IReferenceableInstance src, Type typeOfSrc, JsonSerializationContext context) {
-            String instanceJson = InstanceSerialization.toJson(src, true);
-            return new JsonParser().parse(instanceJson).getAsJsonObject();
-        }
-    }
-}