From 17641c981d7f2f59374f02110edccda3b9ccb5f2 Mon Sep 17 00:00:00 2001
From: jcambon <jcambon@localhost>
Date: Wed, 12 Nov 2008 10:20:13 +0000
Subject: [PATCH] Fix for Issue #3569 (cont'd): dsconfig does not handle correctly multi-valued properties
---
opendj-sdk/opends/src/server/org/opends/server/tools/dsconfig/SetPropSubCommandHandler.java | 14 +++++---------
1 files changed, 5 insertions(+), 9 deletions(-)
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 7b767aa..14d9851 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
@@ -754,9 +754,6 @@
// Set properties.
for (String m : propertySetArgument.getValues()) {
- if (!propertyResetArgument.getValues().isEmpty()) {
- throw ArgumentExceptionFactory.incompatiblePropertyModification(m);
- }
// Parse the property "property:value".
int sep = m.indexOf(':');
@@ -783,6 +780,11 @@
}
// Apply the modification.
+ if (lastModTypes.containsKey(propertyName) &&
+ (lastModTypes.get(propertyName) == ModificationType.SET)) {
+ throw ArgumentExceptionFactory.incompatiblePropertyModification(m);
+ }
+
if (lastModTypes.containsKey(propertyName)) {
modifyPropertyValues(child, pd, changes, ModificationType.ADD, value);
} else {
@@ -793,9 +795,6 @@
// Remove properties.
for (String m : propertyRemoveArgument.getValues()) {
- if (!propertyResetArgument.getValues().isEmpty()) {
- throw ArgumentExceptionFactory.incompatiblePropertyModification(m);
- }
// Parse the property "property:value".
int sep = m.indexOf(':');
@@ -833,9 +832,6 @@
// Add properties.
for (String m : propertyAddArgument.getValues()) {
- if (!propertyResetArgument.getValues().isEmpty()) {
- throw ArgumentExceptionFactory.incompatiblePropertyModification(m);
- }
// Parse the property "property:value".
int sep = m.indexOf(':');
--
Gitblit v1.10.0