----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/69305/ -----------------------------------------------------------
(Updated Nov. 13, 2018, 11:24 p.m.) Review request for atlas, Kapildeo Nayak, Madhan Neethiraj, Nikhil Bonte, Nixon Rodrigues, and Sarath Subramanian. Changes ------- Updates include: Addressed review comments. Bugs: ATLAS-2774 https://issues.apache.org/jira/browse/ATLAS-2774 Repository: atlas Description ------- **Approach** - New: _DeleteHandlerDelegate_. This is a decorator over _DeleteHandlerV1_. In its implementation it encapsulates: - _SoftDeleteHandler_: Existing implementation. - _HardDeleteHandler_: Existing implementation. - _DefaultHandler_ which is initialized via _atlas-application.properties_. - Modified: _EntityREST_ to accept additional parameter to specify if the delete is hard or soft. - Modified: _AtlasEntityStoreV2_ to accept additional parameter. Existing APIs delegate their function to the new more generic method. - Modified: _ConditionalOnAtlasProperty_ to be applied on field instead of class. This initializes the handler from _atlas-application.properties_. **CURL** Hard: Entity ``` curl -X DELETE -u admin:admin123 'http://localhost:21000/api/atlas/v2/entity/guid/abc8c380-2bfe-47aa-b405-5b79ea9a2a0d?deleteType=HARD' ``` Soft: Entity ``` curl -X DELETE -u admin:admin123 'http://localhost:21000/api/atlas/v2/entity/guid/abc8c380-2bfe-47aa-b405-5b79ea9a2a0d?deleteType=SOFT' ``` Default: As initialized by application based on _atlas-application.properties_ ``` curl -X DELETE -u admin:admin123 'http://localhost:21000/api/atlas/v2/entity/guid/abc8c380-2bfe-47aa-b405-5b79ea9a2a0d' ``` Hard: Relationship ``` CURL -X DELETE -u admin:admin123 http://localhost:21000/api/atlas/v2/relationship/guid/7a74072d-19eb-4aee-bdea-2eedb81bbade?deleteType=HARD ``` Soft: Relationship ``` CURL -X DELETE -u admin:admin123 http://localhost:21000/api/atlas/v2/relationship/guid/7a74072d-19eb-4aee-bdea-2eedb81bbade?deleteType=SOFT ``` Default: As initialized by application based on _atlas-application.properties_ ``` CURL -X DELETE -u admin:admin123 http://localhost:21000/api/atlas/v2/relationship/guid/7a74072d-19eb-4aee-bdea-2eedb81bbade ``` Diffs (updated) ----- repository/src/main/java/org/apache/atlas/repository/store/graph/AtlasEntityStore.java 750fa1775 repository/src/main/java/org/apache/atlas/repository/store/graph/AtlasRelationshipStore.java 44689516e repository/src/main/java/org/apache/atlas/repository/store/graph/v1/DeleteHandlerDelegate.java PRE-CREATION repository/src/main/java/org/apache/atlas/repository/store/graph/v1/SoftDeleteHandlerV1.java 0bcf0d6cb repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEntityStoreV2.java 733369692 repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasRelationshipStoreV2.java 21617dcc3 repository/src/test/java/org/apache/atlas/repository/impexp/ExportImportTestBase.java 4b253ffb7 repository/src/test/java/org/apache/atlas/repository/impexp/ExportServiceTest.java 936586ba2 repository/src/test/java/org/apache/atlas/repository/impexp/ExportSkipLineageTest.java 3393b82d8 repository/src/test/java/org/apache/atlas/repository/store/graph/v2/AtlasEntityStoreV2Test.java 4fd28206c repository/src/test/java/org/apache/atlas/repository/store/graph/v2/AtlasEntityTestBase.java ba0551050 repository/src/test/java/org/apache/atlas/repository/store/graph/v2/AtlasRelationshipStoreV2Test.java cd1d72787 webapp/src/main/java/org/apache/atlas/web/resources/EntityResource.java 00b29e6c8 webapp/src/main/java/org/apache/atlas/web/rest/EntityREST.java 68c132c37 webapp/src/main/java/org/apache/atlas/web/rest/RelationshipREST.java 6d6432f74 webapp/src/test/java/org/apache/atlas/web/adapters/TestEntityREST.java 6739364ac webapp/src/test/java/org/apache/atlas/web/adapters/TestEntityRESTDelete.java PRE-CREATION webapp/src/test/java/org/apache/atlas/web/resources/AdminExportTest.java a8f82321b Diff: https://reviews.apache.org/r/69305/diff/7/ Changes: https://reviews.apache.org/r/69305/diff/6-7/ Testing ------- **Unit tests** Additional unit tests. **Functional tests** - Via REST APIs. (See above.) - Tested with atlas.DeleteHandlerV1.impl=org.apache.atlas.repository.store.graph.v1.SoftDeleteHandlerV1 - Tested with atlas.DeleteHandlerV1.impl=org.apache.atlas.repository.store.graph.v1.HardDeleteHandlerV1 **Pre-commit** https://builds.apache.org/view/A/view/Atlas/job/PreCommit-ATLAS-Build-Test/800/ Thanks, Ashutosh Mestry