Class FileSystemRESTServices

java.lang.Object
org.odpi.openmetadata.accessservices.assetowner.server.FileSystemRESTServices

public class FileSystemRESTServices extends Object
FileSystemRESTServices provides the server-side implementation for managing files and folder assets in a file system.
  • Constructor Details

    • FileSystemRESTServices

      public FileSystemRESTServices()
      Default constructor
  • Method Details

    • createFileSystemInCatalog

      public GUIDResponse createFileSystemInCatalog(String serverName, String userId, NewFileSystemRequestBody requestBody)
      Files live on a file system. This method creates a top level anchor for a file system.
      Parameters:
      serverName - name of calling server
      userId - calling user
      requestBody - properties of the file system
      Returns:
      unique identifier for the file system or InvalidParameterException one of the parameters is null or invalid or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
    • createFolderStructureInCatalog

      public GUIDListResponse createFolderStructureInCatalog(String serverName, String userId, String anchorGUID, PathNameRequestBody requestBody)
      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:
      serverName - name of calling server
      userId - calling user
      anchorGUID - root object to connect the folder to
      requestBody - pathname of the folder (or folders)
      Returns:
      list of GUIDs from the top level to the leaf of the supplied pathname or InvalidParameterException one of the parameters is null or invalid or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem.
    • createFolderStructureInCatalog

      public GUIDListResponse createFolderStructureInCatalog(String serverName, String userId, PathNameRequestBody requestBody)
      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".
      Parameters:
      serverName - name of calling server
      userId - calling user
      requestBody - pathname of the folder (or folders)
      Returns:
      list of GUIDs from the top level to the leaf of the supplied pathname or InvalidParameterException one of the parameters is null or invalid or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem.
    • attachFolderToFileSystem

      public VoidResponse attachFolderToFileSystem(String serverName, String userId, String fileSystemGUID, String folderGUID, NullRequestBody requestBody)
      Links a folder to a file system. The folder is not changed.
      Parameters:
      serverName - name of calling server
      userId - calling user
      fileSystemGUID - unique identifier of the file system in the catalog
      folderGUID - unique identifier of the folder in the catalog
      requestBody - dummy 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.
    • detachFolderFromFileSystem

      public VoidResponse detachFolderFromFileSystem(String serverName, String userId, String fileSystemGUID, String folderGUID, NullRequestBody requestBody)
      Removed the link between a folder and a file system.
      Parameters:
      serverName - name of calling server
      userId - calling user
      fileSystemGUID - unique identifier of the file system in the catalog
      folderGUID - unique identifier of the folder in the catalog
      requestBody - dummy 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.
    • addDataFileAssetToCatalog

      public GUIDListResponse addDataFileAssetToCatalog(String serverName, String userId, NewFileAssetRequestBody requestBody)
      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".
      Parameters:
      serverName - name of calling server
      userId - calling user
      requestBody - pathname of the file
      Returns:
      list of GUIDs from the top level to the root of the pathname or InvalidParameterException one of the parameters is null or invalid or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem.
    • addDataFolderAssetToCatalog

      public GUIDListResponse addDataFolderAssetToCatalog(String serverName, String userId, NewFileAssetRequestBody requestBody)
      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:
      serverName - name of calling server
      userId - calling user
      requestBody - pathname of the file
      Returns:
      list of GUIDs from the top level to the root of the pathname or InvalidParameterException one of the parameters is null or invalid or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem.
    • attachDataFileAssetToFolder

      public VoidResponse attachDataFileAssetToFolder(String serverName, String userId, String folderGUID, String fileGUID, NullRequestBody requestBody)
      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:
      serverName - name of calling server
      userId - calling user
      folderGUID - unique identifier of the folder
      fileGUID - unique identifier of the file
      requestBody - dummy 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.
    • detachDataFileAssetFromFolder

      public VoidResponse detachDataFileAssetFromFolder(String serverName, String userId, String folderGUID, String fileGUID, NullRequestBody requestBody)
      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:
      serverName - name of calling server
      userId - calling user
      folderGUID - unique identifier of the folder
      fileGUID - unique identifier of the file
      requestBody - dummy 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.
    • moveDataFileInCatalog

      public VoidResponse moveDataFileInCatalog(String serverName, String userId, String folderGUID, String fileGUID, NullRequestBody requestBody)
      Move a data file from its current parent folder to a new parent folder - this changes the file's qualified name but not its unique identifier (guid). Similarly to the endpoint in the connection object.
      Parameters:
      serverName - name of calling server
      userId - calling user
      folderGUID - new parent folder
      fileGUID - unique identifier of the file to move
      requestBody - dummy 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.
    • moveDataFolderInCatalog

      public VoidResponse moveDataFolderInCatalog(String serverName, String userId, String folderGUID, String fileGUID, NullRequestBody requestBody)
      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). Similarly to the endpoint in the connection object.
      Parameters:
      serverName - name of calling server
      userId - calling user
      folderGUID - new parent folder
      fileGUID - unique identifier of the file to move
      requestBody - dummy 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.
    • getFileSystemByGUID

      public FileSystemResponse getFileSystemByGUID(String serverName, String userId, String fileSystemGUID)
      Retrieve a FileSystemElement asset by its unique identifier (GUID).
      Parameters:
      serverName - name of calling server
      userId - calling user
      fileSystemGUID - unique identifier used to locate the file system
      Returns:
      FileSystemElement properties or InvalidParameterException one of the parameters is null or invalid or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem.
    • getFileSystemByUniqueName

      public FileSystemResponse getFileSystemByUniqueName(String serverName, String userId, String uniqueName)
      Retrieve a FileSystemElement asset by its unique name.
      Parameters:
      serverName - name of calling server
      userId - calling user
      uniqueName - unique name used to locate the file system
      Returns:
      Filesystem properties or InvalidParameterException one of the parameters is null or invalid or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem.
    • getFileSystems

      public GUIDListResponse getFileSystems(String serverName, String userId, int startingFrom, int maxPageSize)
      Retrieve a list of defined FileSystems assets.
      Parameters:
      serverName - name of calling server
      userId - calling user
      startingFrom - starting point in the list
      maxPageSize - maximum number of results
      Returns:
      List of Filesystem unique identifiers or InvalidParameterException one of the parameters is null or invalid or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem.
    • getFolderByGUID

      public FolderResponse getFolderByGUID(String serverName, String userId, String folderGUID)
      Retrieve a FolderElement asset by its unique identifier (GUID).
      Parameters:
      serverName - name of calling server
      userId - calling user
      folderGUID - unique identifier used to locate the folder
      Returns:
      FolderElement properties or InvalidParameterException one of the parameters is null or invalid or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem.
    • getFolderByPathName

      public FolderResponse getFolderByPathName(String serverName, String userId, PathNameRequestBody requestBody)
      Retrieve a folder by its fully qualified path name.
      Parameters:
      serverName - name of calling server
      userId - calling user
      requestBody - path name
      Returns:
      FolderElement properties or InvalidParameterException one of the parameters is null or invalid or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem.
    • getNestedFolders

      public GUIDListResponse getNestedFolders(String serverName, String userId, String parentGUID, int startingFrom, int maxPageSize)
      Return the list of folders nested inside a folder.
      Parameters:
      serverName - name of calling server
      userId - calling user
      parentGUID - unique identifier of the anchor folder or Filesystem
      startingFrom - starting point in the list
      maxPageSize - maximum number of results
      Returns:
      list of folder unique identifiers (null means "no nested folders") or InvalidParameterException one of the parameters is null or invalid or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem.
    • getFolderFiles

      public GUIDListResponse getFolderFiles(String serverName, String userId, String folderGUID, int startingFrom, int maxPageSize)
      Get the files inside a folder - both those that are nested and those that are linked.
      Parameters:
      serverName - name of calling server
      userId - calling user
      folderGUID - unique identifier of the anchor folder
      startingFrom - starting point in the list
      maxPageSize - maximum number of results
      Returns:
      list of file asset unique identifiers or InvalidParameterException one of the parameters is null or invalid or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem.
    • addAvroFileToCatalog

      public GUIDListResponse addAvroFileToCatalog(String serverName, String userId, NewFileAssetRequestBody requestBody)
      Add a simple asset description linked to a connection object for an Avro file.
      Parameters:
      serverName - name of calling server
      userId - calling user (assumed to be the owner)
      requestBody - properties for the asset
      Returns:
      list of GUIDs from the top level to the root of the pathname or InvalidParameterException full path or userId is null PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
    • addCSVFileToCatalog

      public GUIDListResponse addCSVFileToCatalog(String serverName, String userId, NewCSVFileAssetRequestBody requestBody)
      Add a simple asset description linked to a connection object for a CSV file.
      Parameters:
      serverName - name of calling server
      userId - calling user (assumed to be the owner)
      requestBody - properties for the asset
      Returns:
      list of GUIDs from the top level to the root of the pathname or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem