diff options
| author | Maxime Porhel | 2016-08-25 09:03:24 +0000 |
|---|---|---|
| committer | Maxime Porhel | 2016-08-30 07:53:22 +0000 |
| commit | 729f6525c2b0519d3afe20b1fc0cf2df28654d2d (patch) | |
| tree | 7e327e1d3db0e372b33943b211d2b694b19c2341 | |
| parent | 39612d2bf725cb3ed86d9a9335d0334b38c3a5a7 (diff) | |
| download | org.eclipse.sirius-729f6525c2b0519d3afe20b1fc0cf2df28654d2d.tar.gz org.eclipse.sirius-729f6525c2b0519d3afe20b1fc0cf2df28654d2d.tar.xz org.eclipse.sirius-729f6525c2b0519d3afe20b1fc0cf2df28654d2d.zip | |
[500253] WorkspaceClassLoading should handle import-package dependencies
Bug: 500253
Change-Id: Id542145d3cf9d6ab3738721901fc018cc8e36b37
Signed-off-by: Maxime Porhel <maxime.porhel@obeo.fr>
| -rw-r--r-- | plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/utils/WorkspaceClassLoading.java | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/utils/WorkspaceClassLoading.java b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/utils/WorkspaceClassLoading.java index 2f4a0e6f32..ed14013ca0 100644 --- a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/utils/WorkspaceClassLoading.java +++ b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/utils/WorkspaceClassLoading.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2013, 2014 Obeo. + * Copyright (c) 2013, 2016 Obeo. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -377,8 +377,8 @@ public class WorkspaceClassLoading extends BundleClassLoading { if (nsURI != null && className != null) { declarations.add(new EPackageDeclaration(nsURI, className, genModel)); } else { - IStatus status = new Status(IStatus.WARNING, SiriusEditorPlugin.PLUGIN_ID, "An EPackage declaration in project " + symbolicNameForProject - + " has been ignored because of missing informations."); + IStatus status = new Status(IStatus.WARNING, SiriusEditorPlugin.PLUGIN_ID, + "An EPackage declaration in project " + symbolicNameForProject + " has been ignored because of missing informations."); SiriusEditorPlugin.INSTANCE.log(status);; } } @@ -419,8 +419,12 @@ public class WorkspaceClassLoading extends BundleClassLoading { */ Collection<Object> dependencies = Sets.newLinkedHashSet(findCallees(pdeModel)); for (VersionConstraint requireBundleOrImportPackage : Iterables.filter(dependencies, VersionConstraint.class)) { - if (requireBundleOrImportPackage.getSupplier() instanceof BundleDescription && ((BundleDescription) requireBundleOrImportPackage.getSupplier()).getSymbolicName() != null) { - dependenciesRetrievedThroughPDE.add(((BundleDescription) requireBundleOrImportPackage.getSupplier()).getSymbolicName()); + BaseDescription supplier = requireBundleOrImportPackage.getSupplier(); + if (requireBundleOrImportPackage instanceof ImportPackageSpecification && supplier instanceof ExportPackageDescription) { + supplier = ((ExportPackageDescription) supplier).getSupplier(); + } + if (supplier instanceof BundleDescription && ((BundleDescription) supplier).getSymbolicName() != null) { + dependenciesRetrievedThroughPDE.add(((BundleDescription) supplier).getSymbolicName()); } } return dependenciesRetrievedThroughPDE; |
