You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@atlas.apache.org by Pinal Shah <pi...@freestoneinfotech.com> on 2022/09/06 07:49:01 UTC

Re: Review Request 73623: ATLAS-4442 : Support Relationship search

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

(Updated Sept. 6, 2022, 7:48 a.m.)


Review request for atlas, Ashutosh Mestry, Jayendra Parab, and Sarath Subramanian.


Bugs: ATLAS-4442
    https://issues.apache.org/jira/browse/ATLAS-4442


Repository: atlas


Description
-------

**Current Working :** 

Atlas is entirely entity-based – it is not possible to search for relationships.

**Improvement :**

Get all relationships (edges) for particular relationship type, having some criteria on its properties 

**Example :** 

Get all the relations matching

type = rel_type and edge_property1 = edge_value1 

**Request Payload :** 

{"relationshipName" : "rel_type",

"relationshipFilters": {   "condition": "OR",      "criterion": [

{        "attributeName": "edge_property1",        "operator": "eq",        "attributeValue": "edge_value1"  }

] },

"limit":25,
"offset":0 }


Diffs
-----

  common/src/main/java/org/apache/atlas/repository/Constants.java 2669c8a7e 
  docs/src/documents/Search/SearchRelationship.md PRE-CREATION 
  docs/src/resources/images/twiki/relationship_search_model.png PRE-CREATION 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasIndexQuery.java 2edca64d7 
  graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/AtlasJanusIndexQuery.java ff3fd4a78 
  intg/src/main/java/org/apache/atlas/model/discovery/AtlasSearchResult.java ce0f84b6e 
  intg/src/main/java/org/apache/atlas/model/discovery/RelationshipSearchParameters.java PRE-CREATION 
  intg/src/main/java/org/apache/atlas/model/discovery/SearchParameters.java 78fb4a48f 
  intg/src/main/java/org/apache/atlas/model/instance/AtlasRelationshipHeader.java ad3b98ed4 
  repository/src/main/java/org/apache/atlas/discovery/AtlasDiscoveryService.java 0f564c200 
  repository/src/main/java/org/apache/atlas/discovery/EntityDiscoveryService.java 8fbc22fa0 
  repository/src/main/java/org/apache/atlas/discovery/GraphIndexQueryBuilder.java 1cd8786be 
  repository/src/main/java/org/apache/atlas/discovery/RelationshipSearchProcessor.java PRE-CREATION 
  repository/src/main/java/org/apache/atlas/discovery/SearchContext.java 01954d07e 
  repository/src/main/java/org/apache/atlas/discovery/SearchProcessor.java f69dc4215 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java d65bb1a2a 
  repository/src/main/java/org/apache/atlas/repository/patches/AtlasPatchManager.java 44cd8efff 
  repository/src/main/java/org/apache/atlas/repository/patches/EdgePatchProcessor.java PRE-CREATION 
  repository/src/main/java/org/apache/atlas/repository/patches/RelationshipTypeNamePatch.java PRE-CREATION 
  repository/src/main/java/org/apache/atlas/repository/store/bootstrap/AtlasTypeDefStoreInitializer.java 89e9422cd 
  repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasGraphUtilsV2.java 2fce123f8 
  repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasRelationshipStoreV2.java a0fd71f9a 
  repository/src/main/java/org/apache/atlas/repository/store/graph/v2/EntityGraphRetriever.java 794847555 
  repository/src/main/java/org/apache/atlas/util/SearchPredicateUtil.java 9c2975645 
  repository/src/test/java/org/apache/atlas/BasicTestSetup.java a1d7b62a5 
  repository/src/test/java/org/apache/atlas/discovery/AtlasDiscoveryServiceTest.java 8c257d866 
  repository/src/test/java/org/apache/atlas/discovery/RelationshipSearchProcessorTest.java PRE-CREATION 
  repository/src/test/resources/relationship_search_def.json PRE-CREATION 
  test-tools/src/main/resources/solr/core-template/solrconfig.xml 3341e7199 
  webapp/src/main/java/org/apache/atlas/web/rest/DiscoveryREST.java 0b044d4cf 


Diff: https://reviews.apache.org/r/73623/diff/5/


Testing
-------

added unit test cases


Thanks,

Pinal Shah


Re: Review Request 73623: ATLAS-4442 : Support Relationship search

Posted by Pinal Shah <pi...@freestoneinfotech.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/73623/
-----------------------------------------------------------

(Updated Sept. 30, 2022, 10:58 a.m.)


