Repository: karaf
Updated Branches:
  refs/heads/master 274adfa49 -> 7fcdb4fba


[KARAF-2104] Add regex support to feature:repo-refresh command


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

Branch: refs/heads/master
Commit: 7fcdb4fba5abf4e25cd04edc89fd0e5148e586fd
Parents: 274adfa
Author: Jean-Baptiste Onofré <[email protected]>
Authored: Tue Dec 9 17:08:06 2014 +0100
Committer: Jean-Baptiste Onofré <[email protected]>
Committed: Tue Dec 9 17:08:06 2014 +0100

----------------------------------------------------------------------
 .../karaf/features/command/RepoRefreshCommand.java | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/7fcdb4fb/features/command/src/main/java/org/apache/karaf/features/command/RepoRefreshCommand.java
----------------------------------------------------------------------
diff --git 
a/features/command/src/main/java/org/apache/karaf/features/command/RepoRefreshCommand.java
 
b/features/command/src/main/java/org/apache/karaf/features/command/RepoRefreshCommand.java
index 805a29a..2a3e83c 100644
--- 
a/features/command/src/main/java/org/apache/karaf/features/command/RepoRefreshCommand.java
+++ 
b/features/command/src/main/java/org/apache/karaf/features/command/RepoRefreshCommand.java
@@ -19,6 +19,8 @@ package org.apache.karaf.features.command;
 import java.net.URI;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 import org.apache.karaf.features.FeaturesService;
 import org.apache.karaf.features.Repository;
@@ -46,9 +48,18 @@ public class RepoRefreshCommand extends 
FeaturesCommandSupport {
                String effectiveVersion = (version == null) ? "LATEST" : 
version;
                URI uri = featuresService.getRepositoryUriFor(nameOrUrl, 
effectiveVersion);
                if (uri == null) {
-                       uri = new URI(nameOrUrl);
-               }
-            uris.add(uri);
+                // add regex support on installed repositories
+                Pattern pattern = Pattern.compile(nameOrUrl);
+                for (Repository repository : 
featuresService.listRepositories()) {
+                    URI u = repository.getURI();
+                    Matcher matcher = pattern.matcher(u.toString());
+                    if (matcher.matches()) {
+                        uris.add(u);
+                    }
+                }
+               } else {
+                uris.add(uri);
+            }
        } else {
             Repository[] repos = featuresService.listRepositories();
             for (Repository repo : repos) {

Reply via email to