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
The following commit(s) were added to refs/heads/master by this push: new 83e9c21 ATLAS-3875: updated sample client to improve logging 83e9c21 is described below commit 83e9c21f7805b7badc9390a15fd747e1e6a7f8e2 Author: jyoti0208 <sjyotisingh...@gmail.com> AuthorDate: Wed Aug 12 18:08:36 2020 -0700 ATLAS-3875: updated sample client to improve logging Signed-off-by: Madhan Neethiraj <mad...@apache.org> --- .../atlas/examples/sampleapp/DiscoveryExample.java | 20 ++++----- .../atlas/examples/sampleapp/EntityExample.java | 23 +++++----- .../atlas/examples/sampleapp/GlossaryExample.java | 12 +++--- .../atlas/examples/sampleapp/LineageExample.java | 4 +- .../apache/atlas/examples/sampleapp/SampleApp.java | 49 ++++++++++------------ .../examples/sampleapp/SampleAppConstants.java | 20 ++++----- .../atlas/examples/sampleapp/TypeDefExample.java | 24 +++++------ 7 files changed, 73 insertions(+), 79 deletions(-) diff --git a/atlas-examples/sample-app/src/main/java/org/apache/atlas/examples/sampleapp/DiscoveryExample.java b/atlas-examples/sample-app/src/main/java/org/apache/atlas/examples/sampleapp/DiscoveryExample.java index b61e6eb..d309c9e 100644 --- a/atlas-examples/sample-app/src/main/java/org/apache/atlas/examples/sampleapp/DiscoveryExample.java +++ b/atlas-examples/sample-app/src/main/java/org/apache/atlas/examples/sampleapp/DiscoveryExample.java @@ -41,14 +41,14 @@ public class DiscoveryExample { List<AtlasEntityHeader> entities = result != null ? result.getEntities() : null; int resultCount = entities == null ? 0 : entities.size(); - System.out.println("DSL Query: " + dslQuery); - System.out.println(" result count: " + resultCount); + SampleApp.log("DSL Query: " + dslQuery); + SampleApp.log(" result count: " + resultCount); for (int i = 0; i < resultCount; i++) { - System.out.println(" result # " + (i + 1) + ": " + entities.get(i)); + SampleApp.log(" result # " + (i + 1) + ": " + entities.get(i)); } } catch (Exception e) { - System.out.println("query -: " + dslQuery + " failed"); + SampleApp.log("query -: " + dslQuery + " failed"); } } } @@ -59,11 +59,11 @@ public class DiscoveryExample { List<AtlasEntityHeader> entities = result != null && result.getSearchResults() != null ? result.getSearchResults().getEntities() : null; int resultCount = entities == null ? 0 : entities.size(); - System.out.println("Quick search: query-string=" + searchString); - System.out.println(" result count: " + resultCount); + SampleApp.log("Quick search: query-string=" + searchString); + SampleApp.log(" result count: " + resultCount); for (int i = 0; i < resultCount; i++) { - System.out.println(" result # " + (i + 1) + ": " + entities.get(i)); + SampleApp.log(" result # " + (i + 1) + ": " + entities.get(i)); } } catch (AtlasServiceException e) { e.printStackTrace(); @@ -76,11 +76,11 @@ public class DiscoveryExample { List<AtlasEntityHeader> entities = result != null ? result.getEntities() : null; int resultCount = entities == null ? 0 : entities.size(); - System.out.println("Basic search: typeName=" + typeName + ", classification=" + classification + ", query=" + query); - System.out.println(" result count: " + resultCount); + SampleApp.log("Basic search: typeName=" + typeName + ", classification=" + classification + ", query=" + query); + SampleApp.log(" result count: " + resultCount); for (int i = 0; i < resultCount; i++) { - System.out.println(" result # " + (i + 1) + ": " + entities.get(i)); + SampleApp.log(" result # " + (i + 1) + ": " + entities.get(i)); } } catch (AtlasServiceException e) { e.printStackTrace(); diff --git a/atlas-examples/sample-app/src/main/java/org/apache/atlas/examples/sampleapp/EntityExample.java b/atlas-examples/sample-app/src/main/java/org/apache/atlas/examples/sampleapp/EntityExample.java index 23fc3b8..3d9d484 100644 --- a/atlas-examples/sample-app/src/main/java/org/apache/atlas/examples/sampleapp/EntityExample.java +++ b/atlas-examples/sample-app/src/main/java/org/apache/atlas/examples/sampleapp/EntityExample.java @@ -65,25 +65,25 @@ public class EntityExample { if (dbEntity == null) { dbEntity = createDatabaseEntity(DATABASE_NAME); - System.out.println("Created database entity: typeName=" + dbEntity.getTypeName() + ", guid=" + dbEntity.getGuid()); + SampleApp.log("Created entity: typeName=" + dbEntity.getTypeName() + ", qualifiedName=" + dbEntity.getAttribute(ATTR_QUALIFIED_NAME) + ", guid=" + dbEntity.getGuid()); } if (tableEntityCanada == null) { tableEntityCanada = createTableEntity(TABLE_NAME + "_CANADA"); - System.out.println("Created table entity : typeName=" + tableEntityCanada.getTypeName() + ", guid=" + tableEntityCanada.getGuid()); + SampleApp.log("Created entity: typeName=" + tableEntityCanada.getTypeName() + ", qualifiedName=" + tableEntityCanada.getAttribute(ATTR_QUALIFIED_NAME) + ", guid=" + tableEntityCanada.getGuid()); } if (tableEntityUS == null) { tableEntityUS = createTableEntity(TABLE_NAME + "_US"); - System.out.println("Created table entity : typeName=" + tableEntityUS.getTypeName() + ", guid=" + tableEntityUS.getGuid()); + SampleApp.log("Created entity: typeName=" + tableEntityUS.getTypeName() + ", qualifiedName=" + tableEntityUS.getAttribute(ATTR_QUALIFIED_NAME) + ", guid=" + tableEntityUS.getGuid()); } if (loadProcess == null) { loadProcess = createProcessEntity(PROCESS_NAME); - System.out.println("Created process entity : typeName=" + loadProcess.getTypeName() + ", guid=" + loadProcess.getGuid()); + SampleApp.log("Created entity: typeName=" + loadProcess.getTypeName() + ", qualifiedName=" + loadProcess.getAttribute(ATTR_QUALIFIED_NAME) + ", guid=" + loadProcess.getGuid()); } } @@ -95,22 +95,23 @@ public class EntityExample { AtlasEntityWithExtInfo entity = client.getEntityByGuid(entityGuid); if (entity != null) { - System.out.println("Retrieved entity with guid=" + entityGuid + ": " + entity); + SampleApp.log("Retrieved entity with guid=" + entityGuid); + SampleApp.log(" " + entity); } } public void deleteEntities() throws Exception { client.deleteEntityByGuid(loadProcess.getGuid()); - System.out.println("Deleted entity: guid=" + loadProcess.getGuid()); + SampleApp.log("Deleted entity: guid=" + loadProcess.getGuid()); List<String> entityGuids = Arrays.asList(tableEntityUS.getGuid(), tableEntityCanada.getGuid(), dbEntity.getGuid()); client.deleteEntitiesByGuids(entityGuids); - System.out.println("Deleted entities:"); + SampleApp.log("Deleted entities:"); for (String entityGuid : entityGuids) { - System.out.println(" guid=" + entityGuid); + SampleApp.log(" guid=" + entityGuid); } } @@ -119,14 +120,14 @@ public class EntityExample { Arrays.asList(createColumn(COLUMN_TIME_ID, "int", "time id"), createColumn(COLUMN_CUSTOMER_ID, "int", "customer id", SampleAppConstants.PII_TAG), createColumn(COLUMN_COMPANY_ID, "double", "company id", SampleAppConstants.FINANCE_TAG)), - SampleAppConstants.METRIC_CLASSIFICATION); + SampleAppConstants.METRIC_TAG); } private AtlasEntityHeader createProcessEntity(String processName) throws Exception { return createProcess(processName, "hive query for monthly avg salary", "user ETL", asList(tableEntityUS), asList(tableEntityCanada), - "create table as select ", "plan", "id", "graph", SampleAppConstants.CLASSIFICATION); + "create table as select ", "plan", "id", "graph", SampleAppConstants.CLASSIFIED_TAG); } private AtlasEntityHeader createProcess(String name, String description, String user, List<AtlasEntity> inputs, List<AtlasEntity> outputs, @@ -193,7 +194,7 @@ public class EntityExample { } } } catch (AtlasServiceException e) { - System.out.println("failed in create entity"); + SampleApp.log("failed in create entity"); e.printStackTrace(); } diff --git a/atlas-examples/sample-app/src/main/java/org/apache/atlas/examples/sampleapp/GlossaryExample.java b/atlas-examples/sample-app/src/main/java/org/apache/atlas/examples/sampleapp/GlossaryExample.java index a49b8e8..e4fc4ed 100644 --- a/atlas-examples/sample-app/src/main/java/org/apache/atlas/examples/sampleapp/GlossaryExample.java +++ b/atlas-examples/sample-app/src/main/java/org/apache/atlas/examples/sampleapp/GlossaryExample.java @@ -51,12 +51,12 @@ public class GlossaryExample { assert (extInfo != null); - System.out.println("extra info of Glossary is :- " + extInfo.getGuid() + " name is :- " + extInfo.getName() + " language is :- " + extInfo.getLanguage()); + SampleApp.log("extra info of Glossary is :- " + extInfo.getGuid() + " name is :- " + extInfo.getName() + " language is :- " + extInfo.getLanguage()); } public void createGlossaryTerm() throws Exception { if (empSalaryTerm != null) { - System.out.println("EmpSalaryTerm: term already exists"); + SampleApp.log("EmpSalaryTerm: term already exists"); return; } @@ -72,13 +72,13 @@ public class GlossaryExample { empSalaryTerm = client.createGlossaryTerm(term); if (empSalaryTerm != null) { - System.out.println("Created term for Employee Salary: " + empSalaryTerm); + SampleApp.log("Created term for Employee Salary: " + empSalaryTerm); } } public void createGlossaryCategory() throws Exception { if (empCompanyCategory != null) { - System.out.println("EmpSalaryCategory: category already exists"); + SampleApp.log("EmpSalaryCategory: category already exists"); return; } @@ -94,7 +94,7 @@ public class GlossaryExample { empCompanyCategory = client.createGlossaryCategory(category); if (empCompanyCategory != null) { - System.out.println("Created Category for Employee Category :- " + empCompanyCategory); + SampleApp.log("Created Category for Employee Category :- " + empCompanyCategory); } } @@ -102,7 +102,7 @@ public class GlossaryExample { if (empGlossary != null) { client.deleteGlossaryByGuid(empGlossary.getGuid()); - System.out.println("empGlossary is not present. Skipping the delete operation."); + SampleApp.log("empGlossary is not present. Skipping the delete operation."); } empGlossary = null; diff --git a/atlas-examples/sample-app/src/main/java/org/apache/atlas/examples/sampleapp/LineageExample.java b/atlas-examples/sample-app/src/main/java/org/apache/atlas/examples/sampleapp/LineageExample.java index d923965..aba3b81 100644 --- a/atlas-examples/sample-app/src/main/java/org/apache/atlas/examples/sampleapp/LineageExample.java +++ b/atlas-examples/sample-app/src/main/java/org/apache/atlas/examples/sampleapp/LineageExample.java @@ -41,8 +41,8 @@ public class LineageExample { AtlasEntityHeader fromEntity = guidEntityMap.get(relation.getFromEntityId()); AtlasEntityHeader toEntity = guidEntityMap.get(relation.getToEntityId()); - System.out.println(fromEntity.getDisplayText() + "(" + fromEntity.getTypeName() + ") -> " + - toEntity.getDisplayText() + "(" + toEntity.getTypeName() + ")"); + SampleApp.log(fromEntity.getDisplayText() + "(" + fromEntity.getTypeName() + ") -> " + + toEntity.getDisplayText() + "(" + toEntity.getTypeName() + ")"); } } } \ No newline at end of file diff --git a/atlas-examples/sample-app/src/main/java/org/apache/atlas/examples/sampleapp/SampleApp.java b/atlas-examples/sample-app/src/main/java/org/apache/atlas/examples/sampleapp/SampleApp.java index 5ef6a90..f663de1 100644 --- a/atlas-examples/sample-app/src/main/java/org/apache/atlas/examples/sampleapp/SampleApp.java +++ b/atlas-examples/sample-app/src/main/java/org/apache/atlas/examples/sampleapp/SampleApp.java @@ -22,7 +22,7 @@ import org.apache.atlas.AtlasException; import org.apache.atlas.model.instance.AtlasEntity; import org.apache.atlas.utils.AuthenticationUtil; -import java.util.Scanner; +import java.util.Date; public class SampleApp { private AtlasClientV2 client; @@ -36,17 +36,17 @@ public class SampleApp { } public static void main(String[] args) throws Exception { - String[] basicAuthUsernamePassword = null; - String[] atlasServerUrls = null; - SampleApp sampleApp = null; + SampleApp sampleApp = null; try { - atlasServerUrls = getServerUrl(); - if (!AuthenticationUtil.isKerberosAuthenticationEnabled()) { - basicAuthUsernamePassword = getUserInput(); - sampleApp = new SampleApp(atlasServerUrls, basicAuthUsernamePassword); + String[] atlasServerUrls = getServerUrl(); + String[] basicAuthUsernamePassword = getUserInput(); + + sampleApp = new SampleApp(atlasServerUrls, basicAuthUsernamePassword); } else { + String[] atlasServerUrls = getServerUrl(); + sampleApp = new SampleApp(atlasServerUrls); } @@ -75,8 +75,6 @@ public class SampleApp { sampleApp.glossaryExample(); entityExample.deleteEntities(); - - typeDefExample.removeTypeDefinitions(); } finally { if (sampleApp != null && sampleApp.getClient() != null) { sampleApp.getClient().close(); @@ -84,6 +82,10 @@ public class SampleApp { } } + public static void log(String message) { + System.out.println("[" + new Date() + "] " + message); + } + public AtlasClientV2 getClient() { return client; } @@ -99,7 +101,7 @@ public class SampleApp { discoveryExample.testSearch(); discoveryExample.quickSearch(entity.getTypeName()); - discoveryExample.basicSearch(entity.getTypeName(), SampleAppConstants.METRIC_CLASSIFICATION, (String)entity.getAttribute(SampleAppConstants.ATTR_NAME)); + discoveryExample.basicSearch(entity.getTypeName(), SampleAppConstants.METRIC_TAG, (String)entity.getAttribute(SampleAppConstants.ATTR_NAME)); } private void glossaryExample() throws Exception { @@ -113,39 +115,30 @@ public class SampleApp { } private static String[] getUserInput() { - String username = null; - String password = null; - try { - Scanner scanner = new Scanner(System.in); - - System.out.println("Enter username for atlas :- "); - username = scanner.nextLine(); + String username = System.console().readLine("Enter username: "); + char[] pwChar = System.console().readPassword("Enter password: "); + String password = (pwChar != null) ? new String(pwChar) : ""; - System.out.println("Enter password for atlas :- "); - password = scanner.nextLine(); + return new String[] { username, password }; } catch (Exception e) { System.out.print("Error while reading user input"); System.exit(1); } - return new String[] { username, password }; + return null; // will not reach here } private static String[] getServerUrl() { - String atlasServerUrl = null; - try { - Scanner scanner = new Scanner(System.in); - - System.out.println("Enter url for Atlas server :- "); + String atlasServerUrl = System.console().readLine("Enter Atlas server URL: "); - atlasServerUrl = scanner.nextLine(); + return new String[] { atlasServerUrl }; } catch (Exception e) { System.out.print("Error while reading user input"); System.exit(1); } - return new String[] { atlasServerUrl }; + return null; // will not reach here } } \ No newline at end of file diff --git a/atlas-examples/sample-app/src/main/java/org/apache/atlas/examples/sampleapp/SampleAppConstants.java b/atlas-examples/sample-app/src/main/java/org/apache/atlas/examples/sampleapp/SampleAppConstants.java index d6f113a..4b7b44d 100644 --- a/atlas-examples/sample-app/src/main/java/org/apache/atlas/examples/sampleapp/SampleAppConstants.java +++ b/atlas-examples/sample-app/src/main/java/org/apache/atlas/examples/sampleapp/SampleAppConstants.java @@ -56,20 +56,20 @@ public final class SampleAppConstants { public static final String ENTITY_TYPE_DATASET = "DataSet"; public static final String ENTITY_TYPE_PROCESS = "Process"; - public static final String PII_TAG = "sample_pii_Tag"; - public static final String FINANCE_TAG = "sample_finance_Tag"; - public static final String CLASSIFICATION = "classification"; - public static final String METRIC_CLASSIFICATION = "Metric"; + public static final String PII_TAG = "SAMPLE_PII"; + public static final String FINANCE_TAG = "SAMPLE_FINANCE"; + public static final String CLASSIFIED_TAG = "SAMPLE_CLASSIFIED"; + public static final String METRIC_TAG = "SAMPLE_METRIC"; public static final String DATABASE_TYPE = "sample_db_type"; public static final String PROCESS_TYPE = "sample_process_type"; public static final String TABLE_TYPE = "sample_table_type"; public static final String COLUMN_TYPE = "sample_column_type"; - public static final String TABLE_DATABASE_TYPE = "sample_Table_DB"; - public static final String TABLE_COLUMNS_TYPE = "sample_Table_Columns"; - public static final String ENUM_TABLE_TYPE = "tableType"; - public static final String BUSINESS_METADATA_TYPE = "bmWithAllTypes"; - public static final String BUSINESS_METADATA_TYPE_MV = "bmWithAllTypesMV"; - public static final String STRUCT_TYPE_SERDE = "serdeType"; + public static final String TABLE_DATABASE_TYPE = "sample_db_tables"; + public static final String TABLE_COLUMNS_TYPE = "sample_table_columns"; + public static final String ENUM_TABLE_TYPE = "sample_tableType"; + public static final String BUSINESS_METADATA_TYPE = "sample_bmWithAllTypes"; + public static final String BUSINESS_METADATA_TYPE_MV = "sample_bmWithAllTypesMV"; + public static final String STRUCT_TYPE_SERDE = "sample_serdeType"; } diff --git a/atlas-examples/sample-app/src/main/java/org/apache/atlas/examples/sampleapp/TypeDefExample.java b/atlas-examples/sample-app/src/main/java/org/apache/atlas/examples/sampleapp/TypeDefExample.java index 01c5b31..be89bd1 100644 --- a/atlas-examples/sample-app/src/main/java/org/apache/atlas/examples/sampleapp/TypeDefExample.java +++ b/atlas-examples/sample-app/src/main/java/org/apache/atlas/examples/sampleapp/TypeDefExample.java @@ -58,9 +58,9 @@ public class TypeDefExample { SampleAppConstants.COLUMN_TYPE, SampleAppConstants.PROCESS_TYPE, SampleAppConstants.PII_TAG, - SampleAppConstants.CLASSIFICATION, + SampleAppConstants.CLASSIFIED_TAG, SampleAppConstants.FINANCE_TAG, - SampleAppConstants.METRIC_CLASSIFICATION + SampleAppConstants.METRIC_TAG }; private final AtlasClientV2 client; @@ -104,7 +104,7 @@ public class TypeDefExample { assert (!typesDef.isEmpty()); - System.out.println("Created type [" + typeName + "]"); + SampleApp.log("Created type: " + typeName); } } @@ -114,7 +114,7 @@ public class TypeDefExample { typesDef = null; - System.out.println("Deleted TypeDef successfully!"); + SampleApp.log("Deleted TypesDef successfully!"); } } @@ -172,10 +172,10 @@ public class TypeDefExample { } private List<AtlasClassificationDef> createClassificationDefs() { - AtlasClassificationDef classification = createTraitTypeDef(SampleAppConstants.CLASSIFICATION, Collections.<String>emptySet(), AtlasTypeUtil.createRequiredAttrDef("tag", "string")); + AtlasClassificationDef classification = createTraitTypeDef(SampleAppConstants.CLASSIFIED_TAG, Collections.<String>emptySet(), AtlasTypeUtil.createRequiredAttrDef("tag", "string")); AtlasClassificationDef pii = createTraitTypeDef(SampleAppConstants.PII_TAG, Collections.<String>emptySet()); AtlasClassificationDef finance = createTraitTypeDef(SampleAppConstants.FINANCE_TAG, Collections.<String>emptySet()); - AtlasClassificationDef metric = createTraitTypeDef(SampleAppConstants.METRIC_CLASSIFICATION, Collections.emptySet()); + AtlasClassificationDef metric = createTraitTypeDef(SampleAppConstants.METRIC_TAG, Collections.emptySet()); return Arrays.asList(classification, pii, finance, metric); } @@ -223,7 +223,7 @@ public class TypeDefExample { for (AtlasEnumDef enumDef : typesDef.getEnumDefs()) { if (client.typeWithNameExists(enumDef.getName())) { - System.out.println("Type " + enumDef.getName() + " already exists. Skipping"); + SampleApp.log(enumDef.getName() + ": type already exists. Skipping"); } else { typesToCreate.getEnumDefs().add(enumDef); } @@ -231,7 +231,7 @@ public class TypeDefExample { for (AtlasStructDef structDef : typesDef.getStructDefs()) { if (client.typeWithNameExists(structDef.getName())) { - System.out.println("Type " + structDef.getName() + " already exists. Skipping"); + SampleApp.log(structDef.getName() + ": type already exists. Skipping"); } else { typesToCreate.getStructDefs().add(structDef); } @@ -239,7 +239,7 @@ public class TypeDefExample { for (AtlasEntityDef entityDef : typesDef.getEntityDefs()) { if (client.typeWithNameExists(entityDef.getName())) { - System.out.println("Type " + entityDef.getName() + " already exists. Skipping"); + SampleApp.log(entityDef.getName() + ": type already exists. Skipping"); } else { typesToCreate.getEntityDefs().add(entityDef); } @@ -247,7 +247,7 @@ public class TypeDefExample { for (AtlasClassificationDef classificationDef : typesDef.getClassificationDefs()) { if (client.typeWithNameExists(classificationDef.getName())) { - System.out.println("Type " + classificationDef.getName() + " already exists. Skipping"); + SampleApp.log(classificationDef.getName() + ": type already exists. Skipping"); } else { typesToCreate.getClassificationDefs().add(classificationDef); } @@ -255,7 +255,7 @@ public class TypeDefExample { for (AtlasRelationshipDef relationshipDef : typesDef.getRelationshipDefs()) { if (client.typeWithNameExists(relationshipDef.getName())) { - System.out.println("Type " + relationshipDef.getName() + " already exists. Skipping"); + SampleApp.log(relationshipDef.getName() + ": type already exists. Skipping"); } else { typesToCreate.getRelationshipDefs().add(relationshipDef); } @@ -263,7 +263,7 @@ public class TypeDefExample { for (AtlasBusinessMetadataDef businessMetadataDef : typesDef.getBusinessMetadataDefs()) { if (client.typeWithNameExists(businessMetadataDef.getName())) { - System.out.println("Type " + businessMetadataDef.getName() + " already exists. Skipping"); + SampleApp.log(businessMetadataDef.getName() + ": type already exists. Skipping"); } else { typesToCreate.getBusinessMetadataDefs().add(businessMetadataDef); }