Class 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 Detail

      • LocationResource

        public LocationResource()
        Default constructor
    • Method Detail

      • 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.