Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/mirror/NewMirrorApplicationArtifactTest.java')
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/mirror/NewMirrorApplicationArtifactTest.java81
1 files changed, 41 insertions, 40 deletions
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/mirror/NewMirrorApplicationArtifactTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/mirror/NewMirrorApplicationArtifactTest.java
index 867a05f44..e3a9f4bde 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/mirror/NewMirrorApplicationArtifactTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/mirror/NewMirrorApplicationArtifactTest.java
@@ -10,7 +10,7 @@
*******************************************************************************/
package org.eclipse.equinox.p2.tests.mirror;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
+import org.eclipse.equinox.p2.metadata.Version;
import java.io.*;
import java.net.MalformedURLException;
@@ -22,12 +22,15 @@ import org.eclipse.equinox.internal.p2.artifact.repository.*;
import org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository;
import org.eclipse.equinox.internal.p2.core.helpers.OrderedProperties;
import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.repository.IRepository;
+import org.eclipse.equinox.p2.core.ProvisionException;
import org.eclipse.equinox.p2.internal.repository.tools.MirrorApplication;
import org.eclipse.equinox.p2.internal.repository.tools.RepositoryDescriptor;
+import org.eclipse.equinox.p2.metadata.IArtifactKey;
+import org.eclipse.equinox.p2.query.IQuery;
+import org.eclipse.equinox.p2.query.IQueryResult;
+import org.eclipse.equinox.p2.repository.IRepository;
+import org.eclipse.equinox.p2.repository.artifact.*;
+import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
import org.eclipse.equinox.p2.tests.TestActivator;
import org.eclipse.equinox.spi.p2.publisher.PublisherHelper;
@@ -311,15 +314,15 @@ public class NewMirrorApplicationArtifactTest extends AbstractProvisioningTest {
* Not Biconditional.
*/
private void assertFileSizes(String message, SimpleArtifactRepository expected, SimpleArtifactRepository actual) {
- IArtifactKey[] expectedKeys = expected.getArtifactKeys();
-
- for (int i = 0; i < expectedKeys.length; i++) {
- IArtifactDescriptor[] expectedDescriptors = expected.getArtifactDescriptors(expectedKeys[i]);
- IArtifactDescriptor[] actualDescriptors = actual.getArtifactDescriptors(expectedKeys[i]);
+ IQueryResult expectedKeys = expected.query(ArtifactKeyQuery.ALL_KEYS, null);
+ for (Iterator iterator = expectedKeys.iterator(); iterator.hasNext();) {
+ IArtifactKey key = (IArtifactKey) iterator.next();
+ IArtifactDescriptor[] expectedDescriptors = expected.getArtifactDescriptors(key);
+ IArtifactDescriptor[] actualDescriptors = actual.getArtifactDescriptors(key);
if (expectedDescriptors == null || actualDescriptors == null)
if (!(expectedDescriptors == null && actualDescriptors == null))
- fail(message + " missing key " + expectedKeys[i]);
+ fail(message + " missing key " + key);
top: for (int j = 0; j < expectedDescriptors.length; j++) {
for (int k = 0; k < actualDescriptors.length; k++) {
@@ -421,7 +424,7 @@ public class NewMirrorApplicationArtifactTest extends AbstractProvisioningTest {
assertContains("5.1", getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
assertContains("5.2", getArtifactRepositoryManager().loadRepository(sourceRepo2Location.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
//checks that the destination has the correct number of keys (no extras)
- assertEquals("5.3", getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null).getArtifactKeys().length + getArtifactRepositoryManager().loadRepository(sourceRepo2Location.toURI(), null).getArtifactKeys().length, getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null).getArtifactKeys().length);
+ assertEquals("5.3", getArtifactKeyCount(sourceRepoLocation.toURI()) + getArtifactKeyCount(sourceRepo2Location.toURI()), getArtifactKeyCount(destRepoLocation.toURI()));
} catch (ProvisionException e) {
fail("5.4", e);
}
@@ -526,7 +529,7 @@ public class NewMirrorApplicationArtifactTest extends AbstractProvisioningTest {
assertContains("11.1", getArtifactRepositoryManager().loadRepository(sourceRepo3Location.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
assertContains("11.2", getArtifactRepositoryManager().loadRepository(sourceRepo2Location.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
//checks that the destination has the correct number of keys (no extras)
- assertEquals("11.3", getArtifactRepositoryManager().loadRepository(sourceRepo2Location.toURI(), null).getArtifactKeys().length + getArtifactRepositoryManager().loadRepository(sourceRepo3Location.toURI(), null).getArtifactKeys().length, getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null).getArtifactKeys().length);
+ assertEquals("11.3", getArtifactKeyCount(sourceRepo2Location.toURI()) + getArtifactKeyCount(sourceRepo3Location.toURI()), getArtifactKeyCount(destRepoLocation.toURI()));
} catch (ProvisionException e) {
fail("11.4", e);
}
@@ -719,7 +722,7 @@ public class NewMirrorApplicationArtifactTest extends AbstractProvisioningTest {
assertContains("20.2", getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
assertContains("20.3", getArtifactRepositoryManager().loadRepository(sourceRepo4Location.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
//checks that the destination has the correct number of keys (no extras)
- assertEquals("20.4", getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null).getArtifactKeys().length + getArtifactRepositoryManager().loadRepository(sourceRepo4Location.toURI(), null).getArtifactKeys().length, getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null).getArtifactKeys().length);
+ assertEquals("20.4", getArtifactKeyCount(sourceRepoLocation.toURI()) + getArtifactKeyCount(sourceRepo4Location.toURI()), getArtifactKeyCount(destRepoLocation.toURI()));
} catch (ProvisionException e) {
fail("20.5", e);
}
@@ -907,15 +910,15 @@ public class NewMirrorApplicationArtifactTest extends AbstractProvisioningTest {
fail("");
}
- IArtifactKey[] keys = packedRepo.getArtifactKeys();
-
- for (int i = 0; i < keys.length; i++) {
- IArtifactDescriptor[] srcDescriptors = packedRepo.getArtifactDescriptors(keys[i]);
+ IQueryResult keys = packedRepo.query(ArtifactKeyQuery.ALL_KEYS, null);
+ for (Iterator iterator = keys.iterator(); iterator.hasNext();) {
+ IArtifactKey key = (IArtifactKey) iterator.next();
+ IArtifactDescriptor[] srcDescriptors = packedRepo.getArtifactDescriptors(key);
for (int j = 0; j < srcDescriptors.length; j++) {
- if (!(srcDescriptors[j].getProperty(IArtifactDescriptor.FORMAT) == null) && srcDescriptors[j].getProperty(IArtifactDescriptor.FORMAT).equals("packed")) {
+ if (!(srcDescriptors[j].getProperty(IArtifactDescriptor.FORMAT) == null) && srcDescriptors[j].getProperty(IArtifactDescriptor.FORMAT).equals(IArtifactDescriptor.FORMAT_PACKED)) {
//if we have a packed artifact
- IArtifactDescriptor newDescriptor = new ArtifactDescriptor(keys[i]);
+ IArtifactDescriptor newDescriptor = new ArtifactDescriptor(key);
Map properties = new OrderedProperties();
properties.putAll(srcDescriptors[j].getProperties());
properties.remove(IArtifactDescriptor.FORMAT);
@@ -941,7 +944,7 @@ public class NewMirrorApplicationArtifactTest extends AbstractProvisioningTest {
fail("27.2", e);
}
//corresponding key should now be in the destination
- IArtifactDescriptor[] destDescriptors = destinationRepo.getArtifactDescriptors(keys[i]);
+ IArtifactDescriptor[] destDescriptors = destinationRepo.getArtifactDescriptors(key);
boolean canonicalFound = false;
for (int l = 0; !canonicalFound && (l < destDescriptors.length); l++) {
//No processing steps mean item is canonical
@@ -949,7 +952,7 @@ public class NewMirrorApplicationArtifactTest extends AbstractProvisioningTest {
canonicalFound = true;
}
if (!canonicalFound)
- fail("27.3 no canonical found for " + keys[i].toString());
+ fail("27.3 no canonical found for " + key.toString());
//ensure the canonical matches that in the expected
assertFileSizes("27.3", (SimpleArtifactRepository) destinationRepo, (SimpleArtifactRepository) packedRepo);
@@ -1083,7 +1086,7 @@ public class NewMirrorApplicationArtifactTest extends AbstractProvisioningTest {
assertContains("3", getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
assertContains("4", getArtifactRepositoryManager().loadRepository(sourceRepo2Location.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
//checks that the destination has the correct number of keys (no extras)
- assertEquals("5", getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null).getArtifactKeys().length + getArtifactRepositoryManager().loadRepository(sourceRepo2Location.toURI(), null).getArtifactKeys().length, getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null).getArtifactKeys().length);
+ assertEquals("5", getArtifactKeyCount(sourceRepoLocation.toURI()) + getArtifactKeyCount(sourceRepo2Location.toURI()), getArtifactKeyCount(destRepoLocation.toURI()));
} catch (ProvisionException e) {
fail("Could not load destination", e);
}
@@ -1111,19 +1114,15 @@ public class NewMirrorApplicationArtifactTest extends AbstractProvisioningTest {
if (newErr != null)
newErr.close();
}
- try {
- assertEquals("Verifying correct number of Keys", 2, getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null).getArtifactKeys().length);
- //Because only 2 of the artifacts exists on disk, the number of artifacts in the destination should only be 1.
- //Order in which mirror application mirrors artifacts is random.
- } catch (ProvisionException e) {
- fail("Error laoding destiantion repo", e);
- }
+ assertEquals("Verifying correct number of Keys", 2, getArtifactKeyCount(destRepoLocation.toURI()));
+ //Because only 2 of the artifacts exists on disk, the number of artifacts in the destination should only be 1.
+ //Order in which mirror application mirrors artifacts is random.
}
public void testCompareUsingMD5Comparator() {
//Setup create descriptors with different md5 values
- IArtifactKey dupKey = PublisherHelper.createBinaryArtifactKey("testKeyId", new Version("1.2.3"));
+ IArtifactKey dupKey = PublisherHelper.createBinaryArtifactKey("testKeyId", Version.create("1.2.3"));
File artifact1 = getTestData("0.0", "/testData/mirror/mirrorSourceRepo1 with space/artifacts.xml");
File artifact2 = getTestData("0.0", "/testData/mirror/mirrorSourceRepo2/artifacts.xml");
IArtifactDescriptor descriptor1 = PublisherHelper.createArtifactDescriptor(dupKey, artifact1);
@@ -1195,7 +1194,7 @@ public class NewMirrorApplicationArtifactTest extends AbstractProvisioningTest {
public void testBaselineCompareUsingMD5Comparator() {
//Setup create descriptors with different md5 values
- IArtifactKey dupKey = PublisherHelper.createBinaryArtifactKey("testKeyId", new Version("1.2.3"));
+ IArtifactKey dupKey = PublisherHelper.createBinaryArtifactKey("testKeyId", Version.create("1.2.3"));
File artifact1 = getTestData("0.0", "/testData/mirror/mirrorSourceRepo1 with space/content.xml");
File artifact2 = getTestData("0.0", "/testData/mirror/mirrorSourceRepo2/content.xml");
@@ -1301,10 +1300,6 @@ public class NewMirrorApplicationArtifactTest extends AbstractProvisioningTest {
manager.removeRepository(srcLocation);
}
- public synchronized IArtifactKey[] getArtifactKeys() {
- return source.getArtifactKeys();
- }
-
public synchronized IArtifactDescriptor[] getArtifactDescriptors(IArtifactKey key) {
return source.getArtifactDescriptors(key);
}
@@ -1321,6 +1316,10 @@ public class NewMirrorApplicationArtifactTest extends AbstractProvisioningTest {
public synchronized boolean contains(IArtifactDescriptor descriptor) {
return source.contains(descriptor);
}
+
+ public synchronized IQueryResult query(IQuery query, IProgressMonitor monitor) {
+ return source.query(query, monitor);
+ }
}
//set up test repository
@@ -1392,9 +1391,10 @@ public class NewMirrorApplicationArtifactTest extends AbstractProvisioningTest {
try {
//Mirroring full duplicate, so any key will do.
- IArtifactDescriptor[] descriptors = sourceRepository.getArtifactDescriptors(sourceRepository.getArtifactKeys()[0]);
+ IQueryResult<IArtifactDescriptor> descriptors = sourceRepository.descriptorQueryable().query(ArtifactDescriptorQuery.ALL_DESCRIPTORS, null);
+ IArtifactDescriptor descriptor = descriptors.iterator().next();
//Mirroring full duplicate, so any descriptor will do.
- String message = NLS.bind(org.eclipse.equinox.internal.p2.artifact.repository.Messages.mirror_alreadyExists, descriptors[0], destRepoLocation.toURI());
+ String message = NLS.bind(org.eclipse.equinox.internal.p2.artifact.repository.Messages.mirror_alreadyExists, descriptor, destRepoLocation.toURI());
assertLogDoesNotContainLine(log.getFile(), message);
} catch (Exception e) {
fail("Error verifying log", e);
@@ -1469,9 +1469,10 @@ public class NewMirrorApplicationArtifactTest extends AbstractProvisioningTest {
try {
//Mirroring full duplicate, so any key will do.
- IArtifactDescriptor[] descriptors = sourceRepository.getArtifactDescriptors(sourceRepository.getArtifactKeys()[0]);
+ IQueryResult<IArtifactDescriptor> descriptors = sourceRepository.descriptorQueryable().query(ArtifactDescriptorQuery.ALL_DESCRIPTORS, null);
+ IArtifactDescriptor descriptor = descriptors.iterator().next();
//Mirroring full duplicate, so any descriptor will do.
- String message = NLS.bind(org.eclipse.equinox.internal.p2.artifact.repository.Messages.mirror_alreadyExists, descriptors[0], destRepoLocation.toURI());
+ String message = NLS.bind(org.eclipse.equinox.internal.p2.artifact.repository.Messages.mirror_alreadyExists, descriptor, destRepoLocation.toURI());
assertLogContainsLine(log.getFile(), message);
} catch (Exception e) {
fail("Error verifying log", e);

Back to the top