diff options
| author | cbrun | 2015-03-27 08:44:54 +0000 |
|---|---|---|
| committer | cbrun | 2015-03-27 08:44:54 +0000 |
| commit | 5cbe2fd361c40a1dc1a25c0895b34c5037e16534 (patch) | |
| tree | 78a016946895252bd328c401207d3fa30ad618be | |
| parent | c8b5274d3ea9459870ce652e15bcd8e359858d7d (diff) | |
| download | org.eclipse.sirius-5cbe2fd361c40a1dc1a25c0895b34c5037e16534.tar.gz org.eclipse.sirius-5cbe2fd361c40a1dc1a25c0895b34c5037e16534.tar.xz org.eclipse.sirius-5cbe2fd361c40a1dc1a25c0895b34c5037e16534.zip | |
[462488] Adapt AQLInterpreter regarding API changes
Bug: 462488
Change-Id: I140669e1cc29474a482a7e6b612773793ef31a1d
Signed-off-by: Cedric Brun <cedric.brun@obeo.fr>
3 files changed, 8 insertions, 6 deletions
diff --git a/plugins/org.eclipse.sirius.common.acceleo.aql.ide/src/org/eclipse/sirius/common/acceleo/aql/ide/proposal/AQLProposalProvider.java b/plugins/org.eclipse.sirius.common.acceleo.aql.ide/src/org/eclipse/sirius/common/acceleo/aql/ide/proposal/AQLProposalProvider.java index 724ba3459a..aa971ab918 100644 --- a/plugins/org.eclipse.sirius.common.acceleo.aql.ide/src/org/eclipse/sirius/common/acceleo/aql/ide/proposal/AQLProposalProvider.java +++ b/plugins/org.eclipse.sirius.common.acceleo.aql.ide/src/org/eclipse/sirius/common/acceleo/aql/ide/proposal/AQLProposalProvider.java @@ -125,7 +125,7 @@ public class AQLProposalProvider implements IProposalProvider { if (context.getCurrentSelected() != null) { queryEnvironment.registerEPackage(context.getCurrentSelected().eClass().getEPackage()); final Set<IType> potentialTypes = new LinkedHashSet<IType>(1); - potentialTypes.add(new EClassifierType(context.getCurrentSelected().eClass())); + potentialTypes.add(new EClassifierType(queryEnvironment, context.getCurrentSelected().eClass())); variableTypes.put("self", potentialTypes); } diff --git a/plugins/org.eclipse.sirius.common.acceleo.aql/src/org/eclipse/sirius/common/acceleo/aql/business/api/TypesUtil.java b/plugins/org.eclipse.sirius.common.acceleo.aql/src/org/eclipse/sirius/common/acceleo/aql/business/api/TypesUtil.java index 8005006fe2..5b8d632d95 100644 --- a/plugins/org.eclipse.sirius.common.acceleo.aql/src/org/eclipse/sirius/common/acceleo/aql/business/api/TypesUtil.java +++ b/plugins/org.eclipse.sirius.common.acceleo.aql/src/org/eclipse/sirius/common/acceleo/aql/business/api/TypesUtil.java @@ -57,7 +57,7 @@ public final class TypesUtil { } if (selfTyping.size() == 0) { - selfTyping.add(new ClassType(EObject.class)); + selfTyping.add(new ClassType(queryEnvironment, EObject.class)); } variableTypes.put("self", selfTyping); for (Entry<String, String> varDef : context.getVariables().entrySet()) { @@ -85,7 +85,7 @@ public final class TypesUtil { found = queryEnvironment.getEPackageProvider().getType(targetTypeName); } if (found != null) { - return new EClassifierType(found); + return new EClassifierType(queryEnvironment, found); } return null; } diff --git a/plugins/org.eclipse.sirius.common.acceleo.aql/src/org/eclipse/sirius/common/acceleo/aql/business/internal/AQLSiriusInterpreter.java b/plugins/org.eclipse.sirius.common.acceleo.aql/src/org/eclipse/sirius/common/acceleo/aql/business/internal/AQLSiriusInterpreter.java index a252ca9ada..7ff9215052 100644 --- a/plugins/org.eclipse.sirius.common.acceleo.aql/src/org/eclipse/sirius/common/acceleo/aql/business/internal/AQLSiriusInterpreter.java +++ b/plugins/org.eclipse.sirius.common.acceleo.aql/src/org/eclipse/sirius/common/acceleo/aql/business/internal/AQLSiriusInterpreter.java @@ -53,6 +53,7 @@ import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.EPackage.Registry; import org.eclipse.emf.ecore.EStructuralFeature.Setting; import org.eclipse.emf.ecore.EcorePackage; +import org.eclipse.emf.ecore.impl.EStringToStringMapEntryImpl; import org.eclipse.emf.ecore.util.ECrossReferenceAdapter; import org.eclipse.sirius.common.acceleo.aql.business.AQLSiriusPlugin; import org.eclipse.sirius.common.acceleo.aql.business.api.AQLConstants; @@ -112,6 +113,7 @@ public class AQLSiriusInterpreter extends AcceleoAbstractInterpreter { }); this.queryEnvironment.registerEPackage(EcorePackage.eINSTANCE); + this.queryEnvironment.registerCustomClassMapping(EcorePackage.eINSTANCE.getEStringToStringMapEntry(), EStringToStringMapEntryImpl.class); registerEcoreModels(EPackage.Registry.INSTANCE); } @@ -128,7 +130,7 @@ public class AQLSiriusInterpreter extends AcceleoAbstractInterpreter { } } for (EPackage ePackage : additionalEPackages) { - this.queryEnvironment.getEPackageProvider().registerPackage(ePackage); + this.queryEnvironment.registerEPackage(ePackage); } } @@ -157,7 +159,7 @@ public class AQLSiriusInterpreter extends AcceleoAbstractInterpreter { } for (Class found : classesToLoad) { try { - queryEnvironment.getLookupEngine().addServices(found); + queryEnvironment.registerServicePackage(found); } catch (InvalidAcceleoPackageException e) { AQLSiriusPlugin.getPlugin().log(new Status(IStatus.WARNING, AQLSiriusPlugin.getPlugin().getSymbolicName(), e.getMessage(), e)); } @@ -227,7 +229,7 @@ public class AQLSiriusInterpreter extends AcceleoAbstractInterpreter { for (String nsURI : packageRegistry.keySet()) { EPackage pak = packageRegistry.getEPackage(nsURI); if (pak != null && this.queryEnvironment.getEPackageProvider().getEPackage(pak.getNsPrefix()) == null) { - this.queryEnvironment.getEPackageProvider().registerPackage(pak); + this.queryEnvironment.registerEPackage(pak); } } } |