Review request for atlas, Ashutosh Mestry, Jayendra Parab, and Sarath Subramanian.


Bugs: ATLAS-4442
    https://issues.apache.org/jira/browse/ATLAS-4442


Repository: atlas


Description
-------

**Current Working :** 

Atlas is entirely entity-based – it is not possible to search for relationships.

**Improvement :**

Get all relationships (edges) for particular relationship type, having some criteria on its properties 

**Example :** 

Get all the relations matching

type = rel_type and edge_property1 = edge_value1 

**Request Payload :** 

{"relationshipName" : "rel_type",

"relationshipFilters": {   "condition": "OR",      "criterion": [

{        "attributeName": "edge_property1",        "operator": "eq",        "attributeValue": "edge_value1"  }

] },

"limit":25,
"offset":0 }

**Limitation**
- Search on existing relationship search
- scrubSearchResults
- System attributes are not included.


Diffs
-----

  common/src/main/java/org/apache/atlas/repository/Constants.java 7cd67a04c 
  docs/src/documents/Search/SearchRelationship.md PRE-CREATION 
  docs/src/resources/images/twiki/relationship_search_model.png PRE-CREATION 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasIndexQuery.java 2edca64d7 
  graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/AtlasJanusIndexQuery.java ff3fd4a78 
  intg/src/main/java/org/apache/atlas/model/discovery/AtlasSearchResult.java ce0f84b6e 
  intg/src/main/java/org/apache/atlas/model/discovery/RelationshipSearchParameters.java PRE-CREATION 
  intg/src/main/java/org/apache/atlas/model/discovery/SearchParameters.java 8e68d0e82 
  intg/src/main/java/org/apache/atlas/model/instance/AtlasRelationshipHeader.java ad3b98ed4 
  intg/src/main/java/org/apache/atlas/model/profile/AtlasUserSavedSearch.java 36ab3b11a 
  repository/src/main/java/org/apache/atlas/discovery/AtlasDiscoveryService.java 0f564c200 
  repository/src/main/java/org/apache/atlas/discovery/EntityDiscoveryService.java 4b113dbef 
  repository/src/main/java/org/apache/atlas/discovery/GraphIndexQueryBuilder.java 1cd8786be 
  repository/src/main/java/org/apache/atlas/discovery/RelationshipSearchProcessor.java PRE-CREATION 
  repository/src/main/java/org/apache/atlas/discovery/SearchContext.java b8976e079 
  repository/src/main/java/org/apache/atlas/discovery/SearchProcessor.java f69dc4215 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java 9924b2e4c 
  repository/src/main/java/org/apache/atlas/repository/patches/AtlasPatchManager.java 44cd8efff 
  repository/src/main/java/org/apache/atlas/repository/patches/EdgePatchProcessor.java PRE-CREATION 
  repository/src/main/java/org/apache/atlas/repository/patches/RelationshipTypeNamePatch.java PRE-CREATION 
  repository/src/main/java/org/apache/atlas/repository/store/bootstrap/AtlasTypeDefStoreInitializer.java 89e9422cd 
  repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasGraphUtilsV2.java 2fce123f8 
  repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasRelationshipStoreV2.java a0fd71f9a 
  repository/src/main/java/org/apache/atlas/repository/store/graph/v2/EntityGraphRetriever.java a8fe5a762 
  repository/src/main/java/org/apache/atlas/util/SearchPredicateUtil.java 9c2975645 
  repository/src/test/java/org/apache/atlas/BasicTestSetup.java 9b0578fee 
  repository/src/test/java/org/apache/atlas/discovery/AtlasDiscoveryServiceTest.java ecb398a44 
  repository/src/test/java/org/apache/atlas/discovery/RelationshipSearchProcessorTest.java PRE-CREATION 
  repository/src/test/resources/relationship_search_def.json PRE-CREATION 
  test-tools/src/main/resources/solr/core-template/solrconfig.xml fa38e72b6 
  webapp/src/main/java/org/apache/atlas/web/rest/DiscoveryREST.java 0b044d4cf 


Diff: https://reviews.apache.org/r/73623/diff/7/


Testing (updated)
-------

added unit test cases
Precommit : https://ci-builds.apache.org/job/Atlas/job/PreCommit-ATLAS-Build-Test/1236/


Thanks,

Pinal Shah


Re: Review Request 73623: ATLAS-4442 : Support Relationship search

Posted by Pinal Shah <pi...@freestoneinfotech.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/73623/
-----------------------------------------------------------

(Updated Sept. 27, 2022, 11:31 a.m.)


