Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMaxime Porhel2016-08-25 09:03:24 +0000
committerMaxime Porhel2016-08-30 07:53:22 +0000
commit729f6525c2b0519d3afe20b1fc0cf2df28654d2d (patch)
tree7e327e1d3db0e372b33943b211d2b694b19c2341
parent39612d2bf725cb3ed86d9a9335d0334b38c3a5a7 (diff)
downloadorg.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.java14
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;

Back to the top