-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/69305/#review210486
-----------------------------------------------------------




repository/src/main/java/org/apache/atlas/repository/store/graph/v1/DeleteHandlerDelegate.java
Lines 39 (patched)
<https://reviews.apache.org/r/69305/#comment295203>

    Given SoftDeleteHandlerV1 and HardDeleteHandlerV1 are injectable, consider 
getting instances via DI.



repository/src/main/java/org/apache/atlas/repository/store/graph/v1/DeleteHandlerDelegate.java
Lines 43 (patched)
<https://reviews.apache.org/r/69305/#comment295201>

    is initDefaultHandler() necessary? Why not move this initialization to the 
constructor and mark all the fields as 'final'?



repository/src/main/java/org/apache/atlas/repository/store/graph/v1/DeleteHandlerDelegate.java
Lines 50 (patched)
<https://reviews.apache.org/r/69305/#comment295200>

    It is safe to have soft-delete as default (i.e. incase of unknown value):
      defaultHandler = StringUtils.equals(defaultHandlerClassName, 
hardDeleteHandler.getClass().getName()) ? hardDeleteHandler : softDeleteHandler;



repository/src/main/java/org/apache/atlas/repository/store/graph/v1/DeleteHandlerDelegate.java
Lines 58 (patched)
<https://reviews.apache.org/r/69305/#comment295202>

    Please review if null value should be handled here.



repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasRelationshipStoreV2.java
Line 98 (original), 98 (patched)
<https://reviews.apache.org/r/69305/#comment295198>

    Shouldn't DeleteHandlerV1 be replaced with DeleteHandlerDelegate here - 
just as in AtlasEntityStoreV2?



webapp/src/main/java/org/apache/atlas/web/rest/EntityREST.java
Lines 266 (patched)
<https://reviews.apache.org/r/69305/#comment295199>

    Please move 'private' methods towards end of the file.


- Madhan Neethiraj


On Nov. 13, 2018, 1:25 a.m., Ashutosh Mestry wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/69305/
> -----------------------------------------------------------
> 
> (Updated Nov. 13, 2018, 1:25 a.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
> ```
> curl -X DELETE 
> 'http://localhost:21000/api/atlas/v2/entity/guid/abc8c380-2bfe-47aa-b405-5b79ea9a2a0d?hard=true'
> ```
> 
> Soft
> ```
> curl -X DELETE 
> 'http://localhost:21000/api/atlas/v2/entity/guid/abc8c380-2bfe-47aa-b405-5b79ea9a2a0d?hard=false'
> ```
> 
> Default: As initialized by application based on _atlas-application.properties_
> ```
> curl -X DELETE 
> 'http://localhost:21000/api/atlas/v2/entity/guid/abc8c380-2bfe-47aa-b405-5b79ea9a2a0d'
> ```
> 
> 
> 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/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/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/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/3/
> 
> 
> 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
> 
> 
> Thanks,
> 
> Ashutosh Mestry
> 
>

Reply via email to