From ec84abbde34f409495cb69f25b42dae4420f1cb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Constantin=20Kr=C3=BCger?= Date: Sun, 5 May 2024 22:41:33 +0200 Subject: [PATCH] Fix: Ignore all not supported changeset types --- .eslintrc.yml | 4 +- .gitignore | 7 +- .lfet/lfet.asciidoctor-liquibase.proj | 54 + lfet/asciidoctor-liquibase.lfet | 7 +- lfet/asciidoctor-liquibase.lfet.$bak.zip | Bin 27254 -> 27540 bytes lfet/liquibase-elements.lfet | 900 ++++++++++-- lfet/liquibase-elements.lfet.$bak.zip | Bin 34960 -> 50611 bytes lfet/liquibase-elements.lfet.yaml | 54 + lfet/liquibase-parser.lfet | 9 +- lfet/liquibase-parser.lfet.$bak.zip | Bin 23137 -> 23151 bytes .../LiquibaseElementsDecisionLogic.js | 618 ++++++++ lib/generated/LiquibaseElementsIface.js | 1266 +++++++++++++++++ lib/liquibase-elements.js | 472 +----- .../asciidoctor-liquibase.testcases.feature | 4 +- .../extractor/addColumn.testcases.feature | 4 +- .../addForeignKeyConstraint.testcases.feature | 4 +- .../extractor/addPrimaryKey.testcases.feature | 4 +- .../extractor/changeSet.testcases.feature | 4 +- .../extractor/column.testcases.feature | 4 +- .../extractor/createIndex.testcases.feature | 4 +- .../extractor/createTable.testcases.feature | 4 +- .../extractor/dropColumn.testcases.feature | 4 +- .../extractor/dropTable.testcases.feature | 4 +- .../extractor/include.testcases.feature | 4 +- .../modifyDataType.testcases.feature | 4 +- .../extractor/renameColumn.testcases.feature | 4 +- .../liquibase-elements.testcases.feature | 820 +++++++++-- .../liquibase-parser.testcases.feature | 139 -- 28 files changed, 3574 insertions(+), 828 deletions(-) create mode 100644 .lfet/lfet.asciidoctor-liquibase.proj create mode 100644 lfet/liquibase-elements.lfet.yaml create mode 100644 lib/generated/LiquibaseElementsDecisionLogic.js create mode 100644 lib/generated/LiquibaseElementsIface.js delete mode 100644 test/features/liquibase-parser.testcases.feature diff --git a/.eslintrc.yml b/.eslintrc.yml index b354e9a..036ee4d 100644 --- a/.eslintrc.yml +++ b/.eslintrc.yml @@ -8,4 +8,6 @@ parserOptions: ignorePatterns: - "test/antora/.cache/**" - "test/antora/public/**" -rules: {} +rules: { + camelcase: off +} \ No newline at end of file diff --git a/.gitignore b/.gitignore index ebfa2e9..c755c10 100644 --- a/.gitignore +++ b/.gitignore @@ -5,9 +5,10 @@ test/antora/public/ *.tgz # lfet based files -*.log.*.console.txt -*.log.*.ti.gtd.txt -*.log.*.check.txt +*_log_*_console.txt +*_log_*_ti.gtd.txt +*_log_*_rseq_nex.txt +*_log_*_check.txt *.lfet.*.$bak *.lfet_$temp diff --git a/.lfet/lfet.asciidoctor-liquibase.proj b/.lfet/lfet.asciidoctor-liquibase.proj new file mode 100644 index 0000000..f56d696 --- /dev/null +++ b/.lfet/lfet.asciidoctor-liquibase.proj @@ -0,0 +1,54 @@ +# This file is used to define the limits within which the +# decision table tool LF-ET can be freely used in this project. +# +# This file must not be changed, its checksum value must match +# with the checksum value stored in the corresponding license file. +# +# More about LF-ET can be found here: +# - https://lohrfink.de/de/produkte/lf-et/ +# - https://lohrfink.de/en/solutions/lf-et/ +# +# More about the rulebased.group can be found here: +# - https://rulebased.group/ +# +# Any questions or CER's regarding LF-ET or this project are welcome here: +# - mailto:support@rulebased.group + +LFET: + + Project: + + Url: + # List of global unique project ID's + - git@github.com:uniqueck/asciidoctor-liquibase.git + - https://github.com/uniqueck/asciidoctor-liquibase.git + - https://github.com/uniqueck/asciidoctor-liquibase/ + + FileNamePattern: + # List of regular expressions for allowed file names + # incl. common 'save as' and export formats + - ^liquibase-parser([(](Rwa|ras)[)])?[.](lfet|xls[x]?)$ + - ^liquibase-elements([(](Rwa|ras)[)])?[.](lfet|xls[x]?)$ + - ^asciidoctor-liquibase([(](Rwa|ras)[)])?[.](lfet|xls[x]?)$ + - ^addColumn([(](Rwa|ras)[)])?[.](lfet|xls[x]?)$ + - ^addPrimaryKey([(](Rwa|ras)[)])?[.](lfet|xls[x]?)$ + - ^changeSet([(](Rwa|ras)[)])?[.](lfet|xls[x]?)$ + - ^column([(](Rwa|ras)[)])?[.](lfet|xls[x]?)$ + - ^createIndex([(](Rwa|ras)[)])?[.](lfet|xls[x]?)$ + - ^createView([(](Rwa|ras)[)])?[.](lfet|xls[x]?)$ + - ^createTable([(](Rwa|ras)[)])?[.](lfet|xls[x]?)$ + - ^dropColumn([(](Rwa|ras)[)])?[.](lfet|xls[x]?)$ + - ^dropTable([(](Rwa|ras)[)])?[.](lfet|xls[x]?)$ + - ^include([(](Rwa|ras)[)])?[.](lfet|xls[x]?)$ + - ^addForeignKeyConstraint([(](Rwa|ras)[)])?[.](lfet|xls[x]?)$ + - ^modifyDataType([(](Rwa|ras)[)])?[.](lfet|xls[x]?)$ + - ^renameColumn([(](Rwa|ras)[)])?[.](lfet|xls[x]?)$ + + DirectoryNamePattern: + # List of regular expressions for allowed directory names + # relative to the project content root + # use always '/' as file separator + - ^[/]?(lfet|lib|test)[/]?$ + - ^[/]?(lib|lfet)/extractor[/]?$ + - ^[/]?test/features[/]?$ + - ^[/]?test/features/extractor[/]?$ diff --git a/lfet/asciidoctor-liquibase.lfet b/lfet/asciidoctor-liquibase.lfet index adb73c9..58e6a5c 100644 --- a/lfet/asciidoctor-liquibase.lfet +++ b/lfet/asciidoctor-liquibase.lfet @@ -1,6 +1,6 @@ - + @@ -123,13 +123,10 @@ <SourceCode codeLanguage="JavaScript" sourceCodeType="Prolog" value="/* global Opal */<br/>// @ts-check<br/><br/>function liquibaseBlockMacro (name, context) {<br/> return function () {<br/> const self = this<br/> self.named(name)<br/> self.positionalAttributes(['tillTag'])<br/> self.process((parent, target, attrs) => {<br/> let vfs = context.vfs<br/> if (typeof vfs === 'undefined' || typeof vfs.read !== 'function') {<br/> vfs = require('./node-fs.js')<br/> }<br/> const changelogFile = parent.applySubstitutions(target, ['attributes'])<br/> const doc = parent.getDocument()<br/> const logger = doc.getLogger()<br/> const processModel = { finishedProcessing: false, tillTag: attrs.tillTag || undefined }<br/> processModel.tables = new Map()<br/>&#009; let _step = 1<br/> let _exit = false<br/> do {<br/> _exit = true<br/> // $$BasicIndentLevel=4<br/>"/> <SourceCode codeLanguage="JavaScript" sourceCodeType="Epilog" value=" } while (_exit === false)<br/>&#009; return undefined<br/> })<br/> }<br/>}<br/><br/>module.exports.register = function (registry, context = {}) {<br/> if (typeof context.contentCatalog !== 'undefined' && typeof context.contentCatalog.addFile === 'function' && typeof context.file !== 'undefined') {<br/> context.vfs = require('./antora-adapter.js')(context.file, context.contentCatalog, context.vfs)<br/> }<br/> context.logger = Opal.Asciidoctor.LoggerManager.getLogger()<br/> const names = [<br/> 'liquibase'<br/> ]<br/> //<br/> if (typeof registry.register === 'function') {<br/> registry.register(function () {<br/> for (const name of names) {<br/> this.blockMacro(liquibaseBlockMacro(name, context))<br/> }<br/> })<br/> } else if (typeof registry.block === 'function') {<br/> for (const name of names) {<br/> registry.blockMacro(liquibaseBlockMacro(name, context))<br/> }<br/> }<br/> return registry<br/>}"/> <SourceCode codeLanguage="JavaScript" sourceCodeType="Trace" value="logger.info('$$dtName - $$version - $$rule / $$rules')"/> - <TestValueGroups selectedGroup="Cucumber"> + <TestValueGroups selectedGroup="*ti.att.Cucumber"> <TestValueGroup name="*ti.check.Cucumber"/> <TestValueGroup name="*ti.gtd.Cucumber"/> <TestValueGroup name="*ti.att.Cucumber"/> - <TestValueGroup name="Cucumber" tvgTiAtt="*ti.att.Cucumber" tvgTiCheck="*ti.check.Cucumber" tvgTiGTD="*ti.gtd.Cucumber"> - <Config name="Config" tags="cucumber" parms="-Group 'Cucumber' -SwitchCoverage '1' -NonExecutableRules '50' -NonExecutableRuleSeq '50' -RecommendedTestCases -OutGherkin 'asciidoctor-liquibase.testcases.feature'"/> - </TestValueGroup> </TestValueGroups> <TestValue group="*ti.att.Cucumber" type="tcpre" value="#language:en"/> </LFET> diff --git a/lfet/asciidoctor-liquibase.lfet.$bak.zip b/lfet/asciidoctor-liquibase.lfet.$bak.zip index 3d296ce0c686a0d0e1605dc2e048a8372ec5f57a..b997d865650ba64b721a3202875196ee0f016dba 100644 GIT binary patch delta 3069 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 delta 2571 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 diff --git a/lfet/liquibase-elements.lfet b/lfet/liquibase-elements.lfet index 222c665..dc76c9f 100644 --- a/lfet/liquibase-elements.lfet +++ b/lfet/liquibase-elements.lfet @@ -1,170 +1,379 @@ <?xml version="1.0" encoding="UTF-8"?> -<LFET version="LF-ET 2.2.1 (230826a)" language="English" saveDate="2023.09.03 at 22:07:13 CEST" saveUser="constantin"> +<LFET version="LF-ET 2.3.0 (240413a)" language="English" saveDate="2024.05.05 at 21:19:25 CEST" saveUser="constantin"> <Conditions> <Condition uId="16863044272660255"> <Title language="English" value="Liquibase element name is ..."/> <ConditionOccurrences> - <ConditionOccurrence uId="16863044558500721"> - <Symbol language="English" value="addDefaultValue"/> - <Title language="English" value="liquibase element addDefaultValue"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="LogArg" value="elementNameCallback(element, '$$symbol')"/> - <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> - </ConditionOccurrence> <ConditionOccurrence uId="16863045764502702"> <Symbol language="English" value="loadData"/> - <Title language="English" value="liquibase element loadData"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="LogArg" value="elementNameCallback(element, '$$symbol')"/> + <Title language="English" value="https://docs.liquibase.com/change-types/load-data.html"/> <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> </ConditionOccurrence> <ConditionOccurrence uId="16863046987564886"> <Symbol language="English" value="insert"/> - <Title language="English" value="liquibase element insert"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="LogArg" value="elementNameCallback(element, '$$symbol')"/> + <Title language="English" value="https://docs.liquibase.com/change-types/insert.html"/> <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> </ConditionOccurrence> <ConditionOccurrence uId="16863049927637255"> <Symbol language="English" value="sql"/> - <Title language="English" value="liquibase element sql"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="LogArg" value="elementNameCallback(element, '$$symbol')"/> + <Title language="English" value="https://docs.liquibase.com/change-types/sql.html"/> <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> </ConditionOccurrence> <ConditionOccurrence uId="16863061031562272"> <Symbol language="English" value="sqlFile"/> - <Title language="English" value="liquibase element sqlFile"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="LogArg" value="elementNameCallback(element, '$$symbol')"/> + <Title language="English" value="https://docs.liquibase.com/change-types/sql-file.html"/> <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> </ConditionOccurrence> <ConditionOccurrence uId="16863054569523559"> <Symbol language="English" value="preConditions"/> <Title language="English" value="https://docs.liquibase.com/concepts/changelogs/preconditions.html"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="LogArg" value="elementNameCallback(element, '$$symbol')"/> <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> </ConditionOccurrence> <ConditionOccurrence uId="16863055779156750"> <Symbol language="English" value="property"/> <Title language="English" value="liquibase element property"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="LogArg" value="elementNameCallback(element, '$$symbol')"/> <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> </ConditionOccurrence> <ConditionOccurrence uId="16863093546431598"> <Symbol language="English" value="tagDatabase"/> - <Title language="English" value="liquibase element tagDatabase"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="LogArg" value="elementNameCallback(element, '$$symbol')"/> + <Title language="English" value="https://docs.liquibase.com/change-types/tag-database.html"/> <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}' with tag '${*GTD.Tag.Tag}'"/> </ConditionOccurrence> <ConditionOccurrence uId="16863094017433363"> <Symbol language="English" value="addForeignKeyConstraint"/> - <Title language="English" value="liquibase element addForeignKeyConstraint"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="LogArg" value="elementNameCallback(element, '$$symbol')"/> + <Title language="English" value="https://docs.liquibase.com/change-types/add-foreign-key-constraint.html"/> <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> </ConditionOccurrence> <ConditionOccurrence uId="16863094220654541"> <Symbol language="English" value="addUniqueConstraint"/> - <Title language="English" value="liquibase element addUniqueConstraint"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="LogArg" value="elementNameCallback(element, '$$symbol')"/> + <Title language="English" value="https://docs.liquibase.com/change-types/add-unique-constraint.html"/> <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> </ConditionOccurrence> <ConditionOccurrence uId="16863094463275725"> <Symbol language="English" value="rollback"/> <Title language="English" value="liquibase element rollback"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="LogArg" value="elementNameCallback(element, '$$symbol')"/> <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> </ConditionOccurrence> <ConditionOccurrence uId="16863094676986915"> <Symbol language="English" value="dropColumn"/> - <Title language="English" value="liquibase element dropColumn"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="LogArg" value="elementNameCallback(element, '$$symbol')"/> + <Title language="English" value="https://docs.liquibase.com/change-types/drop-column.html"/> <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> </ConditionOccurrence> <ConditionOccurrence uId="16863094871116918"> <Symbol language="English" value="addColumn"/> - <Title language="English" value="liquibase element addColumn"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="LogArg" value="elementNameCallback(element, '$$symbol')"/> + <Title language="English" value="https://docs.liquibase.com/change-types/add-column.html"/> <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> </ConditionOccurrence> <ConditionOccurrence uId="16863095098176921"> <Symbol language="English" value="comment"/> <Title language="English" value="liquibase element comment"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="LogArg" value="elementNameCallback(element, '$$symbol')"/> <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> </ConditionOccurrence> <ConditionOccurrence uId="16863095199056924"> <Symbol language="English" value="renameColumn"/> - <Title language="English" value="liquibase element renameColumn"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="LogArg" value="elementNameCallback(element, '$$symbol')"/> - <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> - </ConditionOccurrence> - <ConditionOccurrence uId="16863095566448138"> - <Symbol language="English" value="createIndex"/> - <Title language="English" value="liquibase element createIndex"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="LogArg" value="elementNameCallback(element, '$$symbol')"/> + <Title language="English" value="https://docs.liquibase.com/change-types/rename-column.html"/> <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> </ConditionOccurrence> <ConditionOccurrence uId="16863095996909901"> <Symbol language="English" value="changeSet"/> <Title language="English" value="https://docs.liquibase.com/concepts/changelogs/changeset.html"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="LogArg" value="elementNameCallback(element, '$$symbol')"/> <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> </ConditionOccurrence> <ConditionOccurrence uId="16863096087889904"> <Symbol language="English" value="dropSequence"/> - <Title language="English" value="liquibase element dropSequence"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="LogArg" value="elementNameCallback(element, '$$symbol')"/> + <Title language="English" value="https://docs.liquibase.com/change-types/drop-sequence.html"/> <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> </ConditionOccurrence> <ConditionOccurrence uId="16863097675291370"> <Symbol language="English" value="createTable"/> - <Title language="English" value="liquibase element createTable"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="LogArg" value="elementNameCallback(element, '$$symbol')"/> + <Title language="English" value="https://docs.liquibase.com/change-types/create-table.html"/> <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> </ConditionOccurrence> <ConditionOccurrence uId="16863100652105145"> <Symbol language="English" value="addPrimaryKey"/> - <Title language="English" value="liquibase element addPrimaryKey"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="LogArg" value="elementNameCallback(element, '$$symbol')"/> + <Title language="English" value="https://docs.liquibase.com/change-types/add-primary-key.html"/> <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> </ConditionOccurrence> <ConditionOccurrence uId="16863101582766923"> <Symbol language="English" value="dropTable"/> - <Title language="English" value="liquibase element dropTable"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="LogArg" value="elementNameCallback(element, '$$symbol')"/> + <Title language="English" value="https://docs.liquibase.com/change-types/drop-table.html"/> <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> </ConditionOccurrence> <ConditionOccurrence uId="16863102002868271"> <Symbol language="English" value="include"/> - <Title language="English" value="liquibase element include"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="LogArg" value="elementNameCallback(element, '$$symbol')"/> + <Title language="English" value="https://docs.liquibase.com/change-types/include.html"/> <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> </ConditionOccurrence> <ConditionOccurrence uId="16863103067589589"> <Symbol language="English" value="createSequence"/> - <Title language="English" value="liquibase element createSequence"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="LogArg" value="elementNameCallback(element, '$$symbol')"/> + <Title language="English" value="https://docs.liquibase.com/change-types/create-sequence.html"/> <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> </ConditionOccurrence> <ConditionOccurrence uId="16863103414211216"> <Symbol language="English" value="createProcedure"/> - <Title language="English" value="liquibase element createProcedure"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="LogArg" value="elementNameCallback(element, '$$symbol')"/> + <Title language="English" value="https://docs.liquibase.com/change-types/create-procedure.html"/> <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> </ConditionOccurrence> <ConditionOccurrence uId="16868983994031140"> <Symbol language="English" value="modifyDataType"/> <Title language="English" value="https://docs.liquibase.com/change-types/modify-data-type.html"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="LogArg" value="elementNameCallback(element, '$$symbol')"/> <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> </ConditionOccurrence> <ConditionOccurrence uId="16869348832433336"> <Symbol language="English" value="update"/> <Title language="English" value="https://docs.liquibase.com/change-types/update.html"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="LogArg" value="elementNameCallback(element, '$$symbol')"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148630616143452"> + <Symbol language="English" value="createView"/> + <Title language="English" value="https://docs.liquibase.com/change-types/create-view.html"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148632845524480"> + <Symbol language="English" value="dropView"/> + <Title language="English" value="https://docs.liquibase.com/change-types/drop-view.html"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148633269605514"> + <Symbol language="English" value="renameView"/> + <Title language="English" value="https://docs.liquibase.com/change-types/rename-view.html"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148634021586554"> + <Symbol language="English" value="setTableRemarks"/> + <Title language="English" value="https://docs.liquibase.com/change-types/set-table-remarks.html"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148634164616557"> + <Title language="English" value="https://docs.liquibase.com/change-types/set-column-remarks.html"/> + <Symbol language="English" value="setColumnRemarks"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148634858876560"> + <Symbol language="English" value="renameTrigger"/> + <Title language="English" value="https://docs.liquibase.com/change-types/rename-trigger.html"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148635678386563"> + <Symbol language="English" value="renameTable"/> + <Title language="English" value="https://docs.liquibase.com/change-types/rename-table.html"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148637294927090"> + <Title language="English" value="https://docs.liquibase.com/change-types/rename-sequence.html"/> + <Symbol language="English" value="renameSequence"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148637414847093"> + <Symbol language="English" value="enableTrigger"/> + <Title language="English" value="https://docs.liquibase.com/change-types/enable-trigger.html"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148638525957096"> + <Symbol language="English" value="dropTrigger"/> + <Title language="English" value="https://docs.liquibase.com/change-types/drop-trigger.html"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148638640647099"> + <Symbol language="English" value="dropSynonym"/> + <Title language="English" value="https://docs.liquibase.com/change-types/drop-synonym.html"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148639166067105"> + <Symbol language="English" value="dropProcedure"/> + <Title language="English" value="https://docs.liquibase.com/change-types/drop-procedure.html"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148639428927108"> + <Symbol language="English" value="dropPackageBody"/> + <Title language="English" value="https://docs.liquibase.com/change-types/drop-package-body.html"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148642711897111"> + <Symbol language="English" value="dropPackage"/> + <Title language="English" value="https://docs.liquibase.com/change-types/drop-package.html"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148643781458777"> + <Symbol language="English" value="dropIndex"/> + <Title language="English" value="https://docs.liquibase.com/change-types/drop-index.html"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148643939978780"> + <Symbol language="English" value="dropFunction"/> + <Title language="English" value="https://docs.liquibase.com/change-types/drop-function.html"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148644067258783"> + <Symbol language="English" value="disableTrigger"/> + <Title language="English" value="https://docs.liquibase.com/change-types/disable-trigger.html"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148644211258786"> + <Symbol language="English" value="createTrigger"/> + <Title language="English" value="https://docs.liquibase.com/change-types/create-trigger.html"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148644438718789"> + <Symbol language="English" value="createSynonym"/> + <Title language="English" value="https://docs.liquibase.com/change-types/create-synonym.html"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148644910898798"> + <Symbol language="English" value="createPackageBody"/> + <Title language="English" value="https://docs.liquibase.com/change-types/create-package-body.html"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148645029158801"> + <Symbol language="English" value="createPackage"/> + <Title language="English" value="https://docs.liquibase.com/change-types/create-package.html"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148645221948804"> + <Symbol language="English" value="createIndex"/> + <Title language="English" value="https://docs.liquibase.com/change-types/create-index.html"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148645369538807"> + <Symbol language="English" value="createFunction"/> + <Title language="English" value="https://docs.liquibase.com/change-types/create-function.html"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148645478028810"> + <Symbol language="English" value="alterSequence"/> + <Title language="English" value="https://docs.liquibase.com/change-types/alter-sequence.html"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148645593898813"> + <Symbol language="English" value="addAutoIncrement"/> + <Title language="English" value="https://docs.liquibase.com/change-types/add-auto-increment.html"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148648904328816"> + <Symbol language="English" value="addCheckConstraint"/> + <Title language="English" value="https://docs.liquibase.com/change-types/add-check-constraint.html"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148648983408819"> + <Symbol language="English" value="addDefaultValue"/> + <Title language="English" value="https://docs.liquibase.com/change-types/add-default-value.html"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148649567578822"> + <Symbol language="English" value="addNotNullConstraint"/> + <Title language="English" value="https://docs.liquibase.com/change-types/add-not-null-constraint.html"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148649630588825"> + <Symbol language="English" value="disableCheckConstraint"/> + <Title language="English" value="https://docs.liquibase.com/change-types/disable-check-constraint.html"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148651232325881"> + <Symbol language="English" value="dropAllForeignKeyConstraints"/> + <Title language="English" value="https://docs.liquibase.com/change-types/drop-all-foreign-key-constraints.html"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148651354295884"> + <Symbol language="English" value="dropCheckConstraint"/> + <Title language="English" value="https://docs.liquibase.com/change-types/drop-check-constraint.html"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148652294615887"> + <Symbol language="English" value="dropDefaultValue"/> + <Title language="English" value="https://docs.liquibase.com/change-types/drop-default-value.html"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148652532085890"> + <Symbol language="English" value="dropForeignKeyConstraint"/> + <Title language="English" value="https://docs.liquibase.com/change-types/drop-foreign-key-constraint.html"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148652649245893"> + <Symbol language="English" value="dropNotNullConstraint"/> + <Title language="English" value="https://docs.liquibase.com/change-types/drop-not-null-constraint.html"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148652935175896"> + <Symbol language="English" value="dropPrimaryKey"/> + <Title language="English" value="https://docs.liquibase.com/change-types/drop-primary-key.html"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148654140405899"> + <Symbol language="English" value="dropUniqueConstraint"/> + <Title language="English" value="https://docs.liquibase.com/change-types/drop-unique-constraint.html"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148654230445902"> + <Symbol language="English" value="enableCheckConstraint"/> + <Title language="English" value="https://docs.liquibase.com/change-types/enable-check-constraint.html"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148654405985905"> + <Title language="English" value="https://docs.liquibase.com/change-types/add-lookup-table.html"/> + <Symbol language="English" value="addLookupTable"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148654574685908"> + <Title language="English" value="https://docs.liquibase.com/change-types/delete.html"/> + <Symbol language="English" value="delete"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148654898485917"> + <Symbol language="English" value="loadUpdateData"/> + <Title language="English" value="https://docs.liquibase.com/change-types/load-update-data.html"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148654981665920"> + <Symbol language="English" value="mergeColumns"/> + <Title language="English" value="https://docs.liquibase.com/change-types/merge-columns.html"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148655455125929"> + <Symbol language="English" value="customChange"/> + <Title language="English" value="https://docs.liquibase.com/change-types/custom-change.html"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148655503975932"> + <Symbol language="English" value="empty"/> + <Title language="English" value="https://docs.liquibase.com/change-types/empty.html"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148655590155935"> + <Title language="English" value="https://docs.liquibase.com/change-types/execute-command.html"/> + <Symbol language="English" value="executeCommand"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148655817685941"> + <Symbol language="English" value="includeAll"/> + <Title language="English" value="https://docs.liquibase.com/change-types/includeall.html"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148656745495944"> + <Symbol language="English" value="markUnused"/> + <Title language="English" value="https://docs.liquibase.com/change-types/mark-unused.html"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148656857545947"> + <Symbol language="English" value="modifyChangeSets"/> + <Title language="English" value="https://docs.liquibase.com/change-types/modifychangesets.html"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148657109875950"> + <Title language="English" value="https://docs.liquibase.com/change-types/output.html"/> + <Symbol language="English" value="output"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> + </ConditionOccurrence> + <ConditionOccurrence uId="17148658906035953"> + <Symbol language="English" value="stop"/> + <Title language="English" value="https://docs.liquibase.com/change-types/stop.html"/> <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> </ConditionOccurrence> <ConditionOccurrence uId="16863044558520723"> <Symbol language="English" value="*"/> <Title language="English" value="unknown element"/> - <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is 'hugo'"/> + <TestValue group="Cucumber" type="tcpre" value="${*GTD.Format.Format} tag value callback function is provided<br/>define ${*GTD.Format.Format} element name callback function<br/>${*GTD.Format.Format} based liquibase element name is '${*LFET.Symbol}'"/> </ConditionOccurrence> </ConditionOccurrences> <TestValue group="*ti.gtd.Cucumber" type="tspre" value="Row, Format, Formats, Supported = true"/> @@ -175,7 +384,6 @@ <ConditionOccurrence uId="16873293135369970"> <Symbol language="English" value="Y"/> <Title language="English" value="Yes"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="LogArg" value="tillTag === tagValueCallback(element)"/> <TestValue group="*ti.gtd.Cucumber" type="tsi" value="Table; TillTag; TillTag; TillTagDefined = 'yes'<br/>Row; Tag; TillTag; Tag = TillTag.Tag"/> </ConditionOccurrence> <ConditionOccurrence uId="16873293137669972"> @@ -193,13 +401,11 @@ <ActionOccurrence uId="16863449399366407"> <Symbol language="English" value="NOT_SUPPORTED"/> <Title language="English" value="not supported element"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="StmtSeq" value="logger.warn(`Unsupported liquibase element '${stringify(element)}' detected`)"/> <TestValue group="Cucumber" type="tse" value="Check that not supported message is logged"/> </ActionOccurrence> <ActionOccurrence uId="16863449559356413"> <Symbol language="English" value="IGNORE"/> <Title language="English" value="ignored element"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="StmtSeq" value="logger.info(`Liquibase element '${stringify(element)}' ignored`)"/> <TestValue group="Cucumber" type="tse" value="Check that ignore message is logged"/> </ActionOccurrence> </ActionOccurrences> @@ -210,13 +416,11 @@ <ActionOccurrence uId="16863430490853949"> <Symbol language="English" value="true"/> <Title language="English" value="element should ignored"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="StmtSeq" value="liquibaseElementResult.ignore = $$symbol"/> <TestValue group="Cucumber" type="tse" value="element should ignored from processing"/> </ActionOccurrence> <ActionOccurrence uId="16863430559663970"> <Symbol language="English" value="false"/> <Title language="English" value="element should processed"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="StmtSeq" value="liquibaseElementResult.ignore = $$symbol"/> </ActionOccurrence> </ActionOccurrences> </Action> @@ -226,13 +430,11 @@ <ActionOccurrence uId="16863427516420767"> <Symbol language="English" value="true"/> <Title language="English" value="parsing is finished"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="StmtSeq" value="liquibaseElementResult.finishedProcessing = $$symbol"/> <TestValue group="Cucumber" type="tse" value="processing is finished"/> </ActionOccurrence> <ActionOccurrence uId="16863427635250773"> <Symbol language="English" value="false"/> <Title language="English" value="parsing is not yet done"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="StmtSeq" value="liquibaseElementResult.finishedProcessing = $$symbol"/> <TestValue group="Cucumber" type="tse" value="processing is not finished"/> </ActionOccurrence> </ActionOccurrences> @@ -240,173 +442,328 @@ <Action uId="16863462843197403"> <Title language="English" value="set element name"/> <ActionOccurrences> + <ActionOccurrence uId="17148668282879440"> + <Symbol language="English" value="addAutoIncrement"/> + <Title language="English" value="https://docs.liquibase.com/change-types/add-auto-increment.html"/> + </ActionOccurrence> + <ActionOccurrence uId="17148668305809447"> + <Symbol language="English" value="addCheckConstraint"/> + <Title language="English" value="https://docs.liquibase.com/change-types/add-check-constraint.html"/> + </ActionOccurrence> <ActionOccurrence uId="16863466015187759"> <Symbol language="English" value="addColumn"/> <Title language="English" value="liquibase element addColumn"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="StmtSeq" value="liquibaseElementResult.elementName = '$$symbol'"/> <TestValue group="Cucumber" type="tse" value="element name is '${*LFET.Symbol}'"/> </ActionOccurrence> <ActionOccurrence uId="16888961650828004"> <Symbol language="English" value="addDefaultValue"/> <Title language="English" value="liquibase element addDefaultValue"/> <TestValue group="Cucumber" type="tse" value="element name is '${*LFET.Symbol}'"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="StmtSeq" value="liquibaseElementResult.elementName = '$$symbol'"/> </ActionOccurrence> <ActionOccurrence uId="16863465781257745"> <Symbol language="English" value="addForeignKeyConstraint"/> <Title language="English" value="liquibase element addForeignKeyConstraint"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="StmtSeq" value="liquibaseElementResult.elementName = '$$symbol'"/> <TestValue group="Cucumber" type="tse" value="element name is '${*LFET.Symbol}'"/> </ActionOccurrence> + <ActionOccurrence uId="17148669084629524"> + <Symbol language="English" value="addLookupTable"/> + <Title language="English" value="https://docs.liquibase.com/change-types/add-lookup-table.html"/> + </ActionOccurrence> + <ActionOccurrence uId="17148668429429454"> + <Symbol language="English" value="addNotNullConstraint"/> + <Title language="English" value="https://docs.liquibase.com/change-types/add-not-null-constraint.html"/> + </ActionOccurrence> <ActionOccurrence uId="16863466417307794"> <Symbol language="English" value="addPrimaryKey"/> <Title language="English" value="liquibase element addPrimaryKey"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="StmtSeq" value="liquibaseElementResult.elementName = '$$symbol'"/> <TestValue group="Cucumber" type="tse" value="element name is '${*LFET.Symbol}'"/> </ActionOccurrence> <ActionOccurrence uId="16888962043468061"> <Symbol language="English" value="addUniqueConstraint"/> <Title language="English" value="liquibase element addUniqueConstraint"/> <TestValue group="Cucumber" type="tse" value="element name is '${*LFET.Symbol}'"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="StmtSeq" value="liquibaseElementResult.elementName = '$$symbol'"/> + </ActionOccurrence> + <ActionOccurrence uId="17148668249579433"> + <Symbol language="English" value="alterSequence"/> + <Title language="English" value="https://docs.liquibase.com/change-types/alter-sequence.html"/> </ActionOccurrence> <ActionOccurrence uId="16863466226927780"> <Symbol language="English" value="changeSet"/> <Title language="English" value="liquibase element changeSet"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="StmtSeq" value="liquibaseElementResult.elementName = '$$symbol'"/> <TestValue group="Cucumber" type="tse" value="element name is '${*LFET.Symbol}'"/> </ActionOccurrence> <ActionOccurrence uId="16888962100788075"> <Symbol language="English" value="comment"/> <Title language="English" value="liquibase element comment"/> <TestValue group="Cucumber" type="tse" value="element name is '${*LFET.Symbol}'"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="StmtSeq" value="liquibaseElementResult.elementName = '$$symbol'"/> + </ActionOccurrence> + <ActionOccurrence uId="17148668219069426"> + <Symbol language="English" value="createFunction"/> + <Title language="English" value="https://docs.liquibase.com/change-types/create-function.html"/> </ActionOccurrence> <ActionOccurrence uId="16863466168907773"> <Symbol language="English" value="createIndex"/> <Title language="English" value="liquibase element createIndex"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="StmtSeq" value="liquibaseElementResult.elementName = '$$symbol'"/> <TestValue group="Cucumber" type="tse" value="element name is '${*LFET.Symbol}'"/> </ActionOccurrence> + <ActionOccurrence uId="17148667772749419"> + <Symbol language="English" value="createPackage"/> + <Title language="English" value="https://docs.liquibase.com/change-types/create-package.html"/> + </ActionOccurrence> + <ActionOccurrence uId="17148667741769412"> + <Symbol language="English" value="createPackageBody"/> + <Title language="English" value="https://docs.liquibase.com/change-types/create-package-body.html"/> + </ActionOccurrence> <ActionOccurrence uId="16888962241388096"> <Symbol language="English" value="createProcedure"/> <Title language="English" value="liquibase element createProcedure"/> <TestValue group="Cucumber" type="tse" value="element name is '${*LFET.Symbol}'"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="StmtSeq" value="liquibaseElementResult.elementName = '$$symbol'"/> </ActionOccurrence> <ActionOccurrence uId="16888962220278089"> <Symbol language="English" value="createSequence"/> <Title language="English" value="liquibase element createSequence"/> <TestValue group="Cucumber" type="tse" value="element name is '${*LFET.Symbol}'"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="StmtSeq" value="liquibaseElementResult.elementName = '$$symbol'"/> + </ActionOccurrence> + <ActionOccurrence uId="17148667708189405"> + <Symbol language="English" value="createSynonym"/> + <Title language="English" value="https://docs.liquibase.com/change-types/create-synonym.html"/> </ActionOccurrence> <ActionOccurrence uId="16863466351207787"> <Symbol language="English" value="createTable"/> <Title language="English" value="liquibase element createTable"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="StmtSeq" value="liquibaseElementResult.elementName = '$$symbol'"/> <TestValue group="Cucumber" type="tse" value="element name is '${*LFET.Symbol}'"/> </ActionOccurrence> + <ActionOccurrence uId="17148667673619398"> + <Symbol language="English" value="createTrigger"/> + <Title language="English" value="https://docs.liquibase.com/change-types/create-trigger.html"/> + </ActionOccurrence> + <ActionOccurrence uId="17148664818857258"> + <Symbol language="English" value="createView"/> + <Title language="English" value="https://docs.liquibase.com/change-types/create-view.html"/> + </ActionOccurrence> + <ActionOccurrence uId="17148669211829552"> + <Symbol language="English" value="customChange"/> + <Title language="English" value="https://docs.liquibase.com/change-types/custom-change.html"/> + </ActionOccurrence> + <ActionOccurrence uId="17148669117019531"> + <Symbol language="English" value="delete"/> + <Title language="English" value="https://docs.liquibase.com/change-types/delete.html"/> + </ActionOccurrence> + <ActionOccurrence uId="17148668451259461"> + <Symbol language="English" value="disableCheckConstraint"/> + <Title language="English" value="https://docs.liquibase.com/change-types/disable-check-constraint.html"/> + </ActionOccurrence> + <ActionOccurrence uId="17148667638269391"> + <Symbol language="English" value="disableTrigger"/> + <Title language="English" value="https://docs.liquibase.com/change-types/disable-trigger.html"/> + </ActionOccurrence> + <ActionOccurrence uId="17148668471789468"> + <Symbol language="English" value="dropAllForeignKeyConstraints"/> + <Title language="English" value="https://docs.liquibase.com/change-types/drop-all-foreign-key-constraints.html"/> + </ActionOccurrence> + <ActionOccurrence uId="17148668521049475"> + <Symbol language="English" value="dropCheckConstraint"/> + <Title language="English" value="https://docs.liquibase.com/change-types/drop-check-constraint.html"/> + </ActionOccurrence> <ActionOccurrence uId="16863465882467752"> <Symbol language="English" value="dropColumn"/> <Title language="English" value="liquibase element dropColumn"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="StmtSeq" value="liquibaseElementResult.elementName = '$$symbol'"/> <TestValue group="Cucumber" type="tse" value="element name is '${*LFET.Symbol}'"/> </ActionOccurrence> + <ActionOccurrence uId="17148668545919482"> + <Symbol language="English" value="dropDefaultValue"/> + <Title language="English" value="https://docs.liquibase.com/change-types/drop-default-value.html"/> + </ActionOccurrence> + <ActionOccurrence uId="17148668566899489"> + <Symbol language="English" value="dropForeignKeyConstraint"/> + <Title language="English" value="https://docs.liquibase.com/change-types/drop-foreign-key-constraint.html"/> + </ActionOccurrence> + <ActionOccurrence uId="17148667596789384"> + <Symbol language="English" value="dropFunction"/> + <Title language="English" value="https://docs.liquibase.com/change-types/drop-function.html"/> + </ActionOccurrence> + <ActionOccurrence uId="17148667560749377"> + <Symbol language="English" value="dropIndex"/> + <Title language="English" value="https://docs.liquibase.com/change-types/drop-index.html"/> + </ActionOccurrence> + <ActionOccurrence uId="17148668589769496"> + <Symbol language="English" value="dropNotNullConstraint"/> + <Title language="English" value="https://docs.liquibase.com/change-types/drop-not-null-constraint.html"/> + </ActionOccurrence> + <ActionOccurrence uId="17148667525319370"> + <Symbol language="English" value="dropPackage"/> + <Title language="English" value="https://docs.liquibase.com/change-types/drop-package.html"/> + </ActionOccurrence> + <ActionOccurrence uId="17148667483099363"> + <Symbol language="English" value="dropPackageBody"/> + <Title language="English" value="https://docs.liquibase.com/change-types/drop-package-body.html"/> + </ActionOccurrence> + <ActionOccurrence uId="17148668984009503"> + <Symbol language="English" value="dropPrimaryKey"/> + <Title language="English" value="https://docs.liquibase.com/change-types/drop-primary-key.html"/> + </ActionOccurrence> + <ActionOccurrence uId="17148667442029356"> + <Symbol language="English" value="dropProcedure"/> + <Title language="English" value="https://docs.liquibase.com/change-types/drop-procedure.html"/> + </ActionOccurrence> <ActionOccurrence uId="16888962161258082"> <Symbol language="English" value="dropSequence"/> <Title language="English" value="liquibase element dropSequence"/> <TestValue group="Cucumber" type="tse" value="element name is '${*LFET.Symbol}'"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="StmtSeq" value="liquibaseElementResult.elementName = '$$symbol'"/> + </ActionOccurrence> + <ActionOccurrence uId="17148667404019349"> + <Symbol language="English" value="dropSynonym"/> + <Title language="English" value="https://docs.liquibase.com/change-types/drop-synonym.html"/> </ActionOccurrence> <ActionOccurrence uId="16863466475207801"> <Symbol language="English" value="dropTable"/> <Title language="English" value="liquibase element dropTable"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="StmtSeq" value="liquibaseElementResult.elementName = '$$symbol'"/> <TestValue group="Cucumber" type="tse" value="element name is '${*LFET.Symbol}'"/> </ActionOccurrence> + <ActionOccurrence uId="17148667368369342"> + <Symbol language="English" value="dropTrigger"/> + <Title language="English" value="https://docs.liquibase.com/change-types/drop-trigger.html"/> + </ActionOccurrence> + <ActionOccurrence uId="17148669019039510"> + <Symbol language="English" value="dropUniqueConstraint"/> + <Title language="English" value="https://docs.liquibase.com/change-types/drop-unique-constraint.html"/> + </ActionOccurrence> + <ActionOccurrence uId="17148664994717270"> + <Symbol language="English" value="dropView"/> + <Title language="English" value="https://docs.liquibase.com/change-types/drop-view.html"/> + </ActionOccurrence> + <ActionOccurrence uId="17148669241909559"> + <Symbol language="English" value="empty"/> + <Title language="English" value="https://docs.liquibase.com/change-types/empty.html"/> + </ActionOccurrence> + <ActionOccurrence uId="17148669049569517"> + <Symbol language="English" value="enableCheckConstraint"/> + <Title language="English" value="https://docs.liquibase.com/change-types/enable-check-constraint.html"/> + </ActionOccurrence> + <ActionOccurrence uId="17148667328179335"> + <Symbol language="English" value="enableTrigger"/> + <Title language="English" value="https://docs.liquibase.com/change-types/enable-trigger.html"/> + </ActionOccurrence> + <ActionOccurrence uId="17148669274649566"> + <Symbol language="English" value="executeCommand"/> + <Title language="English" value="https://docs.liquibase.com/change-types/execute-command.html"/> + </ActionOccurrence> <ActionOccurrence uId="16863466618197808"> <Symbol language="English" value="include"/> <Title language="English" value="liquibase element include"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="StmtSeq" value="liquibaseElementResult.elementName = '$$symbol'"/> <TestValue group="Cucumber" type="tse" value="element name is '${*LFET.Symbol}'"/> </ActionOccurrence> + <ActionOccurrence uId="17148669309259573"> + <Symbol language="English" value="includeAll"/> + <Title language="English" value="https://docs.liquibase.com/change-types/includeall.html"/> + </ActionOccurrence> <ActionOccurrence uId="16888961705028018"> <Symbol language="English" value="insert"/> <Title language="English" value="liquibase element insert"/> <TestValue group="Cucumber" type="tse" value="element name is '${*LFET.Symbol}'"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="StmtSeq" value="liquibaseElementResult.elementName = '$$symbol'"/> </ActionOccurrence> <ActionOccurrence uId="16888961680418011"> <Symbol language="English" value="loadData"/> <Title language="English" value="liquibase element loadData"/> <TestValue group="Cucumber" type="tse" value="element name is '${*LFET.Symbol}'"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="StmtSeq" value="liquibaseElementResult.elementName = '$$symbol'"/> + </ActionOccurrence> + <ActionOccurrence uId="17148669149259538"> + <Symbol language="English" value="loadUpdateData"/> + <Title language="English" value="https://docs.liquibase.com/change-types/load-update-data.html"/> + </ActionOccurrence> + <ActionOccurrence uId="17148669339009580"> + <Symbol language="English" value="markUnused"/> + <Title language="English" value="https://docs.liquibase.com/change-types/mark-unused.html"/> + </ActionOccurrence> + <ActionOccurrence uId="17148669182009545"> + <Symbol language="English" value="mergeColumns"/> + <Title language="English" value="https://docs.liquibase.com/change-types/merge-columns.html"/> + </ActionOccurrence> + <ActionOccurrence uId="17148669370769587"> + <Symbol language="English" value="modifyChangeSets"/> + <Title language="English" value="https://docs.liquibase.com/change-types/modifychangesets.html"/> </ActionOccurrence> <ActionOccurrence uId="16869005635741480"> <Symbol language="English" value="modifyDataType"/> <Title language="English" value="https://docs.liquibase.com/change-types/modify-data-type.html"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="StmtSeq" value="liquibaseElementResult.elementName = '$$symbol'"/> <TestValue group="Cucumber" type="tse" value="element name is '${*LFET.Symbol}'"/> </ActionOccurrence> + <ActionOccurrence uId="17148669402519594"> + <Symbol language="English" value="output"/> + <Title language="English" value="https://docs.liquibase.com/change-types/output.html"/> + </ActionOccurrence> <ActionOccurrence uId="16888961858158039"> <Symbol language="English" value="preConditions"/> <Title language="English" value="https://docs.liquibase.com/concepts/changelogs/preconditions.html"/> <TestValue group="Cucumber" type="tse" value="element name is '${*LFET.Symbol}'"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="StmtSeq" value="liquibaseElementResult.elementName = '$$symbol'"/> </ActionOccurrence> <ActionOccurrence uId="16888961880798046"> <Symbol language="English" value="property"/> <Title language="English" value="liquibase element property"/> <TestValue group="Cucumber" type="tse" value="element name is '${*LFET.Symbol}'"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="StmtSeq" value="liquibaseElementResult.elementName = '$$symbol'"/> </ActionOccurrence> <ActionOccurrence uId="16863466074147766"> <Symbol language="English" value="renameColumn"/> <Title language="English" value="liquibase element renameColumn"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="StmtSeq" value="liquibaseElementResult.elementName = '$$symbol'"/> <TestValue group="Cucumber" type="tse" value="element name is '${*LFET.Symbol}'"/> </ActionOccurrence> + <ActionOccurrence uId="17148667289739328"> + <Symbol language="English" value="renameSequence"/> + <Title language="English" value="https://docs.liquibase.com/change-types/rename-sequence.html"/> + </ActionOccurrence> + <ActionOccurrence uId="17148667244779321"> + <Symbol language="English" value="renameTable"/> + <Title language="English" value="https://docs.liquibase.com/change-types/rename-table.html"/> + </ActionOccurrence> + <ActionOccurrence uId="17148667198959314"> + <Symbol language="English" value="renameTrigger"/> + <Title language="English" value="https://docs.liquibase.com/change-types/rename-trigger.html"/> + </ActionOccurrence> + <ActionOccurrence uId="17148665080537279"> + <Symbol language="English" value="renameView"/> + <Title language="English" value="https://docs.liquibase.com/change-types/rename-view.html"/> + </ActionOccurrence> <ActionOccurrence uId="16888962067798068"> <Symbol language="English" value="rollback"/> <Title language="English" value="liquibase element rollback"/> <TestValue group="Cucumber" type="tse" value="element name is '${*LFET.Symbol}'"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="StmtSeq" value="liquibaseElementResult.elementName = '$$symbol'"/> + </ActionOccurrence> + <ActionOccurrence uId="17148667129049307"> + <Symbol language="English" value="setColumnRemarks"/> + <Title language="English" value="https://docs.liquibase.com/change-types/set-column-remarks.html"/> + </ActionOccurrence> + <ActionOccurrence uId="17148665274498124"> + <Symbol language="English" value="setTableRemarks"/> + <Title language="English" value="https://docs.liquibase.com/change-types/set-table-remarks.html"/> </ActionOccurrence> <ActionOccurrence uId="16888961797058025"> <Symbol language="English" value="sql"/> <Title language="English" value="liquibase element sql"/> <TestValue group="Cucumber" type="tse" value="element name is '${*LFET.Symbol}'"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="StmtSeq" value="liquibaseElementResult.elementName = '$$symbol'"/> </ActionOccurrence> <ActionOccurrence uId="16888961834058032"> <Symbol language="English" value="sqlFile"/> <Title language="English" value="liquibase element sqlFile"/> <TestValue group="Cucumber" type="tse" value="element name is '${*LFET.Symbol}'"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="StmtSeq" value="liquibaseElementResult.elementName = '$$symbol'"/> + </ActionOccurrence> + <ActionOccurrence uId="17148669434179601"> + <Symbol language="English" value="stop"/> + <Title language="English" value="https://docs.liquibase.com/change-types/stop.html"/> </ActionOccurrence> <ActionOccurrence uId="16888961919448053"> <Symbol language="English" value="tagDatabase"/> <Title language="English" value="liquibase element tagDatabase"/> <TestValue group="Cucumber" type="tse" value="element name is '${*LFET.Symbol}'"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="StmtSeq" value="liquibaseElementResult.elementName = '$$symbol'"/> </ActionOccurrence> <ActionOccurrence uId="16888962318108103"> <Symbol language="English" value="update"/> <Title language="English" value="https://docs.liquibase.com/change-types/update.html"/> <TestValue group="Cucumber" type="tse" value="element name is '${*LFET.Symbol}'"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="StmtSeq" value="liquibaseElementResult.elementName = '$$symbol'"/> </ActionOccurrence> </ActionOccurrences> </Action> </Actions> - <Rules lastId="409"> - <Rule id="393"> - <ConditionOccurrenceLink link="16863044558500721"/> - <ActionOccurrenceLink link="16863430490853949"/> - <ActionOccurrenceLink link="16863427635250773"/> - <ActionOccurrenceLink link="16863449559356413"/> - <ActionOccurrenceLink link="16888961650828004"/> - </Rule> + <Rules lastId="459"> <Rule id="394"> <ConditionOccurrenceLink link="16863045764502702"/> <ActionOccurrenceLink link="16863430490853949"/> @@ -508,12 +865,6 @@ <ActionOccurrenceLink link="16863430559663970"/> <ActionOccurrenceLink link="16863466074147766"/> </Rule> - <Rule id="375"> - <ConditionOccurrenceLink link="16863095566448138"/> - <ActionOccurrenceLink link="16863427635250773"/> - <ActionOccurrenceLink link="16863430559663970"/> - <ActionOccurrenceLink link="16863466168907773"/> - </Rule> <Rule id="384"> <ConditionOccurrenceLink link="16863095996909901"/> <ActionOccurrenceLink link="16863427635250773"/> @@ -578,6 +929,348 @@ <ActionOccurrenceLink link="16863449559356413"/> <ActionOccurrenceLink link="16888962318108103"/> </Rule> + <Rule id="414"> + <ConditionOccurrenceLink link="17148630616143452"/> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ActionOccurrenceLink link="17148664818857258"/> + </Rule> + <Rule id="413"> + <ConditionOccurrenceLink link="17148632845524480"/> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ActionOccurrenceLink link="17148664994717270"/> + </Rule> + <Rule id="412"> + <ConditionOccurrenceLink link="17148633269605514"/> + <ActionOccurrenceLink link="17148665080537279"/> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + </Rule> + <Rule id="415"> + <ConditionOccurrenceLink link="17148634021586554"/> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ActionOccurrenceLink link="17148665274498124"/> + </Rule> + <Rule id="416"> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ConditionOccurrenceLink link="17148634164616557"/> + <ActionOccurrenceLink link="17148667129049307"/> + </Rule> + <Rule id="417"> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ConditionOccurrenceLink link="17148634858876560"/> + <ActionOccurrenceLink link="17148667198959314"/> + </Rule> + <Rule id="418"> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ConditionOccurrenceLink link="17148635678386563"/> + <ActionOccurrenceLink link="17148667244779321"/> + </Rule> + <Rule id="419"> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ConditionOccurrenceLink link="17148637294927090"/> + <ActionOccurrenceLink link="17148667289739328"/> + </Rule> + <Rule id="420"> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ConditionOccurrenceLink link="17148637414847093"/> + <ActionOccurrenceLink link="17148667328179335"/> + </Rule> + <Rule id="421"> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ConditionOccurrenceLink link="17148638525957096"/> + <ActionOccurrenceLink link="17148667368369342"/> + </Rule> + <Rule id="422"> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ConditionOccurrenceLink link="17148638640647099"/> + <ActionOccurrenceLink link="17148667404019349"/> + </Rule> + <Rule id="423"> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ConditionOccurrenceLink link="17148639166067105"/> + <ActionOccurrenceLink link="17148667442029356"/> + </Rule> + <Rule id="424"> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ConditionOccurrenceLink link="17148639428927108"/> + <ActionOccurrenceLink link="17148667483099363"/> + </Rule> + <Rule id="425"> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ConditionOccurrenceLink link="17148642711897111"/> + <ActionOccurrenceLink link="17148667525319370"/> + </Rule> + <Rule id="426"> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ConditionOccurrenceLink link="17148643781458777"/> + <ActionOccurrenceLink link="17148667560749377"/> + </Rule> + <Rule id="427"> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ConditionOccurrenceLink link="17148643939978780"/> + <ActionOccurrenceLink link="17148667596789384"/> + </Rule> + <Rule id="428"> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ConditionOccurrenceLink link="17148644067258783"/> + <ActionOccurrenceLink link="17148667638269391"/> + </Rule> + <Rule id="429"> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ConditionOccurrenceLink link="17148644211258786"/> + <ActionOccurrenceLink link="17148667673619398"/> + </Rule> + <Rule id="430"> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ConditionOccurrenceLink link="17148644438718789"/> + <ActionOccurrenceLink link="17148667708189405"/> + </Rule> + <Rule id="431"> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ConditionOccurrenceLink link="17148644910898798"/> + <ActionOccurrenceLink link="17148667741769412"/> + </Rule> + <Rule id="432"> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ConditionOccurrenceLink link="17148645029158801"/> + <ActionOccurrenceLink link="17148667772749419"/> + </Rule> + <Rule id="411"> + <ActionOccurrenceLink link="16863427635250773"/> + <ActionOccurrenceLink link="16863430559663970"/> + <ActionOccurrenceLink link="16863466168907773"/> + <ConditionOccurrenceLink link="17148645221948804"/> + </Rule> + <Rule id="433"> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ConditionOccurrenceLink link="17148645369538807"/> + <ActionOccurrenceLink link="17148668219069426"/> + </Rule> + <Rule id="434"> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ConditionOccurrenceLink link="17148645478028810"/> + <ActionOccurrenceLink link="17148668249579433"/> + </Rule> + <Rule id="435"> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ConditionOccurrenceLink link="17148645593898813"/> + <ActionOccurrenceLink link="17148668282879440"/> + </Rule> + <Rule id="436"> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ConditionOccurrenceLink link="17148648904328816"/> + <ActionOccurrenceLink link="17148668305809447"/> + </Rule> + <Rule id="410"> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16888961650828004"/> + <ConditionOccurrenceLink link="17148648983408819"/> + </Rule> + <Rule id="437"> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ConditionOccurrenceLink link="17148649567578822"/> + <ActionOccurrenceLink link="17148668429429454"/> + </Rule> + <Rule id="438"> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ConditionOccurrenceLink link="17148649630588825"/> + <ActionOccurrenceLink link="17148668451259461"/> + </Rule> + <Rule id="439"> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ConditionOccurrenceLink link="17148651232325881"/> + <ActionOccurrenceLink link="17148668471789468"/> + </Rule> + <Rule id="440"> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ConditionOccurrenceLink link="17148651354295884"/> + <ActionOccurrenceLink link="17148668521049475"/> + </Rule> + <Rule id="441"> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ConditionOccurrenceLink link="17148652294615887"/> + <ActionOccurrenceLink link="17148668545919482"/> + </Rule> + <Rule id="442"> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ConditionOccurrenceLink link="17148652532085890"/> + <ActionOccurrenceLink link="17148668566899489"/> + </Rule> + <Rule id="443"> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ConditionOccurrenceLink link="17148652649245893"/> + <ActionOccurrenceLink link="17148668589769496"/> + </Rule> + <Rule id="444"> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ConditionOccurrenceLink link="17148652935175896"/> + <ActionOccurrenceLink link="17148668984009503"/> + </Rule> + <Rule id="445"> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ConditionOccurrenceLink link="17148654140405899"/> + <ActionOccurrenceLink link="17148669019039510"/> + </Rule> + <Rule id="446"> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ConditionOccurrenceLink link="17148654230445902"/> + <ActionOccurrenceLink link="17148669049569517"/> + </Rule> + <Rule id="447"> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ConditionOccurrenceLink link="17148654405985905"/> + <ActionOccurrenceLink link="17148669084629524"/> + </Rule> + <Rule id="448"> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ConditionOccurrenceLink link="17148654574685908"/> + <ActionOccurrenceLink link="17148669117019531"/> + </Rule> + <Rule id="449"> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ConditionOccurrenceLink link="17148654898485917"/> + <ActionOccurrenceLink link="17148669149259538"/> + </Rule> + <Rule id="450"> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ConditionOccurrenceLink link="17148654981665920"/> + <ActionOccurrenceLink link="17148669182009545"/> + </Rule> + <Rule id="451"> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ConditionOccurrenceLink link="17148655455125929"/> + <ActionOccurrenceLink link="17148669211829552"/> + </Rule> + <Rule id="452"> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ConditionOccurrenceLink link="17148655503975932"/> + <ActionOccurrenceLink link="17148669241909559"/> + </Rule> + <Rule id="453"> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ConditionOccurrenceLink link="17148655590155935"/> + <ActionOccurrenceLink link="17148669274649566"/> + </Rule> + <Rule id="454"> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ConditionOccurrenceLink link="17148655817685941"/> + <ActionOccurrenceLink link="17148669309259573"/> + </Rule> + <Rule id="455"> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ConditionOccurrenceLink link="17148656745495944"/> + <ActionOccurrenceLink link="17148669339009580"/> + </Rule> + <Rule id="456"> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ConditionOccurrenceLink link="17148656857545947"/> + <ActionOccurrenceLink link="17148669370769587"/> + </Rule> + <Rule id="457"> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ConditionOccurrenceLink link="17148657109875950"/> + <ActionOccurrenceLink link="17148669402519594"/> + </Rule> + <Rule id="458"> + <ActionOccurrenceLink link="16863449559356413"/> + <ActionOccurrenceLink link="16863430490853949"/> + <ActionOccurrenceLink link="16863427635250773"/> + <ConditionOccurrenceLink link="17148658906035953"/> + <ActionOccurrenceLink link="17148669434179601"/> + </Rule> <Rule id="347"> <ConditionOccurrenceLink link="16863044558520723"/> <ActionOccurrenceLink link="16863427635250773"/> @@ -589,9 +1282,6 @@ <UrlsOut> <Url title="Folder" url="file:///./"/> </UrlsOut> - <SourceCode codeLanguage="JavaScript" sourceCodeType="Prolog" value="const { stringify } = require('./utils')<br/><br/>function liquibaseElement (element, logger, tillTag, elementNameCallback, tagValueCallback) {<br/> const liquibaseElementResult = {}"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="Epilog" value=" //<br/> return liquibaseElementResult<br/>}<br/><br/>module.exports = {<br/> liquibaseElement: (element, logger, tillTag, elementNameCallback, tagValueCallback) => {<br/> return liquibaseElement(element, logger, tillTag, elementNameCallback, tagValueCallback)<br/> }<br/>}"/> - <SourceCode codeLanguage="JavaScript" sourceCodeType="Trace" value="logger.info(`$$dtName - $$version - $$rule / $$rules - ${stringify(element)}`)"/> <TestValueGroups selectedGroup="Cucumber"> <TestValueGroup name="*ti.check.Cucumber"/> <TestValueGroup name="*ti.gtd.Cucumber"/> diff --git a/lfet/liquibase-elements.lfet.$bak.zip b/lfet/liquibase-elements.lfet.$bak.zip index 2250f33177d0db21b250087d503c86e36eff9dc8..c11cf4aeae7527c9c5fec815bedbe00f32de0f14 100644 GIT binary patch literal 50611 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%0AU3-u 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 b$UfJ{6lCDwpT9}SkcTl00KnPt{Otb#O$x70 literal 34960 zcmeFZRa9MTqOD6pf&>o^!3pl}1b26LcXxLW?jg8)aCdiicXx*~NmlJzsa3Vlu6ypo zJ-5|-`P+CIFvobHeSE!lNfF?82tZ(9U_c?h@CrbG`d|aW0ht<E*%@hT+31n$nd+J8 zncLb>nCk1<QczJ-QQ&K9naIgP0fFjItm;baT<X4_M`~s^6SYXs!=<O2_6%eb1W~3U zG<1hl*;EZwt)rF(*YGB$^jE91ZIpiM{x9yIS<7QPOEU4v+YV6elRK{?ZHH~b)m_!a zUv3$$s!Wi&)KNm6ErFcTAW}xJy!-NQv>w-eub&<7SKIaukasrDn`bD+Zx!gi0Ozsu zvV0$PzIKtgIMR%ohiBMN1%+P;DRovh)u`ODZ};E^+5`RqIy!#H>vLNkj)j+%nyL|c zvB1$uhIW-g6$sBN*!cbC(kmzRo1fRg=f){T*I19yaZa^mJ<)P#NMJZ$>MuES11B2} z;Z2<ea;f#zPca@IM{Yt*683|1+m*x+AIZydMK83?s8BBb-=}7D)r3d$!|lL?AR`x2 zQaTLL<%0upl__v^r8U$hx_@|5xi@Gywy`(LbwAfQ<C)70<KHO_JGOU5)<R=GB(qKI z-WpLy_I;@+J%S)S*9VW6v6{HmCs0HY|Hc=cG2|p-!Gu0yy7HpSnuay(!8&~}AYjF? z`Fv8yqh+=H+3cg=p6Mj3NUH695Fa~vUy@LYQfIJycr&Lnvpa_)9KQ@};>%t7=WF~H zE}LyJlX#<5UBNZnRKB&U9hw_PPN#EXv}XpPZ?%Wx5DD^P=HMSq5I&PkML={n%-2IA zfgN1*_=-bWBRuX7kTGM(YYM-yB53mmhkYXmXXS3#psI3|nl8_i*P&=a<xegwYAP9w zNWJ}jahQ-5uP911pmch5paQmyC6e%R=oHc8%mHMEB@9~0j0?&CO8^1CYg=A;5%RZ| z2bQ8F@qn^w>_IwF(?mf=F%dYelz}aG0XPE%A({{@m;m$LP9N=6V8RsWyKntkmH3z} z3XfLX0nv`V$=1O+APRjyDjkcvGKB)W#4xG7XfQiaHT0GaP0x+N>`+V~y2+O4%GwC! zLrAnkFC-5U_#zzqmDr1+jW`jF<`pRG`a#ChWIipxpRKra83GAHs?C&_xKDQXbT<l} z1}~)q;q~@jdoMZUCyyPq&Y{s7V!xx(076swbnOo2m^SA=HuI&DN8RPCfhGoAH1-s5 zG|^yB9qr=JpAFMZ)rQpNN}C=?9bft~!p)fq!kSqWCmT?Cy&C!v45ue?U*CJg(ZyQ{ zBO6+;m@5&S>_Z)wj63y-ugus$Dz&^=E{~!MEC@M7!Y3{N{iM*K=cB%uCGMgQWtTF2 zZBrD4{Q{dDcxqNH4-krn>IS~T>?xdLcEL(A(>LaGF*`$tR}=4LQkfAo%(k#};%rN+ zl*4!+iPB>>B<<`GReB+=KO-XCRA3e3OluX>E8-<2^m?;Mx%nlH1nN9YV15$VH?k8n z0UyT(n&pK}7?ot#sZ_gB+Y~$6-9}t^3VSk}Wcg7AVm6u;sM*XT=cYrF)AXcR#UhN+ zuk1tf4k#l5Pt2}o^?i6+eS^-=mpqLv3hL^`PyTFCcr~|d4_p&<a5|0Ih&uWO7B>&= zISP1F4S{7)EYs~xNw|7Itvz<QvTO|*@GdM`0qdyIu5&zNJEe4>Lxh0E9Q8sFtUlWy zI<u7%=^W+Kn2JlA;T}jf%g6Az`hq(VgHN~)@7q%xL7T3*E#Sl>fTWhoIiz{j&|IP0 zOWU+<QxzW+_V5=~<6@CRI>8ShU1J=5gw~;_QBVg$U9sHRr_V7dpOGS^r9&>T<fHi# z-kr&z^S0tnewQxd#zXVX<5yn4d!GGvNXYzdEHayCX|i08IF0nBIB>gV&iKn5hv|9> z*1RFzN6q2QI^$31P})taO&RHjp1VN|!wV`er)(1t@gaF09qY}$cF+m^J2XzinXuP- zY1<zWL5<_A9rw`rf||i^+GY{2XQP>R!dAa)rqP6$%RC^yk8RdxOyRKE6s5eY;kHS) zoW+IJN%a6pHYvgCzfXcMmY<$78E@1<LDKL%KtcD+>%Tg>-RKH%I9YDSO5;?Bv4SN~ zP8rtMim|j*7~xgfJL97fqnJfb6oN;BYMz%mJxzn*n%lm&Z8f-Qp;&H4?G)O458u2` ziSQ(#VWZUk>3NZJf8cv9-MN86sDx@?>=0qvXJ}ESPZ#Aub3_N_4UhwJZ_LS5CVtq$ zqf6R}o$U-TTCAjzewa#rr)5jIe(61My2g3n6mE{V*689AttoDyGFGfXY%1iQKCg%^ z=mm{kMYWpLP*)zPB+U=+f6;u><{B7^<e5~jmxn1y5NW-ii#ygTmvDc~{oTR4^8JtD z3xbtOrmN^S)lEFJa?<(t!c&=J6q%MJ^1Z4c)SzeTkY0hY)wl05n?E)DaND|_iuD@m zv1am~Z;?K)s(~iAk}VYxpFt=7tg(ESM)JP7N*Y(2+w`;vUp{rBMzTK<Bgh=$AwFVD z{rylf0(mp(Yz^TS*_ISzS#hk?<_mQsIG9vwY>gDZ5Sw<NRR_+Ff1CR71dK4RwxzN5 zyzm??xHd0T$w?=W%5dxYrWTBIIJGB1mM;;ZF7v2k1{B=qRK?&hD=Xf*h&jiO%4Rd$ zv~xN1PJ-`&Z}nD&AH<TJ9Ew<h3{B1I%7ut{32+u}%btv#Q09w660hj6$L{D%&C){x z4kKsH`@l(qJ=?Yf-aOM+NZC&RP=0}JN5b_bdH805Y9X_xC(W~GKzk*51^xC5(R*II z=Z1yeb@7&htB{wf+sB;75w_LdJ`b;O9N>M`o}!NH)&tuTerGUjj!cXnE#`y`#xD8E zuvRWYauQ-NOh_e5*E9>!GQp6df%*IKmSuIx^W>GT7(qBRb+L>5`ZsWEi%Pvo@bI{* z2>I6jzQADxCN(*FA3MHsi;xMrKY>-*i;%joe(?l{RiLypT2ebp97dXM>`QO;RFyBN zJ}n86vO6yTI|6D&c#Z|3i;+P0IAY55@EXe^@N=ckf9aPKV#zL!B!Azz?k|5ubyz~` zYI|N_B?w0l2U|o^>LU(0=Z+o>M8G{#w%>kH5?$orEMF;Ab}R4ob}Q@FL58m^T6*X( z8=YJDUQ2HCAWM#%96}jn1v8<bROBRgT!ye}KT#wA;q9}8oG~Y{_KOBdcUVd>a@xiB zzMK3JZHf>kxOIkL_`yT(?XwkI=C=j7EEiSCuG6m1Ed@zeSI0Aj5#;ZgiP;EP?@8GR z1dhz^XM;`7EZbDt3hYWygH@yVOKQHFbWy7V&xrDs2*q|T^i-XHulF)hj5LvUJ4CWB zR;*&Q49l|;D|uSvD2XlH1u2oDFX_7qRq3r-m;K>o5{EmJRnS1bscg0ENIC-vG+9e9 z6Df!0j@p;sc}TPDQ0v60@Ue!7x@3`!o(g&yextfwj9!>gZxNTXUyVwfupl%#xce9~ zwPC&Hlhl+adKSxLg|^YbU<|^`cq@GuRFtY&rJpJ(bRD{^7^;chQ}08Wl!{T_A<-O_ ztKMjg9u$njt#pyC&oGgB#Fn$m(L^H6dhQ##epOPFUJM$;;G0CK4h1%huLDUKr>6s8 z84CdtvDq5a^DL`t@o$2m2zcb~rGs*jl0w_-8n_G)B$zj~`9L9)Xo9n}ZjE~oMG$SF z9dGp{-8xREhB4xV>pz{JLcrXCgye%fXDj2~lu<@Mb~|h+r*_G*BCC`5j&X!2fj}`> ziXqZTGY0^kA6Sf;B>iWe2Gyw5FB0N$Pl@PXGU*<-@NbWR#r7yHSq&k(x`I+#o(xiD z%v-By=1%5MFC^|7ZU{I74ZMz49wUqnh!rn%545nim{^}+@6HzJ5*d42jDo&%?l*zC zDL8UuMRM+|IdizMeS!w<$gmhMme#&;yz*+J(z2py)U}V|C&NU-ge1IB?^3GY-CSV% zv1LniWyqQv<RC?KPKlg&hctJjkV^QYB8K~0!?k0i$&+F<8wpZfSHw(3*h`69e3ZLM zV+dDD5q<Q7p&{PUL&P0y4cgS*V6;HCQOBC}2HXauI+pHoz3mRnUgf0~TKy+2;A=5m z_HaIn_`K36w?@$IFq-j!qsefco$a`!$i%W}+3v`r7!EEG;;#|mi;H+WysRws`ch<6 zL>vO`U!iuew9jPB^f&pqH^=GsvQI^Ws}fdlt<_sptz?r(cg~Lzn|Jc(Fe35lM29&{ z>ph5LT{f2Nqf8xZHkItyQC&u&vb?$7$wdxS=N=we7&#E#VhIC9EGi5c9>(E!0|nS~ zvFR!^iC@<6PqaO_vP)AN!F?_)28H0^W|A7%uf$p@8x5S=(c|m1eGNVpsKzZ?HZ^LG z8BmViBj$+DatkanC!lw_8y&>o#VoWVmQ(U@iPyEX*9045zYyny_Mkz?Ysu}LZ3`Ja z%=F+rF7pn-a1;&>xC~a_Q$D*l3Q|%wSzu|DCzon%KIfTKR~xsE!&c0$Z}4q-ZWLL2 zX7z>)gotF6Po$srx!kY5NQ!`hSvt7k??3_p+2sHMN&Xi_rT#k<MaBGgiVFUNqF&D< zwS!lRdKuP8?>jP8%n`%q#79N5PmoSfL(w#>rF{sZuTFBdJX{q>k6-g>iAtRn)}E1y zid(&cY!K6a5M<eL2*>1znBZ&{bF&=En1%3>f`QV6DQg8+qf7{O#_FaNH#~{Rg~3c| zcDLf7IB|Je_w|?pnFsO;NP;G=`1Z66+>9YA?b6QQbfLNKawZ4Uc}?$PPWVU&Wqc1b z{-(k+704Is;I>?-ZSJm%spW`gFhgnt+=r>$rxU_i0t?8}8408${#0J)Oz!zjmPdW# zK!P>~nm<2XXu5t<(<6ub&a8;5{8YZlg2dg;%yRtXgKiHbRhpR6SI^dOG^<^j{~Drj z#w1H!gE<|nXrB=7Yc5CZmv#=v#h*4?)&nX8(8Go`(3g%bDcb3*XO(toTK_GG0(r{J zWJ0%oxtU5YV><bmz^lcAel;vjnCh-A1%t0d8$=tTIMzRQBS6_R0!rC#XiRv)$@xWF z;vC(R)&fm6$157gFT@tfZ|2*;;>zP@U#{Wp0>0CFg$SkQ_oT&-_|rtfvISVkp$={T z4MWktrRVFsOFyzUt8(yHhDwLlDQ-ilCZaCqB9`w=K(=H}I}9xorom`d_MsdY2b&IJ zOSkYZy$xxht(`Wq?KOs|pz>y+Dep!O-S2f?yK5-zDA=<FGl6Iq?dXil-^(!~#tpTp zTRb6JKO_;-KigOvg-Uglgmhi?oxoX<VK$BH<k<=49DcO?2;(FpJ~p{Zl4y@qTIEOw zUS8XWM<Cm+!?aOYl$<K2{`$L_wIyUHgD~878cXqoT44sKX6&8~Qx)b;;T+}SLb+Z= z6`I06F?W@-!@V3K`-1Rxj@n@y><gH=nhqwvE1exmWbzI*rJQw(uSZ>iPAR7L@z3EJ zME2}P3TVQ5yKGRcaY;XV_;m(z6IF30P>Al|fhb?tzd{swaP40q%AX7(>0dz9-oJt< zu73?t#QzOMCHdKA+<%}?gX_7@WoHVXoY?<5{V@v%tUMpb5SQmFbjW_mA(F8wGg-m( zhVi;a>R@yl?FUY@@w*F*f_-!u>Z7Bcf+?we$!WA0BUobuo2>j}l*ZOG83%_@xrsg4 zX*A!xuau*CT`y);919EPtMb+u%kw^rz^G{4Xwpy~eQ(YwK45I;j5Px(2$b@uvcd|G z7pTO&vGawT!q}y=Z5lvdLniKQ=*g@(OgQ2Nqs80~OQ~&)J&ZrzEpF2MVe2EU2LDef zs+23EQO7MSu%7PrldpzP*Dg!>b?LZJZ5<gYB~lRlH0mwU8Ax;|MiDhl9O@m%qch|` zP!#V*Aww2dh@_8j`G+t=*bFqU&WopV_Bjb_und#9a9f$4xNO&w#~R$E7yZIFdJknm zHtwEdhWM>1eKu1}3}~IsZ7zH~b8p7rss25RQklg|AY#fJ%wC}L;1kF$orB69`NTXY z@?0#bj_+Cx)~>jdwzl1W5Kz&-&0Bb7ca=nUh2q~ev&zy9f?tr~#`^4dwzkwzbJDXj zg4p%R7d&ucjx6+J_{n~sA*o!mU{2rr2V7dC_KY?K)(@D^7dS)<s%dby?_OrQ78re) zf*Lj3k)QoaUUq@wKM$^rJY_b23>IPau<yEEj8&a;eO6j;jp?GsN>2D%f!Q!nri!@Q zT|qA<!dUJl8;|JG?0RwiRF@&yBm~QUgDXy13yJky`E7q!9&Wgyh7o-GvKn#eKDIq> z6S*MF&!1=#Cj-e})rOG~iCU!Jv)yv}hCKl$a`LUTObz4|Z9l&B@U!eDTI~m!6*aI+ zam#AYX{Y5)7o=QwnuHM7cSz`&YTsqq(JWE@WXc7%X#$x8Z?wU9YkzbRqFf=)Wgn3S zl$Ai5a>RAOO+Lp)QMTCW22D7toi{8C65oA@c#$POEsmAOBWMR%5!aq#c7w=HnTy=5 zF7vokJeC`66dGG^@OE>N9+t+m171)@<@<mwLyLn`P<hVKPZT6T#%#{CxkxoT5P8oP zBnT-kCaOa0Lcmod<#WJFy&6Yb#^gHd^GydbGKdJLpIHf-F3XUIS12G(+d?%(`dEiy z`LxyoeJR&<%D)UepFh3AW#?&osF8IV1BkA=dT|yX!3aQ5wdGI7`F{`;?0*qd%uj+U z;PM%W;C?j0&)O|As(Lm;tES`5t9ZDJ!(l`WC!mjUXOMxBJAw7}l@^rUX=#9>IKC`Y zZn@P68L{Yp7zBp?_K3WjppTt;kYG0}?wC3}B`D#8mNo`GuU8YTR@F2qmi0G;`t%1v z6`&@-%1qI(X-+U!sp#Lae8d~tl($AtToU+dV}N5KE*f|$oz*Y&5t^>7WGN|52of)t ztQ`C9%4c$(y!h}4$ctdI);V9~;CO$;wz_Ov4B8K5y+XRm&p|DsAX<UX7SuQAw3O~^ zy6gO{NdVdtL?{70@p_2RlLCe4II&rnDKS10<Bx&>EeEyD%xHx$o?xnSUrjkD3|sTw z>jg<DZQM)9LJGDMmJ#P%1A6rLAr^>4vcn-BjDGJ}iKhnD>v6KOu;ith#g(VVE57QT z9(m>8*I&8^v)f4*eyg+Ph1-0Q&AyKIzJAHpUhJK7K4XSSa!tD@+pY+N$1%@jY8#{g zig?KxfRjWVODt_#r9HiSDd?Y`Y0xO;s7Bb#I!!p-Ej>;6R8_O5Lt4_+@!sNn;dGro zk+m2}(=vAnVvi$~DlK9i0V2Ew)=a<8K1hic0H{7!060l|YPpp@qnp0&(dMC6z9a*^ zmVc_2AfC<~XC_!?45UN}z+oRwssSA4v{9@|i!Hm6q$(_LbgPG-`>}Gsab<1$Nwse& zqqElfVzQOVRw8ua1LG9YQjApy0<l9IQ)(WKcma9?t?hB}iZ!nsusPk-T0EbKia}1+ zZ9GT`vH90c@8nlN>s|V8+^<L~BDfq7HZRPhC(!4=M(UGOWa?Pk5wD$%Zp&}wLKeSh zk~SOz#|iaaYFk-}|M)AHOyh_tO7r@jr|R6HXMhGj>=K7-0ohZ<;`AGs7D!1`D%67U z_yV@7QC)=LB`B6m$9|j{QWnk87%6-Jda;%$l4RJlc2N54qx+ZIAD78aZG8>UaO`DN z6s13<j76^ta7)}|Y(}5iC(D_yJC!C6y;d5eF)Z^kDfk{q!t&#*3Ey{9p8{gk`K^L? zpw8A6ha-zXXxVF&J8c$NhQbbB3tT!x6ylo*$D9W#*1#pPeeN^<X&(J6O^kP3Y!Id| z+a8cbxtc>4#Q|P18;6%Xn>`j2y35!vARoCrCSBm}OHN${@jNCQE?uu3nLa`L^Q~m5 zWG^0{?F0L0wXf?s_8sDfDYB8Vp@?rc1y_cS_0>2T4(v(pkJ*dEpJYgGYEaNzkbhh( zWs&f#Ncx3P=1(Ysn1~^l>pdpmJszMd*^Min4%C6sRr=OgP*iVMJO%@5r}BmkzOj)2 z`FCV@<8`Apa`ZOZ?G0m%8|-b+*)q3-947ZVe+pTqkka`4;0QB_u9p?RkdM(bJVZ{9 zN2^7cABwj??B*ROjg5s-S0^wG&h+0C6xW~y9CN8g2@}astj*oE=*q?6VR&z(>b3zE z!%|DkP}7+?s}Mt@%6U=!x6md7A!#n0mbh%Yl0!H5RP?mq=6?9jY(^!zWVbzV+s@2y zGO$T=V=*t5Q4ZxT-^W1-E!tNf(QU?gJFB+MCEVc8Ax@OOop$S$psb+=ki>sxRHZCc zyqtsh($YQ&uCg1*3TopsOKJ8*lV+__i+im{)T?x(a4RnbyUE!VbB0o;i70P}Y4I(l z&cltZ{X{J0X|=MyvAu^a?PdL>C*<;c{NefxvEdGl|2U#v-vk1b3<@WNoI`yQk_k!g zt+r4kay)W8uTCz{TJ+6j+sm6*gfjP8_1FX;l;dv*1>*N_h$t$izax~`<S!BRdj8*m zQ0S-B<NraZ{~*+V5b8G%^&f=#{~SW0xX+x^CX(%FfQp<i4si^9CV`$L+d3U*4F2c_ zf9zAv>@q#quY?akDKObO+vM%i-MmZshPBH?JVKYg7R3G#-w`A(l!HgwMOCLKN%^@H z!>Z;I_2?YTj<Q=c)t*^TUb!C@Jy?_+jV?FWPq&YC83{gAZ>(67{iNE@)YwtYvip(y z=;|~zbP2>1>28e$+B!Tq-svSD(7sJueW`bR(1#_AL>9emZyCM9a$BwNWqz#lm{j1l zGTIp_K}l<fB26CQ6#0};!L+Rd4=+8f<A54h_;yjTI>%^_fZ^+Y#rjCR#d0&J0zv^J zc>At;=idAHwGNMI8H^>8cBh+bg0__9>I{_@>Dj19?yB-pSU(ot$@Z@%$J^bw`a-CZ zD8moUpcgn%%3qB4<I<h^6M6gR(t=fi6}0vnAiS2rhml5EMv`4e)+Z%EY$79CwRL_# z#1seszse}2zQ4&Ru=t-c3ink;!A}24Ms3xElUXU3in#xjQEPw5DC17v+0_N1B9>f> z^cY&!k4s3`lvo2zACee}m0cCeEF}7s`ZLWnRY)@h-{=|>;PcwaFY}{*J`4QZ0~L^h z4&uTr%}E3o)RrG)M5;G}A4qR(=|%{$XbplC0OK-h6N*Cv_nDWOaKOtS!7PwyZ&dm) zEJUW?ZLk|1^TsUmA*OU5mH}sqNY?(OaiuZQp{E|$vwJ!YJ=qs`2wxYSv08&1k*C3q zy7C(cE=!t!F}dy8*VK;-<jh)p^oEvqQh^>}z6h!G#nYT(9dZ0%a`v1nG@Ci?V_E*= zBl`R4`xxF|B|il1KRVR3b)~w?9U#A$oZX2zr8%{>MZdhon1IZ(!Kj2@056@WL)$Zw z+@PK3YB;p7D6EdJ527=t%-_%7dlS%6wV<x=Vl7M$46j{KPw>g~KF5B5OhZ6BD{)cS z9Ix^L%=(y2cPI!PPCZzbS*YC$WV%Xaf+k3dH}W$QevA88<%aCoCJgLRU$kF3>gf+1 zHTvb3jyibNQGv&vqpv!O=BJL5{H3G#e(ET{UpmU~Z#pXEcO5kh1<+9iT%x|;w5I%a z)OM6kE{pUtHP4FQ`t>`Vo#cGgB+O2l6Jhj?x$Ge6pAjllRz|9TY-XpD(}-V|D9;r) zo}!HpC-QzwE0}bb9(`_+4Mk^Gq2$=%iawD^>rzFs!tFFeAWWEhzxrn#1;X*7AvbsL zd~-0>6X%_RfEkVPgoqiPdClNv+EwLPyIQO{#WDj4;HB)DSFeOp>SdAx@Jib2M;ppc zl1r`hMZNU-y!H@v@<sCidIC76cn@;`X35zC&*Y)aY({mz@(sy+E4>K7TdgetybF^> zW2^~?ud!;hNFNDQOX#Mowms?z>tbUXX`M<8ih}t!G?akjAS;!%9JK6Y8uLipEee!e zc)4yNI~@oAVYM@r@I2$zupEGnGW<<PS^il^f%pBcqhf#4QBi-^Q3Jo}DAMFV>!`Se zKkKO2-*lAoZ#s(aHyu^*n~t*nM;%q*_h%i&_nVH2{Y^)){jQ_h|Fw?tx<V*&YQCcS zYMqkm9{6}`mNbaIx$*^fH^P~cdj;_ujL~L<bNsgvOqhU<wzA!1+rpRyc6B#RDpAE0 zNXo?2EVz&WKhTc8Mg^-lYL+_&7&B%JVfOi9qjfce;Ku<z{boMz2e}<^NqL!Gn;A^X z@nS6CzD(^%^+!kYwcC@`hL{`lQwk8PifPf~%s2e2f3i{UTP<rR9XpwPW<V2bD3<Pc z?#bLz{3!%xJ>B4yB6P+UKJORmVx4$7Wrki_vsP`)*41U}>k=H|$6D#KW=o7pf7r~# zW4!5Qej^|-Ll*oVq-#eIrDE-ohs?cTD6~;9P_>?*3E`U%b>JO2?#|T!qCj??HO0!e zJ(q8(OK{9l1CNItIS=s_b&Shqgnj-FBH!d@qRVf{gh+@sXDWUS$2N_W+HA;-DL8r8 zUJ``pS5mTjg*#5#eBh>KO*+RCKc~1xmc3uy6hlez&=F4xtesvw%D3QlUt=GDU#=ZQ z#ADl#+^X30KiEPH;c$7gtB}B=1%Y9;qiGKNkX@{?En^O$(Af<6p84SU!wSg<@5kH( z8cblMqV|H}jiG3oo6-n@+oqrjELZtNg<B%yPn#Z`>RIve%QX>ze~!;kS$j;<tEez( z8i6U9o}Fdrx0VyZ!-@nq);8ASqp@OqNNdc6d4_pKsaAi7vctcil!O1jgHnutM=9W$ zUnuo@{@;O8$-CuTt^cu6|FKd3u~C1H^!*2={>LcQ-Ls0DI@C_IwuI${Phx{E=$7zO zmc-GHkEYRs1EuVXCL647*ckweX)*LmP1XNNO^pN8R5L(L;pjh<Mg3A!tEobcQ>qL} zz0O3A05ui)cQu9ZCh!?5<l*Bzv+u3iz=&=|iU$T+pABOOeS991c4Z8(_zIEmrC2RY z_x7QZ0jWWxX2vSE<kq-ZwdUUy)zdFU)mZz_6cs9}f0x46zf@EZJ__vY{}QQe-ld)Y z39012{~4)f_^piYUXg0(6{!UOhEy`Le?cnljem|*(OCZ@q|*Kasm4`*A(b(4sTIQ~ z-blAq5>Yn?oKe=cxwpzYPSGbyDffMv6z6b?rm^;3(pQG9dI;iO6^R4b+t|w?IIwRf zk<v6L6?EgPOFvE4)0EvQLJLSfC<r${PDg$oKC$bAcfrfvBxQS+$!@KY7Y<7RLwEHF zlH0i?kFnMl$XIB9-qNX4;JP5-3px34eI&#z;xq|mYNCfA<Rv=f>zg;+zd)3Uk6FH1 zyY|(lLz6P#5cD%HH4{CxS@vP#yK?^5fS>1Uz>i7$HQ>ifkl{;YV8lF%oe2o|Vdw-m zSy`F?4EO=J{tEcD6J(+J^+TuKBnw>}D>?v;&dyuwL`!BR`kHRcUKf5gFsz}_pPu-_ zyE9Q%<wt>8k*wYDnXo7i1d4+5!&zx$Mn+}M)P1he>^N9@KlGjo$eL{Jw@JzSIZ<}m zCLY+2!Z=c?FUJgvwG*YrPwO7!94*8rv@lF5=NjL2lDuq7bf&c$w(M9G@Ytb@UHMrJ z375s~r>><LBfF12%dyk5uL9NCFASJUi0A8Ta*N8%`1*+LPMRlf9SDZfMXU6g>Dpsy zjimY&F;nBTTSSuNiZP8!HrSge6Htc|Rdjl9&cLXc)cmNZ0e+Vxxv`&3QQS}{I5F3r z#K??*7C0b0g|uwvS0JvAc!mj^)ZQ}w#sA!BqZGsSl9DQEGAodh;7X%TRw(xeeMR<H z#l_JAO#dajxd?G}dT8SI&X3-5TXv&!xC<6M^npR6v_<u&jR%7Vso$nd5y+b5zDqL8 zJTJu{9cIbWy6pLXjdEAiyJs<y6B*!+YpVgx**_S6Abyz?Dt6u;hvWPDA`?3=@nPd7 zKG+J+;Gk=V&G6i9zcOI}SKPNYZ2cW=0}$JDGKIhwIbMV2YwwZPotHuqU5yj>ru$jx zuhH!~6`3vVI@XiRIT6LRNHEBah(*dfN$CJ?LU93b)29u3%OTm#Bw6)FH&s%Y0`yw{ zS6Mam>Y(IYfM)^$6y-e%z^%Gq^HnrCfPvbq1;p;e`Os_ii2;tQYXRW6cEW0`hdd?2 zOsuVxve)7xQ-lX8HrxV|Z)`q0gnZoSACdvy7-gq6CtZ}yw3X>5m(E&zzhRrv&y*i^ zI6PWM>OKG`2UR;J8=w(KZI+rCwXT6yn^VgbC1Uw1zi=D?mPe<UjKm3x!I%^(7UMHO z7(pggOs}m$YXrxdkD_)Rm8<%ey0OUcKhk;fCz|MK)$xFcopDrZ-3I3ZTNhUXW4fbq z**=`+S6mLfRRv{xr1?_brkf|MQSdOy9WBM=z_=T_P8^`xw(H3y!yicpsc}@RonJKk zDzXYJP@3oKI;2zMc`)7Aa8@*_r&?QNJvTA0^`cg8%~cC46O4D-MW(3d4X6jcw}F)8 zd-E5ZjRGEvR|Ql-j;>++0m7%<zP<`h8(_m2|CSWg7Ps%jOYhA=!_sS+BBSeHifsC! zYUK$Y)X?3Zi9K$XH$l(H%AS&6sLQ^2(~q=bf=Gu~PQXNBwTMMK`8=WvzI&27;oEI! zzrYE5lsXx|nA=#hWI{o5i#Cs~XzD41f%FFtiC+6$8BM2sR(7h%lz2ljOv6vOvYk$z z%abp#z%14n!X4>R*E?7v=+v^$_NM>-gVXW+24DS^4z`ml*?0(6>E}-`7_RZ>?!e1k z*y7VkeQtEEV6HFJSnKkcENM>Xc|a)8@n{h!2B-Jf7t`6S9)fAv5fh_ZVCZEQxCd5b z&JDb7v4<P%R2DIj>gKujpI8}dCPN2(Q?qEoO>-~7m4&@rZ8x_unF&{Sca!+aTfg6a z0_R~!@d)gas7j1P29Fe($%=2MB?h5x;oEF<uUpTfQyAV_pmiImtYpO%uue>Ko3(wB zX1M8YIKrPhHSeq3cc!`i_F3q?-=lKebX~>Got?QW$vue#Z2YqBnCW#k;V4{$vpAQb zzJSbghtP7@v$rr-%0C4BdjCbh59sNG454W{-tnhFDD9RXR|Bs7W^2K-@#)wGOB!n` zd_iAd5M;V_TD|2Ir<@v{q_>~1&cIq2rNDegNG_7F_`-Z1|DWoqT~++ND*#gk|E8yi z0{$JQV)#2#iOv3@rvT^Ao>cuuKu>CP(_Y-u2)>Up3KGg7K^g^GbO6wk8YZOrmGFz_ zrtI)&kxuy|;it*g!7QfjlD*_+f3?0eb+)q7!%?d*b?Ddj-N(5MSaH?21UVEW6{aIz z;K#*HB`8ezN;4Y<(oK__Q)i1YdvQQ3k5~YL(g>EFrv+%{BxX6+4jsy!y6e=Na<?J% zS@0JjpQL4<9|2^Vgg|SA1Ww*yOw3Iv`ZaEWN_4wSTCjxnUmdx2=7531CE8oBJ}w)R zHTQFRURDh>gc47uYZ>x(pcv=O^&M|GKm%%0dVkcU4&20=M(hWHF6I*6gM%GX1FJ(i zH>u~QP4ua-Ii%19*SadQwJ5qfm7C-UiGc<AvvkQk)`cXW?Tof$dsH7ZYsTB}6TTpF zBCsomuzL74EbOWI8f}(EkLr0Iq%{qJzvyTzAd7E`eJsg+%vl@a4W#<S9>MRFTp2f9 ziy{GNNtv>0U=F*pzFYF~aqPFg8KWU38?JxHFO?t;k{UfJ)RU$(`KIqjVrL>RnZ?#> z&xS$=a#Oq(U3K(aS{in_z#LR-B0UtvL~A0hU!m>Cp8>y?$IZQ+yq6gwr~RJ+zm&zd z`0{{&Uq2SIw?kV2^fuVRd5^Ey6%E4UVLvYOas1y(QvVh3GpVZaSAL(4q!adAz>hP{ zG^|XThP)Z=ZvnsWr2(b4g)Q{8@<u;;jX(Sm@FRQ;`0d>-jCAzx{Qxuh@aKS^NS)%Z zfFHqGwEGHFYHd92vQ4{HT50|#2BGz4n=UK^cc$QnMq)yX0*Ba8m53Qdwj^K0#Vt5^ zk`3yVQ>E#lX^K*B$&m6K&B1XoV02f_syy88TF5S8sY^$b1i1<0$ZL^EkY=a8shFVS z(DhNwpci`xZeU#P-TH95t73*>^b7trbbA}zYHYj(h-!`O5`mic20Dx1(~V#+z`vKb z>7N96-XtC&xzW?9Y|?`|flSkDe-yLp!2dwYQRA=j`do(EPzYu-5-14}sJGAWUW9gY zH#ALR<f4qNraz@fdBd(V$*75*!dVDV6=qCk6j2k=rt`r$81_?cr&^LZ*U@+Xd@#`M zU-h`6@dhPRqp8PQFzPB)0;?2Fpr=Jcp?q-F>;`Rd^$8E{Rx3^xTz&{ElaD9)&<(UB zZGIDTS_H&n>op7Ta@Pxs4|N8kuB+rTtpagA$5?+V2rtnFcWP_S@m?37&P41~E}{o9 zc?U03`Bhw2BV8YFee}7}r!~?Ta6dF}x_3AX^zX!U^N!2sN**ZAyX|c+{LNmvpBaqF z=h1u^bfv>Io4H?GQvOX#j#VVW<o#$qG*H}O+TnClh(5?n?)&Bu<<>0Z?Pxw!80X+< zRktl++Xk#EP>aGPT`D%G`q(@?f;<I#l&D{p`O-TU>E;nv3wEmlO+eQ3`0NH~zK4HJ zuYZdXP~zZ(w~p)Q>`;5fu%yrWu|M=d2~U8+LhoLr;c8lyO1YjZza;33h}zUsHav7> z!&@!>Mn83%bViBX8Eh%_at`^|niP1uMO#XPeDPADEka4@z<7w$ny=g&4)MliA}beC z?@&FiW|$TX@1mZImNT4MLBeP%VaFR#?4aOz5NRxZPO|t2s-W&2D?uNmbdcBzWaBfO zm>!i2R}aGodl?Gv-K1>1pPi`_x|hPh6OTFT;5mxMO;JohCK$|7g1+&P!bDA%9-*-@ zeJ^fIhH7wL<>^%0nD{O15;~H@=Sv%~vj(KJ#C_}Qs+#X3M{Lugnc5*k(&9|)GLySX zwGeIk>q>~E$dRxaU$G@)$IY5G`}ng<C(y&wSgr5k4^_+?1$nLDe9MP9JFdcJVDzGg z0^=4A&gqS)XdpvI`t3rY1ZCx1I39nd{w{7hCXj=Tq1)ee)^(6#ePf{63einbEi0|~ z%1^fMR++iFmJ7o*w!M$i7VzjnF+AdI_0g#<kn+8?%FEn)3Xz14w1+GX#$bpM59_X5 z!#F_Tk5~C?YeE<Gju@oW1ZG1>nX3HieElDRKSH!pjnvc@PC3~E#t#5VHThFgNfdTP zn9Hpdxv)-X@>|GE6|48T3E8JFDj5cHW8fNV^^!Zd8NgL$2~tBExUG0S!0J(8)7uS5 zE>*?sFqzOqDqy_^{!&Q+fj@?TX`|_%fxq$Od{>}tk!-W?vcpidq3z`f3^o{@pE_Bs z-r;)9uLFnPhaQe!$3`p1qa>eIa0bseNuBQjBvrXbsYv9k3F_xGfTR*eY%Z7jDXAbt zi&%0jG-KdjCDk+K#+Ewb&&Je1R}J0<*`-w1Y<D+N@Y}>BaBwM%SVn4oA$INlUyUho zhPfMIK5u4vdNbWa87S>Aw8iD1H;kXWy6iil4?pPyit>U>m5f*93h|rZ3eR^Vm~6PN zSR-eiC82vJ&vI;4GWd!K(tn5r<~XT|+FlAWhxuM!zSB*RE=UVLhhKK&Ksr2Xs*>U? z0SpKDyEzR~T|1%`JT#qhnt?`F`%Ki?A`lcjogBB2mZK$t=Su>bWs%@3^U+zFYfk~f zPU8rgOOVKq*Y2@l!FFT1x&P?3GIg8NIJ~%F+t1nBO$WTU*j@AlJz!#1!tH`Kc^g<g z!_`=P-2aqqjvMwMQc!PF-ve$vbR9oI&zzm)1x_u;1AkrpU8d45ZU~QhT=e)e<Jg>A z7JCh5g?5i`U@c#PDub4U%u$k=kxbaDq$0p?@t9YxtfF^g{qh~0-dufuzP<t8NLfSi zj39s;*h($`zP*7Xy<kc~s2LFW3w#ayH7?w`5Mn*O5sywnIP1%LX2p^lM>F#?2L%2c zeiS5YIk+7P6qW{iBCKhHw-wya9~egt-K3)dbR(*Ks^hZV*46Yd3DO574HC&bRpJ-( za3s?zS!(A!|Iw&sjh@S@d6JnpKQbRm7}2Sj>>Ha$nZl~`ND%=9E<kC@q=hK#1x9W| zxo!GlL}`5UVbXwlhA#!o4*d>#`||DStwnvx8@Z^|yJ?7KptP6LL+pqB(}S%Zq^MU* z1^jBMDzB&AOo@Nga>f_KP8Cc-^5qK!lru^i-!Z6%O^O1pdO{c_jJx>l!Y0cyCbM`d z(TS>Dr`7T3GYIJKzU*!b6({h`2!<61iE(V!dPxsB@R?-k6AO#61lItrZqO}alis8! zO>TDR#m-XFFvt3;Z9ZJjoa{&+A$@K`49P`nOLzIW$X`n=uvhP$94}Z0(YD7cXE`oZ zp~ACMvPo_rJGII$qu0XJ{lm&!xZfi`GHLy-5Qldq;O>ldCZd4WR9AY`%~~cyg(S0N zg}<BLD1rgTG3A4FiEY>r5k<rn&ux+cEnl|;lwnM^{3o)Sk?(yg2GeDwwXE1_cGW$H z$f&$El@hU48lPIL09W9_^b|aD594(bP`0Q}mJWcM99#Diq8w2h29rghT~Ae$B85-Q z>0F0o-2<+!F_4Cx<_xYc!0yl@0IexMV8LT8HG-}%3&JXri2Q2GMoSj{3pV{oIz>Es zxlus_HabaTrwr4ud}8MLE}IY6wmZ7i-|9f<gbyj@yDcycgDrnX{=~&MGmcw~)2yNL z5xd+KW=A;mPL>bWvA=;<dt7jW$cvQeBhGewDX_AC#5v!%pi89hZSmqA#j;iRZzjdX z8t=ujrC?8E-@AEedOj>~zFgE#hXTa;WQB$gc7`A(C<B;0*AaY++7H(niSBW}u48WV zwZbU$dvm_!%-Uc48Rv`DuMqq|1;pt-thg9hI1xl>^ZrXq%cx^#6rHjjjfq<QMee22 zJrlHAxDVz7g)w|jMh(Pdd>_Z0*C~k1c*v3LdAXep#85BytT1UuuYGWDsvmb3D5yCS zqs=>L=n^Fa2*}`(NK3}2xd6pSS)~?7_3BzMZ0FDG0ot$^D!h983L<N~v?eNzZpN`n zP<8^cG!zASHwVWWd3EY8HL3U}%j8|0Y7zd+7x={KU)7S4G$@YT?4PDi`Ghp|7~S{6 zwui)9Y~Qi0bM^FriyaycdNB3Z&!)=kd1qEqF+B~Z(80~+Dp^X;_&&C~#KmS?C6Y3+ ztx0axZ-yUCA%-+NzS-S|<w)A2J^uVCF0eS)pv%z1e1L@MBqg3msVe<|i?BI=D`HK` z+`GY9r{nQfu?(`Xpq5UeptPkwB2XN@$IfzvlQj{KGYI?P;S9H_@v_;&wZpvGFY=+X zV6OlC8G=ld))QtY_6dfM`bCju^KR?z^VqDF2JbMt%c;k!iUNu1FP{Zq6V-3nWRr*Z zKcAPNqW?QKeW=>_IWO^g0<g(qp&IFVS%d2q#D)={K}ZN;stY|BAF3M3Y^)Y}Hdibb zMIeu?&RHl~<+4RXy5jSE9PWg@v;zDndG%+Es2#SQQ@)+8%Nt4=ti=kV>vqja9^hGE zGE43m2!hPzhqDm)`G=<(LJ4t=rdpKvn<i(g_LlWGnAoQXCSP$6?nc;G7uxWv2u&v& zzzCX=S1!Mpu2k5tu5oGwR=vpr)_ueJCXkJGmlm>Zu4@WVjB@*PF{*|A&FUo?q$=fF zarb)RBe39$rBgikXS7K>Q*CZ+hER2PtQMQY&m4vOlf_55j}N3LGW%|2Iv@!nIb?!g zG$l|^wW&}bojbh6$JWt%gfas!0=hy%rsCrp^id`~M?3R=u1nM>yMsNsysk?yH&n}T z-j&{_ACB>7Ud-@2a5fcEg?+L|s)w|^t5kTu#(AXj&>z&O)V?LVNY|VUj^rP`GnQp& zvpjAx+)cZ1!#O+LlY6le&h@fOH0;0l;$%leHr()zKq_IFzo~LkC>Kj{5?E+jbbSz4 z{)hGDRs6u&-6|i7*pcq@4!Yo>kUOyDwwTWWoh40{W#n+i>9kGaLv-5XJr3G4oshfT zTop2v<Zt5=nra{rzE^iT+_@mkADXZ9;!>bVsj@wpI`He?l!KS!u0M|2*HzE6@)Y|^ z29!^0hAK|d1&R|({iPVyPB13w#JvKkaYpE2U|Bq|`*jLQ7w#RsF6`i6icyeD*l}L; z9c2h`-F2$R4hUBE(fF0ObC$dQ;%r199G2~SUrzwsB(k1v)A7npK>>}#xrWA;(W0y& zGs<jeIYw5|256F~5o@8P7031rPV~Mkp;hm7;`DcUci;>85UIPJi0p$idRRM(zR3st zI0>dZof9#y;JVyF=(*;7tkHnohfS={G2)fsG~UqBS;lwlJ09+Y)75opJ8qa9+O=Ob z4MUxz_V=X(x*~^mSpfy4zgu=qzR%&5viD8|`HOXQ7Jvd?N`#F;?G)@j)ih=(T(n}$ z>5wmOw`%h<C&ZI2+F@vgvNXo<ybrB0t}oNDEF-*Y_X7OjK9L=f2~<C%p;RYS(s_sz zVM?(2acH?Q3r73A50$Rc=qlKR+>Ea1rG-S!A*MFQ^t=zf53E|QpiC-lYTz9B1D@qv z{1Uk`Ibb#8h$~4C4#IjMhs{F2G_53Ie=z^nnDhmuGRviS%J|bqK`~)wXgLFga=%9H zG-)m?%7-yDz#Wx+=%W)rs=w+NG;<Fbbe2D9!Gz;o{b0$edS?X2t*!YEDy#6@D>yNn z=h)lcL>)bMKXVvk%qs)HNz(M=U*{ztadLeB$-IQmpXViRe$7kl3HE?#W&NC&F#F5A zL?s!9G1%U(d5IZ^|8`!&h$R~hDLgLe*SrMGpXVjg^BZ-Z_~7h}PN~5-K|{vuw2xM@ zqAhKd<kiVO5*E>(#&@ENesn17?p4&^Y&gB3?saLrMaS|fv}J(E^mXuf7nL_?hJB^= z++lnV*3s#T5kU1rv_OW~IUNp*+p&>;<fi9ZmvawS6iNkc95PHX?p)|XBlz|?q}V^< zs6%-8?hSutq^ASHnw-s?A?`u?Dk7Ag0Dp_O)$;Ovz=f#HJM4Q0vSX3m9oTgTa?a>J z>u0+%{E;QHY1NGNz#(a9Cbwduv6(dvl;lc-)Z!FA?;vlVFR>ywbKZy;zxE~^HZNcI zCY&Nq*J<Ez&|V-J71TLn<QNE*i%Sb<vibyP$eT%Kz{b+^N#+?hT1uB&+#a@<Zr4?% z2DuVEYpEQkCMM(yTw_I}Nw0<U$9?&HM(h#To_5?MtLr!fPKjSe3K>g5U%|=O;{6A; zmub*n;3VK?h7ce3a_E0HM^;yU7y6^qi#SAwgMpe)kKI0AtB#~KOwR-*P9GK{pMvhW z*7a$7$?sQFD&n;%1)T<HN<HqX|C6TFdwv9CSgDXNC3VT@Aqk)L0=1Y<9xw+31a02r zrz_R(=Vv!|&soCqU3(={T`l>2!Fp!^VF*}1Y1XmYC-kZ770@h~`?)poW=4t$aX_EK zC&9;&(*MglNflRbDUC?Ag=TBXgZ|cS9p+D5M;gR;=PEpLOf56`5{F?iQKhH160vVr zl!?oYurn^82&8`BnvnXnH9`L8tqJ`1G-YqZWd0uS!}t~N)BSV2PmpS=t~r_IHQv_) z2Z;A^W7ELWi*1pSgQDsFz{$wc5iMt=7$(1=Mz?STstr4qX*TBR^hA)!J3PIsO{BvL zw*v(VD<)^877Z@bN?Ks5elqMs{W&%<8JT}(G&|3Y3^ONIz7z#7kHC`(s7jsdWaa&= zN@<CbnI_53;kXT8r+k=+MiX91&JQSX0OO99HY^zSfI&B3+*7D>KWjlsTZy?z1pOp_ zM>$GegctT&l`?mFtxCc03>y6Kv0p#ZRWPHZ2iE!{-Ur(IN4&3GTyz33DZ(`CD}EHG z)EtfvhW<0&*8}GAGu{_O{D_oqJ?{$)RrPai0xuBvb#3CY?AO|aCO5EliTeJyb8RqP zDtVDpG*5bXZIP_m8jnKW{-zw<$(wYXM^d{i(lmzW**1Zfx0ymv!MEDd50N6Vw!$iS zDj&o`(3Ph;$^s}J#`+4oarhDxC-4i-S$0h$k809UKFaK(N~t+=*lu5mj~Fw2Kw1Hi zQws5mmN109bU|VhotmH!YY~lG>W_kKJsgpp1z?^lyS<GVkNqrpb{nHW+}@Xb;UiYR zvlo%B+Q`bQbsJ2&JBll%K|MG^?nP%S??g2q%onj}yze9#v>Hxr0;?A<a)=eB4lU{c zQtB02qn;bnSfge(wwUOVR}Be(SpFbiY$K)suuq{)0I3vyhF1HtI7PV(n3MpWf>Ol; zG@yd@UzaEfngG$i|Cx)ru@(#X-?%8eKf5TlcN=svu~yQb=Tg%zBp>7O3eYTl<o-7< z>JH`q%tgKYzv`mk{tsQ$F=$xHPZ#A;`d1glR`%5JyNkL3xG152=Az~=<|<!Z)G!vh z@QB&Y{3*i+zPL?Xk7Zoyr-Be*qC)IVRQ(8Kp|J?B&6_g8x9*K`NRI}ma{a?lj>tYt zN+tw1SwMKFR|~FzDq;KD+kKgDHJMb6*|dewieYFh0N|AT3QkY}aC-BAYyApNB9jVz z91Fk~{HS|d_QpNsHZ~$dy`r;1Bpbc<!Xv5Kyj=nU=EsaSZ^OgQ{{SZ{#*VvJa7u1* zjI6G;#jZzq=J}c3qrKV+W*t*qh_e{^K{Jwm94OkYhjgVi@g%}LgMLySt=rM?`6YLu zZ`S1-J|e=oiPHI2|MJcZWzP;^Nn+@>>c8nh#Rs_@^QFva*@E8tv{9{fpsLd*XU25R zF~T)>oVa3uAZsK<6X1%|JLv4Af7Nj8Ie*7MVe_7Hm?^JrvMyGboA9y?oY6j>k?el= z{dbMlXWeiwN9-iaPFf$Q!l&_I$_s{?G*U?=|A-U`55F12F3x8eQIHWJ2>Eoyoq=s3 z<~zXR1lv4s5DbULV4)Mj6vTOpheq}cVD_LzqoQF%Yty|DusDJLx;T-yw!ug5sUro1 z9T($a<zyv9XU~GLY~R9u$N5TD5WRj94*;^#{f(@GnvwnuvZDJtS;13m{Uoc`6A<!y zC99X^7VlH2ZF51>DCe*H>ri}AASxl%hKmq~6FI`6c(QS-?Bm-=Pb-wfb05t_B8^z{ z3&D4h7NVg0Y}|KF(=V8wo(3jCYsi9|s8Fs(fv$o6Hr(g_I^5^}a?}?+p+HH|z2#P_ zo^o31=m`qO)`gaZ!ue7M>dKmsb?qDGjNI0Fv!09@c%)+gIynJZ&fsb5NnHl-S!Dp? z?oVcEZ$&?B;eu6ZIBC<4Eq;i7=Dlno0mQ@(0X!q(SXh2b@&Yu@sk*Eeodh5&(J~`$ zQ<OhVPN=+2PADwrPCjV<^T`Ru-*@|{^4{RI{r{J&d=l#4P<tu<WwuXWIR+(1JU>5> znsU{iV-8g-R+q)K3PdB$FDM`GFJzSnX533ftwB|Qci^{k(hOagGl5e?4n}L+@dL65 z)jvCsYIw`KB{Q%x89%XW#Gi-JcAbm*)C*obz*S<aOz9&`D*7|iMTZdErWiAyj8C%e zyi()z`WSZSIza@=KP9W2;eWE*w}NQ2S{c8n>$5vT9DWpZYte!|iGvFutDKy_?e;}2 zrT*h?U!D%6SToRM4b!0;)+tBjQ%0$men8_jwge-+D5SR>jA#ZG*3PhHA<m>$5jzTP zkdaih#ZM)5^`f+!JE3V1GZnROIgR;;l3EfyMYWKiD$JZrFQO-+{muu+_)AHVIM>m3 z{~Y6hc~w$Ac%lkwuS$wNvBD+LPSFHr8ggRNE|_kLc_JtwwT$y^yxZJT#?&}qBLXu^ zDbDD>HYX7Oakvj&nwz*MegBZ8`m4gB3<=S(9;Y%7U<%Nrj9*k+6T*o13elJYFZ>9` z#qv`=V4I`(vmg&_5(xk3m->Cw<fD2EJPTt12g<o)i^G%5>GWcHLmrT>&P`U?DaIV_ z`Gp9%KfX){thTZBUpFU=e%qW-|Ft=Rv4?^aD%+u9?b#T{9Z+ZVgR*sM>;QHKx>G8| zI4+w93P;Tjlm$xd<X-%i@59;g*)BP&J}X>%Xn+$QA%(@~hiq176G{|vv0T}X_AzN0 zdXK$Op3U?x3GgT1XViDe+xMvP`&p+o5TxQkuzXH!%23n@r=P`Gz!~H9wz_bw+F5`- zgc{rMtw2peL-qKZAvm#o8hb)o&ZujJ4Ju!ilmK>6{~|z1ZF3goL{NckA29i*^W}+W z@A~n(f~}oRv#nq)L_cMPU;~Q&S*S@yO8taG9>nVpl+|e3)i9*YJD@0G{BM^NeHDiE zGJ}c&ycOtTFi@X9bUV2mU=7oX!Flekl-E+Gr||@?R6U9k4BXAMMX@<lD%u1E<1vUZ zuU=MV@M;7+Xqpaxv#Yj70w?$Y{Z@`*$pAv$R`xz=$?|?Na-wB(<--<Vdq@cO#N@3( zZQc2OdQk=Qn6aB$6M-0iz4@73oqiI_>ktL)^TYnrLXE|880GM<A&S4H{1gDiDebgh z#VJ#Pwh51AP(X3&XUeb9`NH{Eaq2bYXYpUfsb48S^VgIg`oBo|`D+>Z=i^QJbz{Ys zt~54C{whvM0g6*IYZD&RfRrEUKPgVN2698;8Yli&aq7=0Kf|~Z=f9`?2!5vgKwndS z$bgie;y<SR?EY!WZ|1KlzpsFlAN@b1{6ryj_g#IA3WoPoh_(j9d29Th271o(yw&OM zs#jOO{is9`T<Wc!=8r_|Z3O}Jrj(cY(Ldh>()VEW{OnEXagw11jpg?lk=l*$8fq8V zgb@P33K|LYqs#wl?<|9&Y}`EzB8W&Sh=@q3bhjuiAe{;*(o1)UNQtD95`u()bV*6K zfTVOPol;7}QhT0f7j*GGuV?-<=fgQO%8WaF*n7|!X7=~ozx%p6?Rq?$gu?J=ZUe!} z-~+%w@Q}&7#Vp6X%|>qd<a9~EnsSweXbLJ_io(#$y0xvb0O=wwfDMhd=%FCg@d!58 z`0Dy$1ADo@q3!8{uaPrZQBh}u=wlVL;%U!|4GME>iJkjwAu4c+A1gPL3~)CkImV8i z`Vk7;O>HCJO>O6*HX_|kB|6rih68s~b$s0=f$BcXkpuG@0UNCKV8@RK(edNJpWO<{ zcpFV-<*QM?3@M^XC0wMY^v<yTSes&JQrxy?pY$TPHhY?z-O0aZu3e-*CK7+5^lmr- z4XIJ?qjD~$(8w3?j$b35#!<(Q1mAX3DWbowFKOOP=W{eEmVG@W+2kB~nfN`LoR_|M zm^c$U>DL}XKdd(53hrJamNikRzZCi<NFysr`3uRA(p^RiqkDLDWMwN7G&v+bggUyw ziVW!ZLBWn68z<25Q?{Rgc9ss@;?EqSRddc1O0apq??cBtD4A}s)on+4V>uUV)4n_7 zHL#J2wZy{)Hc~;#C>fy-HrtXZUsAwQ=?i}lHo;gfPKmeo`*k=DPL~54sR&>rWxd#N z*5EPflYJi9K=%ya4(Azka`z6H>b;h#(SxU(dC9CaUXA*|hrY(?l1f?fht^DF%ug89 z3fs9J0Vhv4x4@I9Pp0GW#$U}7fHOg+!h>l1ahC&`>;5v3vcO{~k>ViJ8G3;5rvlXY z-b{gSyJ$Whl?)aIErFt749{pQ*HsaK@izkr_tyGkL(f+3zjM`Mv?F|pNy?vrM;^yt zG^oBL+e$g0TlRAC-H<hW{~llZsiX(_w?yX>c9<koxW+LuajO~izwmL~XsG72lC}1@ zerduCs2YlX$GE5b>4EzFH8!)}`y}+Yq`0xQE^|T(>*}sn5i*R#bG-bjSBkB*XP4r? zV~i5OKG4!_<AWVF>0(f~a#8-ww22|u>U;j}a6%a}A914ug!4Vq^=MWIuTp`gdr>D^ zeFuwz%DAQ8U8o)@{#3?5tIxVYNhcQU2C9s)Iv3jdBulaQ+}{5vT2-r?;qI1xy7}5t z>-Fl@k&^p{Y<=xs5es@BI&@zPd*Em&qX($WBmn<^ryu}-u(^|2m7cdVG!)`Ci_uAo z<93tBbx%mS?A$OO$s=oPs#JTJ=3Lknt8AI=a_;?o<-_ll&3KcJ+ItQ#J#GH8rf)s? zv6Dy*Q-53&bPc6m$AIz#W9}x7`gJ;Z&54pg6Gsc@3JmKetXN|Nxx?OmZ7-ZKCwzIk zS?pA$n91(FOJ@}Ng_~^KfSagyz)jQ-omUvZO%&Ts$9QH~+|QdRN#G`Gu^3M1YXAs+ zM>kQxLJC3X<2fSqok80Y)2BHm^cDRJq3`W2>GYQ%q0e&mH0jlmd|D!6!nkWX7T)W4 zc{}Oc9;;N=*7HJkbo+>fl*K~pMTd8#MNDIFjUjKvM$VV|x87cW-$cDXzKJ@NF9vR+ zZX<4@Hd?`(D6PN_hF$vTRnvbZ^x?@d6KoIr@#fTh!`(OoU^#p^Dh#+K===&SshoYr zpnTZORjf3!cVbMwf9mC-s9p)2Icugdi=`Q3tzesO%Mk7<_sxUAVu{&OZKDf-P&_+m zCPiBn;+*g`#8|(-mwZuc*4#o+H9jAk{AS`IRt`gp8*n^@{T7udOC+y7;&W*J8gM-I z<iiUpa_6eZfpyx2OVe(!Dyf{DN*1?jeTTTZri1$fX6A~|k}35S>l*!@qBOocEyPF% zn_Qa=F<P>ttyp$-T7z$_`rB>Np+K%OIFYMtL@xgaxr*agu7XN@gXb#n_5XUV!U2kY z-G)t1Q_la*RsWkCtG~I5<8Q9|o2&ljs=vAFZ?01Mo2yRdDyzK8Ryf<QnN8v1>YJR3 z@oOO4Pip9h?Kcau{pLZoU-1dHUkU?o_tf~4?MDclOA#Nl{oViztCpV&t2;oHlKi%1 zovk4Tz|u3UWtnY<fxDp8cQ_ga;M=Cmf#|dT$*D9&G!4K2R%CUrw5rM7Fo-x`UH5sf zG^A4Oh4svAy1VtaSH#5^Eix3#=%$DymB^l3lPE%BRHPppe!ERrJ>#2!F{}-+{k&w5 z*?v?pNNm4WDFN>jY`@1R*nShpY`+IbY(JEMN%{xxA8%E@=DLDi?N3prwX34O3px89 z?X~OW_(2Mnh62jcHRW@%;uFIo+Uy`AokScNk?v*x6Oqn1tCW1=e(L%3Z#%2a6ZcbV z$oEqW7f;+zT|wMW9qp`o%E*_VYs&o%R)2%lzXU7&)e@oIe*`Q0|0r0o{|Z*HqhJNT z{=W%UrsGSKCNX1M0tQ`abDqL6gTj;Om1A#zXQY=@v{G|%r7cEk_jnGnK83pMx93Id zWMwE97sajp$f=M|->wb3tSu0oPl4*r52^91)n@&MbB<5U&ytiTfU2FGh=uvSmge^; z9R)Oz=ZbJfx;@VU{_Zx&NVk1#eo{2$`cxGmnz}r`W|)KZ(d|p|RycuUfoE%aiLo;e z0V6g|N1|lcY(?@wOn_n054YUdAo;oKs~(44iZM8)u=NE6wHSx9z-}Zq;HhDHsGMMK z+L@3n;Dkyn%V_4?B1^>7daWO8)R*S{4xZq_(0z>YwrGrjpPs2~z%xZ72;CIr+&2!{ zU&uH8BO~2;@uz1BgUudI_tZbDfNdXW*<@msl+WvF)+{^cb9|(4w%akmsbV}wpnPr3 zv+8oyr2Jv~_=D6g%1ovv_Vc~LI=WTbDiZzYI>ubC!hK2)@eRIt8(&uA!2Ttg;sHcc zaX9~tXo?3}G{tiyni7VKrs9u8Q_H_ZQ=dC!W974m?$r~|B@EKNB>RC~@btme?ka}v z8bg-SW+c&6n&=%n*&Z3$gS3F40LRer8|AkMB!XWpqnH0s;z|7KUchCb&`2ERjGAU? zJ-8<@?qaYfriJzy*Kt|+t%XS>@##!509-H79y<XSa5=FWT<Cd6Jtjk|+cvWZE9jI@ zt!<~xywNw2#m}2~nzG(HrR>c($LL$_`x5D*>ZS??LVi>honcySw<c6JYzz@xaWYTJ z*5?=!k?+f>_1?KTu|u};7jyf`vM#5jFA^FbL()$(@8u(zrh1+a=hJmW4=tuLr106& zSAA&_{KPn~X<A6)14wR^0!90V?wL{M45q3m47a*|@K*CF?AH#6tgj*J_FZ7;brvW6 zO1?GDt0bQ(`an9^n}QR^Ki=K0kAwTG{h0V@Z{T;${E@N2F^O!^ho+t0*e_o+JEUb; z$~1f^CeJ+j$9PlL_fFqc9$|apK9&0YJ28AO$%WZNp%t&_2m5N`QdB%rQ#s97QFz9Z zubWMTINiH?8pZL77p`rOk=C=!!~x3pSA7$S`WU5sNJPpOaP3ISMmJ+u{0JvUrn(+J zZhK7Sc^PkATux(DYD?N-qhFKtL6ls&w^w3vipgR3WuGQdcUGEF;hf6Ohn_upcf%aA zs%hUb;|O3(%xSZg$z>fx+g-3=Zf)@soAk8DI1E8jO<i&oz;Fz@<Tj;e6%IO?R=x)b zT?jA5NfKytQ<Ejv!EYO|#uW8ah?VL(7qEl>aVp!fO0bA#Px6v5r<w6x4$hwZF!?B$ zQvJ4;8CSg-`F)#qJXVr`(-j<NbD~<s3Doh>bBt(jvF~2=U*GB%j4_O&Lg}j3v(^$3 z^uez-g}#w_y`JN7!|}U89-y9*FneuNGj9s0r*HxFR1E*3*$m?a8A8(285(6BL|I3) zztU@|ZV1}nrAxvo>8l-9wlkZe>JZy^eY<5(WuyG<MkX_DK6BdNRT0}W*x&BkE4Cb~ zxS|!q@bV@m0sbY7oTpE}NQLKw7~3=mG|NQg8m$ZkK2L>J;I(iM%wY=5z#KPcH!0+( zSRz-lg%TFWc55JKZFg*8X*mIt-D`0ptOC(Dc(~(Uz2;?wShqD&r=(>yerIP?MK8%S z!>Q}WR+h*(7a+*2Rqg1IK&xVT!LuvTx98mZx>Q&ejbNFo=lb_$+2=Pa&BcmclXGuC zy-f7n&wG*F>1C%J82%g}))vBE&l<Dsf;TIgRQjy9lkw4Juaf4J8LuzZUX3i=JB0^& zr<m8M$MTN6Q@Mlm%cqhTx}Gi4#=L}ZL<qMDS6mXMIF-gEP@9(1^xj<SW|}=jdp(ad zFn%j1%o&<ZDIGIr8bY%rF4e61WIt8P-7-5YlDMfCiqWI;dl#_MXwAH~n%~%vF1YNK zd3FF5L$Eu}UEhTd6#?8*Yv)Y^Zw21u!QQfIaaCi#kf<EmbARFOi_UtLITCrhk{MD) z-0NHM^C@RvxdYI2#|OBaZAPMZCC|Lkb<l{>_^u}~x`JtSWhT{m#9IbUNhTq`b#7|5 z+nE;*P3Im-5vKi!0YKA%CgA*06YzZ3&TWKtDh;8XN@$;vNPy~HPe(KX%^pPJXDo$O zL5StN)+KS0e|+v0?YniFGJ)_yAM}R~THvjNjDD8GfywpgHSzUlX!J02K5zRZYY_Cu z1_%A=_(J_3cUn}$E@dny8&I@?PzoOYar`4F1zo?a2==`>07@~BfKm|Xcz{rfEn@d$ zD244SdKx+2PHhB~f<RIK1$uK3c}c&8F~sr=CMU%#2&M4Jlstk`EWn`@0(Jo)l;S)& zKFP;AC5bWsN)dF`6%M6{2cQ&%<fUpSpcMRe6F;F8x*08t@#|tmW8S((7ZMCp0Pj?S zZO%{cl*o(*6i-<L;hmZnk@})@aRK3-Qs)~ZBL=)v<f$ksaPO2T{DjJ6j4t?>cPh8p z;n+LXKcVXsfoKBi#nVszYyyTKHv!wgCSVWP1hn{P6EN^Z6Oi?|2?!$8!%t8tLQYUA zW=~KlJ|U<S$4x*-kV=sUQYo&v!l@KaKdBT*O~8;Oun7oKDP99q3P)N5m7+GIj^*5& zqIMa{RTg0HGfdGe#tX6tgUf~c!t(CF4tK`BQW);t5*PwN%`s%vmshNOSQ?~2pv0CM zbKQVIEZsF%5~0Ml!u$`zlpZO7l#$iBp$E0}%Md`908*9P&QYoY_E7PI+UzRHEcaYZ z5}Ija$^r8FYMAJI9lM%%y2QIA047}{PepAGfURTn@c@j9VV(5uR!Y3;m0-)<NRx3b zdf_$9J@#fxXP)<c>N1746Un>8%LS2;PHnUS72#|59F2gyDKrGE+Sos|hGXGwOzRKD zm7;P=)oHZ{j0tpxeLuDBA+D+s(_}nSJ#cddLxZ8`;608YEUenea?Rrj+2G*_j95+n zW7M2B9vWTa(EMIg&{$G)h43NH_2-9a+f*BmCZNIMhiMMW(4`?OUQ+D2Ae`j6B3tt( zSG=g?ZC(jkzKU|~Yd{UN$6q5YX!QH=tx;&rNi7LgP*WQFkYk5_W)9=XDdnW}?EKEI zxj=okxINqYv?3}iDKi&Y-t~Zf1jSDlLGf#>edcn0=*1DmFK+o?D1LM8N*R+N#V;D9 z_yOH8IK?kA`iSDEU2#`KgAe}^7A%3dexK-7^sY@qtkHY()?&j4ZwwV3?l4cW2kqw0 zA0}rl1~`0`%%2zuf%PowFY(KVU|~TE84qkAKh_t4&zk@d-C+MqG-K4~stw?RO0k0u z^YfBXiyLoq`Jk4<yhmtjJ^waU`yy)@+Ci;$<jMqg&YRDQEt5;pm}3(TRk$90ETC{I zHL9F#69?c?=sBJOgj3Hi8ItyDEDTHCNFdl9_q<ZxdWFbk<5VY$wi|n+&~1EK-pMz$ z6@9M84H1sfUpp?QG1f`6r&WJke7QyrqoejPe1@K>khKn3Ps-X~oH|ct{;ugv9LwzH z?U%dg(6Q>A?nTodtz#@hBXg`a)qMc&j}XND^{%YGBLi@MsQA(?)yKF$%kr_e`{ZB~ zu=PTD<v)X!Xc^Uiu(4wM6|4eN*7dCcg)jK}`;8U*|8Qf~{qHwcp(w-oysL>;gQ6r$ zs6=J2=6t4fejI#jIJ<ms_%)O!HAhp!zhzIel6OKY&ztM?TivTlGBI&Z6jmRtXZ?qA z9nJ@$36{>g*Ox-(<XYT5;xCdUkx<u2qQ2{}Tf-Is7gjBnPI0+U25l2rC1Y7P>kvgi zKamc3$IKUC5inoy_9#T;1uhQS!$^Ez*@B3%#vi0m<C+XU`^D3jVTUcSFerJ9Cn{0y z*>lSHd;}Q#r;VceuMpb3BpNHRAZm;eWK`G4s;U^~>Pe#ZBoeP&qdOe#8<`d*9PSZp zTyGyL3`L)JYrum9ag#jC<u2Qse<Y^9lwZ)K_pCLpk{%N_Kg_3Uu_Uj|oI07(HKLNs zN+KB4C>Fi`TGN*M?M>m8T5CapSlDB1z~9?!)^rf3>hm$ALRy<tV#sdrR_n0YntKC( zaC?;Gh;bX}?>)4+$v2>RXSH5(&aKM5_wpPMio+;pNxO)HHz9MkG3m%I*}5xMx0YbN zN8G3R9J2B)QH+dcCSl!xcXyI^t!tm)WwmO%=L)#Vd<%P>IQ~$}pm{$2lrokt2a|3j z{zH5QDrR5OAk)kOj$XK@7Uz?%EK?|P*ab0vC}r{bd^=|5^`41LuAO{yv-2Y%puacV z8SC*+f3L8D1a&RK-|L!-?C;f$R^yR<_|xCZW6US}76(Ifn)(5o)#m_ew5n8_Ax>G0 z?>KHT=v};*S5k)G(JfQQ+QHRROs%uj9qbA0WQlZuzxP+HG8^Ia1^m6yzx#XPJ;1op zHh8SMsR#G>3h7@idr$BP9;={JD~MQ?H|6syR&~}8U#J3PFklaG4XFp%LBUrfa}J1A z^@>QbN}N$w`6Ca(OXBsNT^J))zGMkUi;1K?uPI)8niq(s_^k(+AdBb$ju=rP_W;dB zK{Um0JwO=|Y!FS+Zl^b!v=r2-r}enls1Uq}I%8ZUYu3aRy;gD4>A<c*#Zaz6^&zy; zGkL@``~Fn0kcnc8bsAs!OQz|Idtql^It>N&gF%fXOTC^wFThS3(F2S*(F43da1G&} zTCFI~6SSTzj{x0M+sE!HUB8uoxTkb5*=~>;XWYUNwDV~DdR4E_j?c3YLx*qr9H+^; z+r#XRt)eR>5gI<lTjQUFFvKyh^{qsZQdmwkK{SbeoU^ju;Hxi0v+hkPGryuB(WEfq zE=Sc-T}9yfN~FT+_S5LA1+kbq)E*VD2!e{)k9vUSBk?MYKo3xr%WWv^w;te!qgZuL z(7S8S3K6T!NX?OA)$SMG%@17S)a=*B#NvX4N2eObrinEmJ;sEo6?>w=pCA@!>3D$7 zw?`t92;KuUSM>N9tDwTHHlKi4r87U+|H@*az9{@3v5FKIy~6N<CRaoNbv_xEYggw| z(>GPt7C`4~CC~%X{;o>z9@GBX^l!p4n10dz!qMck7^F7rKm1Pnb3xGl3a-e-mD}t_ z>_1GXxckIf-4{RB%{!XG62F-~njpJ>08sks>l1Tpg)e#%cPd?6j_w*${V`VMvTk8# z{hoG~RZ3WixME@67?4p((ac}myUt<Urn_7~;3E%nB!6xGzT>=e3-CDSvni9Lo*?P^ zQLNIVvxUNARmf4SO6I|Z$0{Akk6^4)52}Qyy~ncB8;VNFj;<F%j#X}?;;TTc!plkg zW2^!I>ePrHppNlnUE<GhfI6J^SCoL<18g~EN!j_U2N;5$&V31r&sZc?E|mV1bDS@b zT6d@o5^RP4qXFL+#Uxsub%7z@ltuy9<k96pXGWiEX$K59v|JaPh~~D-re9RPQd+x6 z21{2Of5>p7NahZ9Rqgc*+g&25oA$b0<~p#oyxSS^mt?D$c8Y118PSz^^0NyS_0ie$ z&N4}#=mB2xa=MAs1B`nStZiZyP>lUER(T5PQ<<p$Iac|e{bvtQ_W_|!PkxcL`CeBy z$A^cP3<22R>-ISvr*n^P>q|5|mX=df#0Fu1%|Wk{;IKa*w!A!uA|zsism_W%M&5+h z#WIB~W0Vq;Nh%?k55{j+W1Xtix7z^w;_RwCYD8uwG*d0qm<z)GwsdaI!eM{dY@mxO z;K)VgSz4KtF_&_Nlxo1j=_aW2#nDwyK`H`X7aoMWsQAUl5iTl5<RYLsHQRIA{D$Y# zh$5hY<rzjJk+weRM-T8+LsJU8xGZgGIq@UHGnkyek=%=|pr;a`;PmoIcE_IS`9ywe z|C^RJXS(EhEtv&Do4gP?V^e+U1c<F@=2POWPA@?|$3EU9OafE&JNGot#Iocca1)B^ zp5?!majwIsy>fJ3{j+%O>_c>{aN8L{8S7d(DXxMD3rxCspL=OJq4x_vnCV|}cGAwM zVs?o+r4ZYjVaR+{@ibKMUb;)F(4kv8F^^4=rgM88^%w+Ix`Z)A#rNwozvYpoQ!7x* zGE%gA=i{I)c!JNL!E!RfTq^fA7xbic<gkL8-yQ;gSvy4w6iq(3t+sMM*Cf`|8(^l} zEP?AF|A87VWuO=6z6xxmZl?iAKSkjB>Sq(M03@h;A`{fv8;=R<4}rI_jUou@5eR~M zYb!`lp8*N#tG5OLg8I-;f;t%zLH+s+C2{IQK<I1I3<!OFj)cBh06{(Y1VP;snV_!T z+;~Fh+lPxR^ksKO68cKFA`5*pV-W=PJ-E>K^*Ay?edYu~{a?3LfY6t|5?Sbb;d;<X zp>IYIGC@831VKIh1VMfHh@dWr5c>8XI3a|-BS=EuxdejYgCO_K>sgMtTeM*SLA@%- zV_NogJ4jHc|Ayzp@~(#9EuK0lw$p%X4e*f#&79TEjDo*7*0k;`?*+#Yztd0sdN(qe zapSW*g6AUnHIu{yF+#@bsBm^xALy>c)vD47@{B*i4z<gEGaPyfyLP~Gozj9U!!MmB z2<us`cKT{$vigx}$`Uk9U0>tH<pi66a(57}UZ4qxWB9viO1F`T-{G~=Me?hTrDJWN zX$oRZ1-N<}KMrHhl3xH^y%<wslat-<-;{RnZct1V`wsU;FnqsbYyPmxB_-UE$X<1t zoq0VCFY3EiOWEj?;?R^UqfAi2kwA&Vb<XVgV6Et6EzmS|U}LA*r8?xVwKpYJ0LP>2 z589p+QKosj@(Yj7zS({dxz6|Uhmcke1|50(c+^eOWX3lx1QWOR+Xob%ta_EI(@(0{ z@}yLqg?c$K%4<)t$*)ZMdqhdcMwbAA%56imlcmO$J;M3j*^lo_l%tFLSj@NCC2TWG zPX$9dn;bV(c{LO_rUV-ZSFm%fE<Up-Gph>o165Q(vSC}}1@#p#B@_!OV0+v59=j~N zLHBNy?~yi)76U3OX;elW9U=zjinLQ!j2B=uAuTM-EX*%H$({Mw_`R40b_NVo5rgt= zYrv*T16~0{Jw=E@h=PfUiQ)(Ne34DR6ewp=PW~}7wzfCc)v<*zLChfL5DPn7W-|kb z9WyH%>ruc$M>%5vSbY_we~kq-!N~TjlVinkP*DDL>`!ShFcy>rBaa2uS;!>#lVe|y z{Auj5NDCMX3bc^Nf*5&Z7~;vXy)=IsdkmEa#)2?;<gp-05g8V8ax5*^pT-_@6~Uht z;3*=H1xX{wmvSe^YKi=5>@jx)7z^@7kjH{&cF0B1lVeNe|1|da=nfbQ9@`<01zV=b zYtoZr&p-Op*yGMAFc$2ZB98@ktjG@uPL4G(`P10rjVmw~+_WN(1)ne=|EioETj%hn fvB%FFfU)3n1_fz!4DdGz3-~fXLqQ?*0>Aq&$+Cex diff --git a/lfet/liquibase-elements.lfet.yaml b/lfet/liquibase-elements.lfet.yaml new file mode 100644 index 0000000..c65b5a1 --- /dev/null +++ b/lfet/liquibase-elements.lfet.yaml @@ -0,0 +1,54 @@ +lfet: + nestedProjectIni: true + ide: + default: javascript + javascript: + enabled: true + + baseOfVersion: DT + emptyLines: false + + basicIndentLevel: 1 + + Format: false + + + + src: + path: ${project.root}../lib/generated + + comment: + filePaths: + removeAllBefore: /asciidoctor-liquibase/ + + Interface: + Enabled: true + Language: en + Name: LiquibaseElementsIface + VarName: iface + trace: + beforeRule: false + afterRule: false + Stateless: true + + RulesClass: + Name: LiquibaseElementsDecisionLogic + + Trace: + AfterRule: | + model.logger.info(`$$dtName - $$Version - $$Rule / $$Rules - ${JSON.stringify(model)}`) + + Enum: + 100: + MethodName: Prefix + Symbol: "" + Title: "" + EnumValueName: + - Symbol + - UpperCase + IncludeTagsTitle: + - Liquibase element name is ... + - set element to ignore + - log + - set finish processing + - set element name diff --git a/lfet/liquibase-parser.lfet b/lfet/liquibase-parser.lfet index c1bab62..c7e7763 100644 --- a/lfet/liquibase-parser.lfet +++ b/lfet/liquibase-parser.lfet @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> -<LFET version="LF-ET 2.2.1 (230826a)" language="English" saveDate="2023.09.03 at 22:06:11 CEST" saveUser="constantin"> +<LFET version="LF-ET 2.3.0 (240413a)" language="English" saveDate="2024.05.05 at 22:38:52 CEST" saveUser="constantin"> <Conditions> <Condition uId="16864341410910276"> <Title language="English" value="Step"/> @@ -235,15 +235,10 @@ <SourceCode codeLanguage="JavaScript" sourceCodeType="Prolog" value="const { stringify } = require('./utils')<br/><br/>function parseLiquibaseChangeSet (processModel, currentFile, elements, logger, vfs, tillTag) {<br/> const content = []<br/> let _step = 1<br/> let _exit = false<br/> let currentElement<br/> let elementIndex = 0<br/> let elementDetails<br/> //<br/> do {<br/> _exit = true<br/> // $$BasicIndentLevel=2"/> <SourceCode codeLanguage="JavaScript" sourceCodeType="Epilog" value=" //<br/> } while (_exit === false)<br/> return content<br/>}<br/><br/>module.exports = {<br/> parseLiquibaseChangeSet: (processModel, currentFile, elements, logger, vfs, tillTag) => {<br/> return parseLiquibaseChangeSet(processModel, currentFile, elements, logger, vfs, tillTag)<br/> }<br/>}"/> <SourceCode codeLanguage="JavaScript" sourceCodeType="Trace" value="logger.info(`$$dtName - $$version - $$rule / $$rules - ${currentFile} - ${stringify(processModel)}`)"/> - <TestValueGroups selectedGroup="Cucumber"> + <TestValueGroups selectedGroup="*ti.att.Cucumber"> <TestValueGroup name="*ti.check.Cucumber"/> <TestValueGroup name="*ti.gtd.Cucumber"/> <TestValueGroup name="*ti.att.Cucumber"/> - <TestValueGroup name="Cucumber" tvgTiAtt="*ti.att.Cucumber" tvgTiCheck="*ti.check.Cucumber" tvgTiGTD="*ti.gtd.Cucumber"> - <Config name="Config" tags="cucumber" parms="-Group 'Cucumber' -SwitchCoverage '2' -NonExecutableRules '50' -RecommendedTestCases -OutGherkin 'liquibase-parser.testcases.feature'"/> - </TestValueGroup> </TestValueGroups> <TestValue group="*ti.att.Cucumber" type="tcpre" value="tags="ignore""/> - <TestValue group="Cucumber" type="isi" value="${*LFET.dt.name} is called"/> - <TestValue group="Cucumber" type="tcpre" value="#language:en"/> </LFET> diff --git a/lfet/liquibase-parser.lfet.$bak.zip b/lfet/liquibase-parser.lfet.$bak.zip index 5cf5c7f7ee6b09becb1dbcb7e3f1d15731308d47..8b215758725c5a53ccdb021e66ef13e95c2ecb67 100644 GIT binary patch delta 2633 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 delta 2557 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 diff --git a/lib/generated/LiquibaseElementsDecisionLogic.js b/lib/generated/LiquibaseElementsDecisionLogic.js new file mode 100644 index 0000000..1b6329a --- /dev/null +++ b/lib/generated/LiquibaseElementsDecisionLogic.js @@ -0,0 +1,618 @@ +// *** WARNING: DO NOT MODIFY *** This is a generated JavaScript source code! +// +// Generated by LF-ET 2.3.0 (240413a), https://www.lohrfink.de/lfet +// From decision table +// "/opt/data/github/asciidoctor/asciidoctor-liquibase/lfet/liquibase-elements.lfet" +// 05.05.2024 21:19 +// +// Prolog Standard ----> +// profile LFET.Java.Prolog.Standard.Interface.Dt.ini not found +// used LF-ET 2.3.0 (240413a) build in default + +// cav = condition and action values +const cav = require('./LiquibaseElementsIface.js') + +class LiquibaseElementsDecisionLogic { + execute (/* LiquibaseElementsIface */ iface, model) { + // Prolog Standard <---- + if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_LOADDATA, model) /* loadData - https://docs.liquibase.com/change-types/load-data.html */) { + // Rule R01 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_LOADDATA, model) // loadData - liquibase element loadData + model.logger.info(`liquibase-elements - 20240505.211925 - 1 / 75 - ${JSON.stringify(model)}`) + // Rule R01 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_INSERT, model) /* insert - https://docs.liquibase.com/change-types/insert.html */) { + // Rule R02 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_INSERT, model) // insert - liquibase element insert + model.logger.info(`liquibase-elements - 20240505.211925 - 2 / 75 - ${JSON.stringify(model)}`) + // Rule R02 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_SQL, model) /* sql - https://docs.liquibase.com/change-types/sql.html */) { + // Rule R03 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_SQL, model) // sql - liquibase element sql + model.logger.info(`liquibase-elements - 20240505.211925 - 3 / 75 - ${JSON.stringify(model)}`) + // Rule R03 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_SQLFILE, model) /* sqlFile - https://docs.liquibase.com/change-types/sql-file.html */) { + // Rule R04 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_SQLFILE, model) // sqlFile - liquibase element sqlFile + model.logger.info(`liquibase-elements - 20240505.211925 - 4 / 75 - ${JSON.stringify(model)}`) + // Rule R04 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_PRECONDITIONS, model) /* preConditions - https://docs.liquibase.com/concepts/changelogs/preconditions.html */) { + // Rule R05 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_PRECONDITIONS, model) // preConditions - https://docs.liquibase.com/concepts/changelogs/preconditions.html + model.logger.info(`liquibase-elements - 20240505.211925 - 5 / 75 - ${JSON.stringify(model)}`) + // Rule R05 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_PROPERTY, model) /* property - liquibase element property */) { + // Rule R06 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_PROPERTY, model) // property - liquibase element property + model.logger.info(`liquibase-elements - 20240505.211925 - 6 / 75 - ${JSON.stringify(model)}`) + // Rule R06 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_TAGDATABASE, model) /* tagDatabase - https://docs.liquibase.com/change-types/tag-database.html */) { + if (iface.isTagEqualTillTag(model)) { + // Rule R07 ----> + iface.doSetElementToIgnore(cav.SetElementToIgnore_FALSE, model) // false - element should processed + iface.doSetFinishProcessing(cav.SetFinishProcessing_TRUE, model) // true - parsing is finished + iface.doSetElementName(cav.SetElementName_TAGDATABASE, model) // tagDatabase - liquibase element tagDatabase + model.logger.info(`liquibase-elements - 20240505.211925 - 7 / 75 - ${JSON.stringify(model)}`) + // Rule R07 <---- + } else /* tag = tillTag N - No */ { + // Rule R08 ----> + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_TAGDATABASE, model) // tagDatabase - liquibase element tagDatabase + model.logger.info(`liquibase-elements - 20240505.211925 - 8 / 75 - ${JSON.stringify(model)}`) + // Rule R08 <---- + } + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_ADDFOREIGNKEYCONSTRAINT, model) /* addForeignKeyConstraint - https://docs.liquibase.com/change-types/add-foreign-key-constraint.html */) { + // Rule R09 ----> + iface.doSetElementToIgnore(cav.SetElementToIgnore_FALSE, model) // false - element should processed + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_ADDFOREIGNKEYCONSTRAINT, model) // addForeignKeyConstraint - liquibase element addForeignKeyConstraint + model.logger.info(`liquibase-elements - 20240505.211925 - 9 / 75 - ${JSON.stringify(model)}`) + // Rule R09 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_ADDUNIQUECONSTRAINT, model) /* addUniqueConstraint - https://docs.liquibase.com/change-types/add-unique-constraint.html */) { + // Rule R10 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_ADDUNIQUECONSTRAINT, model) // addUniqueConstraint - liquibase element addUniqueConstraint + model.logger.info(`liquibase-elements - 20240505.211925 - 10 / 75 - ${JSON.stringify(model)}`) + // Rule R10 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_ROLLBACK, model) /* rollback - liquibase element rollback */) { + // Rule R11 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_ROLLBACK, model) // rollback - liquibase element rollback + model.logger.info(`liquibase-elements - 20240505.211925 - 11 / 75 - ${JSON.stringify(model)}`) + // Rule R11 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_DROPCOLUMN, model) /* dropColumn - https://docs.liquibase.com/change-types/drop-column.html */) { + // Rule R12 ----> + iface.doSetElementToIgnore(cav.SetElementToIgnore_FALSE, model) // false - element should processed + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_DROPCOLUMN, model) // dropColumn - liquibase element dropColumn + model.logger.info(`liquibase-elements - 20240505.211925 - 12 / 75 - ${JSON.stringify(model)}`) + // Rule R12 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_ADDCOLUMN, model) /* addColumn - https://docs.liquibase.com/change-types/add-column.html */) { + // Rule R13 ----> + iface.doSetElementToIgnore(cav.SetElementToIgnore_FALSE, model) // false - element should processed + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_ADDCOLUMN, model) // addColumn - liquibase element addColumn + model.logger.info(`liquibase-elements - 20240505.211925 - 13 / 75 - ${JSON.stringify(model)}`) + // Rule R13 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_COMMENT, model) /* comment - liquibase element comment */) { + // Rule R14 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_COMMENT, model) // comment - liquibase element comment + model.logger.info(`liquibase-elements - 20240505.211925 - 14 / 75 - ${JSON.stringify(model)}`) + // Rule R14 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_RENAMECOLUMN, model) /* renameColumn - https://docs.liquibase.com/change-types/rename-column.html */) { + // Rule R15 ----> + iface.doSetElementToIgnore(cav.SetElementToIgnore_FALSE, model) // false - element should processed + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_RENAMECOLUMN, model) // renameColumn - liquibase element renameColumn + model.logger.info(`liquibase-elements - 20240505.211925 - 15 / 75 - ${JSON.stringify(model)}`) + // Rule R15 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_CHANGESET, model) /* changeSet - https://docs.liquibase.com/concepts/changelogs/changeset.html */) { + // Rule R16 ----> + iface.doSetElementToIgnore(cav.SetElementToIgnore_FALSE, model) // false - element should processed + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_CHANGESET, model) // changeSet - liquibase element changeSet + model.logger.info(`liquibase-elements - 20240505.211925 - 16 / 75 - ${JSON.stringify(model)}`) + // Rule R16 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_DROPSEQUENCE, model) /* dropSequence - https://docs.liquibase.com/change-types/drop-sequence.html */) { + // Rule R17 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_DROPSEQUENCE, model) // dropSequence - liquibase element dropSequence + model.logger.info(`liquibase-elements - 20240505.211925 - 17 / 75 - ${JSON.stringify(model)}`) + // Rule R17 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_CREATETABLE, model) /* createTable - https://docs.liquibase.com/change-types/create-table.html */) { + // Rule R18 ----> + iface.doSetElementToIgnore(cav.SetElementToIgnore_FALSE, model) // false - element should processed + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_CREATETABLE, model) // createTable - liquibase element createTable + model.logger.info(`liquibase-elements - 20240505.211925 - 18 / 75 - ${JSON.stringify(model)}`) + // Rule R18 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_ADDPRIMARYKEY, model) /* addPrimaryKey - https://docs.liquibase.com/change-types/add-primary-key.html */) { + // Rule R19 ----> + iface.doSetElementToIgnore(cav.SetElementToIgnore_FALSE, model) // false - element should processed + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_ADDPRIMARYKEY, model) // addPrimaryKey - liquibase element addPrimaryKey + model.logger.info(`liquibase-elements - 20240505.211925 - 19 / 75 - ${JSON.stringify(model)}`) + // Rule R19 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_DROPTABLE, model) /* dropTable - https://docs.liquibase.com/change-types/drop-table.html */) { + // Rule R20 ----> + iface.doSetElementToIgnore(cav.SetElementToIgnore_FALSE, model) // false - element should processed + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_DROPTABLE, model) // dropTable - liquibase element dropTable + model.logger.info(`liquibase-elements - 20240505.211925 - 20 / 75 - ${JSON.stringify(model)}`) + // Rule R20 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_INCLUDE, model) /* include - https://docs.liquibase.com/change-types/include.html */) { + // Rule R21 ----> + iface.doSetElementToIgnore(cav.SetElementToIgnore_FALSE, model) // false - element should processed + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_INCLUDE, model) // include - liquibase element include + model.logger.info(`liquibase-elements - 20240505.211925 - 21 / 75 - ${JSON.stringify(model)}`) + // Rule R21 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_CREATESEQUENCE, model) /* createSequence - https://docs.liquibase.com/change-types/create-sequence.html */) { + // Rule R22 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_CREATESEQUENCE, model) // createSequence - liquibase element createSequence + model.logger.info(`liquibase-elements - 20240505.211925 - 22 / 75 - ${JSON.stringify(model)}`) + // Rule R22 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_CREATEPROCEDURE, model) /* createProcedure - https://docs.liquibase.com/change-types/create-procedure.html */) { + // Rule R23 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_CREATEPROCEDURE, model) // createProcedure - liquibase element createProcedure + model.logger.info(`liquibase-elements - 20240505.211925 - 23 / 75 - ${JSON.stringify(model)}`) + // Rule R23 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_MODIFYDATATYPE, model) /* modifyDataType - https://docs.liquibase.com/change-types/modify-data-type.html */) { + // Rule R24 ----> + iface.doSetElementToIgnore(cav.SetElementToIgnore_FALSE, model) // false - element should processed + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_MODIFYDATATYPE, model) // modifyDataType - https://docs.liquibase.com/change-types/modify-data-type.html + model.logger.info(`liquibase-elements - 20240505.211925 - 24 / 75 - ${JSON.stringify(model)}`) + // Rule R24 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_UPDATE, model) /* update - https://docs.liquibase.com/change-types/update.html */) { + // Rule R25 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_UPDATE, model) // update - https://docs.liquibase.com/change-types/update.html + model.logger.info(`liquibase-elements - 20240505.211925 - 25 / 75 - ${JSON.stringify(model)}`) + // Rule R25 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_CREATEVIEW, model) /* createView - https://docs.liquibase.com/change-types/create-view.html */) { + // Rule R26 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_CREATEVIEW, model) // createView - https://docs.liquibase.com/change-types/create-view.html + model.logger.info(`liquibase-elements - 20240505.211925 - 26 / 75 - ${JSON.stringify(model)}`) + // Rule R26 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_DROPVIEW, model) /* dropView - https://docs.liquibase.com/change-types/drop-view.html */) { + // Rule R27 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_DROPVIEW, model) // dropView - https://docs.liquibase.com/change-types/drop-view.html + model.logger.info(`liquibase-elements - 20240505.211925 - 27 / 75 - ${JSON.stringify(model)}`) + // Rule R27 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_RENAMEVIEW, model) /* renameView - https://docs.liquibase.com/change-types/rename-view.html */) { + // Rule R28 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_RENAMEVIEW, model) // renameView - https://docs.liquibase.com/change-types/rename-view.html + model.logger.info(`liquibase-elements - 20240505.211925 - 28 / 75 - ${JSON.stringify(model)}`) + // Rule R28 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_SETTABLEREMARKS, model) /* setTableRemarks - https://docs.liquibase.com/change-types/set-table-remarks.html */) { + // Rule R29 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_SETTABLEREMARKS, model) // setTableRemarks - https://docs.liquibase.com/change-types/set-table-remarks.html + model.logger.info(`liquibase-elements - 20240505.211925 - 29 / 75 - ${JSON.stringify(model)}`) + // Rule R29 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_SETCOLUMNREMARKS, model) /* setColumnRemarks - https://docs.liquibase.com/change-types/set-column-remarks.html */) { + // Rule R30 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_SETCOLUMNREMARKS, model) // setColumnRemarks - https://docs.liquibase.com/change-types/set-column-remarks.html + model.logger.info(`liquibase-elements - 20240505.211925 - 30 / 75 - ${JSON.stringify(model)}`) + // Rule R30 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_RENAMETRIGGER, model) /* renameTrigger - https://docs.liquibase.com/change-types/rename-trigger.html */) { + // Rule R31 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_RENAMETRIGGER, model) // renameTrigger - https://docs.liquibase.com/change-types/rename-trigger.html + model.logger.info(`liquibase-elements - 20240505.211925 - 31 / 75 - ${JSON.stringify(model)}`) + // Rule R31 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_RENAMETABLE, model) /* renameTable - https://docs.liquibase.com/change-types/rename-table.html */) { + // Rule R32 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_RENAMETABLE, model) // renameTable - https://docs.liquibase.com/change-types/rename-table.html + model.logger.info(`liquibase-elements - 20240505.211925 - 32 / 75 - ${JSON.stringify(model)}`) + // Rule R32 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_RENAMESEQUENCE, model) /* renameSequence - https://docs.liquibase.com/change-types/rename-sequence.html */) { + // Rule R33 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_RENAMESEQUENCE, model) // renameSequence - https://docs.liquibase.com/change-types/rename-sequence.html + model.logger.info(`liquibase-elements - 20240505.211925 - 33 / 75 - ${JSON.stringify(model)}`) + // Rule R33 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_ENABLETRIGGER, model) /* enableTrigger - https://docs.liquibase.com/change-types/enable-trigger.html */) { + // Rule R34 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_ENABLETRIGGER, model) // enableTrigger - https://docs.liquibase.com/change-types/enable-trigger.html + model.logger.info(`liquibase-elements - 20240505.211925 - 34 / 75 - ${JSON.stringify(model)}`) + // Rule R34 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_DROPTRIGGER, model) /* dropTrigger - https://docs.liquibase.com/change-types/drop-trigger.html */) { + // Rule R35 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_DROPTRIGGER, model) // dropTrigger - https://docs.liquibase.com/change-types/drop-trigger.html + model.logger.info(`liquibase-elements - 20240505.211925 - 35 / 75 - ${JSON.stringify(model)}`) + // Rule R35 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_DROPSYNONYM, model) /* dropSynonym - https://docs.liquibase.com/change-types/drop-synonym.html */) { + // Rule R36 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_DROPSYNONYM, model) // dropSynonym - https://docs.liquibase.com/change-types/drop-synonym.html + model.logger.info(`liquibase-elements - 20240505.211925 - 36 / 75 - ${JSON.stringify(model)}`) + // Rule R36 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_DROPPROCEDURE, model) /* dropProcedure - https://docs.liquibase.com/change-types/drop-procedure.html */) { + // Rule R37 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_DROPPROCEDURE, model) // dropProcedure - https://docs.liquibase.com/change-types/drop-procedure.html + model.logger.info(`liquibase-elements - 20240505.211925 - 37 / 75 - ${JSON.stringify(model)}`) + // Rule R37 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_DROPPACKAGEBODY, model) /* dropPackageBody - https://docs.liquibase.com/change-types/drop-package-body.html */) { + // Rule R38 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_DROPPACKAGEBODY, model) // dropPackageBody - https://docs.liquibase.com/change-types/drop-package-body.html + model.logger.info(`liquibase-elements - 20240505.211925 - 38 / 75 - ${JSON.stringify(model)}`) + // Rule R38 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_DROPPACKAGE, model) /* dropPackage - https://docs.liquibase.com/change-types/drop-package.html */) { + // Rule R39 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_DROPPACKAGE, model) // dropPackage - https://docs.liquibase.com/change-types/drop-package.html + model.logger.info(`liquibase-elements - 20240505.211925 - 39 / 75 - ${JSON.stringify(model)}`) + // Rule R39 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_DROPINDEX, model) /* dropIndex - https://docs.liquibase.com/change-types/drop-index.html */) { + // Rule R40 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_DROPINDEX, model) // dropIndex - https://docs.liquibase.com/change-types/drop-index.html + model.logger.info(`liquibase-elements - 20240505.211925 - 40 / 75 - ${JSON.stringify(model)}`) + // Rule R40 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_DROPFUNCTION, model) /* dropFunction - https://docs.liquibase.com/change-types/drop-function.html */) { + // Rule R41 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_DROPFUNCTION, model) // dropFunction - https://docs.liquibase.com/change-types/drop-function.html + model.logger.info(`liquibase-elements - 20240505.211925 - 41 / 75 - ${JSON.stringify(model)}`) + // Rule R41 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_DISABLETRIGGER, model) /* disableTrigger - https://docs.liquibase.com/change-types/disable-trigger.html */) { + // Rule R42 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_DISABLETRIGGER, model) // disableTrigger - https://docs.liquibase.com/change-types/disable-trigger.html + model.logger.info(`liquibase-elements - 20240505.211925 - 42 / 75 - ${JSON.stringify(model)}`) + // Rule R42 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_CREATETRIGGER, model) /* createTrigger - https://docs.liquibase.com/change-types/create-trigger.html */) { + // Rule R43 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_CREATETRIGGER, model) // createTrigger - https://docs.liquibase.com/change-types/create-trigger.html + model.logger.info(`liquibase-elements - 20240505.211925 - 43 / 75 - ${JSON.stringify(model)}`) + // Rule R43 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_CREATESYNONYM, model) /* createSynonym - https://docs.liquibase.com/change-types/create-synonym.html */) { + // Rule R44 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_CREATESYNONYM, model) // createSynonym - https://docs.liquibase.com/change-types/create-synonym.html + model.logger.info(`liquibase-elements - 20240505.211925 - 44 / 75 - ${JSON.stringify(model)}`) + // Rule R44 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_CREATEPACKAGEBODY, model) /* createPackageBody - https://docs.liquibase.com/change-types/create-package-body.html */) { + // Rule R45 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_CREATEPACKAGEBODY, model) // createPackageBody - https://docs.liquibase.com/change-types/create-package-body.html + model.logger.info(`liquibase-elements - 20240505.211925 - 45 / 75 - ${JSON.stringify(model)}`) + // Rule R45 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_CREATEPACKAGE, model) /* createPackage - https://docs.liquibase.com/change-types/create-package.html */) { + // Rule R46 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_CREATEPACKAGE, model) // createPackage - https://docs.liquibase.com/change-types/create-package.html + model.logger.info(`liquibase-elements - 20240505.211925 - 46 / 75 - ${JSON.stringify(model)}`) + // Rule R46 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_CREATEINDEX, model) /* createIndex - https://docs.liquibase.com/change-types/create-index.html */) { + // Rule R47 ----> + iface.doSetElementToIgnore(cav.SetElementToIgnore_FALSE, model) // false - element should processed + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_CREATEINDEX, model) // createIndex - liquibase element createIndex + model.logger.info(`liquibase-elements - 20240505.211925 - 47 / 75 - ${JSON.stringify(model)}`) + // Rule R47 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_CREATEFUNCTION, model) /* createFunction - https://docs.liquibase.com/change-types/create-function.html */) { + // Rule R48 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_CREATEFUNCTION, model) // createFunction - https://docs.liquibase.com/change-types/create-function.html + model.logger.info(`liquibase-elements - 20240505.211925 - 48 / 75 - ${JSON.stringify(model)}`) + // Rule R48 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_ALTERSEQUENCE, model) /* alterSequence - https://docs.liquibase.com/change-types/alter-sequence.html */) { + // Rule R49 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_ALTERSEQUENCE, model) // alterSequence - https://docs.liquibase.com/change-types/alter-sequence.html + model.logger.info(`liquibase-elements - 20240505.211925 - 49 / 75 - ${JSON.stringify(model)}`) + // Rule R49 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_ADDAUTOINCREMENT, model) /* addAutoIncrement - https://docs.liquibase.com/change-types/add-auto-increment.html */) { + // Rule R50 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_ADDAUTOINCREMENT, model) // addAutoIncrement - https://docs.liquibase.com/change-types/add-auto-increment.html + model.logger.info(`liquibase-elements - 20240505.211925 - 50 / 75 - ${JSON.stringify(model)}`) + // Rule R50 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_ADDCHECKCONSTRAINT, model) /* addCheckConstraint - https://docs.liquibase.com/change-types/add-check-constraint.html */) { + // Rule R51 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_ADDCHECKCONSTRAINT, model) // addCheckConstraint - https://docs.liquibase.com/change-types/add-check-constraint.html + model.logger.info(`liquibase-elements - 20240505.211925 - 51 / 75 - ${JSON.stringify(model)}`) + // Rule R51 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_ADDDEFAULTVALUE, model) /* addDefaultValue - https://docs.liquibase.com/change-types/add-default-value.html */) { + // Rule R52 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_ADDDEFAULTVALUE, model) // addDefaultValue - liquibase element addDefaultValue + model.logger.info(`liquibase-elements - 20240505.211925 - 52 / 75 - ${JSON.stringify(model)}`) + // Rule R52 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_ADDNOTNULLCONSTRAINT, model) /* addNotNullConstraint - https://docs.liquibase.com/change-types/add-not-null-constraint.html */) { + // Rule R53 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_ADDNOTNULLCONSTRAINT, model) // addNotNullConstraint - https://docs.liquibase.com/change-types/add-not-null-constraint.html + model.logger.info(`liquibase-elements - 20240505.211925 - 53 / 75 - ${JSON.stringify(model)}`) + // Rule R53 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_DISABLECHECKCONSTRAINT, model) /* disableCheckConstraint - https://docs.liquibase.com/change-types/disable-check-constraint.html */) { + // Rule R54 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_DISABLECHECKCONSTRAINT, model) // disableCheckConstraint - https://docs.liquibase.com/change-types/disable-check-constraint.html + model.logger.info(`liquibase-elements - 20240505.211925 - 54 / 75 - ${JSON.stringify(model)}`) + // Rule R54 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_DROPALLFOREIGNKEYCONSTRAINTS, model) /* dropAllForeignKeyConstraints - https://docs.liquibase.com/change-types/drop-all-foreign-key-constraints.html */) { + // Rule R55 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_DROPALLFOREIGNKEYCONSTRAINTS, model) // dropAllForeignKeyConstraints - https://docs.liquibase.com/change-types/drop-all-foreign-key-constraints.html + model.logger.info(`liquibase-elements - 20240505.211925 - 55 / 75 - ${JSON.stringify(model)}`) + // Rule R55 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_DROPCHECKCONSTRAINT, model) /* dropCheckConstraint - https://docs.liquibase.com/change-types/drop-check-constraint.html */) { + // Rule R56 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_DROPCHECKCONSTRAINT, model) // dropCheckConstraint - https://docs.liquibase.com/change-types/drop-check-constraint.html + model.logger.info(`liquibase-elements - 20240505.211925 - 56 / 75 - ${JSON.stringify(model)}`) + // Rule R56 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_DROPDEFAULTVALUE, model) /* dropDefaultValue - https://docs.liquibase.com/change-types/drop-default-value.html */) { + // Rule R57 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_DROPDEFAULTVALUE, model) // dropDefaultValue - https://docs.liquibase.com/change-types/drop-default-value.html + model.logger.info(`liquibase-elements - 20240505.211925 - 57 / 75 - ${JSON.stringify(model)}`) + // Rule R57 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_DROPFOREIGNKEYCONSTRAINT, model) /* dropForeignKeyConstraint - https://docs.liquibase.com/change-types/drop-foreign-key-constraint.html */) { + // Rule R58 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_DROPFOREIGNKEYCONSTRAINT, model) // dropForeignKeyConstraint - https://docs.liquibase.com/change-types/drop-foreign-key-constraint.html + model.logger.info(`liquibase-elements - 20240505.211925 - 58 / 75 - ${JSON.stringify(model)}`) + // Rule R58 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_DROPNOTNULLCONSTRAINT, model) /* dropNotNullConstraint - https://docs.liquibase.com/change-types/drop-not-null-constraint.html */) { + // Rule R59 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_DROPNOTNULLCONSTRAINT, model) // dropNotNullConstraint - https://docs.liquibase.com/change-types/drop-not-null-constraint.html + model.logger.info(`liquibase-elements - 20240505.211925 - 59 / 75 - ${JSON.stringify(model)}`) + // Rule R59 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_DROPPRIMARYKEY, model) /* dropPrimaryKey - https://docs.liquibase.com/change-types/drop-primary-key.html */) { + // Rule R60 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_DROPPRIMARYKEY, model) // dropPrimaryKey - https://docs.liquibase.com/change-types/drop-primary-key.html + model.logger.info(`liquibase-elements - 20240505.211925 - 60 / 75 - ${JSON.stringify(model)}`) + // Rule R60 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_DROPUNIQUECONSTRAINT, model) /* dropUniqueConstraint - https://docs.liquibase.com/change-types/drop-unique-constraint.html */) { + // Rule R61 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_DROPUNIQUECONSTRAINT, model) // dropUniqueConstraint - https://docs.liquibase.com/change-types/drop-unique-constraint.html + model.logger.info(`liquibase-elements - 20240505.211925 - 61 / 75 - ${JSON.stringify(model)}`) + // Rule R61 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_ENABLECHECKCONSTRAINT, model) /* enableCheckConstraint - https://docs.liquibase.com/change-types/enable-check-constraint.html */) { + // Rule R62 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_ENABLECHECKCONSTRAINT, model) // enableCheckConstraint - https://docs.liquibase.com/change-types/enable-check-constraint.html + model.logger.info(`liquibase-elements - 20240505.211925 - 62 / 75 - ${JSON.stringify(model)}`) + // Rule R62 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_ADDLOOKUPTABLE, model) /* addLookupTable - https://docs.liquibase.com/change-types/add-lookup-table.html */) { + // Rule R63 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_ADDLOOKUPTABLE, model) // addLookupTable - https://docs.liquibase.com/change-types/add-lookup-table.html + model.logger.info(`liquibase-elements - 20240505.211925 - 63 / 75 - ${JSON.stringify(model)}`) + // Rule R63 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_DELETE, model) /* delete - https://docs.liquibase.com/change-types/delete.html */) { + // Rule R64 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_DELETE, model) // delete - https://docs.liquibase.com/change-types/delete.html + model.logger.info(`liquibase-elements - 20240505.211925 - 64 / 75 - ${JSON.stringify(model)}`) + // Rule R64 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_LOADUPDATEDATA, model) /* loadUpdateData - https://docs.liquibase.com/change-types/load-update-data.html */) { + // Rule R65 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_LOADUPDATEDATA, model) // loadUpdateData - https://docs.liquibase.com/change-types/load-update-data.html + model.logger.info(`liquibase-elements - 20240505.211925 - 65 / 75 - ${JSON.stringify(model)}`) + // Rule R65 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_MERGECOLUMNS, model) /* mergeColumns - https://docs.liquibase.com/change-types/merge-columns.html */) { + // Rule R66 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_MERGECOLUMNS, model) // mergeColumns - https://docs.liquibase.com/change-types/merge-columns.html + model.logger.info(`liquibase-elements - 20240505.211925 - 66 / 75 - ${JSON.stringify(model)}`) + // Rule R66 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_CUSTOMCHANGE, model) /* customChange - https://docs.liquibase.com/change-types/custom-change.html */) { + // Rule R67 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_CUSTOMCHANGE, model) // customChange - https://docs.liquibase.com/change-types/custom-change.html + model.logger.info(`liquibase-elements - 20240505.211925 - 67 / 75 - ${JSON.stringify(model)}`) + // Rule R67 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_EMPTY, model) /* empty - https://docs.liquibase.com/change-types/empty.html */) { + // Rule R68 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_EMPTY, model) // empty - https://docs.liquibase.com/change-types/empty.html + model.logger.info(`liquibase-elements - 20240505.211925 - 68 / 75 - ${JSON.stringify(model)}`) + // Rule R68 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_EXECUTECOMMAND, model) /* executeCommand - https://docs.liquibase.com/change-types/execute-command.html */) { + // Rule R69 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_EXECUTECOMMAND, model) // executeCommand - https://docs.liquibase.com/change-types/execute-command.html + model.logger.info(`liquibase-elements - 20240505.211925 - 69 / 75 - ${JSON.stringify(model)}`) + // Rule R69 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_INCLUDEALL, model) /* includeAll - https://docs.liquibase.com/change-types/includeall.html */) { + // Rule R70 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_INCLUDEALL, model) // includeAll - https://docs.liquibase.com/change-types/includeall.html + model.logger.info(`liquibase-elements - 20240505.211925 - 70 / 75 - ${JSON.stringify(model)}`) + // Rule R70 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_MARKUNUSED, model) /* markUnused - https://docs.liquibase.com/change-types/mark-unused.html */) { + // Rule R71 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_MARKUNUSED, model) // markUnused - https://docs.liquibase.com/change-types/mark-unused.html + model.logger.info(`liquibase-elements - 20240505.211925 - 71 / 75 - ${JSON.stringify(model)}`) + // Rule R71 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_MODIFYCHANGESETS, model) /* modifyChangeSets - https://docs.liquibase.com/change-types/modifychangesets.html */) { + // Rule R72 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_MODIFYCHANGESETS, model) // modifyChangeSets - https://docs.liquibase.com/change-types/modifychangesets.html + model.logger.info(`liquibase-elements - 20240505.211925 - 72 / 75 - ${JSON.stringify(model)}`) + // Rule R72 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_OUTPUT, model) /* output - https://docs.liquibase.com/change-types/output.html */) { + // Rule R73 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_OUTPUT, model) // output - https://docs.liquibase.com/change-types/output.html + model.logger.info(`liquibase-elements - 20240505.211925 - 73 / 75 - ${JSON.stringify(model)}`) + // Rule R73 <---- + } else if (iface.isLiquibaseElementNameIs(cav.LiquibaseElementNameIs_STOP, model) /* stop - https://docs.liquibase.com/change-types/stop.html */) { + // Rule R74 ----> + iface.doLog(cav.Log_IGNORE, model) // IGNORE - ignored element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + iface.doSetElementName(cav.SetElementName_STOP, model) // stop - https://docs.liquibase.com/change-types/stop.html + model.logger.info(`liquibase-elements - 20240505.211925 - 74 / 75 - ${JSON.stringify(model)}`) + // Rule R74 <---- + } else /* Liquibase element name is ... * - unknown element */ { + // Rule R75 ----> + iface.doLog(cav.Log_NOT_SUPPORTED, model) // NOT_SUPPORTED - not supported element + iface.doSetElementToIgnore(cav.SetElementToIgnore_TRUE, model) // true - element should ignored + iface.doSetFinishProcessing(cav.SetFinishProcessing_FALSE, model) // false - parsing is not yet done + model.logger.info(`liquibase-elements - 20240505.211925 - 75 / 75 - ${JSON.stringify(model)}`) + // Rule R75 <---- + } + // Epilog Standard ----> + // profile LFET.Java.Epilog.Standard.Interface.Dt.ini not found + // used LF-ET 2.3.0 (240413a) build in default + } +} + +module.exports = LiquibaseElementsDecisionLogic + +// Epilog Standard <---- + +// End of generated JavaScript source code +// Generated by LF-ET 2.3.0 (240413a), https://www.lohrfink.de/lfet diff --git a/lib/generated/LiquibaseElementsIface.js b/lib/generated/LiquibaseElementsIface.js new file mode 100644 index 0000000..fbc94f1 --- /dev/null +++ b/lib/generated/LiquibaseElementsIface.js @@ -0,0 +1,1266 @@ +// *** WARNING: DO NOT MODIFY *** This is a generated JavaScript source code! +// +// Generated by LF-ET 2.3.0 (240413a), https://www.lohrfink.de/lfet +// From decision table +// "/opt/data/github/asciidoctor/asciidoctor-liquibase/lfet/liquibase-elements.lfet" +// 05.05.2024 21:19 +// + +// Prolog Standard ----> +// profile LFET.Java.Prolog.Standard.Interface.ini not found +// used LF-ET 2.3.0 (240413a) build in default + +class LiquibaseElementsIface { +// Prolog Standard <---- + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * The enum generation has been triggered in project.ini by:<br> + * - <b>ide.javascript.Interface.Enum.100</b>: MethodName=Prefix; Symbol; Title; EnumValueName=Symbol, UpperCase; IncludeTagsTitle=Liquibase element name is ..., set element to ignore, log, set finish processing, set element name + */ + isLiquibaseElementNameIs (/* LiquibaseElementNameIs */ arg, model) { + } + + /** + * <b>B02: tag = tillTag</b><br> + * <br> + * <b>B02/01: Y - Yes</b> + */ + isTagEqualTillTag (model) { + } + + /** + * <b>A01: log</b><br> + * <br> + * The enum generation has been triggered in project.ini by:<br> + * - <b>ide.javascript.Interface.Enum.100</b>: MethodName=Prefix; Symbol; Title; EnumValueName=Symbol, UpperCase; IncludeTagsTitle=Liquibase element name is ..., set element to ignore, log, set finish processing, set element name + */ + doLog (/* Log */ arg, model) { + } + + /** + * <b>A02: set element to ignore</b><br> + * <br> + * The enum generation has been triggered in project.ini by:<br> + * - <b>ide.javascript.Interface.Enum.100</b>: MethodName=Prefix; Symbol; Title; EnumValueName=Symbol, UpperCase; IncludeTagsTitle=Liquibase element name is ..., set element to ignore, log, set finish processing, set element name + */ + doSetElementToIgnore (/* SetElementToIgnore */ arg, model) { + } + + /** + * <b>A03: set finish processing</b><br> + * <br> + * The enum generation has been triggered in project.ini by:<br> + * - <b>ide.javascript.Interface.Enum.100</b>: MethodName=Prefix; Symbol; Title; EnumValueName=Symbol, UpperCase; IncludeTagsTitle=Liquibase element name is ..., set element to ignore, log, set finish processing, set element name + */ + doSetFinishProcessing (/* SetFinishProcessing */ arg, model) { + } + + /** + * <b>A04: set element name</b><br> + * <br> + * The enum generation has been triggered in project.ini by:<br> + * - <b>ide.javascript.Interface.Enum.100</b>: MethodName=Prefix; Symbol; Title; EnumValueName=Symbol, UpperCase; IncludeTagsTitle=Liquibase element name is ..., set element to ignore, log, set finish processing, set element name + */ + doSetElementName (/* SetElementName */ arg, model) { + } +} + +/** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * The enum generation has been triggered in project.ini by:<br> + * - <b>ide.javascript.Interface.Enum.100</b>: MethodName=Prefix; Symbol; Title; EnumValueName=Symbol, UpperCase; IncludeTagsTitle=Liquibase element name is ..., set element to ignore, log, set finish processing, set element name + */ +class LiquibaseElementNameIs { + #symbol + #title + + constructor (symbol, title) { + this.#symbol = symbol + this.#title = title + } + + getSymbol () { + return this.#symbol + } + + getTitle () { + return this.#title + } +} + +/** + * <b>A01: log</b><br> + * <br> + * The enum generation has been triggered in project.ini by:<br> + * - <b>ide.javascript.Interface.Enum.100</b>: MethodName=Prefix; Symbol; Title; EnumValueName=Symbol, UpperCase; IncludeTagsTitle=Liquibase element name is ..., set element to ignore, log, set finish processing, set element name + */ +class Log { + #symbol + #title + + constructor (symbol, title) { + this.#symbol = symbol + this.#title = title + } + + getSymbol () { + return this.#symbol + } + + getTitle () { + return this.#title + } +} + +/** + * <b>A02: set element to ignore</b><br> + * <br> + * The enum generation has been triggered in project.ini by:<br> + * - <b>ide.javascript.Interface.Enum.100</b>: MethodName=Prefix; Symbol; Title; EnumValueName=Symbol, UpperCase; IncludeTagsTitle=Liquibase element name is ..., set element to ignore, log, set finish processing, set element name + */ +class SetElementToIgnore { + #symbol + #title + + constructor (symbol, title) { + this.#symbol = symbol + this.#title = title + } + + getSymbol () { + return this.#symbol + } + + getTitle () { + return this.#title + } +} + +/** + * <b>A03: set finish processing</b><br> + * <br> + * The enum generation has been triggered in project.ini by:<br> + * - <b>ide.javascript.Interface.Enum.100</b>: MethodName=Prefix; Symbol; Title; EnumValueName=Symbol, UpperCase; IncludeTagsTitle=Liquibase element name is ..., set element to ignore, log, set finish processing, set element name + */ +class SetFinishProcessing { + #symbol + #title + + constructor (symbol, title) { + this.#symbol = symbol + this.#title = title + } + + getSymbol () { + return this.#symbol + } + + getTitle () { + return this.#title + } +} + +/** + * <b>A04: set element name</b><br> + * <br> + * The enum generation has been triggered in project.ini by:<br> + * - <b>ide.javascript.Interface.Enum.100</b>: MethodName=Prefix; Symbol; Title; EnumValueName=Symbol, UpperCase; IncludeTagsTitle=Liquibase element name is ..., set element to ignore, log, set finish processing, set element name + */ +class SetElementName { + #symbol + #title + + constructor (symbol, title) { + this.#symbol = symbol + this.#title = title + } + + getSymbol () { + return this.#symbol + } + + getTitle () { + return this.#title + } +} + +// Epilog Standard ----> +// profile LFET.Java.Epilog.Standard.Interface.ini not found +// used LF-ET 2.3.0 (240413a) build in default + +module.exports = { + + DecisionTableLogic: LiquibaseElementsIface, + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/01: loadData - https://docs.liquibase.com/change-types/load-data.html</b> + */ + LiquibaseElementNameIs_LOADDATA: new LiquibaseElementNameIs('loadData', 'https://docs.liquibase.com/change-types/load-data.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/02: insert - https://docs.liquibase.com/change-types/insert.html</b> + */ + LiquibaseElementNameIs_INSERT: new LiquibaseElementNameIs('insert', 'https://docs.liquibase.com/change-types/insert.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/03: sql - https://docs.liquibase.com/change-types/sql.html</b> + */ + LiquibaseElementNameIs_SQL: new LiquibaseElementNameIs('sql', 'https://docs.liquibase.com/change-types/sql.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/04: sqlFile - https://docs.liquibase.com/change-types/sql-file.html</b> + */ + LiquibaseElementNameIs_SQLFILE: new LiquibaseElementNameIs('sqlFile', 'https://docs.liquibase.com/change-types/sql-file.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/05: preConditions - https://docs.liquibase.com/concepts/changelogs/preconditions.html</b> + */ + LiquibaseElementNameIs_PRECONDITIONS: new LiquibaseElementNameIs('preConditions', 'https://docs.liquibase.com/concepts/changelogs/preconditions.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/06: property - liquibase element property</b> + */ + LiquibaseElementNameIs_PROPERTY: new LiquibaseElementNameIs('property', 'liquibase element property'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/07: tagDatabase - https://docs.liquibase.com/change-types/tag-database.html</b> + */ + LiquibaseElementNameIs_TAGDATABASE: new LiquibaseElementNameIs('tagDatabase', 'https://docs.liquibase.com/change-types/tag-database.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/08: addForeignKeyConstraint - https://docs.liquibase.com/change-types/add-foreign-key-constraint.html</b> + */ + LiquibaseElementNameIs_ADDFOREIGNKEYCONSTRAINT: new LiquibaseElementNameIs('addForeignKeyConstraint', 'https://docs.liquibase.com/change-types/add-foreign-key-constraint.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/09: addUniqueConstraint - https://docs.liquibase.com/change-types/add-unique-constraint.html</b> + */ + LiquibaseElementNameIs_ADDUNIQUECONSTRAINT: new LiquibaseElementNameIs('addUniqueConstraint', 'https://docs.liquibase.com/change-types/add-unique-constraint.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/10: rollback - liquibase element rollback</b> + */ + LiquibaseElementNameIs_ROLLBACK: new LiquibaseElementNameIs('rollback', 'liquibase element rollback'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/11: dropColumn - https://docs.liquibase.com/change-types/drop-column.html</b> + */ + LiquibaseElementNameIs_DROPCOLUMN: new LiquibaseElementNameIs('dropColumn', 'https://docs.liquibase.com/change-types/drop-column.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/12: addColumn - https://docs.liquibase.com/change-types/add-column.html</b> + */ + LiquibaseElementNameIs_ADDCOLUMN: new LiquibaseElementNameIs('addColumn', 'https://docs.liquibase.com/change-types/add-column.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/13: comment - liquibase element comment</b> + */ + LiquibaseElementNameIs_COMMENT: new LiquibaseElementNameIs('comment', 'liquibase element comment'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/14: renameColumn - https://docs.liquibase.com/change-types/rename-column.html</b> + */ + LiquibaseElementNameIs_RENAMECOLUMN: new LiquibaseElementNameIs('renameColumn', 'https://docs.liquibase.com/change-types/rename-column.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/15: changeSet - https://docs.liquibase.com/concepts/changelogs/changeset.html</b> + */ + LiquibaseElementNameIs_CHANGESET: new LiquibaseElementNameIs('changeSet', 'https://docs.liquibase.com/concepts/changelogs/changeset.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/16: dropSequence - https://docs.liquibase.com/change-types/drop-sequence.html</b> + */ + LiquibaseElementNameIs_DROPSEQUENCE: new LiquibaseElementNameIs('dropSequence', 'https://docs.liquibase.com/change-types/drop-sequence.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/17: createTable - https://docs.liquibase.com/change-types/create-table.html</b> + */ + LiquibaseElementNameIs_CREATETABLE: new LiquibaseElementNameIs('createTable', 'https://docs.liquibase.com/change-types/create-table.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/18: addPrimaryKey - https://docs.liquibase.com/change-types/add-primary-key.html</b> + */ + LiquibaseElementNameIs_ADDPRIMARYKEY: new LiquibaseElementNameIs('addPrimaryKey', 'https://docs.liquibase.com/change-types/add-primary-key.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/19: dropTable - https://docs.liquibase.com/change-types/drop-table.html</b> + */ + LiquibaseElementNameIs_DROPTABLE: new LiquibaseElementNameIs('dropTable', 'https://docs.liquibase.com/change-types/drop-table.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/20: include - https://docs.liquibase.com/change-types/include.html</b> + */ + LiquibaseElementNameIs_INCLUDE: new LiquibaseElementNameIs('include', 'https://docs.liquibase.com/change-types/include.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/21: createSequence - https://docs.liquibase.com/change-types/create-sequence.html</b> + */ + LiquibaseElementNameIs_CREATESEQUENCE: new LiquibaseElementNameIs('createSequence', 'https://docs.liquibase.com/change-types/create-sequence.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/22: createProcedure - https://docs.liquibase.com/change-types/create-procedure.html</b> + */ + LiquibaseElementNameIs_CREATEPROCEDURE: new LiquibaseElementNameIs('createProcedure', 'https://docs.liquibase.com/change-types/create-procedure.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/23: modifyDataType - https://docs.liquibase.com/change-types/modify-data-type.html</b> + */ + LiquibaseElementNameIs_MODIFYDATATYPE: new LiquibaseElementNameIs('modifyDataType', 'https://docs.liquibase.com/change-types/modify-data-type.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/24: update - https://docs.liquibase.com/change-types/update.html</b> + */ + LiquibaseElementNameIs_UPDATE: new LiquibaseElementNameIs('update', 'https://docs.liquibase.com/change-types/update.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/25: createView - https://docs.liquibase.com/change-types/create-view.html</b> + */ + LiquibaseElementNameIs_CREATEVIEW: new LiquibaseElementNameIs('createView', 'https://docs.liquibase.com/change-types/create-view.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/26: dropView - https://docs.liquibase.com/change-types/drop-view.html</b> + */ + LiquibaseElementNameIs_DROPVIEW: new LiquibaseElementNameIs('dropView', 'https://docs.liquibase.com/change-types/drop-view.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/27: renameView - https://docs.liquibase.com/change-types/rename-view.html</b> + */ + LiquibaseElementNameIs_RENAMEVIEW: new LiquibaseElementNameIs('renameView', 'https://docs.liquibase.com/change-types/rename-view.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/28: setTableRemarks - https://docs.liquibase.com/change-types/set-table-remarks.html</b> + */ + LiquibaseElementNameIs_SETTABLEREMARKS: new LiquibaseElementNameIs('setTableRemarks', 'https://docs.liquibase.com/change-types/set-table-remarks.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/29: setColumnRemarks - https://docs.liquibase.com/change-types/set-column-remarks.html</b> + */ + LiquibaseElementNameIs_SETCOLUMNREMARKS: new LiquibaseElementNameIs('setColumnRemarks', 'https://docs.liquibase.com/change-types/set-column-remarks.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/30: renameTrigger - https://docs.liquibase.com/change-types/rename-trigger.html</b> + */ + LiquibaseElementNameIs_RENAMETRIGGER: new LiquibaseElementNameIs('renameTrigger', 'https://docs.liquibase.com/change-types/rename-trigger.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/31: renameTable - https://docs.liquibase.com/change-types/rename-table.html</b> + */ + LiquibaseElementNameIs_RENAMETABLE: new LiquibaseElementNameIs('renameTable', 'https://docs.liquibase.com/change-types/rename-table.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/32: renameSequence - https://docs.liquibase.com/change-types/rename-sequence.html</b> + */ + LiquibaseElementNameIs_RENAMESEQUENCE: new LiquibaseElementNameIs('renameSequence', 'https://docs.liquibase.com/change-types/rename-sequence.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/33: enableTrigger - https://docs.liquibase.com/change-types/enable-trigger.html</b> + */ + LiquibaseElementNameIs_ENABLETRIGGER: new LiquibaseElementNameIs('enableTrigger', 'https://docs.liquibase.com/change-types/enable-trigger.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/34: dropTrigger - https://docs.liquibase.com/change-types/drop-trigger.html</b> + */ + LiquibaseElementNameIs_DROPTRIGGER: new LiquibaseElementNameIs('dropTrigger', 'https://docs.liquibase.com/change-types/drop-trigger.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/35: dropSynonym - https://docs.liquibase.com/change-types/drop-synonym.html</b> + */ + LiquibaseElementNameIs_DROPSYNONYM: new LiquibaseElementNameIs('dropSynonym', 'https://docs.liquibase.com/change-types/drop-synonym.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/36: dropProcedure - https://docs.liquibase.com/change-types/drop-procedure.html</b> + */ + LiquibaseElementNameIs_DROPPROCEDURE: new LiquibaseElementNameIs('dropProcedure', 'https://docs.liquibase.com/change-types/drop-procedure.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/37: dropPackageBody - https://docs.liquibase.com/change-types/drop-package-body.html</b> + */ + LiquibaseElementNameIs_DROPPACKAGEBODY: new LiquibaseElementNameIs('dropPackageBody', 'https://docs.liquibase.com/change-types/drop-package-body.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/38: dropPackage - https://docs.liquibase.com/change-types/drop-package.html</b> + */ + LiquibaseElementNameIs_DROPPACKAGE: new LiquibaseElementNameIs('dropPackage', 'https://docs.liquibase.com/change-types/drop-package.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/39: dropIndex - https://docs.liquibase.com/change-types/drop-index.html</b> + */ + LiquibaseElementNameIs_DROPINDEX: new LiquibaseElementNameIs('dropIndex', 'https://docs.liquibase.com/change-types/drop-index.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/40: dropFunction - https://docs.liquibase.com/change-types/drop-function.html</b> + */ + LiquibaseElementNameIs_DROPFUNCTION: new LiquibaseElementNameIs('dropFunction', 'https://docs.liquibase.com/change-types/drop-function.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/41: disableTrigger - https://docs.liquibase.com/change-types/disable-trigger.html</b> + */ + LiquibaseElementNameIs_DISABLETRIGGER: new LiquibaseElementNameIs('disableTrigger', 'https://docs.liquibase.com/change-types/disable-trigger.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/42: createTrigger - https://docs.liquibase.com/change-types/create-trigger.html</b> + */ + LiquibaseElementNameIs_CREATETRIGGER: new LiquibaseElementNameIs('createTrigger', 'https://docs.liquibase.com/change-types/create-trigger.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/43: createSynonym - https://docs.liquibase.com/change-types/create-synonym.html</b> + */ + LiquibaseElementNameIs_CREATESYNONYM: new LiquibaseElementNameIs('createSynonym', 'https://docs.liquibase.com/change-types/create-synonym.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/44: createPackageBody - https://docs.liquibase.com/change-types/create-package-body.html</b> + */ + LiquibaseElementNameIs_CREATEPACKAGEBODY: new LiquibaseElementNameIs('createPackageBody', 'https://docs.liquibase.com/change-types/create-package-body.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/45: createPackage - https://docs.liquibase.com/change-types/create-package.html</b> + */ + LiquibaseElementNameIs_CREATEPACKAGE: new LiquibaseElementNameIs('createPackage', 'https://docs.liquibase.com/change-types/create-package.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/46: createIndex - https://docs.liquibase.com/change-types/create-index.html</b> + */ + LiquibaseElementNameIs_CREATEINDEX: new LiquibaseElementNameIs('createIndex', 'https://docs.liquibase.com/change-types/create-index.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/47: createFunction - https://docs.liquibase.com/change-types/create-function.html</b> + */ + LiquibaseElementNameIs_CREATEFUNCTION: new LiquibaseElementNameIs('createFunction', 'https://docs.liquibase.com/change-types/create-function.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/48: alterSequence - https://docs.liquibase.com/change-types/alter-sequence.html</b> + */ + LiquibaseElementNameIs_ALTERSEQUENCE: new LiquibaseElementNameIs('alterSequence', 'https://docs.liquibase.com/change-types/alter-sequence.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/49: addAutoIncrement - https://docs.liquibase.com/change-types/add-auto-increment.html</b> + */ + LiquibaseElementNameIs_ADDAUTOINCREMENT: new LiquibaseElementNameIs('addAutoIncrement', 'https://docs.liquibase.com/change-types/add-auto-increment.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/50: addCheckConstraint - https://docs.liquibase.com/change-types/add-check-constraint.html</b> + */ + LiquibaseElementNameIs_ADDCHECKCONSTRAINT: new LiquibaseElementNameIs('addCheckConstraint', 'https://docs.liquibase.com/change-types/add-check-constraint.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/51: addDefaultValue - https://docs.liquibase.com/change-types/add-default-value.html</b> + */ + LiquibaseElementNameIs_ADDDEFAULTVALUE: new LiquibaseElementNameIs('addDefaultValue', 'https://docs.liquibase.com/change-types/add-default-value.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/52: addNotNullConstraint - https://docs.liquibase.com/change-types/add-not-null-constraint.html</b> + */ + LiquibaseElementNameIs_ADDNOTNULLCONSTRAINT: new LiquibaseElementNameIs('addNotNullConstraint', 'https://docs.liquibase.com/change-types/add-not-null-constraint.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/53: disableCheckConstraint - https://docs.liquibase.com/change-types/disable-check-constraint.html</b> + */ + LiquibaseElementNameIs_DISABLECHECKCONSTRAINT: new LiquibaseElementNameIs('disableCheckConstraint', 'https://docs.liquibase.com/change-types/disable-check-constraint.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/54: dropAllForeignKeyConstraints - https://docs.liquibase.com/change-types/drop-all-foreign-key-constraints.html</b> + */ + LiquibaseElementNameIs_DROPALLFOREIGNKEYCONSTRAINTS: new LiquibaseElementNameIs('dropAllForeignKeyConstraints', 'https://docs.liquibase.com/change-types/drop-all-foreign-key-constraints.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/55: dropCheckConstraint - https://docs.liquibase.com/change-types/drop-check-constraint.html</b> + */ + LiquibaseElementNameIs_DROPCHECKCONSTRAINT: new LiquibaseElementNameIs('dropCheckConstraint', 'https://docs.liquibase.com/change-types/drop-check-constraint.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/56: dropDefaultValue - https://docs.liquibase.com/change-types/drop-default-value.html</b> + */ + LiquibaseElementNameIs_DROPDEFAULTVALUE: new LiquibaseElementNameIs('dropDefaultValue', 'https://docs.liquibase.com/change-types/drop-default-value.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/57: dropForeignKeyConstraint - https://docs.liquibase.com/change-types/drop-foreign-key-constraint.html</b> + */ + LiquibaseElementNameIs_DROPFOREIGNKEYCONSTRAINT: new LiquibaseElementNameIs('dropForeignKeyConstraint', 'https://docs.liquibase.com/change-types/drop-foreign-key-constraint.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/58: dropNotNullConstraint - https://docs.liquibase.com/change-types/drop-not-null-constraint.html</b> + */ + LiquibaseElementNameIs_DROPNOTNULLCONSTRAINT: new LiquibaseElementNameIs('dropNotNullConstraint', 'https://docs.liquibase.com/change-types/drop-not-null-constraint.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/59: dropPrimaryKey - https://docs.liquibase.com/change-types/drop-primary-key.html</b> + */ + LiquibaseElementNameIs_DROPPRIMARYKEY: new LiquibaseElementNameIs('dropPrimaryKey', 'https://docs.liquibase.com/change-types/drop-primary-key.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/60: dropUniqueConstraint - https://docs.liquibase.com/change-types/drop-unique-constraint.html</b> + */ + LiquibaseElementNameIs_DROPUNIQUECONSTRAINT: new LiquibaseElementNameIs('dropUniqueConstraint', 'https://docs.liquibase.com/change-types/drop-unique-constraint.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/61: enableCheckConstraint - https://docs.liquibase.com/change-types/enable-check-constraint.html</b> + */ + LiquibaseElementNameIs_ENABLECHECKCONSTRAINT: new LiquibaseElementNameIs('enableCheckConstraint', 'https://docs.liquibase.com/change-types/enable-check-constraint.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/62: addLookupTable - https://docs.liquibase.com/change-types/add-lookup-table.html</b> + */ + LiquibaseElementNameIs_ADDLOOKUPTABLE: new LiquibaseElementNameIs('addLookupTable', 'https://docs.liquibase.com/change-types/add-lookup-table.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/63: delete - https://docs.liquibase.com/change-types/delete.html</b> + */ + LiquibaseElementNameIs_DELETE: new LiquibaseElementNameIs('delete', 'https://docs.liquibase.com/change-types/delete.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/64: loadUpdateData - https://docs.liquibase.com/change-types/load-update-data.html</b> + */ + LiquibaseElementNameIs_LOADUPDATEDATA: new LiquibaseElementNameIs('loadUpdateData', 'https://docs.liquibase.com/change-types/load-update-data.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/65: mergeColumns - https://docs.liquibase.com/change-types/merge-columns.html</b> + */ + LiquibaseElementNameIs_MERGECOLUMNS: new LiquibaseElementNameIs('mergeColumns', 'https://docs.liquibase.com/change-types/merge-columns.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/66: customChange - https://docs.liquibase.com/change-types/custom-change.html</b> + */ + LiquibaseElementNameIs_CUSTOMCHANGE: new LiquibaseElementNameIs('customChange', 'https://docs.liquibase.com/change-types/custom-change.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/67: empty - https://docs.liquibase.com/change-types/empty.html</b> + */ + LiquibaseElementNameIs_EMPTY: new LiquibaseElementNameIs('empty', 'https://docs.liquibase.com/change-types/empty.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/68: executeCommand - https://docs.liquibase.com/change-types/execute-command.html</b> + */ + LiquibaseElementNameIs_EXECUTECOMMAND: new LiquibaseElementNameIs('executeCommand', 'https://docs.liquibase.com/change-types/execute-command.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/69: includeAll - https://docs.liquibase.com/change-types/includeall.html</b> + */ + LiquibaseElementNameIs_INCLUDEALL: new LiquibaseElementNameIs('includeAll', 'https://docs.liquibase.com/change-types/includeall.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/70: markUnused - https://docs.liquibase.com/change-types/mark-unused.html</b> + */ + LiquibaseElementNameIs_MARKUNUSED: new LiquibaseElementNameIs('markUnused', 'https://docs.liquibase.com/change-types/mark-unused.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/71: modifyChangeSets - https://docs.liquibase.com/change-types/modifychangesets.html</b> + */ + LiquibaseElementNameIs_MODIFYCHANGESETS: new LiquibaseElementNameIs('modifyChangeSets', 'https://docs.liquibase.com/change-types/modifychangesets.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/72: output - https://docs.liquibase.com/change-types/output.html</b> + */ + LiquibaseElementNameIs_OUTPUT: new LiquibaseElementNameIs('output', 'https://docs.liquibase.com/change-types/output.html'), + + /** + * <b>B01: Liquibase element name is ...</b><br> + * <br> + * <b>B01/73: stop - https://docs.liquibase.com/change-types/stop.html</b> + */ + LiquibaseElementNameIs_STOP: new LiquibaseElementNameIs('stop', 'https://docs.liquibase.com/change-types/stop.html'), + + /** + * <b>A01: log</b><br> + * <br> + * <b>A01/01: NOT_SUPPORTED - not supported element</b> + */ + Log_NOT_SUPPORTED: new Log('NOT_SUPPORTED', 'not supported element'), + + /** + * <b>A01: log</b><br> + * <br> + * <b>A01/02: IGNORE - ignored element</b> + */ + Log_IGNORE: new Log('IGNORE', 'ignored element'), + + /** + * <b>A02: set element to ignore</b><br> + * <br> + * <b>A02/01: true - element should ignored</b> + */ + SetElementToIgnore_TRUE: new SetElementToIgnore('true', 'element should ignored'), + + /** + * <b>A02: set element to ignore</b><br> + * <br> + * <b>A02/02: false - element should processed</b> + */ + SetElementToIgnore_FALSE: new SetElementToIgnore('false', 'element should processed'), + + /** + * <b>A03: set finish processing</b><br> + * <br> + * <b>A03/01: true - parsing is finished</b> + */ + SetFinishProcessing_TRUE: new SetFinishProcessing('true', 'parsing is finished'), + + /** + * <b>A03: set finish processing</b><br> + * <br> + * <b>A03/02: false - parsing is not yet done</b> + */ + SetFinishProcessing_FALSE: new SetFinishProcessing('false', 'parsing is not yet done'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/01: addAutoIncrement - https://docs.liquibase.com/change-types/add-auto-increment.html</b> + */ + SetElementName_ADDAUTOINCREMENT: new SetElementName('addAutoIncrement', 'https://docs.liquibase.com/change-types/add-auto-increment.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/02: addCheckConstraint - https://docs.liquibase.com/change-types/add-check-constraint.html</b> + */ + SetElementName_ADDCHECKCONSTRAINT: new SetElementName('addCheckConstraint', 'https://docs.liquibase.com/change-types/add-check-constraint.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/03: addColumn - liquibase element addColumn</b> + */ + SetElementName_ADDCOLUMN: new SetElementName('addColumn', 'liquibase element addColumn'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/04: addDefaultValue - liquibase element addDefaultValue</b> + */ + SetElementName_ADDDEFAULTVALUE: new SetElementName('addDefaultValue', 'liquibase element addDefaultValue'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/05: addForeignKeyConstraint - liquibase element addForeignKeyConstraint</b> + */ + SetElementName_ADDFOREIGNKEYCONSTRAINT: new SetElementName('addForeignKeyConstraint', 'liquibase element addForeignKeyConstraint'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/06: addLookupTable - https://docs.liquibase.com/change-types/add-lookup-table.html</b> + */ + SetElementName_ADDLOOKUPTABLE: new SetElementName('addLookupTable', 'https://docs.liquibase.com/change-types/add-lookup-table.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/07: addNotNullConstraint - https://docs.liquibase.com/change-types/add-not-null-constraint.html</b> + */ + SetElementName_ADDNOTNULLCONSTRAINT: new SetElementName('addNotNullConstraint', 'https://docs.liquibase.com/change-types/add-not-null-constraint.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/08: addPrimaryKey - liquibase element addPrimaryKey</b> + */ + SetElementName_ADDPRIMARYKEY: new SetElementName('addPrimaryKey', 'liquibase element addPrimaryKey'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/09: addUniqueConstraint - liquibase element addUniqueConstraint</b> + */ + SetElementName_ADDUNIQUECONSTRAINT: new SetElementName('addUniqueConstraint', 'liquibase element addUniqueConstraint'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/10: alterSequence - https://docs.liquibase.com/change-types/alter-sequence.html</b> + */ + SetElementName_ALTERSEQUENCE: new SetElementName('alterSequence', 'https://docs.liquibase.com/change-types/alter-sequence.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/11: changeSet - liquibase element changeSet</b> + */ + SetElementName_CHANGESET: new SetElementName('changeSet', 'liquibase element changeSet'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/12: comment - liquibase element comment</b> + */ + SetElementName_COMMENT: new SetElementName('comment', 'liquibase element comment'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/13: createFunction - https://docs.liquibase.com/change-types/create-function.html</b> + */ + SetElementName_CREATEFUNCTION: new SetElementName('createFunction', 'https://docs.liquibase.com/change-types/create-function.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/14: createIndex - liquibase element createIndex</b> + */ + SetElementName_CREATEINDEX: new SetElementName('createIndex', 'liquibase element createIndex'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/15: createPackage - https://docs.liquibase.com/change-types/create-package.html</b> + */ + SetElementName_CREATEPACKAGE: new SetElementName('createPackage', 'https://docs.liquibase.com/change-types/create-package.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/16: createPackageBody - https://docs.liquibase.com/change-types/create-package-body.html</b> + */ + SetElementName_CREATEPACKAGEBODY: new SetElementName('createPackageBody', 'https://docs.liquibase.com/change-types/create-package-body.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/17: createProcedure - liquibase element createProcedure</b> + */ + SetElementName_CREATEPROCEDURE: new SetElementName('createProcedure', 'liquibase element createProcedure'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/18: createSequence - liquibase element createSequence</b> + */ + SetElementName_CREATESEQUENCE: new SetElementName('createSequence', 'liquibase element createSequence'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/19: createSynonym - https://docs.liquibase.com/change-types/create-synonym.html</b> + */ + SetElementName_CREATESYNONYM: new SetElementName('createSynonym', 'https://docs.liquibase.com/change-types/create-synonym.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/20: createTable - liquibase element createTable</b> + */ + SetElementName_CREATETABLE: new SetElementName('createTable', 'liquibase element createTable'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/21: createTrigger - https://docs.liquibase.com/change-types/create-trigger.html</b> + */ + SetElementName_CREATETRIGGER: new SetElementName('createTrigger', 'https://docs.liquibase.com/change-types/create-trigger.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/22: createView - https://docs.liquibase.com/change-types/create-view.html</b> + */ + SetElementName_CREATEVIEW: new SetElementName('createView', 'https://docs.liquibase.com/change-types/create-view.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/23: customChange - https://docs.liquibase.com/change-types/custom-change.html</b> + */ + SetElementName_CUSTOMCHANGE: new SetElementName('customChange', 'https://docs.liquibase.com/change-types/custom-change.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/24: delete - https://docs.liquibase.com/change-types/delete.html</b> + */ + SetElementName_DELETE: new SetElementName('delete', 'https://docs.liquibase.com/change-types/delete.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/25: disableCheckConstraint - https://docs.liquibase.com/change-types/disable-check-constraint.html</b> + */ + SetElementName_DISABLECHECKCONSTRAINT: new SetElementName('disableCheckConstraint', 'https://docs.liquibase.com/change-types/disable-check-constraint.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/26: disableTrigger - https://docs.liquibase.com/change-types/disable-trigger.html</b> + */ + SetElementName_DISABLETRIGGER: new SetElementName('disableTrigger', 'https://docs.liquibase.com/change-types/disable-trigger.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/27: dropAllForeignKeyConstraints - https://docs.liquibase.com/change-types/drop-all-foreign-key-constraints.html</b> + */ + SetElementName_DROPALLFOREIGNKEYCONSTRAINTS: new SetElementName('dropAllForeignKeyConstraints', 'https://docs.liquibase.com/change-types/drop-all-foreign-key-constraints.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/28: dropCheckConstraint - https://docs.liquibase.com/change-types/drop-check-constraint.html</b> + */ + SetElementName_DROPCHECKCONSTRAINT: new SetElementName('dropCheckConstraint', 'https://docs.liquibase.com/change-types/drop-check-constraint.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/29: dropColumn - liquibase element dropColumn</b> + */ + SetElementName_DROPCOLUMN: new SetElementName('dropColumn', 'liquibase element dropColumn'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/30: dropDefaultValue - https://docs.liquibase.com/change-types/drop-default-value.html</b> + */ + SetElementName_DROPDEFAULTVALUE: new SetElementName('dropDefaultValue', 'https://docs.liquibase.com/change-types/drop-default-value.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/31: dropForeignKeyConstraint - https://docs.liquibase.com/change-types/drop-foreign-key-constraint.html</b> + */ + SetElementName_DROPFOREIGNKEYCONSTRAINT: new SetElementName('dropForeignKeyConstraint', 'https://docs.liquibase.com/change-types/drop-foreign-key-constraint.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/32: dropFunction - https://docs.liquibase.com/change-types/drop-function.html</b> + */ + SetElementName_DROPFUNCTION: new SetElementName('dropFunction', 'https://docs.liquibase.com/change-types/drop-function.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/33: dropIndex - https://docs.liquibase.com/change-types/drop-index.html</b> + */ + SetElementName_DROPINDEX: new SetElementName('dropIndex', 'https://docs.liquibase.com/change-types/drop-index.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/34: dropNotNullConstraint - https://docs.liquibase.com/change-types/drop-not-null-constraint.html</b> + */ + SetElementName_DROPNOTNULLCONSTRAINT: new SetElementName('dropNotNullConstraint', 'https://docs.liquibase.com/change-types/drop-not-null-constraint.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/35: dropPackage - https://docs.liquibase.com/change-types/drop-package.html</b> + */ + SetElementName_DROPPACKAGE: new SetElementName('dropPackage', 'https://docs.liquibase.com/change-types/drop-package.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/36: dropPackageBody - https://docs.liquibase.com/change-types/drop-package-body.html</b> + */ + SetElementName_DROPPACKAGEBODY: new SetElementName('dropPackageBody', 'https://docs.liquibase.com/change-types/drop-package-body.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/37: dropPrimaryKey - https://docs.liquibase.com/change-types/drop-primary-key.html</b> + */ + SetElementName_DROPPRIMARYKEY: new SetElementName('dropPrimaryKey', 'https://docs.liquibase.com/change-types/drop-primary-key.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/38: dropProcedure - https://docs.liquibase.com/change-types/drop-procedure.html</b> + */ + SetElementName_DROPPROCEDURE: new SetElementName('dropProcedure', 'https://docs.liquibase.com/change-types/drop-procedure.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/39: dropSequence - liquibase element dropSequence</b> + */ + SetElementName_DROPSEQUENCE: new SetElementName('dropSequence', 'liquibase element dropSequence'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/40: dropSynonym - https://docs.liquibase.com/change-types/drop-synonym.html</b> + */ + SetElementName_DROPSYNONYM: new SetElementName('dropSynonym', 'https://docs.liquibase.com/change-types/drop-synonym.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/41: dropTable - liquibase element dropTable</b> + */ + SetElementName_DROPTABLE: new SetElementName('dropTable', 'liquibase element dropTable'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/42: dropTrigger - https://docs.liquibase.com/change-types/drop-trigger.html</b> + */ + SetElementName_DROPTRIGGER: new SetElementName('dropTrigger', 'https://docs.liquibase.com/change-types/drop-trigger.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/43: dropUniqueConstraint - https://docs.liquibase.com/change-types/drop-unique-constraint.html</b> + */ + SetElementName_DROPUNIQUECONSTRAINT: new SetElementName('dropUniqueConstraint', 'https://docs.liquibase.com/change-types/drop-unique-constraint.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/44: dropView - https://docs.liquibase.com/change-types/drop-view.html</b> + */ + SetElementName_DROPVIEW: new SetElementName('dropView', 'https://docs.liquibase.com/change-types/drop-view.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/45: empty - https://docs.liquibase.com/change-types/empty.html</b> + */ + SetElementName_EMPTY: new SetElementName('empty', 'https://docs.liquibase.com/change-types/empty.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/46: enableCheckConstraint - https://docs.liquibase.com/change-types/enable-check-constraint.html</b> + */ + SetElementName_ENABLECHECKCONSTRAINT: new SetElementName('enableCheckConstraint', 'https://docs.liquibase.com/change-types/enable-check-constraint.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/47: enableTrigger - https://docs.liquibase.com/change-types/enable-trigger.html</b> + */ + SetElementName_ENABLETRIGGER: new SetElementName('enableTrigger', 'https://docs.liquibase.com/change-types/enable-trigger.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/48: executeCommand - https://docs.liquibase.com/change-types/execute-command.html</b> + */ + SetElementName_EXECUTECOMMAND: new SetElementName('executeCommand', 'https://docs.liquibase.com/change-types/execute-command.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/49: include - liquibase element include</b> + */ + SetElementName_INCLUDE: new SetElementName('include', 'liquibase element include'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/50: includeAll - https://docs.liquibase.com/change-types/includeall.html</b> + */ + SetElementName_INCLUDEALL: new SetElementName('includeAll', 'https://docs.liquibase.com/change-types/includeall.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/51: insert - liquibase element insert</b> + */ + SetElementName_INSERT: new SetElementName('insert', 'liquibase element insert'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/52: loadData - liquibase element loadData</b> + */ + SetElementName_LOADDATA: new SetElementName('loadData', 'liquibase element loadData'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/53: loadUpdateData - https://docs.liquibase.com/change-types/load-update-data.html</b> + */ + SetElementName_LOADUPDATEDATA: new SetElementName('loadUpdateData', 'https://docs.liquibase.com/change-types/load-update-data.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/54: markUnused - https://docs.liquibase.com/change-types/mark-unused.html</b> + */ + SetElementName_MARKUNUSED: new SetElementName('markUnused', 'https://docs.liquibase.com/change-types/mark-unused.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/55: mergeColumns - https://docs.liquibase.com/change-types/merge-columns.html</b> + */ + SetElementName_MERGECOLUMNS: new SetElementName('mergeColumns', 'https://docs.liquibase.com/change-types/merge-columns.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/56: modifyChangeSets - https://docs.liquibase.com/change-types/modifychangesets.html</b> + */ + SetElementName_MODIFYCHANGESETS: new SetElementName('modifyChangeSets', 'https://docs.liquibase.com/change-types/modifychangesets.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/57: modifyDataType - https://docs.liquibase.com/change-types/modify-data-type.html</b> + */ + SetElementName_MODIFYDATATYPE: new SetElementName('modifyDataType', 'https://docs.liquibase.com/change-types/modify-data-type.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/58: output - https://docs.liquibase.com/change-types/output.html</b> + */ + SetElementName_OUTPUT: new SetElementName('output', 'https://docs.liquibase.com/change-types/output.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/59: preConditions - https://docs.liquibase.com/concepts/changelogs/preconditions.html</b> + */ + SetElementName_PRECONDITIONS: new SetElementName('preConditions', 'https://docs.liquibase.com/concepts/changelogs/preconditions.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/60: property - liquibase element property</b> + */ + SetElementName_PROPERTY: new SetElementName('property', 'liquibase element property'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/61: renameColumn - liquibase element renameColumn</b> + */ + SetElementName_RENAMECOLUMN: new SetElementName('renameColumn', 'liquibase element renameColumn'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/62: renameSequence - https://docs.liquibase.com/change-types/rename-sequence.html</b> + */ + SetElementName_RENAMESEQUENCE: new SetElementName('renameSequence', 'https://docs.liquibase.com/change-types/rename-sequence.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/63: renameTable - https://docs.liquibase.com/change-types/rename-table.html</b> + */ + SetElementName_RENAMETABLE: new SetElementName('renameTable', 'https://docs.liquibase.com/change-types/rename-table.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/64: renameTrigger - https://docs.liquibase.com/change-types/rename-trigger.html</b> + */ + SetElementName_RENAMETRIGGER: new SetElementName('renameTrigger', 'https://docs.liquibase.com/change-types/rename-trigger.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/65: renameView - https://docs.liquibase.com/change-types/rename-view.html</b> + */ + SetElementName_RENAMEVIEW: new SetElementName('renameView', 'https://docs.liquibase.com/change-types/rename-view.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/66: rollback - liquibase element rollback</b> + */ + SetElementName_ROLLBACK: new SetElementName('rollback', 'liquibase element rollback'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/67: setColumnRemarks - https://docs.liquibase.com/change-types/set-column-remarks.html</b> + */ + SetElementName_SETCOLUMNREMARKS: new SetElementName('setColumnRemarks', 'https://docs.liquibase.com/change-types/set-column-remarks.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/68: setTableRemarks - https://docs.liquibase.com/change-types/set-table-remarks.html</b> + */ + SetElementName_SETTABLEREMARKS: new SetElementName('setTableRemarks', 'https://docs.liquibase.com/change-types/set-table-remarks.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/69: sql - liquibase element sql</b> + */ + SetElementName_SQL: new SetElementName('sql', 'liquibase element sql'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/70: sqlFile - liquibase element sqlFile</b> + */ + SetElementName_SQLFILE: new SetElementName('sqlFile', 'liquibase element sqlFile'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/71: stop - https://docs.liquibase.com/change-types/stop.html</b> + */ + SetElementName_STOP: new SetElementName('stop', 'https://docs.liquibase.com/change-types/stop.html'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/72: tagDatabase - liquibase element tagDatabase</b> + */ + SetElementName_TAGDATABASE: new SetElementName('tagDatabase', 'liquibase element tagDatabase'), + + /** + * <b>A04: set element name</b><br> + * <br> + * <b>A04/73: update - https://docs.liquibase.com/change-types/update.html</b> + */ + SetElementName_UPDATE: new SetElementName('update', 'https://docs.liquibase.com/change-types/update.html') +} + +// Epilog Standard <---- + +// End of generated JavaScript source code +// Generated by LF-ET 2.3.0 (240413a), https://www.lohrfink.de/lfet diff --git a/lib/liquibase-elements.js b/lib/liquibase-elements.js index 9c9160e..93245ca 100644 --- a/lib/liquibase-elements.js +++ b/lib/liquibase-elements.js @@ -1,424 +1,68 @@ -// *** WARNING: DO NOT MODIFY *** This is a generated JavaScript source code! -// -// Generated by LF-ET 2.2.1 (230826a), https://www.lohrfink.de/lfet -// From decision table -// "/opt/data/github/asciidoctor/asciidoctor-liquibase/lfet/liquibase-elements.lfet" -// 03.09.2023 22:07 -// -// Changes to this code resulting from refactorings can be synchronised -// with LF-ET using the function "Scrapbook Import". -// -// Prolog Decision Table ----> const { stringify } = require('./utils') +const { DecisionTableLogic, Log_IGNORE, Log_NOT_SUPPORTED } = require('./generated/LiquibaseElementsIface') -function liquibaseElement (element, logger, tillTag, elementNameCallback, tagValueCallback) { - const liquibaseElementResult = {} - // Prolog Decision Table <---- - // Condition B01/01: Liquibase element name is ... / addDefaultValue / liquibase element addDefaultValue - if (elementNameCallback(element, 'addDefaultValue')) { - // Rule R01 ----> - // Trace ----> - logger.info(`liquibase-elements - 20230903.220713 - 1 / 28 - ${stringify(element)}`) - // Trace <---- - // Action A01/02: log / IGNORE / ignored element - logger.info(`Liquibase element '${stringify(element)}' ignored`) - // Action A02/01: set element to ignore / true / element should ignored - liquibaseElementResult.ignore = true - // Action A03/02: set finish processing / false / parsing is not yet done - liquibaseElementResult.finishedProcessing = false - // Action A04/02: set element name / addDefaultValue / liquibase element addDefaultValue - liquibaseElementResult.elementName = 'addDefaultValue' - // Rule R01 <---- - // Condition B01/02: Liquibase element name is ... / loadData / liquibase element loadData - } else if (elementNameCallback(element, 'loadData')) { - // Rule R02 ----> - // Trace ----> - logger.info(`liquibase-elements - 20230903.220713 - 2 / 28 - ${stringify(element)}`) - // Trace <---- - // Action A01/02: log / IGNORE / ignored element - logger.info(`Liquibase element '${stringify(element)}' ignored`) - // Action A02/01: set element to ignore / true / element should ignored - liquibaseElementResult.ignore = true - // Action A03/02: set finish processing / false / parsing is not yet done - liquibaseElementResult.finishedProcessing = false - // Action A04/17: set element name / loadData / liquibase element loadData - liquibaseElementResult.elementName = 'loadData' - // Rule R02 <---- - // Condition B01/03: Liquibase element name is ... / insert / liquibase element insert - } else if (elementNameCallback(element, 'insert')) { - // Rule R03 ----> - // Trace ----> - logger.info(`liquibase-elements - 20230903.220713 - 3 / 28 - ${stringify(element)}`) - // Trace <---- - // Action A01/02: log / IGNORE / ignored element - logger.info(`Liquibase element '${stringify(element)}' ignored`) - // Action A02/01: set element to ignore / true / element should ignored - liquibaseElementResult.ignore = true - // Action A03/02: set finish processing / false / parsing is not yet done - liquibaseElementResult.finishedProcessing = false - // Action A04/16: set element name / insert / liquibase element insert - liquibaseElementResult.elementName = 'insert' - // Rule R03 <---- - // Condition B01/04: Liquibase element name is ... / sql / liquibase element sql - } else if (elementNameCallback(element, 'sql')) { - // Rule R04 ----> - // Trace ----> - logger.info(`liquibase-elements - 20230903.220713 - 4 / 28 - ${stringify(element)}`) - // Trace <---- - // Action A01/02: log / IGNORE / ignored element - logger.info(`Liquibase element '${stringify(element)}' ignored`) - // Action A02/01: set element to ignore / true / element should ignored - liquibaseElementResult.ignore = true - // Action A03/02: set finish processing / false / parsing is not yet done - liquibaseElementResult.finishedProcessing = false - // Action A04/23: set element name / sql / liquibase element sql - liquibaseElementResult.elementName = 'sql' - // Rule R04 <---- - // Condition B01/05: Liquibase element name is ... / sqlFile / liquibase element sqlFile - } else if (elementNameCallback(element, 'sqlFile')) { - // Rule R05 ----> - // Trace ----> - logger.info(`liquibase-elements - 20230903.220713 - 5 / 28 - ${stringify(element)}`) - // Trace <---- - // Action A01/02: log / IGNORE / ignored element - logger.info(`Liquibase element '${stringify(element)}' ignored`) - // Action A02/01: set element to ignore / true / element should ignored - liquibaseElementResult.ignore = true - // Action A03/02: set finish processing / false / parsing is not yet done - liquibaseElementResult.finishedProcessing = false - // Action A04/24: set element name / sqlFile / liquibase element sqlFile - liquibaseElementResult.elementName = 'sqlFile' - // Rule R05 <---- - // Condition B01/06: Liquibase element name is ... / preConditions / https://docs.liquibase.com/concepts/changelogs/preconditions.html - } else if (elementNameCallback(element, 'preConditions')) { - // Rule R06 ----> - // Trace ----> - logger.info(`liquibase-elements - 20230903.220713 - 6 / 28 - ${stringify(element)}`) - // Trace <---- - // Action A01/02: log / IGNORE / ignored element - logger.info(`Liquibase element '${stringify(element)}' ignored`) - // Action A02/01: set element to ignore / true / element should ignored - liquibaseElementResult.ignore = true - // Action A03/02: set finish processing / false / parsing is not yet done - liquibaseElementResult.finishedProcessing = false - // Action A04/19: set element name / preConditions / https://docs.liquibase.com/concepts/changelogs/preconditions.html - liquibaseElementResult.elementName = 'preConditions' - // Rule R06 <---- - // Condition B01/07: Liquibase element name is ... / property / liquibase element property - } else if (elementNameCallback(element, 'property')) { - // Rule R07 ----> - // Trace ----> - logger.info(`liquibase-elements - 20230903.220713 - 7 / 28 - ${stringify(element)}`) - // Trace <---- - // Action A01/02: log / IGNORE / ignored element - logger.info(`Liquibase element '${stringify(element)}' ignored`) - // Action A02/01: set element to ignore / true / element should ignored - liquibaseElementResult.ignore = true - // Action A03/02: set finish processing / false / parsing is not yet done - liquibaseElementResult.finishedProcessing = false - // Action A04/20: set element name / property / liquibase element property - liquibaseElementResult.elementName = 'property' - // Rule R07 <---- - // Condition B01/08: Liquibase element name is ... / tagDatabase / liquibase element tagDatabase - } else if (elementNameCallback(element, 'tagDatabase')) { - // Condition B02/01: tag = tillTag / Y / Yes - if (tillTag === tagValueCallback(element)) { - // Rule R08 ----> - // Trace ----> - logger.info(`liquibase-elements - 20230903.220713 - 8 / 28 - ${stringify(element)}`) - // Trace <---- - // Action A02/02: set element to ignore / false / element should processed - liquibaseElementResult.ignore = false - // Action A03/01: set finish processing / true / parsing is finished - liquibaseElementResult.finishedProcessing = true - // Action A04/25: set element name / tagDatabase / liquibase element tagDatabase - liquibaseElementResult.elementName = 'tagDatabase' - // Rule R08 <---- - } else { - // Rule R09 ----> - // Trace ----> - logger.info(`liquibase-elements - 20230903.220713 - 9 / 28 - ${stringify(element)}`) - // Trace <---- - // Action A02/01: set element to ignore / true / element should ignored - liquibaseElementResult.ignore = true - // Action A03/02: set finish processing / false / parsing is not yet done - liquibaseElementResult.finishedProcessing = false - // Action A04/25: set element name / tagDatabase / liquibase element tagDatabase - liquibaseElementResult.elementName = 'tagDatabase' - // Rule R09 <---- +class LiquibaseElements extends DecisionTableLogic { + constructor (elementNameCallback, tagValueCallback, logger) { + super() + this.elementNameCallback = elementNameCallback + this.tagValueCallback = tagValueCallback + this.logger = logger + } + + execute (element, tillTag) { + const liquibaseElementResult = { ignore: false, elementName: undefined, finishedProcessing: true } + const model = { + element, + tillTag, + liquibaseElementResult, + logger: this.logger, + + toJSON: function () { + const result = {} + for (const x in this) { + if (x !== 'logger') { + result[x] = this[x] + } + } + return result + } + } + const LiquibaseElementsDecisionLogic = require('./generated/LiquibaseElementsDecisionLogic') + new LiquibaseElementsDecisionLogic().execute(this, model) + return liquibaseElementResult + } + + isLiquibaseElementNameIs (arg, model) { + return this.elementNameCallback(model.element, arg.getSymbol()) + } + + isTagEqualTillTag (model) { + return this.tagValueCallback(model.element) === model.tillTag + } + + doSetFinishProcessing (arg, model) { + model.liquibaseElementResult.finishedProcessing = arg.getSymbol() === 'true' + } + + doSetElementName (arg, model) { + model.liquibaseElementResult.elementName = arg.getSymbol() + } + + doSetElementToIgnore (arg, model) { + model.liquibaseElementResult.ignore = arg.getSymbol() === 'true' + } + + doLog (arg, model) { + if (arg === Log_IGNORE) { + this.logger.info(`Liquibase element '${stringify(model.element)}' ignored`) + } else if (arg === Log_NOT_SUPPORTED) { + this.logger.warn(`Unsupported liquibase element '${stringify(model.element)}' detected`) } - // Condition B01/09: Liquibase element name is ... / addForeignKeyConstraint / liquibase element addForeignKeyConstraint - } else if (elementNameCallback(element, 'addForeignKeyConstraint')) { - // Rule R10 ----> - // Trace ----> - logger.info(`liquibase-elements - 20230903.220713 - 10 / 28 - ${stringify(element)}`) - // Trace <---- - // Action A02/02: set element to ignore / false / element should processed - liquibaseElementResult.ignore = false - // Action A03/02: set finish processing / false / parsing is not yet done - liquibaseElementResult.finishedProcessing = false - // Action A04/03: set element name / addForeignKeyConstraint / liquibase element addForeignKeyConstraint - liquibaseElementResult.elementName = 'addForeignKeyConstraint' - // Rule R10 <---- - // Condition B01/10: Liquibase element name is ... / addUniqueConstraint / liquibase element addUniqueConstraint - } else if (elementNameCallback(element, 'addUniqueConstraint')) { - // Rule R11 ----> - // Trace ----> - logger.info(`liquibase-elements - 20230903.220713 - 11 / 28 - ${stringify(element)}`) - // Trace <---- - // Action A01/02: log / IGNORE / ignored element - logger.info(`Liquibase element '${stringify(element)}' ignored`) - // Action A02/01: set element to ignore / true / element should ignored - liquibaseElementResult.ignore = true - // Action A03/02: set finish processing / false / parsing is not yet done - liquibaseElementResult.finishedProcessing = false - // Action A04/05: set element name / addUniqueConstraint / liquibase element addUniqueConstraint - liquibaseElementResult.elementName = 'addUniqueConstraint' - // Rule R11 <---- - // Condition B01/11: Liquibase element name is ... / rollback / liquibase element rollback - } else if (elementNameCallback(element, 'rollback')) { - // Rule R12 ----> - // Trace ----> - logger.info(`liquibase-elements - 20230903.220713 - 12 / 28 - ${stringify(element)}`) - // Trace <---- - // Action A01/02: log / IGNORE / ignored element - logger.info(`Liquibase element '${stringify(element)}' ignored`) - // Action A02/01: set element to ignore / true / element should ignored - liquibaseElementResult.ignore = true - // Action A03/02: set finish processing / false / parsing is not yet done - liquibaseElementResult.finishedProcessing = false - // Action A04/22: set element name / rollback / liquibase element rollback - liquibaseElementResult.elementName = 'rollback' - // Rule R12 <---- - // Condition B01/12: Liquibase element name is ... / dropColumn / liquibase element dropColumn - } else if (elementNameCallback(element, 'dropColumn')) { - // Rule R13 ----> - // Trace ----> - logger.info(`liquibase-elements - 20230903.220713 - 13 / 28 - ${stringify(element)}`) - // Trace <---- - // Action A02/02: set element to ignore / false / element should processed - liquibaseElementResult.ignore = false - // Action A03/02: set finish processing / false / parsing is not yet done - liquibaseElementResult.finishedProcessing = false - // Action A04/12: set element name / dropColumn / liquibase element dropColumn - liquibaseElementResult.elementName = 'dropColumn' - // Rule R13 <---- - // Condition B01/13: Liquibase element name is ... / addColumn / liquibase element addColumn - } else if (elementNameCallback(element, 'addColumn')) { - // Rule R14 ----> - // Trace ----> - logger.info(`liquibase-elements - 20230903.220713 - 14 / 28 - ${stringify(element)}`) - // Trace <---- - // Action A02/02: set element to ignore / false / element should processed - liquibaseElementResult.ignore = false - // Action A03/02: set finish processing / false / parsing is not yet done - liquibaseElementResult.finishedProcessing = false - // Action A04/01: set element name / addColumn / liquibase element addColumn - liquibaseElementResult.elementName = 'addColumn' - // Rule R14 <---- - // Condition B01/14: Liquibase element name is ... / comment / liquibase element comment - } else if (elementNameCallback(element, 'comment')) { - // Rule R15 ----> - // Trace ----> - logger.info(`liquibase-elements - 20230903.220713 - 15 / 28 - ${stringify(element)}`) - // Trace <---- - // Action A01/02: log / IGNORE / ignored element - logger.info(`Liquibase element '${stringify(element)}' ignored`) - // Action A02/01: set element to ignore / true / element should ignored - liquibaseElementResult.ignore = true - // Action A03/02: set finish processing / false / parsing is not yet done - liquibaseElementResult.finishedProcessing = false - // Action A04/07: set element name / comment / liquibase element comment - liquibaseElementResult.elementName = 'comment' - // Rule R15 <---- - // Condition B01/15: Liquibase element name is ... / renameColumn / liquibase element renameColumn - } else if (elementNameCallback(element, 'renameColumn')) { - // Rule R16 ----> - // Trace ----> - logger.info(`liquibase-elements - 20230903.220713 - 16 / 28 - ${stringify(element)}`) - // Trace <---- - // Action A02/02: set element to ignore / false / element should processed - liquibaseElementResult.ignore = false - // Action A03/02: set finish processing / false / parsing is not yet done - liquibaseElementResult.finishedProcessing = false - // Action A04/21: set element name / renameColumn / liquibase element renameColumn - liquibaseElementResult.elementName = 'renameColumn' - // Rule R16 <---- - // Condition B01/16: Liquibase element name is ... / createIndex / liquibase element createIndex - } else if (elementNameCallback(element, 'createIndex')) { - // Rule R17 ----> - // Trace ----> - logger.info(`liquibase-elements - 20230903.220713 - 17 / 28 - ${stringify(element)}`) - // Trace <---- - // Action A02/02: set element to ignore / false / element should processed - liquibaseElementResult.ignore = false - // Action A03/02: set finish processing / false / parsing is not yet done - liquibaseElementResult.finishedProcessing = false - // Action A04/08: set element name / createIndex / liquibase element createIndex - liquibaseElementResult.elementName = 'createIndex' - // Rule R17 <---- - // Condition B01/17: Liquibase element name is ... / changeSet / https://docs.liquibase.com/concepts/changelogs/changeset.html - } else if (elementNameCallback(element, 'changeSet')) { - // Rule R18 ----> - // Trace ----> - logger.info(`liquibase-elements - 20230903.220713 - 18 / 28 - ${stringify(element)}`) - // Trace <---- - // Action A02/02: set element to ignore / false / element should processed - liquibaseElementResult.ignore = false - // Action A03/02: set finish processing / false / parsing is not yet done - liquibaseElementResult.finishedProcessing = false - // Action A04/06: set element name / changeSet / liquibase element changeSet - liquibaseElementResult.elementName = 'changeSet' - // Rule R18 <---- - // Condition B01/18: Liquibase element name is ... / dropSequence / liquibase element dropSequence - } else if (elementNameCallback(element, 'dropSequence')) { - // Rule R19 ----> - // Trace ----> - logger.info(`liquibase-elements - 20230903.220713 - 19 / 28 - ${stringify(element)}`) - // Trace <---- - // Action A01/02: log / IGNORE / ignored element - logger.info(`Liquibase element '${stringify(element)}' ignored`) - // Action A02/01: set element to ignore / true / element should ignored - liquibaseElementResult.ignore = true - // Action A03/02: set finish processing / false / parsing is not yet done - liquibaseElementResult.finishedProcessing = false - // Action A04/13: set element name / dropSequence / liquibase element dropSequence - liquibaseElementResult.elementName = 'dropSequence' - // Rule R19 <---- - // Condition B01/19: Liquibase element name is ... / createTable / liquibase element createTable - } else if (elementNameCallback(element, 'createTable')) { - // Rule R20 ----> - // Trace ----> - logger.info(`liquibase-elements - 20230903.220713 - 20 / 28 - ${stringify(element)}`) - // Trace <---- - // Action A02/02: set element to ignore / false / element should processed - liquibaseElementResult.ignore = false - // Action A03/02: set finish processing / false / parsing is not yet done - liquibaseElementResult.finishedProcessing = false - // Action A04/11: set element name / createTable / liquibase element createTable - liquibaseElementResult.elementName = 'createTable' - // Rule R20 <---- - // Condition B01/20: Liquibase element name is ... / addPrimaryKey / liquibase element addPrimaryKey - } else if (elementNameCallback(element, 'addPrimaryKey')) { - // Rule R21 ----> - // Trace ----> - logger.info(`liquibase-elements - 20230903.220713 - 21 / 28 - ${stringify(element)}`) - // Trace <---- - // Action A02/02: set element to ignore / false / element should processed - liquibaseElementResult.ignore = false - // Action A03/02: set finish processing / false / parsing is not yet done - liquibaseElementResult.finishedProcessing = false - // Action A04/04: set element name / addPrimaryKey / liquibase element addPrimaryKey - liquibaseElementResult.elementName = 'addPrimaryKey' - // Rule R21 <---- - // Condition B01/21: Liquibase element name is ... / dropTable / liquibase element dropTable - } else if (elementNameCallback(element, 'dropTable')) { - // Rule R22 ----> - // Trace ----> - logger.info(`liquibase-elements - 20230903.220713 - 22 / 28 - ${stringify(element)}`) - // Trace <---- - // Action A02/02: set element to ignore / false / element should processed - liquibaseElementResult.ignore = false - // Action A03/02: set finish processing / false / parsing is not yet done - liquibaseElementResult.finishedProcessing = false - // Action A04/14: set element name / dropTable / liquibase element dropTable - liquibaseElementResult.elementName = 'dropTable' - // Rule R22 <---- - // Condition B01/22: Liquibase element name is ... / include / liquibase element include - } else if (elementNameCallback(element, 'include')) { - // Rule R23 ----> - // Trace ----> - logger.info(`liquibase-elements - 20230903.220713 - 23 / 28 - ${stringify(element)}`) - // Trace <---- - // Action A02/02: set element to ignore / false / element should processed - liquibaseElementResult.ignore = false - // Action A03/02: set finish processing / false / parsing is not yet done - liquibaseElementResult.finishedProcessing = false - // Action A04/15: set element name / include / liquibase element include - liquibaseElementResult.elementName = 'include' - // Rule R23 <---- - // Condition B01/23: Liquibase element name is ... / createSequence / liquibase element createSequence - } else if (elementNameCallback(element, 'createSequence')) { - // Rule R24 ----> - // Trace ----> - logger.info(`liquibase-elements - 20230903.220713 - 24 / 28 - ${stringify(element)}`) - // Trace <---- - // Action A01/02: log / IGNORE / ignored element - logger.info(`Liquibase element '${stringify(element)}' ignored`) - // Action A02/01: set element to ignore / true / element should ignored - liquibaseElementResult.ignore = true - // Action A03/02: set finish processing / false / parsing is not yet done - liquibaseElementResult.finishedProcessing = false - // Action A04/10: set element name / createSequence / liquibase element createSequence - liquibaseElementResult.elementName = 'createSequence' - // Rule R24 <---- - // Condition B01/24: Liquibase element name is ... / createProcedure / liquibase element createProcedure - } else if (elementNameCallback(element, 'createProcedure')) { - // Rule R25 ----> - // Trace ----> - logger.info(`liquibase-elements - 20230903.220713 - 25 / 28 - ${stringify(element)}`) - // Trace <---- - // Action A01/02: log / IGNORE / ignored element - logger.info(`Liquibase element '${stringify(element)}' ignored`) - // Action A02/01: set element to ignore / true / element should ignored - liquibaseElementResult.ignore = true - // Action A03/02: set finish processing / false / parsing is not yet done - liquibaseElementResult.finishedProcessing = false - // Action A04/09: set element name / createProcedure / liquibase element createProcedure - liquibaseElementResult.elementName = 'createProcedure' - // Rule R25 <---- - // Condition B01/25: Liquibase element name is ... / modifyDataType / https://docs.liquibase.com/change-types/modify-data-type.html - } else if (elementNameCallback(element, 'modifyDataType')) { - // Rule R26 ----> - // Trace ----> - logger.info(`liquibase-elements - 20230903.220713 - 26 / 28 - ${stringify(element)}`) - // Trace <---- - // Action A02/02: set element to ignore / false / element should processed - liquibaseElementResult.ignore = false - // Action A03/02: set finish processing / false / parsing is not yet done - liquibaseElementResult.finishedProcessing = false - // Action A04/18: set element name / modifyDataType / https://docs.liquibase.com/change-types/modify-data-type.html - liquibaseElementResult.elementName = 'modifyDataType' - // Rule R26 <---- - // Condition B01/26: Liquibase element name is ... / update / https://docs.liquibase.com/change-types/update.html - } else if (elementNameCallback(element, 'update')) { - // Rule R27 ----> - // Trace ----> - logger.info(`liquibase-elements - 20230903.220713 - 27 / 28 - ${stringify(element)}`) - // Trace <---- - // Action A01/02: log / IGNORE / ignored element - logger.info(`Liquibase element '${stringify(element)}' ignored`) - // Action A02/01: set element to ignore / true / element should ignored - liquibaseElementResult.ignore = true - // Action A03/02: set finish processing / false / parsing is not yet done - liquibaseElementResult.finishedProcessing = false - // Action A04/26: set element name / update / https://docs.liquibase.com/change-types/update.html - liquibaseElementResult.elementName = 'update' - // Rule R27 <---- - } else { - // Rule R28 ----> - // Trace ----> - logger.info(`liquibase-elements - 20230903.220713 - 28 / 28 - ${stringify(element)}`) - // Trace <---- - // Action A01/01: log / NOT_SUPPORTED / not supported element - logger.warn(`Unsupported liquibase element '${stringify(element)}' detected`) - // Action A02/01: set element to ignore / true / element should ignored - liquibaseElementResult.ignore = true - // Action A03/02: set finish processing / false / parsing is not yet done - liquibaseElementResult.finishedProcessing = false - // Rule R28 <---- } - // Epilog Decision Table ----> - // - return liquibaseElementResult } module.exports = { liquibaseElement: (element, logger, tillTag, elementNameCallback, tagValueCallback) => { - return liquibaseElement(element, logger, tillTag, elementNameCallback, tagValueCallback) + return new LiquibaseElements(elementNameCallback, tagValueCallback, logger).execute(element, tillTag) } } -// Epilog Decision Table <---- - -// End of generated JavaScript source code -// Generated by LF-ET 2.2.1 (230826a), https://www.lohrfink.de/lfet diff --git a/test/features/asciidoctor-liquibase.testcases.feature b/test/features/asciidoctor-liquibase.testcases.feature index 9da5930..3aa6759 100644 --- a/test/features/asciidoctor-liquibase.testcases.feature +++ b/test/features/asciidoctor-liquibase.testcases.feature @@ -1,9 +1,9 @@ -# Diese Datei wurde erzeugt durch LF-ET 2.2.1 (230826a) und Kommandozeile: +# Diese Datei wurde erzeugt durch LF-ET 2.3.0 (240413a) und Kommandozeile: # -GenTest "/opt/data/github/asciidoctor/asciidoctor-liquibase/lfet/asciidoctor-liquibase.lfet" -Group "Cucumber" -Config "Config" -ContinueOnError -SwitchCoverage "1" -NonExecutableRules "50" -NonExecutableRuleSeq "50" -RecommendedTestCases -OutGherkin "asciidoctor-liquibase.testcases.feature" -InputRootfolder "/opt/data/github/asciidoctor/asciidoctor-liquibase/lfet" -OutputRootfolder "/opt/data/github/asciidoctor/asciidoctor-liquibase/test/features" # # Aktueller Benutzer: constantin # Aktuelles Verzeichnis (user.dir): "/opt/data/github/asciidoctor/asciidoctor-liquibase" -# Benötigte Zeit: 00:00:00.191 (14.09.2023 14:11:35.046 - 14.09.2023 14:11:35.237) +# Benötigte Zeit: 00:00:00.285 (05.05.2024 22:39:26.270 - 05.05.2024 22:39:26.555) # # Entscheidungstabelle: /opt/data/github/asciidoctor/asciidoctor-liquibase/lfet/asciidoctor-liquibase.lfet # diff --git a/test/features/extractor/addColumn.testcases.feature b/test/features/extractor/addColumn.testcases.feature index c5266f9..aa37ac5 100644 --- a/test/features/extractor/addColumn.testcases.feature +++ b/test/features/extractor/addColumn.testcases.feature @@ -1,9 +1,9 @@ -# Diese Datei wurde erzeugt durch LF-ET 2.2.1 (230826a) und Kommandozeile: +# Diese Datei wurde erzeugt durch LF-ET 2.3.0 (240413a) und Kommandozeile: # -GenTest "/opt/data/github/asciidoctor/asciidoctor-liquibase/lfet/extractor/addColumn.lfet" -Group "Cucumber" -Config "Config" -ContinueOnError -GtdDirectory "../../test/features/testdata/" -GtdFileNamePattern "*.txt; *.csv" -NonExecutableRules "50" -RecommendedTestCases -OutGherkin "addColumn.testcases.feature" -InputRootfolder "/opt/data/github/asciidoctor/asciidoctor-liquibase/lfet" -OutputRootfolder "/opt/data/github/asciidoctor/asciidoctor-liquibase/test/features" # # Aktueller Benutzer: constantin # Aktuelles Verzeichnis (user.dir): "/opt/data/github/asciidoctor/asciidoctor-liquibase" -# Benötigte Zeit: 00:00:00.021 (14.09.2023 14:11:35.709 - 14.09.2023 14:11:35.730) +# Benötigte Zeit: 00:00:00.025 (05.05.2024 22:41:08.725 - 05.05.2024 22:41:08.750) # # Entscheidungstabelle: /opt/data/github/asciidoctor/asciidoctor-liquibase/lfet/extractor/addColumn.lfet # diff --git a/test/features/extractor/addForeignKeyConstraint.testcases.feature b/test/features/extractor/addForeignKeyConstraint.testcases.feature index 13d85d7..3deeda9 100644 --- a/test/features/extractor/addForeignKeyConstraint.testcases.feature +++ b/test/features/extractor/addForeignKeyConstraint.testcases.feature @@ -1,9 +1,9 @@ -# Diese Datei wurde erzeugt durch LF-ET 2.2.1 (230826a) und Kommandozeile: +# Diese Datei wurde erzeugt durch LF-ET 2.3.0 (240413a) und Kommandozeile: # -GenTest "/opt/data/github/asciidoctor/asciidoctor-liquibase/lfet/extractor/addForeignKeyConstraint.lfet" -Group "Cucumber" -Config "Config" -ContinueOnError -GtdDirectory "../../test/features/testdata/" -GtdFileNamePattern "*.txt; *.csv" -NonExecutableRules "50" -RecommendedTestCases -OutGherkin "addForeignKeyConstraint.testcases.feature" -InputRootfolder "/opt/data/github/asciidoctor/asciidoctor-liquibase/lfet" -OutputRootfolder "/opt/data/github/asciidoctor/asciidoctor-liquibase/test/features" # # Aktueller Benutzer: constantin # Aktuelles Verzeichnis (user.dir): "/opt/data/github/asciidoctor/asciidoctor-liquibase" -# Benötigte Zeit: 00:00:00.020 (14.09.2023 14:11:35.731 - 14.09.2023 14:11:35.751) +# Benötigte Zeit: 00:00:00.021 (05.05.2024 22:41:08.753 - 05.05.2024 22:41:08.774) # # Entscheidungstabelle: /opt/data/github/asciidoctor/asciidoctor-liquibase/lfet/extractor/addForeignKeyConstraint.lfet # diff --git a/test/features/extractor/addPrimaryKey.testcases.feature b/test/features/extractor/addPrimaryKey.testcases.feature index 2e41ad2..1e06c6c 100644 --- a/test/features/extractor/addPrimaryKey.testcases.feature +++ b/test/features/extractor/addPrimaryKey.testcases.feature @@ -1,9 +1,9 @@ -# Diese Datei wurde erzeugt durch LF-ET 2.2.1 (230826a) und Kommandozeile: +# Diese Datei wurde erzeugt durch LF-ET 2.3.0 (240413a) und Kommandozeile: # -GenTest "/opt/data/github/asciidoctor/asciidoctor-liquibase/lfet/extractor/addPrimaryKey.lfet" -Group "Cucumber" -Config "Config" -ContinueOnError -GtdDirectory "../../test/features/testdata/" -GtdFileNamePattern "*.txt; *.csv" -NonExecutableRules "50" -RecommendedTestCases -OutGherkin "addPrimaryKey.testcases.feature" -InputRootfolder "/opt/data/github/asciidoctor/asciidoctor-liquibase/lfet" -OutputRootfolder "/opt/data/github/asciidoctor/asciidoctor-liquibase/test/features" # # Aktueller Benutzer: constantin # Aktuelles Verzeichnis (user.dir): "/opt/data/github/asciidoctor/asciidoctor-liquibase" -# Benötigte Zeit: 00:00:00.018 (14.09.2023 14:11:35.752 - 14.09.2023 14:11:35.770) +# Benötigte Zeit: 00:00:00.020 (05.05.2024 22:41:08.777 - 05.05.2024 22:41:08.797) # # Entscheidungstabelle: /opt/data/github/asciidoctor/asciidoctor-liquibase/lfet/extractor/addPrimaryKey.lfet # diff --git a/test/features/extractor/changeSet.testcases.feature b/test/features/extractor/changeSet.testcases.feature index 36434e4..518fa15 100644 --- a/test/features/extractor/changeSet.testcases.feature +++ b/test/features/extractor/changeSet.testcases.feature @@ -1,9 +1,9 @@ -# Diese Datei wurde erzeugt durch LF-ET 2.2.1 (230826a) und Kommandozeile: +# Diese Datei wurde erzeugt durch LF-ET 2.3.0 (240413a) und Kommandozeile: # -GenTest "/opt/data/github/asciidoctor/asciidoctor-liquibase/lfet/extractor/changeSet.lfet" -Group "Cucumber" -Config "Config" -ContinueOnError -GtdDirectory "../../test/features/testdata/" -GtdFileNamePattern "*.txt; *.csv" -NonExecutableRules "50" -RecommendedTestCases -OutGherkin "changeSet.testcases.feature" -InputRootfolder "/opt/data/github/asciidoctor/asciidoctor-liquibase/lfet" -OutputRootfolder "/opt/data/github/asciidoctor/asciidoctor-liquibase/test/features" # # Aktueller Benutzer: constantin # Aktuelles Verzeichnis (user.dir): "/opt/data/github/asciidoctor/asciidoctor-liquibase" -# Benötigte Zeit: 00:00:00.023 (14.09.2023 14:11:35.772 - 14.09.2023 14:11:35.795) +# Benötigte Zeit: 00:00:00.021 (05.05.2024 22:41:08.799 - 05.05.2024 22:41:08.820) # # Entscheidungstabelle: /opt/data/github/asciidoctor/asciidoctor-liquibase/lfet/extractor/changeSet.lfet # diff --git a/test/features/extractor/column.testcases.feature b/test/features/extractor/column.testcases.feature index 508a255..65d6ffe 100644 --- a/test/features/extractor/column.testcases.feature +++ b/test/features/extractor/column.testcases.feature @@ -1,9 +1,9 @@ -# Diese Datei wurde erzeugt durch LF-ET 2.2.1 (230826a) und Kommandozeile: +# Diese Datei wurde erzeugt durch LF-ET 2.3.0 (240413a) und Kommandozeile: # -GenTest "/opt/data/github/asciidoctor/asciidoctor-liquibase/lfet/extractor/column.lfet" -Group "Cucumber" -Config "Config" -ContinueOnError -GtdDirectory "../../test/features/testdata/" -GtdFileNamePattern "*.txt; *.csv" -SwitchCoverage "1" -NonExecutableRules "50" -RecommendedTestCases -OutGherkin "column.testcases.feature" -InputRootfolder "/opt/data/github/asciidoctor/asciidoctor-liquibase/lfet" -OutputRootfolder "/opt/data/github/asciidoctor/asciidoctor-liquibase/test/features" # # Aktueller Benutzer: constantin # Aktuelles Verzeichnis (user.dir): "/opt/data/github/asciidoctor/asciidoctor-liquibase" -# Benötigte Zeit: 00:00:00.074 (14.09.2023 14:11:35.797 - 14.09.2023 14:11:35.871) +# Benötigte Zeit: 00:00:00.088 (05.05.2024 22:41:08.822 - 05.05.2024 22:41:08.910) # # Entscheidungstabelle: /opt/data/github/asciidoctor/asciidoctor-liquibase/lfet/extractor/column.lfet # diff --git a/test/features/extractor/createIndex.testcases.feature b/test/features/extractor/createIndex.testcases.feature index b62ff33..0e2b388 100644 --- a/test/features/extractor/createIndex.testcases.feature +++ b/test/features/extractor/createIndex.testcases.feature @@ -1,9 +1,9 @@ -# Diese Datei wurde erzeugt durch LF-ET 2.2.1 (230826a) und Kommandozeile: +# Diese Datei wurde erzeugt durch LF-ET 2.3.0 (240413a) und Kommandozeile: # -GenTest "/opt/data/github/asciidoctor/asciidoctor-liquibase/lfet/extractor/createIndex.lfet" -Group "Cucumber" -Config "Config" -ContinueOnError -GtdDirectory "../../test/features/testdata/" -GtdFileNamePattern "*.txt; *.csv" -NonExecutableRules "50" -RecommendedTestCases -OutGherkin "createIndex.testcases.feature" -InputRootfolder "/opt/data/github/asciidoctor/asciidoctor-liquibase/lfet" -OutputRootfolder "/opt/data/github/asciidoctor/asciidoctor-liquibase/test/features" # # Aktueller Benutzer: constantin # Aktuelles Verzeichnis (user.dir): "/opt/data/github/asciidoctor/asciidoctor-liquibase" -# Benötigte Zeit: 00:00:00.015 (14.09.2023 14:11:35.875 - 14.09.2023 14:11:35.890) +# Benötigte Zeit: 00:00:00.017 (05.05.2024 22:41:08.917 - 05.05.2024 22:41:08.934) # # Entscheidungstabelle: /opt/data/github/asciidoctor/asciidoctor-liquibase/lfet/extractor/createIndex.lfet # diff --git a/test/features/extractor/createTable.testcases.feature b/test/features/extractor/createTable.testcases.feature index 6088270..fa33343 100644 --- a/test/features/extractor/createTable.testcases.feature +++ b/test/features/extractor/createTable.testcases.feature @@ -1,9 +1,9 @@ -# Diese Datei wurde erzeugt durch LF-ET 2.2.1 (230826a) und Kommandozeile: +# Diese Datei wurde erzeugt durch LF-ET 2.3.0 (240413a) und Kommandozeile: # -GenTest "/opt/data/github/asciidoctor/asciidoctor-liquibase/lfet/extractor/createTable.lfet" -Group "Cucumber" -Config "Config" -ContinueOnError -GtdDirectory "../../test/features/testdata/" -GtdFileNamePattern "*.txt; *.csv" -NonExecutableRules "50" -RecommendedTestCases -OutGherkin "createTable.testcases.feature" -InputRootfolder "/opt/data/github/asciidoctor/asciidoctor-liquibase/lfet" -OutputRootfolder "/opt/data/github/asciidoctor/asciidoctor-liquibase/test/features" # # Aktueller Benutzer: constantin # Aktuelles Verzeichnis (user.dir): "/opt/data/github/asciidoctor/asciidoctor-liquibase" -# Benötigte Zeit: 00:00:00.021 (14.09.2023 14:11:35.891 - 14.09.2023 14:11:35.912) +# Benötigte Zeit: 00:00:00.017 (05.05.2024 22:41:08.935 - 05.05.2024 22:41:08.952) # # Entscheidungstabelle: /opt/data/github/asciidoctor/asciidoctor-liquibase/lfet/extractor/createTable.lfet # diff --git a/test/features/extractor/dropColumn.testcases.feature b/test/features/extractor/dropColumn.testcases.feature index 3ccab77..6a97713 100644 --- a/test/features/extractor/dropColumn.testcases.feature +++ b/test/features/extractor/dropColumn.testcases.feature @@ -1,9 +1,9 @@ -# Diese Datei wurde erzeugt durch LF-ET 2.2.1 (230826a) und Kommandozeile: +# Diese Datei wurde erzeugt durch LF-ET 2.3.0 (240413a) und Kommandozeile: # -GenTest "/opt/data/github/asciidoctor/asciidoctor-liquibase/lfet/extractor/dropColumn.lfet" -Group "Cucumber" -Config "Config" -ContinueOnError -GtdDirectory "../../test/features/testdata/" -GtdFileNamePattern "*.txt; *.csv" -NonExecutableRules "50" -RecommendedTestCases -OutGherkin "dropColumn.testcases.feature" -InputRootfolder "/opt/data/github/asciidoctor/asciidoctor-liquibase/lfet" -OutputRootfolder "/opt/data/github/asciidoctor/asciidoctor-liquibase/test/features" # # Aktueller Benutzer: constantin # Aktuelles Verzeichnis (user.dir): "/opt/data/github/asciidoctor/asciidoctor-liquibase" -# Benötigte Zeit: 00:00:00.016 (14.09.2023 14:11:35.914 - 14.09.2023 14:11:35.930) +# Benötigte Zeit: 00:00:00.020 (05.05.2024 22:41:08.954 - 05.05.2024 22:41:08.974) # # Entscheidungstabelle: /opt/data/github/asciidoctor/asciidoctor-liquibase/lfet/extractor/dropColumn.lfet # diff --git a/test/features/extractor/dropTable.testcases.feature b/test/features/extractor/dropTable.testcases.feature index fbec36d..64b82fe 100644 --- a/test/features/extractor/dropTable.testcases.feature +++ b/test/features/extractor/dropTable.testcases.feature @@ -1,9 +1,9 @@ -# Diese Datei wurde erzeugt durch LF-ET 2.2.1 (230826a) und Kommandozeile: +# Diese Datei wurde erzeugt durch LF-ET 2.3.0 (240413a) und Kommandozeile: # -GenTest "/opt/data/github/asciidoctor/asciidoctor-liquibase/lfet/extractor/dropTable.lfet" -Group "Cucumber" -Config "Config" -ContinueOnError -GtdDirectory "../../test/features/testdata/" -GtdFileNamePattern "*.txt; *.csv" -NonExecutableRules "50" -RecommendedTestCases -OutGherkin "dropTable.testcases.feature" -InputRootfolder "/opt/data/github/asciidoctor/asciidoctor-liquibase/lfet" -OutputRootfolder "/opt/data/github/asciidoctor/asciidoctor-liquibase/test/features" # # Aktueller Benutzer: constantin # Aktuelles Verzeichnis (user.dir): "/opt/data/github/asciidoctor/asciidoctor-liquibase" -# Benötigte Zeit: 00:00:00.015 (14.09.2023 14:11:35.932 - 14.09.2023 14:11:35.947) +# Benötigte Zeit: 00:00:00.026 (05.05.2024 22:41:08.977 - 05.05.2024 22:41:09.003) # # Entscheidungstabelle: /opt/data/github/asciidoctor/asciidoctor-liquibase/lfet/extractor/dropTable.lfet # diff --git a/test/features/extractor/include.testcases.feature b/test/features/extractor/include.testcases.feature index 70d3c0e..aec0423 100644 --- a/test/features/extractor/include.testcases.feature +++ b/test/features/extractor/include.testcases.feature @@ -1,9 +1,9 @@ -# Diese Datei wurde erzeugt durch LF-ET 2.2.1 (230826a) und Kommandozeile: +# Diese Datei wurde erzeugt durch LF-ET 2.3.0 (240413a) und Kommandozeile: # -GenTest "/opt/data/github/asciidoctor/asciidoctor-liquibase/lfet/extractor/include.lfet" -Group "Cucumber" -Config "Config" -ContinueOnError -GtdDirectory "../../test/features/testdata/" -GtdFileNamePattern "*.txt; *.csv" -NonExecutableRules "50" -RecommendedTestCases -OutGherkin "include.testcases.feature" -InputRootfolder "/opt/data/github/asciidoctor/asciidoctor-liquibase/lfet" -OutputRootfolder "/opt/data/github/asciidoctor/asciidoctor-liquibase/test/features" # # Aktueller Benutzer: constantin # Aktuelles Verzeichnis (user.dir): "/opt/data/github/asciidoctor/asciidoctor-liquibase" -# Benötigte Zeit: 00:00:00.028 (14.09.2023 14:11:35.948 - 14.09.2023 14:11:35.976) +# Benötigte Zeit: 00:00:00.024 (05.05.2024 22:41:09.011 - 05.05.2024 22:41:09.035) # # Entscheidungstabelle: /opt/data/github/asciidoctor/asciidoctor-liquibase/lfet/extractor/include.lfet # diff --git a/test/features/extractor/modifyDataType.testcases.feature b/test/features/extractor/modifyDataType.testcases.feature index 787d16b..77ef648 100644 --- a/test/features/extractor/modifyDataType.testcases.feature +++ b/test/features/extractor/modifyDataType.testcases.feature @@ -1,9 +1,9 @@ -# Diese Datei wurde erzeugt durch LF-ET 2.2.1 (230826a) und Kommandozeile: +# Diese Datei wurde erzeugt durch LF-ET 2.3.0 (240413a) und Kommandozeile: # -GenTest "/opt/data/github/asciidoctor/asciidoctor-liquibase/lfet/extractor/modifyDataType.lfet" -Group "Cucumber" -Config "Config" -ContinueOnError -GtdDirectory "../../test/features/testdata/" -GtdFileNamePattern "*.txt; *.csv" -NonExecutableRules "50" -RecommendedTestCases -OutGherkin "modifyDataType.testcases.feature" -InputRootfolder "/opt/data/github/asciidoctor/asciidoctor-liquibase/lfet" -OutputRootfolder "/opt/data/github/asciidoctor/asciidoctor-liquibase/test/features" # # Aktueller Benutzer: constantin # Aktuelles Verzeichnis (user.dir): "/opt/data/github/asciidoctor/asciidoctor-liquibase" -# Benötigte Zeit: 00:00:00.019 (14.09.2023 14:11:35.978 - 14.09.2023 14:11:35.997) +# Benötigte Zeit: 00:00:00.015 (05.05.2024 22:41:09.038 - 05.05.2024 22:41:09.053) # # Entscheidungstabelle: /opt/data/github/asciidoctor/asciidoctor-liquibase/lfet/extractor/modifyDataType.lfet # diff --git a/test/features/extractor/renameColumn.testcases.feature b/test/features/extractor/renameColumn.testcases.feature index 0b0f5e1..358ea6f 100644 --- a/test/features/extractor/renameColumn.testcases.feature +++ b/test/features/extractor/renameColumn.testcases.feature @@ -1,9 +1,9 @@ -# Diese Datei wurde erzeugt durch LF-ET 2.2.1 (230826a) und Kommandozeile: +# Diese Datei wurde erzeugt durch LF-ET 2.3.0 (240413a) und Kommandozeile: # -GenTest "/opt/data/github/asciidoctor/asciidoctor-liquibase/lfet/extractor/renameColumn.lfet" -Group "Cucumber" -Config "Config" -ContinueOnError -GtdDirectory "../../test/features/testdata/" -GtdFileNamePattern "*.txt; *.csv" -NonExecutableRules "50" -RecommendedTestCases -OutGherkin "renameColumn.testcases.feature" -InputRootfolder "/opt/data/github/asciidoctor/asciidoctor-liquibase/lfet" -OutputRootfolder "/opt/data/github/asciidoctor/asciidoctor-liquibase/test/features" # # Aktueller Benutzer: constantin # Aktuelles Verzeichnis (user.dir): "/opt/data/github/asciidoctor/asciidoctor-liquibase" -# Benötigte Zeit: 00:00:00.017 (14.09.2023 14:11:35.998 - 14.09.2023 14:11:36.015) +# Benötigte Zeit: 00:00:00.014 (05.05.2024 22:41:09.054 - 05.05.2024 22:41:09.068) # # Entscheidungstabelle: /opt/data/github/asciidoctor/asciidoctor-liquibase/lfet/extractor/renameColumn.lfet # diff --git a/test/features/liquibase-elements.testcases.feature b/test/features/liquibase-elements.testcases.feature index 773b878..ead0ada 100644 --- a/test/features/liquibase-elements.testcases.feature +++ b/test/features/liquibase-elements.testcases.feature @@ -1,9 +1,9 @@ -# Diese Datei wurde erzeugt durch LF-ET 2.2.1 (230826a) und Kommandozeile: +# Diese Datei wurde erzeugt durch LF-ET 2.3.0 (240413a) und Kommandozeile: # -GenTest "/opt/data/github/asciidoctor/asciidoctor-liquibase/lfet/liquibase-elements.lfet" -Group "Cucumber" -Config "Config" -ContinueOnError -GtdDirectory "../test/features/testdata" -NonExecutableRules "50" -RecommendedTestCases -OutGherkin "liquibase-elements.testcases.feature" -InputRootfolder "/opt/data/github/asciidoctor/asciidoctor-liquibase/lfet" -OutputRootfolder "/opt/data/github/asciidoctor/asciidoctor-liquibase/test/features" # # Aktueller Benutzer: constantin # Aktuelles Verzeichnis (user.dir): "/opt/data/github/asciidoctor/asciidoctor-liquibase" -# Benötigte Zeit: 00:00:00.222 (14.09.2023 14:11:35.248 - 14.09.2023 14:11:35.470) +# Benötigte Zeit: 00:00:00.613 (05.05.2024 22:41:08.073 - 05.05.2024 22:41:08.687) # # Entscheidungstabelle: /opt/data/github/asciidoctor/asciidoctor-liquibase/lfet/liquibase-elements.lfet # @@ -30,88 +30,75 @@ Feature: Analyze Liquibase element based on name @recommended Scenario: 0001 liquibase-elements liquibase-elements - R01 : B01 Liquibase element name is ... = addDefaultValue + R01 : B01 Liquibase element name is ... = loadData Given xml tag value callback function is provided * define xml element name callback function - * xml based liquibase element name is 'addDefaultValue' - When liquibase-elements is called without tillTag defined + * xml based liquibase element name is 'loadData' + When liquibase-elements is called with tillTag 'V2.0.0' Then Check that ignore message is logged * element should ignored from processing * processing is not finished - * element name is 'addDefaultValue' + * element name is 'loadData' @recommended Scenario: 0002 liquibase-elements liquibase-elements - R02 : B01 Liquibase element name is ... = loadData + R02 : B01 Liquibase element name is ... = insert Given yaml tag value callback function is provided * define yaml element name callback function - * yaml based liquibase element name is 'loadData' - When liquibase-elements is called with tillTag 'V2.0.0' + * yaml based liquibase element name is 'insert' + When liquibase-elements is called without tillTag defined Then Check that ignore message is logged * element should ignored from processing * processing is not finished - * element name is 'loadData' + * element name is 'insert' @recommended Scenario: 0003 liquibase-elements liquibase-elements - R03 : B01 Liquibase element name is ... = insert - Given yaml tag value callback function is provided - * define yaml element name callback function - * yaml based liquibase element name is 'insert' + R03 : B01 Liquibase element name is ... = sql + Given xml tag value callback function is provided + * define xml element name callback function + * xml based liquibase element name is 'sql' When liquibase-elements is called with tillTag 'V1.0.0' Then Check that ignore message is logged * element should ignored from processing * processing is not finished - * element name is 'insert' + * element name is 'sql' @recommended Scenario: 0004 liquibase-elements liquibase-elements - R04 : B01 Liquibase element name is ... = sql - Given xml tag value callback function is provided - * define xml element name callback function - * xml based liquibase element name is 'sql' + R04 : B01 Liquibase element name is ... = sqlFile + Given yaml tag value callback function is provided + * define yaml element name callback function + * yaml based liquibase element name is 'sqlFile' When liquibase-elements is called with tillTag 'V1.0.0' Then Check that ignore message is logged * element should ignored from processing * processing is not finished - * element name is 'sql' + * element name is 'sqlFile' @recommended Scenario: 0005 liquibase-elements liquibase-elements - R05 : B01 Liquibase element name is ... = sqlFile + R05 : B01 Liquibase element name is ... = preConditions Given xml tag value callback function is provided * define xml element name callback function - * xml based liquibase element name is 'sqlFile' + * xml based liquibase element name is 'preConditions' When liquibase-elements is called with tillTag 'V2.0.0' Then Check that ignore message is logged * element should ignored from processing * processing is not finished - * element name is 'sqlFile' + * element name is 'preConditions' @recommended Scenario: 0006 liquibase-elements liquibase-elements - R06 : B01 Liquibase element name is ... = preConditions + R06 : B01 Liquibase element name is ... = property Given yaml tag value callback function is provided * define yaml element name callback function - * yaml based liquibase element name is 'preConditions' - When liquibase-elements is called without tillTag defined - Then Check that ignore message is logged - * element should ignored from processing - * processing is not finished - * element name is 'preConditions' - - @recommended - Scenario: 0007 liquibase-elements - liquibase-elements - R07 : B01 Liquibase element name is ... = property - Given xml tag value callback function is provided - * define xml element name callback function - * xml based liquibase element name is 'property' + * yaml based liquibase element name is 'property' When liquibase-elements is called without tillTag defined Then Check that ignore message is logged * element should ignored from processing @@ -119,43 +106,43 @@ Feature: Analyze Liquibase element based on name * element name is 'property' @recommended - Scenario: 0008 liquibase-elements + Scenario: 0007 liquibase-elements liquibase-elements - R08 : B01 Liquibase element name is ... = tagDatabase ; B02 tag = tillTag = Y + R07 : B01 Liquibase element name is ... = tagDatabase ; B02 tag = tillTag = Y Given yaml tag value callback function is provided * define yaml element name callback function - * yaml based liquibase element name is 'tagDatabase' with tag 'V2.0.0' - When liquibase-elements is called with tillTag 'V2.0.0' + * yaml based liquibase element name is 'tagDatabase' with tag 'V1.0.0' + When liquibase-elements is called with tillTag 'V1.0.0' Then processing is finished * element name is 'tagDatabase' @recommended - Scenario: 0009 liquibase-elements + Scenario: 0008 liquibase-elements liquibase-elements - R09 : B01 Liquibase element name is ... = tagDatabase ; B02 tag = tillTag = N - Given yaml tag value callback function is provided - * define yaml element name callback function - * yaml based liquibase element name is 'tagDatabase' with tag 'V1.0.0' - When liquibase-elements is called without tillTag defined + R08 : B01 Liquibase element name is ... = tagDatabase ; B02 tag = tillTag = N + Given xml tag value callback function is provided + * define xml element name callback function + * xml based liquibase element name is 'tagDatabase' with tag 'V3.0.0' + When liquibase-elements is called with tillTag 'V2.0.0' Then element should ignored from processing * processing is not finished * element name is 'tagDatabase' @recommended - Scenario: 0010 liquibase-elements + Scenario: 0009 liquibase-elements liquibase-elements - R10 : B01 Liquibase element name is ... = addForeignKeyConstraint - Given xml tag value callback function is provided - * define xml element name callback function - * xml based liquibase element name is 'addForeignKeyConstraint' - When liquibase-elements is called with tillTag 'V1.0.0' + R09 : B01 Liquibase element name is ... = addForeignKeyConstraint + Given yaml tag value callback function is provided + * define yaml element name callback function + * yaml based liquibase element name is 'addForeignKeyConstraint' + When liquibase-elements is called without tillTag defined Then processing is not finished * element name is 'addForeignKeyConstraint' @recommended - Scenario: 0011 liquibase-elements + Scenario: 0010 liquibase-elements liquibase-elements - R11 : B01 Liquibase element name is ... = addUniqueConstraint + R10 : B01 Liquibase element name is ... = addUniqueConstraint Given xml tag value callback function is provided * define xml element name callback function * xml based liquibase element name is 'addUniqueConstraint' @@ -166,12 +153,12 @@ Feature: Analyze Liquibase element based on name * element name is 'addUniqueConstraint' @recommended - Scenario: 0012 liquibase-elements + Scenario: 0011 liquibase-elements liquibase-elements - R12 : B01 Liquibase element name is ... = rollback - Given yaml tag value callback function is provided - * define yaml element name callback function - * yaml based liquibase element name is 'rollback' + R11 : B01 Liquibase element name is ... = rollback + Given xml tag value callback function is provided + * define xml element name callback function + * xml based liquibase element name is 'rollback' When liquibase-elements is called without tillTag defined Then Check that ignore message is logged * element should ignored from processing @@ -179,9 +166,9 @@ Feature: Analyze Liquibase element based on name * element name is 'rollback' @recommended - Scenario: 0013 liquibase-elements + Scenario: 0012 liquibase-elements liquibase-elements - R13 : B01 Liquibase element name is ... = dropColumn + R12 : B01 Liquibase element name is ... = dropColumn Given yaml tag value callback function is provided * define yaml element name callback function * yaml based liquibase element name is 'dropColumn' @@ -190,176 +177,753 @@ Feature: Analyze Liquibase element based on name * element name is 'dropColumn' @recommended - Scenario: 0014 liquibase-elements + Scenario: 0013 liquibase-elements liquibase-elements - R14 : B01 Liquibase element name is ... = addColumn - Given xml tag value callback function is provided - * define xml element name callback function - * xml based liquibase element name is 'addColumn' - When liquibase-elements is called with tillTag 'V1.0.0' + R13 : B01 Liquibase element name is ... = addColumn + Given yaml tag value callback function is provided + * define yaml element name callback function + * yaml based liquibase element name is 'addColumn' + When liquibase-elements is called with tillTag 'V2.0.0' Then processing is not finished * element name is 'addColumn' @recommended - Scenario: 0015 liquibase-elements + Scenario: 0014 liquibase-elements liquibase-elements - R15 : B01 Liquibase element name is ... = comment + R14 : B01 Liquibase element name is ... = comment Given xml tag value callback function is provided * define xml element name callback function * xml based liquibase element name is 'comment' - When liquibase-elements is called without tillTag defined + When liquibase-elements is called with tillTag 'V2.0.0' Then Check that ignore message is logged * element should ignored from processing * processing is not finished * element name is 'comment' @recommended - Scenario: 0016 liquibase-elements + Scenario: 0015 liquibase-elements liquibase-elements - R16 : B01 Liquibase element name is ... = renameColumn + R15 : B01 Liquibase element name is ... = renameColumn Given yaml tag value callback function is provided * define yaml element name callback function * yaml based liquibase element name is 'renameColumn' - When liquibase-elements is called with tillTag 'V2.0.0' + When liquibase-elements is called with tillTag 'V1.0.0' Then processing is not finished * element name is 'renameColumn' + @recommended + Scenario: 0016 liquibase-elements + liquibase-elements + R16 : B01 Liquibase element name is ... = changeSet + Given xml tag value callback function is provided + * define xml element name callback function + * xml based liquibase element name is 'changeSet' + When liquibase-elements is called without tillTag defined + Then processing is not finished + * element name is 'changeSet' + @recommended Scenario: 0017 liquibase-elements liquibase-elements - R17 : B01 Liquibase element name is ... = createIndex + R17 : B01 Liquibase element name is ... = dropSequence Given yaml tag value callback function is provided * define yaml element name callback function - * yaml based liquibase element name is 'createIndex' + * yaml based liquibase element name is 'dropSequence' When liquibase-elements is called with tillTag 'V2.0.0' - Then processing is not finished - * element name is 'createIndex' + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished + * element name is 'dropSequence' @recommended Scenario: 0018 liquibase-elements liquibase-elements - R18 : B01 Liquibase element name is ... = changeSet + R18 : B01 Liquibase element name is ... = createTable Given xml tag value callback function is provided * define xml element name callback function - * xml based liquibase element name is 'changeSet' - When liquibase-elements is called without tillTag defined + * xml based liquibase element name is 'createTable' + When liquibase-elements is called with tillTag 'V1.0.0' Then processing is not finished - * element name is 'changeSet' + * element name is 'createTable' @recommended Scenario: 0019 liquibase-elements liquibase-elements - R19 : B01 Liquibase element name is ... = dropSequence + R19 : B01 Liquibase element name is ... = addPrimaryKey + Given yaml tag value callback function is provided + * define yaml element name callback function + * yaml based liquibase element name is 'addPrimaryKey' + When liquibase-elements is called without tillTag defined + Then processing is not finished + * element name is 'addPrimaryKey' + + @recommended + Scenario: 0020 liquibase-elements + liquibase-elements + R20 : B01 Liquibase element name is ... = dropTable + Given xml tag value callback function is provided + * define xml element name callback function + * xml based liquibase element name is 'dropTable' + When liquibase-elements is called without tillTag defined + Then processing is not finished + * element name is 'dropTable' + + @recommended + Scenario: 0021 liquibase-elements + liquibase-elements + R21 : B01 Liquibase element name is ... = include Given xml tag value callback function is provided * define xml element name callback function - * xml based liquibase element name is 'dropSequence' + * xml based liquibase element name is 'include' + When liquibase-elements is called with tillTag 'V2.0.0' + Then processing is not finished + * element name is 'include' + + @recommended + Scenario: 0022 liquibase-elements + liquibase-elements + R22 : B01 Liquibase element name is ... = createSequence + Given yaml tag value callback function is provided + * define yaml element name callback function + * yaml based liquibase element name is 'createSequence' When liquibase-elements is called with tillTag 'V1.0.0' Then Check that ignore message is logged * element should ignored from processing * processing is not finished - * element name is 'dropSequence' + * element name is 'createSequence' @recommended - Scenario: 0020 liquibase-elements + Scenario: 0023 liquibase-elements liquibase-elements - R20 : B01 Liquibase element name is ... = createTable + R23 : B01 Liquibase element name is ... = createProcedure Given yaml tag value callback function is provided * define yaml element name callback function - * yaml based liquibase element name is 'createTable' + * yaml based liquibase element name is 'createProcedure' When liquibase-elements is called without tillTag defined + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished + * element name is 'createProcedure' + + @recommended + Scenario: 0024 liquibase-elements + liquibase-elements + R24 : B01 Liquibase element name is ... = modifyDataType + Given xml tag value callback function is provided + * define xml element name callback function + * xml based liquibase element name is 'modifyDataType' + When liquibase-elements is called with tillTag 'V1.0.0' Then processing is not finished - * element name is 'createTable' + * element name is 'modifyDataType' @recommended - Scenario: 0021 liquibase-elements + Scenario: 0025 liquibase-elements liquibase-elements - R21 : B01 Liquibase element name is ... = addPrimaryKey + R25 : B01 Liquibase element name is ... = update Given yaml tag value callback function is provided * define yaml element name callback function - * yaml based liquibase element name is 'addPrimaryKey' - When liquibase-elements is called with tillTag 'V1.0.0' - Then processing is not finished - * element name is 'addPrimaryKey' + * yaml based liquibase element name is 'update' + When liquibase-elements is called with tillTag 'V2.0.0' + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished + * element name is 'update' @recommended - Scenario: 0022 liquibase-elements + Scenario: 0026 liquibase-elements liquibase-elements - R22 : B01 Liquibase element name is ... = dropTable + R26 : B01 Liquibase element name is ... = createView Given xml tag value callback function is provided * define xml element name callback function - * xml based liquibase element name is 'dropTable' - When liquibase-elements is called with tillTag 'V2.0.0' - Then processing is not finished - * element name is 'dropTable' + * xml based liquibase element name is 'createView' + When liquibase-elements is called with tillTag 'V1.0.0' + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished @recommended - Scenario: 0023 liquibase-elements + Scenario: 0027 liquibase-elements liquibase-elements - R23 : B01 Liquibase element name is ... = include + R27 : B01 Liquibase element name is ... = dropView Given yaml tag value callback function is provided * define yaml element name callback function - * yaml based liquibase element name is 'include' + * yaml based liquibase element name is 'dropView' When liquibase-elements is called without tillTag defined - Then processing is not finished - * element name is 'include' + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished @recommended - Scenario: 0024 liquibase-elements + Scenario: 0028 liquibase-elements liquibase-elements - R24 : B01 Liquibase element name is ... = createSequence + R28 : B01 Liquibase element name is ... = renameView Given xml tag value callback function is provided * define xml element name callback function - * xml based liquibase element name is 'createSequence' - When liquibase-elements is called with tillTag 'V1.0.0' + * xml based liquibase element name is 'renameView' + When liquibase-elements is called with tillTag 'V2.0.0' Then Check that ignore message is logged * element should ignored from processing * processing is not finished - * element name is 'createSequence' @recommended - Scenario: 0025 liquibase-elements + Scenario: 0029 liquibase-elements liquibase-elements - R25 : B01 Liquibase element name is ... = createProcedure + R29 : B01 Liquibase element name is ... = setTableRemarks Given xml tag value callback function is provided * define xml element name callback function - * xml based liquibase element name is 'createProcedure' + * xml based liquibase element name is 'setTableRemarks' + When liquibase-elements is called without tillTag defined + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished + + @recommended + Scenario: 0030 liquibase-elements + liquibase-elements + R30 : B01 Liquibase element name is ... = setColumnRemarks + Given yaml tag value callback function is provided + * define yaml element name callback function + * yaml based liquibase element name is 'setColumnRemarks' When liquibase-elements is called with tillTag 'V2.0.0' Then Check that ignore message is logged * element should ignored from processing * processing is not finished - * element name is 'createProcedure' @recommended - Scenario: 0026 liquibase-elements + Scenario: 0031 liquibase-elements liquibase-elements - R26 : B01 Liquibase element name is ... = modifyDataType + R31 : B01 Liquibase element name is ... = renameTrigger Given yaml tag value callback function is provided * define yaml element name callback function - * yaml based liquibase element name is 'modifyDataType' + * yaml based liquibase element name is 'renameTrigger' When liquibase-elements is called with tillTag 'V1.0.0' - Then processing is not finished - * element name is 'modifyDataType' + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished @recommended - Scenario: 0027 liquibase-elements + Scenario: 0032 liquibase-elements + liquibase-elements + R32 : B01 Liquibase element name is ... = renameTable + Given xml tag value callback function is provided + * define xml element name callback function + * xml based liquibase element name is 'renameTable' + When liquibase-elements is called with tillTag 'V1.0.0' + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished + + @recommended + Scenario: 0033 liquibase-elements + liquibase-elements + R33 : B01 Liquibase element name is ... = renameSequence + Given yaml tag value callback function is provided + * define yaml element name callback function + * yaml based liquibase element name is 'renameSequence' + When liquibase-elements is called without tillTag defined + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished + + @recommended + Scenario: 0034 liquibase-elements liquibase-elements - R27 : B01 Liquibase element name is ... = update + R34 : B01 Liquibase element name is ... = enableTrigger Given xml tag value callback function is provided * define xml element name callback function - * xml based liquibase element name is 'update' + * xml based liquibase element name is 'enableTrigger' When liquibase-elements is called with tillTag 'V2.0.0' Then Check that ignore message is logged * element should ignored from processing * processing is not finished - * element name is 'update' @recommended - Scenario: 0028 liquibase-elements + Scenario: 0035 liquibase-elements + liquibase-elements + R35 : B01 Liquibase element name is ... = dropTrigger + Given xml tag value callback function is provided + * define xml element name callback function + * xml based liquibase element name is 'dropTrigger' + When liquibase-elements is called with tillTag 'V2.0.0' + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished + + @recommended + Scenario: 0036 liquibase-elements + liquibase-elements + R36 : B01 Liquibase element name is ... = dropSynonym + Given yaml tag value callback function is provided + * define yaml element name callback function + * yaml based liquibase element name is 'dropSynonym' + When liquibase-elements is called with tillTag 'V1.0.0' + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished + + @recommended + Scenario: 0037 liquibase-elements + liquibase-elements + R37 : B01 Liquibase element name is ... = dropProcedure + Given yaml tag value callback function is provided + * define yaml element name callback function + * yaml based liquibase element name is 'dropProcedure' + When liquibase-elements is called without tillTag defined + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished + + @recommended + Scenario: 0038 liquibase-elements + liquibase-elements + R38 : B01 Liquibase element name is ... = dropPackageBody + Given xml tag value callback function is provided + * define xml element name callback function + * xml based liquibase element name is 'dropPackageBody' + When liquibase-elements is called with tillTag 'V1.0.0' + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished + + @recommended + Scenario: 0039 liquibase-elements + liquibase-elements + R39 : B01 Liquibase element name is ... = dropPackage + Given yaml tag value callback function is provided + * define yaml element name callback function + * yaml based liquibase element name is 'dropPackage' + When liquibase-elements is called with tillTag 'V2.0.0' + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished + + @recommended + Scenario: 0040 liquibase-elements + liquibase-elements + R40 : B01 Liquibase element name is ... = dropIndex + Given xml tag value callback function is provided + * define xml element name callback function + * xml based liquibase element name is 'dropIndex' + When liquibase-elements is called without tillTag defined + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished + + @recommended + Scenario: 0041 liquibase-elements + liquibase-elements + R41 : B01 Liquibase element name is ... = dropFunction + Given yaml tag value callback function is provided + * define yaml element name callback function + * yaml based liquibase element name is 'dropFunction' + When liquibase-elements is called without tillTag defined + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished + + @recommended + Scenario: 0042 liquibase-elements + liquibase-elements + R42 : B01 Liquibase element name is ... = disableTrigger + Given xml tag value callback function is provided + * define xml element name callback function + * xml based liquibase element name is 'disableTrigger' + When liquibase-elements is called with tillTag 'V1.0.0' + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished + + @recommended + Scenario: 0043 liquibase-elements + liquibase-elements + R43 : B01 Liquibase element name is ... = createTrigger + Given xml tag value callback function is provided + * define xml element name callback function + * xml based liquibase element name is 'createTrigger' + When liquibase-elements is called with tillTag 'V2.0.0' + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished + + @recommended + Scenario: 0044 liquibase-elements + liquibase-elements + R44 : B01 Liquibase element name is ... = createSynonym + Given yaml tag value callback function is provided + * define yaml element name callback function + * yaml based liquibase element name is 'createSynonym' + When liquibase-elements is called without tillTag defined + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished + + @recommended + Scenario: 0045 liquibase-elements + liquibase-elements + R45 : B01 Liquibase element name is ... = createPackageBody + Given yaml tag value callback function is provided + * define yaml element name callback function + * yaml based liquibase element name is 'createPackageBody' + When liquibase-elements is called with tillTag 'V2.0.0' + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished + + @recommended + Scenario: 0046 liquibase-elements + liquibase-elements + R46 : B01 Liquibase element name is ... = createPackage + Given xml tag value callback function is provided + * define xml element name callback function + * xml based liquibase element name is 'createPackage' + When liquibase-elements is called with tillTag 'V1.0.0' + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished + + @recommended + Scenario: 0047 liquibase-elements + liquibase-elements + R47 : B01 Liquibase element name is ... = createIndex + Given yaml tag value callback function is provided + * define yaml element name callback function + * yaml based liquibase element name is 'createIndex' + When liquibase-elements is called without tillTag defined + Then processing is not finished + * element name is 'createIndex' + + @recommended + Scenario: 0048 liquibase-elements + liquibase-elements + R48 : B01 Liquibase element name is ... = createFunction + Given xml tag value callback function is provided + * define xml element name callback function + * xml based liquibase element name is 'createFunction' + When liquibase-elements is called with tillTag 'V2.0.0' + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished + + @recommended + Scenario: 0049 liquibase-elements + liquibase-elements + R49 : B01 Liquibase element name is ... = alterSequence + Given yaml tag value callback function is provided + * define yaml element name callback function + * yaml based liquibase element name is 'alterSequence' + When liquibase-elements is called with tillTag 'V1.0.0' + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished + + @recommended + Scenario: 0050 liquibase-elements + liquibase-elements + R50 : B01 Liquibase element name is ... = addAutoIncrement + Given xml tag value callback function is provided + * define xml element name callback function + * xml based liquibase element name is 'addAutoIncrement' + When liquibase-elements is called with tillTag 'V1.0.0' + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished + + @recommended + Scenario: 0051 liquibase-elements + liquibase-elements + R51 : B01 Liquibase element name is ... = addCheckConstraint + Given xml tag value callback function is provided + * define xml element name callback function + * xml based liquibase element name is 'addCheckConstraint' + When liquibase-elements is called without tillTag defined + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished + + @recommended + Scenario: 0052 liquibase-elements + liquibase-elements + R52 : B01 Liquibase element name is ... = addDefaultValue + Given yaml tag value callback function is provided + * define yaml element name callback function + * yaml based liquibase element name is 'addDefaultValue' + When liquibase-elements is called with tillTag 'V2.0.0' + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished + * element name is 'addDefaultValue' + + @recommended + Scenario: 0053 liquibase-elements + liquibase-elements + R53 : B01 Liquibase element name is ... = addNotNullConstraint + Given yaml tag value callback function is provided + * define yaml element name callback function + * yaml based liquibase element name is 'addNotNullConstraint' + When liquibase-elements is called without tillTag defined + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished + + @recommended + Scenario: 0054 liquibase-elements + liquibase-elements + R54 : B01 Liquibase element name is ... = disableCheckConstraint + Given xml tag value callback function is provided + * define xml element name callback function + * xml based liquibase element name is 'disableCheckConstraint' + When liquibase-elements is called with tillTag 'V2.0.0' + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished + + @recommended + Scenario: 0055 liquibase-elements + liquibase-elements + R55 : B01 Liquibase element name is ... = dropAllForeignKeyConstraints + Given yaml tag value callback function is provided + * define yaml element name callback function + * yaml based liquibase element name is 'dropAllForeignKeyConstraints' + When liquibase-elements is called with tillTag 'V1.0.0' + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished + + @recommended + Scenario: 0056 liquibase-elements + liquibase-elements + R56 : B01 Liquibase element name is ... = dropCheckConstraint + Given xml tag value callback function is provided + * define xml element name callback function + * xml based liquibase element name is 'dropCheckConstraint' + When liquibase-elements is called without tillTag defined + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished + + @recommended + Scenario: 0057 liquibase-elements + liquibase-elements + R57 : B01 Liquibase element name is ... = dropDefaultValue + Given yaml tag value callback function is provided + * define yaml element name callback function + * yaml based liquibase element name is 'dropDefaultValue' + When liquibase-elements is called with tillTag 'V2.0.0' + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished + + @recommended + Scenario: 0058 liquibase-elements + liquibase-elements + R58 : B01 Liquibase element name is ... = dropForeignKeyConstraint + Given xml tag value callback function is provided + * define xml element name callback function + * xml based liquibase element name is 'dropForeignKeyConstraint' + When liquibase-elements is called with tillTag 'V1.0.0' + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished + + @recommended + Scenario: 0059 liquibase-elements + liquibase-elements + R59 : B01 Liquibase element name is ... = dropNotNullConstraint + Given yaml tag value callback function is provided + * define yaml element name callback function + * yaml based liquibase element name is 'dropNotNullConstraint' + When liquibase-elements is called with tillTag 'V2.0.0' + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished + + @recommended + Scenario: 0060 liquibase-elements + liquibase-elements + R60 : B01 Liquibase element name is ... = dropPrimaryKey + Given xml tag value callback function is provided + * define xml element name callback function + * xml based liquibase element name is 'dropPrimaryKey' + When liquibase-elements is called without tillTag defined + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished + + @recommended + Scenario: 0061 liquibase-elements + liquibase-elements + R61 : B01 Liquibase element name is ... = dropUniqueConstraint + Given yaml tag value callback function is provided + * define yaml element name callback function + * yaml based liquibase element name is 'dropUniqueConstraint' + When liquibase-elements is called with tillTag 'V1.0.0' + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished + + @recommended + Scenario: 0062 liquibase-elements + liquibase-elements + R62 : B01 Liquibase element name is ... = enableCheckConstraint + Given xml tag value callback function is provided + * define xml element name callback function + * xml based liquibase element name is 'enableCheckConstraint' + When liquibase-elements is called with tillTag 'V2.0.0' + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished + + @recommended + Scenario: 0063 liquibase-elements + liquibase-elements + R63 : B01 Liquibase element name is ... = addLookupTable + Given xml tag value callback function is provided + * define xml element name callback function + * xml based liquibase element name is 'addLookupTable' + When liquibase-elements is called without tillTag defined + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished + + @recommended + Scenario: 0064 liquibase-elements + liquibase-elements + R64 : B01 Liquibase element name is ... = delete + Given yaml tag value callback function is provided + * define yaml element name callback function + * yaml based liquibase element name is 'delete' + When liquibase-elements is called with tillTag 'V1.0.0' + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished + + @recommended + Scenario: 0065 liquibase-elements + liquibase-elements + R65 : B01 Liquibase element name is ... = loadUpdateData + Given yaml tag value callback function is provided + * define yaml element name callback function + * yaml based liquibase element name is 'loadUpdateData' + When liquibase-elements is called with tillTag 'V2.0.0' + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished + + @recommended + Scenario: 0066 liquibase-elements + liquibase-elements + R66 : B01 Liquibase element name is ... = mergeColumns + Given xml tag value callback function is provided + * define xml element name callback function + * xml based liquibase element name is 'mergeColumns' + When liquibase-elements is called with tillTag 'V1.0.0' + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished + + @recommended + Scenario: 0067 liquibase-elements + liquibase-elements + R67 : B01 Liquibase element name is ... = customChange + Given xml tag value callback function is provided + * define xml element name callback function + * xml based liquibase element name is 'customChange' + When liquibase-elements is called without tillTag defined + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished + + @recommended + Scenario: 0068 liquibase-elements + liquibase-elements + R68 : B01 Liquibase element name is ... = empty + Given yaml tag value callback function is provided + * define yaml element name callback function + * yaml based liquibase element name is 'empty' + When liquibase-elements is called without tillTag defined + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished + + @recommended + Scenario: 0069 liquibase-elements + liquibase-elements + R69 : B01 Liquibase element name is ... = executeCommand + Given yaml tag value callback function is provided + * define yaml element name callback function + * yaml based liquibase element name is 'executeCommand' + When liquibase-elements is called with tillTag 'V2.0.0' + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished + + @recommended + Scenario: 0070 liquibase-elements + liquibase-elements + R70 : B01 Liquibase element name is ... = includeAll + Given xml tag value callback function is provided + * define xml element name callback function + * xml based liquibase element name is 'includeAll' + When liquibase-elements is called with tillTag 'V1.0.0' + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished + + @recommended + Scenario: 0071 liquibase-elements + liquibase-elements + R71 : B01 Liquibase element name is ... = markUnused + Given xml tag value callback function is provided + * define xml element name callback function + * xml based liquibase element name is 'markUnused' + When liquibase-elements is called without tillTag defined + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished + + @recommended + Scenario: 0072 liquibase-elements + liquibase-elements + R72 : B01 Liquibase element name is ... = modifyChangeSets + Given yaml tag value callback function is provided + * define yaml element name callback function + * yaml based liquibase element name is 'modifyChangeSets' + When liquibase-elements is called with tillTag 'V1.0.0' + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished + + @recommended + Scenario: 0073 liquibase-elements + liquibase-elements + R73 : B01 Liquibase element name is ... = output + Given xml tag value callback function is provided + * define xml element name callback function + * xml based liquibase element name is 'output' + When liquibase-elements is called with tillTag 'V2.0.0' + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished + + @recommended + Scenario: 0074 liquibase-elements + liquibase-elements + R74 : B01 Liquibase element name is ... = stop + Given yaml tag value callback function is provided + * define yaml element name callback function + * yaml based liquibase element name is 'stop' + When liquibase-elements is called with tillTag 'V1.0.0' + Then Check that ignore message is logged + * element should ignored from processing + * processing is not finished + + @recommended + Scenario: 0075 liquibase-elements liquibase-elements - R28 : B01 Liquibase element name is ... = * + R75 : B01 Liquibase element name is ... = * Given yaml tag value callback function is provided * define yaml element name callback function - * yaml based liquibase element name is 'hugo' + * yaml based liquibase element name is '*' When liquibase-elements is called without tillTag defined Then Check that not supported message is logged * element should ignored from processing diff --git a/test/features/liquibase-parser.testcases.feature b/test/features/liquibase-parser.testcases.feature deleted file mode 100644 index 308acff..0000000 --- a/test/features/liquibase-parser.testcases.feature +++ /dev/null @@ -1,139 +0,0 @@ -# Diese Datei wurde erzeugt durch LF-ET 2.2.1 (230826a) und Kommandozeile: -# -GenTest "/opt/data/github/asciidoctor/asciidoctor-liquibase/lfet/liquibase-parser.lfet" -Group "Cucumber" -Config "Config" -ContinueOnError -SwitchCoverage "2" -NonExecutableRules "50" -RecommendedTestCases -OutGherkin "liquibase-parser.testcases.feature" -InputRootfolder "/opt/data/github/asciidoctor/asciidoctor-liquibase/lfet" -OutputRootfolder "/opt/data/github/asciidoctor/asciidoctor-liquibase/test/features" -# -# Aktueller Benutzer: constantin -# Aktuelles Verzeichnis (user.dir): "/opt/data/github/asciidoctor/asciidoctor-liquibase" -# Benötigte Zeit: 00:00:00.224 (14.09.2023 14:11:35.479 - 14.09.2023 14:11:35.703) -# -# Entscheidungstabelle: /opt/data/github/asciidoctor/asciidoctor-liquibase/lfet/liquibase-parser.lfet -# -# TestValueGroups: Cucumber, *ti.att.Cucumber, *ti.gtd.Cucumber, *ti.check.Cucumber -# Config: Config -# -# Testfälle mit Fehlern: 0 -# -# Testfälle mit Warnungen: 0 -# -# Informationen: 0 - -# language: en - -Feature: Parse elements in Liquibase changelog files - - @ignore @recommended - Scenario: 0001 liquibase-parser - liquibase-parser - R01 : B02 One more element to process = Y ; B05 changeset format = xml - R05 : B03 Element should ignored = Y - R01 : B02 One more element to process = Y ; B05 changeset format = xml - R05 : B03 Element should ignored = Y - R01 : B02 One more element to process = Y ; B05 changeset format = xml - R05 : B03 Element should ignored = Y - R01 : B02 One more element to process = Y ; B05 changeset format = xml - R05 : B03 Element should ignored = Y - When liquibase-parser is called - * liquibase-parser is called - * liquibase-parser is called - * liquibase-parser is called - * liquibase-parser is called - * liquibase-parser is called - * liquibase-parser is called - * liquibase-parser is called - - @ignore @recommended - Scenario: 0002 liquibase-parser - liquibase-parser - R01 : B02 One more element to process = Y ; B05 changeset format = xml - R06 : B03 Element should ignored = N ; B04 Processing finished = Y - When liquibase-parser is called - * liquibase-parser is called - - @ignore @recommended - Scenario: 0003 liquibase-parser - liquibase-parser - R01 : B02 One more element to process = Y ; B05 changeset format = xml - R07 : B03 Element should ignored = N ; B04 Processing finished = N - R09 : B04 Processing finished = N - R01 : B02 One more element to process = Y ; B05 changeset format = xml - R07 : B03 Element should ignored = N ; B04 Processing finished = N - R09 : B04 Processing finished = N - R01 : B02 One more element to process = Y ; B05 changeset format = xml - R07 : B03 Element should ignored = N ; B04 Processing finished = N - R09 : B04 Processing finished = N - R01 : B02 One more element to process = Y ; B05 changeset format = xml - R07 : B03 Element should ignored = N ; B04 Processing finished = N - R09 : B04 Processing finished = N - R01 : B02 One more element to process = Y ; B05 changeset format = xml - When liquibase-parser is called - * liquibase-parser is called - * liquibase-parser is called - * liquibase-parser is called - * liquibase-parser is called - * liquibase-parser is called - * liquibase-parser is called - * liquibase-parser is called - * liquibase-parser is called - * liquibase-parser is called - * liquibase-parser is called - * liquibase-parser is called - * liquibase-parser is called - - @ignore @recommended - Scenario: 0004 liquibase-parser - liquibase-parser - R02 : B02 One more element to process = Y ; B05 changeset format = yaml - R05 : B03 Element should ignored = Y - R02 : B02 One more element to process = Y ; B05 changeset format = yaml - R05 : B03 Element should ignored = Y - R02 : B02 One more element to process = Y ; B05 changeset format = yaml - R05 : B03 Element should ignored = Y - R02 : B02 One more element to process = Y ; B05 changeset format = yaml - R05 : B03 Element should ignored = Y - When liquibase-parser is called - * liquibase-parser is called - * liquibase-parser is called - * liquibase-parser is called - * liquibase-parser is called - * liquibase-parser is called - * liquibase-parser is called - * liquibase-parser is called - - @ignore @recommended - Scenario: 0005 liquibase-parser - liquibase-parser - R02 : B02 One more element to process = Y ; B05 changeset format = yaml - R06 : B03 Element should ignored = N ; B04 Processing finished = Y - When liquibase-parser is called - * liquibase-parser is called - - @ignore @recommended - Scenario: 0006 liquibase-parser - liquibase-parser - R02 : B02 One more element to process = Y ; B05 changeset format = yaml - R07 : B03 Element should ignored = N ; B04 Processing finished = N - R09 : B04 Processing finished = N - R02 : B02 One more element to process = Y ; B05 changeset format = yaml - R07 : B03 Element should ignored = N ; B04 Processing finished = N - R09 : B04 Processing finished = N - R02 : B02 One more element to process = Y ; B05 changeset format = yaml - R07 : B03 Element should ignored = N ; B04 Processing finished = N - R09 : B04 Processing finished = N - R02 : B02 One more element to process = Y ; B05 changeset format = yaml - R07 : B03 Element should ignored = N ; B04 Processing finished = N - R09 : B04 Processing finished = N - R02 : B02 One more element to process = Y ; B05 changeset format = yaml - When liquibase-parser is called - * liquibase-parser is called - * liquibase-parser is called - * liquibase-parser is called - * liquibase-parser is called - * liquibase-parser is called - * liquibase-parser is called - * liquibase-parser is called - * liquibase-parser is called - * liquibase-parser is called - * liquibase-parser is called - * liquibase-parser is called - * liquibase-parser is called - -### end of generated test cases ### \ No newline at end of file