View | Details | Raw Unified | Return to bug 244628 | Differences between
and this patch

Collapse All | Expand All

(-)src/org/eclipse/equinox/internal/p2/artifact/repository/CompositeArtifactRepository.java (+14 lines)
Lines 246-251 Link Here
246
	/**
246
	/**
247
	 * Composite repositories should be unable to directly modify their child repositories
247
	 * Composite repositories should be unable to directly modify their child repositories
248
	 */
248
	 */
249
	public void removeDescriptors(IArtifactKey[] keys) {
250
		throw new UnsupportedOperationException(Messages.exception_unsupportedRemoveFromComposite);
251
	}
252
253
	/**
254
	 * Composite repositories should be unable to directly modify their child repositories
255
	 */
249
	public void removeDescriptor(IArtifactDescriptor descriptor) {
256
	public void removeDescriptor(IArtifactDescriptor descriptor) {
250
		throw new UnsupportedOperationException(Messages.exception_unsupportedRemoveFromComposite);
257
		throw new UnsupportedOperationException(Messages.exception_unsupportedRemoveFromComposite);
251
	}
258
	}
Lines 253-258 Link Here
253
	/**
260
	/**
254
	 * Composite repositories should be unable to directly modify their child repositories
261
	 * Composite repositories should be unable to directly modify their child repositories
255
	 */
262
	 */
263
	public void removeDescriptors(IArtifactDescriptor[] descriptors) {
264
		throw new UnsupportedOperationException(Messages.exception_unsupportedRemoveFromComposite);
265
	}
266
267
	/**
268
	 * Composite repositories should be unable to directly modify their child repositories
269
	 */
256
	public synchronized void removeAll() {
270
	public synchronized void removeAll() {
257
		throw new UnsupportedOperationException(Messages.exception_unsupportedRemoveFromComposite);
271
		throw new UnsupportedOperationException(Messages.exception_unsupportedRemoveFromComposite);
258
	}
272
	}
(-)src/org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactRepository.java (+19 lines)
Lines 875-880 Link Here
875
			save();
875
			save();
876
	}
876
	}
877
877
878
	public synchronized void removeDescriptors(IArtifactDescriptor[] descriptors) {
879
		boolean changed = false;
880
		for (IArtifactDescriptor descriptor : descriptors)
881
			changed |= doRemoveArtifact(descriptor);
882
		if (changed)
883
			save();
884
	}
885
886
	public synchronized void removeDescriptors(IArtifactKey[] keys) {
887
		boolean changed = false;
888
		for (IArtifactKey key : keys) {
889
			IArtifactDescriptor[] descriptors = getArtifactDescriptors(key);
890
			for (IArtifactDescriptor descriptor : descriptors)
891
				changed |= doRemoveArtifact(descriptor);
892
		}
893
		if (changed)
894
			save();
895
	}
896
878
	public synchronized void removeDescriptor(IArtifactKey key) {
897
	public synchronized void removeDescriptor(IArtifactKey key) {
879
		IArtifactDescriptor[] toRemove = getArtifactDescriptors(key);
898
		IArtifactDescriptor[] toRemove = getArtifactDescriptors(key);
880
		boolean changed = false;
899
		boolean changed = false;
(-)src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/CachingArtifactRepository.java (+10 lines)
Lines 156-161 Link Here
156
			doRemoveArtifact(toRemove[i]);
156
			doRemoveArtifact(toRemove[i]);
157
	}
157
	}
158
158
159
	public synchronized void removeDescriptors(IArtifactDescriptor[] descriptors) {
160
		for (IArtifactDescriptor descriptor : descriptors)
161
			doRemoveArtifact(descriptor);
162
	}
163
164
	public synchronized void removeDescriptors(IArtifactKey[] keys) {
165
		for (IArtifactKey key : keys)
166
			removeDescriptor(key);
167
	}
