From 9231313c1df041e559df7f0908a721272733f084 Mon Sep 17 00:00:00 2001 From: Martin Stemmer <52048213+Martin187187@users.noreply.github.com> Date: Fri, 6 Mar 2026 10:48:23 +0100 Subject: [PATCH 01/12] fixed grammar --- .../modules/ROOT/pages/json-grammar.txt | 10 +++-- .../modules/ROOT/pages/schema.adoc | 38 +++++++++++++++---- .../modules/ROOT/partials/bnf/grammar.bnf | 17 +++++---- .../ROOT/partials/query-json-schema.json | 38 +++++++++++++++---- 4 files changed, 78 insertions(+), 25 deletions(-) diff --git a/documentation/IDTA-01002-3/modules/ROOT/pages/json-grammar.txt b/documentation/IDTA-01002-3/modules/ROOT/pages/json-grammar.txt index b79ae9d6..99dd76c2 100644 --- a/documentation/IDTA-01002-3/modules/ROOT/pages/json-grammar.txt +++ b/documentation/IDTA-01002-3/modules/ROOT/pages/json-grammar.txt @@ -136,11 +136,15 @@ | ( "," "\"USEOBJECTS\":" ) ) ( ( "," "\"FORMULA\":" ) | ("," "\"USEFORMULA\":" ) ) - ("," "\"FRAGMENT\":" )? - ( ( "," "\"FILTER\":" ) - | ("," "\"USEFILTER\":" ) )? + ( "," "\"FILTER\":" )? "}" + ::= "{" + ( ( "\"FRAGMENT\":" + "," "\"CONDITION\":" ) + | ( "\"USEFORMULA\":" ) ) + "}" + ::= "{" ( ( "\"ATTRIBUTES\":" ) | ( "\"USEATTRIBUTES\":" ) ) diff --git a/documentation/IDTA-01002-3/modules/ROOT/pages/schema.adoc b/documentation/IDTA-01002-3/modules/ROOT/pages/schema.adoc index f5c81527..e28da11f 100644 --- a/documentation/IDTA-01002-3/modules/ROOT/pages/schema.adoc +++ b/documentation/IDTA-01002-3/modules/ROOT/pages/schema.adoc @@ -650,15 +650,9 @@ "USEFORMULA": { "type": "string" }, - "FRAGMENT": { - "type": "string" - }, "FILTER": { - "$ref": "#/definitions/logicalExpression", + "$ref": "#/definitions/SecurityQueryFilter", "additionalProperties": false - }, - "USEFILTER": { - "type": "string" } }, "oneOf": [ @@ -698,6 +692,36 @@ } ], "additionalProperties": false + }, + "SecurityQueryFilter": { + "type": "object", + "properties": { + "FRAGMENT": { + "type": "string" + }, + "CONDITION": { + "$ref": "#/definitions/logicalExpression" + }, + "USEFORMULA": { + "type": "string" + } + }, + "required": [ + "FRAGMENT" + ], + "oneOf": [ + { + "required": [ + "CONDITION" + ] + }, + { + "required": [ + "USEFORMULA" + ] + } + ], + "additionalProperties": false } }, "type": "object", diff --git a/documentation/IDTA-01002-3/modules/ROOT/partials/bnf/grammar.bnf b/documentation/IDTA-01002-3/modules/ROOT/partials/bnf/grammar.bnf index 434142ea..0bde4067 100644 --- a/documentation/IDTA-01002-3/modules/ROOT/partials/bnf/grammar.bnf +++ b/documentation/IDTA-01002-3/modules/ROOT/partials/bnf/grammar.bnf @@ -90,7 +90,7 @@ ( "DEFATTRIBUTES" )* ( "DEFACLS" )* ( "DEFOBJECTS" )* - ( "DEFFORMULAS" )* + ( "DEFFORMULAS" )* ( )* ::= @@ -99,9 +99,12 @@ "OBJECTS:" ( )* ( )* - "FORMULA:" - ( | ) - ( "FILTER:" ( | ) )? + ( "FORMULA:" ) | + ( "FILTER:" )? + + ::= + + ( "CONDITION:" ) | ::= "ATTRIBUTES:" @@ -111,7 +114,7 @@ "ACCESS:" ::= - "USEACLS" + "USEACL" ::= "CREATE" | "READ" | "UPDATE" | "DELETE" | "EXECUTE" | "VIEW" | "ALL" @@ -164,9 +167,7 @@ "USEOBJECTS" ::= - "USEFORMULAS" - - ::= + "USEFORMULA" ::= ::=