| | |
| | | |
| | | import static org.forgerock.opendj.config.PropertyOption.*; |
| | | import static org.forgerock.opendj.config.dsconfig.ArgumentExceptionFactory.*; |
| | | import static org.forgerock.util.Utils.*; |
| | | |
| | | import java.io.BufferedReader; |
| | | import java.io.BufferedWriter; |
| | | import java.io.File; |
| | | import java.io.FileNotFoundException; |
| | | import java.io.FileReader; |
| | | import java.io.FileWriter; |
| | | import java.io.IOException; |
| | |
| | | } |
| | | if (equivalentCommandFileArgument.isPresent()) { |
| | | String file = equivalentCommandFileArgument.getValue(); |
| | | BufferedWriter writer = null; |
| | | try { |
| | | writer = new BufferedWriter(new FileWriter(file, true)); |
| | | |
| | | try (BufferedWriter writer = new BufferedWriter(new FileWriter(file, true))) { |
| | | if (!sessionStartTimePrinted) { |
| | | writer.write(SHELL_COMMENT_SEPARATOR + getSessionStartTimeMessage()); |
| | | writer.newLine(); |
| | |
| | | writer.flush(); |
| | | } catch (IOException ioe) { |
| | | errPrintln(ERR_DSCFG_ERROR_WRITING_EQUIVALENT_COMMAND_LINE.get(file, ioe)); |
| | | } finally { |
| | | closeSilently(writer); |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | private void handleBatch(String[] args) { |
| | | BufferedReader bReader = null; |
| | | try { |
| | | if (batchArgument.isPresent()) { |
| | | bReader = new BufferedReader(new InputStreamReader(System.in)); |
| | | } else if (batchFileArgument.isPresent()) { |
| | | final String batchFilePath = batchFileArgument.getValue().trim(); |
| | | bReader = new BufferedReader(new FileReader(batchFilePath)); |
| | | } else { |
| | | throw new IllegalArgumentException("Either --" + OPTION_LONG_BATCH |
| | | + " or --" + OPTION_LONG_BATCH_FILE_PATH + " argument should have been set"); |
| | | } |
| | | |
| | | try (BufferedReader bReader = batchCommandsReader()) { |
| | | List<String> initialArgs = removeBatchArgs(args); |
| | | |
| | | // Split the CLI string into arguments array |
| | |
| | | } |
| | | } catch (IOException ex) { |
| | | errPrintln(ERR_DSCFG_ERROR_READING_BATCH_FILE.get(ex)); |
| | | } finally { |
| | | closeSilently(bReader); |
| | | } |
| | | } |
| | | |
| | | private BufferedReader batchCommandsReader() throws FileNotFoundException { |
| | | if (batchArgument.isPresent()) { |
| | | return new BufferedReader(new InputStreamReader(System.in)); |
| | | } else if (batchFileArgument.isPresent()) { |
| | | final String batchFilePath = batchFileArgument.getValue().trim(); |
| | | return new BufferedReader(new FileReader(batchFilePath)); |
| | | } else { |
| | | throw new IllegalArgumentException("Either --" + OPTION_LONG_BATCH |
| | | + " or --" + OPTION_LONG_BATCH_FILE_PATH + " argument should have been set"); |
| | | } |
| | | } |
| | | |