java.lang.Object
org.odpi.openmetadata.accessservices.digitalarchitecture.server.spring.LocationResource

@RestController @RequestMapping("/servers/{serverName}/open-metadata/access-services/digital-architecture/users/{userId}") public class LocationResource extends Object
LocationResource provides the API operations to create and maintain locations.
  • Constructor Details

    • LocationResource

      public LocationResource()
      Default constructor
  • Method Details

    • createLocation

      @PostMapping(path="/locations") public GUIDResponse createLocation(@PathVariable String serverName, @PathVariable String userId, @RequestBody LocationProperties locationProperties)
      Create a new metadata element to represent a location. Classifications can be added later to define the type of location.
      Parameters:
      serverName - name of calling server
      userId - calling user
      locationProperties - properties to store
      Returns:
      unique identifier of the new metadata element InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to make this request or PropertyServerException the repository is not available or not working properly.
    • createLocationFromTemplate

      @PostMapping(path="/locations/from-template/{templateGUID}") public GUIDResponse createLocationFromTemplate(@PathVariable String serverName, @PathVariable String userId, @PathVariable String templateGUID, @RequestBody TemplateProperties templateProperties)
      Create a new metadata element to represent a location using an existing metadata element as a template. The template defines additional classifications and relationships that should be added to the new location.
      Parameters:
      serverName - name of calling server
      userId - calling user
      templateGUID - unique identifier of the metadata element to copy
      templateProperties - properties that override the template
      Returns:
      unique identifier of the new metadata element InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to make this request or PropertyServerException the repository is not available or not working properly.
    • updateLocation

      @PostMapping(path="/locations/{locationGUID}/update") public VoidResponse updateLocation(@PathVariable String serverName, @PathVariable String userId, @PathVariable String locationGUID, @RequestParam boolean isMergeUpdate, @RequestBody LocationProperties locationProperties)
      Update the metadata element representing a location.
      Parameters:
      serverName - name of calling server
      userId - calling user
      locationGUID - unique identifier of the metadata element to update
      isMergeUpdate - should the new properties be merged with existing properties (true) or completely replace them (false)?
      locationProperties - new properties for this element
      Returns:
      void or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to make this request or PropertyServerException the repository is not available or not working properly.
    • setLocationAsFixedPhysical

      @PostMapping(path="/locations/{locationGUID}/classify-as-fixed-location") public VoidResponse setLocationAsFixedPhysical(@PathVariable String serverName, @PathVariable String userId, @PathVariable String locationGUID, @RequestBody FixedLocationRequestBody requestBody)
      Classify the location to indicate that it represents a fixed physical location.
      Parameters:
      serverName - name of calling server
      userId - calling user
      locationGUID - unique identifier of the metadata element to classify
      requestBody - properties of the location
      Returns:
      void or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to make this request or PropertyServerException the repository is not available or not working properly.
    • clearLocationAsFixedPhysical

      @PostMapping(path="/locations/{locationGUID}/classify-as-fixed-location/delete") public VoidResponse clearLocationAsFixedPhysical(@PathVariable String serverName, @PathVariable String userId, @PathVariable String locationGUID, @RequestBody(required=false) NullRequestBody requestBody)
      Remove the fixed physical location designation from the location.
      Parameters:
      serverName - name of calling server
      userId - calling user
      locationGUID - unique identifier of the metadata element to unclassify
      requestBody - null request body
      Returns:
      void or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to make this request or PropertyServerException the repository is not available or not working properly.
    • setLocationAsSecure

      @PostMapping(path="/locations/{locationGUID}/classify-as-secure-location") public VoidResponse setLocationAsSecure(@PathVariable String serverName, @PathVariable String userId, @PathVariable String locationGUID, @RequestBody SecureLocationRequestBody requestBody)
      Classify the location to indicate that it represents a secure location.
      Parameters:
      serverName - name of calling server
      userId - calling user
      locationGUID - unique identifier of the metadata element to classify
      requestBody - properties of the location
      Returns:
      void or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to make this request or PropertyServerException the repository is not available or not working properly.
    • clearLocationAsSecure

      @PostMapping(path="/locations/{locationGUID}/classify-as-secure-location/delete") public VoidResponse clearLocationAsSecure(@PathVariable String serverName, @PathVariable String userId, @PathVariable String locationGUID, @RequestBody(required=false) NullRequestBody requestBody)
      Remove the secure location designation from the location.
      Parameters:
      serverName - name of calling server
      userId - calling user
      locationGUID - unique identifier of the metadata element to unclassify
      requestBody - null request body
      Returns:
      void or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to make this request or PropertyServerException the repository is not available or not working properly.
    • setLocationAsDigital

      @PostMapping(path="/locations/{locationGUID}/classify-as-digital-location") public VoidResponse setLocationAsDigital(@PathVariable String serverName, @PathVariable String userId, @PathVariable String locationGUID, @RequestBody DigitalLocationRequestBody requestBody)
      Classify the location to indicate that it represents a digital/cyber location.
      Parameters:
      serverName - name of calling server
      userId - calling user
      locationGUID - unique identifier of the metadata element to classify
      requestBody - position of the location
      Returns:
      void or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to make this request or PropertyServerException the repository is not available or not working properly.
    • clearLocationAsDigital

      @PostMapping(path="/locations/{locationGUID}/classify-as-digital-location/delete") public VoidResponse clearLocationAsDigital(@PathVariable String serverName, @PathVariable String userId, @PathVariable String locationGUID, @RequestBody(required=false) NullRequestBody requestBody)
      Remove the digital/cyber location designation from the location.
      Parameters:
      serverName - name of calling server
      userId - calling user
      locationGUID - unique identifier of the metadata element to unclassify
      requestBody - null request body
      Returns:
      void or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to make this request or PropertyServerException the repository is not available or not working properly.
    • removeLocation

      @PostMapping(path="/locations/{locationGUID}/delete") public VoidResponse removeLocation(@PathVariable String serverName, @PathVariable String userId, @PathVariable String locationGUID, @RequestBody(required=false) NullRequestBody requestBody)
      Remove the metadata element representing a location.
      Parameters:
      serverName - name of calling server
      userId - calling user
      locationGUID - unique identifier of the metadata element to remove
      requestBody - null request body
      Returns:
      void or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to make this request or PropertyServerException the repository is not available or not working properly.
    • setupNestedLocation

      @PostMapping(path="/locations/{parentLocationGUID}/has-nested-location/{childLocationGUID}") public VoidResponse setupNestedLocation(@PathVariable String serverName, @PathVariable String userId, @PathVariable String parentLocationGUID, @PathVariable String childLocationGUID, @RequestBody(required=false) NullRequestBody requestBody)
      Create a parent-child relationship between two locations.
      Parameters:
      serverName - name of calling server
      userId - calling user
      parentLocationGUID - unique identifier of the location that is the broader location
      childLocationGUID - unique identifier of the location that is the smaller, nested location
      requestBody - null request body
      Returns:
      void or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to make this request or PropertyServerException the repository is not available or not working properly.
    • clearNestedLocation

      @PostMapping(path="/locations/{parentLocationGUID}/has-nested-location/{childLocationGUID}/delete") public VoidResponse clearNestedLocation(@PathVariable String serverName, @PathVariable String userId, @PathVariable String parentLocationGUID, @PathVariable String childLocationGUID, @RequestBody(required=false) NullRequestBody requestBody)
      Remove a parent-child relationship between two locations.
      Parameters:
      serverName - name of calling server
      userId - calling user
      parentLocationGUID - unique identifier of the location that is the broader location
      childLocationGUID - unique identifier of the location that is the smaller, nested location
      requestBody - null request body
      Returns:
      void or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to make this request or PropertyServerException the repository is not available or not working properly.
    • setupAdjacentLocation

      @PostMapping(path="/locations/{locationOneGUID}/linked-to-peer-location/{locationTwoGUID}") public VoidResponse setupAdjacentLocation(@PathVariable String serverName, @PathVariable String userId, @PathVariable String locationOneGUID, @PathVariable String locationTwoGUID, @RequestBody(required=false) NullRequestBody requestBody)
      Create a peer-to-peer relationship between two locations.
      Parameters:
      serverName - name of calling server
      userId - calling user
      locationOneGUID - unique identifier of the first location
      locationTwoGUID - unique identifier of the second location
      requestBody - null request body
      Returns:
      void or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to make this request or PropertyServerException the repository is not available or not working properly.
    • clearAdjacentLocation

      @PostMapping(path="/locations/{locationOneGUID}/linked-to-peer-location/{locationTwoGUID}/delete") public VoidResponse clearAdjacentLocation(@PathVariable String serverName, @PathVariable String userId, @PathVariable String locationOneGUID, @PathVariable String locationTwoGUID, @RequestBody(required=false) NullRequestBody requestBody)
      Remove a peer-to-peer relationship between two locations.
      Parameters:
      serverName - name of calling server
      userId - calling user
      locationOneGUID - unique identifier of the first location
      locationTwoGUID - unique identifier of the second location
      requestBody - null request body
      Returns:
      void or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to make this request or PropertyServerException the repository is not available or not working properly.
    • findLocations

      @PostMapping(path="/locations/by-search-string") public LocationsResponse findLocations(@PathVariable String serverName, @PathVariable String userId, @RequestParam int startFrom, @RequestParam int pageSize, @RequestBody SearchStringRequestBody requestBody)
      Retrieve the list of location metadata elements that contain the search string. The search string is treated as a regular expression.
      Parameters:
      serverName - name of calling server
      userId - calling user
      requestBody - string to find in the properties
      startFrom - paging start point
      pageSize - maximum results that can be returned
      Returns:
      list of matching metadata elements or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to make this request or PropertyServerException the repository is not available or not working properly.
    • getLocationsByName

      @PostMapping(path="/locations/by-name") public LocationsResponse getLocationsByName(@PathVariable String serverName, @PathVariable String userId, @RequestParam int startFrom, @RequestParam int pageSize, @RequestBody NameRequestBody requestBody)
      Retrieve the list of location metadata elements with a matching qualified or display name. There are no wildcards supported on this request.
      Parameters:
      serverName - name of calling server
      userId - calling user
      requestBody - name to search for
      startFrom - paging start point
      pageSize - maximum results that can be returned
      Returns:
      list of matching metadata elements or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to make this request or PropertyServerException the repository is not available or not working properly.
    • getLocationByGUID

      @GetMapping(path="/locations/{locationGUID}") public LocationResponse getLocationByGUID(@PathVariable String serverName, @PathVariable String userId, @PathVariable String locationGUID)
      Retrieve the location metadata element with the supplied unique identifier.
      Parameters:
      serverName - name of calling server
      userId - calling user
      locationGUID - unique identifier of the requested metadata element
      Returns:
      matching metadata element or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to make this request or PropertyServerException the repository is not available or not working properly.