java.lang.Object
org.odpi.openmetadata.viewservices.glossarymanager.server.spring.GlossaryManagerResource

@RestController @RequestMapping("/servers/{serverName}/api/open-metadata/glossary-manager") public class GlossaryManagerResource extends Object
The GlossaryManagerResource provides the Spring API endpoints of the Glossary Manager Open Metadata View Service (OMVS). This interface provides a service for Egeria UIs.
  • Constructor Details

    • GlossaryManagerResource

      public GlossaryManagerResource()
      Default constructor
  • Method Details

    • createGlossary

      @PostMapping(path="/glossaries") public GUIDResponse createGlossary(@PathVariable String serverName, @RequestBody NewElementRequestBody requestBody)
      Create a new metadata element to represent the root of a glossary. All categories and terms are linked to a single glossary. They are owned by this glossary and if the glossary is deleted, any linked terms and categories are deleted as well.
      Parameters:
      serverName - name of the server to route the request to.
      requestBody - properties to store
      Returns:
      unique identifier of the new metadata element or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
    • createGlossaryFromTemplate

      @PostMapping(path="/glossaries/from-template/{templateGUID}") public GUIDResponse createGlossaryFromTemplate(@PathVariable String serverName, @PathVariable String templateGUID, @RequestBody TemplateRequestBody requestBody)
      Create a new metadata element to represent a glossary using an existing metadata element as a template. The template defines additional classifications and relationships that should be added to the new glossary. All categories and terms are linked to a single glossary. They are owned by this glossary and if the glossary is deleted, any linked terms and categories are deleted as well.
      Parameters:
      serverName - name of the server to route the request to
      templateGUID - unique identifier of the metadata element to copy
      requestBody - properties that override the template
      Returns:
      unique identifier of the new metadata element or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
    • updateGlossary

      @PostMapping(path="/glossaries/{glossaryGUID}/update") public VoidResponse updateGlossary(@PathVariable String serverName, @PathVariable String glossaryGUID, @RequestBody UpdateElementRequestBody requestBody)
      Update the metadata element representing a glossary.
      Parameters:
      serverName - name of the server to route the request to
      glossaryGUID - unique identifier of the metadata element to update
      requestBody - new properties for this element
      Returns:
      void or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
    • deleteGlossary

      @PostMapping(path="/glossaries/{glossaryGUID}/delete") public VoidResponse deleteGlossary(@PathVariable String serverName, @PathVariable String glossaryGUID, @RequestBody(required=false) DeleteRequestBody requestBody)
      Remove the metadata element representing a glossary. This will delete the glossary and all categories and terms.
      Parameters:
      serverName - name of the server to route the request to
      glossaryGUID - unique identifier of the metadata element to remove
      requestBody - properties to help with the mapping of the elements in the external asset manager and open metadata
      Returns:
      void or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
    • setGlossaryAsEditingGlossary

      @PostMapping(path="/glossaries/{glossaryGUID}/is-editing-glossary") public VoidResponse setGlossaryAsEditingGlossary(@PathVariable String serverName, @PathVariable String glossaryGUID, @RequestBody NewClassificationRequestBody requestBody)
      Classify the glossary to indicate that it is an editing glossary - this means it is a collection of glossary updates that will be merged into its source glossary.
      Parameters:
      serverName - name of the server to route the request to
      glossaryGUID - unique identifier of the metadata element to remove
      requestBody - properties to help with the mapping of the elements in the external asset manager and open metadata
      Returns:
      void or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
    • clearGlossaryAsEditingGlossary

      @PostMapping(path="/glossaries/{glossaryGUID}/is-editing-glossary/delete") public VoidResponse clearGlossaryAsEditingGlossary(@PathVariable String serverName, @PathVariable String glossaryGUID, @RequestBody(required=false) MetadataSourceRequestBody requestBody)
      Remove the editing glossary designation from the glossary.
      Parameters:
      serverName - name of the server to route the request to
      glossaryGUID - unique identifier of the metadata element to remove
      requestBody - correlation properties for the external asset manager
      Returns:
      void or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
    • setGlossaryAsStagingGlossary

      @PostMapping(path="/glossaries/{glossaryGUID}/is-staging-glossary") public VoidResponse setGlossaryAsStagingGlossary(@PathVariable String serverName, @PathVariable String glossaryGUID, @RequestBody NewClassificationRequestBody requestBody)
      Classify the glossary to indicate that it is a staging glossary - this means it is a collection of glossary updates that will be transferred into another glossary.
      Parameters:
      serverName - name of the server to route the request to
      glossaryGUID - unique identifier of the metadata element to remove
      requestBody - properties to help with the mapping of the elements in the external asset manager and open metadata
      Returns:
      void or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
    • clearGlossaryAsStagingGlossary

      @PostMapping(path="/glossaries/{glossaryGUID}/is-staging-glossary/delete") public VoidResponse clearGlossaryAsStagingGlossary(@PathVariable String serverName, @PathVariable String glossaryGUID, @RequestBody(required=false) MetadataSourceRequestBody requestBody)
      Remove the staging glossary designation from the glossary.
      Parameters:
      serverName - name of the server to route the request to
      glossaryGUID - unique identifier of the metadata element to remove
      requestBody - correlation properties for the external asset manager
      Returns:
      void or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
    • setGlossaryAsTaxonomy

      @PostMapping(path="/glossaries/{glossaryGUID}/is-taxonomy") public VoidResponse setGlossaryAsTaxonomy(@PathVariable String serverName, @PathVariable String glossaryGUID, @RequestBody NewClassificationRequestBody requestBody)
      Classify the glossary to indicate that it can be used as a taxonomy. This means each term is attached to one, and only one category and the categories are organized as a hierarchy with a single root category. Taxonomies are used as a way of organizing assets and other related metadata. The terms in the taxonomy are linked to the assets etc. and as such they are logically categorized by the linked category.
      Parameters:
      serverName - name of the server to route the request to
      glossaryGUID - unique identifier of the metadata element to remove
      requestBody - properties to help with the mapping of the elements in the external asset manager and open metadata
      Returns:
      void or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
    • clearGlossaryAsTaxonomy

      @PostMapping(path="/glossaries/{glossaryGUID}/is-taxonomy/remove") public VoidResponse clearGlossaryAsTaxonomy(@PathVariable String serverName, @PathVariable String glossaryGUID, @RequestBody(required=false) MetadataSourceRequestBody requestBody)
      Remove the taxonomy designation from the glossary.
      Parameters:
      serverName - name of the server to route the request to
      glossaryGUID - unique identifier of the metadata element to remove
      requestBody - correlation properties for the external asset manager
      Returns:
      void or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
    • setGlossaryAsCanonical

      @PostMapping(path="/glossaries/{glossaryGUID}/is-canonical-vocabulary") public VoidResponse setGlossaryAsCanonical(@PathVariable String serverName, @PathVariable String glossaryGUID, @RequestBody NewClassificationRequestBody requestBody)
      Classify a glossary to declare that it has no two GlossaryTerm definitions with the same name. This means there is only one definition for each term. Typically, the terms are also of a similar level of granularity and are limited to a specific scope of use. Canonical vocabularies are used to semantically classify assets in an unambiguous way.
      Parameters:
      serverName - name of the server to route the request to
      glossaryGUID - unique identifier of the metadata element to remove
      requestBody - description of the situations where this glossary is relevant.
      Returns:
      void or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
    • clearGlossaryAsCanonical

      @PostMapping(path="/glossaries/{glossaryGUID}/is-canonical-vocabulary/remove") public VoidResponse clearGlossaryAsCanonical(@PathVariable String serverName, @PathVariable String glossaryGUID, @RequestBody(required=false) MetadataSourceRequestBody requestBody)
      Remove the canonical vocabulary designation from the glossary.
      Parameters:
      serverName - name of the server to route the request to
      glossaryGUID - unique identifier of the metadata element to remove
      requestBody - correlation properties for the external asset manager
      Returns:
      void or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
    • getGlossaryTermStatuses

      @GetMapping(path="/glossaries/terms/status-list") public GlossaryTermStatusListResponse getGlossaryTermStatuses(@PathVariable String serverName)
      Return the list of glossary term status enum values.
      Parameters:
      serverName - name of the server to route the request to
      Returns:
      list of enum values
    • getGlossaryTermRelationshipStatuses

      @GetMapping(path="/glossaries/terms/relationships/status-list") public GlossaryTermRelationshipStatusListResponse getGlossaryTermRelationshipStatuses(@PathVariable String serverName)
      Return the list of glossary term relationship status enum values.
      Parameters:
      serverName - name of the server to route the request to
      Returns:
      list of enum values
    • getGlossaryTermActivityTypes

      @GetMapping(path="/glossaries/terms/activity-types") public GlossaryTermActivityTypeListResponse getGlossaryTermActivityTypes(@PathVariable String serverName)
      Return the list of glossary term relationship status enum values.
      Parameters:
      serverName - name of the server to route the request to
      Returns:
      list of enum values
    • createGlossaryTerm

      @PostMapping(path="/glossaries/terms") public GUIDResponse createGlossaryTerm(@PathVariable String serverName, @RequestBody NewElementRequestBody requestBody)
      Create a new metadata element to represent a glossary term.
      Parameters:
      serverName - name of the server to route the request to
      requestBody - properties that override the template
      Returns:
      unique identifier of the new metadata element for the glossary term or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
    • createGlossaryTermFromTemplate

      @PostMapping(path="/glossaries/terms/from-template/{templateGUID}") public GUIDResponse createGlossaryTermFromTemplate(@PathVariable String serverName, @PathVariable String templateGUID, @RequestBody GlossaryTemplateRequestBody requestBody)
      Create a new metadata element to represent a glossary term using an existing metadata element as a template.
      Parameters:
      serverName - name of the server to route the request to
      templateGUID - unique identifier of the metadata element to copy
      requestBody - properties that override the template
      Returns:
      unique identifier of the new metadata element for the glossary term or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
    • updateGlossaryTerm

      @PostMapping(path="/glossaries/terms/{glossaryTermGUID}/update") public VoidResponse updateGlossaryTerm(@PathVariable String serverName, @PathVariable String glossaryTermGUID, @RequestBody UpdateElementRequestBody requestBody)
      Update the metadata element representing a glossary term.
      Parameters:
      serverName - name of the server to route the request to
      glossaryTermGUID - unique identifier of the glossary term to update
      requestBody - new properties for the glossary term
      Returns:
      void or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
    • updateGlossaryTermFromTemplate

      @PostMapping(path="/glossaries/terms/{glossaryTermGUID}/update/from-template/{templateGUID}") public VoidResponse updateGlossaryTermFromTemplate(@PathVariable String serverName, @PathVariable String glossaryTermGUID, @PathVariable String templateGUID, @RequestBody UpdateWithTemplateRequestBody requestBody)
      Update the glossary term using the properties and classifications from the parentGUID stored in the request body.
      Parameters:
      serverName - name of the server to route the request to
      glossaryTermGUID - unique identifier of the glossary term to update
      templateGUID - template to use
      requestBody - status and correlation properties
      Returns:
      void or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
    • moveGlossaryTerm

      @PostMapping(path="/glossaries/terms/{glossaryTermGUID}/move-to/{glossaryGUID}") public VoidResponse moveGlossaryTerm(@PathVariable String serverName, @PathVariable String glossaryTermGUID, @PathVariable String glossaryGUID, @RequestBody DeleteRequestBody requestBody)
      Move the glossary term from one glossary to another.
      Parameters:
      serverName - name of the server to route the request to
      glossaryTermGUID - unique identifier of the glossary term to update
      glossaryGUID - unique identifier of the destination glossary
      requestBody - status and correlation properties
      Returns:
      void or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
    • getTermRelationshipTypeNames

      @GetMapping(path="/glossaries/terms/relationships/type-names") public NameListResponse getTermRelationshipTypeNames(@PathVariable String serverName)
      Return the list of term-to-term relationship names.
      Parameters:
      serverName - name of the server instance to connect to
      Returns:
      list of type names that are subtypes of asset or throws InvalidParameterException full path or userId is null or throws PropertyServerException problem accessing property server or throws UserNotAuthorizedException security access problem.
    • setupTermRelationship

      @PostMapping(path="/glossaries/terms/{glossaryTermOneGUID}/relationships/{relationshipTypeName}/terms/{glossaryTermTwoGUID}") public VoidResponse setupTermRelationship(@PathVariable String serverName, @PathVariable String glossaryTermOneGUID, @PathVariable String relationshipTypeName, @PathVariable String glossaryTermTwoGUID, @RequestBody(required=false) NewRelationshipRequestBody requestBody)
      Link two terms together using a specialist relationship.
      Parameters:
      serverName - name of the server to route the request to
      relationshipTypeName - name of the type of relationship to create
      glossaryTermOneGUID - unique identifier of the glossary term at end 1
      glossaryTermTwoGUID - unique identifier of the glossary term at end 2
      requestBody - properties for the relationship
      Returns:
      void or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
    • updateTermRelationship

      @PostMapping(path="/glossaries/terms/{glossaryTermOneGUID}/relationships/{relationshipTypeName}/terms/{glossaryTermTwoGUID}/update") public VoidResponse updateTermRelationship(@PathVariable String serverName, @PathVariable String glossaryTermOneGUID, @PathVariable String relationshipTypeName, @PathVariable String glossaryTermTwoGUID, @RequestBody UpdateRelationshipRequestBody requestBody)
      Update the relationship properties for the two terms.
      Parameters:
      serverName - name of the server to route the request to
      relationshipTypeName - name of the type of relationship to create
      glossaryTermOneGUID - unique identifier of the glossary term at end 1
      glossaryTermTwoGUID - unique identifier of the glossary term at end 2
      requestBody - properties for the relationship
      Returns:
      void or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
    • clearTermRelationship

      @PostMapping(path="/glossaries/terms/{glossaryTermOneGUID}/relationships/{relationshipTypeName}/terms/{glossaryTermTwoGUID}/remove") public VoidResponse clearTermRelationship(@PathVariable String serverName, @PathVariable String glossaryTermOneGUID, @PathVariable String relationshipTypeName, @PathVariable String glossaryTermTwoGUID, @RequestBody(required=false) DeleteRequestBody requestBody)
      Remove the relationship between two terms.
      Parameters:
      serverName - name of the server to route the request to
      relationshipTypeName - name of the type of relationship to create
      glossaryTermOneGUID - unique identifier of the glossary term at end 1
      glossaryTermTwoGUID - unique identifier of the glossary term at end 2
      requestBody - properties of the relationship
      Returns:
      void or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
    • setTermAsAbstractConcept

      @PostMapping(path="/glossaries/terms/{glossaryTermGUID}/is-abstract-concept") public VoidResponse setTermAsAbstractConcept(@PathVariable String serverName, @PathVariable String glossaryTermGUID, @RequestBody(required=false) NewClassificationRequestBody requestBody)
      Classify the glossary term to indicate that it describes an abstract concept.
      Parameters:
      serverName - name of the server to route the request to
      glossaryTermGUID - unique identifier of the metadata element to update
      requestBody - properties to help with the mapping of the elements in the external asset manager and open metadata
      Returns:
      void or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
    • clearTermAsAbstractConcept

      @PostMapping(path="/glossaries/terms/{glossaryTermGUID}/is-abstract-concept/delete") public VoidResponse clearTermAsAbstractConcept(@PathVariable String serverName, @PathVariable String glossaryTermGUID, @RequestBody(required=false) MetadataSourceRequestBody requestBody)
      Remove the abstract concept designation from the glossary term.
      Parameters:
      serverName - name of the server to route the request to
      glossaryTermGUID - unique identifier of the metadata element to update
      requestBody - properties to help with the mapping of the elements in the external asset manager and open metadata
      Returns:
      void or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
    • setTermAsDataValue

      @PostMapping(path="/glossaries/terms/{glossaryTermGUID}/is-data-value") public VoidResponse setTermAsDataValue(@PathVariable String serverName, @PathVariable String glossaryTermGUID, @RequestBody(required=false) NewClassificationRequestBody requestBody)
      Classify the glossary term to indicate that it describes a data value.
      Parameters:
      serverName - name of the server to route the request to
      glossaryTermGUID - unique identifier of the metadata element to update
      requestBody - properties to help with the mapping of the elements in the external asset manager and open metadata
      Returns:
      void or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
    • clearTermAsDataValue

      @PostMapping(path="/glossaries/terms/{glossaryTermGUID}/is-data-value/remove") public VoidResponse clearTermAsDataValue(@PathVariable String serverName, @PathVariable String glossaryTermGUID, @RequestBody(required=false) MetadataSourceRequestBody requestBody)
      Remove the data value designation from the glossary term.
      Parameters:
      serverName - name of the server to route the request to
      glossaryTermGUID - unique identifier of the metadata element to update
      requestBody - properties to help with the mapping of the elements in the external asset manager and open metadata
      Returns:
      void or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
    • setTermAsActivity

      @PostMapping(path="/glossaries/terms/{glossaryTermGUID}/is-activity") public VoidResponse setTermAsActivity(@PathVariable String serverName, @PathVariable String glossaryTermGUID, @RequestBody NewClassificationRequestBody requestBody)
      Classify the glossary term to indicate that it describes a data value.
      Parameters:
      serverName - name of the server to route the request to
      glossaryTermGUID - unique identifier of the metadata element to update
      requestBody - type of activity and correlators
      Returns:
      void or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
    • clearTermAsActivity

      @PostMapping(path="/glossaries/terms/{glossaryTermGUID}/is-activity/remove") public VoidResponse clearTermAsActivity(@PathVariable String serverName, @PathVariable String glossaryTermGUID, @RequestBody(required=false) MetadataSourceRequestBody requestBody)
      Remove the activity designation from the glossary term.
      Parameters:
      serverName - name of the server to route the request to
      glossaryTermGUID - unique identifier of the metadata element to update
      requestBody - properties to help with the mapping of the elements in the external asset manager and open metadata
      Returns:
      void or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
    • setTermAsContext

      @PostMapping(path="/glossaries/terms/{glossaryTermGUID}/is-context-definition") public VoidResponse setTermAsContext(@PathVariable String serverName, @PathVariable String glossaryTermGUID, @RequestBody NewClassificationRequestBody requestBody)
      Classify the glossary term to indicate that it describes a context.
      Parameters:
      serverName - name of the server to route the request to
      glossaryTermGUID - unique identifier of the metadata element to update
      requestBody - more details of the context
      Returns:
      void or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
    • clearTermAsContext

      @PostMapping(path="/glossaries/terms/{glossaryTermGUID}/is-context-definition/delete") public VoidResponse clearTermAsContext(@PathVariable String serverName, @PathVariable String glossaryTermGUID, @RequestBody(required=false) MetadataSourceRequestBody requestBody)
      Remove the context definition designation from the glossary term.
      Parameters:
      serverName - name of the server to route the request to
      glossaryTermGUID - unique identifier of the metadata element to update
      requestBody - properties to help with the mapping of the elements in the external asset manager and open metadata
      Returns:
      void or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
    • deleteGlossaryTerm

      @PostMapping(path="/glossaries/terms/{glossaryTermGUID}/delete") public VoidResponse deleteGlossaryTerm(@PathVariable String serverName, @PathVariable String glossaryTermGUID, @RequestBody(required=false) DeleteRequestBody requestBody)
      Remove the metadata element representing a glossary term.
      Parameters:
      serverName - name of the server to route the request to
      glossaryTermGUID - unique identifier of the metadata element to remove
      requestBody - properties to help with the mapping of the elements in the external asset manager and open metadata
      Returns:
      void or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)