From dec092722e0bb5912c4642af31e08bd0d8900865 Mon Sep 17 00:00:00 2001 From: Lukas Streckeisen Date: Tue, 8 Apr 2025 16:16:48 +0200 Subject: [PATCH 01/20] start to implement semantic token provider --- src/language/context-mapper-dsl.langium | 1 - .../ContextMapSemanticTokenProvider.ts | 157 ++++++++++++++++++ .../ContextMapperDslSemanticTokenProvider.ts | 15 +- 3 files changed, 165 insertions(+), 8 deletions(-) create mode 100644 src/language/semantictokens/ContextMapSemanticTokenProvider.ts diff --git a/src/language/context-mapper-dsl.langium b/src/language/context-mapper-dsl.langium index 897f49f..8a352ea 100644 --- a/src/language/context-mapper-dsl.langium +++ b/src/language/context-mapper-dsl.langium @@ -81,7 +81,6 @@ Subdomain: ; Relationship: - (comment=ML_COMMENT | comment=SL_COMMENT)? SymmetricRelationship | UpstreamDownstreamRelationship ; diff --git a/src/language/semantictokens/ContextMapSemanticTokenProvider.ts b/src/language/semantictokens/ContextMapSemanticTokenProvider.ts new file mode 100644 index 0000000..8631fba --- /dev/null +++ b/src/language/semantictokens/ContextMapSemanticTokenProvider.ts @@ -0,0 +1,157 @@ +import { SemanticTokenAcceptor } from 'langium/lsp' +import { AstNode } from 'langium' +import { SemanticTokenModifiers, SemanticTokenTypes } from 'vscode-languageserver-types' +import { ContextMap, isPartnership, isSharedKernel, Partnership, SymmetricRelationship } from '../generated/ast.js' +export class ContextMapSemanticTokenProvider { + public highlightContextMap (node: AstNode, acceptor: SemanticTokenAcceptor) { + const contextMapNode = node as ContextMap + acceptor({ + node, + type: SemanticTokenTypes.keyword, + keyword: 'ContextMap' + }) + + if (contextMapNode.name) { + acceptor({ + node, + type: SemanticTokenTypes.type, + modifier: SemanticTokenModifiers.declaration, + property: 'name' + }) + } + + if (contextMapNode.type) { + acceptor({ + node, + type: SemanticTokenTypes.keyword, + keyword: 'type' + }) + acceptor({ + node, + type: SemanticTokenTypes.parameter, + property: 'type' + }) + } + + if (contextMapNode.state) { + acceptor({ + node, + type: SemanticTokenTypes.keyword, + keyword: 'state' + }) + acceptor({ + node, + type: SemanticTokenTypes.parameter, + property: 'state' + }) + } + + if (contextMapNode.boundedContexts) { + acceptor({ + node, + type: SemanticTokenTypes.keyword, + keyword: 'contains' + }) + acceptor({ + node, + type: SemanticTokenTypes.type, + property: 'boundedContexts' + }) + } + } + + public highlightRelationship (node: AstNode, acceptor: SemanticTokenAcceptor) { + if (isPartnership(node)) { + this.highlightPartnership(node, acceptor) + } + } + + private highlightSymmetricRelationship (node: AstNode, acceptor: SemanticTokenAcceptor) { + const symmetricRelationshipNode = node as SymmetricRelationship + + acceptor({ + node, + type: SemanticTokenTypes.type, + property: 'participant1' + }) + acceptor({ + node, + type: SemanticTokenTypes.type, + property: 'participant2' + }) + + if (symmetricRelationshipNode.name) { + acceptor({ + node, + type: SemanticTokenTypes.operator, + keyword: ':' + }) + acceptor({ + node, + type: SemanticTokenTypes.type, + modifier: SemanticTokenModifiers.declaration, + property: 'name' + }) + } + + if (symmetricRelationshipNode.implementationTechnology) { + acceptor({ + node, + type: SemanticTokenTypes.keyword, + keyword: 'implementationTechnology' + }) + acceptor({ + node, + type: SemanticTokenTypes.operator, + keyword: '=' + }) + acceptor({ + node, + type: SemanticTokenTypes.property, + property: 'implementationTechnology' + }) + } + + if (isPartnership(node)) { + this.highlightPartnership(node, acceptor) + } else if (isSharedKernel(node)) { + this.highlightSharedKernel(node, acceptor) + } + } + + private highlightPartnership (node: AstNode, acceptor: SemanticTokenAcceptor) { + acceptor({ + node, + type: SemanticTokenTypes.keyword, + keyword: '[\'P\']' + }) + acceptor({ + node, + type: SemanticTokenTypes.keyword, + keyword: '<->' + }) + acceptor({ + node, + type: SemanticTokenTypes.keyword, + keyword: 'Partnership' + }) + } + + private highlightSharedKernel (node: AstNode, acceptor: SemanticTokenAcceptor) { + acceptor({ + node, + type: SemanticTokenTypes.keyword, + keyword: '[\'SK\']' + }) + acceptor({ + node, + type: SemanticTokenTypes.keyword, + keyword: '<->' + }) + acceptor({ + node, + type: SemanticTokenTypes.keyword, + keyword: 'Shared-Kernel' + }) + } +} diff --git a/src/language/semantictokens/ContextMapperDslSemanticTokenProvider.ts b/src/language/semantictokens/ContextMapperDslSemanticTokenProvider.ts index 2c4ccac..4c716eb 100644 --- a/src/language/semantictokens/ContextMapperDslSemanticTokenProvider.ts +++ b/src/language/semantictokens/ContextMapperDslSemanticTokenProvider.ts @@ -1,16 +1,17 @@ import { AstNode } from 'langium' import { AbstractSemanticTokenProvider, SemanticTokenAcceptor } from 'langium/lsp' -import { SemanticTokenTypes } from 'vscode-languageserver-types' -import { isContextMap } from '../generated/ast.js' +import { isContextMap, isRelationship } from '../generated/ast.js' +import { ContextMapSemanticTokenProvider } from './ContextMapSemanticTokenProvider.js' export class ContextMapperDslSemanticTokenProvider extends AbstractSemanticTokenProvider { + private contextMapTokenProvider = new ContextMapSemanticTokenProvider() + protected override highlightElement (node: AstNode, acceptor: SemanticTokenAcceptor) { if (isContextMap(node)) { - acceptor({ - node, - type: SemanticTokenTypes.keyword, - keyword: 'ContextMap' - }) + this.contextMapTokenProvider.highlightContextMap(node, acceptor) + } + if (isRelationship(node)) { + this.contextMapTokenProvider.highlightRelationship(node, acceptor) } } } From 5e752d6222b7f990b22125f7c309cd5a4a2cc03e Mon Sep 17 00:00:00 2001 From: Lukas Streckeisen Date: Wed, 9 Apr 2025 09:39:38 +0200 Subject: [PATCH 02/20] fix relationship comment rule --- src/language/context-mapper-dsl.langium | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/language/context-mapper-dsl.langium b/src/language/context-mapper-dsl.langium index 8a352ea..72bfbdd 100644 --- a/src/language/context-mapper-dsl.langium +++ b/src/language/context-mapper-dsl.langium @@ -12,7 +12,6 @@ terminal CLOSE: '}'; entry ContextMappingModel: (topComment=SL_COMMENT | topComment=ML_COMMENT)? - (imports+=Import)* (map=ContextMap)? (boundedContexts+=BoundedContext)* (domains+=Domain)* @@ -21,9 +20,6 @@ entry ContextMappingModel: (valueRegisters+=ValueRegister)* ; -Import: - 'import' importURI=STRING; - ContextMap: {infer ContextMap} // make sure there is always a context map 'ContextMap' (name=ID)? @@ -89,6 +85,7 @@ SymmetricRelationship: ; Partnership: + (comment=ML_COMMENT | comment=SL_COMMENT)? ( (participant1=[BoundedContext] '[''P'']' '<->' '[''P'']' participant2=[BoundedContext]) | ('[''P'']' participant1=[BoundedContext] '<->' '[''P'']' participant2=[BoundedContext]) | @@ -103,6 +100,7 @@ Partnership: ; SharedKernel: + (comment=ML_COMMENT | comment=SL_COMMENT)? ( (participant1=[BoundedContext] '[''SK'']' '<->' '[''SK'']' participant2=[BoundedContext]) | ('[''SK'']' participant1=[BoundedContext] '<->' '[''SK'']' participant2=[BoundedContext]) | @@ -120,6 +118,7 @@ SharedKernel: UpstreamDownstreamRelationship: CustomerSupplierRelationship | ( + (comment=ML_COMMENT | comment=SL_COMMENT)? ( (upstream=[BoundedContext] (('[''U'']') | ('['('U'',')?(upstreamRoles+=UpstreamRole) ("," upstreamRoles+=UpstreamRole)*)']')? '->' (('[''D'']') | ('['('D'',')?(downstreamRoles+=DownstreamRole) ("," downstreamRoles+=DownstreamRole)*)']')? downstream=[BoundedContext]) | (downstream=[BoundedContext] (('[''D'']') | ('['('D'',')?(downstreamRoles+=DownstreamRole) ("," downstreamRoles+=DownstreamRole)*)']')? '<-' (('[''U'']') | ('['('U'',')?(upstreamRoles+=UpstreamRole) ("," upstreamRoles+=UpstreamRole)*)']')? upstream=[BoundedContext]) | @@ -138,6 +137,7 @@ UpstreamDownstreamRelationship: CustomerSupplierRelationship: ( + (comment=ML_COMMENT | comment=SL_COMMENT)? ( (upstream=[BoundedContext] '['('U'',')?'S'(','(upstreamRoles+=UpstreamRole) ("," upstreamRoles+=UpstreamRole)*)?']' '->' '['('D'',')?'C'(','(downstreamRoles+=DownstreamRole) ("," downstreamRoles+=DownstreamRole)*)?']' downstream=[BoundedContext]) | (downstream=[BoundedContext] '['('D'',')?'C'(','(downstreamRoles+=DownstreamRole) ("," downstreamRoles+=DownstreamRole)*)?']' '<-' '['('U'',')?'S'(','(upstreamRoles+=UpstreamRole) ("," upstreamRoles+=UpstreamRole)*)?']' upstream=[BoundedContext]) | From c580f07fa5bcc142fcb3d51744ead09ae46e6c89 Mon Sep 17 00:00:00 2001 From: Lukas Streckeisen Date: Thu, 10 Apr 2025 16:27:17 +0200 Subject: [PATCH 03/20] add semantic token providers for ContextMapper basic grammar --- .../AggregateSemanticTokenProvider.ts | 76 +++++ .../BoundedContextSemanticTokenProvider.ts | 50 ++++ .../ContextMapSemanticTokenProvider.ts | 270 +++++++++++++----- .../ContextMapperDslSemanticTokenProvider.ts | 94 +++++- .../DomainSemanticTokenProvider.ts | 36 +++ .../semantictokens/HighlightingHelper.ts | 68 +++++ .../RequirementsSemanticTokenProvider.ts | 116 ++++++++ .../ValueSemanticTokenProvider.ts | 207 ++++++++++++++ 8 files changed, 848 insertions(+), 69 deletions(-) create mode 100644 src/language/semantictokens/AggregateSemanticTokenProvider.ts create mode 100644 src/language/semantictokens/BoundedContextSemanticTokenProvider.ts create mode 100644 src/language/semantictokens/DomainSemanticTokenProvider.ts create mode 100644 src/language/semantictokens/HighlightingHelper.ts create mode 100644 src/language/semantictokens/RequirementsSemanticTokenProvider.ts create mode 100644 src/language/semantictokens/ValueSemanticTokenProvider.ts diff --git a/src/language/semantictokens/AggregateSemanticTokenProvider.ts b/src/language/semantictokens/AggregateSemanticTokenProvider.ts new file mode 100644 index 0000000..e725f57 --- /dev/null +++ b/src/language/semantictokens/AggregateSemanticTokenProvider.ts @@ -0,0 +1,76 @@ +import { Aggregate, isUseCase, isUserRequirement, isUserStory } from '../generated/ast.js' +import { SemanticTokenAcceptor } from 'langium/lsp' +import { SemanticTokenTypes } from 'vscode-languageserver-types' +import { highlightMemberAttribute, highlightString, highlightTypeDeclaration } from './HighlightingHelper.js' + +export class AggregateSemanticTokenProvider { + public highlightAggregate (node: Aggregate, acceptor: SemanticTokenAcceptor) { + if (node.doc) { + highlightString(node, acceptor, 'doc') + } + + highlightTypeDeclaration(node, acceptor, 'Aggregate') + + if (node.responsibilities.length > 0) { + highlightMemberAttribute(node, acceptor, ['responsibilities'], 'responsibilities', SemanticTokenTypes.string) + } + + if (node.userRequirements.length > 0) { + const keywords = [] + if (isUseCase(node.userRequirements[0])) { + keywords.push('useCases') + } else if (isUserRequirement(node.userRequirements[0])) { + keywords.push('userRequirements') + keywords.push('features') + } else if (isUserStory(node.userRequirements[0])) { + keywords.push('userStories') + } + + highlightMemberAttribute(node, acceptor, keywords, 'userRequirements', SemanticTokenTypes.type) + } + + if (node.owner) { + highlightMemberAttribute(node, acceptor, ['owner'], 'owner', SemanticTokenTypes.type) + } + + if (node.knowledgeLevel) { + highlightMemberAttribute(node, acceptor, ['knowledgeLevel'], 'knowledgeLevel') + } + + if (node.likelihoodForChange) { + highlightMemberAttribute(node, acceptor, ['likelihoodForChange', 'structuralVolatility'], 'likelihoodForChange') + } + + if (node.contentVolatility) { + highlightMemberAttribute(node, acceptor, ['contentVolatility'], 'contentVolatility') + } + + if (node.availabilityCriticality) { + highlightMemberAttribute(node, acceptor, ['availabilityCriticality'], 'availabilityCriticality') + } + + if (node.consistencyCriticality) { + highlightMemberAttribute(node, acceptor, ['consistencyCriticality'], 'consistencyCriticality') + } + + if (node.storageSimilarity) { + highlightMemberAttribute(node, acceptor, ['storageSimilarity'], 'storageSimilarity') + } + + if (node.storageSimilarity) { + highlightMemberAttribute(node, acceptor, ['storageSimilarity'], 'storageSimilarity') + } + + if (node.securityCriticality) { + highlightMemberAttribute(node, acceptor, ['securityCriticality'], 'securityCriticality') + } + + if (node.securityZone) { + highlightMemberAttribute(node, acceptor, ['securityZone'], 'securityZone', SemanticTokenTypes.string) + } + + if (node.securityAccessGroup) { + highlightMemberAttribute(node, acceptor, ['securityAccessGroup'], 'securityAccessGroup', SemanticTokenTypes.string) + } + } +} diff --git a/src/language/semantictokens/BoundedContextSemanticTokenProvider.ts b/src/language/semantictokens/BoundedContextSemanticTokenProvider.ts new file mode 100644 index 0000000..712cec9 --- /dev/null +++ b/src/language/semantictokens/BoundedContextSemanticTokenProvider.ts @@ -0,0 +1,50 @@ +import { SemanticTokenAcceptor } from 'langium/lsp' +import { BoundedContext } from '../generated/ast.js' +import { SemanticTokenTypes } from 'vscode-languageserver-types' +import { highlightAttribute, highlightMemberAttribute, highlightTypeDeclaration } from './HighlightingHelper.js' + +export class BoundedContextSemanticTokenProvider { + public highlightBoundedContext (node: BoundedContext, acceptor: SemanticTokenAcceptor) { + highlightTypeDeclaration(node, acceptor, 'BoundedContext') + + if (node.implementedDomainParts.length > 0) { + highlightAttribute(node, acceptor, ['implements'], 'implementedDomainParts', true) + } + + if (node.realizedBoundedContexts.length > 0) { + highlightAttribute(node, acceptor, ['realizes'], 'realizedBoundedContexts', true) + } + + if (node.refinedBoundedContext) { + highlightAttribute(node, acceptor, ['refines'], 'refinedBoundedContext') + } + + if (node.domainVisionStatement) { + highlightMemberAttribute(node, acceptor, ['domainVisionStatement'], 'domainVisionStatement', SemanticTokenTypes.string) + } + + if (node.type) { + highlightMemberAttribute(node, acceptor, ['type'], 'type') + } + + if (node.responsibilities) { + highlightMemberAttribute(node, acceptor, ['responsibilities'], 'responsibilities', SemanticTokenTypes.string) + } + + if (node.implementationTechnology) { + highlightMemberAttribute(node, acceptor, ['implementationTechnology'], 'implementationTechnology', SemanticTokenTypes.string) + } + + if (node.knowledgeLevel) { + highlightMemberAttribute(node, acceptor, ['knowledgeLevel'], 'knowledgeLevel') + } + + if (node.businessModel) { + highlightMemberAttribute(node, acceptor, ['businessModel'], 'businessModel', SemanticTokenTypes.string) + } + + if (node.evolution) { + highlightMemberAttribute(node, acceptor, ['evolution'], 'evolution') + } + } +} diff --git a/src/language/semantictokens/ContextMapSemanticTokenProvider.ts b/src/language/semantictokens/ContextMapSemanticTokenProvider.ts index 8631fba..ac6d8bb 100644 --- a/src/language/semantictokens/ContextMapSemanticTokenProvider.ts +++ b/src/language/semantictokens/ContextMapSemanticTokenProvider.ts @@ -1,17 +1,53 @@ import { SemanticTokenAcceptor } from 'langium/lsp' -import { AstNode } from 'langium' import { SemanticTokenModifiers, SemanticTokenTypes } from 'vscode-languageserver-types' -import { ContextMap, isPartnership, isSharedKernel, Partnership, SymmetricRelationship } from '../generated/ast.js' +import { + ContextMap, CustomerSupplierRelationship, isCustomerSupplierRelationship, + isPartnership, + isSharedKernel, + isSymmetricRelationship, + isUpstreamDownstreamRelationship, Partnership, Relationship, SharedKernel, + SymmetricRelationship, + UpstreamDownstreamRelationship +} from '../generated/ast.js' +import { highlightAttribute, highlightMemberAttribute, highlightTypeDeclaration } from './HighlightingHelper.js' export class ContextMapSemanticTokenProvider { - public highlightContextMap (node: AstNode, acceptor: SemanticTokenAcceptor) { - const contextMapNode = node as ContextMap + public highlightContextMap (node: ContextMap, acceptor: SemanticTokenAcceptor) { + highlightTypeDeclaration(node, acceptor, 'ContextMap', node.name != null) + + if (node.type) { + highlightMemberAttribute(node, acceptor, ['type'], 'type') + } + + if (node.state) { + highlightMemberAttribute(node, acceptor, ['state'], 'state') + } + + if (node.boundedContexts.length > 0) { + highlightAttribute(node, acceptor, ['contains'], 'boundedContexts', true) + } + } + + public highlightRelationship (node: Relationship, acceptor: SemanticTokenAcceptor) { + if (isSymmetricRelationship(node)) { + this.highlightSymmetricRelationship(node, acceptor) + } else if (isUpstreamDownstreamRelationship(node)) { + this.highlightUpstreamDownstreamRelationship(node, acceptor) + } + } + + private highlightSymmetricRelationship (node: SymmetricRelationship, acceptor: SemanticTokenAcceptor) { acceptor({ node, - type: SemanticTokenTypes.keyword, - keyword: 'ContextMap' + type: SemanticTokenTypes.type, + property: 'participant1' + }) + acceptor({ + node, + type: SemanticTokenTypes.type, + property: 'participant2' }) - if (contextMapNode.name) { + if (node.name) { acceptor({ node, type: SemanticTokenTypes.type, @@ -20,81 +56,137 @@ export class ContextMapSemanticTokenProvider { }) } - if (contextMapNode.type) { + if (node.implementationTechnology) { acceptor({ node, type: SemanticTokenTypes.keyword, - keyword: 'type' + keyword: 'implementationTechnology' }) acceptor({ node, - type: SemanticTokenTypes.parameter, - property: 'type' + type: SemanticTokenTypes.property, + property: 'implementationTechnology' }) } - if (contextMapNode.state) { - acceptor({ - node, - type: SemanticTokenTypes.keyword, - keyword: 'state' - }) - acceptor({ - node, - type: SemanticTokenTypes.parameter, - property: 'state' - }) + if (isPartnership(node)) { + this.highlightPartnership(node, acceptor) + } else if (isSharedKernel(node)) { + this.highlightSharedKernel(node, acceptor) } + } - if (contextMapNode.boundedContexts) { - acceptor({ - node, - type: SemanticTokenTypes.keyword, - keyword: 'contains' - }) + private highlightPartnership (node: Partnership, acceptor: SemanticTokenAcceptor) { + acceptor({ + node, + type: SemanticTokenTypes.keyword, + keyword: 'P' + }) + acceptor({ + node, + type: SemanticTokenTypes.keyword, + keyword: '<->' + }) + acceptor({ + node, + type: SemanticTokenTypes.keyword, + keyword: 'Partnership' + }) + } + + private highlightSharedKernel (node: SharedKernel, acceptor: SemanticTokenAcceptor) { + acceptor({ + node, + type: SemanticTokenTypes.keyword, + keyword: 'SK' + }) + acceptor({ + node, + type: SemanticTokenTypes.keyword, + keyword: '<->' + }) + acceptor({ + node, + type: SemanticTokenTypes.keyword, + keyword: 'Shared-Kernel' + }) + } + + private highlightUpstreamDownstreamRelationship (node: UpstreamDownstreamRelationship, acceptor: SemanticTokenAcceptor) { + if (isCustomerSupplierRelationship(node)) { + this.highlightCustomerSupplierRelationship(node, acceptor) + return + } + + if (node.name) { acceptor({ node, type: SemanticTokenTypes.type, - property: 'boundedContexts' + modifier: SemanticTokenModifiers.declaration, + property: 'name' }) } - } - - public highlightRelationship (node: AstNode, acceptor: SemanticTokenAcceptor) { - if (isPartnership(node)) { - this.highlightPartnership(node, acceptor) - } - } - - private highlightSymmetricRelationship (node: AstNode, acceptor: SemanticTokenAcceptor) { - const symmetricRelationshipNode = node as SymmetricRelationship acceptor({ node, type: SemanticTokenTypes.type, - property: 'participant1' + property: 'downstream' }) + acceptor({ + node, + type: SemanticTokenTypes.keyword, + keyword: 'D' + }) + acceptor({ node, type: SemanticTokenTypes.type, - property: 'participant2' + property: 'upstream' + }) + acceptor({ + node, + type: SemanticTokenTypes.keyword, + keyword: 'U' }) - if (symmetricRelationshipNode.name) { + acceptor({ + node, + type: SemanticTokenTypes.keyword, + keyword: 'Upstream-Downstream' + }) + acceptor({ + node, + type: SemanticTokenTypes.keyword, + keyword: 'Downstream-Upstream' + }) + acceptor({ + node, + type: SemanticTokenTypes.keyword, + keyword: '<-' + }) + acceptor({ + node, + type: SemanticTokenTypes.keyword, + keyword: '->' + }) + + if (node.downstreamRoles.length > 0) { acceptor({ node, - type: SemanticTokenTypes.operator, - keyword: ':' + type: SemanticTokenTypes.property, + property: 'downstreamRoles' }) + } + + if (node.upstreamRoles.length > 0) { acceptor({ node, - type: SemanticTokenTypes.type, - modifier: SemanticTokenModifiers.declaration, - property: 'name' + type: SemanticTokenTypes.property, + property: 'upstreamRoles' }) } - if (symmetricRelationshipNode.implementationTechnology) { + if (node.implementationTechnology) { acceptor({ node, type: SemanticTokenTypes.keyword, @@ -102,56 +194,104 @@ export class ContextMapSemanticTokenProvider { }) acceptor({ node, - type: SemanticTokenTypes.operator, - keyword: '=' + type: SemanticTokenTypes.property, + property: 'implementationTechnology' }) + } + + if (node.upstreamExposedAggregates.length > 0) { acceptor({ node, - type: SemanticTokenTypes.property, - property: 'implementationTechnology' + type: SemanticTokenTypes.keyword, + keyword: 'exposedAggregates' + }) + acceptor({ + node, + type: SemanticTokenTypes.type, + property: 'upstreamExposedAggregates' }) } - if (isPartnership(node)) { - this.highlightPartnership(node, acceptor) - } else if (isSharedKernel(node)) { - this.highlightSharedKernel(node, acceptor) + if (node.downstreamGovernanceRights) { + acceptor({ + node, + type: SemanticTokenTypes.keyword, + keyword: 'downstreamRights' + }) + acceptor({ + node, + type: SemanticTokenTypes.property, + property: 'downstreamGovernanceRights' + }) } } - private highlightPartnership (node: AstNode, acceptor: SemanticTokenAcceptor) { + public highlightCustomerSupplierRelationship (node: CustomerSupplierRelationship, acceptor: SemanticTokenAcceptor) { + acceptor({ + node, + type: SemanticTokenTypes.type, + property: 'upstream' + }) acceptor({ node, type: SemanticTokenTypes.keyword, - keyword: '[\'P\']' + keyword: 'U' }) + if (node.upstreamRoles.length > 0) { + acceptor({ + node, + type: SemanticTokenTypes.property, + property: 'upstreamRoles' + }) + } acceptor({ node, type: SemanticTokenTypes.keyword, - keyword: '<->' + keyword: '->' }) acceptor({ node, type: SemanticTokenTypes.keyword, - keyword: 'Partnership' + keyword: 'Supplier-Customer' }) - } - private highlightSharedKernel (node: AstNode, acceptor: SemanticTokenAcceptor) { + acceptor({ + node, + type: SemanticTokenTypes.type, + property: 'downstream' + }) acceptor({ node, type: SemanticTokenTypes.keyword, - keyword: '[\'SK\']' + keyword: 'D' }) + if (node.downstreamRoles.length > 0) { + acceptor({ + node, + type: SemanticTokenTypes.property, + property: 'downstreamRoles' + }) + } acceptor({ node, type: SemanticTokenTypes.keyword, - keyword: '<->' + keyword: '<-' }) acceptor({ node, type: SemanticTokenTypes.keyword, - keyword: 'Shared-Kernel' + keyword: 'Customer-Supplier' + }) + + acceptor({ + node, + type: SemanticTokenTypes.keyword, + keyword: 'C' + }) + acceptor({ + node, + type: SemanticTokenTypes.keyword, + keyword: 'S' }) } } diff --git a/src/language/semantictokens/ContextMapperDslSemanticTokenProvider.ts b/src/language/semantictokens/ContextMapperDslSemanticTokenProvider.ts index 4c716eb..7d67439 100644 --- a/src/language/semantictokens/ContextMapperDslSemanticTokenProvider.ts +++ b/src/language/semantictokens/ContextMapperDslSemanticTokenProvider.ts @@ -1,17 +1,103 @@ import { AstNode } from 'langium' import { AbstractSemanticTokenProvider, SemanticTokenAcceptor } from 'langium/lsp' -import { isContextMap, isRelationship } from '../generated/ast.js' +import { + ContextMappingModel, + isAbstractStakeholder, isAction, + isAggregate, + isBoundedContext, isConsequence, + isContextMap, + isContextMappingModel, + isDomainPart, + isFeature, + isRelationship, + isStakeholders, + isStoryValuation, + isUserRequirement, + isValue, + isValueCluster, + isValueElicitation, isValueEpic, isValueNarrative, + isValueRegister, isValueWeigthing +} from '../generated/ast.js' import { ContextMapSemanticTokenProvider } from './ContextMapSemanticTokenProvider.js' +import { SemanticTokenTypes } from 'vscode-languageserver-types' +import { BoundedContextSemanticTokenProvider } from './BoundedContextSemanticTokenProvider.js' +import { DomainSemanticTokenProvider } from './DomainSemanticTokenProvider.js' +import { AggregateSemanticTokenProvider } from './AggregateSemanticTokenProvider.js' +import { RequirementsSemanticTokenProvider } from './RequirementsSemanticTokenProvider.js' +import { ValueSemanticTokenProvider } from './ValueSemanticTokenProvider.js' export class ContextMapperDslSemanticTokenProvider extends AbstractSemanticTokenProvider { private contextMapTokenProvider = new ContextMapSemanticTokenProvider() + private boundedContextTokenProvider = new BoundedContextSemanticTokenProvider() + private domainTokenProvider = new DomainSemanticTokenProvider() + private aggregateTokenProvider = new AggregateSemanticTokenProvider() + private requirementTokenProvider = new RequirementsSemanticTokenProvider() + private valueTokenProvider = new ValueSemanticTokenProvider() protected override highlightElement (node: AstNode, acceptor: SemanticTokenAcceptor) { - if (isContextMap(node)) { + if (isContextMappingModel(node)) { + const modelNode = node as ContextMappingModel + + if (modelNode.$cstNode) { + this.highlightComments(/\/\*[\s\S]*?\*\//g, modelNode, acceptor) + this.highlightComments(/\/\/[^\n\r]*/g, modelNode, acceptor) + } + } else if (isContextMap(node)) { this.contextMapTokenProvider.highlightContextMap(node, acceptor) - } - if (isRelationship(node)) { + } else if (isRelationship(node)) { this.contextMapTokenProvider.highlightRelationship(node, acceptor) + } else if (isBoundedContext(node)) { + this.boundedContextTokenProvider.highlightBoundedContext(node, acceptor) + } else if (isDomainPart(node)) { + this.domainTokenProvider.highlightDomainPart(node, acceptor) + } else if (isAggregate(node)) { + this.aggregateTokenProvider.highlightAggregate(node, acceptor) + } else if (isUserRequirement(node)) { + this.requirementTokenProvider.highlightUserRequirement(node, acceptor) + } else if (isFeature(node)) { + this.requirementTokenProvider.highlightFeature(node, acceptor) + } else if (isStoryValuation(node)) { + this.valueTokenProvider.highlightStoryValidation(node, acceptor) + } else if (isStakeholders(node)) { + this.valueTokenProvider.highlightStakeholders(node, acceptor) + } else if (isAbstractStakeholder(node)) { + this.valueTokenProvider.highlightAbstractStakeholder(node, acceptor) + } else if (isValueRegister(node)) { + this.valueTokenProvider.highlightValueRegister(node, acceptor) + } else if (isValueCluster(node)) { + this.valueTokenProvider.highlightValueCluster(node, acceptor) + } else if (isValue(node)) { + this.valueTokenProvider.highlightValue(node, acceptor) + } else if (isValueElicitation(node)) { + this.valueTokenProvider.highlightValueElicitation(node, acceptor) + } else if (isValueEpic(node)) { + this.valueTokenProvider.highlightValueEpic(node, acceptor) + } else if (isValueNarrative(node)) { + this.valueTokenProvider.highlightValueNarrative(node, acceptor) + } else if (isValueWeigthing(node)) { + this.valueTokenProvider.highlightValueWeighting(node, acceptor) + } else if (isConsequence(node)) { + this.valueTokenProvider.highlightConsequence(node, acceptor) + } else if (isAction(node)) { + this.valueTokenProvider.highlightAction(node, acceptor) + } else { + console.error('Uncaught node type', node.$type) + } + } + + private highlightComments (regex: RegExp, node: ContextMappingModel, acceptor: SemanticTokenAcceptor) { + const text = node.$document!!.textDocument.getText() + for (const match of text.matchAll(regex)) { + if (match == null || match.index == null) { + continue + } + const position = node.$document!!.textDocument.positionAt(match.index) + acceptor({ + type: SemanticTokenTypes.comment, + line: position.line, + char: position.character, + length: match[0].length + }) } } } diff --git a/src/language/semantictokens/DomainSemanticTokenProvider.ts b/src/language/semantictokens/DomainSemanticTokenProvider.ts new file mode 100644 index 0000000..85e0b31 --- /dev/null +++ b/src/language/semantictokens/DomainSemanticTokenProvider.ts @@ -0,0 +1,36 @@ +import { DomainPart, isDomain, isSubdomain, Subdomain } from '../generated/ast.js' +import { SemanticTokenAcceptor } from 'langium/lsp' +import { SemanticTokenTypes } from 'vscode-languageserver-types' +import { highlightAttribute, highlightMemberAttribute, highlightTypeDeclaration } from './HighlightingHelper.js' + +export class DomainSemanticTokenProvider { + public highlightDomainPart (node: DomainPart, acceptor: SemanticTokenAcceptor) { + let keyword = null + if (isDomain(node)) { + keyword = 'Domain' + } else if (isSubdomain(node)) { + keyword = 'Subdomain' + } + if (keyword) { + highlightTypeDeclaration(node, acceptor, keyword, node.name != null) + } + + if (node.domainVisionStatement) { + highlightMemberAttribute(node, acceptor, ['domainVisionStatement'], 'domainVisionStatement', SemanticTokenTypes.string) + } + + if (isSubdomain(node)) { + this.highlightSubdomain(node, acceptor) + } + } + + public highlightSubdomain (node: Subdomain, acceptor: SemanticTokenAcceptor) { + if (node.supportedFeatures.length > 0) { + highlightAttribute(node, acceptor, ['supports'], 'supportedFeatures', true) + } + + if (node.type) { + highlightMemberAttribute(node, acceptor, ['type'], 'type') + } + } +} diff --git a/src/language/semantictokens/HighlightingHelper.ts b/src/language/semantictokens/HighlightingHelper.ts new file mode 100644 index 0000000..c3df495 --- /dev/null +++ b/src/language/semantictokens/HighlightingHelper.ts @@ -0,0 +1,68 @@ +import { AstNode } from 'langium' +import { SemanticTokenAcceptor } from 'langium/lsp' +import { SemanticTokenModifiers, SemanticTokenTypes } from 'vscode-languageserver-types' + +export function highlightString (node: AstNode, acceptor: SemanticTokenAcceptor, property: string) { + acceptor({ + node, + type: SemanticTokenTypes.string, + property + }) +} + +export function highlightKeyword (node: AstNode, acceptor: SemanticTokenAcceptor, keyword: string) { + acceptor({ + node, + type: SemanticTokenTypes.keyword, + keyword + }) +} + +export function highlightProperty (node: AstNode, acceptor: SemanticTokenAcceptor, property: string) { + acceptor({ + node, + type: SemanticTokenTypes.property, + property + }) +} + +export function highlightType (node: AstNode, acceptor: SemanticTokenAcceptor, property: string, modifiers: string[] = []) { + acceptor({ + node, + type: SemanticTokenTypes.type, + property, + modifier: modifiers + }) +} + +export function highlightTypeDeclaration (node: AstNode, acceptor: SemanticTokenAcceptor, keyword: string, hasName: Boolean = true) { + highlightKeyword(node, acceptor, keyword) + if (hasName) { + highlightType(node, acceptor, 'name', [SemanticTokenModifiers.declaration]) + } +} + +export function highlightMemberAttribute (node: AstNode, acceptor: SemanticTokenAcceptor, keywords: string[], property: string, type: SemanticTokenTypes = SemanticTokenTypes.property, isArray: Boolean = false) { + keywords.forEach(keyword => highlightKeyword(node, acceptor, keyword)) + // TODO: equal token + acceptor({ + node, + type, + property + }) + if (isArray) { + // TODO: delimiter token + } +} + +export function highlightAttribute (node: AstNode, acceptor: SemanticTokenAcceptor, keywords: string[], property: string, isArray: Boolean = false, type: SemanticTokenTypes = SemanticTokenTypes.type) { + keywords.forEach(keyword => highlightKeyword(node, acceptor, keyword)) + acceptor({ + node, + type, + property + }) + if (isArray) { + // TODO: delimiter token + } +} diff --git a/src/language/semantictokens/RequirementsSemanticTokenProvider.ts b/src/language/semantictokens/RequirementsSemanticTokenProvider.ts new file mode 100644 index 0000000..9a4615e --- /dev/null +++ b/src/language/semantictokens/RequirementsSemanticTokenProvider.ts @@ -0,0 +1,116 @@ +import { + Feature, + isNormalFeature, + isStoryFeature, + isUseCase, + isUserStory, + NormalFeature, + StoryFeature, + UseCase, + UserRequirement, + UserStory +} from '../generated/ast.js' +import { SemanticTokenAcceptor } from 'langium/lsp' +import { + highlightAttribute, + highlightKeyword, + highlightMemberAttribute, + highlightString, + highlightTypeDeclaration +} from './HighlightingHelper.js' +import { SemanticTokenTypes } from 'vscode-languageserver-types' +export class RequirementsSemanticTokenProvider { + public highlightUserRequirement (node: UserRequirement, acceptor: SemanticTokenAcceptor) { + if (isUseCase(node)) { + this.highlightUseCase(node, acceptor) + } else if (isUserStory(node)) { + this.highlightUserStory(node, acceptor) + } + } + + public highlightUseCase (node: UseCase, acceptor: SemanticTokenAcceptor) { + highlightTypeDeclaration(node, acceptor, 'UseCase') + + if (node.role) { + highlightMemberAttribute(node, acceptor, ['actor'], 'role') + } + + if (node.secondaryActors.length > 0) { + highlightMemberAttribute(node, acceptor, ['secondaryActors'], 'secondaryActors', SemanticTokenTypes.string, true) + } + + if (node.features.length > 0) { + highlightKeyword(node, acceptor, 'interactions') + } + + if (node.benefit) { + highlightMemberAttribute(node, acceptor, ['benefit'], 'benefit', SemanticTokenTypes.string) + } + + if (node.scope) { + highlightMemberAttribute(node, acceptor, ['scope'], 'scope', SemanticTokenTypes.string) + } + + if (node.level) { + highlightMemberAttribute(node, acceptor, ['level'], 'level', SemanticTokenTypes.string) + } + } + + public highlightUserStory (node: UserStory, acceptor: SemanticTokenAcceptor) { + highlightTypeDeclaration(node, acceptor, 'UserStory') + + if (node.splittingStory) { + highlightAttribute(node, acceptor, ['split by'], 'splittingStory') + } + + if (node.role) { + highlightMemberAttribute(node, acceptor, ['As a', 'As an'], 'role', SemanticTokenTypes.string) + } + + if (node.benefit) { + highlightMemberAttribute(node, acceptor, ['so that'], 'benefit', SemanticTokenTypes.string) + } + } + + public highlightFeature (node: Feature, acceptor: SemanticTokenAcceptor) { + if (isNormalFeature(node)) { + this.highlightNormalFeature(node, acceptor) + } else if (isStoryFeature(node)) { + this.highlightStoryFeature(node, acceptor) + } + } + + public highlightNormalFeature (node: NormalFeature, acceptor: SemanticTokenAcceptor) { + highlightString(node, acceptor, 'verb') + + if (node.entityArticle) { + highlightKeyword(node, acceptor, node.entityArticle) + } + + highlightString(node, acceptor, 'entity') + + if (node.entityAttributesPreposition) { + highlightKeyword(node, acceptor, node.entityAttributesPreposition) + } + + if (node.entityAttributes.length > 0) { + highlightString(node, acceptor, 'entityAttributes') + } + + if (node.containerEntityPreposition) { + highlightKeyword(node, acceptor, node.containerEntityPreposition) + } + + if (node.containerEntityArticle) { + highlightKeyword(node, acceptor, node.containerEntityArticle) + } + + if (node.containerEntity) { + highlightString(node, acceptor, 'containerEntity') + } + } + + public highlightStoryFeature (node: StoryFeature, acceptor: SemanticTokenAcceptor) { + highlightKeyword(node, acceptor, 'I want to') + } +} diff --git a/src/language/semantictokens/ValueSemanticTokenProvider.ts b/src/language/semantictokens/ValueSemanticTokenProvider.ts new file mode 100644 index 0000000..e2418dc --- /dev/null +++ b/src/language/semantictokens/ValueSemanticTokenProvider.ts @@ -0,0 +1,207 @@ +import { + AbstractStakeholder, + Action, + Consequence, + isStakeholder, + isStakeholderGroup, + Stakeholder, + StakeholderGroup, + Stakeholders, + StoryValuation, Value, ValueCluster, ValueElicitation, ValueEpic, ValueNarrative, ValueRegister, ValueWeigthing +} from '../generated/ast.js' +import { SemanticTokenAcceptor } from 'langium/lsp' +import { + highlightAttribute, + highlightKeyword, + highlightMemberAttribute, + highlightString, highlightType, + highlightTypeDeclaration +} from './HighlightingHelper.js' +import { SemanticTokenTypes } from 'vscode-languageserver-types' + +export class ValueSemanticTokenProvider { + public highlightStoryValidation (node: StoryValuation, acceptor: SemanticTokenAcceptor) { + highlightKeyword(node, acceptor, 'and that') + highlightString(node, acceptor, 'promotedValues') + // TODO: delimiter token + highlightKeyword(node, acceptor, 'is') + highlightKeyword(node, acceptor, 'are') + highlightKeyword(node, acceptor, 'promoted') + // TODO: delimiter token + + highlightKeyword(node, acceptor, 'accepting that') + highlightString(node, acceptor, 'harmedValues') + // TODO: delimiter token + highlightKeyword(node, acceptor, 'is') + highlightKeyword(node, acceptor, 'are') + highlightKeyword(node, acceptor, 'reduced') + highlightKeyword(node, acceptor, 'harmed') + } + + public highlightStakeholders (node: Stakeholders, acceptor: SemanticTokenAcceptor) { + highlightKeyword(node, acceptor, 'Stakeholders') + + if (node.contexts.length > 0) { + highlightAttribute(node, acceptor, ['of'], 'contexts', true) + } + } + + public highlightAbstractStakeholder (node: AbstractStakeholder, acceptor: SemanticTokenAcceptor) { + if (isStakeholder(node)) { + this.highlightStakeholder(node, acceptor) + } else if (isStakeholderGroup(node)) { + this.highlightStakeholderGroup(node, acceptor) + } + } + + public highlightStakeholder (node: Stakeholder, acceptor: SemanticTokenAcceptor) { + highlightTypeDeclaration(node, acceptor, 'Stakeholder') + + if (node.influence) { + highlightMemberAttribute(node, acceptor, ['influence'], 'influence') + } + + if (node.interest) { + highlightMemberAttribute(node, acceptor, ['interest'], 'interest') + } + + if (node.description) { + highlightMemberAttribute(node, acceptor, ['description'], 'description', SemanticTokenTypes.string) + } + } + + public highlightStakeholderGroup (node: StakeholderGroup, acceptor: SemanticTokenAcceptor) { + highlightTypeDeclaration(node, acceptor, 'StakeholderGroup') + } + + public highlightValueRegister (node: ValueRegister, acceptor: SemanticTokenAcceptor) { + highlightKeyword(node, acceptor, 'ValueRegister') + + if (node.context) { + highlightAttribute(node, acceptor, ['of'], 'context') + } + } + + public highlightValueCluster (node: ValueCluster, acceptor: SemanticTokenAcceptor) { + highlightTypeDeclaration(node, acceptor, 'ValueCluster') + + if (node.coreValue) { + highlightMemberAttribute(node, acceptor, ['core'], 'coreValue') + } + if (node.coreValue7000) { + highlightMemberAttribute(node, acceptor, ['core'], 'coreValue7000') + } + + this.highlightValueAttributes(node, acceptor) + } + + public highlightValue (node: Value, acceptor: SemanticTokenAcceptor) { + highlightTypeDeclaration(node, acceptor, 'Value') + + if (node.coreValue) { + highlightKeyword(node, acceptor, 'isCore') + } + + this.highlightValueAttributes(node, acceptor) + } + + public highlightValueElicitation (node: ValueElicitation, acceptor: SemanticTokenAcceptor) { + highlightKeyword(node, acceptor, 'Stakeholder') + highlightKeyword(node, acceptor, 'Stakeholders') + highlightType(node, acceptor, 'stakeholder') + + if (node.priority) { + highlightMemberAttribute(node, acceptor, ['priority'], 'priority') + } + + if (node.impact) { + highlightMemberAttribute(node, acceptor, ['impact'], 'impact') + } + + if (node.consequences.length > 0) { + highlightKeyword(node, acceptor, 'consequences') + } + } + + public highlightValueEpic (node: ValueEpic, acceptor: SemanticTokenAcceptor) { + highlightTypeDeclaration(node, acceptor, 'ValueEpic') + + highlightKeyword(node, acceptor, 'As a') + highlightType(node, acceptor, 'stakeholder') + highlightKeyword(node, acceptor, 'I value') + highlightString(node, acceptor, 'value') + highlightKeyword(node, acceptor, 'as demonstrated in') + + highlightKeyword(node, acceptor, 'realization of') + highlightString(node, acceptor, 'realizedValues') + + highlightKeyword(node, acceptor, 'reduction of') + highlightString(node, acceptor, 'reducedValues') + } + + public highlightValueNarrative (node: ValueNarrative, acceptor: SemanticTokenAcceptor) { + highlightTypeDeclaration(node, acceptor, 'ValueNarrative') + + highlightKeyword(node, acceptor, 'When the SOI executes') + highlightString(node, acceptor, 'feature') + + highlightKeyword(node, acceptor, 'stakeholders expect it to promote, protect or create') + highlightString(node, acceptor, 'promotedValues') + + highlightKeyword(node, acceptor, 'possibly degrading or prohibiting') + highlightString(node, acceptor, 'harmedValues') + + highlightKeyword(node, acceptor, 'with the following externally observable and/or internally auditable behavior:') + highlightString(node, acceptor, 'preAndPostConditions') + } + + public highlightValueWeighting (node: ValueWeigthing, acceptor: SemanticTokenAcceptor) { + highlightTypeDeclaration(node, acceptor, 'ValueWeighting') + + highlightKeyword(node, acceptor, 'In the context of the SOI,') + + highlightKeyword(node, acceptor, 'stakeholder') + highlightType(node, acceptor, 'stakeholder') + highlightKeyword(node, acceptor, 'values') + highlightString(node, acceptor, 'value1') + highlightKeyword(node, acceptor, 'more than') + highlightString(node, acceptor, 'value2') + + highlightKeyword(node, acceptor, 'expecting benefits such as') + highlightString(node, acceptor, 'benefits') + + highlightKeyword(node, acceptor, 'running the risk of harms such as') + highlightString(node, acceptor, 'harms') + } + + public highlightConsequence (node: Consequence, acceptor: SemanticTokenAcceptor) { + highlightKeyword(node, acceptor, node.type) + highlightString(node, acceptor, 'consequence') + } + + public highlightAction (node: Action, acceptor: SemanticTokenAcceptor) { + highlightKeyword(node, acceptor, 'action') + highlightString(node, acceptor, 'action') + + const typeKeywords = ['ACT', 'MONITOR'] + if (typeKeywords.includes(node.type)) { + highlightKeyword(node, acceptor, node.type) + } else { + highlightString(node, acceptor, 'type') + } + } + + private highlightValueAttributes (node: ValueCluster | Value, acceptor: SemanticTokenAcceptor) { + if (node.demonstrators.length > 0) { + highlightMemberAttribute(node, acceptor, ['demonstrator'], 'demonstrators', SemanticTokenTypes.string, true) + } + + if (node.relatedValues.length > 0) { + highlightMemberAttribute(node, acceptor, ['relatedValue'], 'relatedValues', SemanticTokenTypes.string, true) + } + + if (node.opposingValues.length > 0) { + highlightMemberAttribute(node, acceptor, ['opposingValue'], 'opposingValues', SemanticTokenTypes.string, true) + } + } +} From ea2919df8bf5946130856319b34ebe533220beda Mon Sep 17 00:00:00 2001 From: Lukas Streckeisen Date: Thu, 10 Apr 2025 16:29:49 +0200 Subject: [PATCH 04/20] remove comments from grammar until grammar ambiguity is resolved --- src/language/context-mapper-dsl.langium | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/src/language/context-mapper-dsl.langium b/src/language/context-mapper-dsl.langium index 72bfbdd..b7cedfb 100644 --- a/src/language/context-mapper-dsl.langium +++ b/src/language/context-mapper-dsl.langium @@ -1,17 +1,18 @@ grammar ContextMapperDsl -hidden terminal WS: /\s+/; terminal ID: /[_a-zA-Z][\w_]*/; terminal STRING: /"(\\.|[^"\\])*"|'(\\.|[^'\\])*'/; - terminal ML_COMMENT: /\/\*[\s\S]*?\*\//; terminal SL_COMMENT: /\/\/[^\n\r]*/; terminal OPEN: '{'; terminal CLOSE: '}'; +hidden terminal WS: /\s+/; +hidden terminal HIDDEN_ML_COMMENT: ML_COMMENT; +hidden terminal HIDDEN_SL_COMMENT: SL_COMMENT; + entry ContextMappingModel: - (topComment=SL_COMMENT | topComment=ML_COMMENT)? (map=ContextMap)? (boundedContexts+=BoundedContext)* (domains+=Domain)* @@ -32,7 +33,6 @@ ContextMap: ; BoundedContext: - (comment=ML_COMMENT | comment=SL_COMMENT)? 'BoundedContext' name=ID ( ('implements' (implementedDomainParts+=[DomainPart]) ("," implementedDomainParts+=[DomainPart])*)? ('realizes' (realizedBoundedContexts+=[BoundedContext]) ("," realizedBoundedContexts+=[BoundedContext])*)? @@ -85,7 +85,6 @@ SymmetricRelationship: ; Partnership: - (comment=ML_COMMENT | comment=SL_COMMENT)? ( (participant1=[BoundedContext] '[''P'']' '<->' '[''P'']' participant2=[BoundedContext]) | ('[''P'']' participant1=[BoundedContext] '<->' '[''P'']' participant2=[BoundedContext]) | @@ -100,7 +99,6 @@ Partnership: ; SharedKernel: - (comment=ML_COMMENT | comment=SL_COMMENT)? ( (participant1=[BoundedContext] '[''SK'']' '<->' '[''SK'']' participant2=[BoundedContext]) | ('[''SK'']' participant1=[BoundedContext] '<->' '[''SK'']' participant2=[BoundedContext]) | @@ -118,7 +116,6 @@ SharedKernel: UpstreamDownstreamRelationship: CustomerSupplierRelationship | ( - (comment=ML_COMMENT | comment=SL_COMMENT)? ( (upstream=[BoundedContext] (('[''U'']') | ('['('U'',')?(upstreamRoles+=UpstreamRole) ("," upstreamRoles+=UpstreamRole)*)']')? '->' (('[''D'']') | ('['('D'',')?(downstreamRoles+=DownstreamRole) ("," downstreamRoles+=DownstreamRole)*)']')? downstream=[BoundedContext]) | (downstream=[BoundedContext] (('[''D'']') | ('['('D'',')?(downstreamRoles+=DownstreamRole) ("," downstreamRoles+=DownstreamRole)*)']')? '<-' (('[''U'']') | ('['('U'',')?(upstreamRoles+=UpstreamRole) ("," upstreamRoles+=UpstreamRole)*)']')? upstream=[BoundedContext]) | @@ -128,7 +125,7 @@ UpstreamDownstreamRelationship: (':' name=ID)? (OPEN ( ('implementationTechnology' ('=')? implementationTechnology=STRING)? - (('exposedAggregates' ('=')? upstreamExposedAggregates+=[Aggregate]) ("," upstreamExposedAggregates+=[Aggregate])* (exposedAggregatesComment=SL_COMMENT)?)? + (('exposedAggregates' ('=')? upstreamExposedAggregates+=[Aggregate]) ("," upstreamExposedAggregates+=[Aggregate])* )? ('downstreamRights' ('=')? downstreamGovernanceRights=DownstreamGovernanceRights)? ) CLOSE)? @@ -137,7 +134,6 @@ UpstreamDownstreamRelationship: CustomerSupplierRelationship: ( - (comment=ML_COMMENT | comment=SL_COMMENT)? ( (upstream=[BoundedContext] '['('U'',')?'S'(','(upstreamRoles+=UpstreamRole) ("," upstreamRoles+=UpstreamRole)*)?']' '->' '['('D'',')?'C'(','(downstreamRoles+=DownstreamRole) ("," downstreamRoles+=DownstreamRole)*)?']' downstream=[BoundedContext]) | (downstream=[BoundedContext] '['('D'',')?'C'(','(downstreamRoles+=DownstreamRole) ("," downstreamRoles+=DownstreamRole)*)?']' '<-' '['('U'',')?'S'(','(upstreamRoles+=UpstreamRole) ("," upstreamRoles+=UpstreamRole)*)?']' upstream=[BoundedContext]) | @@ -147,7 +143,7 @@ CustomerSupplierRelationship: (':' name=ID)? (OPEN ( ('implementationTechnology' ('=')? implementationTechnology=STRING)? - (('exposedAggregates' ('=')? upstreamExposedAggregates+=[Aggregate]) ("," upstreamExposedAggregates+=[Aggregate])* (exposedAggregatesComment=SL_COMMENT)?)? + (('exposedAggregates' ('=')? upstreamExposedAggregates+=[Aggregate]) ("," upstreamExposedAggregates+=[Aggregate])* )? ('downstreamRights' ('=')? downstreamGovernanceRights=DownstreamGovernanceRights)? ) CLOSE)? @@ -155,7 +151,6 @@ CustomerSupplierRelationship: ; Aggregate: - (comment=ML_COMMENT)? (doc=STRING)? "Aggregate" name=ID (OPEN ( @@ -209,7 +204,7 @@ NormalFeature: ; StoryFeature: - 'I want to' verb=(UserActivityDefaultVerb | STRING) (entityArticle='a' | entityArticle='an' | entityArticle='the')? entity=STRING ((entityAttributesPreposition='with its' | entityAttributesPreposition='with their') entityAttributes+=STRING ("," entityAttributes+=STRING)*)? ((containerEntityPreposition='in' | containerEntityPreposition='for' | containerEntityPreposition='to')(containerEntityArticle='a' | containerEntityArticle='an')? containerEntity=STRING)? + 'I want to' normalFeature=NormalFeature ; StoryValuation: From 72137180915266ce12bdfe1423f8cf8621c4721f Mon Sep 17 00:00:00 2001 From: Lukas Streckeisen Date: Thu, 10 Apr 2025 16:30:34 +0200 Subject: [PATCH 05/20] wait for documents to clear in afterEach cleanup --- test/linking/linking.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/linking/linking.test.ts b/test/linking/linking.test.ts index 85bb9b6..66ec708 100644 --- a/test/linking/linking.test.ts +++ b/test/linking/linking.test.ts @@ -18,7 +18,7 @@ beforeAll(async () => { }) afterEach(async () => { - document && clearDocuments(services.shared, [document]) + document && await clearDocuments(services.shared, [document]) }) describe('Linking tests', () => { From aadbf25bd74e8020e801e720899ffa395825c1f1 Mon Sep 17 00:00:00 2001 From: Lukas Streckeisen Date: Thu, 10 Apr 2025 16:31:00 +0200 Subject: [PATCH 06/20] add first test for BoundedContext semantic token test --- .../BoundedContextSemanticTokens.test.ts | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 test/semnantictokens/BoundedContextSemanticTokens.test.ts diff --git a/test/semnantictokens/BoundedContextSemanticTokens.test.ts b/test/semnantictokens/BoundedContextSemanticTokens.test.ts new file mode 100644 index 0000000..37328f1 --- /dev/null +++ b/test/semnantictokens/BoundedContextSemanticTokens.test.ts @@ -0,0 +1,59 @@ +import { afterEach, beforeAll, describe, expect, test } from 'vitest' +import { createContextMapperDslServices } from '../../src/language/context-mapper-dsl-module.js' +import { EmptyFileSystem, type LangiumDocument } from 'langium' +import { SemanticTokenProvider } from 'langium/lsp' +import { clearDocuments, parseHelper } from 'langium/test' +import { ContextMappingModel } from '../../src/language/generated/ast.js' +import { SemanticTokensParams } from 'vscode-languageserver' + +/** + * A Semantic Token data array consists of a sequence of integers. + * One token corresponds to a sequence of 5 integers, representing: startLine, startChar, length, type, modifier + */ + +const TOKEN_DATA_LENGTH = 5 + +let services: ReturnType +let parse: ReturnType> +let document: LangiumDocument | undefined +let semanticTokenProvider: SemanticTokenProvider + +beforeAll(async () => { + services = createContextMapperDslServices(EmptyFileSystem) + parse = parseHelper(services.ContextMapperDsl) + semanticTokenProvider = services.ContextMapperDsl.lsp.SemanticTokenProvider!! +}) + +afterEach(async () => { + document && await clearDocuments(services.shared, [document]) +}) + +describe('BoundedContext semantic token test', () => { + test('Test bounded context without body', async () => { + document = await parse('BoundedContext FirstContext') + const params: SemanticTokensParams = { + textDocument: { + uri: document.uri.path + } + } + const result = await semanticTokenProvider.semanticHighlight(document, params) + const expectedNumberOfTokens = 2 + expect(result).not.toBeNull() + expect(expectedNumberOfTokens * TOKEN_DATA_LENGTH).toEqual(result.data.length) + + const firstToken = result.data.slice(0, 5) + const secondToken = result.data.slice(5, 10) + + expect(firstToken[0]).toEqual(0) // startLine + expect(firstToken[1]).toEqual(0) // startChar + expect(firstToken[2]).toEqual(14) // tokenLength + expect(firstToken[3]).toEqual(semanticTokenProvider.tokenTypes.keyword) // tokenType + expect(firstToken[4]).toEqual(0) // tokenModifier + + expect(secondToken[0]).toEqual(0) // startLine + expect(secondToken[1]).toEqual(15) // startChar + expect(secondToken[2]).toEqual(12) // tokenLength + expect(secondToken[3]).toEqual(semanticTokenProvider.tokenTypes.type) // tokenType + expect(secondToken[4]).toEqual(semanticTokenProvider.tokenModifiers.declaration) // tokenModifier + }) +}) From f6529711168b9525c7d476005e6948afd418bb39 Mon Sep 17 00:00:00 2001 From: Lukas Streckeisen Date: Thu, 10 Apr 2025 16:31:10 +0200 Subject: [PATCH 07/20] update yarn --- .yarn/install-state.gz | Bin 419284 -> 443435 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/.yarn/install-state.gz b/.yarn/install-state.gz index 81b6af33fa1603f4d978cec9362dc34b2c3cec67..64f688cd9d58a1f2278089972c6af53e383dcce4 100644 GIT binary patch literal 443435 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�kS{9pB090BO#iyRR!3U9Z1h#%TG3nnn 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 z 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 literal 419284 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%0D_B-z{n^Fl(nH8j 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[sH=3_0#0;&etsU?skuf9)aiMZN43*tnikW+ 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 `|H(3a|XpYklQsgoLZ+6WX-*N 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 XnrnlQfFiqZ8DpgBaStk1J+U=MWKS#6bok5~( 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 z z*VuO-?vLNx9eEzTh|g3rzJ0*vALaoY0YFB|@akfEt&OgxESSl7lbNaZMq-k1R??h@ zNq{RrO@MZBi47lSX(=71iztC|HKANZ{k#Lig|WNPTBxyl7byi3#%`go!!?@rg}lTW zbQLdS^Q1wejov#n=)<;T!?08gSl?0(o?1xw;4VlF?N2?lweVNEv_p${_OqJrk&VX@ zWl%Pj9N;&m&Rl)w?P24ue7;`SXJ35y>8t(aCwIk+N3Y%c*>m`Eo$DqrJy5w>BXpC2 z(5O1a##W^>T$eYcSZVtxX0qF|zC_eu8a+Wxmj}M;*=DXtl5wE%VM3metT+Iwnu{E% z#=)g{{#QQz+b?j;4pkla^m`jf?MBMtwgXe}qqa3XBj#=uh!-iBaRa3_h?>Ia3?x_uYwoI1>Zk!-+@5m~K#iAw$cVZ{*$$7l(aX&j8}}p64YwhgA%wC{KRKN{h$@p&S3Io`T3|j+3XnV{+8XDywfh31)V6OhkM2yK-e4@R1^PAs8SzJ#lNZFc(ASMWD~vGR}Kd|vCWb@S+Td*-{>zty^V z`{(cBqU&pd27{hGk+;@)qEdsCodV9ePCMP&h=aPXin7_R>It6#Q(#CQ8RsxU|DH75 z&(?kU*TN7*6>!+l6iT+%iUF{8&k5kuDyams2ewx0g| z{~zDIpZwlG@%bPB>=$qTvCr4*H?>~>?9D$;uYU3)w5PxLTR-{BuRh0GuTTETpZw;R zpMCzxmp}Vi?Z5S>f7eg{(og@=pK~B(p;7{qlJZUnzjHRX5#4cmp)t9dV1eK>feqrA zI`6Z@6~v!u&4xE{VuZ3V-L$Xr#ffC}8i=Th^Cck|B`j>Z;C=Xt_yWT&4#Qe=y=8wPn2fzOJwmR~m z;f7A+y!fTsLB9wnyM1PkjX7At{25OiAp63*GX~i7tuHzYCz9WBIpWP2l28~5rwm-x)1 zgwlmC#;zb2uQVwc4I>{@_o3MoV1w$AQ*P8VcdxlmdY^tKVEGXYOW@Og_yX@tnnX4o z^L%qal0E#Yr;;>F>>Bf#n-+_Ddy4}4q^`<(dKg{Y>&h!Og zkehj2P9Z#$IO2>}T}{_AnH%4hb$Z)%WNISCP78A%EY~MTGt%01tOV$A`%yLCkh!$F zh+cNJU-}AM05~&JYu;Jn9^CP{ecu1_Retg6!)w&$p6T@1mAl(Z<8F~x{VG4Sjep-cLzE5r!P6CUVoF-nlJ#$t`pB%)xa1S5O(dE9c4+wsBEz%Uxq z#vU6wsF4gQ@K`{K?Aph{mAOmrJ-FF&v*Ui_7jNRTyGqo9m+YBJ)VH@9|1h^&_|@$g z(fo|YLAguqDnhhXD1xi5l7LclL_&UJv!(Zl4a=`q3Rr8y7v@Z@s2WU$ z1e}5Nz2clReah5R;9(;ed3$PyOM7n+axb=w2AIGexx}9SqYtiga__*XV~*UbZ#xqJRz`|~ zyAJ5*suJixd5)lWALn<&CdddYt&%FQ7twR z3Iao+cC%#|<&R-qkQt=jh>14nCuf$;Iczpq{D9Kl&>OB|1*lj_hqjbFsBWiv3DbP~ zPd~T@wddFqdQ~q5kum*P_*xpe1}PX+jznVlR$nxU!{Lg}gC6@HW)y&y8*lXE!70`B zWwvQU2O|<$gIa}Ps60=FX~p7J?p>e$GyD|Vy-s9eE_lbru=)x)lmZ0LffQm#c0EH+ zIP6WHl^~8obiG*ul2FnMy!L5b{(J2rVR-q zD%3dk?n~SCcI>j7D9bWevQ{T_0PA`?(E8{;+wEmK*C(I6`S^>vd;LFp-QLfD;R{@* zcUy7_c-0LS4KTh6THI-EuH5qg`rAq!amejGsJESPE^2cd!$Bc|^9TEEN*{Yv&8@_*ZVf$C{sUKYx>tF4PMe+Zi_hQ%}1|meS+Hk-JW~! z$~`;dK{qoVKg1n3XNV77RI81HiQ!p-sRl+avm1>Ts$_s(lJy1{jZb5s`(%vhXVvar z*%FiJb&w-lGH?ds(c5q~$R+hM*o}&k(>BD;e%iWyvp)Jfd9&mG^2eY3yk39&#r-4h z!OM2H-P%X=QUAtvd;8}f+;$UK7<`~uFwfPM{P@j> zE8e{N@{d>tKp&y!*J=e0uSN$%WtS#;tj(@UKq~Dsbx*AhL|FtZ zag*oHyy`|V&G9zSu1~4$@)=#^6{4+-^Jt}ymWW(0{e(QYTtMly#4d{ zfWX+byTB8)t7x35lVgoIDJ?xwSKM&7u$`7D_6oXtbzBm z;Gsa;=I9Gl+}&G;st`$^3I6tKNc=R$c+lk}azFjxJliExm7^bJ(Cs13Xmy_ct1Bxj zjGt|;H4f%Iai>SQ3W=fJ!uL5Lwt5WFE~xZ#v?LpDL(dS^l-XGZ%)iyw-k3*M3$1y! zpg*wHeD>4v+@OBO7^4l1E?Q?j{nuA-FYpG;?qFDf)l%ocfTqYq+|QS-O6oEsX6QIi|IPJ@_=H970<_v6$vjo4+ETgCY?gjc;_$`3j3(=UD z>-t*yUYEtNMGg!^UKI!nWw zQDf$_w2Q+pSbBRr|AD@+Z?ORnUbJTq=k4Zj{%b#wU%*Auhrn^I7(E{`M#npfjsY^& zF4*$IC|r`OL>h*7&crugs2!^#zLP6})4O^#g~99QJ5fw+*b}2LkPm(A;33=S=pm}9 zZQeykAN_E<8=m^&HBc3wy}3I9JbK}tnP}mgQRMFj&tlh*?jAmYg$InN{0ucB?z-4; zp9dSx{_s7Pmc)hI})W6UcJSjmIU;7hHsU0W~}FT`xCpV>C^IdWNx zp8oq6D1l6<4sBvVM>9@8MJxCm&Qd?Q5Rv?`KM~Ove!Lue7)~r^O zQ?sU5D(Y?xPI}VF$tSkC;B;oK&%I~b2-*bdOXofZyvJ;~zVtO$tpY&;#(TLP;ri{m zs?1-!UU^pqdGyLX6M$**k$)=ybNz!~f9H?Jl^A@S(^08pONPS8-qLjZ5RFf@EAJoA@k%vLk>mEyvC=K;1;^#FrMyC$Zk#*kPgKe@WCgaDB_yVce)kvHBYQ4fbc=-?o$8>_LRYb(S#!#U(r_y4@AWF6xd0U>M zkL)T>DNQ|)j(CqIDA@&h)uFy^(-DC{43@bSy@GdVY3dai9jQ)h6Jw)p=~^z8%O|6i zhLMsnxQUljB&&9w1vM0;d#%-2`wZ&0AL)aCoZAD)+m93p{%1Z@KoTXJtaEIRWoB>) zLe*?*uN|HZKpr~I9j}U+JMB`oor5v-vDIzSsmY1q@y;FC6i1*utettO_Y1d{PY7XQKA7Ln901}E21rM>)CI^3J!T~%NF5t7- z?5la7Z9vj+?b42{KESzPysVmCc2J8tZFmy2oQTA0=6w2}-zI)5y>{U1d0I75v0ZJo z!j~}{Xd^+ppWuv^Yb?;fq;sAHhhf$kNv$iq@oP18=Z2y}7LXu=2kUe&E0-RO$!n)E z40BNcRGz2*<%7$eC>IJ6o}JlyHH=PgUfZ&+_h5li7E;q8pjg?X=E@=->9b7-l5db& zkG&m695}pV^>x(=6!Q=nv@30N^CRezZJM3zoMH0xzg{nqg+lmR(1{E5Kjs*yZWE^n z8>{j1c67CtGbLeqjy|Yu$7-+8rqg+)IR2ZhS*hP^la||D zrG4Jc4n6wEx%rm;e!cl{*ZKIf`tbADuRgEWUp!Y3rVT9&u7M{~JvK#!g=!l*Ld8hH zVnp82P@TsokXwS`0CNM-ivpE?IZm0r#S9vw0X9?CLHY;fpM|=IpS>rMqJF6j*a^P> zw(<3CTiXG`sVxh>FI|iAfJ!UH!vIeDxyeFy;A*t3p}|@hyL0TXEQ~x)*qt0?3JqwN zHtk)&>;OPA6Ss9Sj8ARIdAb05suDDBuW*n4ac*CV_2$ER{rc7GH_v>eJK&#Q)Y?~1 z(CqHfGM7Q6;)0WD!k2(E>zQsc*cdZM8wH@{lNz<&%u^t-fW;hbAVe#oHIp`n1;o%1 z5p)8N5F3m)WpIC2&t^!^EG1-Dm%yZIVV(5Qaq(S2fEwx^vo|=e1TL6yzRg}`p3D2qSu=bU&SvfzxZ%{ z@#@p(KG@vN5y5N2_Tm|ty+LTNO3o8>mORdy(xujk1Qv7A?B2S{VP3GVFj8}HmRz%@ zxk50Jz`#MZtFY)}8& z6^S6Z{OK}=sF2T9)FRN@E`k69Brd@LZ!?h$qEO2ya!I0o&Vld1Y;6n}3CSVvrY%Pv zAiY_3Lw#Ij^BK4XE>H~Z0F=w=PyhQx!@<4Am4{Baj1uW=N<({N9*>agM6F>~y=}^& zfDiQ5eJ`ae>D@O~Pg*eqN%StfL1Sn-uP-&#-i|~i<0R9T5(S%PU>EeK|Klnl_s*mX zps#gssRlNG!leV+b1FQWNJj~1z?ySh?vz$m8$CVC8M+NC#$81xj5!<=O$pjSgN2F= zRnk+TI7Xn)pk~<|Ea<2I^Mea3q2Ae)Yr+zcW(+2b$n2GL=HgV8!8UhJ*~h0rkT*$o zx^N=C8he@*8}Dv$Fym!w!GGGK>pEJt&%V4D3D2IX4k|>E=NM1_*A-GJACg^Ymrt0f z?ci!axR0%c;eHt`qanRz*?6h%zCnG}Qx|d7yb3L80MyW~-gu9PBUljX9m zpar+2DGCHj8%uxszpt~(>DzHd)CT<}TH%apz{Qwcadwx5`v_)4sD;GFTfs5kVS%~{ zI_hg3K&@yP0eTGepi2pgXKcHb;uwWn_m*)(9<-p6w7taUZ)iZl{8+_YwfRIuAouL3RQ8xR14VHw4kXdhW6t!7iDd zm&ckpX!W%fK^Acq>Db*(rOh;QuD0P7DC@1rP!lXuGP$No4spXT5A`Fiv9$@jxQ`%s@fGVMLK)ocjC)7e17B;idI z)iT;Zd_6W}SZZ}?nQ=Iq!ex^g*9#u^U56L4!3*9Rx@pS^gMqW5a4y0f@8=Lwa)5j` zI&}yD+`n1d+d2Y@V3_ft0}W^p%jg?N_H0o*j&|F8jaZn2u%;@P#-3*z>Bs5Xf&(bq z(h=dAE0KG)1ec-BVriWbLBW5PsLt;AH-wHCKm9+~vnvM{9h1GF#I1zU%{GLMsZ&Y(2iAK zMuEQ{n15H?l~15{R#4QnwsAKDREiT1e7IHKikb)&23Q=rp`>=ZwfL)thi;t;<=MHi zp`NR4YP)$PH&^8jmckwf_xm}ZnP@YCbH=SFb~->ZOK49RQ2gvcLZox~L`7}sB81=L-yt(2Vy$PjXE^CQU(W47 z_80N)>)(F$!t*=};ePCk7XHB^&I8EdNL3zwNj0^vF4{3|#o$7ayDD};c@DZFKGzx; z0Jt!GI^xCBH-YNZq?&1GzRt|6&^pq<6z~#I-fRZ)`=#P2JKMn)CCLCEk8qhQFnBre zUgAwgW;SqD8;x;}>qI@8G-Q4$^#H{oM107^VZ1Hstm#RN@vN6y;LUaAy? z|3_?5xNZ=7mty+6`V38KaFcmE{Pb^L(*S&-8!@}1_yBkZSZTe@d!v{?2!FxKInaiy(m7bUX0Bb*AcU&~$g zFqAog+ELbUa!jly&Rt#I=hMG^m536o{VJo*#m?-wQ@WtS<4f!n;N5+IaUqvS55$du zD6_TJCdtsz1puvmqP*=k@ioldBT%mv)Y-_>K|g1cfVDFai#N}f`SkDLDh>@w% z?%nqQ>!J-}p9}M`r+@cnS5|a~U(2TDapviOL7S5uqwI&#T%f~qO(Z*anQ`?Rc?#;o zUJ{N5<;0q?#AvO35YF4r7{al!XqA&9@m%HtW&jG7!CXRA_4Myuj_F^NQm38~ zydX+noP*@qE_Cn9x$O!4@^VLg_5Pc;U%h*~UOc&WV2O40#T`vP9!RX6W*4E!TS$W- z?I6O$9a*MLn=HDtco1UOCB`sM@Z#0tn#a-bPI9J%4eXEq!{i;k&LWH>t|N~R5r>z+ zJfMtegL`0IDAC*IH4Nx98ojN(IzbSrsuL!1Uz_+67))D& z3P$EeR5cLo>U*8JO)Ixd@XfH%%tMH!SOlaC6!;y@Rs^@xK#R1~RZsLP^sO1Ucw4q0rki)6eS1An_f7cGeEteoZ~Y=nw?& zvCh+faP4TIeMjKm&RysF-q2N|rDGJrP-Fp{eFn#xJkadn3%R!TK4|~(UDc@V0f;YoMlL{?2=Fa;kB2RE1g5kUSNGRoO z9kj|YN!vICq#!9l^%!LCb1kbqgP#854`&RQv(co*Y8YFNxC--ToJofUjSVs6=(Sg` ziRRfg!CVKicN}tfi+9LDWueXr6TlTqcsEd}D^pQW_m)L_wS^}P%}4Jx_31yk2DHA8 z9<2BssU8!lQIgvyKx0W`pHVQhsv(?t1rs{m`^xx(Pr%VjRe}o@=a>&B> z)JafMSwlkizWgOfZPC>@$EL+}(4U^Y?JMrk;QoObp>I_R08qJja_4PPdDNWv?70G?z^Bx(9e z@We33aK>nW8b)b*Bg!++fZo^oVb&R;ij92d$U$v%W&`J@ZJzDvzqo1=JxF(n1%$GC zBH(BtD+5au>K-tavorOk+D?TxCp4JPDIm~~DvA#nY^rsa9kGsAVKh9YcPGu+k+>?> zFl=|G%}BB_w6FTpe|deW-rAU*5%EWT?wyQQ5Fb;NBRpMbax1`!2~p^BO2r&_lb!@h zAA*7pR8;d63N$H_e$Ii$m|@wk+EgQ9mBn=z4UCEsb7FcsL{^_5)CK>%f->Qy*g7wC4<`BO!JswL5i6xBxZ@jvXLo)bWGk5y5#gK z+Pj7r`O|-Woq*4ZHX8CEATEG7W`XXrHwZES8*ra+U)qu)kmg&|T4QPh7$3uLWOc7q z(4TB2U0MbW>}be&OLaXSbB!{_F>($ms|k{DA0wasn`_lVy$i62SBCFk$<|LIh6RlS z+q&_t4d5J60J34>OQ2rbU+pqzENfoFTBiSLw^&oz_OVt`!s~oW9X$I*1`CH`Z|uc zqyU;&YKW#GmtoXchC=mp6p^%-#l~?Sfsxa$2-B7oTssMeeLu1)pZ@!w z{k&eCP`e!-L*{B>3o)<4PpVd3r%JVFg)R;d{8)rXwm7 zEI{}bB!J5B$X*m{Z|J3(7oUpGb7}NjmCC(cN4L3c5Tk$f#hc&0-Omv>_r7&6WHR&j z{0|>~eg#K<&a4T-c;eW+At}yDW*t7Hz_fFBC<%tNWhXF?&e>CCE--+`h+c!dXOU-X zrRqq5O*!k(LUFp}>=mrU;5{@`9D+Nehn}VPI z$4|iu_R}$MyrAY95?HEXN4n@fGtU*-b((sl_C7FNXf$mp%^DdO#v4@L-C!KggM$)4 z&E1(X=(a&PRF6@ov_UQu0O^VQh~smdoq&AHSzO;Q+3bUw>*s&+`f$YPM-kWuhnu@n ztKJ;+p<{dNhrvwtqP^$d_w5CP@AvIJ^Ofv9jI1Fjr7(q2NY5Mm0aBP7 z=D}AOWo9c-gd?dPnu9i_4^)^5#Mwmm_IQVisIi@M+Ac|3gGK}|I;U7@co}3>*-@X{fi_gn{zO0R{vye777SW!8IJkjX z1LfIQ?nzrnjg;MeZb|b4QYt1gsIJ7;xL)8`!SLf8FVll#0qwbNg(UYj=iR;{csbsD zbG|r#=UH&lop0Q;1yyerRQ)t*vq;u$)Q&QZ17RmIzyJg}#K{a|O!0J-ZL3-x_}KGLWP#Wmfz^DKmCv}i8OsWnd)w!?LTx(v|>@&Obtv}}8^WxjS{M&bL zV3CP@p6q(>JNJSmTt2t&S;F!2C-=s6tO4Z{lV+qpqq;(KNskN!RjeF_9tv=P%%h!! z9B;^=k-3JhJNFu10JU}j$EclZls)z(LaJz+I;J(3X4EIFt2vRv(tFHX>gT=3V>fTy zpMEjC0JUo}%@(vUh zHP8fAkeFgKt9O_f#XXz2?=1=8IlwWnS=eN>J8O;5gX0Ajla0;9##}=?;}eI$V?47c z-P`bbo1h-QiMQ7>_vZbd|LW{F@y$2!=g-iy_r8fQVleCmgYlPM^DZL=TKV`t-3}Zx z5FJ&s9|VjKO!)hr=*kzGKh?p@Uwby5opUFHF>VHWDTqtglkPzq9tngH;-2x`b&~8N zR&s1=m`3u+Gx9wBFCT$QKzQ5OY`5tfG!hyO?N{{>p9)ZP~B->Q_~fBh^L z@Xq(`#hspRcKX*S*726kR&zN|?`Q6@Xyt}nGA(vnAA**;j6!s3TqV@SlUxVBb2e*! zY%d_mW)r~2<`^gz+k|-s=9$gF6Tl;~R}4FAofZXh+lBw_yEpHC5#Ri7$$yi-u6mw~dGDL};=zpl6}h*F^|pX{`|i6($Y&J!JKwyQ3YgD% ze7}IfAH2dS@!m7^|Lr5}rbjz~$5y@ZO2-(2jjJ@VU2k`gVPM`|izePyFp~ zPCYA~?tJ53OvB`xG|bn?b-(wP_1Hl_`5kmMJIUacr&J?k#BnS0O$2K3JU9{4T;AX? z>m3q@5i&dESqreYjc#gF96^ztLK+7=0S&MqAnz)eH}8eWaJh*Le}!uFBQyZDFy*H)tJEl6@f$TDKw8{Y`5JWj)W{H6H0{>|W73RVdo`RvMPn)nkP|fTSKA6#?3oD{5Dtb z&Jv$zOvYb+{ZIbDZ0+86?%5mXpUd~eUmt${w@ z?k&Z*edDfS?z{JY{^j%R(0kvx7pA%Ly~EOnpFg=b4vkYjZU^p$HH+0SK_w(0?iq-U z>p;hEpTz+Ohmg&d$m`Z)F&GkX-$P;YRYrtd?NqjH8DlAg)(DGZ4C>ohh%2j_GU3$k zw{P6N38%Llitl!~-sGRZKX1M~Uw!ey7JKL0_~X#NKY_#X}o_z#}FNS3VBgqas zVvjK!wH*hRA(^{nv{V%@!I^)atzj*unaB}Ax_oK~1YM)*h*~1Ae<+{;r+jDYL z-A5xpc&3@qc>;(7oYDbl5Q3UCLZT_Gwi6@85DlzE$N#O2mV(Omv1fqQHYz z%8|MaOuhHz+`J)w_I;%5+w+ohn~J=xkF3%63cDb^^J2KzbOEnu^#ePo#O`Gy!;TK9 zskx18B_k#@GhU~lr9t%$qDx=Tc&;Br$gjRL3=SCE0lz{0zRhj-1}#tYLy3TNPL?%h z9|OWOP$*rL4wOvHx?o^UTiW|7@zM2UAKq**^@DEu+*;BW+{=B;a2ZRH0(QWFe>O3{ zubce#1o1BFy!q9y-~HlE{OVUmPYvm#>25sH7l)-@XdWId0c*4g z3UF@KCP;Lar~mzDufLpmTi`Aq^r6lQgpSHrClQm+XbU2SF7TI-X@v-8;SDHurtU`*`!4x97J% zApN=b?Rzvs9?g*d-_4MFZwik+>ectCd&3-W9_hU==a%B|_T8J`ujntL#1;t623w2I zR_&yRfr#6e9Sht2?3KAnN3T#gS3rMZZ;h%AfThyccF<`LB;YBX$5_3nk?-i4Gbszr{+ZEQ-}q1P zyiUIeNJw-b0K-PN>a(n)E#NNVBCVZmZL~gJk_e2iHmD_!-fnSo_s$Bsc}f1}clP`r zo`T%_9zHhy$HxEI_#YepW8;5p{C{zAK969DF*JgTrm&xu$}1zWBb7|-IFd4K<6XpJ zI=c?*2$?~ZT3gxdfNYAyA&s5qgn|@G_=a=!9NwDQRH)gB+$p#wa;0t?+joxV`~TSZ zzpi?Bo|%mAeGgyU`1xkze@K<@yYUMm*JxDfgl(hS7AkP(9YN9K;8-wZWo*Q-l+eJU z1^6tTZfJKqsTTQ^v(0@$k=0_%3a_r<#WYcb)hy;IhjX4WY0kAvPrNV-k;lgW*!Vw6 ze8d0ov)A9Kx={jKlA0qe_o@TLcXRUTYoPEdbl06GB$<&Arf+XKOfd$X^TZhqwN(qq z(D$NRDmr1?oi>IeYX{`{H4nvr>-fx3D{HTFYsS8JX5R}LjPJjG^Q&*({_^enx4(G? zU%B_)dtr-eH$%4eDnqt=195&re4ghETGde9-5t8#*~W-$T^cpX(#B`F_@G6u4V@Tf zK|I)=je?92B${)PTnKs5D=YR&6ZEFQW&sJZYvC6hy>GwvY{1{?#Gvb+5eb28LlXU*3&AzMr25nU^%0g;3n2S> zNtdOj)DUx!3|51l8pjY8xDfV)%mCzy!RRWXJQ8BPJqf;<()veqA&NuNzuOi)e6<-B- z@hAWuoxeu`@TnI7cMnnizdyoGCF-&0%sg^3_9=%_{7M4{^$$^*S41F0imvRo=h+S3 z^*R>LM2c_Ovk!Ri5NVE;VF(nW1I?i!I!?4ea|wyyHIXZG`0~lz?o{_qExdV8|N7gn z-k)#2iZ9>1`||5&9jbfZyB}?Xy7%hwSj=91F}ruZ>Lc#;b>m)}yW*_Iwi{ucRK>L% znTg+XB3t_SUVC?6V2ip=Twn7x4J~x}knH8?*OT>etcfr(ei+i^VLenP+<_C&51ES~ zc^6qEqw&-K^AR?uiMBt4nhM3AIthi9wr)Px9-B5%YKPHf(HMPR(7jp6+ezrAk1cMy zy0eYk@HW=6rU9ru8+t*wL(R_cK9YEXP$Y^LAN#pAl78wYvRgFpo$ubW?ddX+eP?_6 z@bfFwPeW_#gsdfkHZ!tkebZ@us8sL5CgvTfNPJe#maT&nIF^a`*3Y&;U!a@Y)TIj> z@`g8^n~=f9!#Nz^L2bGcG5e&BIPKQ!R%UbW%emd2KGaWdUo4-rGI@ZrMPZ8&j{{8V zCFVtoV6~OAw9FgY+S2*}FtK-oQwdJE!;t%%xQ8GLwD+pXEn2G6)$_zo-`+cTNo9FcU43qM zV{UQw@m%P4TbqoajO?DO-d9tE0QwpSlDKUrj}QS zr$+3>c1V*?SK?+`x>gXdXORC@+B|8zNf-VLFbQMxkz3>Vy{CSEUwzH(hJWW<_mE2d z1a^l{RWWhz<@m8Xy#DU+32D)(F$Aw&LVf4cW=`_UAA_g*|6YuQIx%b1eF2Cre6@V4}}_UeSRJyo5%PjSR( zFxr08mJl**=JuU*ic@{BGq-8wmg!}7E)ft7LqCxXh8x};-Qvtn1Tc$q+G>_|+h@4< z<=m=ZzRe7}zWkSz-((O+tw9Hroju#Ien#*>d`#{%s>foA;WWTQCijd7WB#ZND>fy14%KxR|5K! z+R~;+>?x{_)GQzf1M4s1kPP@eM0O#-vgi`3jMdE1(f9HSQG_Smdii`EJ>^nebmr7e z00jFqpmRYC9Hl-=t($jfTd1P%Mu)|O#IZS+H_v3G2Cqz_G@1bLNuN@;x zRNPKs#wUI0n9~=9_M^%{dM<*NcjoPUh>zI@8EYwmF?fM1(^OEMM1cj2(GRyd8mhAD zjnoHG-3Cb9`*Ln8xVP`VWpKZAj>BD_gKVh?GogyCX{M)SU1`W*Zqqh!+OMqYw24!x zOWV=O8cMygfMB$543%o)<#3a2`{230R-%9YXH?d(bFB2lOe2CGf8Brr&UZE zx}q_qNXG{_hQ(~RiuaYB?aV?ND+V=+kP+m|58h_c24dCQ8sL4d*2{N7&wg^qiDW8h z#COUnD<1fd<}Dl5*s{g|!)x||#J5)SwAN#-oQIc)H|1yF{JZo1<&?U6-?tx)J9h7s zy4w}x&X;pLr`W&#YM*bueMg?JB3W$!BQfI=VFOKgG^Lvbd*JPr5FAHF8-P&^Lkq_m zABZpLkcJJagHx{T+Pp>yFBfk`aGnIWJh;zHQvZ`>%ib(t}-F{7P&Xa|df8&1wUv zV&tqBt+udax86=vF7$GP0H*HNiaAn~Ioi;+E^+MG3j@?{ox2j?$F;@=(-aZWgCWN? zi#2_hto)G*e6%@P6ZUZQr4YL_*Qkw)(1v85wpR9>%eyJ>w$BJxnZ0qSx@!s=?7KOw znX*Q$!^IvOO|PK{eMQ~_R;Ai)`(?tJVm$Vt+xKMZ*~ugDPfhjoI*xo3UXU%1zNMyR z2h32loeJ0v;l?=!R0KMzFtf!tbp=xFh;_UwX&_X%J84cdOhc@}?e9z*Kv**wZQfRH zf9oCkwO@RGE$B$r`~3YkZ-4pjeSGt**1z|SeDMe{Z;k--p*y>$?hKI=46o)Uya{!V zpd83LHn;88JfK3;p5sV1<&|7fuBdvCmtbHGpI9FTjj3|cab5vDWUlDnH4QJbi> zxA&q+4SrGtL9rlU3iDFDwb$>v2e(xLj;{M-m_W$b>NzR}!U9*W=v>@3Vi40K$KdrW9YbmCpn^%2EloZ|pBzgZM(yA> z^TJUbDl}f(1~I0-a|BYBrgIRF9`NgKU#T`66YENI{Bu6|L|d2D_iViS942kXMu6h& zd-^xdyEkZ2zyJC}+4?@dcs7x~^9_8qOUcbdS{~-z$BOo8k_aC9!jGaaoErsm_lCw7 zenIvVuwxF_Wh$xjjJBx^VYr*AW(?WUPoJE+Is=Gg$aBi6*?G|<8*Np!In+he0E=4N z!`WtqR_Z94Q>py6pLFlbxvfxt5%0dYpuf<1NNVjgnY(5WT`(n1oKKAhK_u6dN^yc5 zOAsD%sLut@Bh9S>1y!|CON)kv2HB{IQ1#UgKy1BrA~1ydK;tZ8cOA#p;nwNQ@k0WV zd%N2oX8Tt(+yDHpygDt6qR(EkCilJR(mMqAn8;P%sC!SkK@tK(e znIvmXZIFysKq#xYIgZ7b!BDj9CK+&~oq_3qJE#Bz>g`WOjB?8dyYp>(q0b;Uc7j)k z=l%o=`=4^3;ZxNV-aBjZrx|@YoZzGN03b@~;G``J96)jr**e!8M2gCw#_l%GSz=}o zyra#yWMj@?w9YneHk(y&A6tZ_PV(&iwA$7?k4Xp8kz?g!7xtFtCpUVW+#V;l$I0!F z^yDV$+U6P%Do7j4+8CfK(Hdf7b>qflwgJ=WVH4JQIfoCT6tYPR>Pe$dKFC>EK~54@ z09Ff@)ZRA35mVF-_P+^(*I>=8)BLu#V#!3JwXXT^A?2k5+i^HDz(K_Y`Fd>h*CUq7 zv8l38QyzjOaqU)gns)>tIwnWO*4BdbZnEZyngqN+=RLr@ME8wM#x?DheZ*f;HV&g_bam1dyL3k~B= z&V6PB6%wsUUS|#JBMqIXQD?Jt+2oA2XQ$nLSn-z3-KB}rT-~1j+0QPm)i@@UieE)` ztmP}_#=n2*Eu0T5-HV*mrF8|AQs-(u7cbswF+GiXc{j6h#D|%Oms*q6atxX_q64qI zz~0ob0PUk3YLVN6$DJ?d){=^Y#|O~#OYPkrg~0S(@EkO!6h$9%oMF*hX)}pH+oo~5KTR|q|&z{ zB&%7qvG@8MF^+b}9o^~2Ta4DOSlWsAO>4WA8_kC9W4X*WVzLb9&5#65LpRc>XPZ9e zZYznipNaRXC*)OASP4~eD|LJNyPv)OR=Fdo&3;CQG1->1vsd>$ZFJk!nl(j)LvWub z;317Vt)&8r=Oueg-s4n*Zfw;uBuFiifLJ{seYnzq5$|`E^`o z&-I*B6?@p^suR*JZ6*RJMsJp*gI;g6Wy@U0qM#wK1hBP-8u01E@sTEr;!KHwmQ1&O zWJXHAOo+#1cA9Hh?fI-{{b!ed@`I{kef`ynXR6A3-@g|(%XYI_zKW{ip{jh){2u3@ zPrZS4@1fsg2KjMjkdFi9AKroT6eVkg&y{mK&z{kS2hY`GDNZm-y!)Eq67m=bt)kqD zU}!|H96x#H;5v(kr-t;=5X?NYwSosl2&CbbYo*ylL|1OrCQ#AbcCqe#IX4gWAAbAp zI(WTgQ#ibA8@n9qMObj#;k{)*Zha0w79q{%C}`$~?OX(ea^D;!v&(7)*y7%&PEIRq zHNH3RJcFRXA7h_>atU<^$QH&=Q1U|KozL4?+sG_OiC9stLiTiG;VE ztw(J2xP3oJ8_W!-OIo0OPr;gI4P78=>ONSfforXD7NW@E>=4H+p;7rEDjC$~hV$5r z;`ErgLSmLUgME_{i+1tG#-G!xXzvkc9-goiG(>*^<=znM@^ff1E z#2{Ud5;P}DM7*_uqXTB9UJ#LbRsOA@(?*5~G$ z&LBQz46}A5O<4tm5U1+`$My!ka;C2pE5;R5pskA@ZqnId9D&G#PHlKY$F&DMACBDj za&DIi93_7Uj}S+LW5Nfvr5}`Hh+Q-oua4@N>KeTbRxB7uM;g5ZA$?m4@Vqs*t$qZM zjW|Mk9c{{o)p=|D90h&#G23<4HzeMs9iK@j`LI8d&mgk6gmc)2`V7cc1hR|>%) z7_fK>FGb#MZKqak`$D4c>Y`}4K zn$HfDU151&G6(ei$cS87@QxymbRg)oZ=B3liFqVYei7TjGfyCx+z0z?Wzpl1Bje) zI9&D^-V|*kL1yhlH*VF?9$?^uSTsfk-L^3>T0d?)Oy{t*mMGDhV;$D=%yu1HagI8e z{HbRr%(=H6$Dh@& zzgl<_-@!S2=x^K%=x4SvTf3 zmqd2n00bt>o2{OG<>}x;?ywwt4?mG{)DZU_oV;blP}(`sndnGIzCDlt9ouNs6pf9$$cU~ARoRizRXL#-63xsbn5x2Xt?RT%iyNpGtsH-$H?~_g3uWk#3d*8cf z1w#LvKez7`2p@ia6bO$3;ZYzw3WP_2@Y5|2?#;`4;QKxXzV8!|cs&$nA3H?RBbxDf|K5lOKR+t4M+Nq*0=xI|_;FhQc+2bD_>kTruB1%!$<%i6?@VWLkV^~5Q5chHr*sidl6xNW76u3(a4eM zl}F`;(u*GuqCYsjZOoY&f*Pl|i6`JW=6(0ZNwdU`stUI9E!fME$kHT}=c1Z~65f5H z1axBK6NJAw-F%vEj}DEbcNu+=g)bYc;@FmDws<}L3!i<2>CDnoW)etxRY)X5RpuTX zlLNq$=;@=U$dNE}S!uY76>Yka$e3Pp7K-^gKAQDz>atkfBEhBWA*>q{OQ!>lP@m<+ z9sB&Pl5iB6o;ZGKnt~-;#}+DtiKgw{)uWm(KA7%7S_?0VruzUlB{mz*gwV(jQXLT7 zHX-=%NoNe|y~eEU%j7J*4p-`9?^*t=?ejev|I4nFd*8qpT`6|sN_mWE9%(!;r19L_ zm2w-xdFRWy1!LCN-@G}oe(}N+oemphp9CNU=$6MBO6SaZ+CCE6nm|FiHeAPUVQ0_Y z;0#}LISP`=JdS8|_Q9+&TMa#7Es?a*13BUS8dMWRHVnX8pey2evq#bA?b`v(y|?(E z=7~eKqpe;Cwfe{&dr-)1VTA7QF)fklkWP(+`E-TNS{t#N;oYVS#5t=U1iVQA>^Cy( z=xA`nw2`f3#6+x`*D0aaz-|ShwXYW#0Q|6nyn-D>WN&ui|MPc3!kyn@&Vxj}_KXb^<6?KFFI^E?L#% z^ybx;(JIl^Y(-jEy$S{-J0p*x>ddi2Ti|0)K67s2XCs>5&E2F9(wV9kJW0K;QekDq zSK<|Wwlz}bvboM!YfSE=PhvZ}DGPdk(xPn>m#Ah*J*w}ijdl6SX4I&3kTon@XKXRU z|I$ob+wt@-euQ$NXAHqz*_=nBPxIga!9YI01+D0?Irm}_=c`06%8qwMH&`3ueXeRv ze0-RerPL87rK9D#>aeNR0s){4|{^VRn#HA8$curz5WfXP0Jo{@gel?foGcso;6gYj`o9bFu zIQ|M57VsB=BJ!UA*;5Vg;3aznVlOm*Hydn0SD*kQM4O;HYhIzX7Z(6 zpv9qc6H~fEUp`0DCb2c4-x~YEg&r2^p>g7Xf3{lZrng_~oiFEBOmp77iG26|n^^B( zl&U840YSdAv|frHrA=FQgjugJ@@w)lE9cm}%0PsVRGI8x#u?$eHs`(j6s6KJy+9K%O zmo&I&0vf|z`{`f)?B{>_>XkA@@43LX%gS|_kDtAXPGiC^x7z8IHKQHnCc-;#T52+< zOAQ@)lEIGHHJTV3hohq?9Kgz~6Z?vgA_!BNw0s^uP>qJgytO?+e0*FnSe;l)kF_>; z-#v2bYJ|=l=h(EE4qjrw{RgDr@Wco?Am z2&l~3-DOysois-|)LSUm=gySgfqwI#Ar)M?vY*bD2l!^+fL}kx*ELe~K;KQ`|kxYy16ArONRHA3-8WcS?@)U7W zZ>?jtC)PyQBgm(#?@b^rr0ec{At}WSn^?+Kr z0he+6x!(J7ZXWDs-?B}w{q@b?d#Eq=a`qm39+lZss5WiQMPOFsk(DyqJd&H&*%`gb zT3NirwBt(ideLx-L!E@PRy0s$hKAGHG@)>6(HeKWCy5=%Ckn1+7gzHI?HQ5+U%lLB zDW%f~`0=7`sPxVbMiD%i?VL@`YBrGbcB|e49SYeartK`u|M8*4##UnoT1|z7;jB0* zoTMwWcI-LWlv%i~P1}66gKpl<3nOPm8*R!^I-79jUQ$E$-ik80nERA<%$5|nozsB# z8&liyXg-@|l&n?o^=~CzT6U`WXrU%ZMLQmIjWX7toI}cL8pNSv+}2Oe5$j)9y*tlB zknVjKf4ni_{vcDKxm#HGScCB`4%RZxECwHb)aY&Kx#mWq|J z8#H=-or0PMmh1#!hj)ovL(H0xlC*PH^c=gZ0fedu?~3vPET>l0&X}!X5xG{_p@57f zt!7-%O{!#o<-6*II_-n9_1^u9M?2*Y4x#@LD?h}_pMqHVQ?*CkoB#iaBY4CSd}8|Z z$+2AvXb6E^clVxjtP;jq5g)1D>*yR{Qj)Z_&Hx0W1Ma%A>$*)(JJ zZXxOo1e!?WTCt<;y+eludO(w3(4UV_L!11se1wVXQSF=0^i^Klnw_AUhOwrDB1Abl ziuD>T`mvS3&eYztme|5zyj2AR=|a;sq!^4q>A)P{Ss^U0P084zvqhgnI2H2o3#N9< zq~CMps3q+Ka}gX8?NkZn2NDC!4iyfB7YWIbXf{)vn};UCuXT*R434id8DQ5pjA!?< z*my}~o-+-F+HP6FwUgkb_9N@rneWej`-`{h7vFnfZ;HQr-@g~8t^7Ir_ol7aA3Vyx zNBQ?C|Nh9zzk83bf6CMJ?gI;qF4kHSxfFV|C4;y5;nj+BYX|Nc5jef?z<^N7mXB!8 zENXSaYf2tW*Uyo&TGDc$r}IR)=jelK?un5-kG5M>pEKvPp&WfXZ@qU7{q(PX_6d+q z9^jP+c;(Sq`1^Dg=7yA@dut9ch)wnrIE4<^Wh$xjjJBz8To7nHW(?WUPoFqoc7{FI z;L6Ua*?G|<8x7dLIn+he0Lx$7!`WtqR_Z9iT`0fZ&F_6Vw^Lqp7T$mTK~VWVzIZVf z50aTCbJy&l3tRKVR$@GeFxOWq=w)gw={qp%n+TUunp=gI06KyIG#ZMDj*XhV1}#WH zb@tZL@6*`_jx7

    o~R!H|PMyk2C|^Nb-QH3DU2%rQBNeExN&CJrF8)CCfw*gfUSu zH*rK{$F>i7~G@;VV!=7F=_|HN?l3ERcVy&z5_RG1~1{-|^hqT$t5O zwa~Upb2BgkhxfnqbU;cn5k8Px@#>zRlTEILEfu)uj zx}_$aK{udA^N7jiL2f_&)R?-0cX57Y|BZNxHqCY4N#9%2ZTbWINNh~nV_bx)fp2;e%G0c|K% zVuYauP94wSrM8sD!eX{sxnd0#5$oNTo_$1|CjQ^rEyAFsYeOa|P}BiekA`(1S}L7* zR{#K@gC_N}Qu;Cq1xIW*ydgRvfD_(DBqJqDKuzHlyHqEzWQK1wB15pI+cOLftiQ#baY?b8_Y z-LcOo^-*fwysto&6n!^3EG8rl`>tjeB#k#!UI=u{pmK<3_U?U*+3P6AIY)EiuW!S` z#WZfK%X?qW?T-I0>b$u!72do*?_P2dWDW1y)EnBetJRoY&f-v>b8%@S^l&euF<7lz zrRKD>=)QWn`_zmsIlQ!6+iO#r<-)7M*!Ft`OZcK(0P(g>8p&;;w;0d5(AR_g`JcS{ z7<#PYBj841^gCgciq`wqJ)4bEP8cR~!wxf+x*Vf!x`Z(N>$PW^I2yQ0EJtZOq3byp zj5&)pwZj~ACbtUS7MXNHZC>Nn+jjDugI{kgV!w+Mc=~(J=(}$Ok*IYBh)hQuUw#TgB6yHag!qe@=&B* zADM|H?FpmN@xAu$zIe^;I+1|gyiH3PCLdy<9H$(zK8}GC(P71dTw+)cm045f1hG`+ zB23&w7RhM0GS0vD?(IHr)-U3#ul`^5-tE`7EW7JdP;9W{5JNYns{2TeDsPsmJ?5C> zGG{&cFZs3R7<0__aq7~lQ{CY3l#3k!CKoV}0J%wtl!t&5Y#=xouraa0#x}WFLAevz zAvc96LR=z9^j)W_-L=o@*iE16z1u!7UA_0II(zN)TWiiS$M}9f-+JcEdf&J1tJcuG zZ;hE)($r-EnM$MsI;VzbP#Q&4%yR&unJSVl+L3ctx>VBSQMwl2b`& zpj;=esm#-by3e(JTGu9v#WxM@5p`x8x#O%_cg2(UeK~h08SmR@AHV(Nv-MnyG{^&B z)r^pnG1>~BK55kO;|SuO3#BM;Fj*mCgF=~lV;pHYXRTdbgP`LTotVEl0kAyNW{~M6 zO;26ZC(_A5wmwP&sdG3NJtOt~z+^E1eClKA3DIhcTAX9DO$z?INd=cO8YR@VgL@gi z{bWp$jtDwTPF$&Z)}cgOV3e2%RMZcCN~?G-8Mfx~2x{rp1}rBhF16^Kep)tH39v|w`e6yYxThoxrCFjc zGt_NiNZO&W(0(XS-hR(3m%w3*hAlh^1dha9eUY?m0R95Bi)kki5v?_4@UB43VAvH! zG{)*Y9H)+Rbm~c=bO5mRNV61o%Yb=vapeFN+oW%5qtZ^L-TtLl-uT8ByAUL>{BKhPdjGKzO?r>a@oKr+|HhUrqk#^h@Hu! z>l%&qLKn=@2hIlFNurObW8*O2LTX^-jZhaTUYZdOfc@CK+n4w)Pi4>X&Tp^%`e)yL z{MO_59)JEBJnntp!>?Mm8Aa5vusGOuAmN4vRV9y12|0ltOf*B;U54@fXoZSoObC^Z zO!QWx~6& z$2lL;^`R)CL;7N#ee&+3bNN1!g-&rZCXA=%Ks+dT3Q8DL3wjzm0se-7LSR|$BDFyD z#-Sg>0Z-A}zk;hM$2DxK)qS7Vi5golS)M6Nm{MbhB|-pzYw)u(=YUR$Sv3P1n7o(k=6T3s~wme64UfbjLufB3wu2(YwRRM8Cxa{GxTS6?~ z+BlrcqdHgunxT@j}uI&=H_{2Gof^QsB4gWr3sI;#= zM{T}KRKM@bdES8Nnj${$L`Gw_i9Vq8L2g4*JB?u5Sw5I@TzOG3V`R)V;QHC2xnhv; zls#i|85AlbKsA64wyy&h5Ka+;bjui3JDE^Y*$%f6=TxitOfA(uP#@m&knQ$+KZ0$h z@40x7F(-~s%;dVVU5fp=f^~xi5PkSba?Ua9c(qmO`2FHsh}yj?b-C{_w!7|{C-vUzAG9`Kf7(vC6C`}k_wTtG0DLC{ zfM38CbKgv|mx#2F5|MV_XYH3q{}&%Td(RW1uf>7Yv!5=2S)j|}T194^9utBAG@NT1 zE)z)}(Hal5s%`w7{zhVf$OEf~iju2LITSm$<(X1~r?aCV+33WFV! z0I1|aCr!63?L0WnMyHBdO?Ct?V%?H+w{9@JTGU86jpqOik@~52SCDkyR`t8y*mvu^ zS^3_lK2z^~0bc#id8VOo&o}WoUTV5auBMmd>X%;ImsvM2Ik+!5xW7UU?mp4@=-6D1 z4s|UbjmiOe9RtD59l0C)cK9gX80qFv z#}cq;Wy9xv`E8Cphl4v`p2~i8p33fjZHMi`EnNGr; zi0sYNlz=0I?FTa#YV#Z~T{B_(L#;4aTMpB9y!o!(Xf#1k@t)up(bT>@P_UaVUIfW` zwkFZ16iph>VWmAq&fGV);Uz`lg;OMKi_d}fIg!_@3RxXJne=w45@qxQ!M!J)&C9R3 z@j(VQ?pqIZv5FZTsTxDzP>_V-7Nbp&-0CzNh!5v#eG88U=`%vMr+B;lzE|G(<`)ji zmUAs&yB&AsJ{Fo3Z6QdR-Qa=gamMt}qss!dRtC8*n7j#tTtwX}@nyyJa{$saZWPvM z+eZ$&V`0RYYv6E`OC2hWUW@KNr}r&Sd1j9DMf$$i-+cV!Sw!|d-@oS~vgr;Y`=!Y5 zWli}~qUBARrBYI_;a7@wCa~tkcG!X?psu0`H_S`s}^N#)wHf#b(;l zR^STJ671krU$d@Fm6?65(xaQ;u(=!tHWMwXJ+#l~&yilZkt9K59vscBAM+gqi|$!m zbl3vNX9dXCafBP-PEprNljPXToud$p|iliowAnauu7BNbj-2GhG-kgX0Vyh zY^!FoU_*d%={lXe*|Td&e~HI=iO2aBZxYlfr8(x^7^{Nn1w6I0&J#Omdmb1m&e;82 zuF%Ds$)@HpLXvl#c@l4|tFCsWSXKf7F(rYY@CcLB(ezc?X`H1k^+fB_@198RTM~Zf zIr-+tPhNlfb8khx`z7{>`@VfIDLF6qh?jfB%RS;F-6M2TSJdjcF^_5pxu~-m*3Twq z8&FMSkV4;Wy=XCfg_7s&Fe1n}cXc3ThE`_fj42>o!b6yCTyvn^Cye*- zbKmVo+_#nS?jG@>j`dsXvv>E1`@Vh8ZCJNE4eOVC#7mOe^GIs<-SvMtgm~dYi2D{C z+`j*n2QYhhISTnmMjS|1iT2QShuWbTrNM-}O+YcjN@U9H&o(Tqb%`qP;K7L!R zfBHEE$bH|!=N2G*rvQ1`$b4CVyevRo79cMLn7^C=Q&F23AxPr5d7c?N9kv7Vutb*Q zsnLA)-g>UhQ2N?QM3j=KdE*^ufVlN_CZhjV$MM;iJ*7=^;lf#$$BFFV&l2Il4f4mGR!ZU>p^QLp@|ehU&{zAtjm~ zht)K9lxT0)%xlGZ|o%p;^t&jOdpc7+C3oq6=xm=^;xdG&Exx3?)>O zv_kRnb?I#zPnh_wGL~xZIojwABQJ*XCfabAOJ0sHRkJ_?DT92A5{l5^GR z%hzNfM4|QV6RLlZ%>4ETUU>isZ?`{)tLWWn2}F=UI}Yk)EwF1qH-;_5;E%|@NSkJ# z!0*?#Iz&bxNlxY^=NktyU@U>Ft;|CS}$Z zS>;+&rnI&voJ-}tV@xpIbc~iAkZ9wns_V==8yJHI`DZ!tkq!|D(Yed-yYI`n%iMqb zQL8{rcxYqCjptFX^v-E=xEbN-~&DNvj0BrGhFgBG2py8TRwZDkD*(_XWphPG4LbcQV!g($T_ zOne#`G&HJd55Q@B^dWHkS!XecXOvO*d^vZXt6%^4$$IzQ^*nM~tCqgKArwRop(g3o z_GX3WxN4u%7Iz7NOkzSU z57F#Q38V8JHzBBc@AoI}8H{`T!+5N0n%n6~KucaFd`nVbt9BgiNO<07;-*ud@UMYv z#6JAY(RojA$X1FHT@`*34XdGfz|L$DLn;;B4uVs!TkqBp5Gz&8z1zP15nRRGBSTLj z-6h}Rf4B-WltMuP6@ zDBSvz;2th?5IVYnDP75rojkcVsmwu5@doZqLvRjh(}vSA!${~nHOgA*+H?fDO{ikT z_A~98Pc{1;U-!l*UU-1wOq8H=p;tKi;W3nA0GcYRyP-{e@@$W+)mHGHScz zA+?91ERBQvpdiF*UyP9n$O)RUb7UTxS$f(YH1Ys5u$Xxsp94hM)~X8uXcA)+aUp$WMs@ zmh6ozX>Mcpnhd+Y zB?am!&+Z4%Uzd_ecwP|@iqr%T;|imrm|dy^ub7H=a*q=f=%@n|3jGE&hSCP~4P9#{ z8e7qArHw;-)*R1Ji|@P5a#tkqw4;#kya{&kbLzSKzI|Ucjpi7-#8v?u*6^IR1Hp#+ z0cEN2-j^~eB>K@aIZ-enzV;|SK3S2Z7*V!3D=a5TDs7OcKwMaZbLUz%d|b6oi{Wyz z=WNktj@!S1{#Q)j3xT0XctmN2jUL7GHQkwn2ovY7P{C$LS+Jqh8zUV8A{-VPqk(u@ zlB}gG0I*nq_3&M_jKQ#t!_E zvTpy@)#xtXUbK6j7YTFT2 z3{pLY0S4(}4p3;2T0@X!i^tsNyQ!Vw>yQ#9o3j(J4(z&Xz=)NDI2k?n8MfV2wQ-_W_@*{x z@Co4VriSkfiRP8oW#E9_e4&5M1N7s;&R*Q&44oFCaY$xs9r_;XQ#Jt8p?X%o{X4Hb zfMey$Q|`-C?gKjIK2#v-eIF}do^oHFa$lZuf90p#7p`!gMFu-uVer4r1{J*cgBCb& zHDw{1GrWA;mZ(iwqj=;-=mo+!%;?mQ=7|MYh^-X|v0?W)xn~yml0FsTkQ_O?bR_SVy=n!N(44qnu zpV4;P>#k4gp3ltBdDx!Rvv}xxzG+{p4_nsmxq^2BR+17swAPxtML!-Z+F7=GV?e=+ zEUJcGkSg|pnPDJO)uu-19)o-7sCBuF)T$OWLu{+((luEVjf_~uXcJhIy9eg`ZjIbM zfjoZlrQFr`edE45xw0?*fm;KXE(Oz?6OFex}CeC-g|Dneu-7?dE4qe-?-&TVW zkzTm>VqMnmHuoSbB#qgIwkd!aoXiH#LSIrtC5dD&w_^+`@lkFQ37P=&c&nO2oE0Gk zVhdDGO})1;Yh*fV?=kmc+P(MPEnSAd!G5JWix_!rYJBM= zzz4C0oM&scW8c2#4A4EBmuW`LvX^AVBr2YV8d@ zfYlrP(jDH*I(*QC5)0NwuA8@8_L4%#GtV;!3g8q>ML@ig=y<E2t4Lb?N*N~Gz>}>w(Vf+@Rc&uI<|a0m01uW#vk*9nl>i@@x4vsgTcCrcyg_L|7A|biSIHwfDWfxy<0t_DH#COY; zfAs9f@7`Ur?)#QKf6W4s#dq0kgKgN@bGZvN0*KZbK$bYoY>;Lrx*X_{4c_K6J>lg; z=vm*hNE?oN0sXq!8p?eK9HtHukRhZZf(1+Ps-Z8q%Cj z@|rlRPT`bD%IK?EcELQZyOmgTEM(|2dYna=aCG=`hV9zd=dst8%A$6*t?tdR__)V6kB zPC{+5S}gQ<;#ePwDB^3^XsZSx>^gN!Wlan$GE`+DQQDe}Vclzwxc%?n`Vel=|M9I~ z=9={lpM9L~ytUrT@4WrZZ+-2X-(RkN>6`!8x87N)MwiYlFrAvVPaP{>44(x#tB{@J zo+4u-Ii0ua+_`j6M;^D8;G~0QtF@`VC3|(`$h5QyGmgo*P{3d=9Fr{p_oqQ?=5Br$ zWXS8hYr%n*NW3P{ zSw;jDJki#S-8ci=%&E%7-0jp|kmEP3eCOS_U;nNrzy0oVb>H{x`ODS1T4Pw*J6qV& z)3__8Oi9_%*P3sV23(y1s<&~=lsSs&%(SnwNVcF}fr=kyJiRt8HYNwMO z8_0^}HLBXFO)fjuRv#q0H7x{^)jrD{$+=5-XD*|GcX=~Ix@FU5tiJp0=f34jEmux^ z`zHKEA6)0)$ehTtm^-4W0X8stY=Hb~vIor4Y-YA0Fe9%ycGJn2)fx`cq?|2Jgwd+p zI?S5+Mp1*U@^JLkF@+t?^7ik3+e5fP|K7KKnakBTy}v+Rui5S2|F$=N-G`geOY^Lz zg>aEP*$wAgSsO4XS(F%8xkoLgaTu|5%sWT#c(Cp2O%S53(VB=(8U&j^(}F#}TG~Zk(3m+U%wB74O@$l+tjV#mb=zSh6{kLT zM5&>DtHHe1-h*%})2X(Kpp@mVXCH~6738CH_+I-Q9F^<~ z>vL~Ee($^AU#-6B{qKM7y~l4pd8Rjg&-e2A3)bFDJbdYDH7pu04FdEJe;Gh*XPrGR zlwY-zW9EiFdZJ5_hiR5}wB8Q#48sa)n+-A4nG4}G)#G3wGiRSAUDnoff)0azQ6cZ2 z3H3uF#;0F@_pH6!j=bEcA zwcG#pvFCP$a56ouVWCtAn=lL<6pV@6bdpjK0BdaNE&<(yBzTK>H9QJiXm^TS9$n@x zX@{1o@YF$TMJ7YW8d56|8s})}cf(_~6Qe(0w?FpkL-?3};LAOk{^Rd2n@`{O+aG`R z&bsNIE)e{IWC-@+Ipg$fp2woL6CewgNX<*#&4{OHuQRQb*}FCs9hf)enmaaP0hfb~ z)1%L&9dE3N^QfuwT1}`mZDKOI>fO$2g(jyaJ1{#Q1831OOr|Em@Kys%4sqX$`vjhQ zEe&glBmd^G(gSa-PrsCAt##~#qgmT^%uJ%oF??c&D;#sPb2=RR0Lk1X{^fVp=ihzj zz4iF**VmhGK6!6Fa~Qqv8~FUiQfZPeM|*Id1JAj7mc$>d{g_F?eQkR!9)tCWVNf+4qR2hf(@e|IlLj^y?Sk zKmnCyxWo+Fx)WV?%%#k#V`$nl3n`@wyJZIi;=mrxo1mBC0LI~PUXrVdCC3;BO6xN) z>VQfCXx)xxfxEBLoC-k0VCgC6_BXItt~PpF#6T7*^bDe|8(ERm6SI@m3?aBCfEX=o zG$sP6Eiiv{b^kA7sg#aoOVH)=0c}`8X$GV2;6=W45ZV=V2vM(;h)6CI%AQg4m4 z4(;OHgTuTQXs*TR1XdrrBewJQf4=$HWp>m)`o@|9yACRB&X6LAtUw zzyOO^X>sekrZD+HryH$$LoTYdoyXfC>xd+-6$%Y!4fK=1j>~nOT2mZ(b0FLdgfEYD zMQrH=+ITgx=p3bfm!+$qg{nFlSsje8a|Asr7=&jph^1AedG$abE2W7Pd>@e1u8r0> z;L4kWfVSx*$be=s4qC0{Y%`1P%#>C!2MFir+Odv<%;XOW&EIt0xohn7`qRDUgW=Ts zmF8#P{M=_AKkHJt=ezm*)sxL++6ufZc;1HwR^mF!khr;MaYW$&1}!vs^NoDzoj5xK z`4b9}eP*$)X-?V?Uf`GjOen<^$;3QFa-$Czt+IJJ`mN^I>gjh@Pk%wH=jBm~Qk}=Q zwtX6KZkY~QUBsx}hwMzyNrCaw0mSw~@PwUgYxF&OZH#BOAupM@FCLr5Qd=dCt&joY z&YW2uc}SwEm*<#%ZvW!PFLYh=W!o(Kn2ZRDRUHCyYZ!0?pw~QB)to?SBLqCobw3U9 z9M(-q3(HT>v$s~WNcFi-P~xN7lfs}dlL_ok46fP0`JchH+U<{CF2WJJTiGJfMQ}T* zk8-{cfWwqsSrp<&k{085lZGztDM@gCAnPuxy-bEjK&p@F88nq=%hpiRqy>7>K4I$+ z+C0!r+8IOr_V=++Mqk|1ux8akGqVKDASW$_I{w0atMH|)IIJrt!YPMD*=kDbZYFkbCG{yp6=V_GW#~rs8$`LEMYv7!b5|_X#c+ptO||ryEw* z*-o)jd4h-7Wy6iDZ7)5dQ^MQ=9ilFky!xP-1U262RVM@C^3<_931s0_7 zv)_K`qQ6$L=+R!wGp&5EB0UrP5G_s=?rbah9Ga7wZ-@(|p)$nDy7~aRvs>RSrgrOT zZDIHHnbWDPpl&yuoIMvFBpGnPh_d%}ZvWub2Qa$5{fSo|!fE3=6jpQ(I%mp-tArj` z>#`5k;5BeOs^T@EVez(m;kP2$=n7@dKIb~TYN=T!P&~X3aqnf^izY-7e&lrBo!Uwo z!%2srXG=x7Z@&xc#lpQ$f!q_CJq_KGIfLOM*n5HZ10H0Pr-=%u_r~j*=Z&VhuB!B) z^&S;_pHmQQNyr{~s;M$1=9k>P=vdy z6%#HjUvtYWI%DiUib3zf+A~R;OL|h)wgm6H#WB^@d$U0hGlvR!j_TfmM^h7#B~4SP zw`}M3eb>F12r6JHNdP|sd)0tR23We01?4G1)0do9V&2-26EKq2*sX*!ueCM z8h$&*=97Ll22(A?N)U5YyZP~^_&sWK8>`)Z53XWJYr1wG1G|(uk7-JU-SC96Cx+Gr zm(Og{R!QnM9JE9ZW5YiUnD!{hXKhg6aYpWe+Qj+XhmTA&A~tc?O--VA0C>BzWWW8% zi-VX;oX)a#0DCfz0VAt);RP!Z+C9#(gfh7&C;FS{TXXAC?NS_fwV|wh42cpnh#6uE0QFe0o?@79^T_P+|3*G71CSB0P1Dj!6919{1tZ`68 zPSIE}vMJ%z2{fs(>>#?z_Z@=pkciUgT`x9R{<9*Rz_I;mt<2QVG z(m9xFRQcM2mIyKRCf6{oQ={#IWVa3@{K5R#TGpUe7%_SaD@x?gY?U$?|2I?s*v^iO z4b9Zvt;X5M89CyF?I#xro?r92YbLz!$M%;!<9+?p8~)7T^PX?xuffCJy&q`)I!Z>t zeoqUzW4;^N>70haWYjJchwXChp#25RPrCAKsHm&CF^Fb`#cwe%8_o+Dap@)0@k279 zVMpp(4pRiAbS7mg1u3IK*X@78Rj|iyR44RoG>WmrLS>sP7ew$;)_c`}74qQy5+=)y zQ9b1L(PaVdI?)A7@4=WOwQ`ObBU($!t+K-%hp;FaiH*wFK)3+Y?MENPf#w%J_7Dy< zKlX4AH21#q{k4z1@f#m#$@u-RK7?ZJ_dkeP+aGxKAv`R9@Kvyt{vpexKlJL|3g{2N z`n(G0kG%TE*ME2{m>ti?S>E=}eX`HK3aU4_(-%P2Xh0#ePC9OzrW<%eDrODnfCUpe zhFqR8tE@NaqZtbe4yGF!lr91_0FXn0K>~0d7(?(~Z{OHgDPZs(_}MkdTOMVSlI{~7 zU>;~R6xv>)tK%%QVS`q? z;>051OD&5anr+M++ig2ss~w%L!;!6Pnw`ZBwCNzQtGhrKPJwps?LWL)G>rt#?Qvp2 zGqf@f5H+Sv_pvF3EYujSvoVT)wD@*!(7x8GwYnV@OwR{J-xf&f&C9I4qZyHBYrPN3 z$udC?vP*`D`F}9Y+kfLS={COY1 zGtH}ezJ(9Cc;ip?4;OFmf8zyMBTrS$y;ZA}M(T_StvpO+-qcg<$oX5IT$o+8q)JFAJ%<-u}eXxhqwyrpqsd!d3@~ zY|TpBz&&=`EdckXHgm<be44xax#U`MdA<}Dv z$c9_lIfBmZPvR=@#yR=!#@Pa`#~wVqI-b);4Lc&6VjqM+M)o#F4M&&9y20v`F#7xK zt7&Fmxii~I2q-(Us1HDvby&{XIyvINoKf3wv;6j_KK>9|c|U$dhaL>}S)!nnpKFjc zKV$ng&8p?T$6RMNBnAQ}(TyK@SiCyy2L>UpVWht#>3QEm-xstS0A%@*rB$1P$Z$ZlGbW1 zuBCHV!o(dk#_ca&HS2csC8M1+Ols!hO}u$VHl9F3cZJ{+TG%q(2eTTaT@U0f#YRip zY;}V5vCnz7QpYEc&1yi?4FAalRd7ZrqZ!iL5$vvgcfS3Zr|$?KT7=S`(MZ=53no6A zJVAM?xx;iGv?3vP+Vi54;@8kN6Txf-zdA^!HAms4LOayhkw-wTJlJ&ksDVYMBZjHb z7Ue>d|Mnx7PD7K>GhB@e|NX)seFlZ8jRtSmvhCpq41i=BdircMw*&0yW$x4FXs+2- z;(n1JBM%`6RuKmY^28YERBJQ(_FXV@4KFP_x4-pCfPc_e8f!FF7&&mrTiU5>X&dGc z+7dQURgcy2Z<-X8!N@9XICT()aH4{oRqVq+K6G|7(hWM*!gjc|IYDTiJx@`hlD2}#k)`An*_vo})&cs{Iw?B7Xg|~H$6YW}~IdOUlk>1AkHP)2WnH{W~ zuH%|4#lch8Dmek8a7!HW>ohoxm4NT*tI4H&WQci4>>P+u5zf_OT~2!H!zS15&tH4$ zUR_sPn{{5Aq?kP$Qz8Ovi=5io2IJ3+*J-DMuwsBIKibwwx$6XbIMwK20dK$>*QqVm zf=$~w1PfH*a~gKc_`o1<$g#Zr=z~xZ{n)j$Q=_LI_v*E)5@{DHqAhcaD?IX}I=2jg zvkg{x4jMC~GNhHqY+*8}kCeH0M{!=TEG`rg4Q4wmtw^cG__CuS^04WBx6yBZ0awuu zWy=X;-DYn!v3D0Ev$oLH9}eINFWe<6u6?-NuysMd)(Jbq-e}y;ae&4l7cSq;@uIB5 zl6!L4rB6@pd)TbG5#JGJ(r!Qg@i)HhfsTa!_9q{Lis_dj{JQSlEx`74mt{J)>PGce+41syQu25%*p!*G+D$G9vbXsnXp zQI*|+sL_fU;A&{c4r9qD4s0eEw;|4ZG}*9uKu0*Tax_7FaA;pbI>G$u0iEXIb(g(# z->tK|{Ovm}oo6Ua_k8!hxY_Xi53AXL!H|D(x8c`+@SPVxHMwV(_U$LG_J4KkP#8Qm zleU|MBG4F>Nz)7r3x}-ba#neR+id7T88oefBoU$$3rX)`ctq9$ftIYuWg`7_UmJsW z;{yO{J1H1*G;N0{Z-47!4`Efij#8akU)l_tMU!qDIMW_U0I+%vn!^UqwHpX}CtD{2 zw=O1E^n%?^NgO#_l#X8BFI6y0e zKDzhpbvZVlGN$*=GXvw3x!c5SAC^kFyh_q-Ne5U+0A(0p3N3~|sZH77zaWP?edMSa zXtMy6p6Cg7KsyLp`?~#Y+zXJ{SP(a4d#r{upkPCJh9n>IS%ND_jaVU(h&|gg)=cg_ zA^EDkh{rfFEyi9%XQokX@hj-VdVy-v1j_S{|7Ok*-K`h8lefR~v4J)-6ON8E(3fxlDZ?ld*o>^ryKiW6!sJqq8ec!_etpnyeI$(YwI^cV+Y<}uN3~hh@;qpYj=RvHO-}@D=m%sDw zdRhDFFFB>RS`t^JSao>c0CnZl7N#40>*mBzY4?mmOEo2A5o6XsZvBGH>NWaOA84Y( zxXPW8`8wL<*}4XxGT>qC8n!*hcqTwypx)uW>kd z%d@FRM^C{lD`p|IxF6|rAk51XvG+@j~{&S;y&E%<44o(K3y}9EX}% z^)aU1e)5_e^#Z-VwFM2Fr1hDgUa3{<S)3}dxt7~?7_Wv@}ozw!-(^`{iUlPO_y5-{@FD*V-h~rn6OF#egSw& zXlx}l77MW4{le{^NIre08Uhl5>q!9jdcomRO0CF2#JIrk2)+p~sy#*@m3yaRKa6wx z%h!YegaKo#7MD5zlALTYcDEzgUSfl~0SPw9D+A-NNva|2lcxC06N5qkEQJZFmH=6r z6WF$xa~s^fwZJZkwpSawg8N~t0@-gr_3?}I+2_S~(l!vngU4o{NE#bQOg=7MaZZ9n zlH4~OM;&~`**tnQuqVl96I{hK04EZoFa^x`3RA*Y3BUeh^dl zpLwbY@eVzV#~!{)u%gyc?Gs_)6xjRe)QSZYeJ$uL3Lf=!4ipG+AagC86yU+8?$X9U zkOA+cJzZ7@HjkHj?pBGRtyBl_!P~UkU-|gcD3P+pR}5XW4f6xMVk<0cPc%bwpmPtx zjKlZD(GTwdYgQWI%smmGgltcZD>4AnwDbWg@`x#m@b+zOf}W3>1na@7b}cElpShmS z7Q8G2ba>lS(@!XpF?FIIy|PJ&8v>d3B79H7QY(!Qc<*&ZF!7oN$aA~WQC6Rv8iwIP z&%R_IfQe!)KY8Jle98!_JOL3J?&Wg(SzHD3d2CG*tm?ZOv~1kE^JwASd8hV1heuNg zSj@eHUj!KNp$frC3j;oF^Rl&r!n4~jBTLOw0N?j9=TNsWL7*i0wNAoG;Bx!9r*G;& z(Tc!L}K*F*4|ydG01O z(12iQIASy)6?JG|HjG5K-2N)AqK}jC)Un``YdBtz4;q3T97N3k?6j1yY8A4rsn0#; z&CV2%ka0z(U@*~+y|9Y)Es*pfL4CD(h-%3a7FIe8(TEPnVj9I< z6UYz{#dI6x9yp1au7mb0tt%pSL?5g2w9cw{{bmO3mbah9+IgU~SrUdvBPWB?0lGc4 zInQdx^T-g9at!+8$mpR|JEK85w`aC(-H3GdAu9y^^)q^dk@g7J|x9#Xe!pk#Dc+xq&@c^!;m?7}Uf#M6Q zk5=%LWv#S>J%oK+ZUciS01wMKm|m)mvrci}ZQlN?FF9#OF6XS&YV$N5yTt+scpbGB z3lR|*snrja4+Q)F?Zma^X*s@D6SZ(!fmjr6~YzqMqhV+2Z zXhp2N{qQ4fwA8Y)OIz+qN^(Gh=`ulMy#gDM@Z3sOtr>taxYt(iQBuQE@H_j1s_E<-dvy;Vu!>Y^eKfzU)?rR%c##>Oc@xq|3x0-&egegxU z^q?8AYhZ^MYeI-T4xxKLhxw~p+1Iyks?R|LV}^gCphNq z&)_P=Sq3lUoa9)b=pt8mN>eBT#jeb;@*qF`VDaoQmvpq&=;=>6SKbtFJIImi2Si?G zkzETV#8I3_7D5;kCHeHh3nqO<%-p>F$fJjFRQj{ma{+zU_Rh1W@n)$OnR8$-SOt37 z-bkBNO+|}lgv@kM%-c8uc?PJO=Qz&qyKlHyk0Xd;6!ifSf#gOS#BvC@d3512u@hxF z^7iL&6=$>QVN`iNX>~|}#@-#_w}Fjr2a}mBhip$=c;L`7+Kvg2P)ZNO#8sx_AhXu& zO`v^bj;-Dnx~+mIQVOswGG0Y}od__uZ+{+F(Q;HO;B6(c2R5H%=j$4XVQ7lPh_~fJ z8+0FvJyP3XHz-<9?5zz8lR8f`bUL{2jv{ub+H@BPqTv<-xoNaeFuP#z1qbT(qmM4Z z;TA(vjsXn?6m3K$KvU;X>~-`%@sjS1ZBe($b>Sw zavQ*wja4PVvZ%2&W^2%%7SgxRgrN7LQZAf=16R{Ux9wv@71ZG(b-w)tTt(;T==9aW zQ3m6tj5e4Np2Wx%z^xlSWOgr6gl?7D2&e;*l6P1^WdK8s@W>+lrVbC-p^rl>WJcnc zMk+A2R1<$!AI$0^e*5u9Z+y#_)yVti@2LHmdi~wcz5U+fx9ZzJ|JLm%9=-ODz2DtK zL*@39k6!yHzT;`b>f7VpcYYgmAAjl5Yv1_6_dfUd_Lm>M_6^^;KKt44etp05*6pVr zz4mqA^#uR#rysrcTR&(Ne$h|)^rt`n*6pu6`hwBr>0k8ePk->Y|IDK=n3F&Fqt89Q z{p_PJq*MIT&-%GXUm(Ii{gHnaH{j|-exb|ujZgpiskgrC$s51!DZJC?%$aEBIZSmG z)wB&~U5k;@pa`cs)pMPy4O?Kagx0u>D%ur7KmaS?bQglm4^?0T6TfJv=}zPowL)zN z7ab+&!b^Ad-S6he-81;_mj%0AUh?Nd;_v%behKdJJ@Z6AQn<^#15N(agWyE|$FDqu ze$1bKAOo(4K;rx1heG1}rUyFg`wt#H1gy#*ee@6>*+2H^Av`QU@aQYRs{HXscjur# z_~?09l^=R^M9XrLrxfkN>Z|b9=e`I_r3m7>l;0*aU=OUT}lxg%h4DUV9MU0^OvpP^6|cneSrN3JYOB2v#UpBk)HbzRNo}>aDuRNde};U2?=+d&nKw2j zaqq_WZua4wz4qF_-?N_M=UeKkbvA`RWU~LyZRpTz+4P-txDu8Q9l+s`k}G3#zVIUx zzVK)e-w1-*bDb-rPctA6UsW{&;5G~VV?~vnXF#Y3#}r2O7H1qpa|klWNr@m5*=_${ zPn-hj@1^UfK>GX4^;2++KXp3J;L&?jKYJaZjFWW3{^t5A{7j#_{^okFUcP?NbJbnf zRM&;^b7*F71@>l;Y*wV-Tfx*>sYuRsVlBhnvJRx*eF#moc9*#ZctKRd3PFJu1z}9V z3?2m?37N)n{4Ok6tW=WBsrEx*&SQro2R&EsxqE(NK7Z@cS&U|#vZ;_Pn z(Ov(4{J>?}oJWt)K5^|7Hs~*|{V#Qs9teG2ymnxuG`uFOv|3)Rw7Sf4hsjlS+%YY6 zC}PzFylum*i(t+cZCKpk=vQB)h67h}nKdIb3T>>6ctToBr5l%)4AZ~BDincK5!7?rmg%jI&xn4Z4HBt?(Y86wNpS!|MRs|$iTk1<$PJ;CD$4{KXklde~1Xto;uAP7ry8q;<-^gr^>rT11ONNAN4Y-#f&cO$nD&66bPl!X75cCsGI2-W53Lksx9_?Km+vj=vlEOFNb)wed9h{D}lpz(9m&^qrT6CQ*mKYsN)ikua zC5@IOIAK78xwMRO|F8v}3=F7LsWF^-48@eHLV*W0vDr5IhR#fo@ZcRW^or8>8gq3-@lrK|(q6YEX=--EAA?OJq4` z%T1;9;+!#i?m+30xDltCyLOo|8c*xFF--OT2cNvGSfqW;ngI{Cl{%o9)LWTe^F;M< zV*4X)Mii$;!Q5V2lB_J~8jM;p4{aOh9P=6$vqp3pQ!3cQc)iXs(r!9suXIUfP21Dbxtn68;4A z!HoNBtQd9aGK3VBvu>kTy>P*3PS!Ry#8=t>-q{QD;FUi-JMd{dW!8a0y5vDhnqpSKq*qQ8BA^J22L=ee0`R_uaZiY;y>!fUrkGR7 zw1%vav{ULpn)Mm8AXqQbM+#74byjih80A~8$Zw=|Xta(^+&(Z`AGi-=diIXpyM0O5 z{;_xP(W(~5*4ntQYQgD1)na?%EvR@O8(aJPC($wgxzlNqIssz;Ws+nS^E>co$7+@G zqS_>ZO`c>j$REjU1;=nO-6Bj1LHEKU0jDud19aS*KM#wx6aRFDG z@Xjg=eUIqaBpr3_Up(77EipOBq#j0KoG?qD3fH1Qb7U+uaRC|^tPN;gFmi`i84%$S z?|=|gp#&BTXCDgj9;zH3xST1EMI_y6wiKLej}0o48-=F1|0Gtyt*6YGrzHY70F%R$ z*@^~PkOXiaU9=kbCt}%A5eFPR&2A<@qV{N*tQHbiD--Fm+_`3U@H@o^BeAChY`U!C zifpT7QR;L5muIKYw)UyBQy_4E`s@@;*-K}qaQl8{TLr1jVkvSO)G-Y0ET9^do@-O| zE;FL~+@yoKJV(UHLNsSboq(K5E2`Ytf{{G6txJA@SX~^0yOF`GjYt(B zYmfb3ZFlO5F@Yu`&9&s!0pH2c2t+KY%}Ow*NTUGd0j)!fSC1em-8uwQJ9|nP{!KFT z$jxVkHVfx8k}ez!4!xc2s&7+5d=oZZgLn=2Byoq}tjx>k3~y_jmiC5mdbbB-|yj(8|T{0I;p6IE-a7*WbI zb)!D(rcJ{vDS?QkIuuBfpt2Z=9_>S7|2wCnr&V1?RwODKA!~wd3$K+SHJ1a}DF_6P zGDTf-1Ac6H9XWYhUP{c=)RRvq8>N>92w0Sag*ItfxlIAgp$XhhaIGRC;{qs@rM&;)SbL<^_^vQAT^K3gg=&AZpOU%XNcZ$^f(VGrFa{Xi>+aEoNfv=Cf$$_tr z9}axYBv4x)#!w)dSrY?&hZ^s~G$-iHBXf5!+)_?T2~(mN63B!JQyHNSpEWga)&#&K zhAPR3#bEx5HKdj1pqULQB~wT(Dkf_65My&}zTbhhd<@v1L-Tm-ExSa{nTFGJ$OPsN zc?9zWP8Wid-uui+NSJ16Ly<#;13g>K8K6@L9Y>q2-P&Saq={Azl@0osv*xl19tZGc zdEobG#0JQywT4cFv6;vERC$UYDBeAO|A{wmAeXP)#IWPOa?}+`Qql>&FH*y7n#%yn zS3qA+xHYLaK&9&}eI?dbQIfNa5$Y0!4f4V>Q|gfKD&6xMIc-ebHb&9`p}q$CfRpb3 z^vO*}r$ce3OUXF%I{fog%?(PBYbDQ-oCsHdk0FB`>bz+y)&ZNz%Amp4e9`IHveaC< zwV9T8X0oYu>!=&y5d48MN0FZT9J7?1_kV^}pfQn(TL;n9Sl8MtT`TC%n-GUY_eBR6 z46xUt1!Fcj3s93$AagniR}|pYonbKrLYT0wX!IMsIQj}26@`zHfTUg%S-dn$iT$5% zd*P14Z-()n+;~Z=P=f-0cGJMLR*}cmRN4T2mb?OkpBKjBW7Z^Vs~uW4WRue>YfQ%# z3+@{cYn6qnKxqPxhM}dZ9iuq|%?zJ-@-o+&R^JBe>ts}^QO-s(8ASyMYWB#qXcieM zDLbN1Xt$0K$%Boj)-(-B^3iOTxmrqfFtx!WT53=xZrBs=Bo*XDh=q(rEO~;ZzyF~f zswAue`>k6|oU0e^UZ!SqkOOoq9W+tjFyo39_c^2wfG({dIlyQ{$u4Y$LrzQXC8Y%& zCJ^SJEK4Y-%TQuQPto9wINBtX_CLHk1?1w7U=4&t|JA+Gpne zN3n`JB>5V^RSSl_))FC>P036}2d|z{|BqIng$4e7T6vOdRi@zv1@A-!*oB&sLDONo zQAI_l=>&h>Cah6b)MV$RQ8Z!xcGRBtKepRsu;8)+W*7}g_C7*zn>AWJRa*tIc57BT zH0Y<=B<)Up7WfQk4WbZ1D|A9px72O4Eh&jDS0c#(M3BL!>d<9x0g-oO-eUdO|M<2S z%2Dwfft+X_(b>Pb zrO6zs#HunT%gh^AJ9niV1gY>K_hhN}tpl4&0wFna2}LZEU2q8IRM!3{v5Gd?W+_(N z)M`>Eg)?7pB1uvy!H~kUiJlgjJnPtcDk5gjz*eW#sY8!mTdysXL0fnv^itJgjg-S*eBVvcx(j1SdnsL|YJ$_o)@`Q<3r4u9cwH zkP2FI#*7Q7s3Sh?YGpt~I3=(`6^6zO&E7l0MT)85j~50nx-yUbPjA;n>Vt85MDL}0 z0^@t3T-eGGklF)k@<5b0tZSaET%iHg@SMoz)>cT`vwCO|){=00mSF7!!t5rtJGm89 zRF+HQXr7_=y;9l#3|7Gd<-*<;)#wg+-5!RDpG78tv1ont4lRUHYlgm^pqroIsU#cV z(K>@dI)hqF)r|285Hpopb2Z=ozJ*`tZF=nk0wz-oZ20}pVimsJ*bfO>@aX?oGMOp#{mS$}ThIf*z(PaPgScO8jMn;0(%PKg=(eIAJp-iv3 z)-v=9xd8S(@*p7p34++GRrS;oOgScPlk}bgUG&^@MlzSQ!`{O7{9T5PLQT_e%VB z|C4`fw|n0!9ZnYu`0ZEUbblQm$4*`FOYa9T>(+A{2KA{|@TDeJdynm~9CI68FxE-x zuGT1FW}+&4bebvqSSV}Gg+67aprt#DZg+z8+yv}|zVJU8$!8yXwosEb8y zS)k6*zZ&DdV{h4`~zhkowDRal!>Ak4h z9DRC$!{*$eGm218Qzsg2@rasJIFW&^2xxC2W)z2u)4)Za}Xtb@`Si(q=sav6Z1|+nfoU7C+I1O#<`GZrD1@^_1d&^&P?ztsYFEU zYjil;nsmYCRB^ Date: Thu, 10 Apr 2025 16:45:31 +0200 Subject: [PATCH 08/20] remove comment --- src/language/context-mapper-dsl.langium | 2 -- .../BoundedContextSemanticTokens.test.ts | 36 +++++++++---------- .../SemanticTokenTestHelper.ts | 17 +++++++++ 3 files changed, 35 insertions(+), 20 deletions(-) create mode 100644 test/semnantictokens/SemanticTokenTestHelper.ts diff --git a/src/language/context-mapper-dsl.langium b/src/language/context-mapper-dsl.langium index b7cedfb..6fe73d5 100644 --- a/src/language/context-mapper-dsl.langium +++ b/src/language/context-mapper-dsl.langium @@ -283,8 +283,6 @@ Value: CLOSE)? ; -// Q: table B.1 abbilden? if, how? - ValueElicitation: ('Stakeholder'|'Stakeholders') stakeholder=[AbstractStakeholder] (OPEN ( diff --git a/test/semnantictokens/BoundedContextSemanticTokens.test.ts b/test/semnantictokens/BoundedContextSemanticTokens.test.ts index 37328f1..8257fd5 100644 --- a/test/semnantictokens/BoundedContextSemanticTokens.test.ts +++ b/test/semnantictokens/BoundedContextSemanticTokens.test.ts @@ -5,13 +5,7 @@ import { SemanticTokenProvider } from 'langium/lsp' import { clearDocuments, parseHelper } from 'langium/test' import { ContextMappingModel } from '../../src/language/generated/ast.js' import { SemanticTokensParams } from 'vscode-languageserver' - -/** - * A Semantic Token data array consists of a sequence of integers. - * One token corresponds to a sequence of 5 integers, representing: startLine, startChar, length, type, modifier - */ - -const TOKEN_DATA_LENGTH = 5 +import { assertSemanticToken, TOKEN_DATA_LENGTH } from './SemanticTokenTestHelper.js' let services: ReturnType let parse: ReturnType> @@ -44,16 +38,22 @@ describe('BoundedContext semantic token test', () => { const firstToken = result.data.slice(0, 5) const secondToken = result.data.slice(5, 10) - expect(firstToken[0]).toEqual(0) // startLine - expect(firstToken[1]).toEqual(0) // startChar - expect(firstToken[2]).toEqual(14) // tokenLength - expect(firstToken[3]).toEqual(semanticTokenProvider.tokenTypes.keyword) // tokenType - expect(firstToken[4]).toEqual(0) // tokenModifier - - expect(secondToken[0]).toEqual(0) // startLine - expect(secondToken[1]).toEqual(15) // startChar - expect(secondToken[2]).toEqual(12) // tokenLength - expect(secondToken[3]).toEqual(semanticTokenProvider.tokenTypes.type) // tokenType - expect(secondToken[4]).toEqual(semanticTokenProvider.tokenModifiers.declaration) // tokenModifier + assertSemanticToken( + firstToken, + 0, + 0, + 14, + semanticTokenProvider.tokenTypes.keyword, + 0 + ) + + assertSemanticToken( + secondToken, + 0, + 15, + 12, + semanticTokenProvider.tokenTypes.type, + semanticTokenProvider.tokenModifiers.declaration + ) }) }) diff --git a/test/semnantictokens/SemanticTokenTestHelper.ts b/test/semnantictokens/SemanticTokenTestHelper.ts new file mode 100644 index 0000000..f71dc55 --- /dev/null +++ b/test/semnantictokens/SemanticTokenTestHelper.ts @@ -0,0 +1,17 @@ +import { expect } from 'vitest' + +export const TOKEN_DATA_LENGTH = 5 + +/** + * A Semantic Token data array consists of a sequence of integers. + * One token corresponds to a sequence of 5 integers, representing: startLine, startChar, length, type, modifier + */ +export function assertSemanticToken (token: number[], startLine: number, startCharacter: number, length: number, tokenType: number, tokenModifiers: number) { + expect(token.length).toEqual(TOKEN_DATA_LENGTH) + + expect(token[0]).toEqual(startLine) + expect(token[1]).toEqual(startCharacter) + expect(token[2]).toEqual(length) + expect(token[3]).toEqual(tokenType) + expect(token[4]).toEqual(tokenModifiers) +} From b6b82f0f288c604f4984978d113f5708a443c739 Mon Sep 17 00:00:00 2001 From: Lukas Streckeisen Date: Mon, 14 Apr 2025 17:08:31 +0200 Subject: [PATCH 09/20] refactoring --- .../ContextMapperDslSemanticTokenProvider.ts | 116 +++++----- .../ContextMapperSemanticTokenProvider.ts | 7 + .../semantictokens/HighlightingHelper.ts | 11 +- .../RequirementsSemanticTokenProvider.ts | 116 ---------- .../ValueSemanticTokenProvider.ts | 207 ------------------ .../AggregateSemanticTokenProvider.ts | 14 +- .../BoundedContextSemanticTokenProvider.ts | 22 +- .../SculptorModuleSemanticTokenProvider.ts | 36 +++ .../ContextMapSemanticTokenProvider.ts | 30 +++ .../RelationshipSemanticTokenProvider.ts} | 41 ++-- .../DomainSemanticTokenProvider.ts | 18 +- .../FeatureSemanticTokenProvider.ts | 53 +++++ .../RequirementsSemanticTokenProvider.ts | 75 +++++++ .../StoryValuationSemanticTokenProvider.ts | 28 +++ ...bstractStakeholderSemanticTokenProvider.ts | 46 ++++ .../vdad/ActionSemanticTokenProvider.ts | 23 ++ .../vdad/ConsequenceSemanticTokenProvider.ts | 16 ++ .../vdad/StakeholderSemanticTokenProvider.ts | 18 ++ .../vdad/ValueClusterSemanticTokenProvider.ts | 35 +++ .../ValueElicitationSemanticTokenProvider.ts | 29 +++ .../vdad/ValueEpicSemanticTokenProvider.ts | 27 +++ .../ValueNarrativeSemanticTokenProvider.ts | 27 +++ .../ValueRegisterSemanticTokenProvider.ts | 19 ++ .../vdad/ValueSemanticTokenProvider.ts | 39 ++++ .../ValueWeightingSemanticTokenProvider.ts | 30 +++ test/parsing/parsing.test.ts | 32 --- test/validating/validating.test.ts | 37 ---- 27 files changed, 644 insertions(+), 508 deletions(-) create mode 100644 src/language/semantictokens/ContextMapperSemanticTokenProvider.ts delete mode 100644 src/language/semantictokens/RequirementsSemanticTokenProvider.ts delete mode 100644 src/language/semantictokens/ValueSemanticTokenProvider.ts rename src/language/semantictokens/{ => boundedContext}/AggregateSemanticTokenProvider.ts (82%) rename src/language/semantictokens/{ => boundedContext}/BoundedContextSemanticTokenProvider.ts (70%) create mode 100644 src/language/semantictokens/boundedContext/SculptorModuleSemanticTokenProvider.ts create mode 100644 src/language/semantictokens/contextMap/ContextMapSemanticTokenProvider.ts rename src/language/semantictokens/{ContextMapSemanticTokenProvider.ts => contextMap/RelationshipSemanticTokenProvider.ts} (84%) rename src/language/semantictokens/{ => domain}/DomainSemanticTokenProvider.ts (59%) create mode 100644 src/language/semantictokens/requirements/FeatureSemanticTokenProvider.ts create mode 100644 src/language/semantictokens/requirements/RequirementsSemanticTokenProvider.ts create mode 100644 src/language/semantictokens/requirements/StoryValuationSemanticTokenProvider.ts create mode 100644 src/language/semantictokens/vdad/AbstractStakeholderSemanticTokenProvider.ts create mode 100644 src/language/semantictokens/vdad/ActionSemanticTokenProvider.ts create mode 100644 src/language/semantictokens/vdad/ConsequenceSemanticTokenProvider.ts create mode 100644 src/language/semantictokens/vdad/StakeholderSemanticTokenProvider.ts create mode 100644 src/language/semantictokens/vdad/ValueClusterSemanticTokenProvider.ts create mode 100644 src/language/semantictokens/vdad/ValueElicitationSemanticTokenProvider.ts create mode 100644 src/language/semantictokens/vdad/ValueEpicSemanticTokenProvider.ts create mode 100644 src/language/semantictokens/vdad/ValueNarrativeSemanticTokenProvider.ts create mode 100644 src/language/semantictokens/vdad/ValueRegisterSemanticTokenProvider.ts create mode 100644 src/language/semantictokens/vdad/ValueSemanticTokenProvider.ts create mode 100644 src/language/semantictokens/vdad/ValueWeightingSemanticTokenProvider.ts delete mode 100644 test/parsing/parsing.test.ts delete mode 100644 test/validating/validating.test.ts diff --git a/src/language/semantictokens/ContextMapperDslSemanticTokenProvider.ts b/src/language/semantictokens/ContextMapperDslSemanticTokenProvider.ts index 7d67439..adb9fcd 100644 --- a/src/language/semantictokens/ContextMapperDslSemanticTokenProvider.ts +++ b/src/language/semantictokens/ContextMapperDslSemanticTokenProvider.ts @@ -2,37 +2,54 @@ import { AstNode } from 'langium' import { AbstractSemanticTokenProvider, SemanticTokenAcceptor } from 'langium/lsp' import { ContextMappingModel, - isAbstractStakeholder, isAction, - isAggregate, - isBoundedContext, isConsequence, - isContextMap, - isContextMappingModel, - isDomainPart, - isFeature, - isRelationship, - isStakeholders, - isStoryValuation, - isUserRequirement, - isValue, - isValueCluster, - isValueElicitation, isValueEpic, isValueNarrative, - isValueRegister, isValueWeigthing + isContextMappingModel } from '../generated/ast.js' -import { ContextMapSemanticTokenProvider } from './ContextMapSemanticTokenProvider.js' +import { ContextMapSemanticTokenProvider } from './contextMap/ContextMapSemanticTokenProvider.js' import { SemanticTokenTypes } from 'vscode-languageserver-types' -import { BoundedContextSemanticTokenProvider } from './BoundedContextSemanticTokenProvider.js' -import { DomainSemanticTokenProvider } from './DomainSemanticTokenProvider.js' -import { AggregateSemanticTokenProvider } from './AggregateSemanticTokenProvider.js' -import { RequirementsSemanticTokenProvider } from './RequirementsSemanticTokenProvider.js' -import { ValueSemanticTokenProvider } from './ValueSemanticTokenProvider.js' +import { BoundedContextSemanticTokenProvider } from './boundedContext/BoundedContextSemanticTokenProvider.js' +import { DomainSemanticTokenProvider } from './domain/DomainSemanticTokenProvider.js' +import { AggregateSemanticTokenProvider } from './boundedContext/AggregateSemanticTokenProvider.js' +import { RequirementsSemanticTokenProvider } from './requirements/RequirementsSemanticTokenProvider.js' +import { ValueSemanticTokenProvider } from './vdad/ValueSemanticTokenProvider.js' +import { ContextMapperSemanticTokenProvider } from './ContextMapperSemanticTokenProvider.js' +import { SculptorModuleSemanticTokenProvider } from './boundedContext/SculptorModuleSemanticTokenProvider.js' +import { RelationshipSemanticTokenProvider } from './contextMap/RelationshipSemanticTokenProvider.js' +import { FeatureSemanticTokenProvider } from './requirements/FeatureSemanticTokenProvider.js' +import { StoryValuationSemanticTokenProvider } from './requirements/StoryValuationSemanticTokenProvider.js' +import { AbstractStakeholderSemanticTokenProvider } from './vdad/AbstractStakeholderSemanticTokenProvider.js' +import { ActionSemanticTokenProvider } from './vdad/ActionSemanticTokenProvider.js' +import { ConsequenceSemanticTokenProvider } from './vdad/ConsequenceSemanticTokenProvider.js' +import { StakeholderSemanticTokenProvider } from './vdad/StakeholderSemanticTokenProvider.js' +import { ValueClusterSemanticTokenProvider } from './vdad/ValueClusterSemanticTokenProvider.js' +import { ValueElicitationSemanticTokenProvider } from './vdad/ValueElicitationSemanticTokenProvider.js' +import { ValueEpicSemanticTokenProvider } from './vdad/ValueEpicSemanticTokenProvider.js' +import { ValueNarrativeSemanticTokenProvider } from './vdad/ValueNarrativeSemanticTokenProvider.js' +import { ValueRegisterSemanticTokenProvider } from './vdad/ValueRegisterSemanticTokenProvider.js' +import { ValueWeightingSemanticTokenProvider } from './vdad/ValueWeightingSemanticTokenProvider.js' export class ContextMapperDslSemanticTokenProvider extends AbstractSemanticTokenProvider { - private contextMapTokenProvider = new ContextMapSemanticTokenProvider() - private boundedContextTokenProvider = new BoundedContextSemanticTokenProvider() - private domainTokenProvider = new DomainSemanticTokenProvider() - private aggregateTokenProvider = new AggregateSemanticTokenProvider() - private requirementTokenProvider = new RequirementsSemanticTokenProvider() - private valueTokenProvider = new ValueSemanticTokenProvider() + private semanticTokenProviders: ContextMapperSemanticTokenProvider[] = [ + new AggregateSemanticTokenProvider(), + new BoundedContextSemanticTokenProvider(), + new SculptorModuleSemanticTokenProvider(), + new ContextMapSemanticTokenProvider(), + new RelationshipSemanticTokenProvider(), + new DomainSemanticTokenProvider(), + new FeatureSemanticTokenProvider(), + new RequirementsSemanticTokenProvider(), + new StoryValuationSemanticTokenProvider(), + new AbstractStakeholderSemanticTokenProvider(), + new ActionSemanticTokenProvider(), + new ConsequenceSemanticTokenProvider(), + new StakeholderSemanticTokenProvider(), + new ValueClusterSemanticTokenProvider(), + new ValueElicitationSemanticTokenProvider(), + new ValueEpicSemanticTokenProvider(), + new ValueNarrativeSemanticTokenProvider(), + new ValueRegisterSemanticTokenProvider(), + new ValueSemanticTokenProvider(), + new ValueWeightingSemanticTokenProvider() + ] protected override highlightElement (node: AstNode, acceptor: SemanticTokenAcceptor) { if (isContextMappingModel(node)) { @@ -42,45 +59,14 @@ export class ContextMapperDslSemanticTokenProvider extends AbstractSemanticToken this.highlightComments(/\/\*[\s\S]*?\*\//g, modelNode, acceptor) this.highlightComments(/\/\/[^\n\r]*/g, modelNode, acceptor) } - } else if (isContextMap(node)) { - this.contextMapTokenProvider.highlightContextMap(node, acceptor) - } else if (isRelationship(node)) { - this.contextMapTokenProvider.highlightRelationship(node, acceptor) - } else if (isBoundedContext(node)) { - this.boundedContextTokenProvider.highlightBoundedContext(node, acceptor) - } else if (isDomainPart(node)) { - this.domainTokenProvider.highlightDomainPart(node, acceptor) - } else if (isAggregate(node)) { - this.aggregateTokenProvider.highlightAggregate(node, acceptor) - } else if (isUserRequirement(node)) { - this.requirementTokenProvider.highlightUserRequirement(node, acceptor) - } else if (isFeature(node)) { - this.requirementTokenProvider.highlightFeature(node, acceptor) - } else if (isStoryValuation(node)) { - this.valueTokenProvider.highlightStoryValidation(node, acceptor) - } else if (isStakeholders(node)) { - this.valueTokenProvider.highlightStakeholders(node, acceptor) - } else if (isAbstractStakeholder(node)) { - this.valueTokenProvider.highlightAbstractStakeholder(node, acceptor) - } else if (isValueRegister(node)) { - this.valueTokenProvider.highlightValueRegister(node, acceptor) - } else if (isValueCluster(node)) { - this.valueTokenProvider.highlightValueCluster(node, acceptor) - } else if (isValue(node)) { - this.valueTokenProvider.highlightValue(node, acceptor) - } else if (isValueElicitation(node)) { - this.valueTokenProvider.highlightValueElicitation(node, acceptor) - } else if (isValueEpic(node)) { - this.valueTokenProvider.highlightValueEpic(node, acceptor) - } else if (isValueNarrative(node)) { - this.valueTokenProvider.highlightValueNarrative(node, acceptor) - } else if (isValueWeigthing(node)) { - this.valueTokenProvider.highlightValueWeighting(node, acceptor) - } else if (isConsequence(node)) { - this.valueTokenProvider.highlightConsequence(node, acceptor) - } else if (isAction(node)) { - this.valueTokenProvider.highlightAction(node, acceptor) } else { + for (const provider of this.semanticTokenProviders) { + if (provider.supports(node)) { + provider.highlight(node, acceptor) + return + } + } + console.error('Uncaught node type', node.$type) } } diff --git a/src/language/semantictokens/ContextMapperSemanticTokenProvider.ts b/src/language/semantictokens/ContextMapperSemanticTokenProvider.ts new file mode 100644 index 0000000..a3fe6ea --- /dev/null +++ b/src/language/semantictokens/ContextMapperSemanticTokenProvider.ts @@ -0,0 +1,7 @@ +import { AstNode } from 'langium' +import { SemanticTokenAcceptor } from 'langium/lsp' + +export interface ContextMapperSemanticTokenProvider { + supports(node: AstNode): node is T; + highlight(node: T, acceptor: SemanticTokenAcceptor): void +} diff --git a/src/language/semantictokens/HighlightingHelper.ts b/src/language/semantictokens/HighlightingHelper.ts index c3df495..516eca3 100644 --- a/src/language/semantictokens/HighlightingHelper.ts +++ b/src/language/semantictokens/HighlightingHelper.ts @@ -42,27 +42,20 @@ export function highlightTypeDeclaration (node: AstNode, acceptor: SemanticToken } } -export function highlightMemberAttribute (node: AstNode, acceptor: SemanticTokenAcceptor, keywords: string[], property: string, type: SemanticTokenTypes = SemanticTokenTypes.property, isArray: Boolean = false) { +export function highlightMemberAttribute (node: AstNode, acceptor: SemanticTokenAcceptor, keywords: string[], property: string, type: SemanticTokenTypes = SemanticTokenTypes.property) { keywords.forEach(keyword => highlightKeyword(node, acceptor, keyword)) - // TODO: equal token acceptor({ node, type, property }) - if (isArray) { - // TODO: delimiter token - } } -export function highlightAttribute (node: AstNode, acceptor: SemanticTokenAcceptor, keywords: string[], property: string, isArray: Boolean = false, type: SemanticTokenTypes = SemanticTokenTypes.type) { +export function highlightAttribute (node: AstNode, acceptor: SemanticTokenAcceptor, keywords: string[], property: string, type: SemanticTokenTypes = SemanticTokenTypes.type) { keywords.forEach(keyword => highlightKeyword(node, acceptor, keyword)) acceptor({ node, type, property }) - if (isArray) { - // TODO: delimiter token - } } diff --git a/src/language/semantictokens/RequirementsSemanticTokenProvider.ts b/src/language/semantictokens/RequirementsSemanticTokenProvider.ts deleted file mode 100644 index 9a4615e..0000000 --- a/src/language/semantictokens/RequirementsSemanticTokenProvider.ts +++ /dev/null @@ -1,116 +0,0 @@ -import { - Feature, - isNormalFeature, - isStoryFeature, - isUseCase, - isUserStory, - NormalFeature, - StoryFeature, - UseCase, - UserRequirement, - UserStory -} from '../generated/ast.js' -import { SemanticTokenAcceptor } from 'langium/lsp' -import { - highlightAttribute, - highlightKeyword, - highlightMemberAttribute, - highlightString, - highlightTypeDeclaration -} from './HighlightingHelper.js' -import { SemanticTokenTypes } from 'vscode-languageserver-types' -export class RequirementsSemanticTokenProvider { - public highlightUserRequirement (node: UserRequirement, acceptor: SemanticTokenAcceptor) { - if (isUseCase(node)) { - this.highlightUseCase(node, acceptor) - } else if (isUserStory(node)) { - this.highlightUserStory(node, acceptor) - } - } - - public highlightUseCase (node: UseCase, acceptor: SemanticTokenAcceptor) { - highlightTypeDeclaration(node, acceptor, 'UseCase') - - if (node.role) { - highlightMemberAttribute(node, acceptor, ['actor'], 'role') - } - - if (node.secondaryActors.length > 0) { - highlightMemberAttribute(node, acceptor, ['secondaryActors'], 'secondaryActors', SemanticTokenTypes.string, true) - } - - if (node.features.length > 0) { - highlightKeyword(node, acceptor, 'interactions') - } - - if (node.benefit) { - highlightMemberAttribute(node, acceptor, ['benefit'], 'benefit', SemanticTokenTypes.string) - } - - if (node.scope) { - highlightMemberAttribute(node, acceptor, ['scope'], 'scope', SemanticTokenTypes.string) - } - - if (node.level) { - highlightMemberAttribute(node, acceptor, ['level'], 'level', SemanticTokenTypes.string) - } - } - - public highlightUserStory (node: UserStory, acceptor: SemanticTokenAcceptor) { - highlightTypeDeclaration(node, acceptor, 'UserStory') - - if (node.splittingStory) { - highlightAttribute(node, acceptor, ['split by'], 'splittingStory') - } - - if (node.role) { - highlightMemberAttribute(node, acceptor, ['As a', 'As an'], 'role', SemanticTokenTypes.string) - } - - if (node.benefit) { - highlightMemberAttribute(node, acceptor, ['so that'], 'benefit', SemanticTokenTypes.string) - } - } - - public highlightFeature (node: Feature, acceptor: SemanticTokenAcceptor) { - if (isNormalFeature(node)) { - this.highlightNormalFeature(node, acceptor) - } else if (isStoryFeature(node)) { - this.highlightStoryFeature(node, acceptor) - } - } - - public highlightNormalFeature (node: NormalFeature, acceptor: SemanticTokenAcceptor) { - highlightString(node, acceptor, 'verb') - - if (node.entityArticle) { - highlightKeyword(node, acceptor, node.entityArticle) - } - - highlightString(node, acceptor, 'entity') - - if (node.entityAttributesPreposition) { - highlightKeyword(node, acceptor, node.entityAttributesPreposition) - } - - if (node.entityAttributes.length > 0) { - highlightString(node, acceptor, 'entityAttributes') - } - - if (node.containerEntityPreposition) { - highlightKeyword(node, acceptor, node.containerEntityPreposition) - } - - if (node.containerEntityArticle) { - highlightKeyword(node, acceptor, node.containerEntityArticle) - } - - if (node.containerEntity) { - highlightString(node, acceptor, 'containerEntity') - } - } - - public highlightStoryFeature (node: StoryFeature, acceptor: SemanticTokenAcceptor) { - highlightKeyword(node, acceptor, 'I want to') - } -} diff --git a/src/language/semantictokens/ValueSemanticTokenProvider.ts b/src/language/semantictokens/ValueSemanticTokenProvider.ts deleted file mode 100644 index e2418dc..0000000 --- a/src/language/semantictokens/ValueSemanticTokenProvider.ts +++ /dev/null @@ -1,207 +0,0 @@ -import { - AbstractStakeholder, - Action, - Consequence, - isStakeholder, - isStakeholderGroup, - Stakeholder, - StakeholderGroup, - Stakeholders, - StoryValuation, Value, ValueCluster, ValueElicitation, ValueEpic, ValueNarrative, ValueRegister, ValueWeigthing -} from '../generated/ast.js' -import { SemanticTokenAcceptor } from 'langium/lsp' -import { - highlightAttribute, - highlightKeyword, - highlightMemberAttribute, - highlightString, highlightType, - highlightTypeDeclaration -} from './HighlightingHelper.js' -import { SemanticTokenTypes } from 'vscode-languageserver-types' - -export class ValueSemanticTokenProvider { - public highlightStoryValidation (node: StoryValuation, acceptor: SemanticTokenAcceptor) { - highlightKeyword(node, acceptor, 'and that') - highlightString(node, acceptor, 'promotedValues') - // TODO: delimiter token - highlightKeyword(node, acceptor, 'is') - highlightKeyword(node, acceptor, 'are') - highlightKeyword(node, acceptor, 'promoted') - // TODO: delimiter token - - highlightKeyword(node, acceptor, 'accepting that') - highlightString(node, acceptor, 'harmedValues') - // TODO: delimiter token - highlightKeyword(node, acceptor, 'is') - highlightKeyword(node, acceptor, 'are') - highlightKeyword(node, acceptor, 'reduced') - highlightKeyword(node, acceptor, 'harmed') - } - - public highlightStakeholders (node: Stakeholders, acceptor: SemanticTokenAcceptor) { - highlightKeyword(node, acceptor, 'Stakeholders') - - if (node.contexts.length > 0) { - highlightAttribute(node, acceptor, ['of'], 'contexts', true) - } - } - - public highlightAbstractStakeholder (node: AbstractStakeholder, acceptor: SemanticTokenAcceptor) { - if (isStakeholder(node)) { - this.highlightStakeholder(node, acceptor) - } else if (isStakeholderGroup(node)) { - this.highlightStakeholderGroup(node, acceptor) - } - } - - public highlightStakeholder (node: Stakeholder, acceptor: SemanticTokenAcceptor) { - highlightTypeDeclaration(node, acceptor, 'Stakeholder') - - if (node.influence) { - highlightMemberAttribute(node, acceptor, ['influence'], 'influence') - } - - if (node.interest) { - highlightMemberAttribute(node, acceptor, ['interest'], 'interest') - } - - if (node.description) { - highlightMemberAttribute(node, acceptor, ['description'], 'description', SemanticTokenTypes.string) - } - } - - public highlightStakeholderGroup (node: StakeholderGroup, acceptor: SemanticTokenAcceptor) { - highlightTypeDeclaration(node, acceptor, 'StakeholderGroup') - } - - public highlightValueRegister (node: ValueRegister, acceptor: SemanticTokenAcceptor) { - highlightKeyword(node, acceptor, 'ValueRegister') - - if (node.context) { - highlightAttribute(node, acceptor, ['of'], 'context') - } - } - - public highlightValueCluster (node: ValueCluster, acceptor: SemanticTokenAcceptor) { - highlightTypeDeclaration(node, acceptor, 'ValueCluster') - - if (node.coreValue) { - highlightMemberAttribute(node, acceptor, ['core'], 'coreValue') - } - if (node.coreValue7000) { - highlightMemberAttribute(node, acceptor, ['core'], 'coreValue7000') - } - - this.highlightValueAttributes(node, acceptor) - } - - public highlightValue (node: Value, acceptor: SemanticTokenAcceptor) { - highlightTypeDeclaration(node, acceptor, 'Value') - - if (node.coreValue) { - highlightKeyword(node, acceptor, 'isCore') - } - - this.highlightValueAttributes(node, acceptor) - } - - public highlightValueElicitation (node: ValueElicitation, acceptor: SemanticTokenAcceptor) { - highlightKeyword(node, acceptor, 'Stakeholder') - highlightKeyword(node, acceptor, 'Stakeholders') - highlightType(node, acceptor, 'stakeholder') - - if (node.priority) { - highlightMemberAttribute(node, acceptor, ['priority'], 'priority') - } - - if (node.impact) { - highlightMemberAttribute(node, acceptor, ['impact'], 'impact') - } - - if (node.consequences.length > 0) { - highlightKeyword(node, acceptor, 'consequences') - } - } - - public highlightValueEpic (node: ValueEpic, acceptor: SemanticTokenAcceptor) { - highlightTypeDeclaration(node, acceptor, 'ValueEpic') - - highlightKeyword(node, acceptor, 'As a') - highlightType(node, acceptor, 'stakeholder') - highlightKeyword(node, acceptor, 'I value') - highlightString(node, acceptor, 'value') - highlightKeyword(node, acceptor, 'as demonstrated in') - - highlightKeyword(node, acceptor, 'realization of') - highlightString(node, acceptor, 'realizedValues') - - highlightKeyword(node, acceptor, 'reduction of') - highlightString(node, acceptor, 'reducedValues') - } - - public highlightValueNarrative (node: ValueNarrative, acceptor: SemanticTokenAcceptor) { - highlightTypeDeclaration(node, acceptor, 'ValueNarrative') - - highlightKeyword(node, acceptor, 'When the SOI executes') - highlightString(node, acceptor, 'feature') - - highlightKeyword(node, acceptor, 'stakeholders expect it to promote, protect or create') - highlightString(node, acceptor, 'promotedValues') - - highlightKeyword(node, acceptor, 'possibly degrading or prohibiting') - highlightString(node, acceptor, 'harmedValues') - - highlightKeyword(node, acceptor, 'with the following externally observable and/or internally auditable behavior:') - highlightString(node, acceptor, 'preAndPostConditions') - } - - public highlightValueWeighting (node: ValueWeigthing, acceptor: SemanticTokenAcceptor) { - highlightTypeDeclaration(node, acceptor, 'ValueWeighting') - - highlightKeyword(node, acceptor, 'In the context of the SOI,') - - highlightKeyword(node, acceptor, 'stakeholder') - highlightType(node, acceptor, 'stakeholder') - highlightKeyword(node, acceptor, 'values') - highlightString(node, acceptor, 'value1') - highlightKeyword(node, acceptor, 'more than') - highlightString(node, acceptor, 'value2') - - highlightKeyword(node, acceptor, 'expecting benefits such as') - highlightString(node, acceptor, 'benefits') - - highlightKeyword(node, acceptor, 'running the risk of harms such as') - highlightString(node, acceptor, 'harms') - } - - public highlightConsequence (node: Consequence, acceptor: SemanticTokenAcceptor) { - highlightKeyword(node, acceptor, node.type) - highlightString(node, acceptor, 'consequence') - } - - public highlightAction (node: Action, acceptor: SemanticTokenAcceptor) { - highlightKeyword(node, acceptor, 'action') - highlightString(node, acceptor, 'action') - - const typeKeywords = ['ACT', 'MONITOR'] - if (typeKeywords.includes(node.type)) { - highlightKeyword(node, acceptor, node.type) - } else { - highlightString(node, acceptor, 'type') - } - } - - private highlightValueAttributes (node: ValueCluster | Value, acceptor: SemanticTokenAcceptor) { - if (node.demonstrators.length > 0) { - highlightMemberAttribute(node, acceptor, ['demonstrator'], 'demonstrators', SemanticTokenTypes.string, true) - } - - if (node.relatedValues.length > 0) { - highlightMemberAttribute(node, acceptor, ['relatedValue'], 'relatedValues', SemanticTokenTypes.string, true) - } - - if (node.opposingValues.length > 0) { - highlightMemberAttribute(node, acceptor, ['opposingValue'], 'opposingValues', SemanticTokenTypes.string, true) - } - } -} diff --git a/src/language/semantictokens/AggregateSemanticTokenProvider.ts b/src/language/semantictokens/boundedContext/AggregateSemanticTokenProvider.ts similarity index 82% rename from src/language/semantictokens/AggregateSemanticTokenProvider.ts rename to src/language/semantictokens/boundedContext/AggregateSemanticTokenProvider.ts index e725f57..a3007d7 100644 --- a/src/language/semantictokens/AggregateSemanticTokenProvider.ts +++ b/src/language/semantictokens/boundedContext/AggregateSemanticTokenProvider.ts @@ -1,10 +1,16 @@ -import { Aggregate, isUseCase, isUserRequirement, isUserStory } from '../generated/ast.js' +import { Aggregate, isAggregate, isUseCase, isUserRequirement, isUserStory } from '../../generated/ast.js' import { SemanticTokenAcceptor } from 'langium/lsp' import { SemanticTokenTypes } from 'vscode-languageserver-types' -import { highlightMemberAttribute, highlightString, highlightTypeDeclaration } from './HighlightingHelper.js' +import { highlightMemberAttribute, highlightString, highlightTypeDeclaration } from '../HighlightingHelper.js' +import { ContextMapperSemanticTokenProvider } from '../ContextMapperSemanticTokenProvider.js' +import { AstNode } from 'langium' -export class AggregateSemanticTokenProvider { - public highlightAggregate (node: Aggregate, acceptor: SemanticTokenAcceptor) { +export class AggregateSemanticTokenProvider implements ContextMapperSemanticTokenProvider { + supports (node: AstNode): node is Aggregate { + return isAggregate(node) + } + + highlight (node: Aggregate, acceptor: SemanticTokenAcceptor) { if (node.doc) { highlightString(node, acceptor, 'doc') } diff --git a/src/language/semantictokens/BoundedContextSemanticTokenProvider.ts b/src/language/semantictokens/boundedContext/BoundedContextSemanticTokenProvider.ts similarity index 70% rename from src/language/semantictokens/BoundedContextSemanticTokenProvider.ts rename to src/language/semantictokens/boundedContext/BoundedContextSemanticTokenProvider.ts index 712cec9..7320927 100644 --- a/src/language/semantictokens/BoundedContextSemanticTokenProvider.ts +++ b/src/language/semantictokens/boundedContext/BoundedContextSemanticTokenProvider.ts @@ -1,18 +1,28 @@ import { SemanticTokenAcceptor } from 'langium/lsp' -import { BoundedContext } from '../generated/ast.js' +import { BoundedContext, isBoundedContext } from '../../generated/ast.js' import { SemanticTokenTypes } from 'vscode-languageserver-types' -import { highlightAttribute, highlightMemberAttribute, highlightTypeDeclaration } from './HighlightingHelper.js' +import { + highlightAttribute, + highlightMemberAttribute, + highlightTypeDeclaration +} from '../HighlightingHelper.js' +import { ContextMapperSemanticTokenProvider } from '../ContextMapperSemanticTokenProvider.js' +import { AstNode } from 'langium' + +export class BoundedContextSemanticTokenProvider implements ContextMapperSemanticTokenProvider { + supports (node: AstNode): node is BoundedContext { + return isBoundedContext(node) + } -export class BoundedContextSemanticTokenProvider { - public highlightBoundedContext (node: BoundedContext, acceptor: SemanticTokenAcceptor) { + highlight (node: BoundedContext, acceptor: SemanticTokenAcceptor) { highlightTypeDeclaration(node, acceptor, 'BoundedContext') if (node.implementedDomainParts.length > 0) { - highlightAttribute(node, acceptor, ['implements'], 'implementedDomainParts', true) + highlightAttribute(node, acceptor, ['implements'], 'implementedDomainParts') } if (node.realizedBoundedContexts.length > 0) { - highlightAttribute(node, acceptor, ['realizes'], 'realizedBoundedContexts', true) + highlightAttribute(node, acceptor, ['realizes'], 'realizedBoundedContexts') } if (node.refinedBoundedContext) { diff --git a/src/language/semantictokens/boundedContext/SculptorModuleSemanticTokenProvider.ts b/src/language/semantictokens/boundedContext/SculptorModuleSemanticTokenProvider.ts new file mode 100644 index 0000000..8cafdd4 --- /dev/null +++ b/src/language/semantictokens/boundedContext/SculptorModuleSemanticTokenProvider.ts @@ -0,0 +1,36 @@ +import { ContextMapperSemanticTokenProvider } from '../ContextMapperSemanticTokenProvider.js' +import { isSculptorModule, SculptorModule } from '../../generated/ast.js' +import { SemanticTokenAcceptor } from 'langium/lsp' +import { + highlightKeyword, + highlightMemberAttribute, + highlightString, + highlightTypeDeclaration +} from '../HighlightingHelper.js' +import { SemanticTokenTypes } from 'vscode-languageserver-types' +import { AstNode } from 'langium' + +export class SculptorModuleSemanticTokenProvider implements ContextMapperSemanticTokenProvider { + supports (node: AstNode): node is SculptorModule { + return isSculptorModule(node) + } + + highlight (node: SculptorModule, acceptor: SemanticTokenAcceptor) { + if (node.doc) { + highlightString(node, acceptor, 'doc') + } + highlightTypeDeclaration(node, acceptor, 'Module') + + if (node.external) { + highlightKeyword(node, acceptor, 'external') + } + + if (node.basePackage) { + highlightMemberAttribute(node, acceptor, ['basePackage'], 'basePackage', SemanticTokenTypes.namespace) + } + + if (node.hint) { + highlightMemberAttribute(node, acceptor, ['hint'], 'hint', SemanticTokenTypes.string) + } + } +} diff --git a/src/language/semantictokens/contextMap/ContextMapSemanticTokenProvider.ts b/src/language/semantictokens/contextMap/ContextMapSemanticTokenProvider.ts new file mode 100644 index 0000000..5a82aba --- /dev/null +++ b/src/language/semantictokens/contextMap/ContextMapSemanticTokenProvider.ts @@ -0,0 +1,30 @@ +import { SemanticTokenAcceptor } from 'langium/lsp' +import { + ContextMap, + isContextMap +} from '../../generated/ast.js' +import { highlightAttribute, highlightMemberAttribute, highlightTypeDeclaration } from '../HighlightingHelper.js' +import { ContextMapperSemanticTokenProvider } from '../ContextMapperSemanticTokenProvider.js' +import { AstNode } from 'langium' + +export class ContextMapSemanticTokenProvider implements ContextMapperSemanticTokenProvider { + supports (node: AstNode): node is ContextMap { + return isContextMap(node) + } + + public highlight (node: ContextMap, acceptor: SemanticTokenAcceptor) { + highlightTypeDeclaration(node, acceptor, 'ContextMap', node.name != null) + + if (node.type) { + highlightMemberAttribute(node, acceptor, ['type'], 'type') + } + + if (node.state) { + highlightMemberAttribute(node, acceptor, ['state'], 'state') + } + + if (node.boundedContexts.length > 0) { + highlightAttribute(node, acceptor, ['contains'], 'boundedContexts') + } + } +} diff --git a/src/language/semantictokens/ContextMapSemanticTokenProvider.ts b/src/language/semantictokens/contextMap/RelationshipSemanticTokenProvider.ts similarity index 84% rename from src/language/semantictokens/ContextMapSemanticTokenProvider.ts rename to src/language/semantictokens/contextMap/RelationshipSemanticTokenProvider.ts index ac6d8bb..f721174 100644 --- a/src/language/semantictokens/ContextMapSemanticTokenProvider.ts +++ b/src/language/semantictokens/contextMap/RelationshipSemanticTokenProvider.ts @@ -1,33 +1,22 @@ -import { SemanticTokenAcceptor } from 'langium/lsp' -import { SemanticTokenModifiers, SemanticTokenTypes } from 'vscode-languageserver-types' import { - ContextMap, CustomerSupplierRelationship, isCustomerSupplierRelationship, - isPartnership, - isSharedKernel, + CustomerSupplierRelationship, + isCustomerSupplierRelationship, + isPartnership, isRelationship, isSharedKernel, isSymmetricRelationship, - isUpstreamDownstreamRelationship, Partnership, Relationship, SharedKernel, - SymmetricRelationship, - UpstreamDownstreamRelationship -} from '../generated/ast.js' -import { highlightAttribute, highlightMemberAttribute, highlightTypeDeclaration } from './HighlightingHelper.js' -export class ContextMapSemanticTokenProvider { - public highlightContextMap (node: ContextMap, acceptor: SemanticTokenAcceptor) { - highlightTypeDeclaration(node, acceptor, 'ContextMap', node.name != null) - - if (node.type) { - highlightMemberAttribute(node, acceptor, ['type'], 'type') - } - - if (node.state) { - highlightMemberAttribute(node, acceptor, ['state'], 'state') - } + isUpstreamDownstreamRelationship, Partnership, + Relationship, SharedKernel, + SymmetricRelationship, UpstreamDownstreamRelationship +} from '../../generated/ast.js' +import { SemanticTokenAcceptor } from 'langium/lsp' +import { SemanticTokenModifiers, SemanticTokenTypes } from 'vscode-languageserver-types' +import { ContextMapperSemanticTokenProvider } from '../ContextMapperSemanticTokenProvider.js' - if (node.boundedContexts.length > 0) { - highlightAttribute(node, acceptor, ['contains'], 'boundedContexts', true) - } +export class RelationshipSemanticTokenProvider implements ContextMapperSemanticTokenProvider { + supports (node: Relationship): node is Relationship { + return isRelationship(node) } - public highlightRelationship (node: Relationship, acceptor: SemanticTokenAcceptor) { + highlight (node: Relationship, acceptor: SemanticTokenAcceptor) { if (isSymmetricRelationship(node)) { this.highlightSymmetricRelationship(node, acceptor) } else if (isUpstreamDownstreamRelationship(node)) { @@ -226,7 +215,7 @@ export class ContextMapSemanticTokenProvider { } } - public highlightCustomerSupplierRelationship (node: CustomerSupplierRelationship, acceptor: SemanticTokenAcceptor) { + highlightCustomerSupplierRelationship (node: CustomerSupplierRelationship, acceptor: SemanticTokenAcceptor) { acceptor({ node, type: SemanticTokenTypes.type, diff --git a/src/language/semantictokens/DomainSemanticTokenProvider.ts b/src/language/semantictokens/domain/DomainSemanticTokenProvider.ts similarity index 59% rename from src/language/semantictokens/DomainSemanticTokenProvider.ts rename to src/language/semantictokens/domain/DomainSemanticTokenProvider.ts index 85e0b31..c2b0f4e 100644 --- a/src/language/semantictokens/DomainSemanticTokenProvider.ts +++ b/src/language/semantictokens/domain/DomainSemanticTokenProvider.ts @@ -1,10 +1,16 @@ -import { DomainPart, isDomain, isSubdomain, Subdomain } from '../generated/ast.js' +import { DomainPart, isDomain, isDomainPart, isSubdomain, Subdomain } from '../../generated/ast.js' import { SemanticTokenAcceptor } from 'langium/lsp' import { SemanticTokenTypes } from 'vscode-languageserver-types' -import { highlightAttribute, highlightMemberAttribute, highlightTypeDeclaration } from './HighlightingHelper.js' +import { highlightAttribute, highlightMemberAttribute, highlightTypeDeclaration } from '../HighlightingHelper.js' +import { ContextMapperSemanticTokenProvider } from '../ContextMapperSemanticTokenProvider.js' +import { AstNode } from 'langium' -export class DomainSemanticTokenProvider { - public highlightDomainPart (node: DomainPart, acceptor: SemanticTokenAcceptor) { +export class DomainSemanticTokenProvider implements ContextMapperSemanticTokenProvider { + supports (node: AstNode): node is DomainPart { + return isDomainPart(node) + } + + highlight (node: DomainPart, acceptor: SemanticTokenAcceptor) { let keyword = null if (isDomain(node)) { keyword = 'Domain' @@ -24,9 +30,9 @@ export class DomainSemanticTokenProvider { } } - public highlightSubdomain (node: Subdomain, acceptor: SemanticTokenAcceptor) { + private highlightSubdomain (node: Subdomain, acceptor: SemanticTokenAcceptor) { if (node.supportedFeatures.length > 0) { - highlightAttribute(node, acceptor, ['supports'], 'supportedFeatures', true) + highlightAttribute(node, acceptor, ['supports'], 'supportedFeatures') } if (node.type) { diff --git a/src/language/semantictokens/requirements/FeatureSemanticTokenProvider.ts b/src/language/semantictokens/requirements/FeatureSemanticTokenProvider.ts new file mode 100644 index 0000000..abd6101 --- /dev/null +++ b/src/language/semantictokens/requirements/FeatureSemanticTokenProvider.ts @@ -0,0 +1,53 @@ +import { ContextMapperSemanticTokenProvider } from '../ContextMapperSemanticTokenProvider.js' +import { Feature, isFeature, isNormalFeature, isStoryFeature, NormalFeature, StoryFeature } from '../../generated/ast.js' +import { AstNode } from 'langium' +import { SemanticTokenAcceptor } from 'langium/lsp' +import { highlightKeyword, highlightString } from '../HighlightingHelper.js' + +export class FeatureSemanticTokenProvider implements ContextMapperSemanticTokenProvider { + supports (node: AstNode): node is Feature { + return isFeature(node) + } + + public highlight (node: Feature, acceptor: SemanticTokenAcceptor) { + if (isNormalFeature(node)) { + this.highlightNormalFeature(node, acceptor) + } else if (isStoryFeature(node)) { + this.highlightStoryFeature(node, acceptor) + } + } + + private highlightNormalFeature (node: NormalFeature, acceptor: SemanticTokenAcceptor) { + highlightString(node, acceptor, 'verb') + + if (node.entityArticle) { + highlightKeyword(node, acceptor, node.entityArticle) + } + + highlightString(node, acceptor, 'entity') + + if (node.entityAttributesPreposition) { + highlightKeyword(node, acceptor, node.entityAttributesPreposition) + } + + if (node.entityAttributes.length > 0) { + highlightString(node, acceptor, 'entityAttributes') + } + + if (node.containerEntityPreposition) { + highlightKeyword(node, acceptor, node.containerEntityPreposition) + } + + if (node.containerEntityArticle) { + highlightKeyword(node, acceptor, node.containerEntityArticle) + } + + if (node.containerEntity) { + highlightString(node, acceptor, 'containerEntity') + } + } + + private highlightStoryFeature (node: StoryFeature, acceptor: SemanticTokenAcceptor) { + highlightKeyword(node, acceptor, 'I want to') + } +} diff --git a/src/language/semantictokens/requirements/RequirementsSemanticTokenProvider.ts b/src/language/semantictokens/requirements/RequirementsSemanticTokenProvider.ts new file mode 100644 index 0000000..423b039 --- /dev/null +++ b/src/language/semantictokens/requirements/RequirementsSemanticTokenProvider.ts @@ -0,0 +1,75 @@ +import { + isUseCase, isUserRequirement, + isUserStory, + UseCase, + UserRequirement, + UserStory +} from '../../generated/ast.js' +import { SemanticTokenAcceptor } from 'langium/lsp' +import { + highlightAttribute, + highlightKeyword, + highlightMemberAttribute, + highlightTypeDeclaration +} from '../HighlightingHelper.js' +import { SemanticTokenTypes } from 'vscode-languageserver-types' +import { ContextMapperSemanticTokenProvider } from '../ContextMapperSemanticTokenProvider.js' +import { AstNode } from 'langium' + +export class RequirementsSemanticTokenProvider implements ContextMapperSemanticTokenProvider { + supports (node: AstNode): node is UserRequirement { + return isUserRequirement(node) + } + + highlight (node: UserRequirement, acceptor: SemanticTokenAcceptor) { + if (isUseCase(node)) { + this.highlightUseCase(node, acceptor) + } else if (isUserStory(node)) { + this.highlightUserStory(node, acceptor) + } + } + + private highlightUseCase (node: UseCase, acceptor: SemanticTokenAcceptor) { + highlightTypeDeclaration(node, acceptor, 'UseCase') + + if (node.role) { + highlightMemberAttribute(node, acceptor, ['actor'], 'role') + } + + if (node.secondaryActors.length > 0) { + highlightMemberAttribute(node, acceptor, ['secondaryActors'], 'secondaryActors', SemanticTokenTypes.string) + } + + if (node.features.length > 0) { + highlightKeyword(node, acceptor, 'interactions') + } + + if (node.benefit) { + highlightMemberAttribute(node, acceptor, ['benefit'], 'benefit', SemanticTokenTypes.string) + } + + if (node.scope) { + highlightMemberAttribute(node, acceptor, ['scope'], 'scope', SemanticTokenTypes.string) + } + + if (node.level) { + highlightMemberAttribute(node, acceptor, ['level'], 'level', SemanticTokenTypes.string) + } + } + + private highlightUserStory (node: UserStory, acceptor: SemanticTokenAcceptor) { + highlightTypeDeclaration(node, acceptor, 'UserStory') + + if (node.splittingStory) { + highlightAttribute(node, acceptor, ['split by'], 'splittingStory') + } + + if (node.role) { + highlightMemberAttribute(node, acceptor, ['As a', 'As an'], 'role', SemanticTokenTypes.string) + } + + if (node.benefit) { + highlightMemberAttribute(node, acceptor, ['so that'], 'benefit', SemanticTokenTypes.string) + } + } +} diff --git a/src/language/semantictokens/requirements/StoryValuationSemanticTokenProvider.ts b/src/language/semantictokens/requirements/StoryValuationSemanticTokenProvider.ts new file mode 100644 index 0000000..8c40247 --- /dev/null +++ b/src/language/semantictokens/requirements/StoryValuationSemanticTokenProvider.ts @@ -0,0 +1,28 @@ +import { ContextMapperSemanticTokenProvider } from '../ContextMapperSemanticTokenProvider.js' +import { isStoryValuation, StoryValuation } from '../../generated/ast.js' +import { AstNode } from 'langium' +import { SemanticTokenAcceptor } from 'langium/lsp' +import { highlightKeyword, highlightString } from '../HighlightingHelper.js' + +export class StoryValuationSemanticTokenProvider implements ContextMapperSemanticTokenProvider { + supports (node: AstNode): node is StoryValuation { + return isStoryValuation(node) + } + + highlight (node: StoryValuation, acceptor: SemanticTokenAcceptor) { + highlightKeyword(node, acceptor, 'and that') + highlightString(node, acceptor, 'promotedValues') + + highlightKeyword(node, acceptor, 'is') + highlightKeyword(node, acceptor, 'are') + highlightKeyword(node, acceptor, 'promoted') + + highlightKeyword(node, acceptor, 'accepting that') + highlightString(node, acceptor, 'harmedValues') + + highlightKeyword(node, acceptor, 'is') + highlightKeyword(node, acceptor, 'are') + highlightKeyword(node, acceptor, 'reduced') + highlightKeyword(node, acceptor, 'harmed') + } +} diff --git a/src/language/semantictokens/vdad/AbstractStakeholderSemanticTokenProvider.ts b/src/language/semantictokens/vdad/AbstractStakeholderSemanticTokenProvider.ts new file mode 100644 index 0000000..8ac05f2 --- /dev/null +++ b/src/language/semantictokens/vdad/AbstractStakeholderSemanticTokenProvider.ts @@ -0,0 +1,46 @@ +import { ContextMapperSemanticTokenProvider } from '../ContextMapperSemanticTokenProvider.js' +import { + AbstractStakeholder, + isAbstractStakeholder, + isStakeholder, + isStakeholderGroup, + Stakeholder, StakeholderGroup +} from '../../generated/ast.js' +import { AstNode } from 'langium' +import { SemanticTokenAcceptor } from 'langium/lsp' +import { highlightMemberAttribute, highlightTypeDeclaration } from '../HighlightingHelper.js' +import { SemanticTokenTypes } from 'vscode-languageserver-types' + +export class AbstractStakeholderSemanticTokenProvider implements ContextMapperSemanticTokenProvider { + supports (node: AstNode): node is AbstractStakeholder { + return isAbstractStakeholder(node) + } + + highlight (node: AbstractStakeholder, acceptor: SemanticTokenAcceptor) { + if (isStakeholder(node)) { + this.highlightStakeholder(node, acceptor) + } else if (isStakeholderGroup(node)) { + this.highlightStakeholderGroup(node, acceptor) + } + } + + private highlightStakeholder (node: Stakeholder, acceptor: SemanticTokenAcceptor) { + highlightTypeDeclaration(node, acceptor, 'Stakeholder') + + if (node.influence) { + highlightMemberAttribute(node, acceptor, ['influence'], 'influence') + } + + if (node.interest) { + highlightMemberAttribute(node, acceptor, ['interest'], 'interest') + } + + if (node.description) { + highlightMemberAttribute(node, acceptor, ['description'], 'description', SemanticTokenTypes.string) + } + } + + private highlightStakeholderGroup (node: StakeholderGroup, acceptor: SemanticTokenAcceptor) { + highlightTypeDeclaration(node, acceptor, 'StakeholderGroup') + } +} diff --git a/src/language/semantictokens/vdad/ActionSemanticTokenProvider.ts b/src/language/semantictokens/vdad/ActionSemanticTokenProvider.ts new file mode 100644 index 0000000..c8b9c03 --- /dev/null +++ b/src/language/semantictokens/vdad/ActionSemanticTokenProvider.ts @@ -0,0 +1,23 @@ +import { ContextMapperSemanticTokenProvider } from '../ContextMapperSemanticTokenProvider.js' +import { Action, isAction } from '../../generated/ast.js' +import { AstNode } from 'langium' +import { SemanticTokenAcceptor } from 'langium/lsp' +import { highlightKeyword, highlightString } from '../HighlightingHelper.js' + +export class ActionSemanticTokenProvider implements ContextMapperSemanticTokenProvider { + supports (node: AstNode): node is Action { + return isAction(node) + } + + highlight (node: Action, acceptor: SemanticTokenAcceptor) { + highlightKeyword(node, acceptor, 'action') + highlightString(node, acceptor, 'action') + + const typeKeywords = ['ACT', 'MONITOR'] + if (typeKeywords.includes(node.type)) { + highlightKeyword(node, acceptor, node.type) + } else { + highlightString(node, acceptor, 'type') + } + } +} diff --git a/src/language/semantictokens/vdad/ConsequenceSemanticTokenProvider.ts b/src/language/semantictokens/vdad/ConsequenceSemanticTokenProvider.ts new file mode 100644 index 0000000..cfa1785 --- /dev/null +++ b/src/language/semantictokens/vdad/ConsequenceSemanticTokenProvider.ts @@ -0,0 +1,16 @@ +import { ContextMapperSemanticTokenProvider } from '../ContextMapperSemanticTokenProvider.js' +import { Consequence, isConsequence } from '../../generated/ast.js' +import { AstNode } from 'langium' +import { SemanticTokenAcceptor } from 'langium/lsp' +import { highlightKeyword, highlightString } from '../HighlightingHelper.js' + +export class ConsequenceSemanticTokenProvider implements ContextMapperSemanticTokenProvider { + supports (node: AstNode): node is Consequence { + return isConsequence(node) + } + + highlight (node: Consequence, acceptor: SemanticTokenAcceptor) { + highlightKeyword(node, acceptor, node.type) + highlightString(node, acceptor, 'consequence') + } +} diff --git a/src/language/semantictokens/vdad/StakeholderSemanticTokenProvider.ts b/src/language/semantictokens/vdad/StakeholderSemanticTokenProvider.ts new file mode 100644 index 0000000..e102d19 --- /dev/null +++ b/src/language/semantictokens/vdad/StakeholderSemanticTokenProvider.ts @@ -0,0 +1,18 @@ +import { ContextMapperSemanticTokenProvider } from '../ContextMapperSemanticTokenProvider.js' +import { isStakeholders, Stakeholders } from '../../generated/ast.js' +import { SemanticTokenAcceptor } from 'langium/lsp' +import { highlightAttribute, highlightKeyword } from '../HighlightingHelper.js' + +export class StakeholderSemanticTokenProvider implements ContextMapperSemanticTokenProvider { + supports (node: any): node is Stakeholders { + return isStakeholders(node) + } + + highlight (node: Stakeholders, acceptor: SemanticTokenAcceptor) { + highlightKeyword(node, acceptor, 'Stakeholders') + + if (node.contexts.length > 0) { + highlightAttribute(node, acceptor, ['of'], 'contexts') + } + } +} diff --git a/src/language/semantictokens/vdad/ValueClusterSemanticTokenProvider.ts b/src/language/semantictokens/vdad/ValueClusterSemanticTokenProvider.ts new file mode 100644 index 0000000..9f87ed9 --- /dev/null +++ b/src/language/semantictokens/vdad/ValueClusterSemanticTokenProvider.ts @@ -0,0 +1,35 @@ +import { ContextMapperSemanticTokenProvider } from '../ContextMapperSemanticTokenProvider.js' +import { isValueCluster, ValueCluster } from '../../generated/ast.js' +import { AstNode } from 'langium' +import { SemanticTokenAcceptor } from 'langium/lsp' +import { highlightMemberAttribute, highlightTypeDeclaration } from '../HighlightingHelper.js' +import { SemanticTokenTypes } from 'vscode-languageserver-types' + +export class ValueClusterSemanticTokenProvider implements ContextMapperSemanticTokenProvider { + supports (node: AstNode): node is ValueCluster { + return isValueCluster(node) + } + + highlight (node: ValueCluster, acceptor: SemanticTokenAcceptor) { + highlightTypeDeclaration(node, acceptor, 'ValueCluster') + + if (node.coreValue) { + highlightMemberAttribute(node, acceptor, ['core'], 'coreValue') + } + if (node.coreValue7000) { + highlightMemberAttribute(node, acceptor, ['core'], 'coreValue7000') + } + + if (node.demonstrators.length > 0) { + highlightMemberAttribute(node, acceptor, ['demonstrator'], 'demonstrators', SemanticTokenTypes.string) + } + + if (node.relatedValues.length > 0) { + highlightMemberAttribute(node, acceptor, ['relatedValue'], 'relatedValues', SemanticTokenTypes.string) + } + + if (node.opposingValues.length > 0) { + highlightMemberAttribute(node, acceptor, ['opposingValue'], 'opposingValues', SemanticTokenTypes.string) + } + } +} diff --git a/src/language/semantictokens/vdad/ValueElicitationSemanticTokenProvider.ts b/src/language/semantictokens/vdad/ValueElicitationSemanticTokenProvider.ts new file mode 100644 index 0000000..fa0ddaa --- /dev/null +++ b/src/language/semantictokens/vdad/ValueElicitationSemanticTokenProvider.ts @@ -0,0 +1,29 @@ +import { ContextMapperSemanticTokenProvider } from '../ContextMapperSemanticTokenProvider.js' +import { isValueElicitation, ValueElicitation } from '../../generated/ast.js' +import { AstNode } from 'langium' +import { SemanticTokenAcceptor } from 'langium/lsp' +import { highlightKeyword, highlightMemberAttribute, highlightType } from '../HighlightingHelper.js' + +export class ValueElicitationSemanticTokenProvider implements ContextMapperSemanticTokenProvider { + supports (node: AstNode): node is ValueElicitation { + return isValueElicitation(node) + } + + highlight (node: ValueElicitation, acceptor: SemanticTokenAcceptor) { + highlightKeyword(node, acceptor, 'Stakeholder') + highlightKeyword(node, acceptor, 'Stakeholders') + highlightType(node, acceptor, 'stakeholder') + + if (node.priority) { + highlightMemberAttribute(node, acceptor, ['priority'], 'priority') + } + + if (node.impact) { + highlightMemberAttribute(node, acceptor, ['impact'], 'impact') + } + + if (node.consequences.length > 0) { + highlightKeyword(node, acceptor, 'consequences') + } + } +} diff --git a/src/language/semantictokens/vdad/ValueEpicSemanticTokenProvider.ts b/src/language/semantictokens/vdad/ValueEpicSemanticTokenProvider.ts new file mode 100644 index 0000000..18c23b3 --- /dev/null +++ b/src/language/semantictokens/vdad/ValueEpicSemanticTokenProvider.ts @@ -0,0 +1,27 @@ +import { ContextMapperSemanticTokenProvider } from '../ContextMapperSemanticTokenProvider.js' +import { isValueEpic, ValueEpic } from '../../generated/ast.js' +import { AstNode } from 'langium' +import { SemanticTokenAcceptor } from 'langium/lsp' +import { highlightKeyword, highlightString, highlightType, highlightTypeDeclaration } from '../HighlightingHelper.js' + +export class ValueEpicSemanticTokenProvider implements ContextMapperSemanticTokenProvider { + supports (node: AstNode): node is ValueEpic { + return isValueEpic(node) + } + + highlight (node: ValueEpic, acceptor: SemanticTokenAcceptor) { + highlightTypeDeclaration(node, acceptor, 'ValueEpic') + + highlightKeyword(node, acceptor, 'As a') + highlightType(node, acceptor, 'stakeholder') + highlightKeyword(node, acceptor, 'I value') + highlightString(node, acceptor, 'value') + highlightKeyword(node, acceptor, 'as demonstrated in') + + highlightKeyword(node, acceptor, 'realization of') + highlightString(node, acceptor, 'realizedValues') + + highlightKeyword(node, acceptor, 'reduction of') + highlightString(node, acceptor, 'reducedValues') + } +} diff --git a/src/language/semantictokens/vdad/ValueNarrativeSemanticTokenProvider.ts b/src/language/semantictokens/vdad/ValueNarrativeSemanticTokenProvider.ts new file mode 100644 index 0000000..570521a --- /dev/null +++ b/src/language/semantictokens/vdad/ValueNarrativeSemanticTokenProvider.ts @@ -0,0 +1,27 @@ +import { ContextMapperSemanticTokenProvider } from '../ContextMapperSemanticTokenProvider.js' +import { isValueNarrative, ValueNarrative } from '../../generated/ast.js' +import { AstNode } from 'langium' +import { SemanticTokenAcceptor } from 'langium/lsp' +import { highlightKeyword, highlightString, highlightTypeDeclaration } from '../HighlightingHelper.js' + +export class ValueNarrativeSemanticTokenProvider implements ContextMapperSemanticTokenProvider { + supports (node: AstNode): node is ValueNarrative { + return isValueNarrative(node) + } + + highlight (node: ValueNarrative, acceptor: SemanticTokenAcceptor) { + highlightTypeDeclaration(node, acceptor, 'ValueNarrative') + + highlightKeyword(node, acceptor, 'When the SOI executes') + highlightString(node, acceptor, 'feature') + + highlightKeyword(node, acceptor, 'stakeholders expect it to promote, protect or create') + highlightString(node, acceptor, 'promotedValues') + + highlightKeyword(node, acceptor, 'possibly degrading or prohibiting') + highlightString(node, acceptor, 'harmedValues') + + highlightKeyword(node, acceptor, 'with the following externally observable and/or internally auditable behavior:') + highlightString(node, acceptor, 'preAndPostConditions') + } +} diff --git a/src/language/semantictokens/vdad/ValueRegisterSemanticTokenProvider.ts b/src/language/semantictokens/vdad/ValueRegisterSemanticTokenProvider.ts new file mode 100644 index 0000000..2609f59 --- /dev/null +++ b/src/language/semantictokens/vdad/ValueRegisterSemanticTokenProvider.ts @@ -0,0 +1,19 @@ +import { ContextMapperSemanticTokenProvider } from '../ContextMapperSemanticTokenProvider.js' +import { isValueRegister, ValueRegister } from '../../generated/ast.js' +import { AstNode } from 'langium' +import { SemanticTokenAcceptor } from 'langium/lsp' +import { highlightAttribute, highlightKeyword } from '../HighlightingHelper.js' + +export class ValueRegisterSemanticTokenProvider implements ContextMapperSemanticTokenProvider { + supports (node: AstNode): node is ValueRegister { + return isValueRegister(node) + } + + highlight (node: ValueRegister, acceptor: SemanticTokenAcceptor) { + highlightKeyword(node, acceptor, 'ValueRegister') + + if (node.context) { + highlightAttribute(node, acceptor, ['of'], 'context') + } + } +} diff --git a/src/language/semantictokens/vdad/ValueSemanticTokenProvider.ts b/src/language/semantictokens/vdad/ValueSemanticTokenProvider.ts new file mode 100644 index 0000000..3c37f2f --- /dev/null +++ b/src/language/semantictokens/vdad/ValueSemanticTokenProvider.ts @@ -0,0 +1,39 @@ +import { + isValue, + Value +} from '../../generated/ast.js' +import { SemanticTokenAcceptor } from 'langium/lsp' +import { + highlightKeyword, + highlightMemberAttribute, + highlightTypeDeclaration +} from '../HighlightingHelper.js' +import { SemanticTokenTypes } from 'vscode-languageserver-types' +import { ContextMapperSemanticTokenProvider } from '../ContextMapperSemanticTokenProvider.js' +import { AstNode } from 'langium' + +export class ValueSemanticTokenProvider implements ContextMapperSemanticTokenProvider { + supports (node: AstNode): node is Value { + return isValue(node) + } + + highlight (node: Value, acceptor: SemanticTokenAcceptor) { + highlightTypeDeclaration(node, acceptor, 'Value') + + if (node.coreValue) { + highlightKeyword(node, acceptor, 'isCore') + } + + if (node.demonstrators.length > 0) { + highlightMemberAttribute(node, acceptor, ['demonstrator'], 'demonstrators', SemanticTokenTypes.string) + } + + if (node.relatedValues.length > 0) { + highlightMemberAttribute(node, acceptor, ['relatedValue'], 'relatedValues', SemanticTokenTypes.string) + } + + if (node.opposingValues.length > 0) { + highlightMemberAttribute(node, acceptor, ['opposingValue'], 'opposingValues', SemanticTokenTypes.string) + } + } +} diff --git a/src/language/semantictokens/vdad/ValueWeightingSemanticTokenProvider.ts b/src/language/semantictokens/vdad/ValueWeightingSemanticTokenProvider.ts new file mode 100644 index 0000000..3762679 --- /dev/null +++ b/src/language/semantictokens/vdad/ValueWeightingSemanticTokenProvider.ts @@ -0,0 +1,30 @@ +import { ContextMapperSemanticTokenProvider } from '../ContextMapperSemanticTokenProvider.js' +import { isValueWeigthing, ValueWeigthing } from '../../generated/ast.js' +import { AstNode } from 'langium' +import { SemanticTokenAcceptor } from 'langium/lsp' +import { highlightKeyword, highlightString, highlightType, highlightTypeDeclaration } from '../HighlightingHelper.js' + +export class ValueWeightingSemanticTokenProvider implements ContextMapperSemanticTokenProvider { + supports (node: AstNode): node is ValueWeigthing { + return isValueWeigthing(node) + } + + highlight (node: ValueWeigthing, acceptor: SemanticTokenAcceptor) { + highlightTypeDeclaration(node, acceptor, 'ValueWeighting') + + highlightKeyword(node, acceptor, 'In the context of the SOI,') + + highlightKeyword(node, acceptor, 'stakeholder') + highlightType(node, acceptor, 'stakeholder') + highlightKeyword(node, acceptor, 'values') + highlightString(node, acceptor, 'value1') + highlightKeyword(node, acceptor, 'more than') + highlightString(node, acceptor, 'value2') + + highlightKeyword(node, acceptor, 'expecting benefits such as') + highlightString(node, acceptor, 'benefits') + + highlightKeyword(node, acceptor, 'running the risk of harms such as') + highlightString(node, acceptor, 'harms') + } +} diff --git a/test/parsing/parsing.test.ts b/test/parsing/parsing.test.ts deleted file mode 100644 index 0fee769..0000000 --- a/test/parsing/parsing.test.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { beforeAll, describe, expect, test } from 'vitest' -import { EmptyFileSystem, type LangiumDocument } from 'langium' -import { parseHelper } from 'langium/test' -import { createContextMapperDslServices } from '../../src/language/context-mapper-dsl-module.js' -import { ContextMappingModel } from '../../src/language/generated/ast.js' -import { checkDocumentValid } from '../TestHelper.js' - -let services: ReturnType -let parse: ReturnType> -let document: LangiumDocument | undefined - -beforeAll(async () => { - services = createContextMapperDslServices(EmptyFileSystem) - parse = parseHelper(services.ContextMapperDsl) - - // activate the following if your linking test requires elements from a built-in library, for example - // await services.shared.workspace.WorkspaceManager.initializeWorkspace([]) -}) - -describe('Parsing tests', () => { - test('parse simple model', async () => { - document = await parse(` - BoundedContext FirstContext - `) - - const errors = checkDocumentValid(document) - expect(errors == null).toBeTruthy() - - expect(document.parseResult.value?.boundedContexts?.map(b => b.name)) - .toEqual(['FirstContext']) - }) -}) diff --git a/test/validating/validating.test.ts b/test/validating/validating.test.ts deleted file mode 100644 index 811cc5e..0000000 --- a/test/validating/validating.test.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { beforeAll, describe, expect, test } from 'vitest' -import { EmptyFileSystem, type LangiumDocument } from 'langium' -import { parseHelper } from 'langium/test' -import type { Diagnostic } from 'vscode-languageserver-types' -import { createContextMapperDslServices } from '../../src/language/context-mapper-dsl-module.js' -import { ContextMappingModel } from '../../src/language/generated/ast.js' -import { checkDocumentValid } from '../TestHelper.js' - -let services: ReturnType -let parse: ReturnType> -let document: LangiumDocument | undefined - -beforeAll(async () => { - services = createContextMapperDslServices(EmptyFileSystem) - const doParse = parseHelper(services.ContextMapperDsl) - parse = (input: string) => doParse(input, { validation: true }) - - // activate the following if your linking test requires elements from a built-in library, for example - // await services.shared.workspace.WorkspaceManager.initializeWorkspace([]); -}) - -describe('Validating', () => { - test('check no errors', async () => { - document = await parse(` - BoundedContext Test - `) - - const errors = checkDocumentValid(document) - expect(errors == null).toBeTruthy() - - expect(document?.diagnostics?.map(diagnosticToString)).toHaveLength(0) - }) -}) - -function diagnosticToString (d: Diagnostic) { - return `[${d.range.start.line}:${d.range.start.character}..${d.range.end.line}:${d.range.end.character}]: ${d.message}` -} From cb2fb93e716c24595467c48977079df7850cae74 Mon Sep 17 00:00:00 2001 From: Lukas Streckeisen Date: Mon, 14 Apr 2025 17:10:44 +0200 Subject: [PATCH 10/20] work around unsupported '&' operator and add semantic validation where necessary --- src/language/context-mapper-dsl-validator.ts | 10 +- src/language/context-mapper-dsl.langium | 341 +++++++++++------- .../AbstractContextMapperValidator.ts | 5 + .../ContextMappingModelValidator.ts | 18 + src/language/validation/ValueValidator.ts | 14 + 5 files changed, 261 insertions(+), 127 deletions(-) create mode 100644 src/language/validation/AbstractContextMapperValidator.ts create mode 100644 src/language/validation/ContextMappingModelValidator.ts create mode 100644 src/language/validation/ValueValidator.ts diff --git a/src/language/context-mapper-dsl-validator.ts b/src/language/context-mapper-dsl-validator.ts index 4ef8e75..548a27b 100644 --- a/src/language/context-mapper-dsl-validator.ts +++ b/src/language/context-mapper-dsl-validator.ts @@ -1,6 +1,8 @@ import type { ValidationChecks } from 'langium' import type { ContextMapperDslAstType } from './generated/ast.js' import type { ContextMapperDslServices } from './context-mapper-dsl-module.js' +import { ContextMappingModelValidator } from './validation/ContextMappingModelValidator.js' +import { ValueValidator } from './validation/ValueValidator.js' /** * Register custom validation checks. @@ -8,13 +10,13 @@ import type { ContextMapperDslServices } from './context-mapper-dsl-module.js' export function registerValidationChecks (services: ContextMapperDslServices) { const registry = services.validation.ValidationRegistry const validator = services.validation.ContextMapperDslValidator - const checks: ValidationChecks = {} + const checks: ValidationChecks = { + ContextMappingModel: new ContextMappingModelValidator().validate, + Value: new ValueValidator().validate + } registry.register(checks, validator) } -/** - * Implementation of custom validations. - */ export class ContextMapperDslValidator { } diff --git a/src/language/context-mapper-dsl.langium b/src/language/context-mapper-dsl.langium index 6fe73d5..a880b4e 100644 --- a/src/language/context-mapper-dsl.langium +++ b/src/language/context-mapper-dsl.langium @@ -13,20 +13,31 @@ hidden terminal HIDDEN_ML_COMMENT: ML_COMMENT; hidden terminal HIDDEN_SL_COMMENT: SL_COMMENT; entry ContextMappingModel: - (map=ContextMap)? - (boundedContexts+=BoundedContext)* - (domains+=Domain)* - (userRequirements+=UserRequirement)* - (stakeholders+=Stakeholders)* - (valueRegisters+=ValueRegister)* -; + ( + (contextMaps+=ContextMap) | + (boundedContexts+=BoundedContext) | + (domains+=Domain) | + (userRequirements+=UserRequirement) | + (stakeholders+=Stakeholders) | + (valueRegisters+=ValueRegister) + )* +; + +/* + In Langium, elements in unordered groups are optional by default. + However, the usage of the ? cardinality is not allowed in unordered groups. + Therefore, to create a rule with optional, unordered elements, one needs to omit the ? operator and combine them with the & operator. + This behavior may change in the future. + Also, unordered groups may cause unreadable parsing errors. To resolve that, unordered groups can be replaced with a (A | B | C)* rule and enforce non-repetition of elements with a validator. + https://github.com/eclipse-langium/langium/discussions/1903 + */ ContextMap: - {infer ContextMap} // make sure there is always a context map + // {ContextMap} make sure there is always a context map 'ContextMap' (name=ID)? OPEN - ('type' ('=')? type=ContextMapType)? - ('state' ('=')? state=ContextMapState)? + (('type' ('=')? type=ContextMapType)? + ('state' ('=')? state=ContextMapState)?) ('contains' boundedContexts+=[BoundedContext] ("," boundedContexts+=[BoundedContext])*)* relationships+=Relationship* CLOSE @@ -34,24 +45,76 @@ ContextMap: BoundedContext: 'BoundedContext' name=ID ( - ('implements' (implementedDomainParts+=[DomainPart]) ("," implementedDomainParts+=[DomainPart])*)? - ('realizes' (realizedBoundedContexts+=[BoundedContext]) ("," realizedBoundedContexts+=[BoundedContext])*)? - ('refines' refinedBoundedContext=[BoundedContext])? + ( + ('implements' (implementedDomainParts+=[DomainPart]) ("," implementedDomainParts+=[DomainPart])*) & + ('realizes' (realizedBoundedContexts+=[BoundedContext]) ("," realizedBoundedContexts+=[BoundedContext])*) & + ('refines' refinedBoundedContext=[BoundedContext]) + ) ) ( + /*OPEN + ( + domainVisionStatements += DomainVisionStatementField | + types += BoundedContextTypeField | + knowledgeLevels += KnowledgeLevelField | + implementationTechnologies += ImplementationTechnologyField | + businessModels += BusinessModelField | + evolutions += EvolutionField + )* + ( + ( + modules+=SculptorModule | + aggregates+=Aggregate + )* + ) + CLOSE*/ OPEN - ('domainVisionStatement' ('=')? domainVisionStatement=STRING)? - ('type' ('=')? type=BoundedContextType)? - (('responsibilities' ('=')? responsibilities+=STRING) ("," responsibilities+=STRING)*)? - ('implementationTechnology' ('=')? implementationTechnology=STRING)? - ('knowledgeLevel' ('=')? knowledgeLevel=KnowledgeLevel)? - ('businessModel' ('=')? businessModel=STRING)? - ('evolution' ('=')? evolution=Evolution)? - (aggregates+=Aggregate)* + ( + ('domainVisionStatement' ('=') domainVisionStatement=STRING) & + ('type' ('=') type=BoundedContextType) & + (('responsibilities' ('=')? responsibilities+=STRING) ("," responsibilities+=STRING)*) & + ('implementationTechnology' ('=') implementationTechnology=STRING) & + ('knowledgeLevel' ('=') knowledgeLevel=KnowledgeLevel) & + ('businessModel' ('=') businessModel=STRING) & + ('evolution' ('=') evolution=Evolution) + ) + ( + ( + modules+=SculptorModule | + aggregates+=Aggregate + )* + ) CLOSE )? ; +DomainVisionStatementField: + ('domainVisionStatement' ('=') domainVisionStatement=STRING) +; + +BoundedContextTypeField: + ('type' ('=') type=BoundedContextType) +; + +ResponsibilitiesField: + (('responsibilities' ('=')? responsibilities+=STRING) ("," responsibilities+=STRING)*) +; + +KnowledgeLevelField: + ('knowledgeLevel' ('=') knowledgeLevel=KnowledgeLevel) +; + +ImplementationTechnologyField: + ('implementationTechnology' ('=') implementationTechnology=STRING) +; + +BusinessModelField: + ('businessModel' ('=') businessModel=STRING) +; + +EvolutionField: + ('evolution' ('=') evolution=Evolution); + DomainPart: Domain | Subdomain ; @@ -70,8 +133,10 @@ Subdomain: 'Subdomain' name=ID ('supports' (supportedFeatures+=[UserRequirement]) ("," supportedFeatures+=[UserRequirement])*)? ( OPEN - (('type' ('=')? type=SubDomainType)? - ('domainVisionStatement' ('=')? domainVisionStatement=STRING)?) + ( + ('type' ('=')? type=SubDomainType) & + ('domainVisionStatement' ('=')? domainVisionStatement=STRING) + ) CLOSE )? ; @@ -123,11 +188,12 @@ UpstreamDownstreamRelationship: (downstream=[BoundedContext] ('['((downstreamRoles+=DownstreamRole) ("," downstreamRoles+=DownstreamRole)*)?']')?'Downstream-Upstream'('['((upstreamRoles+=UpstreamRole) ("," upstreamRoles+=UpstreamRole)*)?']')? upstream=[BoundedContext]) ) (':' name=ID)? - (OPEN ( - ('implementationTechnology' ('=')? implementationTechnology=STRING)? - (('exposedAggregates' ('=')? upstreamExposedAggregates+=[Aggregate]) ("," upstreamExposedAggregates+=[Aggregate])* )? - ('downstreamRights' ('=')? downstreamGovernanceRights=DownstreamGovernanceRights)? - ) + (OPEN + ( + ('implementationTechnology' ('=')? implementationTechnology=STRING) & + (('exposedAggregates' ('=')? upstreamExposedAggregates+=[Aggregate]) ("," upstreamExposedAggregates+=[Aggregate])* (exposedAggregatesComment=SL_COMMENT)?) & + ('downstreamRights' ('=')? downstreamGovernanceRights=DownstreamGovernanceRights) + ) CLOSE)? ) ; @@ -141,35 +207,36 @@ CustomerSupplierRelationship: (upstream=[BoundedContext] ('['((upstreamRoles+=UpstreamRole) ("," upstreamRoles+=UpstreamRole)*)?']')?'Supplier-Customer'('['((downstreamRoles+=DownstreamRole) ("," downstreamRoles+=DownstreamRole)*)?']')? downstream=[BoundedContext]) ) (':' name=ID)? - (OPEN ( - ('implementationTechnology' ('=')? implementationTechnology=STRING)? - (('exposedAggregates' ('=')? upstreamExposedAggregates+=[Aggregate]) ("," upstreamExposedAggregates+=[Aggregate])* )? - ('downstreamRights' ('=')? downstreamGovernanceRights=DownstreamGovernanceRights)? - ) + (OPEN + ( + ('implementationTechnology' ('=')? implementationTechnology=STRING) & + (('exposedAggregates' ('=')? upstreamExposedAggregates+=[Aggregate]) ("," upstreamExposedAggregates+=[Aggregate])* (exposedAggregatesComment=SL_COMMENT)?) & + ('downstreamRights' ('=')? downstreamGovernanceRights=DownstreamGovernanceRights) + ) CLOSE)? ) ; Aggregate: - (doc=STRING)? + (doc=STRING)? "Aggregate" name=ID (OPEN ( - (('responsibilities' ('=')? responsibilities+=STRING) ("," responsibilities+=STRING)*)? + (('responsibilities' ('=')? responsibilities+=STRING) ("," responsibilities+=STRING)*) & ( (('useCases' ('=')? userRequirements+=[UseCase]) ("," userRequirements+=[UseCase])*) | (('userStories' ('=')? userRequirements+=[UserStory]) ("," userRequirements+=[UserStory])*) | ((('features' | 'userRequirements') ('=')? userRequirements+=[UserRequirement]) ("," userRequirements+=[UserRequirement])*) - )? - ('owner' ('=')? owner=[BoundedContext])? - ('knowledgeLevel' ('=')? knowledgeLevel=KnowledgeLevel)? - (('likelihoodForChange' | 'structuralVolatility') ('=')? likelihoodForChange=Volatility)? - ('contentVolatility' ('=')? contentVolatility=Volatility)? - ('availabilityCriticality' ('=')? availabilityCriticality=Criticality)? - ('consistencyCriticality' ('=')? consistencyCriticality=Criticality)? - ('storageSimilarity' ('=')? storageSimilarity=Similarity)? - ('securityCriticality' ('=')? securityCriticality=Criticality)? - ('securityZone' ('=')? securityZone=STRING)? - ('securityAccessGroup' ('=')? securityAccessGroup=STRING)? + ) & + ('owner' ('=')? owner=[BoundedContext]) & + ('knowledgeLevel' ('=')? knowledgeLevel=KnowledgeLevel) & + (('likelihoodForChange' | 'structuralVolatility') ('=')? likelihoodForChange=Volatility) & + ('contentVolatility' ('=')? contentVolatility=Volatility) & + ('availabilityCriticality' ('=')? availabilityCriticality=Criticality) & + ('consistencyCriticality' ('=')? consistencyCriticality=Criticality) & + ('storageSimilarity' ('=')? storageSimilarity=Similarity) & + ('securityCriticality' ('=')? securityCriticality=Criticality) & + ('securityZone' ('=')? securityZone=STRING) & + ('securityAccessGroup' ('=')? securityAccessGroup=STRING) ) CLOSE)? ; @@ -180,12 +247,14 @@ UserRequirement: UseCase: 'UseCase' name=ID (OPEN - (('actor' ('=')? role=STRING)? - ('secondaryActors' ('=')? secondaryActors+=STRING ("," secondaryActors+=STRING)*)? - ('interactions' ('=')? features+=Feature ("," features+=Feature)*)? - ('benefit' ('=')? benefit=STRING)? - ('scope' ('=')? scope=STRING)? - ('level' ('=')? level=STRING)?) + ( + ('actor' ('=')? role=STRING) & + ('secondaryActors' ('=')? secondaryActors+=STRING ("," secondaryActors+=STRING)*) & + ('interactions' ('=')? features+=Feature ("," features+=Feature)*) & + ('benefit' ('=')? benefit=STRING) & + ('scope' ('=')? scope=STRING) & + ('level' ('=')? level=STRING) + ) CLOSE)? ; @@ -204,7 +273,7 @@ NormalFeature: ; StoryFeature: - 'I want to' normalFeature=NormalFeature + 'I want to' verb=(UserActivityDefaultVerb | STRING) (entityArticle='a' | entityArticle='an' | entityArticle='the')? entity=STRING ((entityAttributesPreposition='with its' | entityAttributesPreposition='with their') entityAttributes+=STRING ("," entityAttributes+=STRING)*)? ((containerEntityPreposition='in' | containerEntityPreposition='for' | containerEntityPreposition='to')(containerEntityArticle='a' | containerEntityArticle='an')? containerEntity=STRING)? ; StoryValuation: @@ -212,12 +281,33 @@ StoryValuation: 'accepting that' harmedValues+=STRING (',' harmedValues+=STRING)* ('is' | 'are') ('reduced' | 'harmed') ; -terminal UserActivityDefaultVerb: +UserActivityDefaultVerb returns string: 'create' | 'read' | 'update' | 'delete' ; +SculptorModule: + (doc=STRING)? + 'Module' name=ID ( + OPEN + ( + (external?='external') & + ('basePackage' '=' basePackage=JavaIdentifier) & + ('hint' '=' hint=STRING) + ) + ( + (aggregates+=Aggregate) + )* + CLOSE + )? +; + +JavaIdentifier returns string: + (ID ("." ID )* ) +; + Stakeholders: - {infer Stakeholders} 'Stakeholders' ('of' (contexts+=[BoundedContext]) (',' contexts+=[BoundedContext])*)? (OPEN + // {Stakeholders} + 'Stakeholders' ('of' (contexts+=[BoundedContext]) (',' contexts+=[BoundedContext])*)? (OPEN ( (stakeholders+=AbstractStakeholder)* ) @@ -231,7 +321,7 @@ AbstractStakeholder: StakeholderGroup: 'StakeholderGroup' name=ID (OPEN ( - (stakeholders+=Stakeholder)* + (stakeholders+=Stakeholder)* ) CLOSE)? ; @@ -239,9 +329,9 @@ StakeholderGroup: Stakeholder: 'Stakeholder' name=ID (OPEN ( - ('influence' ('=')? influence=INFLUENCE)? - ('interest' ('=')? interest=INTEREST)? - ('description' ('=')? description=STRING)? + ('influence' ('=')? influence=INFLUENCE) & + ('interest' ('=')? interest=INTEREST) & + ('description' ('=')? description=STRING) ) CLOSE)? ; @@ -249,24 +339,28 @@ Stakeholder: ValueRegister: 'ValueRegister' name=ID ('for' context=[BoundedContext])? (OPEN ( - (valueClusters+=ValueCluster)* - (values+=Value)* - (valueEpics+=ValueEpic)* - (valueNarratives+=ValueNarrative)* - (valueWeightings+=ValueWeigthing)* - ) + (valueClusters+=ValueCluster) | + (values+=Value) | + (valueEpics+=ValueEpic) | + (valueNarratives+=ValueNarrative) | + (valueWeightings+=ValueWeigthing) + )* CLOSE)? ; ValueCluster: 'ValueCluster' name=ID (OPEN ( - (('core' ('=')? coreValue7000=CoreValue) | ('core' ('=')? coreValue=STRING)) - ('demonstrator' ('=')? demonstrators+=STRING)* - ('relatedValue' ('=')? relatedValues+=STRING)* - ('opposingValue' ('=')? opposingValues+=STRING)* - (values+=Value)* - (elicitations+=ValueElicitation)* + (('core' ('=')? coreValue7000=CoreValue) | ('core' ('=')? coreValue=STRING)) & + ( + ('demonstrator' ('=')? demonstrators+=STRING) | + ('relatedValue' ('=')? relatedValues+=STRING) | + ('opposingValue' ('=')? opposingValues+=STRING) + )* + ( + (values+=Value) | + (elicitations+=ValueElicitation) + )* ) CLOSE)? ; @@ -274,21 +368,21 @@ ValueCluster: Value: 'Value' name=ID (OPEN ( - (coreValue?='isCore')? - ('demonstrator' ('=')? demonstrators+=STRING)* - ('relatedValue' ('=')? relatedValues+=STRING)* - ('opposingValue' ('=')? opposingValues+=STRING)* - (elicitations+=ValueElicitation)* - ) + (coreValue+='isCore') | + ('demonstrator' ('=')? demonstrators+=STRING) | + ('relatedValue' ('=')? relatedValues+=STRING) | + ('opposingValue' ('=')? opposingValues+=STRING) + )* + (elicitations+=ValueElicitation)* CLOSE)? ; ValueElicitation: ('Stakeholder'|'Stakeholders') stakeholder=[AbstractStakeholder] (OPEN ( - ('priority' ('=')? priority=PRIORITY)? - ('impact' ('=')? impact=IMPACT)? - ('consequences' (consequences+=Consequence)+)? + ('priority' ('=')? priority=PRIORITY) & + ('impact' ('=')? impact=IMPACT) & + ('consequences' (consequences+=Consequence)+) ) CLOSE)? ; @@ -297,9 +391,11 @@ ValueElicitation: ValueEpic: 'ValueEpic' name=ID (OPEN ( - 'As a' stakeholder=[AbstractStakeholder] 'I value' value=STRING 'as demonstrated in' - (('realization of' realizedValues+=STRING)+ - ('reduction of' reducedValues+=STRING)+) + 'As a' stakeholder=[AbstractStakeholder] 'I value' value=STRING 'as demonstrated in' + ( + ('realization of' realizedValues+=STRING)+ & + ('reduction of' reducedValues+=STRING)+ + ) ) CLOSE)? ; @@ -309,8 +405,8 @@ ValueNarrative: ( 'When the SOI executes' feature=STRING ',' 'stakeholders expect it to promote, protect or create' promotedValues=STRING ',' - 'possibly degrading or prohibiting' harmedValues=STRING - 'with the following externally observable and/or internally auditable behavior:' preAndPostConditions=STRING + 'possibly degrading or prohibiting' harmedValues=STRING + 'with the following externally observable and/or internally auditable behavior:' preAndPostConditions=STRING ) CLOSE) ; @@ -318,10 +414,10 @@ ValueNarrative: ValueWeigthing: 'ValueWeigthing' name=ID (OPEN ( - 'In the context of the SOI,' + 'In the context of the SOI,' 'stakeholder' stakeholder=[AbstractStakeholder] 'values' value1=STRING 'more than' value2=STRING - 'expecting benefits such as' benefits=STRING - 'running the risk of harms such as' harms=STRING + 'expecting benefits such as' benefits=STRING + 'running the risk of harms such as' harms=STRING ) CLOSE) ; @@ -335,71 +431,70 @@ Action: ; -UpstreamRole: - PUBLISHED_LANGUAGE='PL' | OPEN_HOST_SERVICE='OHS' +UpstreamRole returns string: + 'PL'| 'OHS' ; -DownstreamRole: - ANTICORRUPTION_LAYER='ACL' | CONFORMIST='CF' +DownstreamRole returns string: + 'ACL' | 'CF' ; -ContextMapState: - UNDEFINED='UNDEFINED' | AS_IS='AS_IS' | TO_BE='TO_BE' +ContextMapState returns string: + 'UNDEFINED' | 'AS_IS' | 'TO_BE' ; -ContextMapType: - UNDEFINED='UNDEFINED' | SYSTEM_LANDSCAPE='SYSTEM_LANDSCAPE' | ORGANIZATIONAL='ORGANIZATIONAL' +ContextMapType returns string: + 'UNDEFINED' | 'SYSTEM_LANDSCAPE' | 'ORGANIZATIONAL' ; -BoundedContextType: - UNDEFINED='UNDEFINED' | FEATURE='FEATURE' | APPLICATION='APPLICATION' | SYSTEM='SYSTEM' | TEAM='TEAM' +BoundedContextType returns string: + 'UNDEFINED' | 'FEATURE' | 'APPLICATION' | 'SYSTEM' | 'TEAM' ; -SubDomainType: - UNDEFINED='UNDEFINED' | CORE_DOMAIN='CORE_DOMAIN' | SUPPORTING_DOMAIN='SUPPORTING_DOMAIN' | GENERIC_SUBDOMAIN='GENERIC_SUBDOMAIN' +SubDomainType returns string: + 'UNDEFINED' | 'CORE_DOMAIN' | 'SUPPORTING_DOMAIN' | 'GENERIC_SUBDOMAIN' ; -DownstreamGovernanceRights: - INFLUENCER='INFLUENCER' | OPINION_LEADER='OPINION_LEADER' | VETO_RIGHT='VETO_RIGHT' | DECISION_MAKER='DECISION_MAKER' | MONOPOLIST='MONOPOLIST' +DownstreamGovernanceRights returns string: + 'INFLUENCER' | 'OPINION_LEADER' | 'VETO_RIGHT' | 'DECISION_MAKER' | 'MONOPOLIST' ; -KnowledgeLevel: - META='META' | CONCRETE='CONCRETE' +KnowledgeLevel returns string: + "META" | "CONCRETE" ; -Volatility: - UNDEFINED='UNDEFINED' | NORMAL='NORMAL'| RARELY='RARELY' | OFTEN='OFTEN' +Volatility returns string: + 'UNDEFINED' | 'NORMAL' | 'RARELY' | 'OFTEN' ; -Criticality: - UNDEFINED='UNDEFINED' | NORMAL='NORMAL' | HIGH='HIGH' | LOW='LOW' +Criticality returns string: + 'UNDEFINED' | 'NORMAL' | 'HIGH' | 'LOW' ; -Similarity: - UNDEFINED='UNDEFINED' | NORMAL='NORMAL' | HUGE='HUGE' | TINY='TINY' +Similarity returns string: + 'UNDEFINED' | 'NORMAL' | 'HUGE' | 'TINY' ; -Evolution: - UNDEFINED='UNDEFINED' | GENESIS='GENESIS' | CUSTOM_BUILT='CUSTOM_BUILT' | PRODUCT='PRODUCT' | COMMODITY='COMMODITY' +Evolution returns string: + 'UNDEFINED' | 'GENESIS' | 'CUSTOM_BUILT' | 'PRODUCT' | 'COMMODITY' ; -INFLUENCE: - UNDEFINED='UNDEFINED' | HIGH='HIGH' | MEDIUM='MEDIUM' | LOW='LOW' +INFLUENCE returns string: + 'UNDEFINED' | 'HIGH' | 'MEDIUM' | 'LOW' ; -INTEREST: - UNDEFINED='UNDEFINED' | HIGH='HIGH' | MEDIUM='MEDIUM' | LOW='LOW' +INTEREST returns string: + 'UNDEFINED' | 'HIGH' | 'MEDIUM' | 'LOW' ; -PRIORITY: - UNDEFINED='UNDEFINED' | HIGH='HIGH' | MEDIUM='MEDIUM' | LOW='LOW' +PRIORITY returns string: + 'UNDEFINED' | 'HIGH' | 'MEDIUM' | 'LOW' ; -IMPACT: - UNDEFINED='UNDEFINED' | HIGH='HIGH' | MEDIUM='MEDIUM' | LOW='LOW' +IMPACT returns string: + 'UNDEFINED' | 'HIGH' | 'MEDIUM' | 'LOW' ; -CoreValue: - UNDEFINED='UNDEFINED' | AUTONOMY='AUTONOMY' | CARE='CARE' | CONTROL='CONTROL' | FAIRNESS='FAIRNESS' | INCLUSIVENESS='INCLUSIVENESS' | INNOVATION='INNOVATION' | PERFECTION='PERFECTION' | PRIVACY='PRIVACY' | RESPECT='RESPECT' | SUSTAINABILITY='SUSTAINABILITY' | TRANSPARENCY='TRANSPARENCY' | TRUST='TRUST' +CoreValue returns string: + 'UNDEFINED' | 'AUTONOMY' | 'CARE' | 'CONTROL' | 'FAIRNESS' | 'INCLUSIVENESS' | 'INNOVATION' | 'PERFECTION' | 'PRIVACY' | 'RESPECT' | 'SUSTAINABILITY' | 'TRANSPARENCY' | 'TRUST' ; - diff --git a/src/language/validation/AbstractContextMapperValidator.ts b/src/language/validation/AbstractContextMapperValidator.ts new file mode 100644 index 0000000..5ff5003 --- /dev/null +++ b/src/language/validation/AbstractContextMapperValidator.ts @@ -0,0 +1,5 @@ +import { AstNode, ValidationAcceptor } from 'langium' + +export interface AbstractContextMapperValidator { + validate (node: T, acceptor: ValidationAcceptor): void +} diff --git a/src/language/validation/ContextMappingModelValidator.ts b/src/language/validation/ContextMappingModelValidator.ts new file mode 100644 index 0000000..53d3183 --- /dev/null +++ b/src/language/validation/ContextMappingModelValidator.ts @@ -0,0 +1,18 @@ +import type { ValidationAcceptor } from 'langium' +import type { ContextMappingModel } from '../generated/ast.js' +import { AbstractContextMapperValidator } from './AbstractContextMapperValidator.js' + +export class ContextMappingModelValidator implements AbstractContextMapperValidator { + validate (model: ContextMappingModel, acceptor: ValidationAcceptor): void { + checkForZeroOrOneContextMap(model, acceptor) + } +} + +export function checkForZeroOrOneContextMap (model: ContextMappingModel, acceptor: ValidationAcceptor): void { + if (model.contextMaps.length > 1) { + acceptor('error', 'There must be zero or one context map', { + node: model, + property: 'contextMaps' + }) + } +} diff --git a/src/language/validation/ValueValidator.ts b/src/language/validation/ValueValidator.ts new file mode 100644 index 0000000..b17ac5d --- /dev/null +++ b/src/language/validation/ValueValidator.ts @@ -0,0 +1,14 @@ +import { AbstractContextMapperValidator } from './AbstractContextMapperValidator.js' +import { Value } from '../generated/ast.js' +import { ValidationAcceptor } from 'langium' + +export class ValueValidator implements AbstractContextMapperValidator { + validate (node: Value, acceptor: ValidationAcceptor): void { + if (node.coreValue.length > 1) { + acceptor('error', 'There must be zero or one isCore attribute', { + node, + property: 'coreValue' + }) + } + } +} From d52cbdd6ccc38f600e0d14be60f3852e313ad04d Mon Sep 17 00:00:00 2001 From: Lukas Streckeisen Date: Mon, 14 Apr 2025 17:12:32 +0200 Subject: [PATCH 11/20] correct test naming --- .../{linking.test.ts => BoundedContextLinking.test.ts} | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) rename test/linking/{linking.test.ts => BoundedContextLinking.test.ts} (90%) diff --git a/test/linking/linking.test.ts b/test/linking/BoundedContextLinking.test.ts similarity index 90% rename from test/linking/linking.test.ts rename to test/linking/BoundedContextLinking.test.ts index 66ec708..a8032cd 100644 --- a/test/linking/linking.test.ts +++ b/test/linking/BoundedContextLinking.test.ts @@ -21,8 +21,8 @@ afterEach(async () => { document && await clearDocuments(services.shared, [document]) }) -describe('Linking tests', () => { - test('linking of greetings', async () => { +describe('Bounded context linking tests', () => { + test('linking of bounded contexts in context map', async () => { document = await parse(` ContextMap { TestContext [SK] <-> [SK] FirstContext @@ -36,7 +36,7 @@ describe('Linking tests', () => { const referencedContexts: Array = [] - document.parseResult.value.map?.relationships.forEach(r => { + document.parseResult.value.contextMaps[0].relationships.forEach(r => { if (isSharedKernel(r)) { referencedContexts.push((r as SharedKernel).participant1.ref?.name) referencedContexts.push((r as SharedKernel).participant2.ref?.name) From a0e7a8c5a22d416169785f5992dc8d8e82282a4f Mon Sep 17 00:00:00 2001 From: Lukas Streckeisen Date: Mon, 14 Apr 2025 17:12:57 +0200 Subject: [PATCH 12/20] complete bounded context semantic token tests --- .../BoundedContextSemanticTokens.test.ts | 117 +++++++++++++----- .../SemanticTokenTestHelper.ts | 28 ++++- 2 files changed, 111 insertions(+), 34 deletions(-) diff --git a/test/semnantictokens/BoundedContextSemanticTokens.test.ts b/test/semnantictokens/BoundedContextSemanticTokens.test.ts index 8257fd5..f26154f 100644 --- a/test/semnantictokens/BoundedContextSemanticTokens.test.ts +++ b/test/semnantictokens/BoundedContextSemanticTokens.test.ts @@ -1,11 +1,15 @@ -import { afterEach, beforeAll, describe, expect, test } from 'vitest' +import { afterEach, beforeAll, describe, test } from 'vitest' import { createContextMapperDslServices } from '../../src/language/context-mapper-dsl-module.js' import { EmptyFileSystem, type LangiumDocument } from 'langium' import { SemanticTokenProvider } from 'langium/lsp' import { clearDocuments, parseHelper } from 'langium/test' import { ContextMappingModel } from '../../src/language/generated/ast.js' -import { SemanticTokensParams } from 'vscode-languageserver' -import { assertSemanticToken, TOKEN_DATA_LENGTH } from './SemanticTokenTestHelper.js' +import { + assertSemanticToken, + assertSemanticTokenLength, createSemanticTokenParams, + extractSemanticTokens +} from './SemanticTokenTestHelper.js' +import { SemanticTokens } from 'vscode-languageserver-types' let services: ReturnType let parse: ReturnType> @@ -23,37 +27,84 @@ afterEach(async () => { }) describe('BoundedContext semantic token test', () => { - test('Test bounded context without body', async () => { - document = await parse('BoundedContext FirstContext') - const params: SemanticTokensParams = { - textDocument: { - uri: document.uri.path - } + test('check bounded context without body', async () => { + document = await parse('BoundedContext TestContext') + const params = createSemanticTokenParams(document) + const result = await semanticTokenProvider.semanticHighlight(document, params) + assertEmptyBoundedContext(result) + }) + + test('check bounded context with empty body', async () => { + document = await parse('BoundedContext TestContext {}') + const params = createSemanticTokenParams(document) + const result = await semanticTokenProvider.semanticHighlight(document, params) + assertEmptyBoundedContext(result) + }) + + test('check bounded context with member attributes', async () => { + document = await parse(` + BoundedContext TestContext { + type = UNDEFINED + implementationTechnology = "java" + responsibilities = "resp1", "resp2" + businessModel = "model" + domainVisionStatement = "Test" + knowledgeLevel = CONCRETE + evolution GENESIS } + `) + const params = createSemanticTokenParams(document) const result = await semanticTokenProvider.semanticHighlight(document, params) - const expectedNumberOfTokens = 2 - expect(result).not.toBeNull() - expect(expectedNumberOfTokens * TOKEN_DATA_LENGTH).toEqual(result.data.length) - - const firstToken = result.data.slice(0, 5) - const secondToken = result.data.slice(5, 10) - - assertSemanticToken( - firstToken, - 0, - 0, - 14, - semanticTokenProvider.tokenTypes.keyword, - 0 - ) - - assertSemanticToken( - secondToken, - 0, - 15, - 12, - semanticTokenProvider.tokenTypes.type, - semanticTokenProvider.tokenModifiers.declaration - ) + + const expectedNumberOfTokens = 17 + assertSemanticTokenLength(result, expectedNumberOfTokens) + const tokens = extractSemanticTokens(result, expectedNumberOfTokens) + + assertSemanticToken(tokens[2], 1, 6, 4, semanticTokenProvider.tokenTypes.keyword, 0) + assertSemanticToken(tokens[3], 0, 7, 9, semanticTokenProvider.tokenTypes.property, 0) + + assertSemanticToken(tokens[4], 1, 6, 24, semanticTokenProvider.tokenTypes.keyword, 0) + assertSemanticToken(tokens[5], 0, 27, 6, semanticTokenProvider.tokenTypes.string, 0) + + assertSemanticToken(tokens[6], 1, 6, 16, semanticTokenProvider.tokenTypes.keyword, 0) + assertSemanticToken(tokens[7], 0, 19, 7, semanticTokenProvider.tokenTypes.string, 0) + assertSemanticToken(tokens[8], 0, 9, 7, semanticTokenProvider.tokenTypes.string, 0) + + assertSemanticToken(tokens[9], 1, 6, 13, semanticTokenProvider.tokenTypes.keyword, 0) + assertSemanticToken(tokens[10], 0, 16, 7, semanticTokenProvider.tokenTypes.string, 0) + + assertSemanticToken(tokens[11], 1, 6, 21, semanticTokenProvider.tokenTypes.keyword, 0) + assertSemanticToken(tokens[12], 0, 24, 6, semanticTokenProvider.tokenTypes.string, 0) + + assertSemanticToken(tokens[13], 1, 6, 14, semanticTokenProvider.tokenTypes.keyword, 0) + assertSemanticToken(tokens[14], 0, 17, 8, semanticTokenProvider.tokenTypes.property, 0) + + assertSemanticToken(tokens[15], 1, 6, 9, semanticTokenProvider.tokenTypes.keyword, 0) + assertSemanticToken(tokens[16], 0, 10, 7, semanticTokenProvider.tokenTypes.property, 0) }) }) + +function assertEmptyBoundedContext (result: SemanticTokens) { + const expectedNumberOfTokens = 2 + assertSemanticTokenLength(result, expectedNumberOfTokens) + + const tokens = extractSemanticTokens(result, expectedNumberOfTokens) + + assertSemanticToken( + tokens[0], + 0, + 0, + 14, + semanticTokenProvider.tokenTypes.keyword, + 0 + ) + + assertSemanticToken( + tokens[1], + 0, + 15, + 11, + semanticTokenProvider.tokenTypes.type, + semanticTokenProvider.tokenModifiers.declaration + ) +} diff --git a/test/semnantictokens/SemanticTokenTestHelper.ts b/test/semnantictokens/SemanticTokenTestHelper.ts index f71dc55..fba3fe8 100644 --- a/test/semnantictokens/SemanticTokenTestHelper.ts +++ b/test/semnantictokens/SemanticTokenTestHelper.ts @@ -1,10 +1,23 @@ import { expect } from 'vitest' +import { SemanticTokens } from 'vscode-languageserver-types' +import { SemanticTokensParams } from 'vscode-languageserver' +import { LangiumDocument } from 'langium' +import { ContextMappingModel } from '../../src/language/generated/ast.js' export const TOKEN_DATA_LENGTH = 5 +export function createSemanticTokenParams (document: LangiumDocument): SemanticTokensParams { + return { + textDocument: { + uri: document.uri.path + } + } +} + /** * A Semantic Token data array consists of a sequence of integers. - * One token corresponds to a sequence of 5 integers, representing: startLine, startChar, length, type, modifier + * One token corresponds to a sequence of 5 integers, representing: deltaLine, deltaStart, length, type, modifier + * Tokens are given in their relative position to each other. deltaLine and deltaStart specifies how many lines & chars the start of the two tokens are apart */ export function assertSemanticToken (token: number[], startLine: number, startCharacter: number, length: number, tokenType: number, tokenModifiers: number) { expect(token.length).toEqual(TOKEN_DATA_LENGTH) @@ -15,3 +28,16 @@ export function assertSemanticToken (token: number[], startLine: number, startCh expect(token[3]).toEqual(tokenType) expect(token[4]).toEqual(tokenModifiers) } + +export function assertSemanticTokenLength (result: SemanticTokens, expectedNumberOfTokens: number) { + expect(result).not.toBeNull() + expect(result.data.length).toEqual(expectedNumberOfTokens * TOKEN_DATA_LENGTH) +} + +export function extractSemanticTokens (result: SemanticTokens, expectedNumberOfTokens: number): number[][] { + const tokens: number[][] = [] + for (let i = 0; i < expectedNumberOfTokens; i++) { + tokens.push(result.data.slice(i * TOKEN_DATA_LENGTH, (i + 1) * TOKEN_DATA_LENGTH)) + } + return tokens +} From a3f6bc13b1a1e44213b85eafbfaea57ea5773dc7 Mon Sep 17 00:00:00 2001 From: Lukas Streckeisen Date: Mon, 14 Apr 2025 17:13:10 +0200 Subject: [PATCH 13/20] add parsing tests --- test/parsing/BoundedContextParsing.test.ts | 108 +++++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 test/parsing/BoundedContextParsing.test.ts diff --git a/test/parsing/BoundedContextParsing.test.ts b/test/parsing/BoundedContextParsing.test.ts new file mode 100644 index 0000000..d975a75 --- /dev/null +++ b/test/parsing/BoundedContextParsing.test.ts @@ -0,0 +1,108 @@ +import { createContextMapperDslServices } from '../../src/language/context-mapper-dsl-module.js' +import { parseHelper } from 'langium/test' +import { ContextMappingModel } from '../../src/language/generated/ast.js' +import { EmptyFileSystem, LangiumDocument } from 'langium' +import { beforeAll, describe, test, expect } from 'vitest' + +let services: ReturnType +let parse: ReturnType> +let document: LangiumDocument | undefined + +beforeAll(async () => { + services = createContextMapperDslServices(EmptyFileSystem) + parse = parseHelper(services.ContextMapperDsl) +}) + +describe('BoundedContext parsing tests', () => { + test('parse BoundedContext without body', async () => { + document = await parse(` + BoundedContext FirstContext + `) + + expect(document.parseResult.parserErrors.length).toEqual(0) + + const contextMappingModel = document.parseResult.value + expect(contextMappingModel).not.toBeUndefined() + expect(contextMappingModel.boundedContexts.length).toEqual(1) + expect(contextMappingModel.contextMaps.length).toEqual(0) + expect(contextMappingModel.userRequirements.length).toEqual(0) + expect(contextMappingModel.domains.length).toEqual(0) + expect(contextMappingModel.stakeholders.length).toEqual(0) + expect(contextMappingModel.valueRegisters.length).toEqual(0) + + const boundedContext = contextMappingModel.boundedContexts[0] + expect(boundedContext).not.toBeUndefined() + expect(boundedContext.name).toEqual('FirstContext') + expect(boundedContext.realizedBoundedContexts.length).toEqual(0) + expect(boundedContext.refinedBoundedContext).toBeUndefined() + expect(boundedContext.implementedDomainParts.length).toEqual(0) + expect(boundedContext.domainVisionStatement).toBeUndefined() + expect(boundedContext.knowledgeLevel).toBeUndefined() + expect(boundedContext.type).toBeUndefined() + expect(boundedContext.responsibilities.length).toEqual(0) + expect(boundedContext.implementationTechnology).toBeUndefined() + expect(boundedContext.businessModel).toBeUndefined() + expect(boundedContext.evolution).toBeUndefined() + expect(boundedContext.aggregates.length).toEqual(0) + }) + + test('parse BoundedContext with full body', async () => { + document = await parse(` + BoundedContext TestContext { + type = UNDEFINED + responsibilities = "resp1", "resp2" + knowledgeLevel = CONCRETE + implementationTechnology = "java" + businessModel = "model" + evolution = GENESIS + domainVisionStatement = "vision" + } + `) + + expect(document.parseResult.parserErrors.length).toEqual(0) + + const contextMappingModel = document.parseResult.value + expect(contextMappingModel).not.toBeUndefined() + expect(contextMappingModel.boundedContexts.length).toEqual(1) + + const boundedContext = contextMappingModel.boundedContexts[0] + expect(boundedContext).not.toBeUndefined() + expect(boundedContext.name).toEqual('TestContext') + expect(boundedContext.domainVisionStatement).toEqual('vision') + expect(boundedContext.type).toEqual('UNDEFINED') + expect(boundedContext.implementationTechnology).toEqual('java') + expect(boundedContext.responsibilities.length).toEqual(2) + expect(boundedContext.businessModel).toEqual('model') + expect(boundedContext.knowledgeLevel).toEqual('CONCRETE') + expect(boundedContext.evolution).toEqual('GENESIS') + expect(boundedContext.aggregates.length).toEqual(0) + }) + + test('parse BoundedContext with body', async () => { + document = await parse(` + BoundedContext TestContext { + type = FEATURE + implementationTechnology = "c#" + domainVisionStatement = "vision" + } + `) + + expect(document.parseResult.parserErrors.length).toEqual(0) + + const contextMappingModel = document.parseResult.value + expect(contextMappingModel).not.toBeUndefined() + expect(contextMappingModel.boundedContexts.length).toEqual(1) + + const boundedContext = contextMappingModel.boundedContexts[0] + expect(boundedContext).not.toBeUndefined() + expect(boundedContext.name).toEqual('TestContext') + expect(boundedContext.domainVisionStatement).toEqual('vision') + expect(boundedContext.type).toEqual('FEATURE') + expect(boundedContext.implementationTechnology).toEqual('c#') + expect(boundedContext.responsibilities.length).toEqual(0) + expect(boundedContext.businessModel).toBeUndefined() + expect(boundedContext.knowledgeLevel).toBeUndefined() + expect(boundedContext.evolution).toBeUndefined() + expect(boundedContext.aggregates.length).toEqual(0) + }) +}) From c2595f2c0aea8eb54db327eebd9759339e3d86f9 Mon Sep 17 00:00:00 2001 From: Lukas Streckeisen Date: Mon, 14 Apr 2025 17:13:23 +0200 Subject: [PATCH 14/20] add semantic validation tests --- .../ContextMappingModelValidator.test.ts | 58 ++++++++++++++++++ test/validation/ValueValidator.test.ts | 59 +++++++++++++++++++ 2 files changed, 117 insertions(+) create mode 100644 test/validation/ContextMappingModelValidator.test.ts create mode 100644 test/validation/ValueValidator.test.ts diff --git a/test/validation/ContextMappingModelValidator.test.ts b/test/validation/ContextMappingModelValidator.test.ts new file mode 100644 index 0000000..41bf081 --- /dev/null +++ b/test/validation/ContextMappingModelValidator.test.ts @@ -0,0 +1,58 @@ +import { beforeAll, describe, expect, test } from 'vitest' +import { createContextMapperDslServices } from '../../src/language/context-mapper-dsl-module.js' +import { EmptyFileSystem, type LangiumDocument } from 'langium' +import { parseHelper } from 'langium/test' +import { ContextMappingModel } from '../../src/language/generated/ast.js' + +let services: ReturnType +let parse: ReturnType> +let document: LangiumDocument | undefined + +beforeAll(async () => { + services = createContextMapperDslServices(EmptyFileSystem) + const doParse = parseHelper(services.ContextMapperDsl) + parse = (input: string) => doParse(input, { validation: true }) + + // activate the following if your linking test requires elements from a built-in library, for example + // await services.shared.workspace.WorkspaceManager.initializeWorkspace([]); +}) + +describe('ContextMappingModelValidator tests', () => { + test('accept no context map', async () => { + document = await parse(` + BoundedContext FirstContext + `) + + expect(document.diagnostics).toHaveLength(0) + }) + + test('accept one context map', async () => { + document = await parse(` + ContextMap { + FirstContext [SK] <-> [SK] SecondContext + } + BoundedContext FirstContext + BoundedContext SecondContext + `) + + expect(document.diagnostics).toHaveLength(0) + }) + + test('report multiple context maps', async () => { + document = await parse(` + ContextMap { + FirstContext [SK] <-> [SK] SecondContext + } + ContextMap { + + } + BoundedContext FirstContext + BoundedContext SecondContext + `) + + expect(document.diagnostics).not.toBeUndefined() + expect(document.diagnostics).toHaveLength(1) + const diagnostic = document.diagnostics![0] + expect(diagnostic.range.start.line).toEqual(1) + }) +}) diff --git a/test/validation/ValueValidator.test.ts b/test/validation/ValueValidator.test.ts new file mode 100644 index 0000000..8c01e90 --- /dev/null +++ b/test/validation/ValueValidator.test.ts @@ -0,0 +1,59 @@ +import { beforeAll, describe, expect, test } from 'vitest' +import { createContextMapperDslServices } from '../../src/language/context-mapper-dsl-module.js' +import { EmptyFileSystem, type LangiumDocument } from 'langium' +import { parseHelper } from 'langium/test' +import { ContextMappingModel } from '../../src/language/generated/ast.js' + +let services: ReturnType +let parse: ReturnType> +let document: LangiumDocument | undefined + +beforeAll(async () => { + services = createContextMapperDslServices(EmptyFileSystem) + const doParse = parseHelper(services.ContextMapperDsl) + parse = (input: string) => doParse(input, { validation: true }) + + // activate the following if your linking test requires elements from a built-in library, for example + // await services.shared.workspace.WorkspaceManager.initializeWorkspace([]); +}) + +describe('ContextMappingModelValidator tests', () => { + test('accept no isCore', async () => { + document = await parse(` + ValueRegister TestRegister { + Value TestValue { + } + } + `) + + expect(document.diagnostics).toHaveLength(0) + }) + + test('accept one isCore', async () => { + document = await parse(` + ValueRegister TestRegister { + Value TestValue { + isCore + } + } + `) + + expect(document.diagnostics).toHaveLength(0) + }) + + test('report multiple isCore', async () => { + document = await parse(` + ValueRegister TestRegister { + Value TestValue { + isCore + isCore + } + } + `) + + expect(document.diagnostics).not.toBeUndefined() + expect(document.diagnostics).toHaveLength(1) + const diagnostic = document.diagnostics![0] + expect(diagnostic.range.start.line).toEqual(3) + }) +}) From de6aeeed15f1067bb7c94f69b0b3b78a04983614 Mon Sep 17 00:00:00 2001 From: Lukas Streckeisen Date: Tue, 15 Apr 2025 09:40:12 +0200 Subject: [PATCH 15/20] rename files --- langium-quickstart.md | 4 +- ...sl-module.ts => ContextMapperDslModule.ts} | 2 +- ...idator.ts => ContextMapperDslValidator.ts} | 2 +- src/language/context-mapper-dsl.langium | 43 ------------------- src/language/main.ts | 3 +- test/linking/BoundedContextLinking.test.ts | 2 +- test/parsing/BoundedContextParsing.test.ts | 2 +- .../BoundedContextSemanticTokens.test.ts | 2 +- .../ContextMappingModelValidator.test.ts | 2 +- test/validation/ValueValidator.test.ts | 2 +- 10 files changed, 10 insertions(+), 54 deletions(-) rename src/language/{context-mapper-dsl-module.ts => ContextMapperDslModule.ts} (98%) rename src/language/{context-mapper-dsl-validator.ts => ContextMapperDslValidator.ts} (90%) diff --git a/langium-quickstart.md b/langium-quickstart.md index 90c1deb..5ac0d4d 100644 --- a/langium-quickstart.md +++ b/langium-quickstart.md @@ -8,8 +8,8 @@ This folder contains all necessary files for your language extension. * `src/extension/main.ts` - the main code of the extension, which is responsible for launching a language server and client. * `src/language/context-mapper-dsl.langium` - the grammar definition of your language. * `src/language/main.ts` - the entry point of the language server process. - * `src/language/context-mapper-dsl-module.ts` - the dependency injection module of your language implementation. Use this to register overridden and added services. - * `src/language/context-mapper-dsl-validator.ts` - an example validator. You should change it to reflect the semantics of your language. + * `src/language/ContextMapperDslModule.ts` - the dependency injection module of your language implementation. Use this to register overridden and added services. + * `src/language/ContextMapperDslValidator.ts` - an example validator. You should change it to reflect the semantics of your language. * `src/cli/main.ts` - the entry point of the command line interface (CLI) of your language. * `src/cli/generator.ts` - the code generator used by the CLI to write output files from DSL documents. * `src/cli/cli-util.ts` - utility code for the CLI. diff --git a/src/language/context-mapper-dsl-module.ts b/src/language/ContextMapperDslModule.ts similarity index 98% rename from src/language/context-mapper-dsl-module.ts rename to src/language/ContextMapperDslModule.ts index bc7a855..de81b3a 100644 --- a/src/language/context-mapper-dsl-module.ts +++ b/src/language/ContextMapperDslModule.ts @@ -8,7 +8,7 @@ import { type PartialLangiumServices } from 'langium/lsp' import { ContextMapperDslGeneratedModule, ContextMapperDslGeneratedSharedModule } from './generated/module.js' -import { ContextMapperDslValidator, registerValidationChecks } from './context-mapper-dsl-validator.js' +import { ContextMapperDslValidator, registerValidationChecks } from './ContextMapperDslValidator.js' import { ContextMapperDslSemanticTokenProvider } from './semantictokens/ContextMapperDslSemanticTokenProvider.js' /** diff --git a/src/language/context-mapper-dsl-validator.ts b/src/language/ContextMapperDslValidator.ts similarity index 90% rename from src/language/context-mapper-dsl-validator.ts rename to src/language/ContextMapperDslValidator.ts index 548a27b..d3c9b58 100644 --- a/src/language/context-mapper-dsl-validator.ts +++ b/src/language/ContextMapperDslValidator.ts @@ -1,6 +1,6 @@ import type { ValidationChecks } from 'langium' import type { ContextMapperDslAstType } from './generated/ast.js' -import type { ContextMapperDslServices } from './context-mapper-dsl-module.js' +import type { ContextMapperDslServices } from './ContextMapperDslModule.js' import { ContextMappingModelValidator } from './validation/ContextMappingModelValidator.js' import { ValueValidator } from './validation/ValueValidator.js' diff --git a/src/language/context-mapper-dsl.langium b/src/language/context-mapper-dsl.langium index a880b4e..37d087b 100644 --- a/src/language/context-mapper-dsl.langium +++ b/src/language/context-mapper-dsl.langium @@ -52,22 +52,6 @@ BoundedContext: ) ) ( - /*OPEN - ( - domainVisionStatements += DomainVisionStatementField | - types += BoundedContextTypeField | - knowledgeLevels += KnowledgeLevelField | - implementationTechnologies += ImplementationTechnologyField | - businessModels += BusinessModelField | - evolutions += EvolutionField - )* - ( - ( - modules+=SculptorModule | - aggregates+=Aggregate - )* - ) - CLOSE*/ OPEN ( ('domainVisionStatement' ('=') domainVisionStatement=STRING) & @@ -88,33 +72,6 @@ BoundedContext: )? ; -DomainVisionStatementField: - ('domainVisionStatement' ('=') domainVisionStatement=STRING) -; - -BoundedContextTypeField: - ('type' ('=') type=BoundedContextType) -; - -ResponsibilitiesField: - (('responsibilities' ('=')? responsibilities+=STRING) ("," responsibilities+=STRING)*) -; - -KnowledgeLevelField: - ('knowledgeLevel' ('=') knowledgeLevel=KnowledgeLevel) -; - -ImplementationTechnologyField: - ('implementationTechnology' ('=') implementationTechnology=STRING) -; - -BusinessModelField: - ('businessModel' ('=') businessModel=STRING) -; - -EvolutionField: - ('evolution' ('=') evolution=Evolution); - DomainPart: Domain | Subdomain ; diff --git a/src/language/main.ts b/src/language/main.ts index 500a5a3..2ea3b6b 100644 --- a/src/language/main.ts +++ b/src/language/main.ts @@ -1,8 +1,7 @@ import { startLanguageServer } from 'langium/lsp' import { NodeFileSystem } from 'langium/node' -// eslint-disable-next-line import/extensions import { createConnection, ProposedFeatures } from 'vscode-languageserver/node.js' -import { createContextMapperDslServices } from './context-mapper-dsl-module.js' +import { createContextMapperDslServices } from './ContextMapperDslModule.js' // Create a connection to the client const connection = createConnection(ProposedFeatures.all) diff --git a/test/linking/BoundedContextLinking.test.ts b/test/linking/BoundedContextLinking.test.ts index a8032cd..6e58005 100644 --- a/test/linking/BoundedContextLinking.test.ts +++ b/test/linking/BoundedContextLinking.test.ts @@ -1,7 +1,7 @@ import { afterEach, beforeAll, describe, expect, test } from 'vitest' import { EmptyFileSystem, type LangiumDocument } from 'langium' import { clearDocuments, parseHelper } from 'langium/test' -import { createContextMapperDslServices } from '../../src/language/context-mapper-dsl-module.js' +import { createContextMapperDslServices } from '../../src/language/ContextMapperDslModule.js' import { ContextMappingModel, isSharedKernel, SharedKernel } from '../../src/language/generated/ast.js' import { checkDocumentValid } from '../TestHelper.js' diff --git a/test/parsing/BoundedContextParsing.test.ts b/test/parsing/BoundedContextParsing.test.ts index d975a75..380647f 100644 --- a/test/parsing/BoundedContextParsing.test.ts +++ b/test/parsing/BoundedContextParsing.test.ts @@ -1,4 +1,4 @@ -import { createContextMapperDslServices } from '../../src/language/context-mapper-dsl-module.js' +import { createContextMapperDslServices } from '../../src/language/ContextMapperDslModule.js' import { parseHelper } from 'langium/test' import { ContextMappingModel } from '../../src/language/generated/ast.js' import { EmptyFileSystem, LangiumDocument } from 'langium' diff --git a/test/semnantictokens/BoundedContextSemanticTokens.test.ts b/test/semnantictokens/BoundedContextSemanticTokens.test.ts index f26154f..91a8dac 100644 --- a/test/semnantictokens/BoundedContextSemanticTokens.test.ts +++ b/test/semnantictokens/BoundedContextSemanticTokens.test.ts @@ -1,5 +1,5 @@ import { afterEach, beforeAll, describe, test } from 'vitest' -import { createContextMapperDslServices } from '../../src/language/context-mapper-dsl-module.js' +import { createContextMapperDslServices } from '../../src/language/ContextMapperDslModule.js' import { EmptyFileSystem, type LangiumDocument } from 'langium' import { SemanticTokenProvider } from 'langium/lsp' import { clearDocuments, parseHelper } from 'langium/test' diff --git a/test/validation/ContextMappingModelValidator.test.ts b/test/validation/ContextMappingModelValidator.test.ts index 41bf081..a174b17 100644 --- a/test/validation/ContextMappingModelValidator.test.ts +++ b/test/validation/ContextMappingModelValidator.test.ts @@ -1,5 +1,5 @@ import { beforeAll, describe, expect, test } from 'vitest' -import { createContextMapperDslServices } from '../../src/language/context-mapper-dsl-module.js' +import { createContextMapperDslServices } from '../../src/language/ContextMapperDslModule.js' import { EmptyFileSystem, type LangiumDocument } from 'langium' import { parseHelper } from 'langium/test' import { ContextMappingModel } from '../../src/language/generated/ast.js' diff --git a/test/validation/ValueValidator.test.ts b/test/validation/ValueValidator.test.ts index 8c01e90..352fdb5 100644 --- a/test/validation/ValueValidator.test.ts +++ b/test/validation/ValueValidator.test.ts @@ -1,5 +1,5 @@ import { beforeAll, describe, expect, test } from 'vitest' -import { createContextMapperDslServices } from '../../src/language/context-mapper-dsl-module.js' +import { createContextMapperDslServices } from '../../src/language/ContextMapperDslModule.js' import { EmptyFileSystem, type LangiumDocument } from 'langium' import { parseHelper } from 'langium/test' import { ContextMappingModel } from '../../src/language/generated/ast.js' From a2a3dafaa55134bf3591f528d79d08216d77ffe7 Mon Sep 17 00:00:00 2001 From: Lukas Streckeisen Date: Tue, 15 Apr 2025 10:02:14 +0200 Subject: [PATCH 16/20] fix context map attribute ordering issue --- src/language/context-mapper-dsl.langium | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/language/context-mapper-dsl.langium b/src/language/context-mapper-dsl.langium index 37d087b..fe35d17 100644 --- a/src/language/context-mapper-dsl.langium +++ b/src/language/context-mapper-dsl.langium @@ -36,8 +36,10 @@ ContextMap: // {ContextMap} make sure there is always a context map 'ContextMap' (name=ID)? OPEN - (('type' ('=')? type=ContextMapType)? - ('state' ('=')? state=ContextMapState)?) + ( + ('type' ('=')? type=ContextMapType) & + ('state' ('=')? state=ContextMapState) + ) ('contains' boundedContexts+=[BoundedContext] ("," boundedContexts+=[BoundedContext])*)* relationships+=Relationship* CLOSE From 3f86b23b9d63a04c2c4a433d14225aeac24d9454 Mon Sep 17 00:00:00 2001 From: Lukas Streckeisen Date: Wed, 16 Apr 2025 14:06:49 +0200 Subject: [PATCH 17/20] fix typo & minor grammar issues --- src/language/context-mapper-dsl.langium | 31 +++++++++++-------------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/src/language/context-mapper-dsl.langium b/src/language/context-mapper-dsl.langium index fe35d17..e10bc8f 100644 --- a/src/language/context-mapper-dsl.langium +++ b/src/language/context-mapper-dsl.langium @@ -150,7 +150,7 @@ UpstreamDownstreamRelationship: (OPEN ( ('implementationTechnology' ('=')? implementationTechnology=STRING) & - (('exposedAggregates' ('=')? upstreamExposedAggregates+=[Aggregate]) ("," upstreamExposedAggregates+=[Aggregate])* (exposedAggregatesComment=SL_COMMENT)?) & + (('exposedAggregates' ('=')? upstreamExposedAggregates+=[Aggregate]) ("," upstreamExposedAggregates+=[Aggregate])*) & ('downstreamRights' ('=')? downstreamGovernanceRights=DownstreamGovernanceRights) ) CLOSE)? @@ -302,25 +302,22 @@ ValueRegister: (values+=Value) | (valueEpics+=ValueEpic) | (valueNarratives+=ValueNarrative) | - (valueWeightings+=ValueWeigthing) + (valueWeightings+=ValueWeighting) )* CLOSE)? ; ValueCluster: 'ValueCluster' name=ID (OPEN + // required value first, then optional values + (('core' ('=')? coreValue7000=CoreValue) | ('core' ('=')? coreValue=STRING)) ( - (('core' ('=')? coreValue7000=CoreValue) | ('core' ('=')? coreValue=STRING)) & - ( - ('demonstrator' ('=')? demonstrators+=STRING) | - ('relatedValue' ('=')? relatedValues+=STRING) | - ('opposingValue' ('=')? opposingValues+=STRING) - )* - ( - (values+=Value) | - (elicitations+=ValueElicitation) - )* - ) + ('demonstrator' ('=')? demonstrators+=STRING) | + ('relatedValue' ('=')? relatedValues+=STRING) | + ('opposingValue' ('=')? opposingValues+=STRING) | + (values+=Value) | + (elicitations+=ValueElicitation) + )* CLOSE)? ; @@ -330,9 +327,9 @@ Value: (coreValue+='isCore') | ('demonstrator' ('=')? demonstrators+=STRING) | ('relatedValue' ('=')? relatedValues+=STRING) | - ('opposingValue' ('=')? opposingValues+=STRING) + ('opposingValue' ('=')? opposingValues+=STRING) | + (elicitations+=ValueElicitation) )* - (elicitations+=ValueElicitation)* CLOSE)? ; @@ -370,8 +367,8 @@ ValueNarrative: CLOSE) ; -ValueWeigthing: - 'ValueWeigthing' name=ID (OPEN +ValueWeighting: + 'ValueWeighting' name=ID (OPEN ( 'In the context of the SOI,' 'stakeholder' stakeholder=[AbstractStakeholder] 'values' value1=STRING 'more than' value2=STRING From 7d6765c2e0d423a9c8988b98c0455231d7a7dfb5 Mon Sep 17 00:00:00 2001 From: Lukas Streckeisen Date: Wed, 16 Apr 2025 14:18:11 +0200 Subject: [PATCH 18/20] add happy path parsing tests --- test/parsing/AggregateParsing.test.ts | 163 ++++++ test/parsing/BoundedContextParsing.test.ts | 36 +- test/parsing/ContextMapParsing.test.ts | 86 ++++ .../ContextMappingModelParsing.test.ts | 28 ++ test/parsing/DomainParsing.test.ts | 84 ++++ test/parsing/ParsingTestHelper.ts | 21 + test/parsing/RelationshipParsing.test.ts | 359 +++++++++++++ test/parsing/SculptorModuleParsing.test.ts | 78 +++ test/parsing/StakeholdersParsing.test.ts | 167 +++++++ test/parsing/UserRequirementParsing.test.ts | 184 +++++++ test/parsing/ValueRegisterParsing.test.ts | 471 ++++++++++++++++++ 11 files changed, 1664 insertions(+), 13 deletions(-) create mode 100644 test/parsing/AggregateParsing.test.ts create mode 100644 test/parsing/ContextMapParsing.test.ts create mode 100644 test/parsing/ContextMappingModelParsing.test.ts create mode 100644 test/parsing/DomainParsing.test.ts create mode 100644 test/parsing/ParsingTestHelper.ts create mode 100644 test/parsing/RelationshipParsing.test.ts create mode 100644 test/parsing/SculptorModuleParsing.test.ts create mode 100644 test/parsing/StakeholdersParsing.test.ts create mode 100644 test/parsing/UserRequirementParsing.test.ts create mode 100644 test/parsing/ValueRegisterParsing.test.ts diff --git a/test/parsing/AggregateParsing.test.ts b/test/parsing/AggregateParsing.test.ts new file mode 100644 index 0000000..44c4851 --- /dev/null +++ b/test/parsing/AggregateParsing.test.ts @@ -0,0 +1,163 @@ +import { createContextMapperDslServices } from '../../src/language/ContextMapperDslModule.js' +import { parseHelper } from 'langium/test' +import { Aggregate, ContextMappingModel } from '../../src/language/generated/ast.js' +import { EmptyFileSystem, LangiumDocument } from 'langium' +import { beforeAll, describe, expect, test } from 'vitest' +import { parseValidInput } from './ParsingTestHelper.js' + +let services: ReturnType +let parse: ReturnType> +let document: LangiumDocument | undefined + +beforeAll(async () => { + services = createContextMapperDslServices(EmptyFileSystem) + parse = parseHelper(services.ContextMapperDsl) +}) + +describe('Aggregate parsing tests', () => { + test('parse aggregate without body', async () => { + document = await parseValidInput(parse, ` + BoundedContext TestContext { + Aggregate TestAggregate + } + `) + + expect(document.parseResult.value.boundedContexts).toHaveLength(1) + expect(document.parseResult.value.boundedContexts[0].aggregates).toHaveLength(1) + const aggregate = document.parseResult.value.boundedContexts[0].aggregates[0] + expectAggregateToBeEmpty(aggregate) + }) + + test('parse aggregate with empty body', async () => { + document = await parseValidInput(parse, ` + BoundedContext TestContext { + Aggregate TestAggregate { + } + } + `) + + expect(document.parseResult.value.boundedContexts).toHaveLength(1) + expect(document.parseResult.value.boundedContexts[0].aggregates).toHaveLength(1) + const aggregate = document.parseResult.value.boundedContexts[0].aggregates[0] + expectAggregateToBeEmpty(aggregate) + }) + + test('parse aggregate with full body', async () => { + document = await parseValidInput(parse, ` + BoundedContext TestContext { + Aggregate TestAggregate { + responsibilities "resp1", "resp2" + owner = TestContext + useCases TestUseCase + knowledgeLevel = META + contentVolatility = RARELY + likelihoodForChange = NORMAL + availabilityCriticality = HIGH + consistencyCriticality = HIGH + securityZone "testZone" + securityCriticality = LOW + securityAccessGroup = "testGroup" + storageSimilarity = TINY + } + } + UseCase TestUseCase + `) + + expect(document.parseResult.value.boundedContexts).toHaveLength(1) + expect(document.parseResult.value.boundedContexts[0].aggregates).toHaveLength(1) + const aggregate = document.parseResult.value.boundedContexts[0].aggregates[0] + expect(aggregate.name).toEqual('TestAggregate') + expect(aggregate.responsibilities).toHaveLength(2) + expect(aggregate.responsibilities[0]).toEqual('resp1') + expect(aggregate.responsibilities[1]).toEqual('resp2') + expect(aggregate.owner).not.toBeUndefined() + expect(aggregate.userRequirements).toHaveLength(1) + expect(aggregate.knowledgeLevel).toEqual('META') + expect(aggregate.contentVolatility).toEqual('RARELY') + expect(aggregate.likelihoodForChange).toEqual('NORMAL') + expect(aggregate.availabilityCriticality).toEqual('HIGH') + expect(aggregate.consistencyCriticality).toEqual('HIGH') + expect(aggregate.securityZone).toEqual('testZone') + expect(aggregate.securityCriticality).toEqual('LOW') + expect(aggregate.securityAccessGroup).toEqual('testGroup') + expect(aggregate.storageSimilarity).toEqual('TINY') + }) + + test('parse likelihood variation', async () => { + document = await parseValidInput(parse, ` + BoundedContext TestContext { + Aggregate TestAggregate { + structuralVolatility = NORMAL + } + } + `) + + expect(document.parseResult.value.boundedContexts).toHaveLength(1) + expect(document.parseResult.value.boundedContexts[0].aggregates).toHaveLength(1) + expect(document.parseResult.value.boundedContexts[0].aggregates[0].likelihoodForChange).toEqual('NORMAL') + }) + + test('parse userStory', async () => { + document = await parseValidInput(parse, ` + BoundedContext TestContext { + Aggregate TestAggregate { + userStories TestStory + } + } + UserStory TestStory + `) + + expect(document.parseResult.value.boundedContexts).toHaveLength(1) + expect(document.parseResult.value.boundedContexts[0].aggregates).toHaveLength(1) + expect(document.parseResult.value.boundedContexts[0].aggregates[0].userRequirements).toHaveLength(1) + }) + + test('parse features', async () => { + document = await parseValidInput(parse, ` + BoundedContext TestContext { + Aggregate TestAggregate { + features TestStory, TestUseCase + } + } + UserStory TestStory + UseCase TestUseCase + `) + + expect(document.parseResult.value.boundedContexts).toHaveLength(1) + expect(document.parseResult.value.boundedContexts[0].aggregates).toHaveLength(1) + expect(document.parseResult.value.boundedContexts[0].aggregates[0].userRequirements).toHaveLength(2) + }) + + test('parse userRequirements', async () => { + document = await parseValidInput(parse, ` + BoundedContext TestContext { + Aggregate TestAggregate { + userRequirements TestStory, TestUseCase + } + } + UserStory TestStory + UseCase TestUseCase + `) + + expect(document.parseResult.value.boundedContexts).toHaveLength(1) + expect(document.parseResult.value.boundedContexts[0].aggregates).toHaveLength(1) + expect(document.parseResult.value.boundedContexts[0].aggregates[0].userRequirements).toHaveLength(2) + }) +}) + +function expectAggregateToBeEmpty (aggregate: Aggregate) { + expect(aggregate).not.toBeUndefined() + expect(aggregate.name).toEqual('TestAggregate') + expect(aggregate.responsibilities).toHaveLength(0) + expect(aggregate.userRequirements).toHaveLength(0) + expect(aggregate.owner).toBeUndefined() + expect(aggregate.knowledgeLevel).toBeUndefined() + expect(aggregate.likelihoodForChange).toBeUndefined() + expect(aggregate.contentVolatility).toBeUndefined() + expect(aggregate.availabilityCriticality).toBeUndefined() + expect(aggregate.consistencyCriticality).toBeUndefined() + expect(aggregate.storageSimilarity).toBeUndefined() + expect(aggregate.securityCriticality).toBeUndefined() + expect(aggregate.securityZone).toBeUndefined() + expect(aggregate.securityAccessGroup).toBeUndefined() +} diff --git a/test/parsing/BoundedContextParsing.test.ts b/test/parsing/BoundedContextParsing.test.ts index 380647f..09b988e 100644 --- a/test/parsing/BoundedContextParsing.test.ts +++ b/test/parsing/BoundedContextParsing.test.ts @@ -3,6 +3,7 @@ import { parseHelper } from 'langium/test' import { ContextMappingModel } from '../../src/language/generated/ast.js' import { EmptyFileSystem, LangiumDocument } from 'langium' import { beforeAll, describe, test, expect } from 'vitest' +import { parseValidInput } from './ParsingTestHelper.js' let services: ReturnType let parse: ReturnType> @@ -15,12 +16,10 @@ beforeAll(async () => { describe('BoundedContext parsing tests', () => { test('parse BoundedContext without body', async () => { - document = await parse(` - BoundedContext FirstContext + document = await parseValidInput(parse, ` + BoundedContext FirstContext `) - expect(document.parseResult.parserErrors.length).toEqual(0) - const contextMappingModel = document.parseResult.value expect(contextMappingModel).not.toBeUndefined() expect(contextMappingModel.boundedContexts.length).toEqual(1) @@ -47,8 +46,12 @@ describe('BoundedContext parsing tests', () => { }) test('parse BoundedContext with full body', async () => { - document = await parse(` - BoundedContext TestContext { + document = await parseValidInput(parse, ` + BoundedContext TestContext + implements TestDomain, TestSubDomain + realizes ContextToRealize + refines ContextToRefine + { type = UNDEFINED responsibilities = "resp1", "resp2" knowledgeLevel = CONCRETE @@ -57,17 +60,26 @@ describe('BoundedContext parsing tests', () => { evolution = GENESIS domainVisionStatement = "vision" } + + BoundedContext ContextToRefine + BoundedContext ContextToRealize + + Domain TestDomain + Domain AnotherDomain { + Subdomain TestSubDomain + } `) - expect(document.parseResult.parserErrors.length).toEqual(0) - const contextMappingModel = document.parseResult.value expect(contextMappingModel).not.toBeUndefined() - expect(contextMappingModel.boundedContexts.length).toEqual(1) + expect(contextMappingModel.boundedContexts.length).toEqual(3) const boundedContext = contextMappingModel.boundedContexts[0] expect(boundedContext).not.toBeUndefined() expect(boundedContext.name).toEqual('TestContext') + expect(boundedContext.implementedDomainParts).toHaveLength(2) + expect(boundedContext.realizedBoundedContexts).toHaveLength(1) + expect(boundedContext.refinedBoundedContext).not.toBeUndefined() expect(boundedContext.domainVisionStatement).toEqual('vision') expect(boundedContext.type).toEqual('UNDEFINED') expect(boundedContext.implementationTechnology).toEqual('java') @@ -78,8 +90,8 @@ describe('BoundedContext parsing tests', () => { expect(boundedContext.aggregates.length).toEqual(0) }) - test('parse BoundedContext with body', async () => { - document = await parse(` + test('parse BoundedContext with partial body', async () => { + document = await parseValidInput(parse, ` BoundedContext TestContext { type = FEATURE implementationTechnology = "c#" @@ -87,8 +99,6 @@ describe('BoundedContext parsing tests', () => { } `) - expect(document.parseResult.parserErrors.length).toEqual(0) - const contextMappingModel = document.parseResult.value expect(contextMappingModel).not.toBeUndefined() expect(contextMappingModel.boundedContexts.length).toEqual(1) diff --git a/test/parsing/ContextMapParsing.test.ts b/test/parsing/ContextMapParsing.test.ts new file mode 100644 index 0000000..a324fd4 --- /dev/null +++ b/test/parsing/ContextMapParsing.test.ts @@ -0,0 +1,86 @@ +import { createContextMapperDslServices } from '../../src/language/ContextMapperDslModule.js' +import { parseHelper } from 'langium/test' +import { ContextMappingModel } from '../../src/language/generated/ast.js' +import { EmptyFileSystem, LangiumDocument } from 'langium' +import { beforeAll, describe, expect, test } from 'vitest' +import { parseValidInput } from './ParsingTestHelper.js' + +let services: ReturnType +let parse: ReturnType> +let document: LangiumDocument | undefined + +beforeAll(async () => { + services = createContextMapperDslServices(EmptyFileSystem) + parse = parseHelper(services.ContextMapperDsl) +}) + +describe('Context Map parsing tests', () => { + test('parse empty context map', async () => { + document = await parseValidInput(parse, ` + ContextMap { + } + `) + + expect(document.parseResult.value.contextMaps).toHaveLength(1) + const contextMap = document.parseResult.value.contextMaps[0] + expect(contextMap).not.toBeUndefined() + expect(contextMap.name).toBeUndefined() + expect(contextMap.boundedContexts).toHaveLength(0) + expect(contextMap.type).toBeUndefined() + expect(contextMap.state).toBeUndefined() + expect(contextMap.relationships).toHaveLength(0) + }) + + test('parse context map with name', async () => { + document = await parseValidInput(parse, ` + ContextMap TestMap { + } + `) + + expect(document.parseResult.value.contextMaps).toHaveLength(1) + const contextMap = document.parseResult.value.contextMaps[0] + expect(contextMap).not.toBeUndefined() + expect(contextMap.name).toEqual('TestMap') + }) + + test('parse context map with full body', async () => { + document = await parseValidInput(parse, ` + ContextMap TestMap { + state = AS_IS + type = ORGANIZATIONAL + contains FirstContext, SecondContext + + FirstContext [SK] <-> [SK] SecondContext + } + + BoundedContext FirstContext + BoundedContext SecondContext + `) + + expect(document.parseResult.value.contextMaps).toHaveLength(1) + const contextMap = document.parseResult.value.contextMaps[0] + expect(contextMap).not.toBeUndefined() + expect(contextMap.name).toEqual('TestMap') + expect(contextMap.state).toEqual('AS_IS') + expect(contextMap.type).toEqual('ORGANIZATIONAL') + expect(contextMap.boundedContexts).toHaveLength(2) + expect(contextMap.relationships).toHaveLength(1) + }) + + test('parse context map contains variation', async () => { + document = await parseValidInput(parse, ` + ContextMap TestMap { + contains FirstContext + contains SecondContext + } + + BoundedContext FirstContext + BoundedContext SecondContext + `) + + expect(document.parseResult.value.contextMaps).toHaveLength(1) + const contextMap = document.parseResult.value.contextMaps[0] + expect(contextMap).not.toBeUndefined() + expect(contextMap.boundedContexts).toHaveLength(2) + }) +}) diff --git a/test/parsing/ContextMappingModelParsing.test.ts b/test/parsing/ContextMappingModelParsing.test.ts new file mode 100644 index 0000000..d6ed057 --- /dev/null +++ b/test/parsing/ContextMappingModelParsing.test.ts @@ -0,0 +1,28 @@ +import { createContextMapperDslServices } from '../../src/language/ContextMapperDslModule.js' +import { parseHelper } from 'langium/test' +import { ContextMappingModel } from '../../src/language/generated/ast.js' +import { EmptyFileSystem, LangiumDocument } from 'langium' +import { beforeAll, describe, expect, test } from 'vitest' +import { parseValidInput } from './ParsingTestHelper.js' + +let services: ReturnType +let parse: ReturnType> +let document: LangiumDocument | undefined + +beforeAll(async () => { + services = createContextMapperDslServices(EmptyFileSystem) + parse = parseHelper(services.ContextMapperDsl) +}) + +describe('ContextMappingModel tests', () => { + test('parse empty file', async () => { + document = await parseValidInput(parse, '') + + expect(document.parseResult.value.valueRegisters).toHaveLength(0) + expect(document.parseResult.value.contextMaps).toHaveLength(0) + expect(document.parseResult.value.boundedContexts).toHaveLength(0) + expect(document.parseResult.value.domains).toHaveLength(0) + expect(document.parseResult.value.stakeholders).toHaveLength(0) + expect(document.parseResult.value.userRequirements).toHaveLength(0) + }) +}) diff --git a/test/parsing/DomainParsing.test.ts b/test/parsing/DomainParsing.test.ts new file mode 100644 index 0000000..d8981eb --- /dev/null +++ b/test/parsing/DomainParsing.test.ts @@ -0,0 +1,84 @@ +import { createContextMapperDslServices } from '../../src/language/ContextMapperDslModule.js' +import { parseHelper } from 'langium/test' +import { ContextMappingModel } from '../../src/language/generated/ast.js' +import { EmptyFileSystem, LangiumDocument } from 'langium' +import { beforeAll, describe, expect, test } from 'vitest' +import { parseValidInput } from './ParsingTestHelper.js' + +let services: ReturnType +let parse: ReturnType> +let document: LangiumDocument | undefined + +beforeAll(async () => { + services = createContextMapperDslServices(EmptyFileSystem) + parse = parseHelper(services.ContextMapperDsl) +}) + +describe('Domain parsing tests', () => { + test('parse domain without body', async () => { + document = await parseValidInput(parse, ` + Domain TestDomain + `) + + expect(document.parseResult.value.domains).toHaveLength(1) + const domain = document.parseResult.value.domains[0] + expect(domain).not.toBeUndefined() + expect(domain.name).toEqual('TestDomain') + expect(domain.domainVisionStatement).toBeUndefined() + expect(domain.subdomains).toHaveLength(0) + }) + + test('parse domain with empty body', async () => { + document = await parseValidInput(parse, ` + Domain TestDomain { + } + `) + + expect(document.parseResult.value.domains).toHaveLength(1) + const domain = document.parseResult.value.domains[0] + expect(domain).not.toBeUndefined() + expect(domain.name).toEqual('TestDomain') + expect(domain.domainVisionStatement).toBeUndefined() + expect(domain.subdomains).toHaveLength(0) + }) + + test('parse domain with full body', async () => { + document = await parseValidInput(parse, ` + Domain TestDomain { + domainVisionStatement = "vision" + Subdomain FirstSubdomain + Subdomain SecondSubdomain + } + `) + + expect(document.parseResult.value.domains).toHaveLength(1) + const domain = document.parseResult.value.domains[0] + expect(domain).not.toBeUndefined() + expect(domain.name).toEqual('TestDomain') + expect(domain.domainVisionStatement).toEqual('vision') + expect(domain.subdomains).toHaveLength(2) + }) + + test('parse subdomain', async () => { + document = await parseValidInput(parse, ` + Domain TestDomain { + Subdomain TestSubdomain + supports TestUseCase + { + domainVisionStatement "vision" + type = CORE_DOMAIN + } + } + UseCase TestUseCase + `) + + expect(document.parseResult.value.domains).toHaveLength(1) + expect(document.parseResult.value.domains[0].subdomains).toHaveLength(1) + const subdomain = document.parseResult.value.domains[0].subdomains[0] + expect(subdomain).not.toBeUndefined() + expect(subdomain.name).toEqual('TestSubdomain') + expect(subdomain.supportedFeatures).toHaveLength(1) + expect(subdomain.type).toEqual('CORE_DOMAIN') + expect(subdomain.domainVisionStatement).toEqual('vision') + }) +}) diff --git a/test/parsing/ParsingTestHelper.ts b/test/parsing/ParsingTestHelper.ts new file mode 100644 index 0000000..9caf258 --- /dev/null +++ b/test/parsing/ParsingTestHelper.ts @@ -0,0 +1,21 @@ +import { expect } from 'vitest' +import { LangiumDocument } from 'langium' +import { ContextMappingModel } from '../../src/language/generated/ast.js' +import { parseHelper } from 'langium/test' + +export async function parseValidInput (parse: ReturnType>, input: string): Promise> { + const document = await parse(input) + + expectNoParsingErrors(document) + return document +} + +export async function parseInvalidInput (parse: ReturnType>, input: string): Promise { + const document = await parse(input) + + expect(document.parseResult.parserErrors.length).toBeGreaterThanOrEqual(1) +} + +export function expectNoParsingErrors (document: LangiumDocument) { + expect(document.parseResult.parserErrors.length).toEqual(0) +} diff --git a/test/parsing/RelationshipParsing.test.ts b/test/parsing/RelationshipParsing.test.ts new file mode 100644 index 0000000..c57b160 --- /dev/null +++ b/test/parsing/RelationshipParsing.test.ts @@ -0,0 +1,359 @@ +import { createContextMapperDslServices } from '../../src/language/ContextMapperDslModule.js' +import { parseHelper } from 'langium/test' +import { + ContextMappingModel, + CustomerSupplierRelationship, + Partnership, + SharedKernel, UpstreamDownstreamRelationship +} from '../../src/language/generated/ast.js' +import { EmptyFileSystem, LangiumDocument } from 'langium' +import { beforeAll, describe, expect, test } from 'vitest' +import { parseValidInput } from './ParsingTestHelper.js' + +let services: ReturnType +let parse: ReturnType> +let document: LangiumDocument | undefined + +beforeAll(async () => { + services = createContextMapperDslServices(EmptyFileSystem) + parse = parseHelper(services.ContextMapperDsl) +}) + +describe('Relationship parsing tests', () => { + test('parse SharedKernel relationship properties', async () => { + document = await parseValidInput(parse, ` + ContextMap { + TestContext <-> FirstContext : RelName { + implementationTechnology "Java" + } + } + BoundedContext FirstContext + BoundedContext TestContext + `) + + expect(document.parseResult.value.contextMaps).toHaveLength(1) + expect(document.parseResult.value.contextMaps[0].relationships).toHaveLength(1) + const relationship = document.parseResult.value.contextMaps[0].relationships[0] as SharedKernel + expect(relationship).not.toBeUndefined() + expect(relationship.name).toEqual('RelName') + expect(relationship.implementationTechnology).toEqual('Java') + expect(relationship.participant1).not.toBeUndefined() + expect(relationship.participant2).not.toBeUndefined() + }) + + test('parse SharedKernel relationship variation 1', async () => { + document = await parseValidInput(parse, ` + ContextMap { + TestContext [SK] <-> [SK] FirstContext + } + BoundedContext FirstContext + BoundedContext TestContext + `) + expectRelationshipType(document, 'SharedKernel') + }) + + test('parse SharedKernel relationship variation 2', async () => { + document = await parseValidInput(parse, ` + ContextMap { + [SK] TestContext <-> [SK] FirstContext + } + BoundedContext FirstContext + BoundedContext TestContext + `) + + expectRelationshipType(document, 'SharedKernel') + }) + + test('parse SharedKernel relationship variation 3', async () => { + document = await parseValidInput(parse, ` + ContextMap { + TestContext [SK] <-> FirstContext [SK] + } + BoundedContext FirstContext + BoundedContext TestContext + `) + + expectRelationshipType(document, 'SharedKernel') + }) + + test('parse SharedKernel relationship variation 4', async () => { + document = await parseValidInput(parse, ` + ContextMap { + [SK] TestContext <-> FirstContext [SK] + } + BoundedContext FirstContext + BoundedContext TestContext + `) + + expectRelationshipType(document, 'SharedKernel') + }) + + test('parse SharedKernel relationship variation 5', async () => { + document = await parseValidInput(parse, ` + ContextMap { + TestContext Shared-Kernel FirstContext + } + BoundedContext FirstContext + BoundedContext TestContext + `) + + expectRelationshipType(document, 'SharedKernel') + }) + + test('parse SharedKernel relationship variation 6', async () => { + document = await parseValidInput(parse, ` + ContextMap { + TestContext <-> FirstContext + } + BoundedContext FirstContext + BoundedContext TestContext + `) + + expectRelationshipType(document, 'SharedKernel') + }) + + test('parse Participant relationship properties', async () => { + document = await parseValidInput(parse, ` + ContextMap { + TestContext [P] <-> [P] FirstContext : RelName { + implementationTechnology "Java" + } + } + BoundedContext FirstContext + BoundedContext TestContext + `) + + expect(document.parseResult.value.contextMaps).toHaveLength(1) + expect(document.parseResult.value.contextMaps[0].relationships).toHaveLength(1) + const relationship = document.parseResult.value.contextMaps[0].relationships[0] as Partnership + expect(relationship).not.toBeUndefined() + expect(relationship.name).toEqual('RelName') + expect(relationship.implementationTechnology).toEqual('Java') + expect(relationship.participant1).not.toBeUndefined() + expect(relationship.participant2).not.toBeUndefined() + }) + + test('parse Participant relationship variation 1', async () => { + document = await parseValidInput(parse, ` + ContextMap { + TestContext [P] <-> [P] FirstContext + } + BoundedContext FirstContext + BoundedContext TestContext + `) + + expectRelationshipType(document, 'Partnership') + }) + + test('parse Participant relationship variation 2', async () => { + document = await parseValidInput(parse, ` + ContextMap { + [P] TestContext <-> [P] FirstContext + } + BoundedContext FirstContext + BoundedContext TestContext + `) + + expectRelationshipType(document, 'Partnership') + }) + + test('parse Participant relationship variation 3', async () => { + document = await parseValidInput(parse, ` + ContextMap { + TestContext [P] <-> FirstContext [P] + } + BoundedContext FirstContext + BoundedContext TestContext + `) + + expectRelationshipType(document, 'Partnership') + }) + + test('parse Participant relationship variation 4', async () => { + document = await parseValidInput(parse, ` + ContextMap { + [P] TestContext <-> FirstContext [P] + } + BoundedContext FirstContext + BoundedContext TestContext + `) + + expectRelationshipType(document, 'Partnership') + }) + + test('parse Participant relationship variation 5', async () => { + document = await parseValidInput(parse, ` + ContextMap { + TestContext Partnership FirstContext + } + BoundedContext FirstContext + BoundedContext TestContext + `) + + expectRelationshipType(document, 'Partnership') + }) + + test('parse CustomerSupplier relationship properties', async () => { + document = await parseValidInput(parse, ` + ContextMap { + TestContext [S,OHS] -> [C,CF] FirstContext : RelName { + implementationTechnology "Java" + downstreamRights INFLUENCER + exposedAggregates = TestAggregate + } + } + BoundedContext FirstContext + BoundedContext TestContext { + Aggregate TestAggregate + } + `) + + expect(document.parseResult.value.contextMaps).toHaveLength(1) + expect(document.parseResult.value.contextMaps[0].relationships).toHaveLength(1) + const relationship = document.parseResult.value.contextMaps[0].relationships[0] as CustomerSupplierRelationship + expect(relationship).not.toBeUndefined() + expect(relationship.name).toEqual('RelName') + expect(relationship.implementationTechnology).toEqual('Java') + expect(relationship.downstreamGovernanceRights).toEqual('INFLUENCER') + expect(relationship.upstreamExposedAggregates).toHaveLength(1) + expect(relationship.upstream).not.toBeUndefined() + expect(relationship.downstream).not.toBeUndefined() + expect(relationship.upstreamRoles).toHaveLength(1) + expect(relationship.upstreamRoles[0]).toEqual('OHS') + expect(relationship.downstreamRoles).toHaveLength(1) + expect(relationship.downstreamRoles[0]).toEqual('CF') + }) + + test('parse CustomerSupplier relationship variation 1', async () => { + document = await parseValidInput(parse, ` + ContextMap { + TestContext [S] -> [C] FirstContext + } + BoundedContext FirstContext + BoundedContext TestContext + `) + + expectRelationshipType(document, 'CustomerSupplierRelationship') + }) + + test('parse CustomerSupplier relationship variation 2', async () => { + document = await parseValidInput(parse, ` + ContextMap { + TestContext [C] <- [S] FirstContext + } + BoundedContext FirstContext + BoundedContext TestContext + `) + + expectRelationshipType(document, 'CustomerSupplierRelationship') + }) + + test('parse CustomerSupplier relationship variation 3', async () => { + document = await parseValidInput(parse, ` + ContextMap { + TestContext Customer-Supplier FirstContext + } + BoundedContext FirstContext + BoundedContext TestContext + `) + + expectRelationshipType(document, 'CustomerSupplierRelationship') + }) + + test('parse CustomerSupplier relationship variation 4', async () => { + document = await parseValidInput(parse, ` + ContextMap { + TestContext Supplier-Customer FirstContext + } + BoundedContext FirstContext + BoundedContext TestContext + `) + + expectRelationshipType(document, 'CustomerSupplierRelationship') + }) + + test('parse UpstreamDownstream relationship properties', async () => { + document = await parseValidInput(parse, ` + ContextMap { + TestContext [U,OHS] -> [D,CF] FirstContext : RelName { + downstreamRights INFLUENCER + exposedAggregates = TestAggregate + implementationTechnology "Java" + } + } + BoundedContext FirstContext + BoundedContext TestContext + `) + + expect(document.parseResult.value.contextMaps).toHaveLength(1) + expect(document.parseResult.value.contextMaps[0].relationships).toHaveLength(1) + const relationship = document.parseResult.value.contextMaps[0].relationships[0] as UpstreamDownstreamRelationship + expect(relationship).not.toBeUndefined() + expect(relationship.name).toEqual('RelName') + expect(relationship.downstreamGovernanceRights).toEqual('INFLUENCER') + expect(relationship.upstreamExposedAggregates).toHaveLength(1) + expect(relationship.implementationTechnology).toEqual('Java') + expect(relationship.upstream).not.toBeUndefined() + expect(relationship.upstreamRoles).toHaveLength(1) + expect(relationship.upstreamRoles[0]).toEqual('OHS') + expect(relationship.downstream).not.toBeUndefined() + expect(relationship.downstreamRoles).toHaveLength(1) + expect(relationship.downstreamRoles[0]).toEqual('CF') + }) + + test('parse UpstreamDownstream relationship variation 1', async () => { + document = await parseValidInput(parse, ` + ContextMap { + TestContext [U] -> [D] FirstContext + } + BoundedContext FirstContext + BoundedContext TestContext + `) + + expectRelationshipType(document, 'UpstreamDownstreamRelationship') + }) + + test('parse UpstreamDownstream relationship variation 2', async () => { + document = await parseValidInput(parse, ` + ContextMap { + TestContext [D] <- [U] FirstContext + } + BoundedContext FirstContext + BoundedContext TestContext + `) + + expectRelationshipType(document, 'UpstreamDownstreamRelationship') + }) + + test('parse UpstreamDownstream relationship variation 3', async () => { + document = await parseValidInput(parse, ` + ContextMap { + TestContext Upstream-Downstream FirstContext + } + BoundedContext FirstContext + BoundedContext TestContext + `) + + expectRelationshipType(document, 'UpstreamDownstreamRelationship') + }) + + test('parse UpstreamDownstream relationship variation 4', async () => { + document = await parseValidInput(parse, ` + ContextMap { + TestContext Downstream-Upstream FirstContext + } + BoundedContext FirstContext + BoundedContext TestContext + `) + + expectRelationshipType(document, 'UpstreamDownstreamRelationship') + }) +}) + +function expectRelationshipType (document: LangiumDocument, type: string) { + expect(document.parseResult.value.contextMaps).toHaveLength(1) + expect(document.parseResult.value.contextMaps[0].relationships).toHaveLength(1) + const relationship = document.parseResult.value.contextMaps[0].relationships[0] + expect(relationship).not.toBeUndefined() + expect(relationship.$type).toEqual(type) +} diff --git a/test/parsing/SculptorModuleParsing.test.ts b/test/parsing/SculptorModuleParsing.test.ts new file mode 100644 index 0000000..0d810c4 --- /dev/null +++ b/test/parsing/SculptorModuleParsing.test.ts @@ -0,0 +1,78 @@ +import { createContextMapperDslServices } from '../../src/language/ContextMapperDslModule.js' +import { parseHelper } from 'langium/test' +import { ContextMappingModel, SculptorModule } from '../../src/language/generated/ast.js' +import { EmptyFileSystem, LangiumDocument } from 'langium' +import { beforeAll, describe, expect, test } from 'vitest' +import { parseValidInput } from './ParsingTestHelper.js' + +let services: ReturnType +let parse: ReturnType> +let document: LangiumDocument | undefined + +beforeAll(async () => { + services = createContextMapperDslServices(EmptyFileSystem) + parse = parseHelper(services.ContextMapperDsl) +}) + +describe('Sculptor module parsing tests', () => { + test('parse module without body', async () => { + document = await parseValidInput(parse, ` + BoundedContext TestContext { + Module TestModule + } + `) + + expect(document.parseResult.value.boundedContexts).toHaveLength(1) + expect(document.parseResult.value.boundedContexts[0].modules).toHaveLength(1) + const module = document.parseResult.value.boundedContexts[0].modules[0] + expectEmptyModule(module) + }) + + test('parse module with empty body', async () => { + document = await parseValidInput(parse, ` + BoundedContext TestContext { + Module TestModule { + } + } + `) + + expect(document.parseResult.value.boundedContexts).toHaveLength(1) + expect(document.parseResult.value.boundedContexts[0].modules).toHaveLength(1) + const module = document.parseResult.value.boundedContexts[0].modules[0] + expectEmptyModule(module) + }) + + test('parse module with full body', async () => { + document = await parseValidInput(parse, ` + BoundedContext TestContext { + "doc" + Module TestModule { + hint = "hint" + external + basePackage = base.package + Aggregate SecondAggregate + } + } + `) + + expect(document.parseResult.value.boundedContexts).toHaveLength(1) + expect(document.parseResult.value.boundedContexts[0].modules).toHaveLength(1) + const module = document.parseResult.value.boundedContexts[0].modules[0] + expect(module.doc).toEqual('doc') + expect(module.name).toEqual('TestModule') + expect(module.external).toEqual(true) + expect(module.basePackage).toEqual('base.package') + expect(module.hint).toEqual('hint') + expect(module.aggregates).toHaveLength(1) + }) +}) + +function expectEmptyModule (module: SculptorModule): void { + expect(module).not.toBeUndefined() + expect(module.name).toEqual('TestModule') + expect(module.doc).toBeUndefined() + expect(module.external).toEqual(false) + expect(module.basePackage).toBeUndefined() + expect(module.hint).toBeUndefined() + expect(module.aggregates).toHaveLength(0) +} diff --git a/test/parsing/StakeholdersParsing.test.ts b/test/parsing/StakeholdersParsing.test.ts new file mode 100644 index 0000000..b5227f4 --- /dev/null +++ b/test/parsing/StakeholdersParsing.test.ts @@ -0,0 +1,167 @@ +import { createContextMapperDslServices } from '../../src/language/ContextMapperDslModule.js' +import { parseHelper } from 'langium/test' +import { ContextMappingModel, Stakeholder, StakeholderGroup, Stakeholders } from '../../src/language/generated/ast.js' +import { EmptyFileSystem, LangiumDocument } from 'langium' +import { beforeAll, describe, expect, test } from 'vitest' +import { parseValidInput } from './ParsingTestHelper.js' + +let services: ReturnType +let parse: ReturnType> +let document: LangiumDocument | undefined + +beforeAll(async () => { + services = createContextMapperDslServices(EmptyFileSystem) + parse = parseHelper(services.ContextMapperDsl) +}) + +describe('Stakeholders parsing tests', () => { + test('parse stakeholders without body', async () => { + document = await parseValidInput(parse, ` + Stakeholders + `) + + expect(document.parseResult.value.stakeholders).toHaveLength(1) + const stakeholders = document.parseResult.value.stakeholders[0] + expectEmptyStakeholders(stakeholders) + }) + + test('parse stakeholders with empty body', async () => { + document = await parseValidInput(parse, ` + Stakeholders { + } + `) + + expect(document.parseResult.value.stakeholders).toHaveLength(1) + const stakeholders = document.parseResult.value.stakeholders[0] + expectEmptyStakeholders(stakeholders) + }) + + test('parse stakeholders with full body', async () => { + document = await parseValidInput(parse, ` + BoundedContext TestContext + + Stakeholders of TestContext { + StakeholderGroup TestGroup + Stakeholder TestStakeholder + } + `) + + expect(document.parseResult.value.stakeholders).toHaveLength(1) + const stakeholders = document.parseResult.value.stakeholders[0] + expect(stakeholders).not.toBeUndefined() + expect(stakeholders.contexts).toHaveLength(1) + expect(stakeholders.stakeholders).toHaveLength(2) + }) + + test('parse stakeholder group without body', async () => { + document = await parseValidInput(parse, ` + Stakeholders { + StakeholderGroup TestGroup + } + `) + + expect(document.parseResult.value.stakeholders).toHaveLength(1) + expect(document.parseResult.value.stakeholders[0].stakeholders).toHaveLength(1) + const group = document.parseResult.value.stakeholders[0].stakeholders[0] as StakeholderGroup + expectEmptyStakeholderGroup(group) + }) + + test('parse stakeholder group with empty body', async () => { + document = await parseValidInput(parse, ` + Stakeholders { + StakeholderGroup TestGroup { + } + } + `) + + expect(document.parseResult.value.stakeholders).toHaveLength(1) + expect(document.parseResult.value.stakeholders[0].stakeholders).toHaveLength(1) + const group = document.parseResult.value.stakeholders[0].stakeholders[0] as StakeholderGroup + expectEmptyStakeholderGroup(group) + }) + + test('parse stakeholder group with full body', async () => { + document = await parseValidInput(parse, ` + Stakeholders { + StakeholderGroup TestGroup { + Stakeholder TestStakeholder + } + } + `) + + expect(document.parseResult.value.stakeholders).toHaveLength(1) + expect(document.parseResult.value.stakeholders[0].stakeholders).toHaveLength(1) + const group = document.parseResult.value.stakeholders[0].stakeholders[0] as StakeholderGroup + expect(group).not.toBeUndefined() + expect(group.name).toEqual('TestGroup') + expect(group.stakeholders).toHaveLength(1) + }) + + test('parse stakeholder without body', async () => { + document = await parseValidInput(parse, ` + Stakeholders { + Stakeholder TestStakeholder + } + `) + + expect(document.parseResult.value.stakeholders).toHaveLength(1) + expect(document.parseResult.value.stakeholders[0].stakeholders).toHaveLength(1) + const stakeholder = document.parseResult.value.stakeholders[0].stakeholders[0] as Stakeholder + expectEmptyStakeholder(stakeholder) + }) + + test('parse stakeholder with empty body', async () => { + document = await parseValidInput(parse, ` + Stakeholders { + Stakeholder TestStakeholder { + } + } + `) + + expect(document.parseResult.value.stakeholders).toHaveLength(1) + expect(document.parseResult.value.stakeholders[0].stakeholders).toHaveLength(1) + const stakeholder = document.parseResult.value.stakeholders[0].stakeholders[0] as Stakeholder + expectEmptyStakeholder(stakeholder) + }) + + test('parse stakeholder with full body', async () => { + document = await parseValidInput(parse, ` + Stakeholders { + Stakeholder TestStakeholder { + interest = HIGH + influence MEDIUM + description = "description" + } + } + `) + + expect(document.parseResult.value.stakeholders).toHaveLength(1) + expect(document.parseResult.value.stakeholders[0].stakeholders).toHaveLength(1) + const stakeholder = document.parseResult.value.stakeholders[0].stakeholders[0] as Stakeholder + expect(stakeholder.name).toEqual('TestStakeholder') + expect(stakeholder.interest).toEqual('HIGH') + expect(stakeholder.influence).toEqual('MEDIUM') + expect(stakeholder.description).toEqual('description') + }) +}) + +function expectEmptyStakeholders (stakeholders: Stakeholders) { + expect(stakeholders).not.toBeUndefined() + expect(stakeholders.contexts).toHaveLength(0) + expect(stakeholders.stakeholders).toHaveLength(0) +} + +function expectEmptyStakeholderGroup (group: StakeholderGroup): void { + expect(group).not.toBeUndefined() + expect(group.$type).toEqual('StakeholderGroup') + expect(group.name).toEqual('TestGroup') + expect(group.stakeholders).toHaveLength(0) +} + +function expectEmptyStakeholder (stakeholder: Stakeholder): void { + expect(stakeholder).not.toBeUndefined() + expect(stakeholder.name).toEqual('TestStakeholder') + expect(stakeholder.influence).toBeUndefined() + expect(stakeholder.interest).toBeUndefined() + expect(stakeholder.description).toBeUndefined() +} diff --git a/test/parsing/UserRequirementParsing.test.ts b/test/parsing/UserRequirementParsing.test.ts new file mode 100644 index 0000000..501cea9 --- /dev/null +++ b/test/parsing/UserRequirementParsing.test.ts @@ -0,0 +1,184 @@ +import { createContextMapperDslServices } from '../../src/language/ContextMapperDslModule.js' +import { parseHelper } from 'langium/test' +import { ContextMappingModel, NormalFeature, StoryFeature, UseCase, UserStory } from '../../src/language/generated/ast.js' +import { EmptyFileSystem, LangiumDocument } from 'langium' +import { beforeAll, describe, expect, test } from 'vitest' +import { parseValidInput } from './ParsingTestHelper.js' + +let services: ReturnType +let parse: ReturnType> +let document: LangiumDocument | undefined + +beforeAll(async () => { + services = createContextMapperDslServices(EmptyFileSystem) + parse = parseHelper(services.ContextMapperDsl) +}) + +describe('User requirement parsing tests', () => { + test('parse UseCase without body', async () => { + document = await parseValidInput(parse, ` + UseCase TestUseCase + `) + + expect(document.parseResult.value.userRequirements).toHaveLength(1) + const userRequirement = document.parseResult.value.userRequirements[0] + expect(userRequirement).not.toBeUndefined() + expect(userRequirement.$type).toEqual('UseCase') + const useCase = userRequirement as UseCase + expectUseCaseToBeEmpty(useCase) + }) + + test('parse UseCase with empty body', async () => { + document = await parseValidInput(parse, ` + UseCase TestUseCase { + } + `) + + expect(document.parseResult.value.userRequirements).toHaveLength(1) + const useCase = document.parseResult.value.userRequirements[0] as UseCase + expectUseCaseToBeEmpty(useCase) + }) + + test('parse UseCase with full body', async () => { + document = await parseValidInput(parse, ` + UseCase TestUseCase { + secondaryActors = "actor1", "actor2" + actor "role" + benefit = "benefit" + level = "level" + scope = "scope" + interactions + create an "order", + "edit" an "order" + } + `) + + expect(document.parseResult.value.userRequirements).toHaveLength(1) + const useCase = document.parseResult.value.userRequirements[0] as UseCase + expect(useCase).not.toBeUndefined() + expect(useCase.name).toEqual('TestUseCase') + expect(useCase.secondaryActors).toHaveLength(2) + expect(useCase.secondaryActors[0]).toEqual('actor1') + expect(useCase.secondaryActors[1]).toEqual('actor2') + expect(useCase.role).toEqual('role') + expect(useCase.benefit).toEqual('benefit') + expect(useCase.level).toEqual('level') + expect(useCase.scope).toEqual('scope') + expect(useCase.features).toHaveLength(2) + }) + + test('parse UserStory without body', async () => { + document = await parseValidInput(parse, ` + UserStory TestUserStory + `) + + expect(document.parseResult.value.userRequirements).toHaveLength(1) + const requirement = document.parseResult.value.userRequirements[0] + expect(requirement).not.toBeUndefined() + expect(requirement.$type).toEqual('UserStory') + const userStory = requirement as UserStory + expectUserStoryToBeEmpty(userStory) + }) + + test('parse UserStory with empty body', async () => { + document = await parseValidInput(parse, ` + UserStory TestUserStory { + } + `) + + expect(document.parseResult.value.userRequirements).toHaveLength(1) + const userStory = document.parseResult.value.userRequirements[0] as UserStory + expectUserStoryToBeEmpty(userStory) + }) + + test('parse UserStory with full body', async () => { + document = await parseValidInput(parse, ` + UserStory TestUserStory + split by AnotherUserStory + { + As a "user" create an "order" so that "I can buy stuff" and that "consumption" is promoted, accepting that "savings" are reduced + } + UserStory AnotherUserStory + `) + + expect(document.parseResult.value.userRequirements).toHaveLength(2) + const userStory = document.parseResult.value.userRequirements[0] as UserStory + expect(userStory.name).toEqual('TestUserStory') + expect(userStory.splittingStory).not.toBeUndefined() + expect(userStory.role).toEqual('user') + expect(userStory.features).toHaveLength(1) + expect(userStory.benefit).toEqual('I can buy stuff') + expect(userStory.valuation).not.toBeUndefined() + expect(userStory.valuation?.promotedValues).toHaveLength(1) + expect(userStory.valuation?.promotedValues[0]).toEqual('consumption') + expect(userStory.valuation?.harmedValues).toHaveLength(1) + expect(userStory.valuation?.harmedValues[0]).toEqual('savings') + }) + + test('parse NormalFeature', async () => { + document = await parseValidInput(parse, ` + UseCase TestUseCase { + interactions = create an "order" with its "products", "prices" in a "cart" + } + `) + + expect(document.parseResult.value.userRequirements).toHaveLength(1) + const useCase = document.parseResult.value.userRequirements[0] as UseCase + expect(useCase.features).toHaveLength(1) + const feature = useCase.features[0] as NormalFeature + expect(feature.$type).toEqual('NormalFeature') + expect(feature.verb).toEqual('create') + expect(feature.entityArticle).toEqual('an') + expect(feature.entity).toEqual('order') + expect(feature.entityAttributesPreposition).toEqual('with its') + expect(feature.entityAttributes).toHaveLength(2) + expect(feature.entityAttributes[0]).toEqual('products') + expect(feature.entityAttributes[1]).toEqual('prices') + expect(feature.containerEntityPreposition).toEqual('in') + expect(feature.containerEntityArticle).toEqual('a') + expect(feature.containerEntity).toEqual('cart') + }) + + test('parse StoryFeature', async () => { + document = await parseValidInput(parse, ` + UseCase TestUseCase { + interactions = I want to "create" an "order" with its "products", "prices" in a "cart" + } + `) + + expect(document.parseResult.value.userRequirements).toHaveLength(1) + const useCase = document.parseResult.value.userRequirements[0] as UseCase + expect(useCase.features).toHaveLength(1) + const feature = useCase.features[0] as StoryFeature + expect(feature.$type).toEqual('StoryFeature') + expect(feature.verb).toEqual('create') + expect(feature.entityArticle).toEqual('an') + expect(feature.entity).toEqual('order') + expect(feature.entityAttributesPreposition).toEqual('with its') + expect(feature.entityAttributes).toHaveLength(2) + expect(feature.entityAttributes[0]).toEqual('products') + expect(feature.entityAttributes[1]).toEqual('prices') + expect(feature.containerEntityPreposition).toEqual('in') + expect(feature.containerEntityArticle).toEqual('a') + expect(feature.containerEntity).toEqual('cart') + }) +}) + +function expectUseCaseToBeEmpty (useCase: UseCase) { + expect(useCase.name).toEqual('TestUseCase') + expect(useCase.role).toBeUndefined() + expect(useCase.secondaryActors).toHaveLength(0) + expect(useCase.features).toHaveLength(0) + expect(useCase.benefit).toBeUndefined() + expect(useCase.scope).toBeUndefined() + expect(useCase.level).toBeUndefined() +} + +function expectUserStoryToBeEmpty (userStory: UserStory) { + expect(userStory.name).toEqual('TestUserStory') + expect(userStory.splittingStory).toBeUndefined() + expect(userStory.role).toBeUndefined() + expect(userStory.features).toHaveLength(0) + expect(userStory.benefit).toBeUndefined() + expect(userStory.valuation).toBeUndefined() +} diff --git a/test/parsing/ValueRegisterParsing.test.ts b/test/parsing/ValueRegisterParsing.test.ts new file mode 100644 index 0000000..79e22ee --- /dev/null +++ b/test/parsing/ValueRegisterParsing.test.ts @@ -0,0 +1,471 @@ +import { createContextMapperDslServices } from '../../src/language/ContextMapperDslModule.js' +import { parseHelper } from 'langium/test' +import { + ContextMappingModel, + Value, + ValueElicitation, + ValueEpic, + ValueRegister +} from '../../src/language/generated/ast.js' +import { EmptyFileSystem, LangiumDocument } from 'langium' +import { beforeAll, describe, expect, test } from 'vitest' +import { parseInvalidInput, parseValidInput } from './ParsingTestHelper.js' + +let services: ReturnType +let parse: ReturnType> +let document: LangiumDocument | undefined + +beforeAll(async () => { + services = createContextMapperDslServices(EmptyFileSystem) + parse = parseHelper(services.ContextMapperDsl) +}) + +describe('Value cluster parsing tests', () => { + test('parse value register without body', async () => { + document = await parseValidInput(parse, ` + ValueRegister TestRegister + `) + + expect(document.parseResult.value.valueRegisters).toHaveLength(1) + const valueRegister = document.parseResult.value.valueRegisters[0] + expectEmptyValueRegister(valueRegister) + }) + + test('parse value register with empty body', async () => { + document = await parseValidInput(parse, ` + ValueRegister TestRegister { + } + `) + + expect(document.parseResult.value.valueRegisters).toHaveLength(1) + const valueRegister = document.parseResult.value.valueRegisters[0] + expectEmptyValueRegister(valueRegister) + }) + + test('parse value register with full body', async () => { + document = await parseValidInput(parse, ` + BoundedContext TestContext + Stakeholders { + Stakeholder TestStakeholder + } + ValueRegister TestRegister for TestContext { + ValueCluster TestCluster + ValueNarrative TestNarrative { + When the SOI executes "feature", + stakeholders expect it to promote, protect or create "promoValue", + possibly degrading or prohibiting "harmValue" + with the following externally observable and/or internally auditable behavior: "conditions" + } + Value TestValue + ValueEpic TestEpic + ValueWeighting TestWeighting { + In the context of the SOI, + stakeholder TestStakeholder values "val1" more than "val2" + expecting benefits such as "benefit" + running the risk of harms such as "harm" + } + } + `) + + expect(document.parseResult.value.valueRegisters).toHaveLength(1) + const valueRegister = document.parseResult.value.valueRegisters[0] + expect(valueRegister.name).toEqual('TestRegister') + expect(valueRegister.context).not.toBeUndefined() + expect(valueRegister.valueClusters).toHaveLength(1) + expect(valueRegister.values).toHaveLength(1) + expect(valueRegister.valueEpics).toHaveLength(1) + expect(valueRegister.valueNarratives).toHaveLength(1) + expect(valueRegister.valueWeightings).toHaveLength(1) + }) + + test('parse value cluster without body', async () => { + document = await parseValidInput(parse, ` + ValueRegister TestRegister { + ValueCluster TestCluster + } + `) + + expect(document.parseResult.value.valueRegisters).toHaveLength(1) + expect(document.parseResult.value.valueRegisters[0].valueClusters).toHaveLength(1) + const valueCluster = document.parseResult.value.valueRegisters[0].valueClusters[0] + expect(valueCluster).not.toBeUndefined() + expect(valueCluster.name).toEqual('TestCluster') + expect(valueCluster.coreValue).toBeUndefined() + expect(valueCluster.coreValue7000).toBeUndefined() + expect(valueCluster.demonstrators).toHaveLength(0) + expect(valueCluster.relatedValues).toHaveLength(0) + expect(valueCluster.opposingValues).toHaveLength(0) + expect(valueCluster.values).toHaveLength(0) + expect(valueCluster.elicitations).toHaveLength(0) + }) + + test('parse value cluster with invalid empty body', async () => { + await parseInvalidInput(parse, ` + ValueRegister TestRegister { + ValueCluster TestCluster { + } + } + `) + }) + + test('parse value cluster with minimal body', async () => { + document = await parseValidInput(parse, ` + ValueRegister TestRegister { + ValueCluster TestCluster { + core AUTONOMY + } + } + `) + + expect(document.parseResult.value.valueRegisters).toHaveLength(1) + expect(document.parseResult.value.valueRegisters[0].valueClusters).toHaveLength(1) + const valueCluster = document.parseResult.value.valueRegisters[0].valueClusters[0] + expect(valueCluster).not.toBeUndefined() + expect(valueCluster.name).toEqual('TestCluster') + expect(valueCluster.coreValue).toBeUndefined() + expect(valueCluster.coreValue7000).toEqual('AUTONOMY') + }) + + test('parse value cluster with full body', async () => { + document = await parseValidInput(parse, ` + Stakeholders { + Stakeholder TestStakeholder + } + ValueRegister TestRegister { + ValueCluster TestCluster { + core "testCore" + relatedValue = "relVal" + demonstrator = "dem" + opposingValue "oppo" + + Stakeholder TestStakeholder + Value TestValue + } + } + `) + + expect(document.parseResult.value.valueRegisters).toHaveLength(1) + expect(document.parseResult.value.valueRegisters[0].valueClusters).toHaveLength(1) + const valueCluster = document.parseResult.value.valueRegisters[0].valueClusters[0] + expect(valueCluster.name).toEqual('TestCluster') + expect(valueCluster.coreValue).toEqual('testCore') + expect(valueCluster.coreValue7000).toBeUndefined() + expect(valueCluster.relatedValues).toHaveLength(1) + expect(valueCluster.relatedValues[0]).toEqual('relVal') + expect(valueCluster.demonstrators).toHaveLength(1) + expect(valueCluster.demonstrators[0]).toEqual('dem') + expect(valueCluster.opposingValues).toHaveLength(1) + expect(valueCluster.opposingValues[0]).toEqual('oppo') + expect(valueCluster.elicitations).toHaveLength(1) + expect(valueCluster.values).toHaveLength(1) + }) + + test('parse value without body', async () => { + document = await parseValidInput(parse, ` + ValueRegister TestRegister { + Value TestValue + } + `) + + expect(document.parseResult.value.valueRegisters).toHaveLength(1) + expect(document.parseResult.value.valueRegisters[0].values).toHaveLength(1) + const value = document.parseResult.value.valueRegisters[0].values[0] + expectEmptyValue(value) + }) + + test('parse value with empty body', async () => { + document = await parseValidInput(parse, ` + ValueRegister TestRegister { + Value TestValue { + } + } + `) + + expect(document.parseResult.value.valueRegisters).toHaveLength(1) + expect(document.parseResult.value.valueRegisters[0].values).toHaveLength(1) + const value = document.parseResult.value.valueRegisters[0].values[0] + expectEmptyValue(value) + }) + + test('parse value with full body', async () => { + document = await parseValidInput(parse, ` + Stakeholders { + Stakeholder TestStakeholder + } + ValueRegister TestRegister { + Value TestValue { + relatedValue = "relVal" + isCore + opposingValue "oppo" + demonstrator = "dem" + + Stakeholder TestStakeholder + } + } + `) + + expect(document.parseResult.value.valueRegisters).toHaveLength(1) + expect(document.parseResult.value.valueRegisters[0].values).toHaveLength(1) + const value = document.parseResult.value.valueRegisters[0].values[0] + expect(value.name).toEqual('TestValue') + expect(value.coreValue).toHaveLength(1) + expect(value.demonstrators).toHaveLength(1) + expect(value.demonstrators[0]).toEqual('dem') + expect(value.relatedValues).toHaveLength(1) + expect(value.relatedValues[0]).toEqual('relVal') + expect(value.opposingValues).toHaveLength(1) + expect(value.elicitations).toHaveLength(1) + }) + + test('parse value epic without body', async () => { + document = await parseValidInput(parse, ` + ValueRegister TestRegister { + ValueEpic TestEpic + } + `) + + expect(document.parseResult.value.valueRegisters).toHaveLength(1) + expect(document.parseResult.value.valueRegisters[0].valueEpics).toHaveLength(1) + const epic = document.parseResult.value.valueRegisters[0].valueEpics[0] + expectEmptyEpic(epic) + }) + + test('parse value epic with invalid empty body', async () => { + await parseInvalidInput(parse, ` + ValueRegister TestRegister { + ValueEpic TestEpic { + } + } + `) + }) + + test('parse value epic with full body', async () => { + document = await parseValidInput(parse, ` + Stakeholders { + Stakeholder TestStakeholder + } + ValueRegister TestRegister { + ValueEpic TestEpic { + As a TestStakeholder I value "val" as demonstrated in + reduction of "redVal1" + reduction of "redVal2" + realization of "relVal1" + } + } + `) + + expect(document.parseResult.value.valueRegisters).toHaveLength(1) + expect(document.parseResult.value.valueRegisters[0].valueEpics).toHaveLength(1) + const epic = document.parseResult.value.valueRegisters[0].valueEpics[0] + expect(epic.name).toEqual('TestEpic') + expect(epic.stakeholder).not.toBeUndefined() + expect(epic.value).toEqual('val') + expect(epic.realizedValues).toHaveLength(1) + expect(epic.realizedValues[0]).toEqual('relVal1') + expect(epic.reducedValues).toHaveLength(2) + expect(epic.reducedValues[0]).toEqual('redVal1') + expect(epic.reducedValues[1]).toEqual('redVal2') + }) + + test('parse value narrative', async () => { + document = await parseValidInput(parse, ` + ValueRegister TestRegister { + ValueNarrative TestNarrative { + When the SOI executes "feat", + stakeholders expect it to promote, protect or create "promoValue", + possibly degrading or prohibiting "harmValue" + with the following externally observable and/or internally auditable behavior: "conditions" + } + } + `) + + expect(document.parseResult.value.valueRegisters).toHaveLength(1) + expect(document.parseResult.value.valueRegisters[0].valueNarratives).toHaveLength(1) + const narrative = document.parseResult.value.valueRegisters[0].valueNarratives[0] + expect(narrative).not.toBeUndefined() + expect(narrative.name).toEqual('TestNarrative') + expect(narrative.feature).toEqual('feat') + expect(narrative.promotedValues).toEqual('promoValue') + expect(narrative.harmedValues).toEqual('harmValue') + expect(narrative.preAndPostConditions).toEqual('conditions') + }) + + test('parse value weighting', async () => { + document = await parseValidInput(parse, ` + Stakeholders { + Stakeholder TestStakeholder + } + ValueRegister TestRegister { + ValueWeighting TestWeighting { + In the context of the SOI, + stakeholder TestStakeholder values "val1" more than "val2" + expecting benefits such as "benefits" + running the risk of harms such as "harms" + } + } + `) + + expect(document.parseResult.value.valueRegisters).toHaveLength(1) + expect(document.parseResult.value.valueRegisters[0].valueWeightings).toHaveLength(1) + const weighting = document.parseResult.value.valueRegisters[0].valueWeightings[0] + expect(weighting).not.toBeUndefined() + expect(weighting.name).toEqual('TestWeighting') + expect(weighting.stakeholder).not.toBeUndefined() + expect(weighting.value1).toEqual('val1') + expect(weighting.value2).toEqual('val2') + expect(weighting.benefits).toEqual('benefits') + expect(weighting.harms).toEqual('harms') + }) + + test('parse value elicitation without body', async () => { + document = await parseValidInput(parse, ` + Stakeholders { + Stakeholder TestStakeholder + } + ValueRegister TestRegister { + Value TestVal { + Stakeholder TestStakeholder + } + } + `) + + expect(document.parseResult.value.valueRegisters).toHaveLength(1) + expect(document.parseResult.value.valueRegisters[0].values).toHaveLength(1) + expect(document.parseResult.value.valueRegisters[0].values[0].elicitations).toHaveLength(1) + const elicitation = document.parseResult.value.valueRegisters[0].values[0].elicitations[0] + expectEmptyValueElicitation(elicitation) + }) + + test('parse value elicitation with empty body', async () => { + document = await parseValidInput(parse, ` + Stakeholders { + Stakeholder TestStakeholder + } + ValueRegister TestRegister { + Value TestVal { + Stakeholder TestStakeholder { + } + } + } + `) + + expect(document.parseResult.value.valueRegisters).toHaveLength(1) + expect(document.parseResult.value.valueRegisters[0].values).toHaveLength(1) + expect(document.parseResult.value.valueRegisters[0].values[0].elicitations).toHaveLength(1) + const elicitation = document.parseResult.value.valueRegisters[0].values[0].elicitations[0] + expectEmptyValueElicitation(elicitation) + }) + + test('parse value elicitation with full body', async () => { + document = await parseValidInput(parse, ` + Stakeholders { + Stakeholder TestStakeholder + } + ValueRegister TestRegister { + Value TestVal { + Stakeholder TestStakeholder { + impact = MEDIUM + consequences good "conseq" + priority = LOW + } + } + } + `) + + expect(document.parseResult.value.valueRegisters).toHaveLength(1) + expect(document.parseResult.value.valueRegisters[0].values).toHaveLength(1) + expect(document.parseResult.value.valueRegisters[0].values[0].elicitations).toHaveLength(1) + const elicitation = document.parseResult.value.valueRegisters[0].values[0].elicitations[0] + expect(elicitation.stakeholder).not.toBeUndefined() + expect(elicitation.priority).toEqual('LOW') + expect(elicitation.impact).toEqual('MEDIUM') + expect(elicitation.consequences).toHaveLength(1) + }) + + test('parse consequence without action', async () => { + document = await parseValidInput(parse, ` + Stakeholders { + Stakeholder TestStakeholder + } + ValueRegister TestRegister { + Value TestVal { + Stakeholder TestStakeholder { + consequences good "conseq" + } + } + } + `) + + expect(document.parseResult.value.valueRegisters).toHaveLength(1) + expect(document.parseResult.value.valueRegisters[0].values).toHaveLength(1) + expect(document.parseResult.value.valueRegisters[0].values[0].elicitations).toHaveLength(1) + expect(document.parseResult.value.valueRegisters[0].values[0].elicitations[0].consequences).toHaveLength(1) + const consequence = document.parseResult.value.valueRegisters[0].values[0].elicitations[0].consequences[0] + expect(consequence.type).toEqual('good') + expect(consequence.consequence).toEqual('conseq') + expect(consequence.action).toBeUndefined() + }) + + test('parse consequence with action', async () => { + document = await parseValidInput(parse, ` + Stakeholders { + Stakeholder TestStakeholder + } + ValueRegister TestRegister { + Value TestVal { + Stakeholder TestStakeholder { + consequences good "conseq" action "act" "typ" + } + } + } + `) + + expect(document.parseResult.value.valueRegisters).toHaveLength(1) + expect(document.parseResult.value.valueRegisters[0].values).toHaveLength(1) + expect(document.parseResult.value.valueRegisters[0].values[0].elicitations).toHaveLength(1) + expect(document.parseResult.value.valueRegisters[0].values[0].elicitations[0].consequences).toHaveLength(1) + const consequence = document.parseResult.value.valueRegisters[0].values[0].elicitations[0].consequences[0] + expect(consequence).not.toBeUndefined() + const action = consequence.action + expect(action?.action).toEqual('act') + expect(action?.type).toEqual('typ') + }) +}) + +function expectEmptyValueRegister (valueRegister: ValueRegister) { + expect(valueRegister).not.toBeUndefined() + expect(valueRegister.name).toEqual('TestRegister') + expect(valueRegister.context).toBeUndefined() + expect(valueRegister.valueClusters).toHaveLength(0) + expect(valueRegister.values).toHaveLength(0) + expect(valueRegister.valueEpics).toHaveLength(0) + expect(valueRegister.valueNarratives).toHaveLength(0) + expect(valueRegister.valueWeightings).toHaveLength(0) +} + +function expectEmptyValue (value: Value) { + expect(value).not.toBeUndefined() + expect(value.name).toEqual('TestValue') + expect(value.coreValue).toHaveLength(0) + expect(value.demonstrators).toHaveLength(0) + expect(value.relatedValues).toHaveLength(0) + expect(value.opposingValues).toHaveLength(0) + expect(value.elicitations).toHaveLength(0) +} + +function expectEmptyEpic (epic: ValueEpic) { + expect(epic).not.toBeUndefined() + expect(epic.name).toEqual('TestEpic') + expect(epic.stakeholder).toBeUndefined() + expect(epic.value).toBeUndefined() + expect(epic.realizedValues).toHaveLength(0) + expect(epic.reducedValues).toHaveLength(0) +} + +function expectEmptyValueElicitation (elicitation: ValueElicitation) { + expect(elicitation).not.toBeUndefined() + expect(elicitation.stakeholder).not.toBeUndefined() + expect(elicitation.priority).toBeUndefined() + expect(elicitation.impact).toBeUndefined() + expect(elicitation.consequences).toHaveLength(0) +} From e58c931ef3dd142c895b3b74c697806b889e52f4 Mon Sep 17 00:00:00 2001 From: Lukas Streckeisen Date: Wed, 16 Apr 2025 14:20:29 +0200 Subject: [PATCH 19/20] fix build --- .../vdad/ValueWeightingSemanticTokenProvider.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/language/semantictokens/vdad/ValueWeightingSemanticTokenProvider.ts b/src/language/semantictokens/vdad/ValueWeightingSemanticTokenProvider.ts index 3762679..c28941a 100644 --- a/src/language/semantictokens/vdad/ValueWeightingSemanticTokenProvider.ts +++ b/src/language/semantictokens/vdad/ValueWeightingSemanticTokenProvider.ts @@ -1,15 +1,15 @@ import { ContextMapperSemanticTokenProvider } from '../ContextMapperSemanticTokenProvider.js' -import { isValueWeigthing, ValueWeigthing } from '../../generated/ast.js' +import { isValueWeighting, ValueWeighting } from '../../generated/ast.js' import { AstNode } from 'langium' import { SemanticTokenAcceptor } from 'langium/lsp' import { highlightKeyword, highlightString, highlightType, highlightTypeDeclaration } from '../HighlightingHelper.js' -export class ValueWeightingSemanticTokenProvider implements ContextMapperSemanticTokenProvider { - supports (node: AstNode): node is ValueWeigthing { - return isValueWeigthing(node) +export class ValueWeightingSemanticTokenProvider implements ContextMapperSemanticTokenProvider { + supports (node: AstNode): node is ValueWeighting { + return isValueWeighting(node) } - highlight (node: ValueWeigthing, acceptor: SemanticTokenAcceptor) { + highlight (node: ValueWeighting, acceptor: SemanticTokenAcceptor) { highlightTypeDeclaration(node, acceptor, 'ValueWeighting') highlightKeyword(node, acceptor, 'In the context of the SOI,') From 274cb3e858fe20bdc4df5449edff273cd2ea48e0 Mon Sep 17 00:00:00 2001 From: Lukas Streckeisen Date: Thu, 17 Apr 2025 09:20:30 +0200 Subject: [PATCH 20/20] setup CI based sonarcloud analysis --- .github/workflows/sonar.yml | 19 +++++++++++++++++++ sonar-project.properties | 14 ++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 .github/workflows/sonar.yml create mode 100644 sonar-project.properties diff --git a/.github/workflows/sonar.yml b/.github/workflows/sonar.yml new file mode 100644 index 0000000..0590bd2 --- /dev/null +++ b/.github/workflows/sonar.yml @@ -0,0 +1,19 @@ +name: SonarCloud Analysis +on: + push: + branches: + - main + pull_request: + types: [opened, synchronize, reopened] +jobs: + sonarqube: + name: SonarQube + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis + - name: SonarQube Scan + uses: SonarSource/sonarqube-scan-action@v5 + env: + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} \ No newline at end of file diff --git a/sonar-project.properties b/sonar-project.properties new file mode 100644 index 0000000..28c714c --- /dev/null +++ b/sonar-project.properties @@ -0,0 +1,14 @@ +sonar.projectKey=lstreckeisen_context-mapper-language-server +sonar.organization=lstreckeisen + + +# This is the name and version displayed in the SonarCloud UI. +#sonar.projectName=context-mapper-language-server +#sonar.projectVersion=1.0 + + +# Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows. +#sonar.sources=. + +# Encoding of the source code. Default is default system encoding +#sonar.sourceEncoding=UTF-8 \ No newline at end of file