public class AdvancedFSOps extends Object
| Modifier and Type | Field and Description | 
|---|---|
| protected boolean | _symlinksDisabled | 
| Modifier | Constructor and Description | 
|---|---|
| protected  | AdvancedFSOps(Map<String,Object> conf) | 
| Modifier and Type | Method and Description | 
|---|---|
| void | copyDirectory(File fromDir,
             File toDir)Copy a directory | 
| void | createSymlink(File link,
             File target)Create a symbolic link pointing at target | 
| void | deleteIfExists(File path)Delete a file or a directory and all of the children. | 
| void | deleteIfExists(File path,
              String user,
              String logPrefix)Delete a file or a directory and all of the children. | 
| boolean | doRequiredTopoFilesExist(Map<String,Object> conf,
                        String topologyId)Sanity check if everything the topology needs is there for it to run. | 
| void | dump(File location,
    String data)Dump a string to a file | 
| boolean | fileExists(File path)Check if a file exists or not | 
| void | forceMkdir(File path)Makes a directory, including any necessary but nonexistent parent directories. | 
| OutputStream | getOutputStream(File file)Get an output stream to write to a given file | 
| Writer | getWriter(File file)Get a writer for the given location | 
| static AdvancedFSOps | make(Map<String,Object> conf)Factory to create a new AdvancedFSOps | 
| void | moveDirectoryPreferAtomic(File fromDir,
                         File toDir)Move fromDir to toDir, and try to make it an atomic move if possible | 
| void | restrictDirectoryPermissions(File dir)Set directory permissions to (OWNER)RWX (GROUP)R-X (OTHER)— On some systems that do not support this, it may become a noop | 
| void | setupBlobPermissions(File path,
                    String user)Setup permissions properly for an internal blob store path | 
| void | setupStormCodeDir(String user,
                 File path)Setup the permissions for the storm code dir | 
| void | setupWorkerArtifactsDir(String user,
                       File path)Setup the permissions for the worker artifacts dirs | 
| byte[] | slurp(File location)Read the contents of a file into a byte array. | 
| String | slurpString(File location)Read the contents of a file into a String | 
| boolean | supportsAtomicDirectoryMove() | 
public static AdvancedFSOps make(Map<String,Object> conf)
Factory to create a new AdvancedFSOps
conf - the configuration of the processpublic void restrictDirectoryPermissions(File dir) throws IOException
Set directory permissions to (OWNER)RWX (GROUP)R-X (OTHER)— On some systems that do not support this, it may become a noop
dir - the directory to change permissions onIOException - on any errorpublic void moveDirectoryPreferAtomic(File fromDir, File toDir) throws IOException
Move fromDir to toDir, and try to make it an atomic move if possible
fromDir - what to movetoDir - where to move it fromIOException - on any errorpublic boolean supportsAtomicDirectoryMove()
public void copyDirectory(File fromDir, File toDir) throws IOException
Copy a directory
fromDir - from wheretoDir - to whereIOException - on any errorpublic void setupBlobPermissions(File path, String user) throws IOException
Setup permissions properly for an internal blob store path
path - the path to set the permissions onuser - the user to change the permissions forIOException - on any errorpublic void deleteIfExists(File path, String user, String logPrefix) throws IOException
Delete a file or a directory and all of the children. If it exists.
path - what to deleteuser - who to delete it as if doing it as someone else is supportedlogPrefix - if an external process needs to be launched to delete the object what prefix to include in the logsIOException - on any error.public void deleteIfExists(File path) throws IOException
Delete a file or a directory and all of the children. If it exists.
path - what to deleteIOException - on any error.public void setupStormCodeDir(String user, File path) throws IOException
Setup the permissions for the storm code dir
user - the user that owns the topologypath - the directory to set the permissions onIOException - on any errorpublic void setupWorkerArtifactsDir(String user, File path) throws IOException
Setup the permissions for the worker artifacts dirs
user - the user that owns the topologypath - the directory to set the permissions onIOException - on any errorpublic boolean doRequiredTopoFilesExist(Map<String,Object> conf, String topologyId) throws IOException
Sanity check if everything the topology needs is there for it to run.
conf - the config of the supervisortopologyId - the ID of the topologyIOException - on any errorpublic void forceMkdir(File path) throws IOException
Makes a directory, including any necessary but nonexistent parent directories.
path - the directory to createIOException - on any errorpublic boolean fileExists(File path) throws IOException
Check if a file exists or not
path - the path to checkIOException - on any error.public Writer getWriter(File file) throws IOException
Get a writer for the given location
file - the file to write toIOException - on any errorpublic OutputStream getOutputStream(File file) throws IOException
Get an output stream to write to a given file
file - the file to write toIOException - on any errorpublic void dump(File location, String data) throws IOException
Dump a string to a file
location - where to write todata - the data to writeIOException - on any errorpublic String slurpString(File location) throws IOException
Read the contents of a file into a String
location - the file to readIOException - on any errorpublic byte[] slurp(File location) throws IOException
Read the contents of a file into a byte array.
localtion - the file to readIOException - on any errorpublic void createSymlink(File link, File target) throws IOException
Create a symbolic link pointing at target
link - the link to createtarget - where it should point toIOException - on any error.Copyright © 2022 The Apache Software Foundation. All Rights Reserved.