| | |
| | | |
| | | |
| | | import java.io.IOException; |
| | | import java.io.OutputStream; |
| | | import java.io.PrintStream; |
| | | import java.util.Iterator; |
| | | import java.util.LinkedHashSet; |
| | | import java.util.LinkedList; |
| | |
| | | import org.opends.server.types.LDIFExportConfig; |
| | | import org.opends.server.types.Modification; |
| | | import org.opends.server.types.ModificationType; |
| | | import org.opends.server.types.NullOutputStream; |
| | | import org.opends.server.types.ObjectClass; |
| | | import org.opends.server.util.LDIFReader; |
| | | import org.opends.server.util.LDIFWriter; |
| | |
| | | */ |
| | | public static void main(String[] args) |
| | | { |
| | | int exitCode = mainDiff(args, false); |
| | | int exitCode = mainDiff(args, false, System.out, System.err); |
| | | if (exitCode != 0) |
| | | { |
| | | System.exit(filterExitCode(exitCode)); |
| | |
| | | * @param serverInitialized Indicates whether the Directory Server has |
| | | * already been initialized (and therefore should |
| | | * not be initialized a second time). |
| | | * @param outStream The output stream to use for standard output, or |
| | | * {@code null} if standard output is not needed. |
| | | * @param errStream The output stream to use for standard error, or |
| | | * {@code null} if standard error is not needed. |
| | | * |
| | | * @return The return code for this operation. A value of zero indicates |
| | | * that all processing completed successfully. A nonzero value |
| | | * indicates that some problem occurred during processing. |
| | | */ |
| | | public static int mainDiff(String[] args, boolean serverInitialized) |
| | | public static int mainDiff(String[] args, boolean serverInitialized, |
| | | OutputStream outStream, OutputStream errStream) |
| | | { |
| | | PrintStream out; |
| | | if (outStream == null) |
| | | { |
| | | out = NullOutputStream.printStream(); |
| | | } |
| | | else |
| | | { |
| | | out = new PrintStream(outStream); |
| | | } |
| | | |
| | | PrintStream err; |
| | | if (errStream == null) |
| | | { |
| | | err = NullOutputStream.printStream(); |
| | | } |
| | | else |
| | | { |
| | | err = new PrintStream(errStream); |
| | | } |
| | | |
| | | BooleanArgument overwriteExisting; |
| | | BooleanArgument showUsage; |
| | | BooleanArgument singleValueChanges; |
| | |
| | | { |
| | | int msgID = MSGID_CANNOT_INITIALIZE_ARGS; |
| | | String message = getMessage(msgID, ae.getMessage()); |
| | | System.err.println(message); |
| | | err.println(message); |
| | | return 1; |
| | | } |
| | | |
| | |
| | | int msgID = MSGID_ERROR_PARSING_ARGS; |
| | | String message = getMessage(msgID, ae.getMessage()); |
| | | |
| | | System.err.println(message); |
| | | System.err.println(argParser.getUsage()); |
| | | err.println(message); |
| | | err.println(argParser.getUsage()); |
| | | return LDAPResultCode.CLIENT_SIDE_PARAM_ERROR; |
| | | } |
| | | |
| | |
| | | String message = getMessage(msgID, |
| | | String.valueOf(configFile.getValue()), |
| | | e.getMessage()); |
| | | System.err.println(message); |
| | | err.println(message); |
| | | return 1; |
| | | } |
| | | |
| | |
| | | String message = getMessage(msgID, |
| | | String.valueOf(configFile.getValue()), |
| | | e.getMessage()); |
| | | System.err.println(message); |
| | | err.println(message); |
| | | return 1; |
| | | } |
| | | |
| | |
| | | String message = getMessage(msgID, |
| | | String.valueOf(configFile.getValue()), |
| | | e.getMessage()); |
| | | System.err.println(message); |
| | | err.println(message); |
| | | return 1; |
| | | } |
| | | } |
| | |
| | | int msgID = MSGID_LDIFDIFF_CANNOT_OPEN_SOURCE_LDIF; |
| | | String message = getMessage(msgID, sourceLDIF.getValue(), |
| | | String.valueOf(e)); |
| | | System.err.println(message); |
| | | err.println(message); |
| | | return 1; |
| | | } |
| | | |
| | |
| | | int msgID = MSGID_LDIFDIFF_ERROR_READING_SOURCE_LDIF; |
| | | String message = getMessage(msgID, sourceLDIF.getValue(), |
| | | String.valueOf(e)); |
| | | System.err.println(message); |
| | | err.println(message); |
| | | return 1; |
| | | } |
| | | finally |
| | |
| | | int msgID = MSGID_LDIFDIFF_CANNOT_OPEN_TARGET_LDIF; |
| | | String message = getMessage(msgID, targetLDIF.getValue(), |
| | | String.valueOf(e)); |
| | | System.err.println(message); |
| | | err.println(message); |
| | | return 1; |
| | | } |
| | | |
| | |
| | | int msgID = MSGID_LDIFDIFF_ERROR_READING_TARGET_LDIF; |
| | | String message = getMessage(msgID, targetLDIF.getValue(), |
| | | String.valueOf(e)); |
| | | System.err.println(message); |
| | | err.println(message); |
| | | return 1; |
| | | } |
| | | finally |
| | |
| | | } |
| | | else |
| | | { |
| | | exportConfig = new LDIFExportConfig(System.out); |
| | | exportConfig = new LDIFExportConfig(out); |
| | | } |
| | | |
| | | writer = new LDIFWriter(exportConfig); |
| | |
| | | { |
| | | int msgID = MSGID_LDIFDIFF_CANNOT_OPEN_OUTPUT; |
| | | String message = getMessage(msgID, String.valueOf(e)); |
| | | System.err.println(message); |
| | | err.println(message); |
| | | return 1; |
| | | } |
| | | |
| | |
| | | { |
| | | int msgID = MSGID_LDIFDIFF_ERROR_WRITING_OUTPUT; |
| | | String message = getMessage(msgID, String.valueOf(e)); |
| | | System.err.println(message); |
| | | err.println(message); |
| | | return 1; |
| | | } |
| | | finally |