From a64eeca99c07bc4bdbb65d4a3643dc77c65f2095 Mon Sep 17 00:00:00 2001
From: jvergara <jvergara@localhost>
Date: Thu, 09 Apr 2009 09:18:07 +0000
Subject: [PATCH] Fix for issue 2642 (ldif-diff doesn't detect differences in encoded values)
---
opends/src/server/org/opends/server/tools/LDIFDiff.java | 23 +++++++++++++++++++++--
1 files changed, 21 insertions(+), 2 deletions(-)
diff --git a/opends/src/server/org/opends/server/tools/LDIFDiff.java b/opends/src/server/org/opends/server/tools/LDIFDiff.java
index 0c4764c..5f8e1eb 100644
--- a/opends/src/server/org/opends/server/tools/LDIFDiff.java
+++ b/opends/src/server/org/opends/server/tools/LDIFDiff.java
@@ -22,7 +22,7 @@
* CDDL HEADER END
*
*
- * Copyright 2006-2008 Sun Microsystems, Inc.
+ * Copyright 2006-2009 Sun Microsystems, Inc.
*/
package org.opends.server.tools;
import org.opends.messages.Message;
@@ -54,6 +54,7 @@
import static org.opends.messages.ToolMessages.*;
import static org.opends.server.tools.ToolConstants.*;
+import static org.opends.server.util.ServerConstants.PROPERTY_SCRIPT_NAME;
import static org.opends.server.util.StaticUtils.*;
@@ -153,6 +154,7 @@
BooleanArgument overwriteExisting;
BooleanArgument showUsage;
BooleanArgument singleValueChanges;
+ BooleanArgument doCheckSchema;
StringArgument configClass;
StringArgument configFile;
StringArgument outputLDIF;
@@ -210,6 +212,12 @@
INFO_LDIFDIFF_DESCRIPTION_SINGLE_VALUE_CHANGES.get());
argParser.addArgument(singleValueChanges);
+ doCheckSchema =
+ new BooleanArgument(
+ "checkschema", null, "checkSchema",
+ INFO_LDIFDIFF_DESCRIPTION_CHECK_SCHEMA.get());
+ argParser.addArgument(doCheckSchema);
+
configFile = new StringArgument("configfile", 'c', "configFile", false,
false, true,
INFO_CONFIGFILE_PLACEHOLDER.get(), null,
@@ -264,8 +272,19 @@
return 0;
}
+ if (doCheckSchema.isPresent() && !configFile.isPresent())
+ {
+ String scriptName = System.getProperty(PROPERTY_SCRIPT_NAME);
+ if (scriptName == null)
+ {
+ scriptName = "ldif-diff";
+ }
+ Message message = WARN_LDIFDIFF_NO_CONFIG_FILE.get(scriptName);
+ err.println(message);
+ }
- boolean checkSchema = configFile.isPresent();
+
+ boolean checkSchema = configFile.isPresent() && doCheckSchema.isPresent();
if (! serverInitialized)
{
// Bootstrap the Directory Server configuration for use as a client.
--
Gitblit v1.10.0