Review request for atlas, Ashutosh Mestry, Jayendra Parab, and Sarath Subramanian.


Changes
-------

rebase patch


Bugs: ATLAS-4442
    https://issues.apache.org/jira/browse/ATLAS-4442


Repository: atlas


Description
-------

**Current Working :** 

Atlas is entirely entity-based – it is not possible to search for relationships.

**Improvement :**

Get all relationships (edges) for particular relationship type, having some criteria on its properties 

**Example :** 

Get all the relations matching

type = rel_type and edge_property1 = edge_value1 

**Request Payload :** 

{"relationshipName" : "rel_type",

"relationshipFilters": {   "condition": "OR",      "criterion": [

{        "attributeName": "edge_property1",        "operator": "eq",        "attributeValue": "edge_value1"  }

] },

"limit":25,
"offset":0 }

**Limitation**
- Search on existing relationship search
- scrubSearchResults
- System attributes are not included.


Diffs (updated)
-----

  common/src/main/java/org/apache/atlas/repository/Constants.java 7cd67a04c 
  docs/src/documents/Search/SearchRelationship.md PRE-CREATION 
  docs/src/resources/images/twiki/relationship_search_model.png PRE-CREATION 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasIndexQuery.java 2edca64d7 
  graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/AtlasJanusIndexQuery.java ff3fd4a78 
  intg/src/main/java/org/apache/atlas/model/discovery/AtlasSearchResult.java ce0f84b6e 
  intg/src/main/java/org/apache/atlas/model/discovery/RelationshipSearchParameters.java PRE-CREATION 
  intg/src/main/java/org/apache/atlas/model/discovery/SearchParameters.java 8e68d0e82 
  intg/src/main/java/org/apache/atlas/model/instance/AtlasRelationshipHeader.java ad3b98ed4 
  intg/src/main/java/org/apache/atlas/model/profile/AtlasUserSavedSearch.java 36ab3b11a 
  repository/src/main/java/org/apache/atlas/discovery/AtlasDiscoveryService.java 0f564c200 
  repository/src/main/java/org/apache/atlas/discovery/EntityDiscoveryService.java 4b113dbef 
  repository/src/main/java/org/apache/atlas/discovery/GraphIndexQueryBuilder.java 1cd8786be 
  repository/src/main/java/org/apache/atlas/discovery/RelationshipSearchProcessor.java PRE-CREATION 
  repository/src/main/java/org/apache/atlas/discovery/SearchContext.java b8976e079 
  repository/src/main/java/org/apache/atlas/discovery/SearchProcessor.java f69dc4215 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java 9924b2e4c 
  repository/src/main/java/org/apache/atlas/repository/patches/AtlasPatchManager.java 44cd8efff 
  repository/src/main/java/org/apache/atlas/repository/patches/EdgePatchProcessor.java PRE-CREATION 
  repository/src/main/java/org/apache/atlas/repository/patches/RelationshipTypeNamePatch.java PRE-CREATION 
  repository/src/main/java/org/apache/atlas/repository/store/bootstrap/AtlasTypeDefStoreInitializer.java 89e9422cd 
  repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasGraphUtilsV2.java 2fce123f8 
  repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasRelationshipStoreV2.java a0fd71f9a 
  repository/src/main/java/org/apache/atlas/repository/store/graph/v2/EntityGraphRetriever.java a8fe5a762 
  repository/src/main/java/org/apache/atlas/util/SearchPredicateUtil.java 9c2975645 
  repository/src/test/java/org/apache/atlas/BasicTestSetup.java 9b0578fee 
  repository/src/test/java/org/apache/atlas/discovery/AtlasDiscoveryServiceTest.java ecb398a44 
  repository/src/test/java/org/apache/atlas/discovery/RelationshipSearchProcessorTest.java PRE-CREATION 
  repository/src/test/resources/relationship_search_def.json PRE-CREATION 
  test-tools/src/main/resources/solr/core-template/solrconfig.xml fa38e72b6 
  webapp/src/main/java/org/apache/atlas/web/rest/DiscoveryREST.java 0b044d4cf 


Diff: https://reviews.apache.org/r/73623/diff/6/

Changes: https://reviews.apache.org/r/73623/diff/5-6/


Testing
-------

added unit test cases


Thanks,

Pinal Shah


Re: Review Request 73623: ATLAS-4442 : Support Relationship search

Posted by Nixon Rodrigues <ni...@atlan.com>.

> On Sept. 12, 2022, 5:16 a.m., Nixon Rodrigues wrote:
> > Ship It!

