Class RexViewRESTResource

java.lang.Object
org.odpi.openmetadata.viewservices.rex.server.spring.RexViewRESTResource

@RestController @RequestMapping("/servers/{viewServerName}/open-metadata/view-services/rex/users/{userId}") public class RexViewRESTResource extends Object
The RexViewRESTResource provides the Spring API endpoints of the Repository Explorer Open Metadata View Service (OMVS). This interface provides a service for enterprise architects.
  • Constructor Details

    • RexViewRESTResource

      public RexViewRESTResource()
      Default constructor
  • Method Details

    • getResourceEndpoints

      @GetMapping("/resource-endpoints") public RexResourceEndpointListResponse getResourceEndpoints(@PathVariable String viewServerName, @PathVariable String userId)
      Get the configured resource endpoints
      Parameters:
      viewServerName - name of the server running the view-service.
      userId - user account under which to conduct operation.
      Returns:
      response object containing the list of resource endpoints or exception information
    • getTypeExplorer

      @PostMapping("/types") public TypeExplorerResponse getTypeExplorer(@PathVariable String viewServerName, @PathVariable String userId, @RequestBody RexTypesRequestBody body)
      Load type information

      Load type information from the repository server. This is used to populate filters.

      Parameters:
      viewServerName - name of the server running the view-service.
      userId - user account under which to conduct operation.
      body - request body containing parameters to formulate repository request
      Returns:
      response object containing the repository's type information or exception information
    • getEntity

      @PostMapping("/instances/entity") public RexEntityDetailResponse getEntity(@PathVariable String viewServerName, @PathVariable String userId, @RequestBody RexEntityRequestBody body)
      This method gets an entity detail.

      When retrieving a single entity we return the whole EntityDetail object. This is because the entity is being used as the user focus object and will be displayed in the details pane.

      The method used is POST because the parameters supplied by the UI to the VS are conveyed in the request body.

      Parameters:
      viewServerName - name of the server running the view-service.
      userId - user account under which to conduct operation.
      body - request body containing parameters to formulate repository request
      Returns:
      response object containing the repository's type information or exception information
    • getRelationship

      @PostMapping("/instances/relationship") public RexRelationshipResponse getRelationship(@PathVariable String viewServerName, @PathVariable String userId, @RequestBody RexRelationshipRequestBody body)
      This method gets a relationship.

      When retrieving a single relationship we return the whole Relationship object. This is because the relationship is being used as the user focus object and will be displayed in the details pane.

      The method used is POST because the parameters supplied by the UI to the VS are conveyed in the request body.

      Parameters:
      viewServerName - name of the server running the view-service.
      userId - user account under which to conduct operation.
      body - request body containing parameters to formulate repository request
      Returns:
      response object containing the repository's type information or exception information
    • findEntities

      @PostMapping("/instances/entities/by-property-value") public RexSearchResponse findEntities(@PathVariable String viewServerName, @PathVariable String userId, @RequestBody RexSearchBody body)
      This method searches for entities based on property value.

      When searching for entities, we return a list of EntityDigest objects. This is because the digests are used to display a list of search hits to the user from which they can select which entities they would like to add to the graph.

      The method used is POST because the parameters supplied by the UI to the VS are conveyed in the request body.

      Parameters:
      viewServerName - name of the server running the view-service.
      userId - user account under which to conduct operation.
      body - request body containing parameters to formulate repository request
      Returns:
      response object containing the repository's type information or exception information
    • findRelationships

      @PostMapping("/instances/relationships/by-property-value") public RexSearchResponse findRelationships(@PathVariable String viewServerName, @PathVariable String userId, @RequestBody RexSearchBody body)
      This method searches for relationships based on property value.

      When searching for relationships, we return a list of RelationshipDigest objects. This is because the digests are used to display a list of search hits to the user from which they can select which relationships they would like to add to the graph.

      The method used is POST because the parameters supplied by the UI to the VS are conveyed in the request body.

      Parameters:
      viewServerName - name of the server running the view-service.
      userId - user account under which to conduct operation.
      body - request body containing parameters to formulate repository request
      Returns:
      response object containing the repository's type information or exception information
    • rexPreTraversal

      @PostMapping("/instances/pre-traversal") public RexPreTraversalResponse rexPreTraversal(@PathVariable String viewServerName, @PathVariable String userId, @RequestBody RexTraversalRequestBody body)
      This method retrieves the neighborhood around a starting entity for pre-traversal

      When exploring an entity neighborhood we return an InstanceGraph which contains the entities and relationships that were traversed.

      The method used is POST because the parameters supplied by the UI to the VS are conveyed in the request body.

      Parameters:
      viewServerName - name of the server running the view-service.
      userId - user account under which to conduct operation.
      body - request body containing parameters to formulate repository request
      Returns:
      response object containing the InstanceGraph for the traversal or exception information
    • rexTraversal

      @PostMapping("/instances/traversal") public RexTraversalResponse rexTraversal(@PathVariable String viewServerName, @PathVariable String userId, @RequestBody RexTraversalRequestBody body)
      This method retrieves the neighborhood around a starting entity.

      When exploring an entity neighborhood we return an InstanceGraph which contains the entities and relationships that were traversed.

      The method used is POST because the parameters supplied by the UI to the VS are conveyed in the request body.

      Parameters:
      viewServerName - name of the server running the view-service.
      userId - user account under which to conduct operation.
      body - request body containing parameters to formulate repository request
      Returns:
      response object containing the InstanceGraph for the traversal or exception information