Skip to content

Commit 7243722

Browse files
committed
Moved resolution to AQL 8.x.
1 parent 9875d4a commit 7243722

File tree

145 files changed

+1802
-1827
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

145 files changed

+1802
-1827
lines changed

features/org.obeonetwork.m2doc.feature/feature.xml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<!--
3-
Copyright (c) 2016, 2020 Obeo.
3+
Copyright (c) 2016, 2025 Obeo.
44
All rights reserved. This program and the accompanying materials
55
are made available under the terms of the Eclipse Public License v2.0
66
which accompanies this distribution, and is available at
@@ -23,7 +23,7 @@
2323
</description>
2424

2525
<copyright url="http://www.obeo.fr/legal.php?lang=en">
26-
Copyright (c) 2016, 2020 Obeo.
26+
Copyright (c) 2016, 2025 Obeo.
2727
All rights reserved. This program and the accompanying materials
2828
are made available under the terms of the Eclipse Public License
2929
v2.0
@@ -33,6 +33,11 @@ Contributors:
3333
Obeo - initial API and implementation
3434
</copyright>
3535

36+
<includes
37+
id="org.eclipse.acceleo.query.jdt"
38+
version="0.0.0"
39+
optional="true"/>
40+
3641
<plugin
3742
id="org.obeonetwork.m2doc"
3843
download-size="0"

