Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 240914 | Differences between
and this patch

Collapse All | Expand All

(-)src/org/eclipse/pde/api/tools/internal/CompositeClassFileContainer.java (-1 / +23 lines)
Lines 13-18 Link Here
13
import java.util.List;
13
import java.util.List;
14
14
15
import org.eclipse.core.runtime.CoreException;
15
import org.eclipse.core.runtime.CoreException;
16
import org.eclipse.pde.api.tools.internal.provisional.IClassFile;
17
import org.eclipse.pde.api.tools.internal.provisional.IClassFileContainer;
16
18
17
/**
19
/**
18
 * A collection of class file containers.
20
 * A collection of class file containers.
Lines 44-48 Link Here
44
	public String getOrigin() {
46
	public String getOrigin() {
45
		return this.fOrigin;
47
		return this.fOrigin;
46
	}
48
	}
47
49
	/* (non-Javadoc)
50
	 * @see org.eclipse.pde.api.tools.internal.provisional.IClassFileContainer#findClassFile(java.lang.String, java.lang.String)
51
	 */
52
	public IClassFile findClassFile(String qualifiedName, String id) throws CoreException {
53
		IClassFileContainer[] containers = getClassFileContainers();
54
		String origin = this.getOrigin();
55
		for (int i = 0; i < containers.length; i++) {
56
			if (origin == null) {
57
				IClassFile file = containers[i].findClassFile(qualifiedName);
58
				if (file != null) {
59
					return file;
60
				}
61
			} else if (origin.equals(id)) {
62
				IClassFile file = containers[i].findClassFile(qualifiedName, id);
63
				if (file != null) {
64
					return file;
65
				}
66
			}
67
		}
68
		return null;
69
	}
48
}
70
}
(-)src/org/eclipse/pde/api/tools/internal/BundleApiComponent.java (+26 lines)
Lines 48-53 Link Here
48
import org.eclipse.osgi.util.ManifestElement;
48
import org.eclipse.osgi.util.ManifestElement;
49
import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
49
import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
50
import org.eclipse.pde.api.tools.internal.provisional.Factory;
50
import org.eclipse.pde.api.tools.internal.provisional.Factory;
51
import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
51
import org.eclipse.pde.api.tools.internal.provisional.IApiDescription;
52
import org.eclipse.pde.api.tools.internal.provisional.IApiDescription;
52
import org.eclipse.pde.api.tools.internal.provisional.IApiFilterStore;
53
import org.eclipse.pde.api.tools.internal.provisional.IApiFilterStore;
53
import org.eclipse.pde.api.tools.internal.provisional.IApiProfile;
54
import org.eclipse.pde.api.tools.internal.provisional.IApiProfile;
Lines 397-402 Link Here
397
						}
398
						}
398
					}
399
					}
399
				}
400
				}
401
				IRequiredComponentDescription[] requiredComponents = component.getRequiredComponents();
402
				int length = requiredComponents.length;
403
				if (length != 0) {
404
					IApiProfile profile = this.getProfile();
405
					if (profile != null) {
406
						for (int i = 0; i < length; i++) {
407
							IRequiredComponentDescription description = requiredComponents[i];
408
							if (description.isExported()) {
409
								String id = description.getId();
410
								IApiComponent requiredApiComponent = profile.getApiComponent(id);
411
								if (requiredApiComponent != null) {
412
									IClassFileContainer[] classFileContainers = requiredApiComponent.getClassFileContainers();
413
									int classFileContainersLength = classFileContainers == null ? 0 : classFileContainers.length;
414
									if (classFileContainersLength != 0) {
415
										List innerContainers = new ArrayList(classFileContainersLength);
416
										for (int j = 0; j< classFileContainersLength; j++) {
417
											innerContainers.add(classFileContainers[j]);
418
										}
419
										containers.add(new CompositeClassFileContainer(innerContainers, this.getId()));
420
									}
421
								}
422
							}
423
						}
424
					}
425
				}
400
			}
426
			}
401
		} catch (BundleException e) {
427
		} catch (BundleException e) {
402
			abort("Unable to parse bundle classpath", e); //$NON-NLS-1$
428
			abort("Unable to parse bundle classpath", e); //$NON-NLS-1$

Return to bug 240914