Repository: incubator-atlas Updated Branches: refs/heads/master f5f9fa099 -> dbfca6224
ATLAS-1502 - Fix for not getting atlas application properties using PropertiesConfiguration sometimes, so changed to ApplicationProperties Project: http://git-wip-us.apache.org/repos/asf/incubator-atlas/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-atlas/commit/dbfca622 Tree: http://git-wip-us.apache.org/repos/asf/incubator-atlas/tree/dbfca622 Diff: http://git-wip-us.apache.org/repos/asf/incubator-atlas/diff/dbfca622 Branch: refs/heads/master Commit: dbfca6224965574b5c6e9be0ebc846cb0439e944 Parents: f5f9fa0 Author: nixonrodrigues <[email protected]> Authored: Wed Feb 22 15:36:12 2017 +0530 Committer: kevalbhatt <[email protected]> Committed: Wed Feb 22 18:30:24 2017 +0530 ---------------------------------------------------------------------- release-log.txt | 6 ++++ .../atlas/web/resources/AdminResource.java | 30 ++++++++++++++------ 2 files changed, 28 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/dbfca622/release-log.txt ---------------------------------------------------------------------- diff --git a/release-log.txt b/release-log.txt index 29c98cf..14c026a 100644 --- a/release-log.txt +++ b/release-log.txt @@ -9,6 +9,12 @@ ATLAS-1060 Add composite indexes for exact match performance improvements for al ATLAS-1127 Modify creation and modification timestamps to Date instead of Long(sumasai) ALL CHANGES: +ATLAS-1502 - Fix for not getting atlas application properties using PropertiesConfiguration sometimes, so changed to ApplicationProperties (nixonrodrigues via kevalbhatt) +ATLAS-1586: type search improvement by avoiding unnecessary instantiation of type objects (mneethiraj) +ATLAS-1583: fix incorrect metrics by import API (ashutoshm via mneethiraj) +ATLAS-1571: fix for incorrect v1->v2 conversion of enum-type value (mneethiraj) +ATLAS-1576: fix for NPE while handling unknown attributes (mneethiraj) +ATLAS-1577: audit event generated for an entity overwrites previous event for the entity (mneethiraj) ATLAS-1546: Changed to LOG.warn instead error in Hive hook should choose appropriate JAAS config if host uses kerberos ticket-cache (nixonrodrigues via kevalbhatt) ATLAS-1569 Clear contents of RequestContextV1 at the end of the request (mneethiraj) ATLAS-1570 Fix for Taxonomy service test failures (apoorvnaik via mneethiraj) http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/dbfca622/webapp/src/main/java/org/apache/atlas/web/resources/AdminResource.java ---------------------------------------------------------------------- diff --git a/webapp/src/main/java/org/apache/atlas/web/resources/AdminResource.java b/webapp/src/main/java/org/apache/atlas/web/resources/AdminResource.java index 9f207df..f11d2d1 100755 --- a/webapp/src/main/java/org/apache/atlas/web/resources/AdminResource.java +++ b/webapp/src/main/java/org/apache/atlas/web/resources/AdminResource.java @@ -19,8 +19,10 @@ package org.apache.atlas.web.resources; import com.google.inject.Inject; +import org.apache.atlas.ApplicationProperties; import org.apache.atlas.AtlasClient; import org.apache.atlas.AtlasErrorCode; +import org.apache.atlas.AtlasException; import org.apache.atlas.exception.AtlasBaseException; import org.apache.atlas.model.impexp.AtlasExportRequest; import org.apache.atlas.model.impexp.AtlasExportResult; @@ -68,6 +70,7 @@ import java.util.Collection; import java.util.HashSet; import java.util.Set; import java.util.concurrent.locks.ReentrantLock; +import org.apache.commons.configuration.Configuration; import static org.apache.atlas.repository.converters.AtlasInstanceConverter.toAtlasBaseException; @@ -96,7 +99,7 @@ public class AdminResource { private static final String isEntityUpdateAllowed = "atlas.entity.update.allowed"; private static final String isEntityCreateAllowed = "atlas.entity.create.allowed"; private static final String editableEntityTypes = "atlas.ui.editable.entity.types"; - private static final String DEFAULT_EDITABLE_ENTITY_TYPES = "hdfs_path,hdfs_path,hbase_table,hbase_column,hbase_column_family,kafka_topic"; + private static final String DEFAULT_EDITABLE_ENTITY_TYPES = "hdfs_path,hbase_table,hbase_column,hbase_column_family,kafka_topic"; private Response version; private final ServiceState serviceState; @@ -104,6 +107,15 @@ public class AdminResource { private final AtlasTypeRegistry typeRegistry; private final AtlasTypeDefStore typesDefStore; private final AtlasEntityStore entityStore; + private static Configuration atlasProperties; + + static { + try { + atlasProperties = ApplicationProperties.get(); + } catch (Exception e) { + LOG.info("Failed to load application properties", e); + } + } @Inject public AdminResource(ServiceState serviceState, MetricsService metricsService, @@ -225,10 +237,12 @@ public class AdminResource { } Response response; - + Boolean enableTaxonomy = false; try { - PropertiesConfiguration configProperties = new PropertiesConfiguration("atlas-application.properties"); - Boolean enableTaxonomy = configProperties.getBoolean(isTaxonomyEnabled, false); + if(atlasProperties != null) { + enableTaxonomy = atlasProperties.getBoolean(isTaxonomyEnabled, false); + } + boolean isEntityUpdateAccessAllowed = false; boolean isEntityCreateAccessAllowed = false; Authentication auth = SecurityContextHolder.getContext().getAuthentication(); @@ -255,12 +269,12 @@ public class AdminResource { responseData.put(isTaxonomyEnabled, enableTaxonomy); responseData.put(isEntityUpdateAllowed, isEntityUpdateAccessAllowed); responseData.put(isEntityCreateAllowed, isEntityCreateAccessAllowed); - responseData.put(editableEntityTypes, getEditableEntityTypes(configProperties)); + responseData.put(editableEntityTypes, getEditableEntityTypes(atlasProperties)); responseData.put("userName", userName); responseData.put("groups", groups); response = Response.ok(responseData).build(); - } catch (JSONException | ConfigurationException e) { + } catch (JSONException e) { throw new WebApplicationException(Servlets.getErrorResponse(e, Response.Status.INTERNAL_SERVER_ERROR)); } @@ -411,10 +425,10 @@ public class AdminResource { return result; } - private String getEditableEntityTypes(PropertiesConfiguration config) { + private String getEditableEntityTypes(Configuration config) { String ret = DEFAULT_EDITABLE_ENTITY_TYPES; - if (config.containsKey(editableEntityTypes)) { + if (config != null && config.containsKey(editableEntityTypes)) { Object value = config.getProperty(editableEntityTypes); if (value instanceof String) {
