You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by gg...@apache.org on 2017/12/20 20:43:28 UTC

[karaf] branch master updated: [KARAF-5376] Do not download blacklisted repositories at all

This is an automated email from the ASF dual-hosted git repository.

ggrzybek pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/karaf.git


The following commit(s) were added to refs/heads/master by this push:
     new e1434dd  [KARAF-5376] Do not download blacklisted repositories at all
e1434dd is described below

commit e1434ddf5f046a955a68fe3f4d82980d35134492
Author: Grzegorz Grzybek <gr...@gmail.com>
AuthorDate: Wed Dec 20 21:43:17 2017 +0100

    [KARAF-5376] Do not download blacklisted repositories at all
---
 .../karaf/features/internal/service/RepositoryCacheImpl.java |  4 ++++
 .../karaf/features/internal/service/RepositoryImpl.java      | 12 ++++++++++++
 2 files changed, 16 insertions(+)

diff --git a/features/core/src/main/java/org/apache/karaf/features/internal/service/RepositoryCacheImpl.java b/features/core/src/main/java/org/apache/karaf/features/internal/service/RepositoryCacheImpl.java
index 0848f55..6438dc1 100644
--- a/features/core/src/main/java/org/apache/karaf/features/internal/service/RepositoryCacheImpl.java
+++ b/features/core/src/main/java/org/apache/karaf/features/internal/service/RepositoryCacheImpl.java
@@ -28,6 +28,7 @@ import java.util.Map;
 import java.util.Set;
 
 import org.apache.karaf.features.Repository;
+import org.apache.karaf.features.internal.model.Features;
 
 /**
  * Implementation of {@link RepositoryCache} that makes use of {@link FeaturesProcessor} to alter feature
@@ -44,6 +45,9 @@ public class RepositoryCacheImpl implements RepositoryCache {
 
     @Override
     public Repository create(URI uri, boolean validate) {
+        if (featuresProcessor != null && featuresProcessor.isRepositoryBlacklisted(uri.toString())) {
+            return new RepositoryImpl(uri, new Features(), true);
+        }
         RepositoryImpl repository = new RepositoryImpl(uri, validate);
         if (featuresProcessor != null) {
             // maybe it could be done better - first we have to set if entire repo is blacklisted
diff --git a/features/core/src/main/java/org/apache/karaf/features/internal/service/RepositoryImpl.java b/features/core/src/main/java/org/apache/karaf/features/internal/service/RepositoryImpl.java
index 6f6a04c..713ca07 100644
--- a/features/core/src/main/java/org/apache/karaf/features/internal/service/RepositoryImpl.java
+++ b/features/core/src/main/java/org/apache/karaf/features/internal/service/RepositoryImpl.java
@@ -50,6 +50,18 @@ public class RepositoryImpl implements Repository {
         load(validate);
     }
 
+    /**
+     * Constructs a repository without any downloading
+     * @param uri
+     * @param features
+     * @param blacklisted
+     */
+    public RepositoryImpl(URI uri, Features features, boolean blacklisted) {
+        this.uri = uri;
+        this.features = features;
+        this.blacklisted = blacklisted;
+    }
+
     @Override
     public URI getURI() {
         return uri;

-- 
To stop receiving notification emails like this one, please contact
['"commits@karaf.apache.org" <co...@karaf.apache.org>'].