Repository: karaf Updated Branches: refs/heads/karaf-3.0.x daacf263b -> 3fea36f08
[KARAF-3032] Multi-stage boot features function does not more than 2 stages. Project: http://git-wip-us.apache.org/repos/asf/karaf/repo Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/3fea36f0 Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/3fea36f0 Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/3fea36f0 Branch: refs/heads/karaf-3.0.x Commit: 3fea36f087b24ab5d5cf825471a8dab9c210f3cc Parents: daacf26 Author: Guillaume Nodet <gno...@gmail.com> Authored: Fri Oct 24 15:45:41 2014 +0200 Committer: Guillaume Nodet <gno...@gmail.com> Committed: Fri Oct 24 15:48:53 2014 +0200 ---------------------------------------------------------------------- .../apache/karaf/features/internal/BootFeaturesInstaller.java | 2 +- .../karaf/features/internal/BootFeaturesInstallerTest.java | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/karaf/blob/3fea36f0/features/core/src/main/java/org/apache/karaf/features/internal/BootFeaturesInstaller.java ---------------------------------------------------------------------- diff --git a/features/core/src/main/java/org/apache/karaf/features/internal/BootFeaturesInstaller.java b/features/core/src/main/java/org/apache/karaf/features/internal/BootFeaturesInstaller.java index b0d0673..30a6804 100644 --- a/features/core/src/main/java/org/apache/karaf/features/internal/BootFeaturesInstaller.java +++ b/features/core/src/main/java/org/apache/karaf/features/internal/BootFeaturesInstaller.java @@ -141,7 +141,7 @@ public class BootFeaturesInstaller { } protected List<Set<String>> parseBootFeatures(String bootFeatures) { - Pattern pattern = Pattern.compile("(\\((.+))\\),|.+"); + Pattern pattern = Pattern.compile("(\\s*\\(([^)]+))\\s*\\)\\s*,\\s*|.+"); Matcher matcher = pattern.matcher(bootFeatures); List<Set<String>> result = new ArrayList<Set<String>>(); while (matcher.find()) { http://git-wip-us.apache.org/repos/asf/karaf/blob/3fea36f0/features/core/src/test/java/org/apache/karaf/features/internal/BootFeaturesInstallerTest.java ---------------------------------------------------------------------- diff --git a/features/core/src/test/java/org/apache/karaf/features/internal/BootFeaturesInstallerTest.java b/features/core/src/test/java/org/apache/karaf/features/internal/BootFeaturesInstallerTest.java index b59806d..a148c40 100644 --- a/features/core/src/test/java/org/apache/karaf/features/internal/BootFeaturesInstallerTest.java +++ b/features/core/src/test/java/org/apache/karaf/features/internal/BootFeaturesInstallerTest.java @@ -34,8 +34,9 @@ public class BootFeaturesInstallerTest extends TestBase { @SuppressWarnings("unchecked") public void testParser() { BootFeaturesInstaller installer = new BootFeaturesInstaller(null, null, "", false); - Assert.assertEquals(asList(setOf("test1", "test2"),setOf("test3")), installer.parseBootFeatures("(test1, test2), test3")); - Assert.assertEquals(asList(setOf("test1", "test2", "test3")), installer.parseBootFeatures("test1, test2, test3")); + Assert.assertEquals(asList(setOf("test1", "test2"), setOf("test3")), installer.parseBootFeatures(" ( test1 , test2 ) , test3 ")); + Assert.assertEquals(asList(setOf("test1", "test2", "test3")), installer.parseBootFeatures(" test1 , test2, test3")); + Assert.assertEquals(asList(setOf("test1"), setOf("test2"), setOf("test3")), installer.parseBootFeatures("(test1), (test2), test3")); } @Test