----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/69305/#review210526 -----------------------------------------------------------
repository/src/main/java/org/apache/atlas/repository/store/graph/v1/DeleteHandlerDelegate.java Lines 39 (patched) <https://reviews.apache.org/r/69305/#comment295238> To be safe, only if configuration specifies hard handler, set default to that; else set default to 'soft'. Consider that case where the configuration is set to neither of built-in handlers. Ideally we should simply create an instance of the specified handler class; but that might take some work, since the implementation would/might expect the typeRegistry to be passed in the constructor. repository/src/main/java/org/apache/atlas/repository/store/graph/v1/DeleteHandlerDelegate.java Lines 42 (patched) <https://reviews.apache.org/r/69305/#comment295239> Move 'private' method towards end of the file. repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEntityStoreV2.java Lines 437 (patched) <https://reviews.apache.org/r/69305/#comment295240> Consider replacing null with DeleteType.DEFAULT - just as in other methods. webapp/src/main/java/org/apache/atlas/web/rest/EntityREST.java Lines 786 (patched) <https://reviews.apache.org/r/69305/#comment295241> Consider replacing null with DeleteType.DEFAULT. webapp/src/test/java/org/apache/atlas/web/adapters/TestEntityREST.java Line 289 (original), 289 (patched) <https://reviews.apache.org/r/69305/#comment295242> This change shouldn't be needed, given method with single argument continues to be supported. - Madhan Neethiraj On Nov. 13, 2018, 7:01 p.m., Ashutosh Mestry wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/69305/ > ----------------------------------------------------------- > > (Updated Nov. 13, 2018, 7:01 p.m.) > > > Review request for atlas, Kapildeo Nayak, Madhan Neethiraj, Nikhil Bonte, > Nixon Rodrigues, and Sarath Subramanian. > > > 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 > ----- > > intg/src/main/java/org/apache/atlas/store/DeleteType.java PRE-CREATION > > 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 > > > Diff: https://reviews.apache.org/r/69305/diff/6/ > > > 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 > >
