diff options
author | Ed Willink | 2016-06-29 09:55:44 +0000 |
---|---|---|
committer | Ed Willink | 2016-06-29 12:41:59 +0000 |
commit | 37e909cfd844b5b72dc23fbf104c82072eed748e (patch) | |
tree | 7484b4088704b42bdff2aabc88955310e723cc34 | |
parent | 5cc26233e8afe7eb5122aae23e2a1e5ca6e4f9b4 (diff) | |
download | org.eclipse.qvtd-37e909cfd844b5b72dc23fbf104c82072eed748e.tar.gz org.eclipse.qvtd-37e909cfd844b5b72dc23fbf104c82072eed748e.tar.xz org.eclipse.qvtd-37e909cfd844b5b72dc23fbf104c82072eed748e.zip |
[486722] Ensure QVTxEnvironmentFactory is created
3 files changed, 36 insertions, 1 deletions
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/src/org/eclipse/qvtd/xtext/qvtcore/utilities/QVTcoreCSResource.java b/plugins/org.eclipse.qvtd.xtext.qvtcore/src/org/eclipse/qvtd/xtext/qvtcore/utilities/QVTcoreCSResource.java index f8aad7b27..9e1f34ed9 100644 --- a/plugins/org.eclipse.qvtd.xtext.qvtcore/src/org/eclipse/qvtd/xtext/qvtcore/utilities/QVTcoreCSResource.java +++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/src/org/eclipse/qvtd/xtext/qvtcore/utilities/QVTcoreCSResource.java @@ -20,7 +20,9 @@ import org.eclipse.ocl.pivot.NamedElement; import org.eclipse.ocl.pivot.Variable; import org.eclipse.ocl.pivot.internal.resource.ASResourceFactory; import org.eclipse.ocl.pivot.internal.utilities.EnvironmentFactoryInternal; +import org.eclipse.ocl.pivot.internal.utilities.PivotUtilInternal; import org.eclipse.ocl.pivot.resource.ASResource; +import org.eclipse.ocl.pivot.resource.BasicProjectManager; import org.eclipse.ocl.xtext.base.as2cs.AS2CS; import org.eclipse.ocl.xtext.base.cs2as.CS2AS; import org.eclipse.ocl.xtext.base.utilities.BaseCSResource; @@ -29,6 +31,7 @@ import org.eclipse.qvtd.pivot.qvtbase.FunctionParameter; import org.eclipse.qvtd.pivot.qvtbase.Transformation; import org.eclipse.qvtd.pivot.qvtbase.TypedModel; import org.eclipse.qvtd.pivot.qvtcore.QVTcorePackage; +import org.eclipse.qvtd.pivot.qvtcore.utilities.QVTcEnvironmentFactory; import org.eclipse.qvtd.pivot.qvtcore.utilities.QVTcoreASResourceFactory; import org.eclipse.qvtd.pivot.qvtcorebase.CorePattern; import org.eclipse.qvtd.pivot.qvtcorebase.RealizedVariable; @@ -64,6 +67,15 @@ public class QVTcoreCSResource extends EssentialOCLCSResource } @Override + public @NonNull CS2AS getCS2AS() { + EnvironmentFactoryInternal environmentFactory = PivotUtilInternal.findEnvironmentFactory(this); + if (environmentFactory == null) { + environmentFactory = new QVTcEnvironmentFactory(BasicProjectManager.createDefaultProjectManager(), getResourceSet()); + } + return super.getCS2AS(); + } + + @Override public @NonNull String getEditorName() { return "QVT Core"; } diff --git a/plugins/org.eclipse.qvtd.xtext.qvtimperative/src/org/eclipse/qvtd/xtext/qvtimperative/utilities/QVTimperativeCSResource.java b/plugins/org.eclipse.qvtd.xtext.qvtimperative/src/org/eclipse/qvtd/xtext/qvtimperative/utilities/QVTimperativeCSResource.java index 43862bd98..55eaaa43f 100644 --- a/plugins/org.eclipse.qvtd.xtext.qvtimperative/src/org/eclipse/qvtd/xtext/qvtimperative/utilities/QVTimperativeCSResource.java +++ b/plugins/org.eclipse.qvtd.xtext.qvtimperative/src/org/eclipse/qvtd/xtext/qvtimperative/utilities/QVTimperativeCSResource.java @@ -20,7 +20,9 @@ import org.eclipse.ocl.pivot.NamedElement; import org.eclipse.ocl.pivot.Variable; import org.eclipse.ocl.pivot.internal.resource.ASResourceFactory; import org.eclipse.ocl.pivot.internal.utilities.EnvironmentFactoryInternal; +import org.eclipse.ocl.pivot.internal.utilities.PivotUtilInternal; import org.eclipse.ocl.pivot.resource.ASResource; +import org.eclipse.ocl.pivot.resource.BasicProjectManager; import org.eclipse.ocl.xtext.base.as2cs.AS2CS; import org.eclipse.ocl.xtext.base.cs2as.CS2AS; import org.eclipse.ocl.xtext.base.utilities.BaseCSResource; @@ -33,6 +35,7 @@ import org.eclipse.qvtd.pivot.qvtcorebase.RealizedVariable; import org.eclipse.qvtd.pivot.qvtimperative.Mapping; import org.eclipse.qvtd.pivot.qvtimperative.MappingLoop; import org.eclipse.qvtd.pivot.qvtimperative.QVTimperativePackage; +import org.eclipse.qvtd.pivot.qvtimperative.evaluation.QVTiEnvironmentFactory; import org.eclipse.qvtd.pivot.qvtimperative.utilities.QVTimperativeASResourceFactory; import org.eclipse.qvtd.xtext.qvtimperative.as2cs.QVTimperativeAS2CS; import org.eclipse.qvtd.xtext.qvtimperative.cs2as.QVTimperativeCS2AS; @@ -61,7 +64,15 @@ public class QVTimperativeCSResource extends EssentialOCLCSResource } @Override - @SuppressWarnings("null") + public @NonNull CS2AS getCS2AS() { + EnvironmentFactoryInternal environmentFactory = PivotUtilInternal.findEnvironmentFactory(this); + if (environmentFactory == null) { + environmentFactory = new QVTiEnvironmentFactory(BasicProjectManager.createDefaultProjectManager(), getResourceSet()); + } + return super.getCS2AS(); + } + + @Override public @NonNull URI getASURI(@NonNull URI csURI) { return URI.createURI(csURI.toString() + "as"); } diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/src/org/eclipse/qvtd/xtext/qvtrelation/utilities/QVTrelationCSResource.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/src/org/eclipse/qvtd/xtext/qvtrelation/utilities/QVTrelationCSResource.java index 899332a0e..11c4ba4e7 100644 --- a/plugins/org.eclipse.qvtd.xtext.qvtrelation/src/org/eclipse/qvtd/xtext/qvtrelation/utilities/QVTrelationCSResource.java +++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/src/org/eclipse/qvtd/xtext/qvtrelation/utilities/QVTrelationCSResource.java @@ -18,13 +18,16 @@ import org.eclipse.ocl.pivot.NamedElement; import org.eclipse.ocl.pivot.Variable; import org.eclipse.ocl.pivot.internal.resource.ASResourceFactory; import org.eclipse.ocl.pivot.internal.utilities.EnvironmentFactoryInternal; +import org.eclipse.ocl.pivot.internal.utilities.PivotUtilInternal; import org.eclipse.ocl.pivot.resource.ASResource; +import org.eclipse.ocl.pivot.resource.BasicProjectManager; import org.eclipse.ocl.xtext.base.cs2as.CS2AS; import org.eclipse.ocl.xtext.essentialocl.utilities.EssentialOCLCSResource; import org.eclipse.qvtd.pivot.qvtbase.FunctionParameter; import org.eclipse.qvtd.pivot.qvtbase.Transformation; import org.eclipse.qvtd.pivot.qvtbase.TypedModel; import org.eclipse.qvtd.pivot.qvtrelation.QVTrelationPackage; +import org.eclipse.qvtd.pivot.qvtrelation.utilities.QVTrEnvironmentFactory; import org.eclipse.qvtd.pivot.qvtrelation.utilities.QVTrelationASResourceFactory; import org.eclipse.qvtd.xtext.qvtrelation.cs2as.QVTrelationCS2AS; @@ -51,6 +54,15 @@ public class QVTrelationCSResource extends EssentialOCLCSResource } @Override + public @NonNull CS2AS getCS2AS() { + EnvironmentFactoryInternal environmentFactory = PivotUtilInternal.findEnvironmentFactory(this); + if (environmentFactory == null) { + environmentFactory = new QVTrEnvironmentFactory(BasicProjectManager.createDefaultProjectManager(), getResourceSet()); + } + return super.getCS2AS(); + } + + @Override public @NonNull String getEditorName() { return "QVT Relation"; } |