### Eclipse Workspace Patch 1.0 #P org.eclipse.equinox.p2.artifact.repository Index: META-INF/MANIFEST.MF =================================================================== RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.artifact.repository/META-INF/MANIFEST.MF,v retrieving revision 1.49 diff -u -r1.49 MANIFEST.MF --- META-INF/MANIFEST.MF 30 Mar 2010 12:58:39 -0000 1.49 +++ META-INF/MANIFEST.MF 26 Aug 2010 12:54:51 -0000 @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.equinox.p2.artifact.repository;singleton:=true -Bundle-Version: 1.1.0.qualifier +Bundle-Version: 1.1.100.qualifier Bundle-Activator: org.eclipse.equinox.internal.p2.artifact.repository.Activator Bundle-Vendor: %providerName Bundle-Localization: plugin Index: src/org/eclipse/equinox/internal/p2/artifact/repository/CompositeArtifactRepository.java =================================================================== RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/CompositeArtifactRepository.java,v retrieving revision 1.27 diff -u -r1.27 CompositeArtifactRepository.java --- src/org/eclipse/equinox/internal/p2/artifact/repository/CompositeArtifactRepository.java 12 May 2010 16:28:05 -0000 1.27 +++ src/org/eclipse/equinox/internal/p2/artifact/repository/CompositeArtifactRepository.java 26 Aug 2010 12:54:51 -0000 @@ -246,6 +246,13 @@ /** * Composite repositories should be unable to directly modify their child repositories */ + public void removeDescriptors(IArtifactKey[] keys) { + throw new UnsupportedOperationException(Messages.exception_unsupportedRemoveFromComposite); + } + + /** + * Composite repositories should be unable to directly modify their child repositories + */ public void removeDescriptor(IArtifactDescriptor descriptor) { throw new UnsupportedOperationException(Messages.exception_unsupportedRemoveFromComposite); } @@ -253,6 +260,13 @@ /** * Composite repositories should be unable to directly modify their child repositories */ + public void removeDescriptors(IArtifactDescriptor[] descriptors) { + throw new UnsupportedOperationException(Messages.exception_unsupportedRemoveFromComposite); + } + + /** + * Composite repositories should be unable to directly modify their child repositories + */ public synchronized void removeAll() { throw new UnsupportedOperationException(Messages.exception_unsupportedRemoveFromComposite); } Index: src/org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactRepository.java =================================================================== RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactRepository.java,v retrieving revision 1.98 diff -u -r1.98 SimpleArtifactRepository.java --- src/org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactRepository.java 18 Aug 2010 16:09:03 -0000 1.98 +++ src/org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactRepository.java 26 Aug 2010 12:54:51 -0000 @@ -885,6 +885,25 @@ save(); } + public synchronized void removeDescriptors(IArtifactDescriptor[] descriptors) { + boolean changed = false; + for (IArtifactDescriptor descriptor : descriptors) + changed |= doRemoveArtifact(descriptor); + if (changed) + save(); + } + + public synchronized void removeDescriptors(IArtifactKey[] keys) { + boolean changed = false; + for (IArtifactKey key : keys) { + IArtifactDescriptor[] descriptors = getArtifactDescriptors(key); + for (IArtifactDescriptor descriptor : descriptors) + changed |= doRemoveArtifact(descriptor); + } + if (changed) + save(); + } + public synchronized void removeDescriptor(IArtifactKey key) { IArtifactDescriptor[] toRemove = getArtifactDescriptors(key); boolean changed = false; #P org.eclipse.equinox.p2.directorywatcher Index: src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/CachingArtifactRepository.java =================================================================== RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/CachingArtifactRepository.java,v retrieving revision 1.14 diff -u -r1.14 CachingArtifactRepository.java --- src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/CachingArtifactRepository.java 27 Jul 2010 18:14:11 -0000 1.14 +++ src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/CachingArtifactRepository.java 26 Aug 2010 12:54:51 -0000 @@ -156,6 +156,16 @@ doRemoveArtifact(toRemove[i]); } + public synchronized void removeDescriptors(IArtifactDescriptor[] descriptors) { + for (IArtifactDescriptor descriptor : descriptors) + doRemoveArtifact(descriptor); + } + + public synchronized void removeDescriptors(IArtifactKey[] keys) { + for (IArtifactKey key : keys) + removeDescriptor(key); + } + /** * Removes the given descriptor and returns true if and only if the * descriptor existed in the repository, and was successfully removed. #P org.eclipse.equinox.p2.engine Index: META-INF/MANIFEST.MF =================================================================== RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.engine/META-INF/MANIFEST.MF,v retrieving revision 1.50 diff -u -r1.50 MANIFEST.MF --- META-INF/MANIFEST.MF 17 Aug 2010 17:56:39 -0000 1.50 +++ META-INF/MANIFEST.MF 26 Aug 2010 12:54:51 -0000 @@ -20,7 +20,7 @@ org.eclipse.equinox.registry, org.eclipse.equinox.p2.metadata.repository;bundle-version="1.0.100", org.eclipse.core.jobs;bundle-version="[3.4.0,4.0.0)", - org.eclipse.equinox.p2.repository;bundle-version="[2.0.0,2.1.0)", + org.eclipse.equinox.p2.repository;bundle-version="[2.0.0,2.2.0)", org.eclipse.equinox.p2.metadata;bundle-version="[2.0.0,2.2.0)", org.eclipse.equinox.p2.core;bundle-version="[2.0.0,2.1.0)" Eclipse-RegisterBuddy: org.eclipse.equinox.p2.metadata.repository #P org.eclipse.equinox.p2.extensionlocation Index: META-INF/MANIFEST.MF =================================================================== RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.extensionlocation/META-INF/MANIFEST.MF,v retrieving revision 1.18 diff -u -r1.18 MANIFEST.MF --- META-INF/MANIFEST.MF 4 Mar 2010 00:58:56 -0000 1.18 +++ META-INF/MANIFEST.MF 26 Aug 2010 12:54:52 -0000 @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.equinox.p2.extensionlocation;singleton:=true -Bundle-Version: 1.2.0.qualifier +Bundle-Version: 1.2.100.qualifier Bundle-Activator: org.eclipse.equinox.internal.p2.extensionlocation.Activator Bundle-Vendor: %providerName Bundle-Localization: plugin Index: src/org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationArtifactRepository.java =================================================================== RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationArtifactRepository.java,v retrieving revision 1.32 diff -u -r1.32 ExtensionLocationArtifactRepository.java --- src/org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationArtifactRepository.java 30 Mar 2010 22:26:26 -0000 1.32 +++ src/org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationArtifactRepository.java 26 Aug 2010 12:54:52 -0000 @@ -167,6 +167,14 @@ throw new UnsupportedOperationException(); } + public void removeDescriptors(IArtifactDescriptor[] descriptors) { + throw new UnsupportedOperationException(); + } + + public void removeDescriptors(IArtifactKey[] keys) { + throw new UnsupportedOperationException(); + } + public boolean contains(IArtifactDescriptor descriptor) { ensureInitialized(); return artifactRepository.contains(descriptor); #P org.eclipse.equinox.p2.repository Index: META-INF/MANIFEST.MF =================================================================== RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.repository/META-INF/MANIFEST.MF,v retrieving revision 1.25 diff -u -r1.25 MANIFEST.MF --- META-INF/MANIFEST.MF 12 May 2010 16:28:04 -0000 1.25 +++ META-INF/MANIFEST.MF 26 Aug 2010 12:54:52 -0000 @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.equinox.p2.repository;singleton:=true -Bundle-Version: 2.0.0.qualifier +Bundle-Version: 2.1.0.qualifier Bundle-Activator: org.eclipse.equinox.internal.p2.repository.Activator Bundle-Vendor: %providerName Bundle-Localization: plugin Index: src/org/eclipse/equinox/p2/repository/artifact/IArtifactRepository.java =================================================================== RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/artifact/IArtifactRepository.java,v retrieving revision 1.9 diff -u -r1.9 IArtifactRepository.java --- src/org/eclipse/equinox/p2/repository/artifact/IArtifactRepository.java 12 Mar 2010 00:45:11 -0000 1.9 +++ src/org/eclipse/equinox/p2/repository/artifact/IArtifactRepository.java 26 Aug 2010 12:54:52 -0000 @@ -167,6 +167,22 @@ public void removeDescriptor(IArtifactKey key); /** + * Remove the given list of artifact descriptors and their corresponding content + * in this repository. + * @param descriptors the list of descriptors to remove + * @since 2.1 + */ + public void removeDescriptors(IArtifactDescriptor[] descriptors); + + /** + * Remove the given list of keys and all related content and descriptors from this + * repository. + * @param keys + * @since 2.1 + */ + public void removeDescriptors(IArtifactKey[] keys); + + /** * Executes a runnable against this repository. It is up to the repository * implementor to determine what "batch process" means, for example, it may mean * that the repository index is not stored until after the runnable completes. Index: src/org/eclipse/equinox/p2/repository/artifact/spi/AbstractArtifactRepository.java =================================================================== RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/artifact/spi/AbstractArtifactRepository.java,v retrieving revision 1.7 diff -u -r1.7 AbstractArtifactRepository.java --- src/org/eclipse/equinox/p2/repository/artifact/spi/AbstractArtifactRepository.java 30 Mar 2010 22:26:27 -0000 1.7 +++ src/org/eclipse/equinox/p2/repository/artifact/spi/AbstractArtifactRepository.java 26 Aug 2010 12:54:52 -0000 @@ -63,10 +63,18 @@ assertModifiable(); } + public void removeDescriptors(IArtifactDescriptor[] descriptors) { + assertModifiable(); + } + public void removeDescriptor(IArtifactKey key) { assertModifiable(); } + public void removeDescriptors(IArtifactKey[] keys) { + assertModifiable(); + } + public void removeAll() { assertModifiable(); } #P org.eclipse.equinox.p2.tests Index: src/org/eclipse/equinox/p2/tests/AbstractWrappedArtifactRepository.java =================================================================== RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/AbstractWrappedArtifactRepository.java,v retrieving revision 1.8 diff -u -r1.8 AbstractWrappedArtifactRepository.java --- src/org/eclipse/equinox/p2/tests/AbstractWrappedArtifactRepository.java 9 Mar 2010 04:22:00 -0000 1.8 +++ src/org/eclipse/equinox/p2/tests/AbstractWrappedArtifactRepository.java 26 Aug 2010 12:54:52 -0000 @@ -79,6 +79,14 @@ delegate.removeDescriptor(key); } + public void removeDescriptors(IArtifactDescriptor[] descriptors) { + delegate.removeDescriptors(descriptors); + } + + public void removeDescriptors(IArtifactKey[] keys) { + delegate.removeDescriptors(keys); + } + public String getDescription() { return delegate.getDescription(); } Index: src/org/eclipse/equinox/p2/tests/TestArtifactRepository.java =================================================================== RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/TestArtifactRepository.java,v retrieving revision 1.19 diff -u -r1.19 TestArtifactRepository.java --- src/org/eclipse/equinox/p2/tests/TestArtifactRepository.java 5 Mar 2010 22:32:12 -0000 1.19 +++ src/org/eclipse/equinox/p2/tests/TestArtifactRepository.java 26 Aug 2010 12:54:52 -0000 @@ -167,6 +167,16 @@ removeDescriptor(descriptor.getArtifactKey()); } + public void removeDescriptors(IArtifactDescriptor[] descriptors) { + for (IArtifactDescriptor descriptor : descriptors) + removeDescriptor(descriptor); + } + + public void removeDescriptors(IArtifactKey[] keys) { + for (IArtifactKey key : keys) + removeDescriptor(key); + } + public void removeDescriptor(IArtifactKey key) { for (IArtifactDescriptor nextDescriptor : artifactDescriptors) { if (key.equals(nextDescriptor.getArtifactKey())) Index: src/org/eclipse/equinox/p2/tests/publisher/TestArtifactRepository.java =================================================================== RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/TestArtifactRepository.java,v retrieving revision 1.13 diff -u -r1.13 TestArtifactRepository.java --- src/org/eclipse/equinox/p2/tests/publisher/TestArtifactRepository.java 30 Mar 2010 22:26:24 -0000 1.13 +++ src/org/eclipse/equinox/p2/tests/publisher/TestArtifactRepository.java 26 Aug 2010 12:54:52 -0000 @@ -209,6 +209,16 @@ } } + public void removeDescriptors(IArtifactDescriptor[] descriptors) { + for (IArtifactDescriptor descriptor : descriptors) + removeDescriptor(descriptor); + } + + public void removeDescriptors(IArtifactKey[] keys) { + for (IArtifactKey key : keys) + removeDescriptor(key); + } + public String getDescription() { return description; } #P org.eclipse.equinox.p2.updatesite Index: META-INF/MANIFEST.MF =================================================================== RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.updatesite/META-INF/MANIFEST.MF,v retrieving revision 1.31 diff -u -r1.31 MANIFEST.MF --- META-INF/MANIFEST.MF 30 Mar 2010 14:40:28 -0000 1.31 +++ META-INF/MANIFEST.MF 26 Aug 2010 12:54:52 -0000 @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.equinox.p2.updatesite;singleton:=true -Bundle-Version: 1.0.200.qualifier +Bundle-Version: 1.0.300.qualifier Bundle-Activator: org.eclipse.equinox.internal.p2.updatesite.Activator Bundle-Vendor: %providerName Bundle-Localization: plugin Index: src/org/eclipse/equinox/internal/p2/updatesite/artifact/UpdateSiteArtifactRepository.java =================================================================== RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/artifact/UpdateSiteArtifactRepository.java,v retrieving revision 1.42 diff -u -r1.42 UpdateSiteArtifactRepository.java --- src/org/eclipse/equinox/internal/p2/updatesite/artifact/UpdateSiteArtifactRepository.java 9 Mar 2010 04:22:05 -0000 1.42 +++ src/org/eclipse/equinox/internal/p2/updatesite/artifact/UpdateSiteArtifactRepository.java 26 Aug 2010 12:54:52 -0000 @@ -81,10 +81,18 @@ throw new UnsupportedOperationException("Repository not modifiable: " + location); //$NON-NLS-1$ } + public void removeDescriptors(IArtifactDescriptor[] descriptors) { + throw new UnsupportedOperationException("Repository not modifiable: " + location); //$NON-NLS-1$ + } + public void removeDescriptor(IArtifactKey key) { throw new UnsupportedOperationException("Repository not modifiable: " + location); //$NON-NLS-1$ } + public void removeDescriptors(IArtifactKey[] keys) { + throw new UnsupportedOperationException("Repository not modifiable: " + location); //$NON-NLS-1$ + } + public String getDescription() { return delegate.getDescription(); }