additional tests
diff --git a/org.eclipse.virgo.repository/src/main/java/org/eclipse/virgo/repository/builder/ArtifactDescriptorBuilder.java b/org.eclipse.virgo.repository/src/main/java/org/eclipse/virgo/repository/builder/ArtifactDescriptorBuilder.java
index 46a06bf..98cee43 100644
--- a/org.eclipse.virgo.repository/src/main/java/org/eclipse/virgo/repository/builder/ArtifactDescriptorBuilder.java
+++ b/org.eclipse.virgo.repository/src/main/java/org/eclipse/virgo/repository/builder/ArtifactDescriptorBuilder.java
@@ -59,18 +59,6 @@
}
/**
- * Sets the URI for the {@link ArtifactDescriptor} being created. This method converts the {@link String} to a
- * proper {@link URI} internally. This conversion may fail if the input is not a properly formed URI string.
- *
- * @param uri the URI for the {@link ArtifactDescriptor} being created
- * @return <code>this</code> {@link ArtifactDescriptorBuilder}
- */
- public ArtifactDescriptorBuilder setUri(String uri) {
- this.uri = URI.create(uri);
- return this;
- }
-
- /**
* Sets the type for the {@link ArtifactDescriptor} being created
*
* @param type the type for the {@link ArtifactDescriptor} being created
diff --git a/org.eclipse.virgo.repository/src/test/java/org/eclipse/virgo/repository/internal/StandardQueryTests.java b/org.eclipse.virgo.repository/src/test/java/org/eclipse/virgo/repository/internal/StandardQueryTests.java
index 8ceb365..8883320 100644
--- a/org.eclipse.virgo.repository/src/test/java/org/eclipse/virgo/repository/internal/StandardQueryTests.java
+++ b/org.eclipse.virgo.repository/src/test/java/org/eclipse/virgo/repository/internal/StandardQueryTests.java
@@ -30,7 +30,6 @@
import org.junit.Test;
import org.osgi.framework.Version;
-
/**
*
*/
@@ -130,29 +129,33 @@
assertTrue("toString dosn't contain all the required information", toString.contains("foo=bar"));
assertTrue("toString dosn't contain all the required information", toString.contains("2"));
}
-
- private final Set<Attribute> EMTPY_ATTRIBUTE_SET = Collections.<Attribute>emptySet();
+
+ private final Set<Attribute> EMTPY_ATTRIBUTE_SET = Collections.<Attribute> emptySet();
+
@Test
public void testVersionRangeFilters() {
Set<RepositoryAwareArtifactDescriptor> unfiltered = new HashSet<RepositoryAwareArtifactDescriptor>();
- final RepositoryAwareArtifactDescriptor one = createDescriptor("configuration", "c1", Version.parseVersion("1.0.0"), EMTPY_ATTRIBUTE_SET);
- unfiltered.add(one);
- final RepositoryAwareArtifactDescriptor two =createDescriptor("configuration", "c1", Version.parseVersion("2.0.0"), EMTPY_ATTRIBUTE_SET);
- unfiltered.add(two);
-
+ final RepositoryAwareArtifactDescriptor c1low = createDescriptor("configuration", "c1", Version.parseVersion("1.0.0"), EMTPY_ATTRIBUTE_SET);
+ unfiltered.add(c1low);
+ final RepositoryAwareArtifactDescriptor c1high = createDescriptor("configuration", "c1", Version.parseVersion("2.0.0"), EMTPY_ATTRIBUTE_SET);
+ unfiltered.add(c1high);
+ final RepositoryAwareArtifactDescriptor c2 = createDescriptor("configuration", "c2", Version.parseVersion("2.0.0"), EMTPY_ATTRIBUTE_SET);
+ unfiltered.add(c2);
+
Set<RepositoryAwareArtifactDescriptor> filtered = Query.VersionRangeMatchingStrategy.ALL.match(unfiltered, VersionRange.NATURAL_NUMBER_RANGE);
assertNotNull(filtered);
assertEquals(filtered, unfiltered);
-
+
filtered = Query.VersionRangeMatchingStrategy.HIGHEST.match(unfiltered, new VersionRange("[1, 3)"));
assertNotNull(filtered);
- assertEquals(1, filtered.size());
- assertEquals(two, filtered.iterator().next());
-
+ assertEquals(2, filtered.size());
+ assertTrue(filtered.contains(c1high));
+ assertTrue(filtered.contains(c2));
+
filtered = Query.VersionRangeMatchingStrategy.LOWEST.match(unfiltered, new VersionRange("[1, 3)"));
assertNotNull(filtered);
- assertEquals(1, filtered.size());
- assertEquals(one, filtered.iterator().next());
+ assertEquals(2, filtered.size());
+ assertTrue(filtered.contains(c1low));
+ assertTrue(filtered.contains(c2));
}
-
}
diff --git a/org.eclipse.virgo.repository/src/test/java/org/eclipse/virgo/repository/internal/chain/ChainedQueryTests.java b/org.eclipse.virgo.repository/src/test/java/org/eclipse/virgo/repository/internal/chain/ChainedQueryTests.java
index 696113d..3f7aab9 100644
--- a/org.eclipse.virgo.repository/src/test/java/org/eclipse/virgo/repository/internal/chain/ChainedQueryTests.java
+++ b/org.eclipse.virgo.repository/src/test/java/org/eclipse/virgo/repository/internal/chain/ChainedQueryTests.java
@@ -27,10 +27,10 @@
import org.eclipse.virgo.repository.Query;
import org.eclipse.virgo.repository.RepositoryAwareArtifactDescriptor;
import org.eclipse.virgo.repository.internal.chain.ChainedQuery;
+import org.eclipse.virgo.util.osgi.VersionRange;
import org.junit.Before;
import org.junit.Test;
-
public class ChainedQueryTests {
private Query query1;
@@ -119,4 +119,34 @@
assertEquals(artefacts.next(), artefact2);
assertEquals(artefacts.next(), artefact3);
}
+
+ @Test
+ public void setVersionRangeFilter() {
+ final VersionRange versionRange = VersionRange.naturalNumberRange();
+
+ expect(query1.setVersionRangeFilter(versionRange)).andReturn(query1);
+ expect(query2.setVersionRangeFilter(versionRange)).andReturn(query2);
+ expect(query3.setVersionRangeFilter(versionRange)).andReturn(query3);
+
+ replay(query1, query2, query3);
+
+ chainedQuery.setVersionRangeFilter(versionRange);
+
+ verify(query1, query2, query3);
+ }
+
+ @Test
+ public void setVersionRangeFilterWithStrategy() {
+ final VersionRange versionRange = VersionRange.naturalNumberRange();
+
+ expect(query1.setVersionRangeFilter(versionRange, Query.VersionRangeMatchingStrategy.HIGHEST)).andReturn(query1);
+ expect(query2.setVersionRangeFilter(versionRange, Query.VersionRangeMatchingStrategy.HIGHEST)).andReturn(query2);
+ expect(query3.setVersionRangeFilter(versionRange, Query.VersionRangeMatchingStrategy.HIGHEST)).andReturn(query3);
+
+ replay(query1, query2, query3);
+
+ chainedQuery.setVersionRangeFilter(versionRange, Query.VersionRangeMatchingStrategy.HIGHEST);
+
+ verify(query1, query2, query3);
+ }
}