You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by gn...@apache.org on 2015/05/07 17:35:23 UTC
[1/2] karaf-cave git commit: Avoid duplicate resources
Repository: karaf-cave
Updated Branches:
refs/heads/master e5d35cfb2 -> 48e7e98e5
Avoid duplicate resources
Project: http://git-wip-us.apache.org/repos/asf/karaf-cave/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf-cave/commit/d46963e5
Tree: http://git-wip-us.apache.org/repos/asf/karaf-cave/tree/d46963e5
Diff: http://git-wip-us.apache.org/repos/asf/karaf-cave/diff/d46963e5
Branch: refs/heads/master
Commit: d46963e559af3132580ff052ffb43aa891138f7f
Parents: e5d35cf
Author: Guillaume Nodet <gn...@gmail.com>
Authored: Thu May 7 17:34:38 2015 +0200
Committer: Guillaume Nodet <gn...@gmail.com>
Committed: Thu May 7 17:34:38 2015 +0200
----------------------------------------------------------------------
.../cave/server/storage/CaveRepositoryImpl.java | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf-cave/blob/d46963e5/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 86fda7c..a0f3397 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
@@ -43,6 +43,7 @@ import org.apache.karaf.cave.server.api.CaveRepository;
import org.apache.karaf.features.internal.resolver.ResolverUtil;
import org.apache.karaf.features.internal.resolver.ResourceBuilder;
import org.apache.karaf.features.internal.resolver.ResourceImpl;
+import org.apache.karaf.features.internal.resolver.ResourceUtils;
import org.jsoup.Jsoup;
import org.jsoup.UnsupportedMimeTypeException;
import org.jsoup.nodes.Document;
@@ -169,7 +170,21 @@ public class CaveRepositoryImpl implements CaveRepository {
private void addResources(List<Resource> resources) throws IOException, XMLStreamException {
if (!resources.isEmpty()) {
- repository.addResourcesAndSave(resources);
+ Map<String, Resource> ids = new HashMap<>();
+ for (Resource resource : repository.getResources()) {
+ ids.put(ResourceUtils.getUri(resource), resource);
+ }
+ List<Resource> toAdd = new ArrayList<>();
+ for (Resource resource : resources) {
+ String uri = ResourceUtils.getUri(resource);
+ if (!ids.containsKey(uri)) {
+ toAdd.add(resource);
+ ids.put(uri, resource);
+ }
+ }
+ if (!toAdd.isEmpty()) {
+ repository.addResourcesAndSave(resources);
+ }
}
}
[2/2] karaf-cave git commit: Align with karaf changes for repository
configuration
Posted by gn...@apache.org.
Align with karaf changes for repository configuration
Project: http://git-wip-us.apache.org/repos/asf/karaf-cave/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf-cave/commit/48e7e98e
Tree: http://git-wip-us.apache.org/repos/asf/karaf-cave/tree/48e7e98e
Diff: http://git-wip-us.apache.org/repos/asf/karaf-cave/diff/48e7e98e
Branch: refs/heads/master
Commit: 48e7e98e54c90584c5a22f7a8687703fa242ac7e
Parents: d46963e
Author: Guillaume Nodet <gn...@gmail.com>
Authored: Thu May 7 17:35:03 2015 +0200
Committer: Guillaume Nodet <gn...@gmail.com>
Committed: Thu May 7 17:35:03 2015 +0200
----------------------------------------------------------------------
.../org/apache/karaf/cave/server/storage/OsgiRepository.java | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf-cave/blob/48e7e98e/server/storage/src/main/java/org/apache/karaf/cave/server/storage/OsgiRepository.java
----------------------------------------------------------------------
diff --git a/server/storage/src/main/java/org/apache/karaf/cave/server/storage/OsgiRepository.java b/server/storage/src/main/java/org/apache/karaf/cave/server/storage/OsgiRepository.java
index dbbb133..d7a25de 100644
--- a/server/storage/src/main/java/org/apache/karaf/cave/server/storage/OsgiRepository.java
+++ b/server/storage/src/main/java/org/apache/karaf/cave/server/storage/OsgiRepository.java
@@ -43,7 +43,7 @@ public class OsgiRepository extends XmlRepository {
}
public OsgiRepository(String url) {
- super(url);
+ super(url, -1, false);
}
public long getIncrement() {
@@ -79,11 +79,11 @@ public class OsgiRepository extends XmlRepository {
protected static class OsgiLoader extends XmlLoader {
public OsgiLoader(String url) {
- super(url);
+ super(url, -1);
}
public OsgiLoader(String url, StaxParser.XmlRepository xml) {
- super(url, xml);
+ super(url, -1, xml);
}
public StaxParser.XmlRepository getXml() {