You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2013/12/18 09:19:36 UTC

[15/50] [abbrv] git commit: [KARAF-882] Cave doesn't parse non jar file anymore

[KARAF-882] Cave doesn't parse non jar file anymore

git-svn-id: https://svn.apache.org/repos/asf/karaf/cave/trunk@1201274 13f79535-47bb-0310-9956-ffa450edef68


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

Branch: refs/heads/master
Commit: c01ac59d9b22ff084119d570922c8bceaf8a94f8
Parents: 447cebb
Author: jbonofre <jb...@13f79535-47bb-0310-9956-ffa450edef68>
Authored: Sat Nov 12 14:50:13 2011 +0000
Committer: jbonofre <jb...@13f79535-47bb-0310-9956-ffa450edef68>
Committed: Sat Nov 12 14:50:13 2011 +0000

----------------------------------------------------------------------
 .../cave/server/storage/CaveRepositoryImpl.java  | 19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf-cave/blob/c01ac59d/server/storage/src/main/java/org/apache/karaf/cave/server/storage/CaveRepositoryImpl.java
----------------------------------------------------------------------
diff --git a/server/storage/src/main/java/org/apache/karaf/cave/server/storage/CaveRepositoryImpl.java b/server/storage/src/main/java/org/apache/karaf/cave/server/storage/CaveRepositoryImpl.java
index 9a59119..3398c23 100644
--- a/server/storage/src/main/java/org/apache/karaf/cave/server/storage/CaveRepositoryImpl.java
+++ b/server/storage/src/main/java/org/apache/karaf/cave/server/storage/CaveRepositoryImpl.java
@@ -154,8 +154,11 @@ public class CaveRepositoryImpl extends CaveRepository {
         } else {
             // populate the repository
             try {
-                ResourceImpl resource = (ResourceImpl) new DataModelHelperImpl().createResource(entry.toURI().toURL());
-                this.addResource(resource);
+                URL bundleUrl = entry.toURI().toURL();
+                if (isPotentialBundle(bundleUrl.toString())) {
+                    ResourceImpl resource = (ResourceImpl) new DataModelHelperImpl().createResource(bundleUrl);
+                    this.addResource(resource);
+                }
             } catch (IllegalArgumentException e) {
                 LOGGER.warn(e.getMessage());
             }
@@ -163,6 +166,18 @@ public class CaveRepositoryImpl extends CaveRepository {
     }
 
     /**
+     * Convenience method to filter Maven files with common non-bundle extensions.
+     *
+     * @param bundleUrl the file URL to check.
+     * @return true if the file is a potential bundle, false else.
+     */
+    private boolean isPotentialBundle(String bundleUrl) {
+        return !bundleUrl.matches(".*\\.sha1") && !bundleUrl.matches(".*\\.pom")
+                && !bundleUrl.matches(".*\\.xml") && !bundleUrl.matches(".*\\.repositories")
+                && !bundleUrl.matches(".*\\.properties") && !bundleUrl.matches(".*\\.lastUpdated");
+    }
+
+    /**
      * Proxy an URL (by adding repository.xml OBR information) in the Karaf Cave repository.
      *
      * @param url the URL to proxyFilesystem. the URL to proxyFilesystem.