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.