diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/MissingRuleVerifier.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/MissingRuleVerifier.java index e7e931d3037e331cbd4ed7439b87ec51382eb698..51d7867148beaff24f39b1e50db85da7dcdb2fcb 100644 --- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/MissingRuleVerifier.java +++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/MissingRuleVerifier.java @@ -66,8 +66,8 @@ public class MissingRuleVerifier extends AbstractVerifier { Action.Builder fixActionBuilder = Action.getBuilder().withActionScope(ActionScope.RULE).withActionType(ActionType.CREATE); for (VDmnInputValue v : missingRule.getDmnInputValues()) { - fixActionBuilder.addValue("inputColumnId", v.getDmnInputColumn().getInputId().getValue()); - fixActionBuilder.addValue("value", v.getBoundary().getParsedText()); + fixActionBuilder.addValue( + v.getDmnInputColumn().getInputId().getValue(), v.getBoundary().getParsedText()); } vreFactory .addVerificationFix(VerificationFix.SHOW_DECISION) diff --git a/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnVerificationResultSet..js b/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnVerificationResultSet..js index 83469d1ed6ef8ed050cb81a8daf34f7c36ce3150..5d859c63d6ffff25e10447b071f8961c2a2c0eba 100644 --- a/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnVerificationResultSet..js +++ b/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnVerificationResultSet..js @@ -47,7 +47,7 @@ * @property {number} id * @property {string} actionScope * @property {string} actionType SHOW, UPDATE, INSERT, DELETE - * @property {Object.<string, number>} actionValues + * @property {Object.<string, string>} actionValues */ /** diff --git a/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnVerifierActions.js b/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnVerifierActions.js index 757065377b627a10ce23ff5480a1cd1755ce28e6..687582295addd43a72f6d187a5f2225698baf5b9 100644 --- a/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnVerifierActions.js +++ b/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnVerifierActions.js @@ -16,8 +16,9 @@ function performVerificationFix(verificationEntry, fix, id) { break; case 'UPDATE': // break; - case 'INSERT': - // break; + case 'CREATE': + performVerificationFixCREATE(verificationEntry, fix.actions[i]); + break; case 'DELETE': // break; default: @@ -135,3 +136,46 @@ function fixSHOW_DECISION_TABLE(verificationEntry, fixAction) { function fixSHOW_DECISION(verificationEntry, fixAction) { highlightDecision(verificationEntry.elements); } + +/** + * + * @param {VerificationEntry} verificationEntry + * @param {Action} fixAction + */ +function performVerificationFixCREATE(verificationEntry, fixAction) { + switch (fixAction.actionScope) { + case 'RULE': + createRule(verificationEntry, fixAction); + break; + case 'INPUT_ENTRY': + case 'OUTPUT_ENTRY': + case 'INPUT_DATA': + case 'INPUT_COLUMN': + case 'OUTPUT_COLUMN': + case 'DECISION_TABLE': + case 'DECISION': + default: + alert("ACTION undefined: " + fix.actions[i].actionType + ' -> ' + + fix.actions[i].actionScope); + } +} + +/** + * + * @param {VerificationEntry} verificationEntry + * @param {Action} fixAction + */ +function createRule(verificationEntry, fixAction) { + $('#tab-dec-' + + verificationEntry.elements[0].identifier['decisionId']).click(); + $('.tjs-table tfoot .add-rule-add').click(); + let $lastRow = $('.tjs-table tbody tr:last'); + for (const [key, value] of Object.entries(fixAction.actionValues)) { + let $cell = $lastRow.find('[data-col-id=' + key + ']').find( + '.content-editable'); + $cell.empty(); + $cell.append(`${value}`); + $cell.append(`<br>`); + $cell.trigger('input') + } +}