From 3b6bde0944ef82c2c8cd9fd9bfbd8866db0a08e5 Mon Sep 17 00:00:00 2001 From: Yvan Lussaud Date: Wed, 13 Sep 2023 16:56:51 +0200 Subject: [PATCH] Fixed #500 Add an option to ignore the M2Doc version check while validating. --- .../m2doc/genconf/GenconfUtils.java | 18 +++++++---- .../m2doc/generator/M2DocValidator.java | 22 +++++++++++-- .../obeonetwork/m2doc/util/M2DocUtils.java | 29 ++++++++++++++++-- .../genconf/tests/GenconfUtilsTests.java | 14 ++++++--- ...bles and options page add all options.test | 6 ++-- ...ables and options page initialization.test | 8 +++-- ...iables and options page remove option.test | 6 ++-- .../UTF-8 model.test | 3 +- ...ables and options page initialization.test | 6 ++-- ...ables and options page initialization.test | 4 +-- ...VersionIgnoreVersionCheck-expected-ast.txt | 9 ++++++ ...sionCheck-expected-generation-messages.txt | 0 ...gnoreVersionCheck-expected-generation.docx | Bin 0 -> 12297 bytes ...gnoreVersionCheck-expected-validation.docx | 0 ...DocVersionIgnoreVersionCheck-template.docx | Bin 0 -> 14495 bytes ...rongM2DocVersionIgnoreVersionCheck.genconf | 4 +++ .../tests/AbstractTemplatesTestSuite.java | 4 ++- .../m2doc/tests/M2DocUtilsTests.java | 5 +-- .../tests/generator/M2DocValidatorTests.java | 6 ++-- 19 files changed, 108 insertions(+), 36 deletions(-) create mode 100644 tests/org.obeonetwork.m2doc.tests/resources/static/wrongM2DocVersionIgnoreVersionCheck/wrongM2DocVersionIgnoreVersionCheck-expected-ast.txt create mode 100644 tests/org.obeonetwork.m2doc.tests/resources/static/wrongM2DocVersionIgnoreVersionCheck/wrongM2DocVersionIgnoreVersionCheck-expected-generation-messages.txt create mode 100644 tests/org.obeonetwork.m2doc.tests/resources/static/wrongM2DocVersionIgnoreVersionCheck/wrongM2DocVersionIgnoreVersionCheck-expected-generation.docx create mode 100644 tests/org.obeonetwork.m2doc.tests/resources/static/wrongM2DocVersionIgnoreVersionCheck/wrongM2DocVersionIgnoreVersionCheck-expected-validation.docx create mode 100644 tests/org.obeonetwork.m2doc.tests/resources/static/wrongM2DocVersionIgnoreVersionCheck/wrongM2DocVersionIgnoreVersionCheck-template.docx create mode 100644 tests/org.obeonetwork.m2doc.tests/resources/static/wrongM2DocVersionIgnoreVersionCheck/wrongM2DocVersionIgnoreVersionCheck.genconf diff --git a/plugins/org.obeonetwork.m2doc.genconf/src/org/obeonetwork/m2doc/genconf/GenconfUtils.java b/plugins/org.obeonetwork.m2doc.genconf/src/org/obeonetwork/m2doc/genconf/GenconfUtils.java index 678d2c978..923b39159 100644 --- a/plugins/org.obeonetwork.m2doc.genconf/src/org/obeonetwork/m2doc/genconf/GenconfUtils.java +++ b/plugins/org.obeonetwork.m2doc.genconf/src/org/obeonetwork/m2doc/genconf/GenconfUtils.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2017 Obeo. + * Copyright (c) 2017, 2023 Obeo. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v2.0 * which accompanies this distribution, and is available at @@ -499,8 +499,9 @@ private static List generate(Generation generation, IClassProvider classPro Map definitions = GenconfUtils.getVariables(generation, resourceSetForModels); // validate template + final boolean ignoreVersionCheck = Boolean.valueOf(options.get(M2DocUtils.IGNORE_VERSION_CHECK_OPTION)); final URI resultValidationURI = validate(uriConverter, generatedURI, validationURI, documentTemplate, - queryEnvironment, monitor); + queryEnvironment, ignoreVersionCheck, monitor); // launch generation final boolean updateFields = Boolean.valueOf(options.get(M2DocUtils.UPDATE_FIELDS_OPTION)); @@ -576,8 +577,10 @@ public static boolean validate(Generation generation, IClassProvider classProvid } // validate template + final Map options = getOptions(generation); + final boolean ignoreVersionCheck = Boolean.valueOf(options.get(M2DocUtils.IGNORE_VERSION_CHECK_OPTION)); res = validate(resourceSetForModel.getURIConverter(), templateURI, validationURI, documentTemplate, - queryEnvironment, monitor) != null; + queryEnvironment, ignoreVersionCheck, monitor) != null; } // validate output path @@ -620,6 +623,8 @@ public static boolean validate(Generation generation, IClassProvider classProvid * DocumentTemplate * @param queryEnvironment * the {@link IReadOnlyQueryEnvironment} + * @param ignoreVersionCheck + * ignore the {@link M2DocUtils#VERSION} check * @param monitor * the {@link Monitor} * @return the validation {@link URI} if the validation isn't OK, null otherwise @@ -629,11 +634,12 @@ public static boolean validate(Generation generation, IClassProvider classProvid * IOException */ private static URI validate(URIConverter uriConverter, URI generatedURI, URI validationURI, - DocumentTemplate documentTemplate, IReadOnlyQueryEnvironment queryEnvironment, Monitor monitor) - throws DocumentGenerationException, IOException { + DocumentTemplate documentTemplate, IReadOnlyQueryEnvironment queryEnvironment, boolean ignoreVersionCheck, + Monitor monitor) throws DocumentGenerationException, IOException { final URI res; - final ValidationMessageLevel validationLevel = M2DocUtils.validate(documentTemplate, queryEnvironment, monitor); + final ValidationMessageLevel validationLevel = M2DocUtils.validate(documentTemplate, queryEnvironment, + ignoreVersionCheck, monitor); if (validationLevel != ValidationMessageLevel.OK) { if (validationURI != null) { res = validationURI; diff --git a/plugins/org.obeonetwork.m2doc/src/org/obeonetwork/m2doc/generator/M2DocValidator.java b/plugins/org.obeonetwork.m2doc/src/org/obeonetwork/m2doc/generator/M2DocValidator.java index 0b54c7c67..8a51c77b9 100644 --- a/plugins/org.obeonetwork.m2doc/src/org/obeonetwork/m2doc/generator/M2DocValidator.java +++ b/plugins/org.obeonetwork.m2doc/src/org/obeonetwork/m2doc/generator/M2DocValidator.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2016, 2022 Obeo. + * Copyright (c) 2016, 2023 Obeo. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v2.0 * which accompanies this distribution, and is available at @@ -124,6 +124,24 @@ public class M2DocValidator extends TemplateSwitch { */ public ValidationMessageLevel validate(DocumentTemplate documentTemplate, IReadOnlyQueryEnvironment queryEnv, Monitor monitor) { + return validate(documentTemplate, queryEnv, false, monitor); + } + + /** + * Validates the given {@link DocumentTemplate} against the given {@link IQueryEnvironment} and variables types. + * + * @param documentTemplate + * the {@link DocumentTemplate} + * @param queryEnv + * the {@link IQueryEnvironment} + * @param ignoreVersionCheck + * ignore the {@link M2DocUtils#VERSION} check + * @param monitor + * the {@link Monitor} + * @return the {@link ValidationMessageLevel} + */ + public ValidationMessageLevel validate(DocumentTemplate documentTemplate, IReadOnlyQueryEnvironment queryEnv, + boolean ignoreVersionCheck, Monitor monitor) { progressMonitor = monitor; progressMonitor.beginTask("Validating " + documentTemplate.eResource().getURI(), TOTAL_VALIDATE_MONITOR_WORK); @@ -137,7 +155,7 @@ public ValidationMessageLevel validate(DocumentTemplate documentTemplate, IReadO if (templateProperties.getM2DocVersion() == null) { documentTemplate.getBody().getValidationMessages().add(new TemplateValidationMessage( ValidationMessageLevel.WARNING, "No M2Doc version set in the template.", run)); - } else if (!M2DocUtils.VERSION.equals(templateProperties.getM2DocVersion())) { + } else if (!ignoreVersionCheck && !M2DocUtils.VERSION.equals(templateProperties.getM2DocVersion())) { documentTemplate.getBody().getValidationMessages().add( new TemplateValidationMessage(ValidationMessageLevel.WARNING, "M2Doc version mismatch: template is " + templateProperties.getM2DocVersion() + " and runtime is " + M2DocUtils.VERSION, run)); diff --git a/plugins/org.obeonetwork.m2doc/src/org/obeonetwork/m2doc/util/M2DocUtils.java b/plugins/org.obeonetwork.m2doc/src/org/obeonetwork/m2doc/util/M2DocUtils.java index b7c73ee14..665a6c43c 100644 --- a/plugins/org.obeonetwork.m2doc/src/org/obeonetwork/m2doc/util/M2DocUtils.java +++ b/plugins/org.obeonetwork.m2doc/src/org/obeonetwork/m2doc/util/M2DocUtils.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2016, 2021 Obeo. + * Copyright (c) 2016, 2023 Obeo. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v2.0 * which accompanies this distribution, and is available at @@ -146,6 +146,11 @@ public final class M2DocUtils { */ public static final String INSTALL_CROSS_REFERENCE_ADAPTER_OPTION = "InstallCrossReferenceAdapter"; + /** + * The ignore {@link #VERSION} check option. + */ + public static final String IGNORE_VERSION_CHECK_OPTION = "IgnoreVersionCheck"; + /** * The {@link List} of {@link #registerServicesConfigurator(IServicesConfiguratorDescriptor) registered} * {@link IServicesConfiguratorDescriptor}. @@ -742,8 +747,26 @@ public static DocumentTemplate parseUserContent(URIConverter uriConverter, URI d */ public static ValidationMessageLevel validate(DocumentTemplate documentTemplate, IReadOnlyQueryEnvironment queryEnvironment, Monitor monitor) { + return validate(documentTemplate, queryEnvironment, false, monitor); + } + + /** + * Validates the given {@link DocumentTemplate} with the given {@link IReadOnlyQueryEnvironment} and variables types. + * + * @param documentTemplate + * the {@link DocumentTemplate} + * @param queryEnvironment + * the {@link IReadOnlyQueryEnvironment} + * @param ignoreVersionCheck + * ignore the {@link #VERSION} check + * @param monitor + * used to track the progress will generating + * @return the {@link ValidationMessageLevel} + */ + public static ValidationMessageLevel validate(DocumentTemplate documentTemplate, + IReadOnlyQueryEnvironment queryEnvironment, boolean ignoreVersionCheck, Monitor monitor) { final M2DocValidator validator = new M2DocValidator(); - return validator.validate(documentTemplate, queryEnvironment, monitor); + return validator.validate(documentTemplate, queryEnvironment, ignoreVersionCheck, monitor); } /** @@ -984,6 +1007,7 @@ public static Map getInitializedOptions(Map opti final Map res = new LinkedHashMap<>(); res.put(M2DocUtils.UPDATE_FIELDS_OPTION, Boolean.FALSE.toString()); + res.put(M2DocUtils.IGNORE_VERSION_CHECK_OPTION, Boolean.FALSE.toString()); for (IServicesConfigurator configurator : getConfigurators()) { res.putAll(configurator.getInitializedOptions(options)); } @@ -1004,6 +1028,7 @@ public static List getPossibleOptionNames() { } res.add(UPDATE_FIELDS_OPTION); + res.add(IGNORE_VERSION_CHECK_OPTION); res.add(INSTALL_CROSS_REFERENCE_ADAPTER_OPTION); return res; diff --git a/tests/org.obeonetwork.m2doc.genconf.tests/src/org/obeonetwork/m2doc/genconf/tests/GenconfUtilsTests.java b/tests/org.obeonetwork.m2doc.genconf.tests/src/org/obeonetwork/m2doc/genconf/tests/GenconfUtilsTests.java index 1379e3aee..74ac4b477 100644 --- a/tests/org.obeonetwork.m2doc.genconf.tests/src/org/obeonetwork/m2doc/genconf/tests/GenconfUtilsTests.java +++ b/tests/org.obeonetwork.m2doc.genconf.tests/src/org/obeonetwork/m2doc/genconf/tests/GenconfUtilsTests.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2017 Obeo. + * Copyright (c) 2017, 2023 Obeo. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v2.0 * which accompanies this distribution, and is available at @@ -176,11 +176,13 @@ public void initializeOptionsNotExistingOption() { GenconfUtils.initializeOptions(generation); - assertEquals(2, generation.getOptions().size()); + assertEquals(3, generation.getOptions().size()); assertEquals(M2DocUtils.UPDATE_FIELDS_OPTION, generation.getOptions().get(0).getName()); assertEquals("false", generation.getOptions().get(0).getValue()); - assertEquals(TestServiceConfigurator.OPTION, generation.getOptions().get(1).getName()); - assertEquals(TestServiceConfigurator.VALUE, generation.getOptions().get(1).getValue()); + assertEquals(M2DocUtils.IGNORE_VERSION_CHECK_OPTION, generation.getOptions().get(1).getName()); + assertEquals("false", generation.getOptions().get(1).getValue()); + assertEquals(TestServiceConfigurator.OPTION, generation.getOptions().get(2).getName()); + assertEquals(TestServiceConfigurator.VALUE, generation.getOptions().get(2).getValue()); } @Test @@ -193,11 +195,13 @@ public void initializeOptionsExistingOption() { GenconfUtils.initializeOptions(generation); - assertEquals(2, generation.getOptions().size()); + assertEquals(3, generation.getOptions().size()); assertEquals(TestServiceConfigurator.OPTION, generation.getOptions().get(0).getName()); assertEquals(TestServiceConfigurator.VALUE, generation.getOptions().get(0).getValue()); assertEquals(M2DocUtils.UPDATE_FIELDS_OPTION, generation.getOptions().get(1).getName()); assertEquals("false", generation.getOptions().get(1).getValue()); + assertEquals(M2DocUtils.IGNORE_VERSION_CHECK_OPTION, generation.getOptions().get(2).getName()); + assertEquals("false", generation.getOptions().get(2).getValue()); } @Test diff --git a/tests/org.obeonetwork.m2doc.rcptt/commands/Edit Generation Configurations/Generation Selected - Variables and options page add all options.test b/tests/org.obeonetwork.m2doc.rcptt/commands/Edit Generation Configurations/Generation Selected - Variables and options page add all options.test index c7605c63f..4b3b0ecae 100644 --- a/tests/org.obeonetwork.m2doc.rcptt/commands/Edit Generation Configurations/Generation Selected - Variables and options page add all options.test +++ b/tests/org.obeonetwork.m2doc.rcptt/commands/Edit Generation Configurations/Generation Selected - Variables and options page add all options.test @@ -6,8 +6,8 @@ Element-Type: testcase Element-Version: 3.0 External-Reference: Id: _JCraAIXQEeiTHPcT0aJVUA -Runtime-Version: 2.3.0.201806262310 -Save-Time: 2/11/20 1:08 PM +Runtime-Version: 2.5.4.202210020716 +Save-Time: 9/13/23, 3:31 PM Testcase-Type: ecl ------=_.content-0a7243a0-75d3-3d5f-9791-539de0e5b7ac @@ -44,7 +44,7 @@ with [get-window "Generation configuration"] { get-window "Set option name and value." | get-button OK | click } with [get-window "Generation configuration"] { - get-table | get-property itemCount | equals 9 | verify-true + get-table | get-property itemCount | equals 10 | verify-true get-button Add | get-property enablement | equals false | verify-true } get-window "Generation configuration" | get-button Cancel | click diff --git a/tests/org.obeonetwork.m2doc.rcptt/commands/Edit Generation Configurations/Generation Selected - Variables and options page initialization.test b/tests/org.obeonetwork.m2doc.rcptt/commands/Edit Generation Configurations/Generation Selected - Variables and options page initialization.test index 4d1652747..4746b1d8f 100644 --- a/tests/org.obeonetwork.m2doc.rcptt/commands/Edit Generation Configurations/Generation Selected - Variables and options page initialization.test +++ b/tests/org.obeonetwork.m2doc.rcptt/commands/Edit Generation Configurations/Generation Selected - Variables and options page initialization.test @@ -6,8 +6,8 @@ Element-Type: testcase Element-Version: 3.0 External-Reference: Id: _DwnzUH31Eeiu8KolG1i86A -Runtime-Version: 2.3.0.201806262310 -Save-Time: 2/11/20 1:16 PM +Runtime-Version: 2.5.4.202210020716 +Save-Time: 9/13/23, 3:24 PM Testcase-Type: ecl ------=_.content-0a7243a0-75d3-3d5f-9791-539de0e5b7ac @@ -28,9 +28,11 @@ with [get-window "Generation configuration"] { } get-window "Generation configuration" | get-tab-folder | get-tab-item "Options (expert)" | click with [get-window "Generation configuration"] { - get-table | get-property itemCount | equals 2 | verify-true + get-table | get-property itemCount | equals 3 | verify-true get-table | get-item -path UpdateFields | get-property "columns[0]" | equals UpdateFields | verify-true get-table | get-item -path UpdateFields | get-property "columns[1]" | equals "false" | verify-true + get-table | get-item -path IgnoreVersionCheck | get-property "columns[0]" | equals IgnoreVersionCheck | verify-true + get-table | get-item -path IgnoreVersionCheck | get-property "columns[1]" | equals "false" | verify-true get-button Add | get-property enablement | equals true | verify-true get-button Edit | get-property enablement | equals false | verify-true get-button Remove | get-property enablement | equals false | verify-true diff --git a/tests/org.obeonetwork.m2doc.rcptt/commands/Edit Generation Configurations/Generation Selected - Variables and options page remove option.test b/tests/org.obeonetwork.m2doc.rcptt/commands/Edit Generation Configurations/Generation Selected - Variables and options page remove option.test index 9c33d034e..a6935ec61 100644 --- a/tests/org.obeonetwork.m2doc.rcptt/commands/Edit Generation Configurations/Generation Selected - Variables and options page remove option.test +++ b/tests/org.obeonetwork.m2doc.rcptt/commands/Edit Generation Configurations/Generation Selected - Variables and options page remove option.test @@ -6,8 +6,8 @@ Element-Type: testcase Element-Version: 3.0 External-Reference: Id: _jODMwH9kEei7rrjWYcYqJw -Runtime-Version: 2.3.0.201806262310 -Save-Time: 2/11/20 1:08 PM +Runtime-Version: 2.5.4.202210020716 +Save-Time: 9/13/23, 3:32 PM Testcase-Type: ecl ------=_.content-0a7243a0-75d3-3d5f-9791-539de0e5b7ac @@ -36,6 +36,6 @@ with [get-window "Generation configuration"] { get-table | select SiriusSession get-button Remove | click } -get-window "Generation configuration" | get-table | get-property itemCount | equals 1 | verify-true +get-window "Generation configuration" | get-table | get-property itemCount | equals 2 | verify-true get-window "Generation configuration" | get-button Cancel | click ------=_.content-0a7243a0-75d3-3d5f-9791-539de0e5b7ac-- diff --git a/tests/org.obeonetwork.m2doc.rcptt/commands/Edit Generation Configurations/UTF-8 model.test b/tests/org.obeonetwork.m2doc.rcptt/commands/Edit Generation Configurations/UTF-8 model.test index 035475757..bd24116d2 100644 --- a/tests/org.obeonetwork.m2doc.rcptt/commands/Edit Generation Configurations/UTF-8 model.test +++ b/tests/org.obeonetwork.m2doc.rcptt/commands/Edit Generation Configurations/UTF-8 model.test @@ -7,7 +7,7 @@ Element-Version: 3.0 External-Reference: Id: _hosBgEzBEe6RxPWQEeDEcQ Runtime-Version: 2.5.4.202210020716 -Save-Time: 9/6/23, 4:31 PM +Save-Time: 9/13/23, 3:20 PM Testcase-Type: ecl ------=_.content-0a7243a0-75d3-3d5f-9791-539de0e5b7ac @@ -41,5 +41,6 @@ get-editor "asImageByRepresentationDescriptionName.genconf" | get-text-viewer | + " \n" + " \n" + " \n" + + " \n" + "" | verify-true ------=_.content-0a7243a0-75d3-3d5f-9791-539de0e5b7ac-- diff --git a/tests/org.obeonetwork.m2doc.rcptt/commands/Initialize Generation/Initialize Generation - Variables and options page initialization.test b/tests/org.obeonetwork.m2doc.rcptt/commands/Initialize Generation/Initialize Generation - Variables and options page initialization.test index 4c3c90cc4..eec4f3882 100644 --- a/tests/org.obeonetwork.m2doc.rcptt/commands/Initialize Generation/Initialize Generation - Variables and options page initialization.test +++ b/tests/org.obeonetwork.m2doc.rcptt/commands/Initialize Generation/Initialize Generation - Variables and options page initialization.test @@ -6,8 +6,8 @@ Element-Type: testcase Element-Version: 3.0 External-Reference: Id: _uSzOkH3uEeii_sZyBcvLmQ -Runtime-Version: 2.3.0.201806262310 -Save-Time: 2/11/20 1:07 PM +Runtime-Version: 2.5.4.202210020716 +Save-Time: 9/13/23, 3:26 PM Testcase-Type: ecl ------=_.content-0a7243a0-75d3-3d5f-9791-539de0e5b7ac @@ -28,7 +28,7 @@ with [get-window "Generation configuration"] { } get-window "Generation configuration" | get-tab-folder | get-tab-item "Options (expert)" | click with [get-window "Generation configuration"] { - get-table | get-property itemCount | equals 1 | verify-true + get-table | get-property itemCount | equals 2 | verify-true get-button Add | get-property enablement | equals true | verify-true get-button Edit | get-property enablement | equals false | verify-true get-button Remove | get-property enablement | equals false | verify-true diff --git a/tests/org.obeonetwork.m2doc.rcptt/commands/New Generation Wizard/Template Selected/Template Selected - Variables and options page initialization.test b/tests/org.obeonetwork.m2doc.rcptt/commands/New Generation Wizard/Template Selected/Template Selected - Variables and options page initialization.test index 58153a4fb..28e24ee72 100644 --- a/tests/org.obeonetwork.m2doc.rcptt/commands/New Generation Wizard/Template Selected/Template Selected - Variables and options page initialization.test +++ b/tests/org.obeonetwork.m2doc.rcptt/commands/New Generation Wizard/Template Selected/Template Selected - Variables and options page initialization.test @@ -7,7 +7,7 @@ Element-Version: 3.0 External-Reference: Id: _kz6UQH3YEeiOZoLGvms2Lg Runtime-Version: 2.5.4.202210020716 -Save-Time: 2/13/23, 10:17 AM +Save-Time: 9/13/23, 4:28 PM Testcase-Type: ecl ------=_.content-0a7243a0-75d3-3d5f-9791-539de0e5b7ac @@ -32,7 +32,7 @@ with [get-window -class WizardDialog] { } get-window -class WizardDialog | get-tab-folder | get-tab-item "Options (expert)" | click with [get-window -class WizardDialog] { - get-table | get-property itemCount | equals 1 | verify-true + get-table | get-property itemCount | equals 2 | verify-true get-button Add | get-property enablement | equals true | verify-true get-button Edit | get-property enablement | equals false | verify-true get-button Remove | get-property enablement | equals false | verify-true diff --git a/tests/org.obeonetwork.m2doc.tests/resources/static/wrongM2DocVersionIgnoreVersionCheck/wrongM2DocVersionIgnoreVersionCheck-expected-ast.txt b/tests/org.obeonetwork.m2doc.tests/resources/static/wrongM2DocVersionIgnoreVersionCheck/wrongM2DocVersionIgnoreVersionCheck-expected-ast.txt new file mode 100644 index 000000000..1dfc02b05 --- /dev/null +++ b/tests/org.obeonetwork.m2doc.tests/resources/static/wrongM2DocVersionIgnoreVersionCheck/wrongM2DocVersionIgnoreVersionCheck-expected-ast.txt @@ -0,0 +1,9 @@ + +=== HEADER === + +=== BODY === + + A simple demonstration of a static text :Some text.End of demonstration. +=== FOOTER === + +=== TEMPLATES === \ No newline at end of file diff --git a/tests/org.obeonetwork.m2doc.tests/resources/static/wrongM2DocVersionIgnoreVersionCheck/wrongM2DocVersionIgnoreVersionCheck-expected-generation-messages.txt b/tests/org.obeonetwork.m2doc.tests/resources/static/wrongM2DocVersionIgnoreVersionCheck/wrongM2DocVersionIgnoreVersionCheck-expected-generation-messages.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/org.obeonetwork.m2doc.tests/resources/static/wrongM2DocVersionIgnoreVersionCheck/wrongM2DocVersionIgnoreVersionCheck-expected-generation.docx b/tests/org.obeonetwork.m2doc.tests/resources/static/wrongM2DocVersionIgnoreVersionCheck/wrongM2DocVersionIgnoreVersionCheck-expected-generation.docx new file mode 100644 index 0000000000000000000000000000000000000000..8b3f1fe0b453882af447124d96bcc7b4de7ff3ee GIT binary patch literal 12297 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 literal 0 HcmV?d00001 diff --git a/tests/org.obeonetwork.m2doc.tests/resources/static/wrongM2DocVersionIgnoreVersionCheck/wrongM2DocVersionIgnoreVersionCheck-expected-validation.docx b/tests/org.obeonetwork.m2doc.tests/resources/static/wrongM2DocVersionIgnoreVersionCheck/wrongM2DocVersionIgnoreVersionCheck-expected-validation.docx new file mode 100644 index 000000000..e69de29bb diff --git a/tests/org.obeonetwork.m2doc.tests/resources/static/wrongM2DocVersionIgnoreVersionCheck/wrongM2DocVersionIgnoreVersionCheck-template.docx b/tests/org.obeonetwork.m2doc.tests/resources/static/wrongM2DocVersionIgnoreVersionCheck/wrongM2DocVersionIgnoreVersionCheck-template.docx new file mode 100644 index 0000000000000000000000000000000000000000..42c7d99798fdb06817c82cbdab867346b5b78367 GIT binary patch literal 14495 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 literal 0 HcmV?d00001 diff --git a/tests/org.obeonetwork.m2doc.tests/resources/static/wrongM2DocVersionIgnoreVersionCheck/wrongM2DocVersionIgnoreVersionCheck.genconf b/tests/org.obeonetwork.m2doc.tests/resources/static/wrongM2DocVersionIgnoreVersionCheck/wrongM2DocVersionIgnoreVersionCheck.genconf new file mode 100644 index 000000000..2d81e2282 --- /dev/null +++ b/tests/org.obeonetwork.m2doc.tests/resources/static/wrongM2DocVersionIgnoreVersionCheck/wrongM2DocVersionIgnoreVersionCheck.genconf @@ -0,0 +1,4 @@ + + + + diff --git a/tests/org.obeonetwork.m2doc.tests/src/org/obeonetwork/m2doc/tests/AbstractTemplatesTestSuite.java b/tests/org.obeonetwork.m2doc.tests/src/org/obeonetwork/m2doc/tests/AbstractTemplatesTestSuite.java index c269193c6..382f06716 100644 --- a/tests/org.obeonetwork.m2doc.tests/src/org/obeonetwork/m2doc/tests/AbstractTemplatesTestSuite.java +++ b/tests/org.obeonetwork.m2doc.tests/src/org/obeonetwork/m2doc/tests/AbstractTemplatesTestSuite.java @@ -307,8 +307,10 @@ public void parsing() throws FileNotFoundException, IOException { */ @Test public void validation() throws IOException, DocumentGenerationException { + final boolean ignoreVersionCheck = Boolean + .valueOf(GenconfUtils.getOptions(generation).get(M2DocUtils.IGNORE_VERSION_CHECK_OPTION)); final ValidationMessageLevel validationLevel = M2DocUtils.validate(documentTemplate, queryEnvironment, - new BasicMonitor()); + ignoreVersionCheck, new BasicMonitor()); final URI expectedValidationURI = getExpectedValidatedURI(new File(testFolderPath)); final URI outputURI; diff --git a/tests/org.obeonetwork.m2doc.tests/src/org/obeonetwork/m2doc/tests/M2DocUtilsTests.java b/tests/org.obeonetwork.m2doc.tests/src/org/obeonetwork/m2doc/tests/M2DocUtilsTests.java index fa175f15c..22ca6306b 100644 --- a/tests/org.obeonetwork.m2doc.tests/src/org/obeonetwork/m2doc/tests/M2DocUtilsTests.java +++ b/tests/org.obeonetwork.m2doc.tests/src/org/obeonetwork/m2doc/tests/M2DocUtilsTests.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2017 Obeo. + * Copyright (c) 2017, 2023 Obeo. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v2.0 * which accompanies this distribution, and is available at @@ -151,8 +151,9 @@ public void getInitializedOptions() { final Map initializedOptions = M2DocUtils.getInitializedOptions(options); - assertEquals(2, initializedOptions.size()); + assertEquals(3, initializedOptions.size()); assertEquals("false", initializedOptions.get(M2DocUtils.UPDATE_FIELDS_OPTION)); + assertEquals("false", initializedOptions.get(M2DocUtils.IGNORE_VERSION_CHECK_OPTION)); assertEquals(TestServiceConfigurator.VALUE, initializedOptions.get(TestServiceConfigurator.OPTION)); } diff --git a/tests/org.obeonetwork.m2doc.tests/src/org/obeonetwork/m2doc/tests/generator/M2DocValidatorTests.java b/tests/org.obeonetwork.m2doc.tests/src/org/obeonetwork/m2doc/tests/generator/M2DocValidatorTests.java index 6c00b684d..684d371f9 100644 --- a/tests/org.obeonetwork.m2doc.tests/src/org/obeonetwork/m2doc/tests/generator/M2DocValidatorTests.java +++ b/tests/org.obeonetwork.m2doc.tests/src/org/obeonetwork/m2doc/tests/generator/M2DocValidatorTests.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2016 Obeo. + * Copyright (c) 2016, 2023 Obeo. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v2.0 * which accompanies this distribution, and is available at @@ -73,7 +73,7 @@ public void conditionalInferedTypeInElse() throws IOException { selfTypes.add(new EClassifierType(queryEnvironment, EcorePackage.eINSTANCE.getEClassifier())); selfTypes.add(new EClassifierType(queryEnvironment, EcorePackage.eINSTANCE.getEPackage())); - validator.validate(documentTemplate, queryEnvironment, new BasicMonitor()); + validator.validate(documentTemplate, queryEnvironment, false, new BasicMonitor()); assertEquals(0, conditional.getValidationMessages().size()); @@ -104,7 +104,7 @@ public void tableRowCellTemplate() { final DocumentTemplate documentTemplate = M2DocTestUtils.createDocumentTemplate(body); final M2DocValidator validator = new M2DocValidator(); - validator.validate(documentTemplate, queryEnvironment, new BasicMonitor()); + validator.validate(documentTemplate, queryEnvironment, false, new BasicMonitor()); assertEquals(1, query.getValidationMessages().size()); assertTemplateValidationMessage(query.getValidationMessages().get(0), ValidationMessageLevel.ERROR,