[unrelated] Make all classes of the complete packages available to
domain
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/utilities/QVTbaseUtil.java b/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/utilities/QVTbaseUtil.java
index 3c1881a..9e7ef66 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/utilities/QVTbaseUtil.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/utilities/QVTbaseUtil.java
@@ -24,6 +24,7 @@
import org.eclipse.jdt.annotation.Nullable;
import org.eclipse.ocl.pivot.CallExp;
import org.eclipse.ocl.pivot.CollectionType;
+import org.eclipse.ocl.pivot.CompletePackage;
import org.eclipse.ocl.pivot.Element;
import org.eclipse.ocl.pivot.LetExp;
import org.eclipse.ocl.pivot.Model;
@@ -52,6 +53,17 @@
public class QVTbaseUtil
{
+ public static void addAllClasses(@NonNull EnvironmentView environmentView, org.eclipse.ocl.pivot.@NonNull Package pPackage) {
+ String packageName = pPackage.getName();
+ if ((packageName == null) || "".equals(packageName)) {
+ environmentView.addNamedElements(pPackage.getOwnedClasses());
+ }
+ else {
+ CompletePackage completePackage = environmentView.getEnvironmentFactory().getCompleteModel().getCompletePackage(pPackage);
+ environmentView.addNamedElements(completePackage.getAllClasses());
+ }
+ }
+
public static <T extends NamedElement> void addAllNamedElements(@NonNull EnvironmentView environmentView, @NonNull Iterable<T> namedElements) {
String name = environmentView.getName();
if (name != null) {
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtcorebase/src/org/eclipse/qvtd/pivot/qvtcorebase/attributes/CoreDomainAttribution.java b/plugins/org.eclipse.qvtd.pivot.qvtcorebase/src/org/eclipse/qvtd/pivot/qvtcorebase/attributes/CoreDomainAttribution.java
index 3438972..b15685b 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtcorebase/src/org/eclipse/qvtd/pivot/qvtcorebase/attributes/CoreDomainAttribution.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtcorebase/src/org/eclipse/qvtd/pivot/qvtcorebase/attributes/CoreDomainAttribution.java
@@ -15,6 +15,7 @@
import org.eclipse.ocl.pivot.internal.scoping.AbstractAttribution;
import org.eclipse.ocl.pivot.internal.scoping.EnvironmentView;
import org.eclipse.ocl.pivot.internal.scoping.ScopeView;
+import org.eclipse.ocl.pivot.utilities.ClassUtil;
import org.eclipse.qvtd.pivot.qvtbase.Transformation;
import org.eclipse.qvtd.pivot.qvtbase.TypedModel;
import org.eclipse.qvtd.pivot.qvtbase.utilities.QVTbaseUtil;
@@ -29,9 +30,9 @@
CoreDomain targetElement = (CoreDomain)target;
TypedModel typedModel = targetElement.getTypedModel();
if (typedModel != null) {
- for (org.eclipse.ocl.pivot.Package pPackage : typedModel.getUsedPackage()) {
+ for (org.eclipse.ocl.pivot.Package pPackage : ClassUtil.nullFree(typedModel.getUsedPackage())) {
environmentView.addNamedElement(pPackage);
- environmentView.addNamedElements(pPackage.getOwnedClasses());
+ QVTbaseUtil.addAllClasses(environmentView, pPackage);
}
}
for (EObject eContainer = targetElement.eContainer(); eContainer != null; eContainer = eContainer.eContainer()) {