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

[2/2] karaf git commit: Use FeatureReq

Use FeatureReq


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

Branch: refs/heads/master
Commit: 7afb0582893a037dff96e676076c4bd2274795fe
Parents: 70ea94e
Author: Christian Schneider <ch...@die-schneider.net>
Authored: Mon Aug 21 15:32:19 2017 +0200
Committer: Christian Schneider <ch...@die-schneider.net>
Committed: Mon Aug 21 15:32:19 2017 +0200

----------------------------------------------------------------------
 .../karaf/profile/assembly/FeatureSelector.java | 24 ++++----------------
 1 file changed, 4 insertions(+), 20 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/7afb0582/profile/src/main/java/org/apache/karaf/profile/assembly/FeatureSelector.java
----------------------------------------------------------------------
diff --git a/profile/src/main/java/org/apache/karaf/profile/assembly/FeatureSelector.java b/profile/src/main/java/org/apache/karaf/profile/assembly/FeatureSelector.java
index 59486e9..e363066 100644
--- a/profile/src/main/java/org/apache/karaf/profile/assembly/FeatureSelector.java
+++ b/profile/src/main/java/org/apache/karaf/profile/assembly/FeatureSelector.java
@@ -24,11 +24,10 @@ import java.util.Map;
 import java.util.Set;
 import java.util.stream.Collectors;
 
-import org.apache.felix.utils.version.VersionRange;
 import org.apache.felix.utils.version.VersionTable;
 import org.apache.karaf.features.internal.model.Dependency;
 import org.apache.karaf.features.internal.model.Feature;
-import org.osgi.framework.Version;
+import org.apache.karaf.features.internal.service.FeatureReq;
 
 public class FeatureSelector {
     Map<String, Set<Feature>> featuresCache;
@@ -75,28 +74,13 @@ public class FeatureSelector {
     }
 
     private Set<Feature> getMatching(String nameAndVersion) {
-        VersionRange range;
-        String name;
-        int idx = nameAndVersion.indexOf('/');
-        if (idx > 0) {
-            name = nameAndVersion.substring(0, idx);
-            String version = nameAndVersion.substring(idx + 1);
-            version = version.trim();
-            if (version.equals(org.apache.karaf.features.internal.model.Feature.DEFAULT_VERSION)) {
-                range = new VersionRange(Version.emptyVersion);
-            } else {
-                range = new VersionRange(version, true, true);
-            }
-        } else {
-            name = nameAndVersion;
-            range = new VersionRange(Version.emptyVersion);
-        }
-        Set<Feature> versionToFeatures = featuresCache.get(name);
+        FeatureReq req = new FeatureReq(nameAndVersion);
+        Set<Feature> versionToFeatures = featuresCache.get(req.getName());
         if (versionToFeatures == null) {
             return Collections.emptySet();
         }
         return versionToFeatures.stream()
-            .filter(f -> f.getName().equals(name) && range.contains(VersionTable.getVersion(f.getVersion())))
+            .filter(f -> f.getName().equals(req.getName()) && req.getVersionRange().includes(VersionTable.getVersion(f.getVersion())))
             .collect(Collectors.toSet());  
     }
 }