Good feature to have in Atlas


- Nixon


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


On Sept. 6, 2022, 7:48 a.m., Pinal Shah wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/73623/
> -----------------------------------------------------------
> 
> (Updated Sept. 6, 2022, 7:48 a.m.)
> 
> 
> Review request for atlas, Ashutosh Mestry, Jayendra Parab, and Sarath Subramanian.
> 
> 
> Bugs: ATLAS-4442
>     https://issues.apache.org/jira/browse/ATLAS-4442
> 
> 
> Repository: atlas
> 
> 
> Description
> -------
> 
> **Current Working :** 
> 
> Atlas is entirely entity-based – it is not possible to search for relationships.
> 
> **Improvement :**
> 
> Get all relationships (edges) for particular relationship type, having some criteria on its properties 
> 
> **Example :** 
> 
> Get all the relations matching
> 
> type = rel_type and edge_property1 = edge_value1 
> 
> **Request Payload :** 
> 
> {"relationshipName" : "rel_type",
> 
> "relationshipFilters": {   "condition": "OR",      "criterion": [
> 
> {        "attributeName": "edge_property1",        "operator": "eq",        "attributeValue": "edge_value1"  }
> 
> ] },
> 
> "limit":25,
> "offset":0 }
> 
> 
> Diffs
> -----
> 
>   common/src/main/java/org/apache/atlas/repository/Constants.java 2669c8a7e 
>   docs/src/documents/Search/SearchRelationship.md PRE-CREATION 
>   docs/src/resources/images/twiki/relationship_search_model.png PRE-CREATION 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasIndexQuery.java 2edca64d7 
>   graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/AtlasJanusIndexQuery.java ff3fd4a78 
>   intg/src/main/java/org/apache/atlas/model/discovery/AtlasSearchResult.java ce0f84b6e 
>   intg/src/main/java/org/apache/atlas/model/discovery/RelationshipSearchParameters.java PRE-CREATION 
>   intg/src/main/java/org/apache/atlas/model/discovery/SearchParameters.java 78fb4a48f 
>   intg/src/main/java/org/apache/atlas/model/instance/AtlasRelationshipHeader.java ad3b98ed4 
>   repository/src/main/java/org/apache/atlas/discovery/AtlasDiscoveryService.java 0f564c200 
>   repository/src/main/java/org/apache/atlas/discovery/EntityDiscoveryService.java 8fbc22fa0 
>   repository/src/main/java/org/apache/atlas/discovery/GraphIndexQueryBuilder.java 1cd8786be 
>   repository/src/main/java/org/apache/atlas/discovery/RelationshipSearchProcessor.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/discovery/SearchContext.java 01954d07e 
>   repository/src/main/java/org/apache/atlas/discovery/SearchProcessor.java f69dc4215 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java d65bb1a2a 
>   repository/src/main/java/org/apache/atlas/repository/patches/AtlasPatchManager.java 44cd8efff 
>   repository/src/main/java/org/apache/atlas/repository/patches/EdgePatchProcessor.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/repository/patches/RelationshipTypeNamePatch.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/repository/store/bootstrap/AtlasTypeDefStoreInitializer.java 89e9422cd 
>   repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasGraphUtilsV2.java 2fce123f8 
>   repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasRelationshipStoreV2.java a0fd71f9a 
>   repository/src/main/java/org/apache/atlas/repository/store/graph/v2/EntityGraphRetriever.java 794847555 
>   repository/src/main/java/org/apache/atlas/util/SearchPredicateUtil.java 9c2975645 
>   repository/src/test/java/org/apache/atlas/BasicTestSetup.java a1d7b62a5 
>   repository/src/test/java/org/apache/atlas/discovery/AtlasDiscoveryServiceTest.java 8c257d866 
>   repository/src/test/java/org/apache/atlas/discovery/RelationshipSearchProcessorTest.java PRE-CREATION 
>   repository/src/test/resources/relationship_search_def.json PRE-CREATION 
>   test-tools/src/main/resources/solr/core-template/solrconfig.xml 3341e7199 
>   webapp/src/main/java/org/apache/atlas/web/rest/DiscoveryREST.java 0b044d4cf 
> 
> 
> Diff: https://reviews.apache.org/r/73623/diff/5/
> 
> 
> Testing
> -------
> 
> added unit test cases
> 
> 
> Thanks,
> 
> Pinal Shah
> 
>


Re: Review Request 73623: ATLAS-4442 : Support Relationship search

