-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/63120/
-----------------------------------------------------------
Review request for atlas, Apoorv Naik, Ashutosh Mestry, and Madhan Neethiraj.
Bugs: ATLAS-2216
https://issues.apache.org/jira/browse/ATLAS-2216
Repository: atlas
Description
-------
Taxonomy was introduced as a tech preview feature earlier, but the following
challenges in design/implementation make it necessary to replace the current
implementation with newer features being introduced:
1. Current implementation uses tags to model taxonomy terms, which limits a
term to be associated to one entity only. Associating with multiple entities
would require copying of a term, making it difficult to manage.
2. Current implementation uses dot separated naming convention to model
taxonomy hierarchy. This makes it inefficient to rebuild taxonomy hierarchy.
3. Current implementation uses tinkerpop blueprints API and makes it difficult
for migration to newer tinkerpop version.
4. Current implementation is tied to tinkerpop2/titan0 version and since this
is not abstracted; it blocks the introduction of JanusGraph into Atlas
ATLAS-1410 introduces a new Glossary API, which uses entities to model taxonomy
terms and uses relationships feature to associate terms with entities. Also,
the new model includes categories, which makes Glossary to be used for wider
use-cases. Use of relationships to associate terms with entities would also
allow tag-propagation more naturally.
Given above, I propose to remove current tech-preview implementation of
taxonomy feature from both server-side and UI in master branch. Once this is
removed, existing taxonomy terms will be seen as tags along with rest of the
tags.
Diffs
-----
addons/models/0000-Area0/0010-base_model.json 41cf916e
authorization/src/main/java/org/apache/atlas/authorize/AtlasResourceTypes.java
9902685e
authorization/src/main/java/org/apache/atlas/authorize/simple/AtlasAuthorizationUtils.java
cc42a730
authorization/src/main/java/org/apache/atlas/authorize/simple/PolicyParser.java
aabac901
authorization/src/test/java/org/apache/atlas/authorize/simple/AtlasAuthorizationUtilsTest.java
b76a297a
catalog/pom.xml 0d13ae47
catalog/src/main/java/org/apache/atlas/catalog/AtlasTypeSystem.java 8f9cd1d3
catalog/src/main/java/org/apache/atlas/catalog/BaseRequest.java c03d6d09
catalog/src/main/java/org/apache/atlas/catalog/BaseResourceProvider.java
feb9d727
catalog/src/main/java/org/apache/atlas/catalog/CollectionRequest.java
8a6e7fcc
catalog/src/main/java/org/apache/atlas/catalog/DefaultDateFormatter.java
df075059
catalog/src/main/java/org/apache/atlas/catalog/DefaultPropertyMapper.java
6c41881d
catalog/src/main/java/org/apache/atlas/catalog/DefaultTypeSystem.java
888818e4
catalog/src/main/java/org/apache/atlas/catalog/EntityResourceProvider.java
cee102af
catalog/src/main/java/org/apache/atlas/catalog/EntityTagResourceProvider.java
c2a843b5
catalog/src/main/java/org/apache/atlas/catalog/InstanceRequest.java 87722291
catalog/src/main/java/org/apache/atlas/catalog/JsonSerializer.java a75639f4
catalog/src/main/java/org/apache/atlas/catalog/PropertyMapper.java 50ee2757
catalog/src/main/java/org/apache/atlas/catalog/PropertyValueFormatter.java
a42f5287
catalog/src/main/java/org/apache/atlas/catalog/Request.java 86da787d
catalog/src/main/java/org/apache/atlas/catalog/ResourceComparator.java
deb2e4c7
catalog/src/main/java/org/apache/atlas/catalog/ResourceProvider.java a63309ef
catalog/src/main/java/org/apache/atlas/catalog/Result.java 34a81abe
catalog/src/main/java/org/apache/atlas/catalog/TaxonomyResourceProvider.java
b59dcae0
catalog/src/main/java/org/apache/atlas/catalog/TermPath.java 32522272
catalog/src/main/java/org/apache/atlas/catalog/TermResourceProvider.java
3202d040
catalog/src/main/java/org/apache/atlas/catalog/TermVertexWrapper.java
14fcca75
catalog/src/main/java/org/apache/atlas/catalog/VertexWrapper.java 966a3ae7
catalog/src/main/java/org/apache/atlas/catalog/definition/BaseResourceDefinition.java
6a67b250
catalog/src/main/java/org/apache/atlas/catalog/definition/EntityResourceDefinition.java
052a21d3
catalog/src/main/java/org/apache/atlas/catalog/definition/EntityTagResourceDefinition.java
c5a42135
catalog/src/main/java/org/apache/atlas/catalog/definition/ResourceDefinition.java
a797f0bd
catalog/src/main/java/org/apache/atlas/catalog/definition/TaxonomyResourceDefinition.java
434a189f
catalog/src/main/java/org/apache/atlas/catalog/definition/TermResourceDefinition.java
51ef65a5
catalog/src/main/java/org/apache/atlas/catalog/exception/CatalogException.java
7bb2f7b8
catalog/src/main/java/org/apache/atlas/catalog/exception/CatalogRuntimeException.java
51fd7afb
catalog/src/main/java/org/apache/atlas/catalog/exception/InvalidPayloadException.java
34c5ab59
catalog/src/main/java/org/apache/atlas/catalog/exception/InvalidQueryException.java
a7abe239
catalog/src/main/java/org/apache/atlas/catalog/exception/ResourceAlreadyExistsException.java
d7670c1a
catalog/src/main/java/org/apache/atlas/catalog/exception/ResourceNotFoundException.java
0307137a
catalog/src/main/java/org/apache/atlas/catalog/projection/BaseRelation.java
03f4f501
catalog/src/main/java/org/apache/atlas/catalog/projection/GenericRelation.java
2cccd817
catalog/src/main/java/org/apache/atlas/catalog/projection/Projection.java
daa1351f
catalog/src/main/java/org/apache/atlas/catalog/projection/ProjectionResult.java
7b12e2d5
catalog/src/main/java/org/apache/atlas/catalog/projection/Relation.java
b19bc15c
catalog/src/main/java/org/apache/atlas/catalog/projection/RelationProjection.java
e4356287
catalog/src/main/java/org/apache/atlas/catalog/projection/RelationSet.java
4adf861e
catalog/src/main/java/org/apache/atlas/catalog/projection/TagRelation.java
cdd1ad14
catalog/src/main/java/org/apache/atlas/catalog/projection/TraitRelation.java
d0f75f3e
catalog/src/main/java/org/apache/atlas/catalog/query/AlwaysQueryExpression.java
d120bc45
catalog/src/main/java/org/apache/atlas/catalog/query/AtlasEntityQuery.java
d6b737c6
catalog/src/main/java/org/apache/atlas/catalog/query/AtlasEntityTagQuery.java
3e301f37
catalog/src/main/java/org/apache/atlas/catalog/query/AtlasQuery.java 4930ab09
catalog/src/main/java/org/apache/atlas/catalog/query/AtlasTaxonomyQuery.java
df3e8da5
catalog/src/main/java/org/apache/atlas/catalog/query/AtlasTermQuery.java
f064037a
catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java ff48020b
catalog/src/main/java/org/apache/atlas/catalog/query/BaseQueryExpression.java
2364ee53
catalog/src/main/java/org/apache/atlas/catalog/query/BooleanQueryExpression.java
b4d759a5
catalog/src/main/java/org/apache/atlas/catalog/query/PrefixQueryExpression.java
6b43667a
catalog/src/main/java/org/apache/atlas/catalog/query/ProjectionQueryExpression.java
b9158779
catalog/src/main/java/org/apache/atlas/catalog/query/QueryExpression.java
c53b94b2
catalog/src/main/java/org/apache/atlas/catalog/query/QueryFactory.java
a4fd4ad1
catalog/src/main/java/org/apache/atlas/catalog/query/RegexQueryExpression.java
c28d4d5d
catalog/src/main/java/org/apache/atlas/catalog/query/TermQueryExpression.java
a7908664
catalog/src/main/java/org/apache/atlas/catalog/query/TermRangeQueryExpression.java
44cfb72e
catalog/src/main/java/org/apache/atlas/catalog/query/WildcardQueryExpression.java
689891f6
catalog/src/test/java/org/apache/atlas/catalog/CollectionRequestTest.java
a2285462
catalog/src/test/java/org/apache/atlas/catalog/DefaultDateFormatterTest.java
bbc98c59
catalog/src/test/java/org/apache/atlas/catalog/DefaultPropertyMapperTest.java
d37c0416
catalog/src/test/java/org/apache/atlas/catalog/EntityResourceProviderTest.java
67af4091
catalog/src/test/java/org/apache/atlas/catalog/EntityTagResourceProviderTest.java
96cb523c
catalog/src/test/java/org/apache/atlas/catalog/InstanceRequestTest.java
d7162967
catalog/src/test/java/org/apache/atlas/catalog/JsonSerializerTest.java
60cc210e
catalog/src/test/java/org/apache/atlas/catalog/ResourceComparatorTest.java
146ca0c3
catalog/src/test/java/org/apache/atlas/catalog/TaxonomyResourceProviderTest.java
8dfce5e9
catalog/src/test/java/org/apache/atlas/catalog/TermResourceProviderTest.java
7d61579d
catalog/src/test/java/org/apache/atlas/catalog/VertexWrapperTest.java
41d934f0
catalog/src/test/java/org/apache/atlas/catalog/definition/EntityResourceDefinitionTest.java
5e56e84e
catalog/src/test/java/org/apache/atlas/catalog/definition/EntityTagResourceDefinitionTest.java
41f50c7d
catalog/src/test/java/org/apache/atlas/catalog/definition/TaxonomyResourceDefinitionTest.java
1af8d149
catalog/src/test/java/org/apache/atlas/catalog/definition/TermResourceDefinitionTest.java
b7b23da2
catalog/src/test/java/org/apache/atlas/catalog/projection/TagRelationTest.java
5a9c875b
catalog/src/test/java/org/apache/atlas/catalog/query/AlwaysQueryExpressionTest.java
81d70a4f
catalog/src/test/java/org/apache/atlas/catalog/query/AtlasEntityQueryTest.java
528c83a7
catalog/src/test/java/org/apache/atlas/catalog/query/QueryFactoryTest.java
36cb6dc7
distro/src/conf/atlas-application.properties 585a5791
distro/src/conf/policy-store.txt c804b8d4
pom.xml 3bbfdd9c
typesystem/src/test/resources/policy-store.txt 47583c1e
webapp/pom.xml bfa79e81
webapp/src/main/java/org/apache/atlas/web/resources/AdminResource.java
82a4d4eb
webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java a013494c
webapp/src/main/java/org/apache/atlas/web/resources/CatalogExceptionMapper.java
4f7da2e9
webapp/src/main/java/org/apache/atlas/web/resources/CatalogRuntimeExceptionMapper.java
e11d6d1b
webapp/src/main/java/org/apache/atlas/web/resources/EntityService.java
77115d7c
webapp/src/main/java/org/apache/atlas/web/resources/TaxonomyService.java
05b197fc
webapp/src/test/java/org/apache/atlas/web/resources/TaxonomyServiceTest.java
54a9b9a2
webapp/src/test/java/org/apache/atlas/web/security/BaseSecurityTest.java
ad87025d
Diff: https://reviews.apache.org/r/63120/diff/1/
Testing
-------
mvn clean install -DskipTests build was sucessfull
validation with embedded-hbase-solr profile - inprogress
Thanks,
Sarath Subramanian