plugins/org.obeonetwork.m2doc.genconf.edit/src-gen/org/obeonetwork/m2doc/genconf/provider/ModelDefinitionItemProvider.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import org.eclipse.emf.common.util.URI;
2121
import org.eclipse.emf.ecore.EClass;
2222
import org.eclipse.emf.ecore.EObject;
23+
import org.eclipse.emf.ecore.EPackage;
2324
import org.eclipse.emf.ecore.EcorePackage;
2425
import org.eclipse.emf.ecore.impl.EStringToStringMapEntryImpl;
2526
import org.eclipse.emf.ecore.resource.URIConverter;
@@ -39,7 +40,6 @@
3940
*
4041
* @generated
4142
*/
42-
@SuppressWarnings("restriction")
4343
public class ModelDefinitionItemProvider extends DefinitionItemProvider {
4444
/**
4545
* This constructs an instance from a factory and a notifier. <!--
@@ -107,7 +107,8 @@ public Collection<?> getChoiceOfValues(final Object object) {
107107
queryEnvironment.registerCustomClassMapping(
108108
EcorePackage.eINSTANCE.getEStringToStringMapEntry(),
109109
EStringToStringMapEntryImpl.class);
110-
properties.configureQueryEnvironmentWithResult(queryEnvironment);
110+
properties.configureQueryEnvironmentWithResult(queryEnvironment,
111+
EPackage.Registry.INSTANCE);
111112
final AstValidator validator = new AstValidator(
112113
new ValidationServices(queryEnvironment));
113114
final Set<IType> possibleTypes = properties.getVariableTypes(validator,

plugins/org.obeonetwork.m2doc.genconf.editor/META-INF/MANIFEST.MF

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ Require-Bundle: org.eclipse.core.runtime,
2525
org.eclipse.ui.ide;visibility:=reexport,
2626
org.eclipse.emf.ecore.edit;visibility:=reexport,
2727
org.eclipse.acceleo.query;bundle-version="[8.0.4,9.0.0)",
28+
org.eclipse.acceleo.query.ide;bundle-version="[8.0.4,9.0.0)",
2829
org.obeonetwork.m2doc;bundle-version="[4.0.0,5.0.0)",
2930
org.obeonetwork.m2doc.ide;bundle-version="[4.0.0,5.0.0)",
3031
org.eclipse.core.expressions,

plugins/org.obeonetwork.m2doc.genconf.editor/src/org/obeonetwork/m2doc/genconf/editor/command/GenerateHandler.java

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@
1616
import java.util.Map;
1717

1818
import org.eclipse.acceleo.query.AQLUtils;
19+
import org.eclipse.acceleo.query.ide.QueryPlugin;
20+
import org.eclipse.acceleo.query.runtime.impl.namespace.JavaLoader;
21+
import org.eclipse.acceleo.query.runtime.namespace.ILoader;
22+
import org.eclipse.acceleo.query.runtime.namespace.IQualifiedNameResolver;
1923
import org.eclipse.core.commands.ExecutionEvent;
2024
import org.eclipse.core.resources.ResourcesPlugin;
2125
import org.eclipse.core.resources.WorkspaceJob;
@@ -34,7 +38,9 @@
3438
import org.obeonetwork.m2doc.genconf.GenconfUtils;
3539
import org.obeonetwork.m2doc.genconf.Generation;
3640
import org.obeonetwork.m2doc.genconf.presentation.M2docconfEditorPlugin;
37-
import org.obeonetwork.m2doc.ide.M2DocPlugin;
41+
import org.obeonetwork.m2doc.generator.M2DocEvaluationEnvironment;
42+
import org.obeonetwork.m2doc.services.namespace.M2DocDocumentTemplateLoader;
43+
import org.obeonetwork.m2doc.util.M2DocUtils;
3844

3945
/**
4046
* Generate docx from {@link Generation}.
@@ -87,13 +93,26 @@ public IStatus runInWorkspace(IProgressMonitor monitor) throws CoreException {
8793
final List<URI> generatedfiles = new ArrayList<URI>();
8894
final List<Exception> exceptions = new ArrayList<Exception>();
8995
final Map<String, String> options = GenconfUtils.getOptions(generation);
90-
final ResourceSet resourceSetForModel = AQLUtils.createResourceSetForModels(exceptions, generation,
96+
final ResourceSet resourceSetForModels = AQLUtils.createResourceSetForModels(exceptions, generation,
9197
new ResourceSetImpl(), options);
9298
try {
9399
final boolean generate = checkM2DocVersion(shell, M2_DOC_GENERATION, generation);
94100
if (generate) {
95-
generatedfiles.addAll(GenconfUtils.generate(generation, resourceSetForModel, options,
96-
M2DocPlugin.getClassProvider(), BasicMonitor.toMonitor(monitor)));
101+
final URI templateURI = GenconfUtils.getResolvedURI(generation,
102+
URI.createURI(generation.getTemplateFileName(), false));
103+
final IQualifiedNameResolver resolver = QueryPlugin.getPlugin().createResolver(templateURI,
104+
this.getClass().getClassLoader(), resourceSetForModels.getPackageRegistry(),
105+
M2DocUtils.QUALIFIER_SEPARATOR, false);
106+
M2DocEvaluationEnvironment m2docEnv = GenconfUtils.createM2DocEvaluationEnvironment(generation,
107+
resolver, resourceSetForModels);
108+
109+
resolver.addLoader(new M2DocDocumentTemplateLoader(m2docEnv, new BasicMonitor(),
110+
M2DocUtils.QUALIFIER_SEPARATOR));
111+
final ILoader javaLoader = new JavaLoader(M2DocUtils.QUALIFIER_SEPARATOR, false);
112+
resolver.addLoader(javaLoader);
113+
114+
generatedfiles.addAll(
115+
GenconfUtils.generate(generation, m2docEnv, options, BasicMonitor.toMonitor(monitor)));
97116
}
98117
// CHECKSTYLE:OFF any error should be reported back.
99118
} catch (final Exception e) {// do not let exception leak out.
@@ -109,7 +128,7 @@ public void run() {
109128
}
110129
});
111130
} finally {
112-
AQLUtils.cleanResourceSetForModels(generation, resourceSetForModel);
131+
AQLUtils.cleanResourceSetForModels(generation, resourceSetForModels);
113132
}
114133

115134
if (generatedfiles.size() == 1) {

plugins/org.obeonetwork.m2doc.genconf.editor/src/org/obeonetwork/m2doc/genconf/editor/command/GenerateWithTemplateLibrary.java

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,12 @@
2020
import java.util.Set;
2121

2222
import org.eclipse.acceleo.query.AQLUtils;
23+
import org.eclipse.acceleo.query.ide.QueryPlugin;
2324
import org.eclipse.acceleo.query.runtime.IQueryEnvironment;
2425
import org.eclipse.acceleo.query.runtime.Query;
26+
import org.eclipse.acceleo.query.runtime.impl.namespace.JavaLoader;
27+
import org.eclipse.acceleo.query.runtime.namespace.ILoader;
28+
import org.eclipse.acceleo.query.runtime.namespace.IQualifiedNameResolver;
2529
import org.eclipse.acceleo.query.validation.type.EClassifierType;
2630
import org.eclipse.acceleo.query.validation.type.IType;
2731
import org.eclipse.core.commands.AbstractHandler;
@@ -48,11 +52,12 @@
4852
import org.obeonetwork.m2doc.genconf.editor.wizard.GenerationWithTemplateLibraryWizard;
4953
import org.obeonetwork.m2doc.genconf.impl.GenconfFactoryImpl;
5054
import org.obeonetwork.m2doc.generator.DocumentGenerationException;
51-
import org.obeonetwork.m2doc.ide.M2DocPlugin;
55+
import org.obeonetwork.m2doc.generator.M2DocEvaluationEnvironment;
5256
import org.obeonetwork.m2doc.ide.ui.M2DocUIPlugin;
5357
import org.obeonetwork.m2doc.parser.DocumentParserException;
5458
import org.obeonetwork.m2doc.properties.TemplateCustomProperties;
55-
import org.obeonetwork.m2doc.util.IClassProvider;
59+
import org.obeonetwork.m2doc.services.namespace.M2DocDocumentTemplateLoader;
60+
import org.obeonetwork.m2doc.util.M2DocUtils;
5661

5762
/**
5863
* Generates from template library.
@@ -129,14 +134,24 @@ public void create() {
129134
GenconfUtils.initializeOptions(generation, eObj);
130135

131136
// launch the generation
132-
final IClassProvider classProvider = M2DocPlugin.getClassProvider();
133137
final List<Exception> exceptions = new ArrayList<Exception>();
134138
final Map<String, String> options = GenconfUtils.getOptions(generation);
135139
final ResourceSet resourceSetForModel = AQLUtils.createResourceSetForModels(exceptions, generation,
136140
new ResourceSetImpl(), options);
137141
boolean error = false;
138142
try {
139-
GenconfUtils.generate(generation, resourceSetForModel, options, classProvider, new BasicMonitor());
143+
final IQualifiedNameResolver resolver = QueryPlugin.getPlugin().createResolver(templateFile,
144+
this.getClass().getClassLoader(), resourceSetForModel.getPackageRegistry(),
145+
M2DocUtils.QUALIFIER_SEPARATOR, false);
146+
final M2DocEvaluationEnvironment m2docEnv = GenconfUtils.createM2DocEvaluationEnvironment(generation,
147+
resolver, resourceSetForModel);
148+
149+
resolver.addLoader(
150+
new M2DocDocumentTemplateLoader(m2docEnv, new BasicMonitor(), M2DocUtils.QUALIFIER_SEPARATOR));
151+
final ILoader javaLoader = new JavaLoader(M2DocUtils.QUALIFIER_SEPARATOR, false);
152+
resolver.addLoader(javaLoader);
153+
154+
GenconfUtils.generate(generation, m2docEnv, options, new BasicMonitor());
140155
} catch (DocumentGenerationException e) {
141156
e.printStackTrace();
142157
error = true;

plugins/org.obeonetwork.m2doc.genconf.editor/src/org/obeonetwork/m2doc/genconf/editor/command/ValidateHandler.java

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@
1616
import java.util.Map;
1717

1818
import org.eclipse.acceleo.query.AQLUtils;
19+
import org.eclipse.acceleo.query.ide.QueryPlugin;
20+
import org.eclipse.acceleo.query.runtime.impl.namespace.JavaLoader;
21+
import org.eclipse.acceleo.query.runtime.namespace.ILoader;
22+
import org.eclipse.acceleo.query.runtime.namespace.IQualifiedNameResolver;
1923
import org.eclipse.core.commands.ExecutionEvent;
2024
import org.eclipse.core.resources.ResourcesPlugin;
2125
import org.eclipse.core.resources.WorkspaceJob;
@@ -35,7 +39,9 @@
3539
import org.obeonetwork.m2doc.genconf.GenconfUtils;
3640
import org.obeonetwork.m2doc.genconf.Generation;
3741
import org.obeonetwork.m2doc.genconf.presentation.M2docconfEditorPlugin;
38-
import org.obeonetwork.m2doc.ide.M2DocPlugin;
42+
import org.obeonetwork.m2doc.generator.M2DocEvaluationEnvironment;
43+
import org.obeonetwork.m2doc.services.namespace.M2DocDocumentTemplateLoader;
44+
import org.obeonetwork.m2doc.util.M2DocUtils;
3945

4046
/**
4147
* Initialize configurations for documention generation.
@@ -93,8 +99,21 @@ public IStatus runInWorkspace(IProgressMonitor monitor) throws CoreException {
9399
final ResourceSet resourceSetForModel = AQLUtils.createResourceSetForModels(exceptions, generation,
94100
new ResourceSetImpl(), options);
95101
try {
96-
boolean inError = GenconfUtils.validate(generation, resourceSetForModel, options, exceptions,
97-
M2DocPlugin.getClassProvider(), BasicMonitor.toMonitor(monitor));
102+
final URI templateURI = GenconfUtils.getResolvedURI(generation,
103+
URI.createURI(generation.getTemplateFileName(), false));
104+
final IQualifiedNameResolver resolver = QueryPlugin.getPlugin().createResolver(templateURI,
105+
this.getClass().getClassLoader(), resourceSetForModel.getPackageRegistry(),
106+
M2DocUtils.QUALIFIER_SEPARATOR, false);
107+
M2DocEvaluationEnvironment m2docEnv = GenconfUtils.createM2DocEvaluationEnvironment(generation,
108+
resolver, resourceSetForModel);
109+
110+
resolver.addLoader(new M2DocDocumentTemplateLoader(m2docEnv, new BasicMonitor(),
111+
M2DocUtils.QUALIFIER_SEPARATOR));
112+
final ILoader javaLoader = new JavaLoader(M2DocUtils.QUALIFIER_SEPARATOR, false);
113+
resolver.addLoader(javaLoader);
114+
115+
boolean inError = GenconfUtils.validate(generation, m2docEnv, options, exceptions,
116+
BasicMonitor.toMonitor(monitor));
98117
if (!inError) {
99118
Display.getDefault().asyncExec(new Runnable() {
100119
@Override

0 commit comments

Comments
 (0)