Class FilesAndFoldersHandler<FILESYSTEM,FOLDER,FILE>
- java.lang.Object
-
- org.odpi.openmetadata.commonservices.generichandlers.FilesAndFoldersHandler<FILESYSTEM,FOLDER,FILE>
-
- Type Parameters:
FILESYSTEM- the class representing a file systemFOLDER- the class representing a folder in the file systemFILE- the class representing a file in the file system
public class FilesAndFoldersHandler<FILESYSTEM,FOLDER,FILE> extends Object
FilesAndFoldersHandler provides the support for managing catalog entries about files and folders.
-
-
Constructor Summary
Constructors Constructor Description FilesAndFoldersHandler(OpenMetadataAPIGenericConverter<FILESYSTEM> fileSystemConverter, Class<FILESYSTEM> fileSystemBeanClass, OpenMetadataAPIGenericConverter<FOLDER> folderConverter, Class<FOLDER> folderBeanClass, OpenMetadataAPIGenericConverter<FILE> fileConverter, Class<FILE> fileBeanClass, String serviceName, String serverName, InvalidParameterHandler invalidParameterHandler, RepositoryHandler repositoryHandler, OMRSRepositoryHelper repositoryHelper, String localServerUserId, OpenMetadataServerSecurityVerifier securityVerifier, List<String> supportedZones, List<String> defaultZones, List<String> publishZones, AuditLog auditLog)Construct the handler information needed to interact with the repository services
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description List<String>addAvroFileToCatalog(String userId, String externalSourceGUID, String externalSourceName, String displayName, String description, String fullPath, String methodName)Add a simple asset description linked to a connection object for an Avro file.List<String>addCSVFileToCatalog(String userId, String externalSourceGUID, String externalSourceName, String displayName, String description, String fullPath, List<String> columnHeaders, Character delimiterCharacter, Character quoteCharacter, Date effectiveTime, String methodName)Add a simple asset description linked to a connection object for a CSV file.List<String>addDataFileAssetToCatalog(String userId, String externalSourceGUID, String externalSourceName, String displayName, String description, String pathName, String methodName)Creates a new file asset and links it to the folder structure implied in the path name.List<String>addDataFolderAssetToCatalog(String userId, String externalSourceGUID, String externalSourceName, String pathName, String displayName, String description, String methodName)Creates a new folder asset that is identified as a data asset.List<String>addDataFolderAssetToCatalog(String userId, String externalSourceGUID, String externalSourceName, String pathName, String displayName, String description, Date createTime, Date modifiedTime, String encodingType, String encodingLanguage, String encodingDescription, Map<String,String> encodingProperties, Map<String,String> additionalProperties, String connectorProviderClassName, String typeName, Map<String,Object> extendedProperties, String methodName)Creates a new folder asset that is identified as a data asset.List<String>addFileToCatalog(String userId, String externalSourceGUID, String externalSourceName, String qualifiedName, String displayName, String description, String pathName, Date createTime, Date modifiedTime, String encodingType, String encodingLanguage, String encodingDescription, Map<String,String> encodingProperties, String suppliedFileType, Map<String,String> additionalProperties, String connectorProviderClassName, String typeName, Map<String,Object> extendedProperties, String methodName)Add a simple asset description linked to a connection object for a file.List<String>addFileToCatalogFromTemplate(String userId, String externalSourceGUID, String externalSourceName, String templateGUID, String fullPath, String displayName, String description, String methodName)Create a new file asset based on an existing asset but with the supplied path name, display name and description.List<String>addFolderToCatalogFromTemplate(String userId, String externalSourceGUID, String externalSourceName, String templateGUID, String pathName, String displayName, String description, String methodName)Create a new file asset based on an existing asset but with the supplied path name, display name and description.voidarchiveFileInCatalog(String userId, String externalSourceGUID, String externalSourceName, String dataFileGUID, String dataFileGUIDParameterName, Date archiveDate, String archiveProcess, Map<String,String> archiveProperties, String methodName)Archive a DataFile asset description.voidarchiveFolderInCatalog(String userId, String externalSourceGUID, String externalSourceName, String dataFolderGUID, String dataFolderGUIDParameterName, Date archiveDate, String archiveProcess, Map<String,String> archiveProperties, String methodName)Archive a DataFolder asset description.voidattachDataFileAssetToFolder(String userId, String externalSourceGUID, String externalSourceName, String folderGUID, String folderGUIDParameterName, String fileGUID, String fileGUIDParameterName, String methodName)Link an existing file asset to a folder.voidattachFolderToFileSystem(String userId, String externalSourceGUID, String externalSourceName, String fileSystemGUID, String fileSystemGUIDParameterName, String folderGUID, String folderGUIDParameterName, String methodName)Links a folder to a file system.StringcreateFileSystem(String userId, String externalSourceGUID, String externalSourceName, String uniqueName, String displayName, String description, String type, String version, String patchLevel, String source, String format, String encryption, Map<String,String> additionalProperties, Map<String,String> vendorProperties, String methodName)Files live on a file system.List<String>createFolderStructureInCatalog(String userId, String externalSourceGUID, String externalSourceName, String connectToGUID, String pathName, String methodName)Creates a new folder asset for each element in the pathName that is linked from the anchor entity.voiddeleteFileFromCatalog(String userId, String externalSourceGUID, String externalSourceName, String dataFileGUID, String fullPathname, String methodName)Remove a DataFile asset description.voiddeleteFolderFromCatalog(String userId, String externalSourceGUID, String externalSourceName, String dataFolderGUID, String fullPathname, String methodName)Remove a DataFolder asset description.voiddetachDataFileAssetFromFolder(String userId, String externalSourceGUID, String externalSourceName, String folderGUID, String folderGUIDParameterName, String fileGUID, String fileGUIDParameterName, String methodName)Remove a link between a file asset and a folder.voiddetachFolderFromFileSystem(String userId, String externalSourceGUID, String externalSourceName, String fileSystemGUID, String fileSystemGUIDParameterName, String folderGUID, String folderGUIDParameterName, String methodName)Removed the link between a folder and a file system.List<FILE>findDataFileByPathName(String userId, String pathName, String pathNameParameterName, int startingFrom, int pageSize, String methodName)Retrieve a data file by its fully qualified path name.List<FILE>findDataFilesByName(String userId, String name, String nameParameterName, int startingFrom, int pageSize, String methodName)Retrieve data files by the supplied wildcard name.List<FOLDER>findFolderByName(String userId, String name, String methodName)Retrieve folder by the supplied wildcard name.List<FOLDER>findFolderByPathName(String userId, String pathName, String methodName)Retrieve a folder by its fully qualified path name.FILEgetDataFileByGUID(String userId, String dataFileGUID, String dataFileGUIDParameterName, Date effectiveTime, String methodName)Retrieve a Folder asset by its unique identifier (GUID).FILEgetDataFileByPathName(String userId, String pathName, String pathNameParameterName, String methodName)Retrieve a data file by its fully qualified path name.FILESYSTEMgetFileSystemByGUID(String userId, String softwareServerCapabilityGUID, String guidParameterName, String methodName)Retrieve a filesystem by its unique identifier (GUID).FILESYSTEMgetFileSystemByUniqueName(String userId, String uniqueName, String parameterName, String methodName)Retrieve a filesystem by its unique name.List<String>getFileSystems(String userId, int startingFrom, int pageSize, String methodName)Retrieve a list of unique identifiers for defined filesystems.FOLDERgetFolderByGUID(String userId, String folderGUID, String methodName)Retrieve a Folder asset by its unique identifier (GUID).FOLDERgetFolderByPathName(String userId, String pathName, String methodName)Retrieve a folder by its fully qualified path name.List<String>getFolderFiles(String userId, String folderGUID, String folderGUIDParameterName, int startingFrom, int pageSize, Date effectiveTime, String methodName)Get the files inside a folder - both those that are nested and those that are linked.List<String>getNestedFolders(String userId, String parentFolderGUID, String parentFolderParameterName, int startingFrom, int pageSize, Date effectiveTime, String methodName)Return the list of folders nested inside a folder.List<String>getTopLevelFolders(String userId, String fileSystemGUID, String fileSystemParameterName, int startingFrom, int pageSize, String methodName)Return the list of folders nested inside a folder.voidmoveDataFileInCatalog(String userId, String externalSourceGUID, String externalSourceName, String newParentFolder, String newParentFolderGUIDParameterName, String fileGUID, String fileGUIDParameterName, String methodName)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 externalSourceGUID, String externalSourceName, String newParentFolderGUID, String newParentFolderGUIDParameterName, String movingFolderGUID, String movingFolderGUIDParameterName, String methodName)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).voidupdateFileInCatalog(String userId, String externalSourceGUID, String externalSourceName, String dataFileGUID, boolean isMergeUpdate, String fullPath, String displayName, String description, Date createTime, Date modifiedTime, String encodingType, String encodingLanguage, String encodingDescription, Map<String,String> encodingProperties, String suppliedFileType, Map<String,String> additionalProperties, Map<String,Object> extendedProperties, String methodName)Update the properties of a DataFile asset description.voidupdateFolderInCatalog(String userId, String externalSourceGUID, String externalSourceName, String dataFileGUID, boolean isMergeUpdate, String fullPath, String displayName, String description, Date createTime, Date modifiedTime, String encodingType, String encodingLanguage, String encodingDescription, Map<String,String> encodingProperties, Map<String,String> additionalProperties, Map<String,Object> extendedProperties, String methodName)Update the properties of a DataFile asset description.
-
-
-
Constructor Detail
-
FilesAndFoldersHandler
public FilesAndFoldersHandler(OpenMetadataAPIGenericConverter<FILESYSTEM> fileSystemConverter, Class<FILESYSTEM> fileSystemBeanClass, OpenMetadataAPIGenericConverter<FOLDER> folderConverter, Class<FOLDER> folderBeanClass, OpenMetadataAPIGenericConverter<FILE> fileConverter, Class<FILE> fileBeanClass, String serviceName, String serverName, InvalidParameterHandler invalidParameterHandler, RepositoryHandler repositoryHandler, OMRSRepositoryHelper repositoryHelper, String localServerUserId, OpenMetadataServerSecurityVerifier securityVerifier, List<String> supportedZones, List<String> defaultZones, List<String> publishZones, AuditLog auditLog)
Construct the handler information needed to interact with the repository services- Parameters:
fileSystemConverter- specific converter for the FILESYSTEM bean classfileSystemBeanClass- name of bean class that is represented by the generic class FILESYSTEMfolderConverter- specific converter for the FOLDER bean classfolderBeanClass- name of bean class that is represented by the generic class FOLDERfileConverter- specific converter for the FILE bean classfileBeanClass- name of bean class that is represented by the generic class FILEserviceName- name of this serviceserverName- name of the local serverinvalidParameterHandler- handler for managing parameter errorsrepositoryHandler- manages calls to the repository servicesrepositoryHelper- provides utilities for manipulating the repository services objectslocalServerUserId- userId for this serversecurityVerifier- open metadata security services verifiersupportedZones- list of zones that the access service is allowed to serve Asset instances from.defaultZones- list of zones that the access service should set in all new Asset instances.publishZones- list of zones that the access service sets up in published Asset instances.auditLog- destination for audit log events.
-
-
Method Detail
-
createFileSystem
public String createFileSystem(String userId, String externalSourceGUID, String externalSourceName, String uniqueName, String displayName, String description, String type, String version, String patchLevel, String source, String format, String encryption, Map<String,String> additionalProperties, Map<String,String> vendorProperties, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Files live on a file system. This method creates a top level anchor for a file system. It has its own method because ot the extra properties in the FileSystem classification- Parameters:
userId- calling userexternalSourceGUID- guid of the software server capability entity that represented the external source - null for localexternalSourceName- name of the software server capability entity that represented the external sourceuniqueName- 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 propertiesvendorProperties- properties about the vendor and/or their productmethodName- calling method- 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 externalSourceGUID, String externalSourceName, String connectToGUID, String pathName, String methodName) 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".- Parameters:
userId- calling userexternalSourceGUID- guid of the software server capability entity that represented the external source - null for localexternalSourceName- name of the software server capability entity that represented the external sourceconnectToGUID- root object to connect the folder topathName- pathname of the folder (or folders)methodName- calling method- 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 externalSourceGUID, String externalSourceName, String fileSystemGUID, String fileSystemGUIDParameterName, String folderGUID, String folderGUIDParameterName, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Links a folder to a file system. The folder is not changed.- Parameters:
userId- calling userexternalSourceGUID- guid of the software server capability entity that represented the external source - null for localexternalSourceName- name of the software server capability entity that represented the external sourcefileSystemGUID- unique identifier of the file system in the catalogfileSystemGUIDParameterName- parameter name for the fileSystemGUIDfolderGUID- unique identifier of the folder in the catalogfolderGUIDParameterName- parameter name for the folderGUIDmethodName- calling method- Throws:
InvalidParameterException- one of the parameters is null or invalidPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
detachFolderFromFileSystem
public void detachFolderFromFileSystem(String userId, String externalSourceGUID, String externalSourceName, String fileSystemGUID, String fileSystemGUIDParameterName, String folderGUID, String folderGUIDParameterName, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Removed the link between a folder and a file system.- Parameters:
userId- calling userexternalSourceGUID- guid of the software server capability entity that represented the external source - null for localexternalSourceName- name of the software server capability entity that represented the external sourcefileSystemGUID- unique identifier of the file system in the catalogfileSystemGUIDParameterName- parameter name for the fileSystemGUIDfolderGUID- unique identifier of the folder in the catalogfolderGUIDParameterName- parameter name for the folderGUIDmethodName- calling method- Throws:
InvalidParameterException- one of the parameters is null or invalidPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
attachDataFileAssetToFolder
public void attachDataFileAssetToFolder(String userId, String externalSourceGUID, String externalSourceName, String folderGUID, String folderGUIDParameterName, String fileGUID, String fileGUIDParameterName, String methodName) 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.- Parameters:
userId- calling userexternalSourceGUID- guid of the software server capability entity that represented the external source - null for localexternalSourceName- name of the software server capability entity that represented the external sourcefolderGUID- unique identifier of the folderfolderGUIDParameterName- parameter providing folderGUIDfileGUID- unique identifier of the filefileGUIDParameterName- parameter providing fileGUIDmethodName- calling method- Throws:
InvalidParameterException- one of the parameters is null or invalidPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
detachDataFileAssetFromFolder
public void detachDataFileAssetFromFolder(String userId, String externalSourceGUID, String externalSourceName, String folderGUID, String folderGUIDParameterName, String fileGUID, String fileGUIDParameterName, String methodName) 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.- Parameters:
userId- calling userexternalSourceGUID- guid of the software server capability entity that represented the external source - null for localexternalSourceName- name of the software server capability entity that represented the external sourcefolderGUID- unique identifier of the folderfolderGUIDParameterName- parameter providing folderGUIDfileGUID- unique identifier of the filefileGUIDParameterName- parameter providing fileGUIDmethodName- calling method- Throws:
InvalidParameterException- one of the parameters is null or invalidPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
moveDataFileInCatalog
public void moveDataFileInCatalog(String userId, String externalSourceGUID, String externalSourceName, String newParentFolder, String newParentFolderGUIDParameterName, String fileGUID, String fileGUIDParameterName, String methodName) 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.- Parameters:
userId- calling userexternalSourceGUID- guid of the software server capability entity that represented the external source - null for localexternalSourceName- name of the software server capability entity that represented the external sourcenewParentFolder- unique identifier of the new parent foldernewParentFolderGUIDParameterName- parameter providing newParentFolderfileGUID- unique identifier of the filefileGUIDParameterName- parameter providing fileGUIDmethodName- calling method- Throws:
InvalidParameterException- one of the parameters is null or invalidPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
moveDataFolderInCatalog
public void moveDataFolderInCatalog(String userId, String externalSourceGUID, String externalSourceName, String newParentFolderGUID, String newParentFolderGUIDParameterName, String movingFolderGUID, String movingFolderGUIDParameterName, String methodName) 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.- Parameters:
userId- calling userexternalSourceGUID- guid of the software server capability entity that represented the external source - null for localexternalSourceName- name of the software server capability entity that represented the external sourcenewParentFolderGUID- new parent foldernewParentFolderGUIDParameterName- name of parameter supplying newParentFolderGUIDmovingFolderGUID- unique identifier of the data folder to movemovingFolderGUIDParameterName- name of parameter supplying movingFolderGUIDmethodName- calling method- 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 externalSourceGUID, String externalSourceName, String displayName, String description, String pathName, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Creates a new 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".- Parameters:
userId- calling userexternalSourceGUID- guid of the software server capability entity that represented the external source - null for localexternalSourceName- name of the software server capability entity that represented the external sourcedisplayName- display name for the folder in the catalogdescription- description of the folder in the catalogpathName- pathname of the filemethodName- calling method- 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 externalSourceGUID, String externalSourceName, String pathName, String displayName, String description, Date createTime, Date modifiedTime, String encodingType, String encodingLanguage, String encodingDescription, Map<String,String> encodingProperties, Map<String,String> additionalProperties, String connectorProviderClassName, String typeName, Map<String,Object> extendedProperties, String methodName) 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".- Parameters:
userId- calling userexternalSourceGUID- guid of the software server capability entity that represented the external source - null for localexternalSourceName- name of the software server capability entity that represented the external sourcepathName- pathname of the filedisplayName- display name for the folder in the catalogdescription- description of the folder in the catalogcreateTime- time that the folder was createdmodifiedTime- the time of the latest change to the fileencodingType- the type of encoding used on the fileencodingLanguage- the language used within the fileencodingDescription- the description of the fileencodingProperties- the properties used to drive the encodingadditionalProperties- additional properties for the data folderconnectorProviderClassName- name of the class for the connector's provider - null means used standard connector provider for asset typetypeName- type name of folderextendedProperties- extended properties supplied by the callermethodName- calling method- 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 externalSourceGUID, String externalSourceName, String pathName, String displayName, String description, String methodName) 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".- Parameters:
userId- calling userexternalSourceGUID- guid of the software server capability entity that represented the external source - null for localexternalSourceName- name of the software server capability entity that represented the external sourcedisplayName- display name for the folder in the catalogdescription- description of the folder in the catalogpathName- pathname of the filemethodName- calling method- 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
-
addFileToCatalog
public List<String> addFileToCatalog(String userId, String externalSourceGUID, String externalSourceName, String qualifiedName, String displayName, String description, String pathName, Date createTime, Date modifiedTime, String encodingType, String encodingLanguage, String encodingDescription, Map<String,String> encodingProperties, String suppliedFileType, Map<String,String> additionalProperties, String connectorProviderClassName, String typeName, Map<String,Object> extendedProperties, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Add a simple asset description linked to a connection object for a file.- Parameters:
userId- calling user (assumed to be the owner)externalSourceGUID- guid of the software server capability entity that represented the external source - null for localexternalSourceName- name of the software server capability entity that represented the external sourcequalifiedName- unique name for the file - typically path and file namedisplayName- short display name for file (defaults to the file name without the path)description- description of the filepathName- the fully qualified physical location of the data store - default is qualified namecreateTime- the time that the file was createdmodifiedTime- the time of the latest change to the fileencodingType- the type of encoding used on the fileencodingLanguage- the language used within the fileencodingDescription- the description of the fileencodingProperties- the properties used to drive the encodingsuppliedFileType- the type of file override (default is to use the file extension)additionalProperties- additional properties from the userconnectorProviderClassName- name of the class for the connector's provider - null means used standard connector provider for asset typetypeName- name of the type (default is File)extendedProperties- any additional properties for the file typemethodName- calling method- Returns:
- list of GUIDs from the top level to the root of the pathname
- Throws:
InvalidParameterException- full path or userId is nullPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
addFileToCatalogFromTemplate
public List<String> addFileToCatalogFromTemplate(String userId, String externalSourceGUID, String externalSourceName, String templateGUID, String fullPath, String displayName, String description, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Create a new file asset based on an existing asset but with the supplied path name, display name and description.- Parameters:
userId- calling user (assumed to be the owner)externalSourceGUID- guid of the software server capability entity that represented the external source - null for localexternalSourceName- name of the software server capability entity that represented the external sourcetemplateGUID- unique identifier of the asset description to copyfullPath- unique path and file name for filedisplayName- short display name for file (defaults to the file name without the path)description- description of the filemethodName- calling method- Returns:
- list of GUIDs from the top level to the root of the pathname
- Throws:
InvalidParameterException- full path or userId is nullPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
addFolderToCatalogFromTemplate
public List<String> addFolderToCatalogFromTemplate(String userId, String externalSourceGUID, String externalSourceName, String templateGUID, String pathName, String displayName, String description, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Create a new file asset based on an existing asset but with the supplied path name, display name and description.- Parameters:
userId- calling user (assumed to be the owner)externalSourceGUID- guid of the software server capability entity that represented the external source - null for localexternalSourceName- name of the software server capability entity that represented the external sourcetemplateGUID- unique identifier of the asset description to copypathName- unique path and file name for filedisplayName- short display name for file (defaults to the file name without the path)description- description of the filemethodName- calling method- Returns:
- list of GUIDs from the top level to the root of the pathname
- Throws:
InvalidParameterException- full path or userId is nullPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
addAvroFileToCatalog
public List<String> addAvroFileToCatalog(String userId, String externalSourceGUID, String externalSourceName, String displayName, String description, String fullPath, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Add a simple asset description linked to a connection object for an Avro file.- Parameters:
userId- calling user (assumed to be the owner)externalSourceGUID- guid of the software server capability entity that represented the external source - null for localexternalSourceName- name of the software server capability entity that represented the external sourcedisplayName- display name for the file in the catalogdescription- description of the file in the catalogfullPath- full path of the file - used to access the file through the connectormethodName- calling method- Returns:
- list of GUIDs from the top level to the root of the pathname
- Throws:
InvalidParameterException- full path or userId is nullPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
addCSVFileToCatalog
public List<String> addCSVFileToCatalog(String userId, String externalSourceGUID, String externalSourceName, String displayName, String description, String fullPath, List<String> columnHeaders, Character delimiterCharacter, Character quoteCharacter, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Add a simple asset description linked to a connection object for a CSV file.- Parameters:
userId- calling user (assumed to be the owner)externalSourceGUID- guid of the software server capability entity that represented the external source - null for localexternalSourceName- name of the software server capability entity that represented the external sourcedisplayName- display name for the file in the catalogdescription- description of the file in the catalogfullPath- full path of the file - used to access the file through the connectorcolumnHeaders- does the first line of the file contain the column names. If not pass the list of column headers.delimiterCharacter- what is the delimiter character - null for default of commaquoteCharacter- what is the character to group a field that contains delimiter characterseffectiveTime- the time that the retrieved elements must be effective for (null for any time, new Date() for now)methodName- calling method- Returns:
- list of GUIDs from the top level to the root of the pathname
- Throws:
InvalidParameterException- full path or userId is nullPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
updateFileInCatalog
public void updateFileInCatalog(String userId, String externalSourceGUID, String externalSourceName, String dataFileGUID, boolean isMergeUpdate, String fullPath, String displayName, String description, Date createTime, Date modifiedTime, String encodingType, String encodingLanguage, String encodingDescription, Map<String,String> encodingProperties, String suppliedFileType, Map<String,String> additionalProperties, Map<String,Object> extendedProperties, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Update the properties of a DataFile asset description.- Parameters:
userId- calling user (assumed to be the owner)externalSourceGUID- guid of the software server capability entity that represented the external source - null for localexternalSourceName- name of the software server capability entity that represented the external sourcedataFileGUID- guid of the file assetisMergeUpdate- should the new properties be merged with the existing properties or completely replace them?fullPath- unique path and file name for filedisplayName- short display name for file (defaults to the file name without the path)description- description of the filecreateTime- the time that the file was createdmodifiedTime- the time of the latest change to the fileencodingType- the type of encoding used on the fileencodingLanguage- the language used within the fileencodingDescription- the description of the fileencodingProperties- the properties used to drive the encodingsuppliedFileType- the type of file override (default is to use the file extension)additionalProperties- additional properties from the userextendedProperties- any additional properties for the file typemethodName- calling method- Throws:
InvalidParameterException- full path or userId is nullPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
updateFolderInCatalog
public void updateFolderInCatalog(String userId, String externalSourceGUID, String externalSourceName, String dataFileGUID, boolean isMergeUpdate, String fullPath, String displayName, String description, Date createTime, Date modifiedTime, String encodingType, String encodingLanguage, String encodingDescription, Map<String,String> encodingProperties, Map<String,String> additionalProperties, Map<String,Object> extendedProperties, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Update the properties of a DataFile asset description.- Parameters:
userId- calling user (assumed to be the owner)externalSourceGUID- guid of the software server capability entity that represented the external source - null for localexternalSourceName- name of the software server capability entity that represented the external sourcedataFileGUID- guid of the file assetisMergeUpdate- should the new properties be merged with the existing properties or completely replace them?fullPath- unique path and file name for filedisplayName- short display name for file (defaults to the file name without the path)description- description of the filecreateTime- the time that the file was createdmodifiedTime- the time of the latest change to the fileencodingType- the type of encoding used on the fileencodingLanguage- the language used within the fileencodingDescription- the description of the fileencodingProperties- the properties used to drive the encodingadditionalProperties- additional properties from the userextendedProperties- any additional properties for the file typemethodName- calling method- Throws:
InvalidParameterException- full path or userId is nullPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
archiveFileInCatalog
public void archiveFileInCatalog(String userId, String externalSourceGUID, String externalSourceName, String dataFileGUID, String dataFileGUIDParameterName, Date archiveDate, String archiveProcess, Map<String,String> archiveProperties, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Archive a DataFile asset description. This adds the Memento classification to the DataFile entity and removes the attached connection (if any).- Parameters:
userId- calling user (assumed to be the owner)externalSourceGUID- guid of the software server capability entity that represented the external source - null for localexternalSourceName- name of the software server capability entity that represented the external sourcedataFileGUID- guid of the file assetdataFileGUIDParameterName- parameter name supplying dataFileGUIDarchiveDate- date that the file was archived or discovered to have been archived. Null means now.archiveProcess- name of archiving processarchiveProperties- properties to help locate the archive copymethodName- calling method- Throws:
InvalidParameterException- full path or userId is nullPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
archiveFolderInCatalog
public void archiveFolderInCatalog(String userId, String externalSourceGUID, String externalSourceName, String dataFolderGUID, String dataFolderGUIDParameterName, Date archiveDate, String archiveProcess, Map<String,String> archiveProperties, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Archive a DataFolder asset description. This adds the Memento classification to the DataFolder entity and removes the attached connection (if any).- Parameters:
userId- calling user (assumed to be the owner)externalSourceGUID- guid of the software server capability entity that represented the external source - null for localexternalSourceName- name of the software server capability entity that represented the external sourcedataFolderGUID- guid of the file assetdataFolderGUIDParameterName- parameter name supplying dataFolderGUIDarchiveDate- date that the file was archived or discovered to have been archived. Null means now.archiveProcess- name of archiving processarchiveProperties- properties to help locate the archive copymethodName- calling method- Throws:
InvalidParameterException- full path or userId is nullPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
deleteFileFromCatalog
public void deleteFileFromCatalog(String userId, String externalSourceGUID, String externalSourceName, String dataFileGUID, String fullPathname, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Remove a DataFile asset description.- Parameters:
userId- calling user (assumed to be the owner)externalSourceGUID- guid of the software server capability entity that represented the external source - null for localexternalSourceName- name of the software server capability entity that represented the external sourcedataFileGUID- guid of the file assetfullPathname- unique path and file name for filemethodName- calling method- Throws:
InvalidParameterException- full path or userId is nullPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
deleteFolderFromCatalog
public void deleteFolderFromCatalog(String userId, String externalSourceGUID, String externalSourceName, String dataFolderGUID, String fullPathname, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Remove a DataFolder asset description.- Parameters:
userId- calling user (assumed to be the owner)externalSourceGUID- guid of the software server capability entity that represented the external source - null for localexternalSourceName- name of the software server capability entity that represented the external sourcedataFolderGUID- guid of the file assetfullPathname- unique path and file name for filemethodName- calling method- Throws:
InvalidParameterException- full path or userId is nullPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
getFileSystemByGUID
public FILESYSTEM getFileSystemByGUID(String userId, String softwareServerCapabilityGUID, String guidParameterName, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Retrieve a filesystem by its unique identifier (GUID).- Parameters:
userId- calling usersoftwareServerCapabilityGUID- unique identifier used to locate the elementguidParameterName- name of parameter providing the GUIDmethodName- calling method- Returns:
- retrieved properties
- Throws:
InvalidParameterException- one of the parameters is null or invalidPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
getFileSystemByUniqueName
public FILESYSTEM getFileSystemByUniqueName(String userId, String uniqueName, String parameterName, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Retrieve a filesystem by its unique name.- Parameters:
userId- calling useruniqueName- unique name for the file systemparameterName- name of parameter providing the parameter namemethodName- calling method- Returns:
- 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 pageSize, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Retrieve a list of unique identifiers for defined filesystems.- Parameters:
userId- calling userstartingFrom- starting point in the listpageSize- maximum number of resultsmethodName- calling method- Returns:
- List of unique identifiers for the retrieved entities
- Throws:
InvalidParameterException- one of the parameters is null or invalidPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
getFolderByGUID
public FOLDER getFolderByGUID(String userId, String folderGUID, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Retrieve a Folder asset by its unique identifier (GUID).- Parameters:
userId- calling userfolderGUID- unique identifier used to locate the foldermethodName- calling method- Returns:
- Folder properties
- Throws:
InvalidParameterException- one of the parameters is null or invalidPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
getFolderByPathName
public FOLDER getFolderByPathName(String userId, String pathName, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Retrieve a folder by its fully qualified path name.- Parameters:
userId- calling userpathName- path namemethodName- calling method- Returns:
- Folder properties
- Throws:
InvalidParameterException- one of the parameters is null or invalidPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
findFolderByPathName
public List<FOLDER> findFolderByPathName(String userId, String pathName, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Retrieve a folder by its fully qualified path name. In theory there should be none or one asset returned. However in complex environments, duplicates are possible.- Parameters:
userId- calling userpathName- path namemethodName- calling method- Returns:
- list of matching folder properties
- Throws:
InvalidParameterException- one of the parameters is null or invalidPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
findFolderByName
public List<FOLDER> findFolderByName(String userId, String name, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Retrieve folder by the supplied wildcard name. The wildcard is specified using regular expressions (RegEx).- Parameters:
userId- calling username- wildcard namemethodName- calling method- Returns:
- list of matching folder properties
- Throws:
InvalidParameterException- one of the parameters is null or invalidPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
getTopLevelFolders
public List<String> getTopLevelFolders(String userId, String fileSystemGUID, String fileSystemParameterName, int startingFrom, int pageSize, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Return the list of folders nested inside a folder.- Parameters:
userId- calling userfileSystemGUID- unique identifier of the file systemfileSystemParameterName- name of parameter providing fileSystemGUIDstartingFrom- starting point in the listpageSize- maximum number of resultsmethodName- calling method- 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
-
getNestedFolders
public List<String> getNestedFolders(String userId, String parentFolderGUID, String parentFolderParameterName, int startingFrom, int pageSize, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Return the list of folders nested inside a folder.- Parameters:
userId- calling userparentFolderGUID- unique identifier of the parent folderparentFolderParameterName- name of parameter providing parentFolderGUIDstartingFrom- starting point in the listpageSize- maximum number of resultseffectiveTime- the time that the retrieved elements must be effective for (null for any time, new Date() for now)methodName- calling method- 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, String folderGUIDParameterName, int startingFrom, int pageSize, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Get the files inside a folder - both those that are nested and those that are linked.- Parameters:
userId- calling userfolderGUID- unique identifier of the anchor folderfolderGUIDParameterName- name of parameter providing folderGUIDstartingFrom- starting point in the listpageSize- maximum number of resultseffectiveTime- the time that the retrieved elements must be effective for (null for any time, new Date() for now)methodName- calling method- Returns:
- list of file asset unique identifiers
- Throws:
InvalidParameterException- one of the parameters is null or invalidPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
getDataFileByGUID
public FILE getDataFileByGUID(String userId, String dataFileGUID, String dataFileGUIDParameterName, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Retrieve a Folder asset by its unique identifier (GUID).- Parameters:
userId- calling userdataFileGUID- unique identifier used to locate the folderdataFileGUIDParameterName- name of parameter providing dataFileGUIDeffectiveTime- the time that the retrieved elements must be effective for (null for any time, new Date() for now)methodName- calling method- Returns:
- file properties
- Throws:
InvalidParameterException- one of the parameters is null or invalidPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
getDataFileByPathName
public FILE getDataFileByPathName(String userId, String pathName, String pathNameParameterName, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Retrieve a data file by its fully qualified path name.- Parameters:
userId- calling userpathName- full path name of data file used in its qualified namepathNameParameterName- name of parameter providing the pathNamemethodName- calling method- Returns:
- file properties
- Throws:
InvalidParameterException- one of the parameters is null or invalidPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
findDataFileByPathName
public List<FILE> findDataFileByPathName(String userId, String pathName, String pathNameParameterName, int startingFrom, int pageSize, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Retrieve a data file by its fully qualified path name. In theory there should be none or one asset returned. However in complex environments, duplicates are possible.- Parameters:
userId- calling userpathName- path namepathNameParameterName- name of parameter providing the pathNamestartingFrom- place to start returning results frompageSize- maximum number of resultsmethodName- calling method- Returns:
- list of matching file properties
- Throws:
InvalidParameterException- one of the parameters is null or invalidPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
findDataFilesByName
public List<FILE> findDataFilesByName(String userId, String name, String nameParameterName, int startingFrom, int pageSize, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Retrieve data files by the supplied wildcard name. The wildcard is specified using regular expressions (RegEx).- Parameters:
userId- calling username- wildcard namenameParameterName- name of parameter providing thestartingFrom- place to start returning results frompageSize- maximum number of resultsmethodName- calling method- Returns:
- list of matching file properties
- Throws:
InvalidParameterException- one of the parameters is null or invalidPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
-