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 2020/12/15 17:50:33 UTC
[atlas] 01/02: ATLAS-4077: updated Python client to fix errors
found while running sample - #2
This is an automated email from the ASF dual-hosted git repository.
madhan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/atlas.git
commit 4fb6c7b4b1df3bdcd5c40cf65241bf2e42a07d22
Author: Madhan Neethiraj <ma...@apache.org>
AuthorDate: Mon Dec 14 21:47:01 2020 -0800
ATLAS-4077: updated Python client to fix errors found while running sample - #2
---
.../main/python/request_json/typedef_create.json | 27 ++++++++++++++++------
.../sample-app/src/main/python/sample_client.py | 4 ++--
intg/src/main/python/apache_atlas/model/typedef.py | 20 ++++++++++++++--
3 files changed, 40 insertions(+), 11 deletions(-)
diff --git a/atlas-examples/sample-app/src/main/python/request_json/typedef_create.json b/atlas-examples/sample-app/src/main/python/request_json/typedef_create.json
index 5ebfc83..70018ad 100644
--- a/atlas-examples/sample-app/src/main/python/request_json/typedef_create.json
+++ b/atlas-examples/sample-app/src/main/python/request_json/typedef_create.json
@@ -3,6 +3,7 @@
{
"name": "sample_tableType",
"description": "sample_tableType",
+ "category": "ENUM",
"typeVersion": "1.0",
"elementDefs": [
{ "value": "MANAGED", "ordinal": 1 },
@@ -13,6 +14,7 @@
"structDefs": [
{
"name": "sample_serdeType",
+ "category": "STRUCT",
"typeVersion": "1.0",
"attributeDefs": [
{ "name": "name", "typeName": "string", "cardinality": "SINGLE", "isOptional": false, "isUnique": false, "isIndexable": true },
@@ -22,15 +24,18 @@
],
"classificationDefs": [
{
- "name": "sample_pii",
+ "name": "sample_pii",
+ "category": "CLASSIFICATION",
"typeVersion": "1.0"
},
{
- "name": "sample_finance",
+ "name": "sample_finance",
+ "category": "CLASSIFICATION",
"typeVersion": "1.0"
},
{
- "name": "sample_metric",
+ "name": "sample_metric",
+ "category": "CLASSIFICATION",
"typeVersion": "1.0"
}
],
@@ -38,6 +43,7 @@
{
"name": "sample_db",
"superTypes": [ "DataSet" ],
+ "category": "ENTITY",
"typeVersion": "1.0",
"attributeDefs": [
{ "name": "locationUri", "typeName": "string", "cardinality": "SINGLE", "isOptional": false, "isUnique": false, "isIndexable": true },
@@ -46,8 +52,9 @@
},
{
"name": "sample_table",
- "typeVersion": "1.0",
"superTypes": [ "DataSet" ],
+ "category": "ENTITY",
+ "typeVersion": "1.0",
"attributeDefs": [
{ "name": "createTime", "typeName": "date", "cardinality": "SINGLE", "isOptional": true, "isUnique": false, "isIndexable": true },
{ "name": "tableType", "typeName": "sample_tableType", "cardinality": "SINGLE", "isOptional": true, "isUnique": false, "isIndexable": true },
@@ -58,8 +65,9 @@
},
{
"name": "sample_column",
- "typeVersion": "1.0",
"superTypes": [ "DataSet" ],
+ "category": "ENTITY",
+ "typeVersion": "1.0",
"attributeDefs": [
{ "name": "dataType", "typeName": "string", "cardinality": "SINGLE", "isOptional": true, "isUnique": false, "isIndexable": true },
{ "name": "comment", "typeName": "string", "cardinality": "SINGLE", "isOptional": true, "isUnique": false, "isIndexable": true }
@@ -67,8 +75,9 @@
},
{
"name": "sample_process",
- "typeVersion": "1.0",
"superTypes": [ "Process" ],
+ "category": "ENTITY",
+ "typeVersion": "1.0",
"attributeDefs": [
{ "name": "userName", "typeName": "string", "cardinality": "SINGLE", "isOptional": true, "isUnique": false, "isIndexable": true },
{ "name": "startTime", "typeName": "long", "cardinality": "SINGLE", "isOptional": true, "isUnique": false, "isIndexable": true },
@@ -82,6 +91,7 @@
{
"name": "sample_db_tables",
"description": "Tables of a db",
+ "category": "RELATIONSHIP",
"typeVersion": "1.0",
"relationshipCategory": "AGGREGATION",
"propagateTags": "NONE",
@@ -91,6 +101,7 @@
{
"name": "sample_table_columns",
"description": "Columns of a table",
+ "category": "RELATIONSHIP",
"typeVersion": "1.0",
"relationshipCategory": "COMPOSITION",
"propagateTags": "NONE",
@@ -102,10 +113,11 @@
{
"name": "sample_bm",
"description": "Sample business metadata",
+ "category": "BUSINESS_METADATA",
"typeVersion": "1.0",
"attributeDefs": [
{
- "name": "attr1",
+ "name": "attr1",
"typeName": "boolean",
"description": "Boolean attribute",
"cardinality": "SINGLE",
@@ -147,6 +159,7 @@
{
"name": "sample_bm_mv",
"description": "Sample business metadata with multi-value attributes",
+ "category": "BUSINESS_METADATA",
"typeVersion": "1.0",
"attributeDefs": [
{
diff --git a/atlas-examples/sample-app/src/main/python/sample_client.py b/atlas-examples/sample-app/src/main/python/sample_client.py
index 732b280..33c430f 100644
--- a/atlas-examples/sample-app/src/main/python/sample_client.py
+++ b/atlas-examples/sample-app/src/main/python/sample_client.py
@@ -48,10 +48,10 @@ class SampleApp:
client = AtlasClient(url, (username, password))
- self.__entity_example(client)
-
self.__typedef_example(client)
+ self.__entity_example(client)
+
self.__lineage_example(client)
self.__discovery_example(client)
diff --git a/intg/src/main/python/apache_atlas/model/typedef.py b/intg/src/main/python/apache_atlas/model/typedef.py
index 30e2750..f6fdf1a 100644
--- a/intg/src/main/python/apache_atlas/model/typedef.py
+++ b/intg/src/main/python/apache_atlas/model/typedef.py
@@ -102,7 +102,18 @@ class AtlasRelationshipDef(AtlasStructDef):
def __init__(self, attrs={}):
AtlasStructDef.__init__(self, attrs)
- self.category = TypeCategory.RELATIONSHIP.name
+ self.category = TypeCategory.RELATIONSHIP.name
+ self.relationshipCategory = attrs.get('relationshipCategory');
+ self.relationshipLabel = attrs.get('relationshipLabel');
+ self.propagateTags = attrs.get('propagateTags');
+ self.endDef1 = attrs.get('endDef1');
+ self.endDef2 = attrs.get('endDef2');
+
+ def type_coerce_attrs(self):
+ super(AtlasRelationshipDef, self).type_coerce_attrs()
+
+ self.endDef1 = type_coerce(self.endDef1, AtlasRelationshipEndDef)
+ self.endDef2 = type_coerce(self.endDef2, AtlasRelationshipEndDef)
class AtlasBusinessMetadataDef(AtlasStructDef):
@@ -168,7 +179,12 @@ class AtlasRelationshipEndDef(AtlasBase):
def __init__(self, attrs={}):
AtlasBase.__init__(self, attrs)
- self.cardinality = non_null(self.cardinality, Cardinality.SINGLE.name)
+ self.type = attrs.get('type')
+ self.name = attrs.get('name')
+ self.isContainer = attrs.get('isContainer')
+ self.cardinality = attrs.get('cardinality')
+ self.isLegacyAttribute = attrs.get('isLegacyAttribute')
+ self.description = attrs.get('description')
class AtlasTypesDef(AtlasBase):