Using Properties class in felix util package to keep the config-substitutions in section as they are defeined. GERONIMO-5310 Better ordering for config-substitutions.properties
git-svn-id: https://svn.apache.org/repos/asf/geronimo/server/trunk@1153754 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/framework/modules/geronimo-system/pom.xml b/framework/modules/geronimo-system/pom.xml
index 0884dea..76de54c 100644
--- a/framework/modules/geronimo-system/pom.xml
+++ b/framework/modules/geronimo-system/pom.xml
@@ -185,6 +185,7 @@
<artifactId>maven-bundle-plugin</artifactId>
<configuration>
<instructions>
+ <Embed-Dependency>org.apache.felix.bundlerepository;inline=org/apache/felix/utils/properties/*.class</Embed-Dependency>
<!--<_versionpolicy>[$(version;==;$(@)),$(version;+;$(@)))</_versionpolicy>-->
<Import-Package>javax.security.auth,
javax.security.auth.callback,
diff --git a/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/configuration/LocalAttributeManager.java b/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/configuration/LocalAttributeManager.java
index 4193ef8..6a3484d 100644
--- a/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/configuration/LocalAttributeManager.java
+++ b/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/configuration/LocalAttributeManager.java
@@ -32,7 +32,6 @@
import java.util.Iterator;
import java.util.List;
import java.util.Map;
-import java.util.Properties;
import java.util.Timer;
import java.util.TimerTask;
@@ -66,6 +65,7 @@
import org.apache.geronimo.system.serverinfo.ServerInfo;
import org.xml.sax.SAXException;
import org.osgi.framework.Bundle;
+import org.apache.felix.utils.properties.Properties;
/**
* Stores managed attributes in an XML file on the local filesystem.
@@ -257,8 +257,11 @@
return expressionParser.parse(in);
}
- public void addConfigSubstitutions(Properties properties) {
- localConfigSubstitutions.putAll(properties);
+ public void addConfigSubstitutions(java.util.Properties properties) {
+ for (Object key : properties.keySet()) {
+ String keyStr = (String) key;
+ localConfigSubstitutions.put(keyStr, properties.getProperty(keyStr));
+ }
Map<String, Object> configSubstutions = loadAllConfigSubstitutions(localConfigSubstitutions, prefix);
storeConfigSubstitutions(configSubstitutionsFile, localConfigSubstitutions);
expressionParser.setVariables(configSubstutions);
@@ -675,7 +678,7 @@
FileOutputStream out = new FileOutputStream(configSubstitutionsFile);
try {
out.write(INSTRUCTION);
- properties.store(out, null);
+ properties.save(out);
} finally {
out.close();
}