FELIX-2269: Only the higher version of a given bundle is kept in a repository
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@932494 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/bundlerepository/src/main/java/org/apache/felix/bundlerepository/impl/RepositoryImpl.java b/bundlerepository/src/main/java/org/apache/felix/bundlerepository/impl/RepositoryImpl.java
index 5c283d2..f2a7d5a 100644
--- a/bundlerepository/src/main/java/org/apache/felix/bundlerepository/impl/RepositoryImpl.java
+++ b/bundlerepository/src/main/java/org/apache/felix/bundlerepository/impl/RepositoryImpl.java
@@ -20,13 +20,12 @@
import java.text.ParseException;
import java.text.SimpleDateFormat;
-import java.util.Collections;
+import java.util.Arrays;
+import java.util.HashSet;
import java.util.Set;
-import java.util.TreeSet;
import org.apache.felix.bundlerepository.Resource;
import org.apache.felix.bundlerepository.Repository;
-import org.apache.felix.bundlerepository.impl.ResourceImpl;
public class RepositoryImpl implements Repository
{
@@ -35,7 +34,7 @@
private String m_uri = null;
private Resource[] m_resources = null;
private Referral[] m_referrals = null;
- private Set m_resourceSet = new TreeSet(new ResourceComparator());
+ private Set m_resourceSet = new HashSet();
public RepositoryImpl()
{
@@ -61,6 +60,8 @@
if (m_resources == null)
{
m_resources = (Resource[]) m_resourceSet.toArray(new Resource[m_resourceSet.size()]);
+ Arrays.sort(m_resources, new ResourceComparator());
+
}
return m_resources;
}