[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 <[email protected]> Authored: Mon May 26 13:28:02 2014 +0200 Committer: Guillaume Nodet <[email protected]> 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) {
