-----------------------------------------------------------
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

Reply via email to