[KARAF-4830] Keep features order while parsing boot features Project: http://git-wip-us.apache.org/repos/asf/karaf/repo Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/0bb989aa Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/0bb989aa Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/0bb989aa
Branch: refs/heads/karaf-4.0.x Commit: 0bb989aa1e0187a73202b9c340118ce3cc6d819a Parents: 95c0dfe Author: Guillaume Nodet <[email protected]> Authored: Wed Nov 23 10:33:14 2016 +0100 Committer: Guillaume Nodet <[email protected]> Committed: Wed Nov 23 10:33:14 2016 +0100 ---------------------------------------------------------------------- .../features/internal/service/BootFeaturesInstaller.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/karaf/blob/0bb989aa/features/core/src/main/java/org/apache/karaf/features/internal/service/BootFeaturesInstaller.java ---------------------------------------------------------------------- diff --git a/features/core/src/main/java/org/apache/karaf/features/internal/service/BootFeaturesInstaller.java b/features/core/src/main/java/org/apache/karaf/features/internal/service/BootFeaturesInstaller.java index bb93361..b0508f9 100644 --- a/features/core/src/main/java/org/apache/karaf/features/internal/service/BootFeaturesInstaller.java +++ b/features/core/src/main/java/org/apache/karaf/features/internal/service/BootFeaturesInstaller.java @@ -20,8 +20,8 @@ import java.io.File; import java.net.URI; import java.util.ArrayList; import java.util.EnumSet; -import java.util.HashSet; import java.util.Hashtable; +import java.util.LinkedHashSet; import java.util.List; import java.util.Set; import java.util.StringTokenizer; @@ -131,14 +131,14 @@ public class BootFeaturesInstaller { List<Set<String>> stages = new ArrayList<>(); StringTokenizer tokenizer = new StringTokenizer(bootFeatures, " \t\r\n,()", true); int paren = 0; - Set<String> stage = new HashSet<>(); + Set<String> stage = new LinkedHashSet<>(); while (tokenizer.hasMoreTokens()) { String token = tokenizer.nextToken(); if (token.equals("(")) { if (paren == 0) { if (!stage.isEmpty()) { stages.add(stage); - stage = new HashSet<>(); + stage = new LinkedHashSet<>(); } paren++; } else { @@ -148,7 +148,7 @@ public class BootFeaturesInstaller { if (paren == 1) { if (!stage.isEmpty()) { stages.add(stage); - stage = new HashSet<>(); + stage = new LinkedHashSet<>(); } paren--; } else {