Posted by Nixon Rodrigues <ni...@atlan.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/73623/#review224659
-----------------------------------------------------------


Ship it!




Ship It!

- Nixon Rodrigues


On Sept. 6, 2022, 7:48 a.m., Pinal Shah wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/73623/
> -----------------------------------------------------------
> 
> (Updated Sept. 6, 2022, 7:48 a.m.)
> 
> 
> Review request for atlas, Ashutosh Mestry, Jayendra Parab, and Sarath Subramanian.
> 
> 
> Bugs: ATLAS-4442
>     https://issues.apache.org/jira/browse/ATLAS-4442
> 
> 
> Repository: atlas
> 
> 
> Description
> -------
> 
> **Current Working :** 
> 
> Atlas is entirely entity-based – it is not possible to search for relationships.
> 
> **Improvement :**
> 
> Get all relationships (edges) for particular relationship type, having some criteria on its properties 
> 
> **Example :** 
> 
> Get all the relations matching
> 
> type = rel_type and edge_property1 = edge_value1 
> 
> **Request Payload :** 
> 
> {"relationshipName" : "rel_type",
> 
> "relationshipFilters": {   "condition": "OR",      "criterion": [
> 
> {        "attributeName": "edge_property1",        "operator": "eq",        "attributeValue": "edge_value1"  }
> 
> ] },
> 
> "limit":25,
> "offset":0 }
> 
> 
> Diffs
> -----
> 
>   common/src/main/java/org/apache/atlas/repository/Constants.java 2669c8a7e 
>   docs/src/documents/Search/SearchRelationship.md PRE-CREATION 
>   docs/src/resources/images/twiki/relationship_search_model.png PRE-CREATION 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasIndexQuery.java 2edca64d7 
>   graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/AtlasJanusIndexQuery.java ff3fd4a78 
>   intg/src/main/java/org/apache/atlas/model/discovery/AtlasSearchResult.java ce0f84b6e 
>   intg/src/main/java/org/apache/atlas/model/discovery/RelationshipSearchParameters.java PRE-CREATION 
>   intg/src/main/java/org/apache/atlas/model/discovery/SearchParameters.java 78fb4a48f 
>   intg/src/main/java/org/apache/atlas/model/instance/AtlasRelationshipHeader.java ad3b98ed4 
>   repository/src/main/java/org/apache/atlas/discovery/AtlasDiscoveryService.java 0f564c200 
>   repository/src/main/java/org/apache/atlas/discovery/EntityDiscoveryService.java 8fbc22fa0 
>   repository/src/main/java/org/apache/atlas/discovery/GraphIndexQueryBuilder.java 1cd8786be 
>   repository/src/main/java/org/apache/atlas/discovery/RelationshipSearchProcessor.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/discovery/SearchContext.java 01954d07e 
>   repository/src/main/java/org/apache/atlas/discovery/SearchProcessor.java f69dc4215 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java d65bb1a2a 
>   repository/src/main/java/org/apache/atlas/repository/patches/AtlasPatchManager.java 44cd8efff 
>   repository/src/main/java/org/apache/atlas/repository/patches/EdgePatchProcessor.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/repository/patches/RelationshipTypeNamePatch.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/repository/store/bootstrap/AtlasTypeDefStoreInitializer.java 89e9422cd 
>   repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasGraphUtilsV2.java 2fce123f8 
>   repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasRelationshipStoreV2.java a0fd71f9a 
>   repository/src/main/java/org/apache/atlas/repository/store/graph/v2/EntityGraphRetriever.java 794847555 
>   repository/src/main/java/org/apache/atlas/util/SearchPredicateUtil.java 9c2975645 
>   repository/src/test/java/org/apache/atlas/BasicTestSetup.java a1d7b62a5 
>   repository/src/test/java/org/apache/atlas/discovery/AtlasDiscoveryServiceTest.java 8c257d866 
>   repository/src/test/java/org/apache/atlas/discovery/RelationshipSearchProcessorTest.java PRE-CREATION 
>   repository/src/test/resources/relationship_search_def.json PRE-CREATION 
>   test-tools/src/main/resources/solr/core-template/solrconfig.xml 3341e7199 
>   webapp/src/main/java/org/apache/atlas/web/rest/DiscoveryREST.java 0b044d4cf 
> 
> 
> Diff: https://reviews.apache.org/r/73623/diff/5/
> 
> 
> Testing
> -------
> 
> added unit test cases
> 
> 
> Thanks,
> 
> Pinal Shah
> 
>