Interface IAdvancedFSOps
-
- All Known Implementing Classes:
AdvancedFSOps
public interface IAdvancedFSOps
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method 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.boolean
fileExists(Path path)
Check if a file exists or not.void
forceMkdir(File path)
Makes a directory, including any necessary but nonexistent parent directories.void
forceMkdir(Path 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.void
moveDirectoryPreferAtomic(File fromDir, File toDir)
Move fromDir to toDir, and try to make it an atomic move if possible.void
moveFile(File fromFile, File toFile)
Moves a file to a given destination.DirectoryStream<Path>
newDirectoryStream(Path dir)
List the contents of a directory.DirectoryStream<Path>
newDirectoryStream(Path dir, DirectoryStream.Filter<? super Path> filter)
List the contents of a directory.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()
Check whether supports atomic directory move.
-
-
-
Method Detail
-
restrictDirectoryPermissions
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.- Parameters:
dir
- the directory to change permissions on- Throws:
IOException
- on any error
-
moveDirectoryPreferAtomic
void moveDirectoryPreferAtomic(File fromDir, File toDir) throws IOException
Move fromDir to toDir, and try to make it an atomic move if possible.- Parameters:
fromDir
- what to movetoDir
- where to move it from- Throws:
IOException
- on any error
-
moveFile
void moveFile(File fromFile, File toFile) throws IOException
Moves a file to a given destination.- Parameters:
fromFile
- file to movetoFile
- where to move it- Throws:
IOException
- on any error
-
supportsAtomicDirectoryMove
boolean supportsAtomicDirectoryMove()
Check whether supports atomic directory move.- Returns:
- true if an atomic directory move works, else false
-
copyDirectory
void copyDirectory(File fromDir, File toDir) throws IOException
Copy a directory.- Parameters:
fromDir
- from wheretoDir
- to where- Throws:
IOException
- on any error
-
setupBlobPermissions
void setupBlobPermissions(File path, String user) throws IOException
Setup permissions properly for an internal blob store path.- Parameters:
path
- the path to set the permissions onuser
- the user to change the permissions for- Throws:
IOException
- on any error
-
deleteIfExists
void deleteIfExists(File path, String user, String logPrefix) throws IOException
Delete a file or a directory and all of the children. If it exists.- Parameters:
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 logs- Throws:
IOException
- on any error.
-
deleteIfExists
void deleteIfExists(File path) throws IOException
Delete a file or a directory and all of the children. If it exists.- Parameters:
path
- what to delete- Throws:
IOException
- on any error.
-
setupStormCodeDir
void setupStormCodeDir(String user, File path) throws IOException
Setup the permissions for the storm code dir.- Parameters:
user
- the owner of the topologypath
- the directory to set the permissions on- Throws:
IOException
- on any error
-
setupWorkerArtifactsDir
void setupWorkerArtifactsDir(String user, File path) throws IOException
Setup the permissions for the worker artifacts dirs.- Parameters:
user
- the owner of the topologypath
- the directory to set the permissions on- Throws:
IOException
- on any error
-
doRequiredTopoFilesExist
boolean doRequiredTopoFilesExist(Map<String,Object> conf, String topologyId) throws IOException
Sanity check if everything the topology needs is there for it to run.- Parameters:
conf
- the config of the supervisortopologyId
- the ID of the topology- Returns:
- true if everything is there, else false
- Throws:
IOException
- on any error
-
forceMkdir
void forceMkdir(File path) throws IOException
Makes a directory, including any necessary but nonexistent parent directories.- Parameters:
path
- the directory to create- Throws:
IOException
- on any error
-
forceMkdir
void forceMkdir(Path path) throws IOException
Makes a directory, including any necessary but nonexistent parent directories.- Parameters:
path
- the directory to create- Throws:
IOException
- on any error
-
newDirectoryStream
DirectoryStream<Path> newDirectoryStream(Path dir, DirectoryStream.Filter<? super Path> filter) throws IOException
List the contents of a directory.- Parameters:
dir
- the driectory to list the contents offilter
- a filter to decide if it should be included or not- Returns:
- A stream of directory entries
- Throws:
IOException
- on any error
-
newDirectoryStream
DirectoryStream<Path> newDirectoryStream(Path dir) throws IOException
List the contents of a directory.- Parameters:
dir
- the driectory to list the contents of- Returns:
- A stream of directory entries
- Throws:
IOException
- on any error
-
fileExists
boolean fileExists(File path) throws IOException
Check if a file exists or not.- Parameters:
path
- the path to check- Returns:
- true if it exists else false
- Throws:
IOException
- on any error.
-
fileExists
boolean fileExists(Path path) throws IOException
Check if a file exists or not.- Parameters:
path
- the path to check- Returns:
- true if it exists else false
- Throws:
IOException
- on any error.
-
getWriter
Writer getWriter(File file) throws IOException
Get a writer for the given location.- Parameters:
file
- the file to write to- Returns:
- the Writer to use.
- Throws:
IOException
- on any error
-
getOutputStream
OutputStream getOutputStream(File file) throws IOException
Get an output stream to write to a given file.- Parameters:
file
- the file to write to- Returns:
- an OutputStream for that file
- Throws:
IOException
- on any error
-
dump
void dump(File location, String data) throws IOException
Dump a string to a file.- Parameters:
location
- where to write todata
- the data to write- Throws:
IOException
- on any error
-
slurpString
String slurpString(File location) throws IOException
Read the contents of a file into a String.- Parameters:
location
- the file to read- Returns:
- the contents of the file
- Throws:
IOException
- on any error
-
slurp
byte[] slurp(File location) throws IOException
Read the contents of a file into a byte array.- Parameters:
location
- the file to read- Returns:
- the contents of the file
- Throws:
IOException
- on any error
-
createSymlink
void createSymlink(File link, File target) throws IOException
Create a symbolic link pointing at target.- Parameters:
link
- the link to createtarget
- where it should point to- Throws:
IOException
- on any error.
-
-