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/03/01 19:44:39 UTC
[2/2] incubator-atlas git commit: ATLAS-1616: consolidated all V2
clients
ATLAS-1616: consolidated all V2 clients
Signed-off-by: Madhan Neethiraj <ma...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/incubator-atlas/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-atlas/commit/46b1b36e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-atlas/tree/46b1b36e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-atlas/diff/46b1b36e
Branch: refs/heads/master
Commit: 46b1b36e97b7d405d023b7594e679b65b0226c8a
Parents: 84f6923
Author: apoorvnaik <an...@hortonworks.com>
Authored: Wed Mar 1 10:17:14 2017 -0800
Committer: Madhan Neethiraj <ma...@apache.org>
Committed: Wed Mar 1 11:12:40 2017 -0800
----------------------------------------------------------------------
.../java/org/apache/atlas/AtlasBaseClient.java | 28 +-
.../main/java/org/apache/atlas/AtlasClient.java | 4 +-
.../java/org/apache/atlas/AtlasClientV2.java | 403 +++++++++++++++++++
.../apache/atlas/AtlasDiscoveryClientV2.java | 96 -----
.../org/apache/atlas/AtlasEntitiesClientV2.java | 188 ---------
.../org/apache/atlas/AtlasLineageClientV2.java | 65 ---
.../org/apache/atlas/AtlasTypedefClientV2.java | 218 ----------
.../org/apache/atlas/examples/QuickStartV2.java | 47 +--
.../notification/NotificationHookConsumer.java | 8 +-
.../apache/atlas/examples/QuickStartV2IT.java | 14 +-
.../atlas/web/resources/BaseResourceIT.java | 85 ++--
.../EntityDiscoveryJerseyResourceIT.java | 36 +-
.../web/resources/EntityV2JerseyResourceIT.java | 50 +--
.../web/resources/TypedefsJerseyResourceIT.java | 40 +-
14 files changed, 545 insertions(+), 737 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/46b1b36e/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 6a34f83..38bf233 100644
--- a/client/src/main/java/org/apache/atlas/AtlasBaseClient.java
+++ b/client/src/main/java/org/apache/atlas/AtlasBaseClient.java
@@ -6,9 +6,9 @@
* 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.
@@ -80,7 +80,8 @@ public abstract class AtlasBaseClient {
private AtlasClientContext atlasClientContext;
private boolean retryEnabled = false;
- protected AtlasBaseClient() {}
+ protected AtlasBaseClient() {
+ }
protected AtlasBaseClient(String[] baseUrl, String[] basicAuthUserNamePassword) {
if (basicAuthUserNamePassword != null) {
@@ -158,7 +159,8 @@ public abstract class AtlasBaseClient {
DefaultClientConfig config = new DefaultClientConfig();
// Enable POJO mapping feature
config.getFeatures().put(JSONConfiguration.FEATURE_POJO_MAPPING, Boolean.TRUE);
- int readTimeout = configuration.getInt("atlas.client.readTimeoutMSecs", 60000);;
+ int readTimeout = configuration.getInt("atlas.client.readTimeoutMSecs", 60000);
+ ;
int connectTimeout = configuration.getInt("atlas.client.connectTimeoutMSecs", 60000);
if (configuration.getBoolean(TLS_ENABLED, false)) {
// create an SSL properties configuration if one doesn't exist. SSLFactory expects a file, so forced
@@ -237,10 +239,10 @@ public abstract class AtlasBaseClient {
activeServerAddress = serverInstance;
break;
} else {
- LOG.info("attempt #{}: Service {} - is not active. status={}", (i+1), serverInstance, adminStatus);
+ LOG.info("attempt #{}: Service {} - is not active. status={}", (i + 1), serverInstance, adminStatus);
}
} catch (Exception e) {
- LOG.error("attempt #{}: Service {} - could not get status", (i+1), serverInstance, e);
+ LOG.error("attempt #{}: Service {} - could not get status", (i + 1), serverInstance, e);
}
sleepBetweenRetries();
}
@@ -280,7 +282,7 @@ public abstract class AtlasBaseClient {
protected <T> T callAPIWithResource(APIInfo api, WebResource resource, Object requestObject, Class<T> responseType) throws AtlasServiceException {
GenericType<T> genericType = null;
- if(responseType != null) {
+ if (responseType != null) {
genericType = new GenericType<>(responseType);
}
return callAPIWithResource(api, resource, requestObject, genericType);
@@ -381,7 +383,7 @@ public abstract class AtlasBaseClient {
* @return Return metrics of the service instance the client is pointing to
* @throws AtlasServiceException
*/
- public AtlasMetrics getAtlasMetrics () throws AtlasServiceException {
+ public AtlasMetrics getAtlasMetrics() throws AtlasServiceException {
return callAPI(METRICS, AtlasMetrics.class, null);
}
@@ -423,18 +425,18 @@ public abstract class AtlasBaseClient {
throw new AtlasServiceException(api, new RuntimeException("Could not get response after retries."));
}
- public <T> T callAPI(APIInfo api, Object requestObject, Class<T> responseType, String... params)
+ public <T> T callAPI(APIInfo api, Class<T> responseType, Object requestObject, String... params)
throws AtlasServiceException {
return callAPIWithResource(api, getResource(api, params), requestObject, responseType);
}
- public <T> T callAPI(APIInfo api, Object requestObject, GenericType<T> responseType, String... params)
+ public <T> T callAPI(APIInfo api, GenericType<T> responseType, Object requestObject, String... params)
throws AtlasServiceException {
return callAPIWithResource(api, getResource(api, params), requestObject, responseType);
}
- public <T> T callAPI(APIInfo api, Object requestBody, Class<T> responseType,
+ public <T> T callAPI(APIInfo api, Class<T> responseType, Object requestBody,
MultivaluedMap<String, String> queryParams, String... params) throws AtlasServiceException {
WebResource resource = getResource(api, queryParams, params);
return callAPIWithResource(api, resource, requestBody, responseType);
@@ -483,7 +485,7 @@ public abstract class AtlasBaseClient {
return resource;
}
- protected WebResource getResource(APIInfo api, MultivaluedMap<String, String> queryParams, String ... pathParams) {
+ 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);
@@ -523,7 +525,7 @@ public abstract class AtlasBaseClient {
return resource;
}
- protected APIInfo formatPathForPathParams(APIInfo apiInfo, String ... params) {
+ protected APIInfo updatePathParameters(APIInfo apiInfo, String... params) {
return new APIInfo(String.format(apiInfo.getPath(), params), apiInfo.getMethod(), apiInfo.getExpectedStatus());
}
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/46b1b36e/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 d0e6ed4..1c6b8d1 100755
--- a/client/src/main/java/org/apache/atlas/AtlasClient.java
+++ b/client/src/main/java/org/apache/atlas/AtlasClient.java
@@ -997,12 +997,12 @@ public class AtlasClient extends AtlasBaseClient {
@VisibleForTesting
public JSONObject callAPIWithBody(API api, Object requestObject) throws AtlasServiceException {
- return callAPI(toAPIInfo(api), requestObject, JSONObject.class, (String[]) null);
+ 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), requestObject, JSONObject.class, params);
+ return callAPI(toAPIInfo(api), JSONObject.class, requestObject, params);
}
@VisibleForTesting
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/46b1b36e/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
new file mode 100644
index 0000000..af7dbbf
--- /dev/null
+++ b/client/src/main/java/org/apache/atlas/AtlasClientV2.java
@@ -0,0 +1,403 @@
+/**
+ * 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.instance.AtlasClassification;
+import org.apache.atlas.model.instance.AtlasClassification.AtlasClassifications;
+import org.apache.atlas.model.instance.AtlasEntity;
+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.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 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_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.OK);
+
+ // 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 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);
+
+
+ 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);
+ }
+
+ protected AtlasClientV2() {
+ super();
+ }
+
+ @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 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, AtlasTypesDef.class, 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, AtlasEntity entity) throws AtlasServiceException {
+ MultivaluedMap<String, String> queryParams = attributesToQueryParams(attributes);
+
+ return callAPI(UPDATE_ENTITY_BY_ATTRIBUTE, EntityMutationResponse.class, entity, 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);
+ }
+
+ 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 (typeDefClass.isAssignableFrom(AtlasEnumDef.class)) {
+ return "enumdef";
+ } else if (typeDefClass.isAssignableFrom(AtlasEntityDef.class)) {
+ return "entitydef";
+ } else if (typeDefClass.isAssignableFrom(AtlasClassificationDef.class)) {
+ return "classificationdef";
+ } else if (typeDefClass.isAssignableFrom(AtlasStructDef.class)) {
+ return "structdef";
+ }
+ // Code should never reach this point
+ return "";
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/46b1b36e/client/src/main/java/org/apache/atlas/AtlasDiscoveryClientV2.java
----------------------------------------------------------------------
diff --git a/client/src/main/java/org/apache/atlas/AtlasDiscoveryClientV2.java b/client/src/main/java/org/apache/atlas/AtlasDiscoveryClientV2.java
deleted file mode 100644
index f653111..0000000
--- a/client/src/main/java/org/apache/atlas/AtlasDiscoveryClientV2.java
+++ /dev/null
@@ -1,96 +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.common.annotations.VisibleForTesting;
-import com.sun.jersey.api.client.WebResource;
-import com.sun.jersey.core.util.MultivaluedMapImpl;
-import org.apache.atlas.model.discovery.AtlasSearchResult;
-import org.apache.commons.configuration.Configuration;
-import org.apache.hadoop.security.UserGroupInformation;
-
-import javax.ws.rs.HttpMethod;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-
-import static org.apache.atlas.AtlasClient.LIMIT;
-import static org.apache.atlas.AtlasClient.OFFSET;
-import static org.apache.atlas.AtlasClient.QUERY;
-
-public class AtlasDiscoveryClientV2 extends AtlasBaseClient {
-
- 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 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);
-
- public AtlasDiscoveryClientV2(String[] baseUrl, String[] basicAuthUserNamePassword) {
- super(baseUrl, basicAuthUserNamePassword);
- }
-
- public AtlasDiscoveryClientV2(String... baseUrls) throws AtlasException {
- super(baseUrls);
- }
-
- public AtlasDiscoveryClientV2(UserGroupInformation ugi, String doAsUser, String... baseUrls) {
- super(ugi, doAsUser, baseUrls);
- }
-
- protected AtlasDiscoveryClientV2() {
- super();
- }
-
- @VisibleForTesting
- AtlasDiscoveryClientV2(WebResource service, Configuration configuration) {
- super(service, configuration);
- }
-
- 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);
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/46b1b36e/client/src/main/java/org/apache/atlas/AtlasEntitiesClientV2.java
----------------------------------------------------------------------
diff --git a/client/src/main/java/org/apache/atlas/AtlasEntitiesClientV2.java b/client/src/main/java/org/apache/atlas/AtlasEntitiesClientV2.java
deleted file mode 100644
index b16bb58..0000000
--- a/client/src/main/java/org/apache/atlas/AtlasEntitiesClientV2.java
+++ /dev/null
@@ -1,188 +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 java.util.List;
-import java.util.Map;
-
-import javax.ws.rs.HttpMethod;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-
-import org.apache.atlas.model.instance.AtlasClassification;
-import org.apache.atlas.model.instance.AtlasClassification.AtlasClassifications;
-import org.apache.atlas.model.instance.AtlasEntity;
-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.commons.collections.MapUtils;
-import org.apache.commons.configuration.Configuration;
-import org.apache.hadoop.security.UserGroupInformation;
-
-import com.google.common.annotations.VisibleForTesting;
-import com.sun.jersey.api.client.WebResource;
-import com.sun.jersey.core.util.MultivaluedMapImpl;
-
-public class AtlasEntitiesClientV2 extends AtlasBaseClient {
- public static final String ENTITY_API = BASE_URI + "v2/entity/";
-
- private static final APIInfo GET_ENTITY_BY_GUID = new APIInfo(ENTITY_API + "guid/%s", HttpMethod.GET, Response.Status.OK);
- private static final APIInfo GET_ENTITY_BY_ATTRIBUTE = new APIInfo(ENTITY_API + "uniqueAttribute/type/%s", 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/%s", HttpMethod.PUT, Response.Status.OK);
- private static final APIInfo DELETE_ENTITY_BY_GUID = new APIInfo(ENTITY_API + "guid/%s", HttpMethod.DELETE, Response.Status.OK);
- public static final APIInfo DELETE_ENTITY_BY_ATTRIBUTE = new APIInfo(ENTITY_API + "uniqueAttribute/type/%s", HttpMethod.DELETE, Response.Status.OK);
-
- private static final APIInfo GET_ENTITIES_BY_GUIDS = new APIInfo(ENTITY_API + "bulk/", HttpMethod.GET, Response.Status.OK);
- private static final APIInfo CREATE_ENTITIES = new APIInfo(ENTITY_API + "bulk/", HttpMethod.POST, Response.Status.OK);
- private static final APIInfo UPDATE_ENTITIES = CREATE_ENTITIES;
- private static final APIInfo DELETE_ENTITIES_BY_GUIDS = new APIInfo(ENTITY_API + "bulk/", 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:";
-
-
- public AtlasEntitiesClientV2(String[] baseUrl, String[] basicAuthUserNamePassword) {
- super(baseUrl, basicAuthUserNamePassword);
- }
-
- public AtlasEntitiesClientV2(String... baseUrls) throws AtlasException {
- super(baseUrls);
- }
-
- public AtlasEntitiesClientV2(UserGroupInformation ugi, String doAsUser, String... baseUrls) {
- super(ugi, doAsUser, baseUrls);
- }
-
- protected AtlasEntitiesClientV2() {
- super();
- }
-
- @VisibleForTesting
- AtlasEntitiesClientV2(WebResource service, Configuration configuration) {
- super(service, configuration);
- }
-
- public AtlasEntityWithExtInfo getEntityByGuid(String guid) throws AtlasServiceException {
- return callAPI(formatPathForPathParams(GET_ENTITY_BY_GUID, guid), AtlasEntityWithExtInfo.class, null);
- }
-
- public AtlasEntityWithExtInfo getEntityByAttribute(String type, Map<String, String> attributes) throws AtlasServiceException {
- MultivaluedMap<String, String> queryParams = attributesToQueryParams(attributes);
-
- return callAPI(formatPathForPathParams(GET_ENTITY_BY_ATTRIBUTE, type), AtlasEntityWithExtInfo.class, queryParams);
- }
-
- public EntityMutationResponse updateEntityByAttribute(String type, Map<String, String> attributes, AtlasEntity entity) throws AtlasServiceException {
- MultivaluedMap<String, String> queryParams = attributesToQueryParams(attributes);
-
- return callAPI(formatPathForPathParams(UPDATE_ENTITY_BY_ATTRIBUTE, type), entity, EntityMutationResponse.class, queryParams);
- }
-
- public EntityMutationResponse deleteEntityByAttribute(String type, Map<String, String> attributes) throws AtlasServiceException {
- MultivaluedMap<String, String> queryParams = attributesToQueryParams(attributes);
-
- return callAPI(formatPathForPathParams(DELETE_ENTITY_BY_ATTRIBUTE, type), null, EntityMutationResponse.class, queryParams);
- }
-
- public EntityMutationResponse createEntity(AtlasEntityWithExtInfo entity) throws AtlasServiceException {
- return callAPI(CREATE_ENTITY, entity, EntityMutationResponse.class);
- }
-
- public EntityMutationResponse updateEntity(AtlasEntityWithExtInfo entity) throws AtlasServiceException {
- return callAPI(UPDATE_ENTITY, entity, EntityMutationResponse.class);
- }
-
- public EntityMutationResponse deleteEntityByGuid(String guid) throws AtlasServiceException {
- return callAPI(formatPathForPathParams(DELETE_ENTITY_BY_GUID, guid), EntityMutationResponse.class, null);
- }
-
-
- 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, atlasEntities, EntityMutationResponse.class);
- }
-
- public EntityMutationResponse updateEntities(AtlasEntitiesWithExtInfo atlasEntities) throws AtlasServiceException {
- return callAPI(UPDATE_ENTITIES, atlasEntities, EntityMutationResponse.class);
- }
-
- 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(formatPathForPathParams(GET_CLASSIFICATIONS, guid), null, AtlasClassifications.class);
- }
-
- public void addClassifications(String guid, List<AtlasClassification> classifications) throws AtlasServiceException {
- callAPI(formatPathForPathParams(ADD_CLASSIFICATIONS, guid), classifications, (Class<?>)null, (String[]) null);
- }
-
- public void updateClassifications(String guid, List<AtlasClassification> classifications) throws AtlasServiceException {
- callAPI(formatPathForPathParams(UPDATE_CLASSIFICATIONS, guid), classifications, AtlasClassifications.class);
- }
-
- public void deleteClassifications(String guid, List<AtlasClassification> classifications) throws AtlasServiceException {
- callAPI(formatPathForPathParams(GET_CLASSIFICATIONS, guid), classifications, AtlasClassifications.class);
- }
-
- public void deleteClassification(String guid, String classificationName) throws AtlasServiceException {
- callAPI(formatPathForPathParams(DELETE_CLASSIFICATION, guid, classificationName), null, null);
- }
-
- // Entities operations
- public List<AtlasEntity> getEntities(List<String> entityIds) {
- // TODO Map the query params correctly
- return 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;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/46b1b36e/client/src/main/java/org/apache/atlas/AtlasLineageClientV2.java
----------------------------------------------------------------------
diff --git a/client/src/main/java/org/apache/atlas/AtlasLineageClientV2.java b/client/src/main/java/org/apache/atlas/AtlasLineageClientV2.java
deleted file mode 100644
index ac870d4..0000000
--- a/client/src/main/java/org/apache/atlas/AtlasLineageClientV2.java
+++ /dev/null
@@ -1,65 +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.common.annotations.VisibleForTesting;
-import com.sun.jersey.api.client.WebResource;
-import com.sun.jersey.core.util.MultivaluedMapImpl;
-import org.apache.atlas.model.lineage.AtlasLineageInfo;
-import org.apache.atlas.model.lineage.AtlasLineageInfo.LineageDirection;
-import org.apache.commons.configuration.Configuration;
-import org.apache.hadoop.security.UserGroupInformation;
-
-import javax.ws.rs.HttpMethod;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-
-public class AtlasLineageClientV2 extends AtlasBaseClient {
-
- private static final String LINEAGE_URI = BASE_URI + "v2/lineage/%s/";
- private static final APIInfo LINEAGE_INFO = new APIInfo(LINEAGE_URI, HttpMethod.GET, Response.Status.OK);
-
- public AtlasLineageClientV2(String[] baseUrl, String[] basicAuthUserNamePassword) {
- super(baseUrl, basicAuthUserNamePassword);
- }
-
- public AtlasLineageClientV2(String... baseUrls) throws AtlasException {
- super(baseUrls);
- }
-
- public AtlasLineageClientV2(UserGroupInformation ugi, String doAsUser, String... baseUrls) {
- super(ugi, doAsUser, baseUrls);
- }
-
- protected AtlasLineageClientV2() {
- super();
- }
-
- @VisibleForTesting
- AtlasLineageClientV2(WebResource service, Configuration configuration) {
- super(service, configuration);
- }
-
- 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(formatPathForPathParams(LINEAGE_INFO, guid), AtlasLineageInfo.class, queryParams);
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/46b1b36e/client/src/main/java/org/apache/atlas/AtlasTypedefClientV2.java
----------------------------------------------------------------------
diff --git a/client/src/main/java/org/apache/atlas/AtlasTypedefClientV2.java b/client/src/main/java/org/apache/atlas/AtlasTypedefClientV2.java
deleted file mode 100644
index a48b6fb..0000000
--- a/client/src/main/java/org/apache/atlas/AtlasTypedefClientV2.java
+++ /dev/null
@@ -1,218 +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 org.apache.atlas.model.SearchFilter;
-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.configuration.Configuration;
-import org.apache.hadoop.security.UserGroupInformation;
-
-import javax.ws.rs.HttpMethod;
-import javax.ws.rs.core.Response;
-
-public class AtlasTypedefClientV2 extends AtlasBaseClient {
-
- private static final String BASE_URI = "api/atlas/v2/types/";
- private static final String ENUMDEF_URI = BASE_URI + "enumdef/";
- private static final String STRUCTDEF_URI = BASE_URI + "structdef/";
- private static final String ENTITYDEF_URI = BASE_URI + "entitydef/";
- private static final String CLASSIFICATIONDEF_URI = BASE_URI + "classificationdef/";
- private static final String TYPEDEFS_PATH = BASE_URI + "typedefs/";
- private static final String GET_BY_NAME_TEMPLATE = BASE_URI + "%s/name/%s";
- private static final String GET_BY_GUID_TEMPLATE = BASE_URI + "%s/guid/%s";
-
- private static final APIInfo CREATE_ENUM_DEF = new APIInfo(ENUMDEF_URI, HttpMethod.POST, Response.Status.OK);
- private static final APIInfo CREATE_STRUCT_DEF = new APIInfo(STRUCTDEF_URI, HttpMethod.POST, Response.Status.OK);
- private static final APIInfo CREATE_ENTITY_DEF = new APIInfo(ENTITYDEF_URI, HttpMethod.POST, Response.Status.OK);
- private static final APIInfo CREATE_CLASSIFICATION_DEF = new APIInfo(CLASSIFICATIONDEF_URI, HttpMethod.POST, Response.Status.OK);
-
- private static final APIInfo GET_ALL_TYPE_DEFS = new APIInfo(TYPEDEFS_PATH, HttpMethod.GET, Response.Status.OK);
- private static final APIInfo CREATE_ALL_TYPE_DEFS = new APIInfo(TYPEDEFS_PATH, HttpMethod.POST, Response.Status.OK);
- private static final APIInfo UPDATE_ALL_TYPE_DEFS = new APIInfo(TYPEDEFS_PATH, HttpMethod.PUT, Response.Status.OK);
- private static final APIInfo DELETE_ALL_TYPE_DEFS = new APIInfo(TYPEDEFS_PATH, HttpMethod.DELETE, Response.Status.OK);
-
- public AtlasTypedefClientV2(String[] baseUrl, String[] basicAuthUserNamePassword) {
- super(baseUrl, basicAuthUserNamePassword);
- }
-
- public AtlasTypedefClientV2(String... baseUrls) throws AtlasException {
- super(baseUrls);
- }
-
- public AtlasTypedefClientV2(UserGroupInformation ugi, String doAsUser, String... baseUrls) {
- super(ugi, doAsUser, baseUrls);
- }
-
- protected AtlasTypedefClientV2() {
- super();
- }
-
- @VisibleForTesting
- AtlasTypedefClientV2(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 AtlasEnumDef getEnumByName(final String name) throws AtlasServiceException {
- return getTypeDefByName(name, AtlasEnumDef.class);
- }
-
- public AtlasEnumDef getEnumByGuid(final String guid) throws AtlasServiceException {
- return getTypeDefByGuid(guid, AtlasEnumDef.class);
- }
-
- public AtlasStructDef getStructByName(final String name) throws AtlasServiceException {
- return getTypeDefByName(name, AtlasStructDef.class);
- }
-
- public AtlasStructDef getStructByGuid(final String guid) throws AtlasServiceException {
- return getTypeDefByGuid(guid, AtlasStructDef.class);
- }
-
- public AtlasClassificationDef getClassificationByName(final String name) throws AtlasServiceException {
- return getTypeDefByName(name, AtlasClassificationDef.class);
- }
-
- public AtlasClassificationDef getClassificationByGuid(final String guid) throws AtlasServiceException {
- return getTypeDefByGuid(guid, AtlasClassificationDef.class);
- }
-
- public AtlasEntityDef getEntityByName(final String name) throws AtlasServiceException {
- return getTypeDefByName(name, AtlasEntityDef.class);
- }
-
- public AtlasEntityDef getEntityByGuid(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, AtlasType.toJson(typesDef), AtlasTypesDef.class);
- }
-
- /**
- * 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, AtlasType.toJson(typesDef), AtlasTypesDef.class);
- }
-
- /**
- * 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, AtlasType.toJson(typesDef), AtlasTypesDef.class);
- }
-
- 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, null, typeDefClass);
- }
-
- 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, null, typeDefClass);
- }
-
- private <T> String getAtlasPath(Class<T> typeDefClass) {
- if (typeDefClass.isAssignableFrom(AtlasEnumDef.class)) {
- return "enumdef";
- } else if (typeDefClass.isAssignableFrom(AtlasEntityDef.class)) {
- return "entitydef";
- } else if (typeDefClass.isAssignableFrom(AtlasClassificationDef.class)) {
- return "classificationdef";
- } else if (typeDefClass.isAssignableFrom(AtlasStructDef.class)) {
- return "structdef";
- }
- // Code should never reach this pion
- return "";
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/46b1b36e/webapp/src/main/java/org/apache/atlas/examples/QuickStartV2.java
----------------------------------------------------------------------
diff --git a/webapp/src/main/java/org/apache/atlas/examples/QuickStartV2.java b/webapp/src/main/java/org/apache/atlas/examples/QuickStartV2.java
index a11351a..a95fac3 100755
--- a/webapp/src/main/java/org/apache/atlas/examples/QuickStartV2.java
+++ b/webapp/src/main/java/org/apache/atlas/examples/QuickStartV2.java
@@ -24,18 +24,18 @@ import com.google.common.collect.ImmutableSet;
import com.sun.jersey.core.util.MultivaluedMapImpl;
import org.apache.atlas.ApplicationProperties;
import org.apache.atlas.AtlasClient;
-import org.apache.atlas.AtlasDiscoveryClientV2;
-import org.apache.atlas.AtlasEntitiesClientV2;
+import org.apache.atlas.AtlasClientV2;
import org.apache.atlas.AtlasException;
-import org.apache.atlas.AtlasLineageClientV2;
import org.apache.atlas.AtlasServiceException;
-import org.apache.atlas.AtlasTypedefClientV2;
import org.apache.atlas.model.SearchFilter;
import org.apache.atlas.model.discovery.AtlasSearchResult;
import org.apache.atlas.model.discovery.AtlasSearchResult.AtlasFullTextResult;
import org.apache.atlas.model.discovery.AtlasSearchResult.AttributeSearchResult;
-import org.apache.atlas.model.instance.*;
+import org.apache.atlas.model.instance.AtlasClassification;
+import org.apache.atlas.model.instance.AtlasEntity;
import org.apache.atlas.model.instance.AtlasEntity.AtlasEntityWithExtInfo;
+import org.apache.atlas.model.instance.AtlasEntityHeader;
+import org.apache.atlas.model.instance.EntityMutationResponse;
import org.apache.atlas.model.instance.EntityMutations.EntityOperation;
import org.apache.atlas.model.lineage.AtlasLineageInfo;
import org.apache.atlas.model.lineage.AtlasLineageInfo.LineageDirection;
@@ -53,11 +53,15 @@ import org.apache.commons.configuration.Configuration;
import org.apache.commons.lang.ArrayUtils;
import javax.ws.rs.core.MultivaluedMap;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import static org.apache.atlas.model.typedef.AtlasStructDef.AtlasConstraintDef.CONSTRAINT_PARAM_ATTRIBUTE;
import static org.apache.atlas.model.typedef.AtlasStructDef.AtlasConstraintDef.CONSTRAINT_TYPE_INVERSE_REF;
import static org.apache.atlas.model.typedef.AtlasStructDef.AtlasConstraintDef.CONSTRAINT_TYPE_OWNED_REF;
-import static org.apache.atlas.model.typedef.AtlasStructDef.AtlasConstraintDef.CONSTRAINT_PARAM_ATTRIBUTE;
/**
* A driver that sets up sample types and entities using v2 types and entity model for testing purposes.
@@ -169,23 +173,14 @@ public class QuickStartV2 {
return urls;
}
- private final AtlasTypedefClientV2 typesClient;
- private final AtlasEntitiesClientV2 entitiesClient;
- private final AtlasDiscoveryClientV2 discoveryClient;
- private final AtlasLineageClientV2 lineageClient;
+ private final AtlasClientV2 atlasClientV2;
QuickStartV2(String[] urls, String[] basicAuthUsernamePassword) {
- typesClient = new AtlasTypedefClientV2(urls,basicAuthUsernamePassword);
- entitiesClient = new AtlasEntitiesClientV2(urls,basicAuthUsernamePassword);
- discoveryClient = new AtlasDiscoveryClientV2(urls,basicAuthUsernamePassword);
- lineageClient = new AtlasLineageClientV2(urls,basicAuthUsernamePassword);
+ atlasClientV2 = new AtlasClientV2(urls,basicAuthUsernamePassword);
}
QuickStartV2(String[] urls) throws AtlasException {
- typesClient = new AtlasTypedefClientV2(urls);
- entitiesClient = new AtlasEntitiesClientV2(urls);
- discoveryClient = new AtlasDiscoveryClientV2(urls);
- lineageClient = new AtlasLineageClientV2(urls);
+ atlasClientV2 = new AtlasClientV2(urls);
}
@@ -193,7 +188,7 @@ public class QuickStartV2 {
AtlasTypesDef atlasTypesDef = createTypeDefinitions();
System.out.println("\nCreating sample types: ");
- typesClient.createAtlasTypeDefs(atlasTypesDef);
+ atlasClientV2.createAtlasTypeDefs(atlasTypesDef);
verifyTypesCreated();
}
@@ -341,11 +336,11 @@ public class QuickStartV2 {
private AtlasEntity createInstance(AtlasEntity entity, String[] traitNames) throws Exception {
AtlasEntity ret = null;
- EntityMutationResponse response = entitiesClient.createEntity(new AtlasEntityWithExtInfo(entity));
+ EntityMutationResponse response = atlasClientV2.createEntity(new AtlasEntityWithExtInfo(entity));
List<AtlasEntityHeader> entities = response.getEntitiesByOperation(EntityOperation.CREATE);
if (CollectionUtils.isNotEmpty(entities)) {
- AtlasEntityWithExtInfo getByGuidResponse = entitiesClient.getEntityByGuid(entities.get(0).getGuid());
+ AtlasEntityWithExtInfo getByGuidResponse = atlasClientV2.getEntityByGuid(entities.get(0).getGuid());
ret = getByGuidResponse.getEntity();
System.out.println("Created entity of type [" + ret.getTypeName() + "], guid: " + ret.getGuid());
}
@@ -463,7 +458,7 @@ public class QuickStartV2 {
searchParams.clear();
searchParams.add(SearchFilter.PARAM_NAME, typeName);
SearchFilter searchFilter = new SearchFilter(searchParams);
- AtlasTypesDef searchDefs = typesClient.getAllTypeDefs(searchFilter);
+ AtlasTypesDef searchDefs = atlasClientV2.getAllTypeDefs(searchFilter);
assert (!searchDefs.isEmpty());
System.out.println("Created type [" + typeName + "]");
@@ -516,7 +511,7 @@ public class QuickStartV2 {
System.out.println("\nSample DSL Queries: ");
for (String dslQuery : getDSLQueries()) {
- AtlasSearchResult results = discoveryClient.dslSearchWithParams(dslQuery, 10, 0);
+ AtlasSearchResult results = atlasClientV2.dslSearchWithParams(dslQuery, 10, 0);
if (results != null) {
List<AtlasEntityHeader> entitiesResult = results.getEntities();
@@ -539,7 +534,7 @@ public class QuickStartV2 {
private void lineage() throws AtlasServiceException {
System.out.println("\nSample Lineage Info: ");
- AtlasLineageInfo lineageInfo = lineageClient.getLineageInfo(getTableId(SALES_FACT_DAILY_MV_TABLE), LineageDirection.BOTH, 0);
+ AtlasLineageInfo lineageInfo = atlasClientV2.getLineageInfo(getTableId(SALES_FACT_DAILY_MV_TABLE), LineageDirection.BOTH, 0);
Set<LineageRelation> relations = lineageInfo.getRelations();
Map<String, AtlasEntityHeader> guidEntityMap = lineageInfo.getGuidEntityMap();
@@ -556,7 +551,7 @@ public class QuickStartV2 {
Map<String, String> attributes = new HashMap<>();
attributes.put(AtlasClient.REFERENCEABLE_ATTRIBUTE_NAME, tableName);
- AtlasEntity tableEntity = entitiesClient.getEntityByAttribute(TABLE_TYPE, attributes).getEntity();
+ AtlasEntity tableEntity = atlasClientV2.getEntityByAttribute(TABLE_TYPE, attributes).getEntity();
return tableEntity.getGuid();
}
}
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/46b1b36e/webapp/src/main/java/org/apache/atlas/notification/NotificationHookConsumer.java
----------------------------------------------------------------------
diff --git a/webapp/src/main/java/org/apache/atlas/notification/NotificationHookConsumer.java b/webapp/src/main/java/org/apache/atlas/notification/NotificationHookConsumer.java
index f030140..e6d5697 100644
--- a/webapp/src/main/java/org/apache/atlas/notification/NotificationHookConsumer.java
+++ b/webapp/src/main/java/org/apache/atlas/notification/NotificationHookConsumer.java
@@ -56,10 +56,10 @@ import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
-import static org.apache.atlas.AtlasEntitiesClientV2.CREATE_ENTITY;
-import static org.apache.atlas.AtlasEntitiesClientV2.DELETE_ENTITY_BY_ATTRIBUTE;
-import static org.apache.atlas.AtlasEntitiesClientV2.UPDATE_ENTITY;
-import static org.apache.atlas.AtlasEntitiesClientV2.UPDATE_ENTITY_BY_ATTRIBUTE;
+import static org.apache.atlas.AtlasClientV2.CREATE_ENTITY;
+import static org.apache.atlas.AtlasClientV2.DELETE_ENTITY_BY_ATTRIBUTE;
+import static org.apache.atlas.AtlasClientV2.UPDATE_ENTITY;
+import static org.apache.atlas.AtlasClientV2.UPDATE_ENTITY_BY_ATTRIBUTE;
import static org.apache.atlas.notification.hook.HookNotification.EntityCreateRequest;
import static org.apache.atlas.notification.hook.HookNotification.EntityDeleteRequest;
import static org.apache.atlas.notification.hook.HookNotification.EntityUpdateRequest;
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/46b1b36e/webapp/src/test/java/org/apache/atlas/examples/QuickStartV2IT.java
----------------------------------------------------------------------
diff --git a/webapp/src/test/java/org/apache/atlas/examples/QuickStartV2IT.java b/webapp/src/test/java/org/apache/atlas/examples/QuickStartV2IT.java
index 1449812..7f3192a 100644
--- a/webapp/src/test/java/org/apache/atlas/examples/QuickStartV2IT.java
+++ b/webapp/src/test/java/org/apache/atlas/examples/QuickStartV2IT.java
@@ -61,7 +61,7 @@ public class QuickStartV2IT extends BaseResourceIT {
private AtlasEntity getDB(String dbName) throws AtlasServiceException, JSONException {
Map<String, String> attributes = new HashMap<>();
attributes.put("name", dbName);
- AtlasEntity dbEntity = entitiesClientV2.getEntityByAttribute(QuickStartV2.DATABASE_TYPE, attributes).getEntity();
+ AtlasEntity dbEntity = atlasClientV2.getEntityByAttribute(QuickStartV2.DATABASE_TYPE, attributes).getEntity();
return dbEntity;
}
@@ -80,20 +80,20 @@ public class QuickStartV2IT extends BaseResourceIT {
private AtlasEntity getTable(String tableName) throws AtlasServiceException {
Map<String, String> attributes = new HashMap<>();
attributes.put(AtlasClient.REFERENCEABLE_ATTRIBUTE_NAME, tableName);
- AtlasEntity tableEntity = entitiesClientV2.getEntityByAttribute(QuickStartV2.TABLE_TYPE, attributes).getEntity();
+ AtlasEntity tableEntity = atlasClientV2.getEntityByAttribute(QuickStartV2.TABLE_TYPE, attributes).getEntity();
return tableEntity;
}
private AtlasEntity getProcess(String processName) throws AtlasServiceException {
Map<String, String> attributes = new HashMap<>();
attributes.put(AtlasClient.REFERENCEABLE_ATTRIBUTE_NAME, processName);
- AtlasEntity processEntity = entitiesClientV2.getEntityByAttribute(QuickStartV2.LOAD_PROCESS_TYPE, attributes).getEntity();
+ AtlasEntity processEntity = atlasClientV2.getEntityByAttribute(QuickStartV2.LOAD_PROCESS_TYPE, attributes).getEntity();
return processEntity;
}
private void verifyTrait(AtlasEntity table) throws AtlasServiceException {
- AtlasClassification.AtlasClassifications classfications = entitiesClientV2.getClassifications(table.getGuid());
+ AtlasClassification.AtlasClassifications classfications = atlasClientV2.getClassifications(table.getGuid());
List<AtlasClassification> traits = classfications.getList();
assertNotNull(traits.get(0).getTypeName());
}
@@ -126,7 +126,7 @@ public class QuickStartV2IT extends BaseResourceIT {
public void testProcessIsAdded() throws AtlasServiceException, JSONException {
Map<String, String> attributes = new HashMap<>();
attributes.put(AtlasClient.REFERENCEABLE_ATTRIBUTE_NAME, QuickStartV2.LOAD_SALES_DAILY_PROCESS);
- AtlasEntity loadProcess = entitiesClientV2.getEntityByAttribute(QuickStartV2.LOAD_PROCESS_TYPE, attributes).getEntity();
+ AtlasEntity loadProcess = atlasClientV2.getEntityByAttribute(QuickStartV2.LOAD_PROCESS_TYPE, attributes).getEntity();
Map loadProcessAttribs = loadProcess.getAttributes();
assertEquals(QuickStartV2.LOAD_SALES_DAILY_PROCESS, loadProcessAttribs.get(AtlasClient.NAME));
@@ -162,7 +162,7 @@ public class QuickStartV2IT extends BaseResourceIT {
String salesDailyProcessId = getProcessId(QuickStartV2.LOAD_SALES_DAILY_PROCESS);
String salesMonthlyProcessId = getProcessId(QuickStartV2.LOAD_SALES_MONTHLY_PROCESS);
- AtlasLineageInfo inputLineage = lineageClientV2.getLineageInfo(salesFactDailyMVId, LineageDirection.BOTH, 0);
+ AtlasLineageInfo inputLineage = atlasClientV2.getLineageInfo(salesFactDailyMVId, LineageDirection.BOTH, 0);
List<LineageRelation> relations = new ArrayList<>(inputLineage.getRelations());
Map<String, AtlasEntityHeader> entityMap = inputLineage.getGuidEntityMap();
@@ -181,7 +181,7 @@ public class QuickStartV2IT extends BaseResourceIT {
public void testViewIsAdded() throws AtlasServiceException, JSONException {
Map<String, String> attributes = new HashMap<>();
attributes.put(AtlasClient.REFERENCEABLE_ATTRIBUTE_NAME, QuickStartV2.PRODUCT_DIM_VIEW);
- AtlasEntity view = entitiesClientV2.getEntityByAttribute(QuickStartV2.VIEW_TYPE, attributes).getEntity();
+ AtlasEntity view = atlasClientV2.getEntityByAttribute(QuickStartV2.VIEW_TYPE, attributes).getEntity();
Map<String, Object> viewAttributes = view.getAttributes();
assertEquals(QuickStartV2.PRODUCT_DIM_VIEW, viewAttributes.get(AtlasClient.NAME));
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/46b1b36e/webapp/src/test/java/org/apache/atlas/web/resources/BaseResourceIT.java
----------------------------------------------------------------------
diff --git a/webapp/src/test/java/org/apache/atlas/web/resources/BaseResourceIT.java b/webapp/src/test/java/org/apache/atlas/web/resources/BaseResourceIT.java
index 134c798..0bcabb7 100755
--- a/webapp/src/test/java/org/apache/atlas/web/resources/BaseResourceIT.java
+++ b/webapp/src/test/java/org/apache/atlas/web/resources/BaseResourceIT.java
@@ -18,32 +18,21 @@
package org.apache.atlas.web.resources;
-import static org.apache.atlas.model.typedef.AtlasStructDef.AtlasConstraintDef.CONSTRAINT_TYPE_OWNED_REF;
-import static org.apache.atlas.model.typedef.AtlasStructDef.AtlasConstraintDef.CONSTRAINT_TYPE_INVERSE_REF;
-import static org.apache.atlas.model.typedef.AtlasStructDef.AtlasConstraintDef.CONSTRAINT_PARAM_ATTRIBUTE;
-import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertTrue;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
+import com.google.common.base.Preconditions;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableSet;
+import kafka.consumer.ConsumerTimeoutException;
import org.apache.atlas.ApplicationProperties;
import org.apache.atlas.AtlasClient;
-import org.apache.atlas.AtlasDiscoveryClientV2;
-import org.apache.atlas.AtlasEntitiesClientV2;
-import org.apache.atlas.AtlasLineageClientV2;
+import org.apache.atlas.AtlasClientV2;
import org.apache.atlas.AtlasServiceException;
-import org.apache.atlas.AtlasTypedefClientV2;
import org.apache.atlas.model.instance.AtlasClassification;
import org.apache.atlas.model.instance.AtlasEntity;
+import org.apache.atlas.model.instance.AtlasEntity.AtlasEntityWithExtInfo;
import org.apache.atlas.model.instance.AtlasEntityHeader;
import org.apache.atlas.model.instance.AtlasStruct;
import org.apache.atlas.model.instance.EntityMutationResponse;
import org.apache.atlas.model.instance.EntityMutations;
-import org.apache.atlas.model.instance.AtlasEntity.AtlasEntityWithExtInfo;
import org.apache.atlas.model.typedef.AtlasClassificationDef;
import org.apache.atlas.model.typedef.AtlasEntityDef;
import org.apache.atlas.model.typedef.AtlasEnumDef;
@@ -61,21 +50,10 @@ 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.persistence.Id;
-import org.apache.atlas.typesystem.types.AttributeDefinition;
-import org.apache.atlas.typesystem.types.ClassType;
-import org.apache.atlas.typesystem.types.DataTypes;
-import org.apache.atlas.typesystem.types.EnumTypeDefinition;
-import org.apache.atlas.typesystem.types.EnumValue;
-import org.apache.atlas.typesystem.types.HierarchicalTypeDefinition;
-import org.apache.atlas.typesystem.types.IDataType;
-import org.apache.atlas.typesystem.types.Multiplicity;
-import org.apache.atlas.typesystem.types.StructTypeDefinition;
-import org.apache.atlas.typesystem.types.TraitType;
-import org.apache.atlas.typesystem.types.TypeUtils;
+import org.apache.atlas.typesystem.types.*;
import org.apache.atlas.typesystem.types.utils.TypesUtil;
import org.apache.atlas.utils.AuthenticationUtil;
import org.apache.atlas.utils.ParamChecker;
-import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.configuration.Configuration;
import org.apache.commons.lang.RandomStringUtils;
import org.codehaus.jettison.json.JSONArray;
@@ -84,11 +62,17 @@ import org.slf4j.LoggerFactory;
import org.testng.Assert;
import org.testng.annotations.BeforeClass;
-import com.google.common.base.Preconditions;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableSet;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
-import kafka.consumer.ConsumerTimeoutException;
+import static org.apache.atlas.model.typedef.AtlasStructDef.AtlasConstraintDef.CONSTRAINT_PARAM_ATTRIBUTE;
+import static org.apache.atlas.model.typedef.AtlasStructDef.AtlasConstraintDef.CONSTRAINT_TYPE_INVERSE_REF;
+import static org.apache.atlas.model.typedef.AtlasStructDef.AtlasConstraintDef.CONSTRAINT_TYPE_OWNED_REF;
+import static org.testng.Assert.assertNotNull;
+import static org.testng.Assert.assertTrue;
/**
* Base class for integration tests.
@@ -104,10 +88,7 @@ public abstract class BaseResourceIT {
// All service clients
protected AtlasClient atlasClientV1;
- protected AtlasTypedefClientV2 typedefClientV2;
- protected AtlasEntitiesClientV2 entitiesClientV2;
- protected AtlasDiscoveryClientV2 discoveryClientV2;
- protected AtlasLineageClientV2 lineageClientV2;
+ protected AtlasClientV2 atlasClientV2;
public static final Logger LOG = LoggerFactory.getLogger(BaseResourceIT.class);
protected static final int MAX_WAIT_TIME = 60000;
@@ -131,30 +112,24 @@ public abstract class BaseResourceIT {
if (!AuthenticationUtil.isKerberosAuthenticationEnabled()) {
atlasClientV1 = new AtlasClient(atlasUrls, new String[]{"admin", "admin"});
- typedefClientV2 = new AtlasTypedefClientV2(atlasUrls, new String[]{"admin", "admin"});
- entitiesClientV2 = new AtlasEntitiesClientV2(atlasUrls, new String[]{"admin", "admin"});
- discoveryClientV2 = new AtlasDiscoveryClientV2(atlasUrls, new String[]{"admin", "admin"});
- lineageClientV2 = new AtlasLineageClientV2(atlasUrls, new String[]{"admin", "admin"});
+ atlasClientV2 = new AtlasClientV2(atlasUrls, new String[]{"admin", "admin"});
} else {
atlasClientV1 = new AtlasClient(atlasUrls);
- typedefClientV2 = new AtlasTypedefClientV2(atlasUrls);
- entitiesClientV2 = new AtlasEntitiesClientV2(atlasUrls);
- discoveryClientV2 = new AtlasDiscoveryClientV2(atlasUrls);
- lineageClientV2 = new AtlasLineageClientV2(atlasUrls);
+ atlasClientV2 = new AtlasClientV2(atlasUrls);
}
}
protected void batchCreateTypes(AtlasTypesDef typesDef) throws AtlasServiceException {
for (AtlasEnumDef enumDef : typesDef.getEnumDefs()) {
try {
- typedefClientV2.createEnumDef(enumDef);
+ atlasClientV2.createEnumDef(enumDef);
} catch (AtlasServiceException ex) {
LOG.warn("EnumDef creation failed for {}", enumDef.getName());
}
}
for (AtlasStructDef structDef : typesDef.getStructDefs()) {
try {
- typedefClientV2.createStructDef(structDef);
+ atlasClientV2.createStructDef(structDef);
} catch (AtlasServiceException ex) {
LOG.warn("StructDef creation failed for {}", structDef.getName());
}
@@ -166,7 +141,7 @@ public abstract class BaseResourceIT {
Collections.<AtlasClassificationDef>emptyList(),
typesDef.getEntityDefs());
try {
- typedefClientV2.createAtlasTypeDefs(entityDefs);
+ atlasClientV2.createAtlasTypeDefs(entityDefs);
}
catch(AtlasServiceException e) {
LOG.warn("Type creation failed for {}", typesDef.toString());
@@ -175,7 +150,7 @@ public abstract class BaseResourceIT {
for (AtlasClassificationDef classificationDef : typesDef.getClassificationDefs()) {
try {
- typedefClientV2.createClassificationDef(classificationDef);
+ atlasClientV2.createClassificationDef(classificationDef);
} catch (AtlasServiceException ex) {
LOG.warn("ClassificationDef creation failed for {}", classificationDef.getName());
}
@@ -187,28 +162,28 @@ public abstract class BaseResourceIT {
// Since the bulk create bails out on a single failure, this has to be done as a workaround
for (AtlasEnumDef enumDef : typesDef.getEnumDefs()) {
try {
- typedefClientV2.createEnumDef(enumDef);
+ atlasClientV2.createEnumDef(enumDef);
} catch (AtlasServiceException ex) {
LOG.warn("EnumDef creation failed for {}", enumDef.getName());
}
}
for (AtlasStructDef structDef : typesDef.getStructDefs()) {
try {
- typedefClientV2.createStructDef(structDef);
+ atlasClientV2.createStructDef(structDef);
} catch (AtlasServiceException ex) {
LOG.warn("StructDef creation failed for {}", structDef.getName());
}
}
for (AtlasEntityDef entityDef : typesDef.getEntityDefs()) {
try {
- typedefClientV2.createEntityDef(entityDef);
+ atlasClientV2.createEntityDef(entityDef);
} catch (AtlasServiceException ex) {
LOG.warn("EntityDef creation failed for {}", entityDef.getName());
}
}
for (AtlasClassificationDef classificationDef : typesDef.getClassificationDefs()) {
try {
- typedefClientV2.createClassificationDef(classificationDef);
+ atlasClientV2.createClassificationDef(classificationDef);
} catch (AtlasServiceException ex) {
LOG.warn("ClassificationDef creation failed for {}", classificationDef.getName());
}
@@ -288,13 +263,13 @@ public abstract class BaseResourceIT {
EntityMutationResponse entity = null;
try {
if (!update) {
- entity = entitiesClientV2.createEntity(new AtlasEntityWithExtInfo(atlasEntity));
+ entity = atlasClientV2.createEntity(new AtlasEntityWithExtInfo(atlasEntity));
assertNotNull(entity);
assertNotNull(entity.getEntitiesByOperation(EntityMutations.EntityOperation.CREATE));
assertTrue(entity.getEntitiesByOperation(EntityMutations.EntityOperation.CREATE).size() > 0);
return entity.getEntitiesByOperation(EntityMutations.EntityOperation.CREATE).get(0);
} else {
- entity = entitiesClientV2.updateEntity(new AtlasEntityWithExtInfo(atlasEntity));
+ entity = atlasClientV2.updateEntity(new AtlasEntityWithExtInfo(atlasEntity));
assertNotNull(entity);
assertNotNull(entity.getEntitiesByOperation(EntityMutations.EntityOperation.UPDATE));
assertTrue(entity.getEntitiesByOperation(EntityMutations.EntityOperation.UPDATE).size() > 0);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/46b1b36e/webapp/src/test/java/org/apache/atlas/web/resources/EntityDiscoveryJerseyResourceIT.java
----------------------------------------------------------------------
diff --git a/webapp/src/test/java/org/apache/atlas/web/resources/EntityDiscoveryJerseyResourceIT.java b/webapp/src/test/java/org/apache/atlas/web/resources/EntityDiscoveryJerseyResourceIT.java
index c99ff57..db3a7c3 100755
--- a/webapp/src/test/java/org/apache/atlas/web/resources/EntityDiscoveryJerseyResourceIT.java
+++ b/webapp/src/test/java/org/apache/atlas/web/resources/EntityDiscoveryJerseyResourceIT.java
@@ -63,7 +63,7 @@ public class EntityDiscoveryJerseyResourceIT extends BaseResourceIT {
public void testSearchByDSL() throws Exception {
String dslQuery = "from "+ DATABASE_TYPE_BUILTIN + " " + QUALIFIED_NAME + "=\"" + dbName + "\"";
- AtlasSearchResult searchResult = discoveryClientV2.dslSearch(dslQuery);
+ AtlasSearchResult searchResult = atlasClientV2.dslSearch(dslQuery);
assertNotNull(searchResult);
assertEquals(searchResult.getQueryText(), dslQuery);
assertEquals(searchResult.getQueryType(), AtlasQueryType.DSL);
@@ -84,48 +84,48 @@ public class EntityDiscoveryJerseyResourceIT extends BaseResourceIT {
@Test
public void testSearchDSLLimits() throws Exception {
String dslQuery = "from "+ DATABASE_TYPE_BUILTIN + " " + QUALIFIED_NAME + "=\"" + dbName + "\"";
- AtlasSearchResult searchResult = discoveryClientV2.dslSearch(dslQuery);
+ AtlasSearchResult searchResult = atlasClientV2.dslSearch(dslQuery);
assertNotNull(searchResult);
//higher limit, all results returned
- searchResult = discoveryClientV2.dslSearchWithParams(dslQuery, 10, 0);
+ searchResult = atlasClientV2.dslSearchWithParams(dslQuery, 10, 0);
assertEquals(searchResult.getEntities().size(), 1);
//default limit and offset -1, all results returned
- searchResult = discoveryClientV2.dslSearchWithParams(dslQuery, -1, -1);
+ searchResult = atlasClientV2.dslSearchWithParams(dslQuery, -1, -1);
assertEquals(searchResult.getEntities().size(), 1);
//uses the limit parameter passed
- searchResult = discoveryClientV2.dslSearchWithParams(dslQuery, 1, 0);
+ searchResult = atlasClientV2.dslSearchWithParams(dslQuery, 1, 0);
assertEquals(searchResult.getEntities().size(), 1);
//uses the offset parameter passed
- searchResult = discoveryClientV2.dslSearchWithParams(dslQuery, 10, 1);
+ searchResult = atlasClientV2.dslSearchWithParams(dslQuery, 10, 1);
assertNull(searchResult.getEntities());
//limit > 0
- searchResult = discoveryClientV2.dslSearchWithParams(dslQuery, 0, 10);
+ searchResult = atlasClientV2.dslSearchWithParams(dslQuery, 0, 10);
assertNull(searchResult.getEntities());
//limit > maxlimit
- searchResult = discoveryClientV2.dslSearchWithParams(dslQuery, Integer.MAX_VALUE, 10);
+ searchResult = atlasClientV2.dslSearchWithParams(dslQuery, Integer.MAX_VALUE, 10);
assertNull(searchResult.getEntities());
//offset >= 0
- searchResult = discoveryClientV2.dslSearchWithParams(dslQuery, 10, -2);
+ searchResult = atlasClientV2.dslSearchWithParams(dslQuery, 10, -2);
assertEquals(searchResult.getEntities().size(), 1);
}
@Test(expectedExceptions = AtlasServiceException.class)
public void testSearchByDSLForUnknownType() throws Exception {
String dslQuery = "from blah";
- discoveryClientV2.dslSearch(dslQuery);
+ atlasClientV2.dslSearch(dslQuery);
}
@Test
public void testSearchUsingDSL() throws Exception {
String query = "from "+ DATABASE_TYPE_BUILTIN + " " + QUALIFIED_NAME + "=\"" + dbName + "\"";
- AtlasSearchResult searchResult = discoveryClientV2.dslSearch(query);
+ AtlasSearchResult searchResult = atlasClientV2.dslSearch(query);
assertNotNull(searchResult);
assertEquals(searchResult.getQueryText(), query);
@@ -147,7 +147,7 @@ public class EntityDiscoveryJerseyResourceIT extends BaseResourceIT {
@Test
public void testSearchFullTextOnDSLFailure() throws Exception {
String query = "*";
- AtlasSearchResult searchResult = discoveryClientV2.fullTextSearch(query);
+ AtlasSearchResult searchResult = atlasClientV2.fullTextSearch(query);
assertNotNull(searchResult);
assertEquals(searchResult.getQueryText(), query);
assertEquals(searchResult.getQueryType(), AtlasQueryType.FULL_TEXT);
@@ -155,7 +155,7 @@ public class EntityDiscoveryJerseyResourceIT extends BaseResourceIT {
@Test(dependsOnMethods = "testSearchDSLLimits")
public void testSearchUsingFullText() throws Exception {
- AtlasSearchResult searchResult = discoveryClientV2.fullTextSearchWithParams(dbName, 10, 0);
+ AtlasSearchResult searchResult = atlasClientV2.fullTextSearchWithParams(dbName, 10, 0);
assertNotNull(searchResult);
assertEquals(searchResult.getQueryText(), dbName);
@@ -173,25 +173,25 @@ public class EntityDiscoveryJerseyResourceIT extends BaseResourceIT {
String query = dbName;
MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl();
queryParams.add("query", query);
- searchResult = discoveryClientV2.fullTextSearch(query);
+ searchResult = atlasClientV2.fullTextSearch(query);
assertNotNull(searchResult);
assertEquals(searchResult.getFullTextResult().size(), 1);
//verify passed in limits and offsets are used
//higher limit and 0 offset returns all results
- searchResult = discoveryClientV2.fullTextSearchWithParams(query, 10, 0);
+ searchResult = atlasClientV2.fullTextSearchWithParams(query, 10, 0);
assertEquals(searchResult.getFullTextResult().size(), 1);
//offset is used
- searchResult = discoveryClientV2.fullTextSearchWithParams(query, 10, 1);
+ searchResult = atlasClientV2.fullTextSearchWithParams(query, 10, 1);
assertEquals(searchResult.getFullTextResult().size(), 1);
//limit is used
- searchResult = discoveryClientV2.fullTextSearchWithParams(query, 1, 0);
+ searchResult = atlasClientV2.fullTextSearchWithParams(query, 1, 0);
assertEquals(searchResult.getFullTextResult().size(), 1);
//higher offset returns 0 results
- searchResult = discoveryClientV2.fullTextSearchWithParams(query, 1, 2);
+ searchResult = atlasClientV2.fullTextSearchWithParams(query, 1, 2);
assertEquals(searchResult.getFullTextResult().size(), 1);
}