You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by da...@apache.org on 2018/04/20 07:22:24 UTC
svn commit: r1829629 - in /felix/trunk/bundlerepository: pom.xml
src/main/java/org/apache/felix/bundlerepository/impl/OSGiRepositoryImpl.java
Author: davidb
Date: Fri Apr 20 07:22:24 2018
New Revision: 1829629
URL: http://svn.apache.org/viewvc?rev=1829629&view=rev
Log:
Use the latest shared Capabilities implementation from utils project.
Modified:
felix/trunk/bundlerepository/pom.xml
felix/trunk/bundlerepository/src/main/java/org/apache/felix/bundlerepository/impl/OSGiRepositoryImpl.java
Modified: felix/trunk/bundlerepository/pom.xml
URL: http://svn.apache.org/viewvc/felix/trunk/bundlerepository/pom.xml?rev=1829629&r1=1829628&r2=1829629&view=diff
==============================================================================
--- felix/trunk/bundlerepository/pom.xml (original)
+++ felix/trunk/bundlerepository/pom.xml Fri Apr 20 07:22:24 2018
@@ -38,7 +38,7 @@
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>org.apache.felix.utils</artifactId>
- <version>1.10.5-SNAPSHOT</version>
+ <version>1.11.0-SNAPSHOT</version>
<optional>true</optional>
</dependency>
<dependency>
Modified: felix/trunk/bundlerepository/src/main/java/org/apache/felix/bundlerepository/impl/OSGiRepositoryImpl.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundlerepository/src/main/java/org/apache/felix/bundlerepository/impl/OSGiRepositoryImpl.java?rev=1829629&r1=1829628&r2=1829629&view=diff
==============================================================================
--- felix/trunk/bundlerepository/src/main/java/org/apache/felix/bundlerepository/impl/OSGiRepositoryImpl.java (original)
+++ felix/trunk/bundlerepository/src/main/java/org/apache/felix/bundlerepository/impl/OSGiRepositoryImpl.java Fri Apr 20 07:22:24 2018
@@ -155,7 +155,7 @@ class OSGiRepositoryImpl implements Repo
contentAttrs.put(ContentNamespace.CAPABILITY_MIME_ATTRIBUTE, mime);
contentAttrs.put(ContentNamespace.CAPABILITY_SIZE_ATTRIBUTE, resource.getSize());
contentAttrs.put(ContentNamespace.CAPABILITY_URL_ATTRIBUTE, uri);
- return new CapabilityImpl(ContentNamespace.CONTENT_NAMESPACE, contentAttrs, Collections.<String, String> emptyMap());
+ return new ContentCapabilityImpl(contentAttrs);
}
static String getSHA256(String uri) throws IOException, NoSuchAlgorithmException // TODO find a good place for this
@@ -180,4 +180,20 @@ class OSGiRepositoryImpl implements Repo
}
return sb.toString();
}
+
+ // This capability variant does not take a private copy of the capabilities so that it
+ // can lazily compute the content hash.
+ private static class ContentCapabilityImpl extends CapabilityImpl implements Capability {
+ private final Map<String, Object> contentAttributes;
+
+ public ContentCapabilityImpl(Map<String, Object> contentAttrs) {
+ super(ContentNamespace.CONTENT_NAMESPACE, null, null);
+ contentAttributes = Collections.unmodifiableMap(contentAttrs);
+ }
+
+ @Override
+ public Map<String, Object> getAttributes() {
+ return contentAttributes;
+ }
+ }
}