[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 <jbonofre@13f79535-47bb-0310-9956-ffa450edef68> Authored: Sat Nov 12 14:50:13 2011 +0000 Committer: jbonofre <jbonofre@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.
