Repository: karaf Updated Branches: refs/heads/karaf-2.x 82d4c0151 -> 14d33ecb3
[KARAF-1560] Manage Boolean, Integer, etc type in configuration Project: http://git-wip-us.apache.org/repos/asf/karaf/repo Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/14d33ecb Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/14d33ecb Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/14d33ecb Branch: refs/heads/karaf-2.x Commit: 14d33ecb3149489569fd159bc5e307c6b31896fa Parents: 82d4c01 Author: Jean-Baptiste Onofré <[email protected]> Authored: Mon Oct 6 14:19:03 2014 +0200 Committer: Jean-Baptiste Onofré <[email protected]> Committed: Mon Oct 6 14:19:03 2014 +0200 ---------------------------------------------------------------------- .../mbeans/config/internal/ConfigMBeanImpl.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/karaf/blob/14d33ecb/management/mbeans/config/src/main/java/org/apache/karaf/management/mbeans/config/internal/ConfigMBeanImpl.java ---------------------------------------------------------------------- diff --git a/management/mbeans/config/src/main/java/org/apache/karaf/management/mbeans/config/internal/ConfigMBeanImpl.java b/management/mbeans/config/src/main/java/org/apache/karaf/management/mbeans/config/internal/ConfigMBeanImpl.java index 28a1694..150cdc7 100644 --- a/management/mbeans/config/src/main/java/org/apache/karaf/management/mbeans/config/internal/ConfigMBeanImpl.java +++ b/management/mbeans/config/src/main/java/org/apache/karaf/management/mbeans/config/internal/ConfigMBeanImpl.java @@ -205,7 +205,7 @@ public class ConfigMBeanImpl extends StandardMBean implements ConfigMBean { * @param properties the configuration properties. * @throws Exception */ - private void store(String pid, Dictionary properties, boolean bypassStorage) throws Exception { + private void store(String pid, Dictionary<String, Object> properties, boolean bypassStorage) throws Exception { if (!bypassStorage && storage != null) { File storageFile = new File(storage, pid + ".cfg"); Configuration configuration = configurationAdmin.getConfiguration(pid, null); @@ -227,22 +227,24 @@ public class ConfigMBeanImpl extends StandardMBean implements ConfigMBean { } Properties p = new Properties(storageFile); p.clear(); - for (Enumeration keys = properties.keys(); keys.hasMoreElements(); ) { - Object key = keys.nextElement(); + for (Enumeration<String> keys = properties.keys(); keys.hasMoreElements(); ) { + String key = keys.nextElement(); if (!Constants.SERVICE_PID.equals(key) && !ConfigurationAdmin.SERVICE_FACTORYPID.equals(key) && !FELIX_FILEINSTALL_FILENAME.equals(key)) { - p.put((String) key, (String) properties.get(key)); + if (properties.get(key) != null) { + p.put(key, properties.get(key).toString()); + } } } // remove "removed" properties from the file ArrayList<String> propertiesToRemove = new ArrayList<String>(); - for (Object key : p.keySet()) { + for (String key : p.keySet()) { if (properties.get(key) == null && !Constants.SERVICE_PID.equals(key) && !ConfigurationAdmin.SERVICE_FACTORYPID.equals(key) && !FELIX_FILEINSTALL_FILENAME.equals(key)) { - propertiesToRemove.add(key.toString()); + propertiesToRemove.add(key); } } for (String key : propertiesToRemove) {
