From 116747e396cc2f6ad54fb8b9fe8cf266dd6b5837 Mon Sep 17 00:00:00 2001
From: jcambon <jcambon@localhost>
Date: Mon, 04 Feb 2008 13:36:57 +0000
Subject: [PATCH] Fix for Issue #2825: dsconfig interactive mode : wrong message information
---
opendj-sdk/opends/src/server/org/opends/server/admin/client/ldap/LDAPManagedObject.java | 17 ++++++++++++++++-
opendj-sdk/opends/src/server/org/opends/server/tools/dsconfig/SetPropSubCommandHandler.java | 16 +++++++++-------
opendj-sdk/opends/src/server/org/opends/server/admin/client/ManagedObject.java | 13 ++++++++++++-
3 files changed, 37 insertions(+), 9 deletions(-)
diff --git a/opendj-sdk/opends/src/server/org/opends/server/admin/client/ManagedObject.java b/opendj-sdk/opends/src/server/org/opends/server/admin/client/ManagedObject.java
index a7cba0f..77caa91 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/admin/client/ManagedObject.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/admin/client/ManagedObject.java
@@ -22,7 +22,7 @@
* CDDL HEADER END
*
*
- * Portions Copyright 2007 Sun Microsystems, Inc.
+ * Portions Copyright 2007-2008 Sun Microsystems, Inc.
*/
package org.opends.server.admin.client;
@@ -132,6 +132,17 @@
CommunicationException;
+ /**
+ * Determines whether or not this managed object has been modified since it
+ * was constructed.
+ * In other words, whether or not the set of pending values differs from
+ * the set of active values.
+ *
+ * @return Returns <code>true</code> if this managed object has been
+ * modified since it was constructed.
+ */
+ boolean isModified();
+
/**
* Creates a new child managed object bound to the specified
diff --git a/opendj-sdk/opends/src/server/org/opends/server/admin/client/ldap/LDAPManagedObject.java b/opendj-sdk/opends/src/server/org/opends/server/admin/client/ldap/LDAPManagedObject.java
index 19da6fe..f944859 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/admin/client/ldap/LDAPManagedObject.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/admin/client/ldap/LDAPManagedObject.java
@@ -22,7 +22,7 @@
* CDDL HEADER END
*
*
- * Portions Copyright 2007 Sun Microsystems, Inc.
+ * Portions Copyright 2007-2008 Sun Microsystems, Inc.
*/
package org.opends.server.admin.client.ldap;
@@ -361,4 +361,19 @@
}
}
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean isModified() {
+ ManagedObjectDefinition<?, ?> d = getManagedObjectDefinition();
+ for (PropertyDefinition<?> pd : d.getAllPropertyDefinitions()) {
+ Property<?> p = getProperty(pd);
+ if (p.isModified()) {
+ return true;
+ }
+ }
+ return false;
+ }
+
}
diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/dsconfig/SetPropSubCommandHandler.java b/opendj-sdk/opends/src/server/org/opends/server/tools/dsconfig/SetPropSubCommandHandler.java
index f57a43f..579f210 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/dsconfig/SetPropSubCommandHandler.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/dsconfig/SetPropSubCommandHandler.java
@@ -22,7 +22,7 @@
* CDDL HEADER END
*
*
- * Portions Copyright 2007 Sun Microsystems, Inc.
+ * Portions Copyright 2007-2008 Sun Microsystems, Inc.
*/
package org.opends.server.tools.dsconfig;
@@ -277,13 +277,15 @@
}
try {
- // Commit the changes.
- mo.commit();
+ // Commit the changes if necessary
+ if (mo.isModified()) {
+ mo.commit();
- // Output success message.
- app.println();
- Message msg = INFO_DSCFG_CONFIRM_MODIFY_SUCCESS.get(ufn);
- app.printVerboseMessage(msg);
+ // Output success message.
+ app.println();
+ Message msg = INFO_DSCFG_CONFIRM_MODIFY_SUCCESS.get(ufn);
+ app.printVerboseMessage(msg);
+ }
return MenuResult.success();
} catch (MissingMandatoryPropertiesException e) {
--
Gitblit v1.10.0