You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by gn...@apache.org on 2014/05/26 22:45:08 UTC

[3/5] git commit: [KARAF-2994] Fix unit tests

[KARAF-2994] Fix unit tests

Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/714da5ef
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/714da5ef
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/714da5ef

Branch: refs/heads/master
Commit: 714da5efa015ae1eaff2546c3bb223046033886d
Parents: 5e9cb6d
Author: Guillaume Nodet <gn...@gmail.com>
Authored: Mon May 26 13:28:02 2014 +0200
Committer: Guillaume Nodet <gn...@gmail.com>
Committed: Mon May 26 15:09:25 2014 +0200

----------------------------------------------------------------------
 .../apache/karaf/instance/command/CreateCommand.java  | 14 ++++++++++++--
 .../karaf/instance/command/CreateCommandTest.java     | 13 +++++++++++--
 .../karaf/management/KarafMBeanServerGuard.java       | 13 ++++++++-----
 3 files changed, 31 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/714da5ef/instance/src/main/java/org/apache/karaf/instance/command/CreateCommand.java
----------------------------------------------------------------------
diff --git a/instance/src/main/java/org/apache/karaf/instance/command/CreateCommand.java b/instance/src/main/java/org/apache/karaf/instance/command/CreateCommand.java
index 3ad54ad..9efc268 100644
--- a/instance/src/main/java/org/apache/karaf/instance/command/CreateCommand.java
+++ b/instance/src/main/java/org/apache/karaf/instance/command/CreateCommand.java
@@ -85,11 +85,21 @@ public class CreateCommand extends InstanceCommandSupport
             if (featureURLs == null) {
                 featureURLs = new ArrayList<>();
             }
-            featureURLs.addAll(Arrays.asList(featuresRepositories.split(",")));
+            for (String repo : featuresRepositories.split(",")) {
+                repo = repo.trim();
+                if (!repo.isEmpty()) {
+                    featureURLs.add(repo);
+                }
+            }
             if (features == null) {
                 features = new ArrayList<>();
             }
-            features.addAll(Arrays.asList(featuresBoot.split(",")));
+            for (String feature : featuresBoot.split(",")) {
+                feature = feature.trim();
+                if (!feature.isEmpty()) {
+                    features.add(feature);
+                }
+            }
         }
         InstanceSettings settings = new InstanceSettings(sshPort, rmiRegistryPort, rmiServerPort, location, javaOpts, featureURLs, features);
         getInstanceService().createInstance(instance, settings, verbose);

http://git-wip-us.apache.org/repos/asf/karaf/blob/714da5ef/instance/src/test/java/org/apache/karaf/instance/command/CreateCommandTest.java
----------------------------------------------------------------------
diff --git a/instance/src/test/java/org/apache/karaf/instance/command/CreateCommandTest.java b/instance/src/test/java/org/apache/karaf/instance/command/CreateCommandTest.java
index 359a183..a43f916 100644
--- a/instance/src/test/java/org/apache/karaf/instance/command/CreateCommandTest.java
+++ b/instance/src/test/java/org/apache/karaf/instance/command/CreateCommandTest.java
@@ -16,6 +16,8 @@
  */
 package org.apache.karaf.instance.command;
 
+import java.io.File;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
 
@@ -38,10 +40,17 @@ public class CreateCommandTest extends TestCase {
         cc.rmiServerPort = 44444;
         cc.location = "top";
         cc.javaOpts = "foo";
-        cc.features = Arrays.asList("abc", "def");
-        cc.featureURLs = Collections.singletonList("http://something");
+        cc.features = new ArrayList<>(Arrays.asList("abc", "def"));
+        cc.featureURLs = new ArrayList<>(Arrays.asList("http://something"));
         cc.instance = "myInstance";
         cc.verbose = true;
+
+        // Create the features config file used
+        System.setProperty("karaf.etc", "target/etc");
+        File cfgFile = new File("target/etc/" + CreateCommand.FEATURES_SERVICE_CONFIG_FILE);
+        cfgFile.getParentFile().mkdirs();
+        cfgFile.createNewFile();
+
         
         EasyMock.verify(instanceService); // check precondition
         EasyMock.reset(instanceService);

http://git-wip-us.apache.org/repos/asf/karaf/blob/714da5ef/management/server/src/main/java/org/apache/karaf/management/KarafMBeanServerGuard.java
----------------------------------------------------------------------
diff --git a/management/server/src/main/java/org/apache/karaf/management/KarafMBeanServerGuard.java b/management/server/src/main/java/org/apache/karaf/management/KarafMBeanServerGuard.java
index c2cf224..036d472 100644
--- a/management/server/src/main/java/org/apache/karaf/management/KarafMBeanServerGuard.java
+++ b/management/server/src/main/java/org/apache/karaf/management/KarafMBeanServerGuard.java
@@ -229,11 +229,14 @@ public class KarafMBeanServerGuard implements InvocationHandler {
     private boolean canBypassRBAC(ObjectName objectName) {
         List<String> allBypassObjectName = new ArrayList<String>();
         try {
-            for (Configuration config : configAdmin.listConfigurations("(service.pid=" + JMX_ACL_WHITELIST + ")")) {
-                Enumeration<String> keys = config.getProperties().keys();
-                while (keys.hasMoreElements()) {
-                    String element = keys.nextElement();
-                    allBypassObjectName.add(element);
+            Configuration[] configs = configAdmin.listConfigurations("(service.pid=" + JMX_ACL_WHITELIST + ")");
+            if (configs != null) {
+                for (Configuration config : configs) {
+                    Enumeration<String> keys = config.getProperties().keys();
+                    while (keys.hasMoreElements()) {
+                        String element = keys.nextElement();
+                        allBypassObjectName.add(element);
+                    }
                 }
             }
         } catch (InvalidSyntaxException ise) {