Package com.logicaldoc.util.exec
Class Exec
java.lang.Object
com.logicaldoc.util.exec.Exec
Utility class used to execute system commands
- Since:
- 6.3
- Author:
- Marco Meschieri - LogicalDOC
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionint
Execute the command by using the Runtime.execint
int
int
Execute the command by using the Runtime.getRuntime().exec()int
Executes the command by using the Runtime.getRuntime().exec()execGetOutput
(String commandLine, List<String> env, File dir) Execute the command by using the Runtime.getRuntime().exec()Executes the command by using the Runtime.getRuntime().exec()int
Executes the command by using the process builder.int
Executes the command by using the process builder.boolean
Checks if you are running on Windowsvoid
setErrPrefix
(String errPrefix) void
setOutPrefix
(String outPrefix)
-
Constructor Details
-
Exec
public Exec()
-
-
Method Details
-
setErrPrefix
-
setOutPrefix
-
isWindows
public boolean isWindows()Checks if you are running on Windows- Returns:
- true if the execution platform is Windows
-
execPB
public int execPB(List<String> commandLine, Map<String, String> environment, File directory, int timeout) throws IOExceptionExecutes the command by using the process builder.- Parameters:
commandLine
- The command line to process. The path of the command must be listed in the allowed-commands.txtenvironment
- The environemnt variablesdirectory
- The folder where the command will be executedtimeout
- The timeout in seconds- Returns:
- the return value
- Throws:
IOException
- raised in case of errors during execution
-
execPB
Executes the command by using the process builder.- Parameters:
commandLine
- The command line to process. The path of the command must be listed in the allowed-commands.txtdirectory
- The folder where the command will be executedtimeout
- The timeout in seconds- Returns:
- the return value
- Throws:
IOException
- raised in case of errors during execution
-
exec
Execute the command by using the Runtime.getRuntime().exec()- Parameters:
commandLine
- the list of elements in the command line. The path of the command must be listed in the allowed-commands.txt- Returns:
- the command execution return value
- Throws:
IOException
- raised in case of errors during execution
-
exec
public int exec(List<String> commandLine, List<String> env, File dir, int timeout) throws IOException Executes the command by using the Runtime.getRuntime().exec()- Parameters:
commandLine
- the list of elements in the command line. The path of the command must be listed in the allowed-commands.txtenv
- the environment variablesdir
- the current foldertimeout
- maximum execution time expressed in seconds- Returns:
- the return code of the command
- Throws:
IOException
- raised in case of errors during execution
-
execGetOutput
public String execGetOutput(List<String> commandLine, List<String> env, File dir, int timeout) throws IOException Executes the command by using the Runtime.getRuntime().exec()- Parameters:
commandLine
- the list of elements in the command line. The path of the command must be listed in the allowed-commands.txtenv
- the environment variablesdir
- the current foldertimeout
- maximum execution time expressed in seconds- Returns:
- The output of the command
- Throws:
IOException
- raised in case of errors during execution
-
execGetOutput
Execute the command by using the Runtime.getRuntime().exec()- Parameters:
commandLine
- the command line string. The path of the command must be listed in the allowed-commands.txtenv
- the execution environmentdir
- the current folder- Returns:
- The output of the command
- Throws:
IOException
- If the execution caused an error
-
exec
public int exec(String commandLine, List<String> env, File dir, StringBuilder buffer, int timeout) throws IOException - Throws:
IOException
-
exec
public int exec(String commandLine, List<String> env, File dir, Writer outputWriter, int timeout) throws IOException - Throws:
IOException
-
exec
Execute the command by using the Runtime.exec- Parameters:
commandLine
- the command line. The path of the command must be listed in the allowed-commands.txtenv
- the environment variablesdir
- the current execution directorytimeout
- maximum execution time expressed in seconds- Returns:
- the command return value
- Throws:
IOException
- raised if the command produced an error
-