Class FileSystemAssetOwner
- java.lang.Object
-
- org.odpi.openmetadata.commonservices.ocf.metadatamanagement.client.ConnectedAssetClientBase
-
- org.odpi.openmetadata.accessservices.assetowner.client.AssetOwner
-
- org.odpi.openmetadata.accessservices.assetowner.client.FileSystemAssetOwner
-
- All Implemented Interfaces:
AssetClassificationInterface,AssetConnectionManagementInterface,AssetDecommissioningInterface,AssetKnowledgeInterface,AssetOnboardingFileSystem,AssetOnboardingInterface,AssetReviewInterface
public class FileSystemAssetOwner extends AssetOwner implements AssetOnboardingFileSystem
FileSystemAssetOwner provides specialist methods for onboarding details of a file system and the files within it. At the top level is a file system. It can have nested Folders attached and inside the folders are the files.
-
-
Field Summary
-
Fields inherited from class org.odpi.openmetadata.accessservices.assetowner.client.AssetOwner
restClient
-
Fields inherited from class org.odpi.openmetadata.commonservices.ocf.metadatamanagement.client.ConnectedAssetClientBase
auditLog, invalidParameterHandler, nullRequestBody, serverName, serverPlatformURLRoot
-
-
Constructor Summary
Constructors Constructor Description FileSystemAssetOwner(String serverName, String serverPlatformURLRoot)Create a new client with no authentication embedded in the HTTP request.FileSystemAssetOwner(String serverName, String serverPlatformURLRoot, String userId, String password)Create a new client that passes userId and password in each HTTP request.FileSystemAssetOwner(String serverName, String serverPlatformURLRoot, String userId, String password, AuditLog auditLog)Create a new client that passes userId and password in each HTTP request.FileSystemAssetOwner(String serverName, String serverPlatformURLRoot, AssetOwnerRESTClient restClient, int maxPageSize, AuditLog auditLog)Create a new client that is going to be used in an OMAG Server (view service or integration service typically).FileSystemAssetOwner(String serverName, String serverPlatformURLRoot, AuditLog auditLog)Create a new client with no authentication embedded in the HTTP request and an audit log.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description List<String>addDataFileAssetToCatalog(String userId, String displayName, String description, String pathName)Creates a new data file asset and links it to the folder structure implied in the path name.List<String>addDataFolderAssetToCatalog(String userId, String displayName, String description, String pathName)Creates a new folder asset that is identified as a data asset.voidattachDataFileAssetToFolder(String userId, String folderGUID, String fileGUID)Link an existing file asset to a folder.voidattachFolderToFileSystem(String userId, String fileSystemGUID, String folderGUID)Links a folder to a file system.StringcreateFileSystemInCatalog(String userId, String uniqueName, String displayName, String description, String type, String version, String patchLevel, String source, String format, String encryption, Map<String,String> additionalProperties)Files live on a file system.List<String>createFolderStructureInCatalog(String userId, String pathName)Creates a new folder asset for each element in the pathName.List<String>createFolderStructureInCatalog(String userId, String anchorGUID, String pathName)Creates a new folder asset for each element in the pathName that is linked from the anchor entity.voiddetachDataFileAssetFromFolder(String userId, String folderGUID, String fileGUID)Remove a link between a file asset and a folder.voiddetachFolderFromFileSystem(String userId, String fileSystemGUID, String folderGUID)Removed the link between a folder and a file system.FileSystemElementgetFileSystemByGUID(String userId, String fileSystemGUID)Retrieve a FileSystemProperties asset by its unique identifier (GUID).FileSystemElementgetFileSystemByUniqueName(String userId, String uniqueName)Retrieve a FileSystemProperties asset by its unique name.List<String>getFileSystems(String userId, int startingFrom, int maxPageSize)Retrieve a list of defined FileSystems assets.FolderElementgetFolderByGUID(String userId, String folderGUID)Retrieve a FolderProperties asset by its unique identifier (GUID).FolderElementgetFolderByPathName(String userId, String pathName)Retrieve a folder by its fully qualified path name.List<String>getFolderFiles(String userId, String folderGUID, int startingFrom, int maxPageSize)Get the files inside a folder - both those that are nested and those that are linked.List<String>getNestedFolders(String userId, String parentGUID, int startingFrom, int maxPageSize)Return the list of folders nested inside a folder.voidmoveDataFileInCatalog(String userId, String folderGUID, String fileGUID)Move a file from its current parent folder to a new parent folder - this changes the file's qualified name but not its unique identifier (guid).voidmoveDataFolderInCatalog(String userId, String folderGUID, String dataFolderGUID)Move a data folder from its current parent folder to a new parent folder - this changes the folder's qualified name but not its unique identifier (guid).-
Methods inherited from class org.odpi.openmetadata.accessservices.assetowner.client.AssetOwner
addAssetOrigin, addAssetToCatalog, addAssetToCatalog, addAssetToCatalogUsingTemplate, addCombinedSchemaToAsset, addConnectionToAsset, addSchemaAttribute, addSchemaAttributes, addSchemaTypeToAsset, addSecurityTags, addSemanticAssignment, addTemplateClassification, attachSchemaTypeToAsset, clearAssetConnection, clearConnectorType, clearEmbeddedConnection, clearEndpoint, createConnection, createConnectionFromTemplate, createEndpoint, createEndpointFromTemplate, deleteAsset, deleteAssetSchemaType, detachSchemaTypeFromAsset, findAssets, findConnections, findConnectorTypes, findEndpoints, getAssetProperties, getAssetsByName, getAssetSummary, getConnectionByGUID, getConnectionsByName, getConnectorToAsset, getConnectorTypeByGUID, getConnectorTypesByName, getDiscoveryAnalysisReports, getDiscoveryReportAnnotations, getEndpointByGUID, getEndpointsByName, getExtendedAnnotations, getTypesOfAnnotation, getTypesOfAnnotationWithDescriptions, getTypesOfAsset, getTypesOfAssetWithDescriptions, publishAsset, removeAssetOrigin, removeConnection, removeEndpoint, removeSecurityTags, removeSemanticAssignment, removeTemplateClassification, scanConnections, setupAssetConnection, setupConnectorType, setupEmbeddedConnection, setupEndpoint, updateAssetOwner, updateAssetOwner, updateAssetZones, updateConnection, updateEndpoint, withdrawAsset
-
Methods inherited from class org.odpi.openmetadata.commonservices.ocf.metadatamanagement.client.ConnectedAssetClientBase
getAssetForConnection, getAssetProperties, getAssetSummary, getConnectionByGUID, getConnectionByName, getConnectionForAsset, getConnectorForConnection
-
-
-
-
Constructor Detail
-
FileSystemAssetOwner
public FileSystemAssetOwner(String serverName, String serverPlatformURLRoot, AuditLog auditLog) throws InvalidParameterException
Create a new client with no authentication embedded in the HTTP request and an audit log.- Parameters:
serverName- name of the server to connect toserverPlatformURLRoot- the network address of the server running the OMAS REST serversauditLog- logging destination- Throws:
InvalidParameterException- there is a problem creating the client-side components to issue any REST API calls.
-
FileSystemAssetOwner
public FileSystemAssetOwner(String serverName, String serverPlatformURLRoot) throws InvalidParameterException
Create a new client with no authentication embedded in the HTTP request.- Parameters:
serverName- name of the server to connect toserverPlatformURLRoot- the network address of the server running the OMAS REST servers- Throws:
InvalidParameterException- there is a problem creating the client-side components to issue any REST API calls.
-
FileSystemAssetOwner
public FileSystemAssetOwner(String serverName, String serverPlatformURLRoot, String userId, String password, AuditLog auditLog) throws InvalidParameterException
Create a new client that passes userId and password in each HTTP request. This is the userId/password of the calling server. The end user's userId is sent on each request. There is also an audit log destination.- Parameters:
serverName- name of the server to connect toserverPlatformURLRoot- the network address of the server running the OMAS REST serversuserId- caller's userId embedded in all HTTP requestspassword- caller's userId embedded in all HTTP requestsauditLog- logging destination- Throws:
InvalidParameterException- there is a problem creating the client-side components to issue any REST API calls.
-
FileSystemAssetOwner
public FileSystemAssetOwner(String serverName, String serverPlatformURLRoot, String userId, String password) throws InvalidParameterException
Create a new client that passes userId and password in each HTTP request. This is the userId/password of the calling server. The end user's userId is sent on each request.- Parameters:
serverName- name of the server to connect toserverPlatformURLRoot- the network address of the server running the OMAS REST serversuserId- caller's userId embedded in all HTTP requestspassword- caller's userId embedded in all HTTP requests- Throws:
InvalidParameterException- there is a problem creating the client-side components to issue any REST API calls.
-
FileSystemAssetOwner
public FileSystemAssetOwner(String serverName, String serverPlatformURLRoot, AssetOwnerRESTClient restClient, int maxPageSize, AuditLog auditLog) throws InvalidParameterException
Create a new client that is going to be used in an OMAG Server (view service or integration service typically).- Parameters:
serverName- name of the server to connect toserverPlatformURLRoot- the network address of the server running the OMAS REST serversrestClient- client that issues the REST API callsmaxPageSize- maximum number of results supported by this serverauditLog- logging destination- Throws:
InvalidParameterException- there is a problem creating the client-side components to issue any REST API calls.
-
-
Method Detail
-
createFileSystemInCatalog
public String createFileSystemInCatalog(String userId, String uniqueName, String displayName, String description, String type, String version, String patchLevel, String source, String format, String encryption, Map<String,String> additionalProperties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Files live on a file system. This method creates a top level anchor for a file system.- Specified by:
createFileSystemInCatalogin interfaceAssetOnboardingFileSystem- Parameters:
userId- calling useruniqueName- qualified name for the file systemdisplayName- short display namedescription- description of the file systemtype- type of file systemversion- version of file systempatchLevel- patchLevel of software supporting the file systemsource- supplier of the software for this file systemformat- format of files on this file systemencryption- encryption type - null for unencryptedadditionalProperties- additional properties- Returns:
- unique identifier for the file system
- Throws:
InvalidParameterException- one of the parameters is null or invalidPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
createFolderStructureInCatalog
public List<String> createFolderStructureInCatalog(String userId, String anchorGUID, String pathName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Creates a new folder asset for each element in the pathName that is linked from the anchor entity. For example, a pathName of "one/two/three" creates 3 new folder assets, one called "one", the next called "one/two" and the last one called "one/two/three".- Specified by:
createFolderStructureInCatalogin interfaceAssetOnboardingFileSystem- Parameters:
userId- calling useranchorGUID- root object to connect the folder topathName- pathname of the folder (or folders)- Returns:
- list of GUIDs from the top level to the leaf of the supplied pathname
- Throws:
InvalidParameterException- one of the parameters is null or invalidPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
createFolderStructureInCatalog
public List<String> createFolderStructureInCatalog(String userId, String pathName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Creates a new folder asset for each element in the pathName. For example, a pathName of "one/two/three" creates 3 new folder assets, one called "one", the next called "one/two" and the last one called "one/two/three".- Specified by:
createFolderStructureInCatalogin interfaceAssetOnboardingFileSystem- Parameters:
userId- calling userpathName- pathname of the folder (or folders)- Returns:
- list of GUIDs from the top level to the leaf of the supplied pathname
- Throws:
InvalidParameterException- one of the parameters is null or invalidPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
attachFolderToFileSystem
public void attachFolderToFileSystem(String userId, String fileSystemGUID, String folderGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Links a folder to a file system. The folder is not changed.- Specified by:
attachFolderToFileSystemin interfaceAssetOnboardingFileSystem- Parameters:
userId- calling userfileSystemGUID- unique identifier of the file system in the catalogfolderGUID- unique identifier of the folder in the catalog- Throws:
InvalidParameterException- one of the parameters is null or invalidPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
detachFolderFromFileSystem
public void detachFolderFromFileSystem(String userId, String fileSystemGUID, String folderGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Removed the link between a folder and a file system.- Specified by:
detachFolderFromFileSystemin interfaceAssetOnboardingFileSystem- Parameters:
userId- calling userfileSystemGUID- unique identifier of the file system in the catalogfolderGUID- unique identifier of the folder in the catalog- Throws:
InvalidParameterException- one of the parameters is null or invalidPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
addDataFileAssetToCatalog
public List<String> addDataFileAssetToCatalog(String userId, String displayName, String description, String pathName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Creates a new data file asset and links it to the folder structure implied in the path name. If the folder structure is not catalogued already, this is created automatically using the createFolderStructureInCatalog() method. For example, a pathName of "one/two/three/MyFile.txt" potentially creates 3 new folder assets, one called "one", the next called "one/two" and the last one called "one/two/three" plus a file asset called "one/two/three/MyFile.txt".- Specified by:
addDataFileAssetToCatalogin interfaceAssetOnboardingFileSystem- Parameters:
userId- calling userdisplayName- display name for the file in the catalogdescription- description of the file in the catalogpathName- pathname of the data file- Returns:
- list of GUIDs from the top level to the root of the pathname
- Throws:
InvalidParameterException- one of the parameters is null or invalidPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
addDataFolderAssetToCatalog
public List<String> addDataFolderAssetToCatalog(String userId, String displayName, String description, String pathName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Creates a new folder asset that is identified as a data asset. This means the files and sub-folders within it collectively make up the contents of the data asset. As with other types of file-based asset, links are made to the folder structure implied in the path name. If the folder structure is not catalogued already, this is created automatically using the createFolderStructureInCatalog() method. For example, a pathName of "one/two/three/MyDataFolder" potentially creates 3 new folder assets, one called "one", the next called "one/two" and the last one called "one/two/three" plus a DataFolder asset called "one/two/three/MyDataFolder".- Specified by:
addDataFolderAssetToCatalogin interfaceAssetOnboardingFileSystem- Parameters:
userId- calling userdisplayName- display name for the file in the catalogdescription- description of the file in the catalogpathName- pathname of the data folder- Returns:
- list of GUIDs from the top level to the root of the pathname
- Throws:
InvalidParameterException- one of the parameters is null or invalidPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
attachDataFileAssetToFolder
public void attachDataFileAssetToFolder(String userId, String folderGUID, String fileGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Link an existing file asset to a folder. The file is not changed as this is used to create a logical link to the folder.- Specified by:
attachDataFileAssetToFolderin interfaceAssetOnboardingFileSystem- Parameters:
userId- calling userfolderGUID- unique identifier of the folderfileGUID- unique identifier of the file- Throws:
InvalidParameterException- one of the parameters is null or invalidPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
detachDataFileAssetFromFolder
public void detachDataFileAssetFromFolder(String userId, String folderGUID, String fileGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Remove a link between a file asset and a folder. The file is not changed. Use moveDataFileInCatalog to record the fact that the physical file has moved. Use attachDataFileAssetToFolder to create logical link to a new folder.- Specified by:
detachDataFileAssetFromFolderin interfaceAssetOnboardingFileSystem- Parameters:
userId- calling userfolderGUID- unique identifier of the folderfileGUID- unique identifier of the file- Throws:
InvalidParameterException- one of the parameters is null or invalidPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
moveDataFileInCatalog
public void moveDataFileInCatalog(String userId, String folderGUID, String fileGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Move a file from its current parent folder to a new parent folder - this changes the file's qualified name but not its unique identifier (guid). Also the the endpoint in the connection object.- Specified by:
moveDataFileInCatalogin interfaceAssetOnboardingFileSystem- Parameters:
userId- calling userfolderGUID- new parent folderfileGUID- unique identifier of the file to move- Throws:
InvalidParameterException- one of the parameters is null or invalidPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
moveDataFolderInCatalog
public void moveDataFolderInCatalog(String userId, String folderGUID, String dataFolderGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Move a data folder from its current parent folder to a new parent folder - this changes the folder's qualified name but not its unique identifier (guid). Also the the endpoint in the connection object.- Specified by:
moveDataFolderInCatalogin interfaceAssetOnboardingFileSystem- Parameters:
userId- calling userfolderGUID- new parent folderdataFolderGUID- unique identifier of the file to move- Throws:
InvalidParameterException- one of the parameters is null or invalidPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
getFileSystemByGUID
public FileSystemElement getFileSystemByGUID(String userId, String fileSystemGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Retrieve a FileSystemProperties asset by its unique identifier (GUID).- Specified by:
getFileSystemByGUIDin interfaceAssetOnboardingFileSystem- Parameters:
userId- calling userfileSystemGUID- unique identifier used to locate the file system- Returns:
- FileSystemProperties properties
- Throws:
InvalidParameterException- one of the parameters is null or invalidPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
getFileSystemByUniqueName
public FileSystemElement getFileSystemByUniqueName(String userId, String uniqueName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Retrieve a FileSystemProperties asset by its unique name.- Specified by:
getFileSystemByUniqueNamein interfaceAssetOnboardingFileSystem- Parameters:
userId- calling useruniqueName- unique identifier used to locate the folder- Returns:
- Filesystem properties
- Throws:
InvalidParameterException- one of the parameters is null or invalidPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
getFileSystems
public List<String> getFileSystems(String userId, int startingFrom, int maxPageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Retrieve a list of defined FileSystems assets.- Specified by:
getFileSystemsin interfaceAssetOnboardingFileSystem- Parameters:
userId- calling userstartingFrom- starting point in the listmaxPageSize- maximum number of results- Returns:
- List of Filesystem unique identifiers
- Throws:
InvalidParameterException- one of the parameters is null or invalidPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
getFolderByGUID
public FolderElement getFolderByGUID(String userId, String folderGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Retrieve a FolderProperties asset by its unique identifier (GUID).- Specified by:
getFolderByGUIDin interfaceAssetOnboardingFileSystem- Parameters:
userId- calling userfolderGUID- unique identifier used to locate the folder- Returns:
- FolderProperties properties
- Throws:
InvalidParameterException- one of the parameters is null or invalidPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
getFolderByPathName
public FolderElement getFolderByPathName(String userId, String pathName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Retrieve a folder by its fully qualified path name.- Specified by:
getFolderByPathNamein interfaceAssetOnboardingFileSystem- Parameters:
userId- calling userpathName- path name- Returns:
- FolderProperties properties
- Throws:
InvalidParameterException- one of the parameters is null or invalidPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
getNestedFolders
public List<String> getNestedFolders(String userId, String parentGUID, int startingFrom, int maxPageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Return the list of folders nested inside a folder.- Specified by:
getNestedFoldersin interfaceAssetOnboardingFileSystem- Parameters:
userId- calling userparentGUID- unique identifier of the anchor folder or file systemstartingFrom- starting point in the listmaxPageSize- maximum number of results- Returns:
- list of folder unique identifiers (null means no nested folders)
- Throws:
InvalidParameterException- one of the parameters is null or invalidPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
getFolderFiles
public List<String> getFolderFiles(String userId, String folderGUID, int startingFrom, int maxPageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Get the files inside a folder - both those that are nested and those that are linked.- Specified by:
getFolderFilesin interfaceAssetOnboardingFileSystem- Parameters:
userId- calling userfolderGUID- unique identifier of the anchor folderstartingFrom- starting point in the listmaxPageSize- maximum number of results- Returns:
- list of file asset unique identifiers
- Throws:
InvalidParameterException- one of the parameters is null or invalidPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
-