org.odpi.openmetadata.accessservices.assetowner.api.AssetReviewInterface Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of asset-owner-api Show documentation
Show all versions of asset-owner-api Show documentation
API classes for the Asset Owner Open Metadata Access Service (OMAS).
/* SPDX-License-Identifier: Apache-2.0 */
/* Copyright Contributors to the ODPi Egeria project. */
package org.odpi.openmetadata.accessservices.assetowner.api;
import org.odpi.openmetadata.accessservices.assetowner.metadataelements.AssetElement;
import org.odpi.openmetadata.frameworks.connectors.Connector;
import org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException;
import org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException;
import org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException;
import org.odpi.openmetadata.frameworks.connectors.properties.AssetUniverse;
import org.odpi.openmetadata.frameworks.discovery.properties.Annotation;
import org.odpi.openmetadata.frameworks.discovery.properties.AnnotationStatus;
import org.odpi.openmetadata.frameworks.discovery.properties.DiscoveryAnalysisReport;
import java.util.List;
import java.util.Map;
/**
* The AssetReviewInterface is used by the asset owner to review the state of the asset including any quality and usage
* metrics associated with the asset.
*/
public interface AssetReviewInterface
{
/**
* Return a list of assets with the requested name.
*
* @param userId calling user
* @param name name to search for
* @param startFrom starting element (used in paging through large result sets)
* @param pageSize maximum number of results to return
*
* @return list of unique identifiers of assets with matching name.
*
* @throws InvalidParameterException the name is invalid
* @throws PropertyServerException there is a problem access in the property server
* @throws UserNotAuthorizedException the user does not have access to the properties
*/
List getAssetsByName(String userId,
String name,
int startFrom,
int pageSize) throws InvalidParameterException,
PropertyServerException,
UserNotAuthorizedException;
/**
* Return a list of assets with the requested search string in their name, qualified name
* or description.
*
* @param userId calling user
* @param searchString string to search for in text
* @param startFrom starting element (used in paging through large result sets)
* @param pageSize maximum number of results to return
*
* @return list of assets that match the search string.
*
* @throws InvalidParameterException the searchString is invalid
* @throws PropertyServerException there is a problem access in the property server
* @throws UserNotAuthorizedException the user does not have access to the properties
*/
List findAssets(String userId,
String searchString,
int startFrom,
int pageSize) throws InvalidParameterException,
PropertyServerException,
UserNotAuthorizedException;
/**
* Return the basic attributes of an asset.
*
* @param userId calling user
* @param assetGUID unique identifier of the asset
* @return basic asset properties
* @throws InvalidParameterException one of the parameters is null or invalid.
* @throws UserNotAuthorizedException user not authorized to issue this request.
* @throws PropertyServerException there was a problem that occurred within the property server.
*/
AssetElement getAssetSummary(String userId,
String assetGUID) throws InvalidParameterException,
UserNotAuthorizedException,
PropertyServerException;
/**
* Return everything that is known about the asset
*
* @param userId calling user
* @param assetGUID unique identifier of the asset
* @return asset properties with links to other attached content
* @throws InvalidParameterException one of the parameters is null or invalid.
* @throws UserNotAuthorizedException user not authorized to issue this request.
* @throws PropertyServerException there was a problem that occurred within the property server.
*/
AssetUniverse getAssetProperties(String userId,
String assetGUID) throws InvalidParameterException,
UserNotAuthorizedException,
PropertyServerException;
/**
* Return a connector for the asset to enable the calling user to access the content.
*
* @param userId calling user
* @param assetGUID unique identifier of the asset
* @return connector object
* @throws InvalidParameterException one of the parameters is null or invalid.
* @throws UserNotAuthorizedException user not authorized to issue this request.
* @throws PropertyServerException there was a problem that occurred within the property server.
*/
Connector getConnectorToAsset(String userId,
String assetGUID) throws InvalidParameterException,
UserNotAuthorizedException,
PropertyServerException;
/**
* Return the discovery analysis reports about the asset.
*
* @param userId calling user
* @param assetGUID unique identifier of the asset
* @param startingFrom position in the list (used when there are so many reports that paging is needed
* @param maximumResults maximum number of elements to return an this call
* @return list of discovery analysis reports
* @throws InvalidParameterException one of the parameters is null or invalid.
* @throws UserNotAuthorizedException user not authorized to issue this request.
* @throws PropertyServerException there was a problem that occurred within the property server.
*/
List getDiscoveryAnalysisReports(String userId,
String assetGUID,
int startingFrom,
int maximumResults) throws InvalidParameterException,
UserNotAuthorizedException,
PropertyServerException;
/**
* Return the annotation subtype names.
*
* @param userId calling user
* @return list of type names that are subtypes of annotation
* @throws InvalidParameterException full path or userId is null
* @throws PropertyServerException problem accessing property server
* @throws UserNotAuthorizedException security access problem
*/
List getTypesOfAnnotation(String userId) throws InvalidParameterException,
UserNotAuthorizedException,
PropertyServerException;
/**
* Return the annotation subtype names mapped to their descriptions.
*
* @param userId calling user
* @return map of type names that are subtypes of annotation to their descriptions
* @throws InvalidParameterException full path or userId is null
* @throws PropertyServerException problem accessing property server
* @throws UserNotAuthorizedException security access problem
*/
Map getTypesOfAnnotationWithDescriptions(String userId) throws InvalidParameterException,
UserNotAuthorizedException,
PropertyServerException;
/**
* Return the annotations linked directly to the report.
*
* @param userId identifier of calling user
* @param discoveryReportGUID identifier of the discovery request.
* @param annotationStatus status of the desired annotations - null means all statuses.
* @param startingFrom initial position in the stored list.
* @param maximumResults maximum number of definitions to return on this call.
*
* @return list of annotations
*
* @throws InvalidParameterException one of the parameters is null or invalid.
* @throws UserNotAuthorizedException user not authorized to issue this request.
* @throws PropertyServerException there was a problem that occurred within the property server.
*/
List getDiscoveryReportAnnotations(String userId,
String discoveryReportGUID,
AnnotationStatus annotationStatus,
int startingFrom,
int maximumResults) throws InvalidParameterException,
UserNotAuthorizedException,
PropertyServerException;
/**
* Return any annotations attached to this annotation.
*
* @param userId identifier of calling user
* @param annotationGUID anchor annotation
* @param annotationStatus status of the desired annotations - null means all statuses.
* @param startingFrom starting position in the list
* @param maximumResults maximum number of annotations that can be returned.
*
* @return list of Annotation objects
*
* @throws InvalidParameterException one of the parameters is null or invalid.
* @throws UserNotAuthorizedException user not authorized to issue this request.
* @throws PropertyServerException there was a problem that occurred within the property server.
*/
List getExtendedAnnotations(String userId,
String annotationGUID,
AnnotationStatus annotationStatus,
int startingFrom,
int maximumResults) throws InvalidParameterException,
UserNotAuthorizedException,
PropertyServerException;
}