rails/common/ConfigProfile.java | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
New commits:
commit bf4edec12c22ba77b954fc4cdfb6912557ccd79a
Author: Stefan Frey <ste...@we...>
Date: Tue Apr 3 16:34:47 2012 +0200
fixed wrong logic in setProperty of configProfile
diff --git a/rails/common/ConfigProfile.java b/rails/common/ConfigProfile.java
index 1057a72..1ee6876 100644
--- a/rails/common/ConfigProfile.java
+++ b/rails/common/ConfigProfile.java
@@ -188,10 +188,10 @@ public final class ConfigProfile implements Comparable<ConfigProfile> {
void setProperty(String key, String value) {
ensureLoad();
- if (!parent.getProperty(key).equals(value)) {
- properties.setProperty(key, value);
- } else {
+ if (parent.getProperty(key) != null && parent.getProperty(key).equals(value)) {
properties.remove(key);
+ } else {
+ properties.setProperty(key, value);
}
}
@@ -219,7 +219,8 @@ public final class ConfigProfile implements Comparable<ConfigProfile> {
newProfile.setParent(reference);
// copy properties
- for (String key:properties.stringPropertyNames()){
+ for (Object k:properties.keySet()){
+ String key = (String)k;
if (!key.equals(PARENT_KEY) && !key.equals(FINAL_KEY)) {
newProfile.setProperty(key, properties.getProperty(key));
}
@@ -350,6 +351,7 @@ public final class ConfigProfile implements Comparable<ConfigProfile> {
result = false;
}
+
if (result) {
// and reassign and save children
for (ConfigProfile child:getChildren()) {
@@ -382,3 +384,4 @@ public final class ConfigProfile implements Comparable<ConfigProfile> {
}
+
|