You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2012/05/08 08:57:02 UTC

svn commit: r1335356 - in /karaf/cellar/branches/cellar-2.2.x/management/src/main/java/org/apache/karaf/cellar/management: CellarConfigMBean.java internal/CellarConfigMBeanImpl.java

Author: jbonofre
Date: Tue May  8 06:57:01 2012
New Revision: 1335356

URL: http://svn.apache.org/viewvc?rev=1335356&view=rev
Log:
[KARAF-1433] Fix listConfig operation in the CellarConfigMBean

Modified:
    karaf/cellar/branches/cellar-2.2.x/management/src/main/java/org/apache/karaf/cellar/management/CellarConfigMBean.java
    karaf/cellar/branches/cellar-2.2.x/management/src/main/java/org/apache/karaf/cellar/management/internal/CellarConfigMBeanImpl.java

Modified: karaf/cellar/branches/cellar-2.2.x/management/src/main/java/org/apache/karaf/cellar/management/CellarConfigMBean.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/management/src/main/java/org/apache/karaf/cellar/management/CellarConfigMBean.java?rev=1335356&r1=1335355&r2=1335356&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/management/src/main/java/org/apache/karaf/cellar/management/CellarConfigMBean.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/management/src/main/java/org/apache/karaf/cellar/management/CellarConfigMBean.java Tue May  8 06:57:01 2012
@@ -14,13 +14,14 @@
 package org.apache.karaf.cellar.management;
 
 import javax.management.openmbean.TabularData;
+import java.util.List;
 
 /**
  * Config interface describing the operations and attributes available on a Cellar configuration.
  */
 public interface CellarConfigMBean {
 
-    String[] listConfig(String group) throws Exception;
+    List<String> listConfig(String group) throws Exception;
     void deleteConfig(String group, String pid) throws Exception;
     TabularData listProperties(String group, String pid) throws Exception;
     void setProperty(String group, String pid, String key, String value) throws Exception;

Modified: karaf/cellar/branches/cellar-2.2.x/management/src/main/java/org/apache/karaf/cellar/management/internal/CellarConfigMBeanImpl.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/management/src/main/java/org/apache/karaf/cellar/management/internal/CellarConfigMBeanImpl.java?rev=1335356&r1=1335355&r2=1335356&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/management/src/main/java/org/apache/karaf/cellar/management/internal/CellarConfigMBeanImpl.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/management/src/main/java/org/apache/karaf/cellar/management/internal/CellarConfigMBeanImpl.java Tue May  8 06:57:01 2012
@@ -27,9 +27,7 @@ import org.osgi.service.cm.Configuration
 import javax.management.NotCompliantMBeanException;
 import javax.management.StandardMBean;
 import javax.management.openmbean.*;
-import java.util.Enumeration;
-import java.util.Map;
-import java.util.Properties;
+import java.util.*;
 
 /**
  * Implementation of the Cellar Config MBean allowing to manipulate Cellar config admin layer.
@@ -45,15 +43,21 @@ public class CellarConfigMBeanImpl exten
     }
 
 
-    public String[] listConfig(String groupName) throws Exception {
+    public List<String> listConfig(String groupName) throws Exception {
         // check if the group exists
         Group group = groupManager.findGroupByName(groupName);
         if (group == null) {
             throw new IllegalArgumentException("Cluster group " + groupName + " doesn't exist");
         }
 
-        Map<String, Properties> config = clusterManager.getMap(Constants.CONFIGURATION_MAP + Configurations.SEPARATOR + group);
-        return config.keySet().toArray(new String[config.keySet().size()]);
+        List<String> result = new ArrayList<String>();
+
+        Map<String, Properties> config = clusterManager.getMap(Constants.CONFIGURATION_MAP + Configurations.SEPARATOR + groupName);
+        for (String pid : config.keySet()) {
+            result.add(pid);
+        }
+
+        return result;
     }
 
     public void deleteConfig(String groupName, String pid) throws Exception {