168
159
	/**
169
	/**
160
	 * Removes the given descriptor and returns <code>true</code> if and only if the
170
	 * Removes the given descriptor and returns <code>true</code> if and only if the
161
	 * descriptor existed in the repository, and was successfully removed.
171
	 * descriptor existed in the repository, and was successfully removed.
(-)META-INF/MANIFEST.MF (-2 / +2 lines)
Lines 2-8 Link Here
2
Bundle-ManifestVersion: 2
2
Bundle-ManifestVersion: 2
3
Bundle-Name: %pluginName
3
Bundle-Name: %pluginName
4
Bundle-SymbolicName: org.eclipse.equinox.p2.engine;singleton:=true
4
Bundle-SymbolicName: org.eclipse.equinox.p2.engine;singleton:=true
5
Bundle-Version: 2.0.0.qualifier
5
Bundle-Version: 2.0.1.qualifier
6
Bundle-Activator: org.eclipse.equinox.internal.p2.engine.EngineActivator
6
Bundle-Activator: org.eclipse.equinox.internal.p2.engine.EngineActivator
7
Bundle-Vendor: %providerName
7
Bundle-Vendor: %providerName
8
Bundle-Localization: plugin
8
Bundle-Localization: plugin
Lines 20-26 Link Here
20
 org.eclipse.equinox.registry,
20
 org.eclipse.equinox.registry,
21
 org.eclipse.equinox.p2.metadata.repository;bundle-version="1.0.100",
21
 org.eclipse.equinox.p2.metadata.repository;bundle-version="1.0.100",
22
 org.eclipse.core.jobs;bundle-version="[3.4.0,4.0.0)",
22
 org.eclipse.core.jobs;bundle-version="[3.4.0,4.0.0)",
23
 org.eclipse.equinox.p2.repository;bundle-version="[2.0.0,2.1.0)",
23
 org.eclipse.equinox.p2.repository;bundle-version="[2.0.0,2.2.0)",
24
 org.eclipse.equinox.p2.metadata;bundle-version="[2.0.0,2.1.0)",
24
 org.eclipse.equinox.p2.metadata;bundle-version="[2.0.0,2.1.0)",
25
 org.eclipse.equinox.p2.core;bundle-version="[2.0.0,2.1.0)"
25
 org.eclipse.equinox.p2.core;bundle-version="[2.0.0,2.1.0)"
26
Eclipse-RegisterBuddy: org.eclipse.equinox.p2.metadata.repository
26
Eclipse-RegisterBuddy: org.eclipse.equinox.p2.metadata.repository
(-)META-INF/MANIFEST.MF (-1 / +1 lines)
Lines 2-8 Link Here
2
Bundle-ManifestVersion: 2
2
Bundle-ManifestVersion: 2
3
Bundle-Name: %pluginName
3
Bundle-Name: %pluginName
4
Bundle-SymbolicName: org.eclipse.equinox.p2.extensionlocation;singleton:=true
4
Bundle-SymbolicName: org.eclipse.equinox.p2.extensionlocation;singleton:=true
5
Bundle-Version: 1.2.0.qualifier
5
Bundle-Version: 1.2.1.qualifier
6
Bundle-Activator: org.eclipse.equinox.internal.p2.extensionlocation.Activator
6
Bundle-Activator: org.eclipse.equinox.internal.p2.extensionlocation.Activator
7
Bundle-Vendor: %providerName
7
Bundle-Vendor: %providerName
8
Bundle-Localization: plugin
8
Bundle-Localization: plugin
(-)src/org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationArtifactRepository.java (+8 lines)
Lines 167-172 Link Here
167
		throw new UnsupportedOperationException();
167
		throw new UnsupportedOperationException();
168
	}
168
	}
169
169
170
	public void removeDescriptors(IArtifactDescriptor[] descriptors) {
171
		throw new UnsupportedOperationException();
172
	}
173
174
	public void removeDescriptors(IArtifactKey[] keys) {
175
		throw new UnsupportedOperationException();
176
	}
177
170
	public boolean contains(IArtifactDescriptor descriptor) {
178
	public boolean contains(IArtifactDescriptor descriptor) {
171
		ensureInitialized();
179
		ensureInitialized();
172
		return artifactRepository.contains(descriptor);
180
		return artifactRepository.contains(descriptor);
(-)META-INF/MANIFEST.MF (-1 / +1 lines)
Lines 2-8 Link Here
2
Bundle-ManifestVersion: 2
2
Bundle-ManifestVersion: 2
3
Bundle-Name: %pluginName
3
Bundle-Name: %pluginName
4
Bundle-SymbolicName: org.eclipse.equinox.p2.repository;singleton:=true
4
Bundle-SymbolicName: org.eclipse.equinox.p2.repository;singleton:=true
5
Bundle-Version: 2.0.0.qualifier
5
Bundle-Version: 2.1.0.qualifier
6
Bundle-Activator: org.eclipse.equinox.internal.p2.repository.Activator
6
Bundle-Activator: org.eclipse.equinox.internal.p2.repository.Activator
7
Bundle-Vendor: %providerName
7
Bundle-Vendor: %providerName
8
Bundle-Localization: plugin
8
Bundle-Localization: plugin
(-)src/org/eclipse/equinox/p2/repository/artifact/IArtifactRepository.java (+16 lines)
Lines 167-172 Link Here
167
	public void removeDescriptor(IArtifactKey key);
167
	public void removeDescriptor(IArtifactKey key);
168
168
169
	/**
169
	/**
170
	 * Remove the given list of artifact descriptors and their corresponding content
171
	 * in this repository.
172
	 * @param descriptors the list of descriptors to remove
173
	 * @since 2.1
174
	 */
