Class AssetOwnerRESTServices


  • public class AssetOwnerRESTServices
    extends Object
    AssetOwnerRESTServices provides part of the server-side support for the Asset Owner Open Metadata Access Service (OMAS). There are other REST services that provide specialized methods for specific types of Asset.
    • Constructor Detail

      • AssetOwnerRESTServices

        public AssetOwnerRESTServices()
        Default constructor
    • Method Detail

      • getTypesOfAsset

        public NameListResponse getTypesOfAsset​(String serverName,
                                                String userId)
        Return the asset subtype names.
        Parameters:
        serverName - name of the server instance to connect to
        userId - calling user
        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.
      • getTypesOfAssetDescriptions

        public StringMapResponse getTypesOfAssetDescriptions​(String serverName,
                                                             String userId)
        Return the asset subtype names with their descriptions.
        Parameters:
        serverName - name of the server instance to connect to
        userId - calling user
        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.
      • addAssetToCatalog

        public GUIDResponse addAssetToCatalog​(String serverName,
                                              String userId,
                                              String typeName,
                                              AssetProperties requestBody)
        Add a simple asset description to the catalog.
        Parameters:
        serverName - name of the server instance to connect to
        userId - calling user (assumed to be the owner)
        typeName - specific type of the asset - this must match a defined subtype
        requestBody - other properties for asset
        Returns:
        unique identifier (guid) of the asset or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
      • addAssetToCatalogUsingTemplate

        public GUIDResponse addAssetToCatalogUsingTemplate​(String serverName,
                                                           String userId,
                                                           String templateGUID,
                                                           TemplateProperties requestBody)
        Create a new metadata element to represent an asset using an existing asset as a template.
        Parameters:
        serverName - name of the server instance to connect to
        userId - calling user
        templateGUID - unique identifier of the metadata element to copy
        requestBody - properties that override the template
        Returns:
        unique identifier (guid) of the asset or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
      • addCombinedSchemaToAsset

        public GUIDResponse addCombinedSchemaToAsset​(String serverName,
                                                     String userId,
                                                     String assetGUID,
                                                     CombinedSchemaRequestBody requestBody)
        Stores the supplied schema details in the catalog and attaches it to the asset. If another schema is currently attached to the asset, it is unlinked and deleted. If more attributes need to be added in addition to the ones supplied then this can be done with addSchemaAttributesToSchemaType().
        Parameters:
        serverName - name of the server instance to connect to
        userId - calling user
        assetGUID - unique identifier of the asset that the schema is to be attached to
        requestBody - schema type to create and attach directly to the asset.
        Returns:
        guid of the schema type or InvalidParameterException full path or userId is null, or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
      • addSchemaTypeToAsset

        public GUIDResponse addSchemaTypeToAsset​(String serverName,
                                                 String userId,
                                                 String assetGUID,
                                                 SchemaTypeProperties requestBody)
        Stores the supplied schema type in the catalog and attaches it to the asset. If another schema is currently attached to the asset, it is unlinked and deleted.
        Parameters:
        serverName - name of the server instance to connect to
        userId - calling user
        assetGUID - unique identifier of the asset that the schema is to be attached to
        requestBody - schema type to create and attach directly to the asset.
        Returns:
        guid of the new schema type or InvalidParameterException full path or userId is null, or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
      • addSchemaTypeToAsset

        @Deprecated
        public GUIDResponse addSchemaTypeToAsset​(String serverName,
                                                 String userId,
                                                 String assetGUID,
                                                 SchemaTypeRequestBody requestBody)
        Deprecated.
        Stores the supplied schema type in the catalog and attaches it to the asset. If another schema is currently attached to the asset, it is unlinked and deleted.
        Parameters:
        serverName - name of the server instance to connect to
        userId - calling user
        assetGUID - unique identifier of the asset that the schema is to be attached to
        requestBody - schema type to create and attach directly to the asset.
        Returns:
        guid of the new schema type or InvalidParameterException full path or userId is null, or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
      • attachSchemaTypeToAsset

        public VoidResponse attachSchemaTypeToAsset​(String serverName,
                                                    String userId,
                                                    String assetGUID,
                                                    String schemaTypeGUID,
                                                    NullRequestBody requestBody)
        Links the supplied schema type directly to the asset. If this schema is either not found, or already attached to an asset, then an error occurs. If another schema is currently attached to the asset, it is unlinked and deleted.
        Parameters:
        serverName - name of the server instance to connect to
        userId - calling user
        assetGUID - unique identifier of the asset that the schema is to be attached to
        schemaTypeGUID - unique identifier of the schema type to attach
        requestBody - null
        Returns:
        void or InvalidParameterException full path or userId or one of the GUIDs is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
      • detachSchemaTypeFromAsset

        public GUIDResponse detachSchemaTypeFromAsset​(String serverName,
                                                      String userId,
                                                      String assetGUID,
                                                      NullRequestBody requestBody)
        Unlinks the schema from the asset but does not delete it. This means it can be be reattached to a different asset.
        Parameters:
        serverName - name of the server instance to connect to
        userId - calling user
        assetGUID - unique identifier of the asset that the schema is to be attached to
        requestBody - null
        Returns:
        guid of the schema type or InvalidParameterException full path or userId or one of the GUIDs is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
      • deleteAssetSchemaType

        public VoidResponse deleteAssetSchemaType​(String serverName,
                                                  String userId,
                                                  String assetGUID,
                                                  NullRequestBody requestBody)
        Detaches and deletes an asset's schema.
        Parameters:
        serverName - name of the server instance to connect to
        userId - calling user
        assetGUID - unique identifier of the asset that the schema is to be attached to
        requestBody - null
        Returns:
        void or InvalidParameterException full path or userId is null, or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
      • addSchemaAttributes

        public VoidResponse addSchemaAttributes​(String serverName,
                                                String userId,
                                                String assetGUID,
                                                String parentGUID,
                                                SchemaAttributesRequestBody requestBody)
        Adds attributes to a complex schema type like a relational table, avro schema or a structured document. This method can be called repeatedly to add many attributes to a schema. The schema type may be attached both directly or indirectly via nested schema elements to the asset.
        Parameters:
        serverName - name of the server instance to connect to
        userId - calling user
        assetGUID - unique identifier of the asset that the schema is to be attached to
        parentGUID - unique identifier of the schema element to anchor these attributes to.
        requestBody - list of schema attribute objects.
        Returns:
        list of unique identifiers for the new schema attributes returned in the same order as the supplied attribute or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
      • addSchemaAttributes

        public VoidResponse addSchemaAttributes​(String serverName,
                                                String userId,
                                                String assetGUID,
                                                String parentGUID,
                                                List<SchemaAttributeProperties> requestBody)
        Adds attributes to a complex schema type like a relational table, avro schema or a structured document. This method can be called repeatedly to add many attributes to a schema. The schema type may be attached both directly or indirectly via nested schema elements to the asset.
        Parameters:
        serverName - name of the server instance to connect to
        userId - calling user
        assetGUID - unique identifier of the asset that the schema is to be attached to
        parentGUID - unique identifier of the schema element to anchor these attributes to.
        requestBody - list of schema attribute objects.
        Returns:
        list of unique identifiers for the new schema attributes returned in the same order as the supplied attribute or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
      • addSchemaAttribute

        public GUIDResponse addSchemaAttribute​(String serverName,
                                               String userId,
                                               String assetGUID,
                                               String parentGUID,
                                               SchemaAttributeProperties requestBody)
        Adds attributes to a complex schema type like a relational table, avro schema or a structured document. This method can be called repeatedly to add many attributes to a schema. The schema type may be attached both directly or indirectly via nested schema elements to the asset.
        Parameters:
        serverName - name of the server instance to connect to
        userId - calling user
        assetGUID - unique identifier of the asset that the schema is to be attached to
        parentGUID - unique identifier of the schema element to anchor these attributes to.
        requestBody - schema attribute object.
        Returns:
        list of unique identifiers for the new schema attributes returned in the same order as the supplied attribute or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
      • addConnectionToAsset

        public VoidResponse addConnectionToAsset​(String serverName,
                                                 String userId,
                                                 String assetGUID,
                                                 ConnectionRequestBody requestBody)
        Adds a connection to an asset. Assets can have multiple connections attached.
        Parameters:
        serverName - name of the server instance to connect to
        userId - calling user
        assetGUID - unique identifier of the asset to attach the connection to
        requestBody - request body including a summary and connection object. If the connection is already stored (matching guid) then the existing connection is used.
        Returns:
        void or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
      • addSemanticAssignment

        public VoidResponse addSemanticAssignment​(String serverName,
                                                  String userId,
                                                  String assetGUID,
                                                  String glossaryTermGUID,
                                                  NullRequestBody requestBody)
        Create a simple relationship between a glossary term and an Asset description.
        Parameters:
        serverName - name of the server instance to connect to
        userId - calling user
        assetGUID - unique identifier of the asset that is being described
        glossaryTermGUID - unique identifier of the glossary term
        requestBody - null request body to satisfy POST request.
        Returns:
        void or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
      • addSemanticAssignment

        public VoidResponse addSemanticAssignment​(String serverName,
                                                  String userId,
                                                  String assetGUID,
                                                  String glossaryTermGUID,
                                                  String assetElementGUID,
                                                  NullRequestBody requestBody)
        Create a simple relationship between a glossary term and an element in an Asset description (typically a field in the schema).
        Parameters:
        serverName - name of the server instance to connect to
        userId - calling user
        assetGUID - unique identifier of the asset that is being described
        glossaryTermGUID - unique identifier of the glossary term
        assetElementGUID - element to link it to - its type must inherit from Referenceable.
        requestBody - null request body to satisfy POST request.
        Returns:
        void or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
      • removeSemanticAssignment

        public VoidResponse removeSemanticAssignment​(String serverName,
                                                     String userId,
                                                     String assetGUID,
                                                     String glossaryTermGUID,
                                                     NullRequestBody requestBody)
        Remove the relationship between a glossary term and an element in an Asset description (typically a field in the schema).
        Parameters:
        serverName - name of the server instance to connect to
        userId - calling user
        assetGUID - unique identifier of asset
        glossaryTermGUID - unique identifier of the glossary term
        requestBody - null request body
        Returns:
        void or InvalidParameterException one of the parameters is null or invalid or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
      • removeSemanticAssignment

        public VoidResponse removeSemanticAssignment​(String serverName,
                                                     String userId,
                                                     String assetGUID,
                                                     String glossaryTermGUID,
                                                     String assetElementGUID,
                                                     NullRequestBody requestBody)
        Remove the relationship between a glossary term and an element in an Asset description (typically a field in the schema).
        Parameters:
        serverName - name of the server instance to connect to
        userId - calling user
        assetGUID - unique identifier of asset
        glossaryTermGUID - unique identifier of the glossary term
        assetElementGUID - element to link it to - its type must inherit from Referenceable.
        requestBody - null request body
        Returns:
        void or InvalidParameterException one of the parameters is null or invalid or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
      • addAssetOrigin

        public VoidResponse addAssetOrigin​(String serverName,
                                           String userId,
                                           String assetGUID,
                                           OriginRequestBody requestBody)
        Set up the labels that classify an asset's origin. This will override any existing value.
        Parameters:
        serverName - name of the server instance to connect to
        userId - calling user
        assetGUID - unique identifier of asset
        requestBody - Descriptive labels describing origin of the asset
        Returns:
        void or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
      • removeAssetOrigin

        public VoidResponse removeAssetOrigin​(String serverName,
                                              String userId,
                                              String assetGUID,
                                              NullRequestBody requestBody)
        Remove the asset origin classification to an asset.
        Parameters:
        serverName - name of the server instance to connect to
        userId - calling user
        assetGUID - unique identifier of asset
        requestBody - null request body
        Returns:
        void or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
      • publishAsset

        public VoidResponse publishAsset​(String serverName,
                                         String userId,
                                         String assetGUID,
                                         NullRequestBody requestBody)
        Update the zones for a specific asset to the zone list specified in the publishZones
        Parameters:
        serverName - name of the server instance to connect to
        userId - calling user
        assetGUID - unique identifier for the asset to update
        requestBody - null request body
        Returns:
        void or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
      • withdrawAsset

        public VoidResponse withdrawAsset​(String serverName,
                                          String userId,
                                          String assetGUID,
                                          NullRequestBody requestBody)
        Update the zones for a specific asset to the zone list specified in the defaultZones
        Parameters:
        serverName - name of the server instance to connect to
        userId - calling user
        assetGUID - unique identifier for the asset to update
        requestBody - null request body
        Returns:
        void or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
      • updateAssetZones

        public VoidResponse updateAssetZones​(String serverName,
                                             String userId,
                                             String assetGUID,
                                             List<String> assetZones)
        Update the zones for a specific asset.
        Parameters:
        serverName - name of the server instance to connect to
        userId - calling user
        assetGUID - unique identifier for the asset to update
        assetZones - list of zones for the asset - these values override the current values - null means belongs to no zones.
        Returns:
        void or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
      • updateAssetOwner

        public VoidResponse updateAssetOwner​(String serverName,
                                             String userId,
                                             String assetGUID,
                                             OwnerRequestBody requestBody)
        Update the owner information for a specific asset.
        Parameters:
        serverName - name of the server instance to connect to
        userId - calling user
        assetGUID - unique identifier for the asset to update
        requestBody - values describing the new owner
        Returns:
        void or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
      • addSecurityTags

        public VoidResponse addSecurityTags​(String serverName,
                                            String userId,
                                            String assetGUID,
                                            SecurityTagsRequestBody requestBody)
        Add or replace the security tags for an asset or one of its elements.
        Parameters:
        serverName - name of the server instance to connect to
        userId - calling user
        assetGUID - unique identifier of asset
        requestBody - list of security labels and properties
        Returns:
        void or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
      • addSecurityTags

        public VoidResponse addSecurityTags​(String serverName,
                                            String userId,
                                            String assetGUID,
                                            String assetElementGUID,
                                            SecurityTagsRequestBody requestBody)
        Add or replace the security tags for an asset or one of its elements.
        Parameters:
        serverName - name of the server instance to connect to
        userId - calling user
        assetGUID - unique identifier of asset
        assetElementGUID - element to link it to - its type must inherit from Referenceable.
        requestBody - list of security labels and properties
        Returns:
        void or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
      • removeSecurityTags

        public VoidResponse removeSecurityTags​(String serverName,
                                               String userId,
                                               String assetGUID,
                                               NullRequestBody requestBody)
        Remove the security tags classification from an asset.
        Parameters:
        serverName - name of the server instance to connect to
        userId - calling user
        assetGUID - unique identifier of asset
        requestBody - null request body
        Returns:
        void or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
      • removeSecurityTags

        public VoidResponse removeSecurityTags​(String serverName,
                                               String userId,
                                               String assetGUID,
                                               String assetElementGUID,
                                               NullRequestBody requestBody)
        Remove the security tags classification to one of an asset's elements.
        Parameters:
        serverName - name of the server instance to connect to
        userId - calling user
        assetGUID - unique identifier of asset
        assetElementGUID - element where the security tags need to be removed.
        requestBody - null request body
        Returns:
        void or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
      • addTemplateClassification

        public VoidResponse addTemplateClassification​(String serverName,
                                                      String userId,
                                                      String assetGUID,
                                                      TemplateClassificationRequestBody requestBody)
        Classify an asset as suitable to be used as a template for cataloguing assets of a similar types.
        Parameters:
        serverName - name of the server instance to connect to
        userId - calling user
        assetGUID - unique identifier of the asset to classify
        requestBody - properties of the template
        Returns:
        void or InvalidParameterException asset or element not known, null userId or guid or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
      • removeTemplateClassification

        public VoidResponse removeTemplateClassification​(String serverName,
                                                         String userId,
                                                         String assetGUID,
                                                         NullRequestBody requestBody)
        Remove the classification that indicates that this asset can be used as a template.
        Parameters:
        serverName - name of the server instance to connect to
        userId - calling user
        assetGUID - unique identifier of the asset to declassify
        requestBody - null request body
        Returns:
        void or InvalidParameterException asset or element not known, null userId or guid or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
      • getAssetsByName

        public AssetElementsResponse getAssetsByName​(String serverName,
                                                     String userId,
                                                     String name,
                                                     int startFrom,
                                                     int pageSize)
        Return a list of assets with the requested name.
        Parameters:
        serverName - name of the server instances for this request
        userId - calling user
        name - name to search for
        startFrom - starting element (used in paging through large result sets)
        pageSize - maximum number of results to return
        Returns:
        list of Asset summaries or InvalidParameterException the name is invalid or PropertyServerException there is a problem access in the property server or UserNotAuthorizedException the user does not have access to the properties
      • findAssets

        public AssetElementsResponse findAssets​(String serverName,
                                                String userId,
                                                String searchString,
                                                int startFrom,
                                                int pageSize)
        Return a list of assets with the requested search string in their name, qualified name or description.
        Parameters:
        serverName - name of the server instances for this request
        userId - calling user
        searchString - string to search for in text
        startFrom - starting element (used in paging through large result sets)
        pageSize - maximum number of results to return
        Returns:
        list of assets that match the search string or InvalidParameterException the searchString is invalid or PropertyServerException there is a problem access in the property server or UserNotAuthorizedException the user does not have access to the properties
      • getAssetSummary

        public AssetElementResponse getAssetSummary​(String serverName,
                                                    String userId,
                                                    String assetGUID)
        Return the basic attributes of an asset.
        Parameters:
        serverName - server called
        userId - calling user
        assetGUID - unique identifier of the asset
        Returns:
        basic asset properties InvalidParameterException one of the parameters is null or invalid. UserNotAuthorizedException user not authorized to issue this request. PropertyServerException there was a problem that occurred within the property server.
      • getDiscoveryAnalysisReports

        public DiscoveryAnalysisReportListResponse getDiscoveryAnalysisReports​(String serverName,
                                                                               String userId,
                                                                               String assetGUID,
                                                                               int startingFrom,
                                                                               int maxPageSize)
        Return the discovery analysis reports about the asset.
        Parameters:
        serverName - name of the server instance to connect to
        userId - calling user
        assetGUID - unique identifier of the asset
        startingFrom - position in the list (used when there are so many reports that paging is needed
        maxPageSize - maximum number of elements to return an this call
        Returns:
        list of discovery analysis reports or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
      • getDiscoveryReportAnnotations

        public AnnotationListResponse getDiscoveryReportAnnotations​(String serverName,
                                                                    String userId,
                                                                    String discoveryReportGUID,
                                                                    int startingFrom,
                                                                    int maximumResults,
                                                                    StatusRequestBody requestBody)
        Return the annotations linked directly to the report.
        Parameters:
        serverName - name of the server instance to connect to
        userId - identifier of calling user
        discoveryReportGUID - identifier of the discovery request.
        startingFrom - initial position in the stored list.
        maximumResults - maximum number of definitions to return on this call.
        requestBody - status of the desired annotations - null means all statuses.
        Returns:
        list of annotations or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
      • getExtendedAnnotations

        public AnnotationListResponse getExtendedAnnotations​(String serverName,
                                                             String userId,
                                                             String annotationGUID,
                                                             int startingFrom,
                                                             int maximumResults,
                                                             StatusRequestBody requestBody)
        Return any annotations attached to this annotation.
        Parameters:
        serverName - name of the server instance to connect to
        userId - identifier of calling user
        annotationGUID - anchor annotation
        startingFrom - starting position in the list
        maximumResults - maximum number of annotations that can be returned.
        requestBody - status of the desired annotations - null means all statuses.
        Returns:
        list of Annotation objects or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
      • deleteAsset

        public VoidResponse deleteAsset​(String serverName,
                                        String userId,
                                        String assetGUID,
                                        NullRequestBody requestBody)
        Deletes an asset and all of its associated elements such as schema, connections (unless they are linked to another asset), discovery reports and associated feedback. Given the depth of the delete performed by this call, it should be used with care.
        Parameters:
        serverName - name of the server instance to connect to
        userId - calling user
        assetGUID - unique identifier of the attest to attach the connection to
        requestBody - dummy request body to satisfy POST protocol.
        Returns:
        void or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
      • linkElementsAsPeerDuplicates

        public VoidResponse linkElementsAsPeerDuplicates​(String serverName,
                                                         String userId,
                                                         String element1GUID,
                                                         String element2GUID,
                                                         NullRequestBody requestBody)
        Create a simple relationship between two elements in an Asset description (typically the asset itself or attributes in their schema).
        Parameters:
        serverName - name of the server instance to connect to
        userId - calling user
        element1GUID - unique identifier of first element
        element2GUID - unique identifier of second element
        requestBody - dummy request body to satisfy POST protocol.
        Returns:
        void or InvalidParameterException one of the parameters is null or invalid or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
      • unlinkElementsAsPeerDuplicates

        public VoidResponse unlinkElementsAsPeerDuplicates​(String serverName,
                                                           String userId,
                                                           String element1GUID,
                                                           String element2GUID,
                                                           NullRequestBody requestBody)
        Remove the relationship between two elements that marks them as duplicates.
        Parameters:
        serverName - name of the server instance to connect to
        userId - calling user
        element1GUID - unique identifier of first element
        element2GUID - unique identifier of second element
        requestBody - dummy request body to satisfy POST protocol.
        Returns:
        void or InvalidParameterException one of the parameters is null or invalid or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem