java.lang.Object
org.odpi.openmetadata.accessservices.communityprofile.server.spring.LocationManagementResource

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

    • LocationManagementResource

      public LocationManagementResource()
      Default constructor
  • Method Details

    • createLocation

      @PostMapping(path="/locations") public GUIDResponse createLocation(@PathVariable String serverName, @PathVariable String userId, @RequestBody ReferenceableRequestBody 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 TemplateRequestBody 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 ReferenceableRequestBody 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 ClassificationRequestBody 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) ExternalSourceRequestBody 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 ClassificationRequestBody 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) ExternalSourceRequestBody 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 ClassificationRequestBody 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) ExternalSourceRequestBody 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) ExternalSourceRequestBody 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) RelationshipRequestBody 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) ExternalSourceRequestBody 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) RelationshipRequestBody 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) ExternalSourceRequestBody 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.
    • setupProfileLocation

      @PostMapping(path="/locations/{locationGUID}/linked-to-actor-profiles/{actorProfileGUID}") public VoidResponse setupProfileLocation(@PathVariable String serverName, @PathVariable String userId, @PathVariable String actorProfileGUID, @PathVariable String locationGUID, @RequestBody RelationshipRequestBody requestBody)
      Create a profile location relationship between an actor profile and a location.
      Parameters:
      serverName - name of calling server
      userId - calling user
      actorProfileGUID - unique identifier of the actor profile
      locationGUID - unique identifier of the location
      requestBody - profile location 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.
    • clearProfileLocation

      @PostMapping(path="/locations/{locationGUID}/linked-to-actor-profiles/{actorProfileGUID}/delete") public VoidResponse clearProfileLocation(@PathVariable String serverName, @PathVariable String userId, @PathVariable String actorProfileGUID, @PathVariable String locationGUID, @RequestBody(required=false) ExternalSourceRequestBody requestBody)
      Remove a profile location relationship between an actor profile and a location.
      Parameters:
      serverName - name of calling server
      userId - calling user
      actorProfileGUID - unique identifier of the actor profile
      locationGUID - unique identifier of the 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.
    • setupAssetLocation

      @PostMapping(path="/locations/{locationGUID}/linked-to-assets/{assetGUID}") public VoidResponse setupAssetLocation(@PathVariable String serverName, @PathVariable String userId, @PathVariable String assetGUID, @PathVariable String locationGUID, @RequestBody RelationshipRequestBody requestBody)
      Create an asset location relationship between an asset and a location.
      Parameters:
      serverName - name of calling server
      userId - calling user
      assetGUID - unique identifier of the asset
      locationGUID - unique identifier of the location
      requestBody - profile location 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.
    • clearAssetLocation

      @PostMapping(path="/locations/{locationGUID}/linked-to-assets/{assetGUID}/delete") public VoidResponse clearAssetLocation(@PathVariable String serverName, @PathVariable String userId, @PathVariable String assetGUID, @PathVariable String locationGUID, @RequestBody(required=false) ExternalSourceRequestBody requestBody)
      Remove an asset location relationship between an asset and a location.
      Parameters:
      serverName - name of calling server
      userId - calling user
      assetGUID - unique identifier of the asset
      locationGUID - unique identifier of the 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 LocationListResponse 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 LocationListResponse 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 name, identifier 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.
    • getAdjacentLocations

      @GetMapping(path="/locations/{locationGUID}/has-peer-locations") public LocationListResponse getAdjacentLocations(@PathVariable String serverName, @PathVariable String userId, @PathVariable String locationGUID, @RequestParam int startFrom, @RequestParam int pageSize)
      Retrieve the list of adjacent location metadata elements linked to locationGUID.
      Parameters:
      serverName - name of calling server
      userId - calling user
      locationGUID - location to start from
      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.
    • getNestedLocations

      @GetMapping(path="/locations/{locationGUID}/has-nested-locations") public LocationListResponse getNestedLocations(@PathVariable String serverName, @PathVariable String userId, @PathVariable String locationGUID, @RequestParam int startFrom, @RequestParam int pageSize)
      Retrieve the list of nested location metadata elements linked to locationGUID.
      Parameters:
      serverName - name of calling server
      userId - calling user
      locationGUID - location to start from
      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.
    • getGroupingLocations

      @GetMapping(path="/locations/{locationGUID}/has-grouping-locations") public LocationListResponse getGroupingLocations(@PathVariable String serverName, @PathVariable String userId, @PathVariable String locationGUID, @RequestParam int startFrom, @RequestParam int pageSize)
      Retrieve the list of location metadata elements that has the location identifier with locationGUID nested inside it.
      Parameters:
      serverName - name of calling server
      userId - calling user
      locationGUID - location to start from
      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.
    • getLocationsByProfile

      @GetMapping(path="/locations/by-actor-profile/{actorProfileGUID}") public LocationListResponse getLocationsByProfile(@PathVariable String serverName, @PathVariable String userId, @PathVariable String actorProfileGUID, @RequestParam int startFrom, @RequestParam int pageSize)
      Retrieve the list of location metadata elements linked to the requested profile.
      Parameters:
      serverName - name of calling server
      userId - calling user
      actorProfileGUID - 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.
    • getKnownLocationsForAsset

      @GetMapping(path="/locations/by-asset/{assetGUID}") public LocationListResponse getKnownLocationsForAsset(@PathVariable String serverName, @PathVariable String userId, @PathVariable String assetGUID, @RequestParam int startFrom, @RequestParam int pageSize)
      Retrieve the list of location metadata elements linked to the requested asset.
      Parameters:
      serverName - name of calling server
      userId - calling user
      assetGUID - 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.
    • getLocations

      @GetMapping(path="/locations") public LocationListResponse getLocations(@PathVariable String serverName, @PathVariable String userId, @RequestParam int startFrom, @RequestParam int pageSize)
      Retrieve the list of location metadata elements.
      Parameters:
      serverName - name of calling server
      userId - calling user
      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.