175
	public void removeDescriptors(IArtifactDescriptor[] descriptors);
176
177
	/**
178
	 * Remove the given list of keys and all related content and descriptors from this
179
	 * repository.
180
	 * @param keys
181
	 * @since 2.1
182
	 */
183
	public void removeDescriptors(IArtifactKey[] keys);
184
185
	/**
170
	 * Executes a runnable against this repository. It is up to the repository
186
	 * Executes a runnable against this repository. It is up to the repository
171
	 * implementor to determine what "batch process" means, for example, it may mean
187
	 * implementor to determine what "batch process" means, for example, it may mean
172
	 * that the repository index is not stored until after the runnable completes.
188
	 * that the repository index is not stored until after the runnable completes.
(-)src/org/eclipse/equinox/p2/repository/artifact/spi/AbstractArtifactRepository.java (+8 lines)
Lines 63-72 Link Here
63
		assertModifiable();
63
		assertModifiable();
64
	}
64
	}
65
65
66
	public void removeDescriptors(IArtifactDescriptor[] descriptors) {
67
		assertModifiable();
68
	}
69
66
	public void removeDescriptor(IArtifactKey key) {
70
	public void removeDescriptor(IArtifactKey key) {
67
		assertModifiable();
71
		assertModifiable();
68
	}
72
	}
69
73
74
	public void removeDescriptors(IArtifactKey[] keys) {
75
		assertModifiable();
76
	}
77
70
	public void removeAll() {
78
	public void removeAll() {
71
		assertModifiable();
79
		assertModifiable();
72
	}
80
	}
(-)src/org/eclipse/equinox/p2/tests/AbstractWrappedArtifactRepository.java (+8 lines)
Lines 79-84 Link Here
79
		delegate.removeDescriptor(key);
79
		delegate.removeDescriptor(key);
80
	}
80
	}
81
81
82
	public void removeDescriptors(IArtifactDescriptor[] descriptors) {
83
		delegate.removeDescriptors(descriptors);
84
	}
85
86
	public void removeDescriptors(IArtifactKey[] keys) {
87
		delegate.removeDescriptors(keys);
88
	}
89
82
	public String getDescription() {
90
	public String getDescription() {
83
		return delegate.getDescription();
91
		return delegate.getDescription();
84
	}
92
	}
(-)src/org/eclipse/equinox/p2/tests/TestArtifactRepository.java (+10 lines)
Lines 167-172 Link Here
167
		removeDescriptor(descriptor.getArtifactKey());
167
		removeDescriptor(descriptor.getArtifactKey());
168
	}
168
	}
169
169
170
	public void removeDescriptors(IArtifactDescriptor[] descriptors) {
171
		for (IArtifactDescriptor descriptor : descriptors)
172
			removeDescriptor(descriptor);
173
	}
174
175
	public void removeDescriptors(IArtifactKey[] keys) {
176
		for (IArtifactKey key : keys)
177
			removeDescriptor(key);
178
	}
179
170
	public void removeDescriptor(IArtifactKey key) {
180
	public void removeDescriptor(IArtifactKey key) {
171
		for (IArtifactDescriptor nextDescriptor : artifactDescriptors) {
181
		for (IArtifactDescriptor nextDescriptor : artifactDescriptors) {
172
			if (key.equals(nextDescriptor.getArtifactKey()))
182
			if (key.equals(nextDescriptor.getArtifactKey()))
(-)src/org/eclipse/equinox/p2/tests/publisher/TestArtifactRepository.java (+10 lines)
Lines 209-214 Link Here
209
		}
209
		}
210
	}
210
	}
211
211
212
	public void removeDescriptors(IArtifactDescriptor[] descriptors) {
213
		for (IArtifactDescriptor descriptor : descriptors)
214
			removeDescriptor(descriptor);
215
	}
216
217
	public void removeDescriptors(IArtifactKey[] keys) {
218
		for (IArtifactKey key : keys)
219
			removeDescriptor(key);
220
	}
221
212
	public String getDescription() {
222
	public String getDescription() {
213
		return description;
223
		return description;
214
	}
224
	}
(-)META-INF/MANIFEST.MF (-1 / +1 lines)
Lines 2-8 Link Here
2
Bundle-ManifestVersion: 2
2
Bundle-ManifestVersion: 2
3
Bundle-Name: %pluginName
3
Bundle-Name: %pluginName
4
Bundle-SymbolicName: org.eclipse.equinox.p2.updatesite;singleton:=true
4
Bundle-SymbolicName: org.eclipse.equinox.p2.updatesite;singleton:=true
5
Bundle-Version: 1.0.200.qualifier
5
Bundle-Version: 1.0.201.qualifier
6
Bundle-Activator: org.eclipse.equinox.internal.p2.updatesite.Activator
6
Bundle-Activator: org.eclipse.equinox.internal.p2.updatesite.Activator
7
Bundle-Vendor: %providerName
7
Bundle-Vendor: %providerName
8
Bundle-Localization: plugin
8
Bundle-Localization: plugin
(-)src/org/eclipse/equinox/internal/p2/updatesite/artifact/UpdateSiteArtifactRepository.java (+8 lines)
Lines 81-90 Link Here
81
		throw new UnsupportedOperationException("Repository not modifiable: " + location); //$NON-NLS-1$
81
		throw new UnsupportedOperationException("Repository not modifiable: " + location); //$NON-NLS-1$
82
	}
82
	}
83
83
84
	public void removeDescriptors(IArtifactDescriptor[] descriptors) {
85
		throw new UnsupportedOperationException("Repository not modifiable: " + location); //$NON-NLS-1$
86
	}
87
84
	public void removeDescriptor(IArtifactKey key) {
88
	public void removeDescriptor(IArtifactKey key) {
85
		throw new UnsupportedOperationException("Repository not modifiable: " + location); //$NON-NLS-1$
89
		throw new UnsupportedOperationException("Repository not modifiable: " + location); //$NON-NLS-1$
86
	}
90
	}
87
91
92
	public void removeDescriptors(IArtifactKey[] keys) {
93
		throw new UnsupportedOperationException("Repository not modifiable: " + location); //$NON-NLS-1$
94
	}
95
88
	public String getDescription() {
96
	public String getDescription() {
89
		return delegate.getDescription();
97
		return delegate.getDescription();
90
	}
98
	}

Return to bug 244628