├── .github ├── FUNDING.yml ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md └── workflows │ ├── build_master.yml │ ├── build_standard.yml │ ├── release-trigger.yml │ ├── release.yml │ └── settings.xml ├── .gitignore ├── .java-version ├── .mvn └── wrapper │ ├── MavenWrapperDownloader.java │ └── maven-wrapper.properties ├── .project ├── LICENSE ├── README.md ├── build.gradle ├── codecov.yml ├── docs └── madr │ ├── 0001-domain-services-outside-aggregates.md │ ├── 0002-use-case-diagram-layout.md │ └── README.md ├── gradle.properties ├── gradle ├── maven-deployment.gradle ├── source-layout.gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── org.contextmapper.dsl.feature ├── .project ├── build.properties ├── feature.xml └── pom.xml ├── org.contextmapper.dsl.ide.tests ├── .classpath ├── .project ├── META-INF │ └── MANIFEST.MF ├── build.gradle ├── build.properties ├── pom.xml └── src │ └── org │ └── contextmapper │ └── dsl │ └── ide │ └── tests │ ├── AbstractCMLLanguageServerTest.java │ ├── actions │ ├── AbstractBoundedContextCodeActionTest.xtend │ ├── DeriveBoundedContextFromSubdomainsActionTest.xtend │ ├── DeriveFrontendAndBackendSystemFromFeatureBCActionTest.xtend │ ├── ExtractAggregatesByCohesionActionTest.xtend │ ├── ExtractAggregatesByVolatilityActionTest.xtend │ ├── ExtractSharedKernelActionTest.xtend │ ├── MergeAggregatesActionTest.xtend │ ├── MergeBoundedContextsActionTest.xtend │ ├── SplitAggregateByEntitiesActionTest.xtend │ ├── SplitBoundedContextByFeaturesActionTest.xtend │ ├── SplitBoundedContextByOwnerActionTest.xtend │ ├── SplitSystemContextIntoSubsystemsActionTest.xtend │ ├── StakeholdersActionsTest.xtend │ ├── SuspendPartnershipActionTest.xtend │ ├── SwitchFromPartnershipToSharedKernelActionTest.xtend │ ├── SwitchFromSharedKernelToPartnershipActionTest.xtend │ ├── UserStoryActionsTest.xtend │ └── ValueActionsTest.xtend │ ├── commands │ ├── AbstractCMLCommandTest.xtend │ ├── generation │ │ ├── ContextMapGeneratorCommandTest.xtend │ │ ├── GenericTextFileGeneratorCommandTest.xtend │ │ ├── MDSLGeneratorCommandTest.xtend │ │ ├── PlantUMLGeneratorCommandTest.xtend │ │ └── SketchMinerGeneratorCommandTest.xtend │ └── refactoring │ │ ├── AddEthicalValueAssessmentCommandTest.xtend │ │ ├── CreateStakeholderForUserStoryRoleCommandTest.xtend │ │ ├── CreateValue4StakeholderCommandTest.xtend │ │ ├── CreateValueRegisterForBoundedContextCommandTest.xtend │ │ ├── DeriveBoundedContextFromSubdomainsCommandTest.xtend │ │ ├── DeriveFrontendAndBackendSystemFromFeatureBCCommandTest.xtend │ │ ├── DeriveSubdomainFromUserRequirementsCommandTest.xtend │ │ ├── ExtractAggregatesByCohesionCommandTest.xtend │ │ ├── ExtractAggregatesByVolatilityCommandTest.xtend │ │ ├── ExtractSharedKernelCommandTest.xtend │ │ ├── MergeAggregatesCommandTest.xtend │ │ ├── MergeBoundedContextsCommandTest.xtend │ │ ├── MoveStakeholderToGroupCommandTest.xtend │ │ ├── SplitAggregateByEntitiesCommandTest.xtend │ │ ├── SplitBoundedContextByFeaturesCommandTest.xtend │ │ ├── SplitBoundedContextByOwnerCommandTest.xtend │ │ ├── SplitSystemContextIntoSubsystemsCommandTest.xtend │ │ ├── SuspendPartnershipCommandTest.xtend │ │ ├── SwitchFromPartnershipToSharedKernelCommandTest.xtend │ │ ├── SwitchFromSharedKernelToPartnershipCommandTest.xtend │ │ └── WrapValueInClusterCommandTest.xtend │ ├── hover │ └── CMLHoverTextsTest.xtend │ └── quickfixes │ ├── CreateMissingBoundedContextQuickFixTest.xtend │ ├── ExtractIDValueObjectQuickFixTest.xtend │ ├── OpenCoordinationInBPMNSketchMinerActionTest.xtend │ ├── OpenFlowInBPMNSketchMinerActionTest.xtend │ ├── SplitStoryByVerbCommandMapperTest.java │ └── SplitStoryByVerbQuickFixTest.xtend ├── org.contextmapper.dsl.ide ├── .classpath ├── .project ├── META-INF │ └── MANIFEST.MF ├── build.gradle ├── build.properties ├── pom.xml └── src │ └── org │ └── contextmapper │ ├── dsl │ └── ide │ │ ├── ContextMappingDSLIdeModule.xtend │ │ ├── ContextMappingDSLIdeSetup.xtend │ │ ├── actions │ │ ├── CMLActionRegistry.java │ │ ├── CMLActionService.xtend │ │ ├── CMLCodeAction.java │ │ ├── SelectionContextResolver.java │ │ └── impl │ │ │ ├── AddEthicalValueAssessmentAction.java │ │ │ ├── CreateStakeholderForUserStoryRoleAction.java │ │ │ ├── CreateValue4StakeholderAction.java │ │ │ ├── CreateValueRegisterForBoundedContextAction.java │ │ │ ├── DeriveBoundedContextFromSubdomainsAction.java │ │ │ ├── DeriveFrontendAndBackendFromFeatureBCAction.java │ │ │ ├── DeriveSubdomainFromUserRequirementsAction.java │ │ │ ├── ExtractAggregatesByCohesionAction.java │ │ │ ├── ExtractAggregatesByVolatilityAction.java │ │ │ ├── ExtractSharedKernelAction.java │ │ │ ├── MergeAggregatesAction.java │ │ │ ├── MergeBoundedContextsAction.java │ │ │ ├── MoveStakeholderToGroupAction.java │ │ │ ├── SplitAggregateByEntitiesAction.java │ │ │ ├── SplitBoundedContextByFeaturesAction.java │ │ │ ├── SplitBoundedContextByOwnerAction.java │ │ │ ├── SplitSystemIntoSubsystemsAction.java │ │ │ ├── SuspendPartnershipAction.java │ │ │ ├── SwitchFromPartnershipToSharedKernelAction.java │ │ │ ├── SwitchFromSharedKernelToPartnershipAction.java │ │ │ └── WrapValueInClusterAction.java │ │ ├── commands │ │ ├── CMLCommandRegistry.java │ │ ├── CMLCommandService.xtend │ │ ├── CMLResourceCommand.java │ │ └── impl │ │ │ ├── generation │ │ │ ├── AbstractGenerationCommand.java │ │ │ ├── ContextMapGenerationCommand.java │ │ │ ├── GenericTextFileGenerationCommand.java │ │ │ ├── MDSLGenerationCommand.java │ │ │ ├── PlantUMLGenerationCommand.java │ │ │ └── SketchMinerGenerationCommand.java │ │ │ ├── quickfix │ │ │ ├── AbstractQuickFixCommand.java │ │ │ └── SplitStoryByVerbCommand.java │ │ │ └── refactoring │ │ │ ├── AbstractRefactoringCommand.java │ │ │ ├── AddEthicalValueAssessmentCommand.java │ │ │ ├── CreateStakeholderForUserStoryRoleCommand.java │ │ │ ├── CreateValue4StakeholderCommand.java │ │ │ ├── CreateValueRegisterForBoundedContextCommand.java │ │ │ ├── DeriveBoundedContextFromSubdomainsCommand.java │ │ │ ├── DeriveFrontendAndBackendFromFeatureBCCommand.java │ │ │ ├── DeriveSubdomainFromUserRequirementsCommand.java │ │ │ ├── ExtractAggregatesByCohesionCommand.java │ │ │ ├── ExtractAggregatesByVolatilityCommand.java │ │ │ ├── ExtractSharedKernelCommand.java │ │ │ ├── MergeAggregatesCommand.java │ │ │ ├── MergeBoundedContextsCommand.java │ │ │ ├── MoveStakeholderToGroupCommand.java │ │ │ ├── SplitAggregateByEntitiesRefactoringCommand.java │ │ │ ├── SplitBoundedContextByFeaturesRefactoringCommand.java │ │ │ ├── SplitBoundedContextByOwnerRefactoringCommand.java │ │ │ ├── SplitSystemContextIntoSubsystemsCommand.java │ │ │ ├── SuspendPartnershipCommand.java │ │ │ ├── SwitchFromPartnershipToSharedKernelCommand.java │ │ │ ├── SwitchFromSharedKernelToPartnershipCommand.java │ │ │ └── WrapValueInClusterCommand.java │ │ ├── edit │ │ └── WorkspaceEditRecorder.java │ │ ├── hover │ │ └── CMLHoverService.java │ │ └── quickfix │ │ ├── QuickfixCommandMapper.java │ │ └── impl │ │ ├── OpenCoordinationInSketchMinerCommandMapper.java │ │ ├── OpenFlowInSketchMinerCommandMapper.java │ │ └── SplitStoryByVerbCommandMapper.java │ ├── servicecutter │ └── dsl │ │ └── ide │ │ ├── ServiceCutterConfigurationDSLIdeModule.xtend │ │ └── ServiceCutterConfigurationDSLIdeSetup.xtend │ └── tactic │ └── dsl │ └── ide │ ├── TacticDDDLanguageIdeModule.xtend │ └── TacticDDDLanguageIdeSetup.xtend ├── org.contextmapper.dsl.repository ├── .project ├── category.xml ├── packaging-p2composite.ant └── pom.xml ├── org.contextmapper.dsl.target ├── .project ├── org.contextmapper.dsl.target.target └── pom.xml ├── org.contextmapper.dsl.tests ├── .classpath ├── .project ├── META-INF │ └── MANIFEST.MF ├── build.gradle ├── build.properties ├── integ-test-files │ ├── ServiceCutter-Output-Wrong.json │ ├── ServiceCutter-Services.json │ ├── common │ │ └── bc-resolving-test-1.cml │ ├── contextmapgenerator │ │ ├── test-context-map-1.cml │ │ ├── test-team-map-1.cml │ │ └── test-team-map-2.cml │ ├── exceptions │ │ └── NoEObjectDescriptionExceptionTest.cml │ ├── freemarker │ │ ├── bounded-context-filter-test.cml │ │ ├── bounded-context-filter-test.ftl │ │ ├── complex-type-test-1.cml │ │ ├── complex-type-test-1.ftl │ │ ├── complex-type-test-2.cml │ │ ├── complex-type-test-2.ftl │ │ ├── complex-type-test-3.cml │ │ ├── complex-type-test-3.ftl │ │ ├── custom-variables-test-1.ftl │ │ ├── filter-bounded-contexts-wrong-parameter-type-test.cml │ │ ├── filter-bounded-contexts-wrong-parameter-type-test.ftl │ │ ├── filter-bounded-contexts-wrong-parameters-test.cml │ │ ├── filter-bounded-contexts-wrong-parameters-test.ftl │ │ ├── filter-teams-wrong-parameter-type-test.cml │ │ ├── filter-teams-wrong-parameter-type-test.ftl │ │ ├── filter-teams-wrong-parameters-test.cml │ │ ├── filter-teams-wrong-parameters-test.ftl │ │ ├── get-type-wrong-parameter-type-test.ftl │ │ ├── get-type-wrong-parameters-test.ftl │ │ ├── instance-of-second-parameter-no-class.ftl │ │ ├── instance-of-test-1.cml │ │ ├── instance-of-test-1.ftl │ │ ├── instance-of-wrong-parameters-test.ftl │ │ ├── simple-context-map.cml │ │ ├── simple-template.ftl │ │ ├── team-filter-test.cml │ │ └── team-filter-test.ftl │ ├── generators │ │ └── plantuml │ │ │ ├── class-diagram-generation-aggregate-end-state-test-1.cml │ │ │ ├── class-diagram-generation-aggregate-test-1.cml │ │ │ ├── class-diagram-generation-module-test-1.cml │ │ │ ├── stakeholder-diagram-generation-test-1.cml │ │ │ ├── stakeholder-diagram-generation-test-2.cml │ │ │ ├── stakeholder-diagram-generation-test-3.cml │ │ │ ├── stakeholder-diagram-generation-test-4.cml │ │ │ ├── state-diagram-generation-aggregate-test-1.cml │ │ │ ├── state-diagram-generation-aggregate-test-2.cml │ │ │ ├── state-diagram-generation-flow-test.cml │ │ │ ├── state-diagram-generation-flow-with-end-states-test.cml │ │ │ ├── use-case-diagram-generation-test-1.cml │ │ │ ├── use-case-diagram-generation-test-2.cml │ │ │ ├── use-case-diagram-generation-test-3.cml │ │ │ ├── use-case-interactions-sequence-diagram-generation-test-1.cml │ │ │ ├── use-case-interactions-sequence-diagram-generation-test-2.cml │ │ │ ├── use-case-interactions-sequence-diagram-generation-test-3.cml │ │ │ ├── use-case-interactions-sequence-diagram-generation-test-4.cml │ │ │ ├── value-impact-map-diagram-generation-test-1.cml │ │ │ ├── value-impact-map-diagram-generation-test-2.cml │ │ │ ├── value-impact-map-diagram-generation-test-3.cml │ │ │ ├── value-impact-map-diagram-generation-test-4.cml │ │ │ ├── value-impact-map-diagram-generation-test-5.cml │ │ │ └── value-impact-map-diagram-generation-test-6.cml │ ├── imports │ │ ├── empty.cml │ │ ├── import-to-empty-resource.cml │ │ ├── import-to-other-type.cml │ │ ├── other-contexts.cml │ │ ├── other-type.scl │ │ ├── simple-import-test.cml │ │ └── uniqueness-validation-test.cml │ ├── mdsl │ │ ├── application-flow-example-2.cml │ │ ├── application-flow-example-3.cml │ │ ├── application-flow-example-4.cml │ │ ├── application-flow-example-simple.cml │ │ ├── application-flow-example-simple.mdsl │ │ ├── application-flow-example.cml │ │ ├── application-flow-example.mdsl │ │ ├── basic-mdsl-model-test-without-contextmap.cml │ │ ├── basic-mdsl-model-test.cml │ │ ├── basic-mdsl-model-test.mdsl │ │ ├── context-is-upstream-in-multiple-relationships.cml │ │ ├── mdsl-basic-data-types-as-parameters.cml │ │ ├── mdsl-basic-data-types-as-parameters.mdsl │ │ ├── mdsl-can-handle-keyword-clashes.cml │ │ ├── mdsl-cyclic-reference.cml │ │ ├── mdsl-cyclic-reference.mdsl │ │ ├── mdsl-date-to-string.cml │ │ ├── mdsl-date-to-string.mdsl │ │ ├── mdsl-domain-vision-statements-test.cml │ │ ├── mdsl-domain-vision-statements-test.mdsl │ │ ├── mdsl-entity-extending-other-entity.cml │ │ ├── mdsl-entity-extending-other-entity.mdsl │ │ ├── mdsl-entity-without-attributes.cml │ │ ├── mdsl-entity-without-attributes.mdsl │ │ ├── mdsl-enum-support.cml │ │ ├── mdsl-enum-support.mdsl │ │ ├── mdsl-http-binding.cml │ │ ├── mdsl-http-binding.mdsl │ │ ├── mdsl-list-in-parameter.cml │ │ ├── mdsl-list-in-parameter.mdsl │ │ ├── mdsl-list-in-return-type.cml │ │ ├── mdsl-list-in-return-type.mdsl │ │ ├── mdsl-list-parameter-test.cml │ │ ├── mdsl-list-parameter-test.mdsl │ │ ├── mdsl-mixed-parameters-test.cml │ │ ├── mdsl-mixed-parameters-test.mdsl │ │ ├── mdsl-no-implementation-technology.cml │ │ ├── mdsl-no-implementation-technology.mdsl │ │ ├── mdsl-no-operation-in-one-api.cml │ │ ├── mdsl-no-operation-in-one-api.mdsl │ │ ├── mdsl-no-parameters.cml │ │ ├── mdsl-no-parameters.mdsl │ │ ├── mdsl-no-return-type.cml │ │ ├── mdsl-no-return-type.mdsl │ │ ├── mdsl-nothing-to-generate-test-1.cml │ │ ├── mdsl-nothing-to-generate-test-2.cml │ │ ├── mdsl-nullable-attributes.cml │ │ ├── mdsl-nullable-attributes.mdsl │ │ ├── mdsl-only-use-public-operations.cml │ │ ├── mdsl-only-use-public-operations.mdsl │ │ ├── mdsl-parameter-tree-test-deep.cml │ │ ├── mdsl-parameter-tree-test-deep.mdsl │ │ ├── mdsl-parameter-tree-test.cml │ │ ├── mdsl-parameter-tree-test.mdsl │ │ ├── mdsl-parameter-tree-with-list-test.cml │ │ ├── mdsl-parameter-tree-with-list-test.mdsl │ │ ├── mdsl-protected-regions-do-not-match-commented-types-existing.mdsl │ │ ├── mdsl-protected-regions-do-not-match-commented-types.cml │ │ ├── mdsl-protected-regions-do-not-match-commented-types.mdsl │ │ ├── mdsl-protected-regions-existing.mdsl │ │ ├── mdsl-protected-regions.cml │ │ ├── mdsl-protected-regions.mdsl │ │ ├── mdsl-reference-to-empty-domain-object-1.cml │ │ ├── mdsl-reference-to-empty-domain-object-1.mdsl │ │ ├── mdsl-reference-to-empty-domain-object-2.cml │ │ ├── mdsl-reference-to-empty-domain-object-2.mdsl │ │ ├── mdsl-reference-to-empty-domain-object-3.cml │ │ ├── mdsl-reference-to-empty-domain-object-3.mdsl │ │ ├── mdsl-serves-as-test-1.cml │ │ ├── mdsl-serves-as-test-1.mdsl │ │ ├── mdsl-serves-as-test-2.cml │ │ ├── mdsl-serves-as-test-2.mdsl │ │ ├── mdsl-upstream-downstream-role-comments.cml │ │ ├── mdsl-upstream-downstream-role-comments.mdsl │ │ ├── mdsl-usage-context-community-api.cml │ │ ├── mdsl-usage-context-community-api.mdsl │ │ ├── mdsl-usage-context-public-api.cml │ │ ├── mdsl-usage-context-public-api.mdsl │ │ ├── mdsl-use-application-commands-1.cml │ │ ├── mdsl-use-application-commands-1.mdsl │ │ ├── mdsl-use-application-commands-2.cml │ │ ├── mdsl-use-application-commands-2.mdsl │ │ ├── mdsl-use-application-name.cml │ │ ├── mdsl-use-application-name.mdsl │ │ ├── mdsl-use-application-service-operations-1.cml │ │ ├── mdsl-use-application-service-operations-1.mdsl │ │ ├── mdsl-use-application-service-operations-2.cml │ │ ├── mdsl-use-application-service-operations-2.mdsl │ │ ├── mdsl-use-application-service-operations-3.cml │ │ ├── mdsl-use-application-service-operations-3.mdsl │ │ ├── mdsl-use-service-operations.cml │ │ ├── mdsl-use-service-operations.mdsl │ │ ├── no-exposed-aggregates.cml │ │ ├── no-operation.cml │ │ ├── no-upstream-downstream-relationship.cml │ │ ├── overwrite-with-preserving-protected-region-test.cml │ │ ├── overwrite-with-preserving-protected-region-test.mdsl │ │ ├── protected-region-identifier-test.mdsl │ │ ├── protected-region-null-test.mdsl │ │ ├── protected-region-reader-test.mdsl │ │ ├── same-data-type-in-multiple-methods.cml │ │ └── use-references-in-methods.cml │ ├── plantuml │ │ ├── application-layer-test-1.cml │ │ ├── associations.cml │ │ ├── class-diagram-generation-services-test-1.cml │ │ ├── operations-domain-object-types-test.cml │ │ ├── operations-with-list-types-test.cml │ │ ├── operations-with-no-return-value.cml │ │ └── services-test.cml │ ├── quickfixes │ │ ├── create-missing-bounded-context-test-1.cml │ │ ├── extract-vo-for-primitive-id-test-1.cml │ │ └── extract-vo-for-primitive-id-test-2.cml │ ├── refactorings │ │ ├── add-ethical-value-assessment-1.cml │ │ ├── change-partnership-to-upstream-downstream-precondition-checks-input.cml │ │ ├── change-partnership-to-upstream-downstream-precondition-checks-multiple-rels-input.cml │ │ ├── change-partnership-to-upstream-downstream-precondition-checks-no-rel-input.cml │ │ ├── change-partnership-to-upstream-downstream-test-1-input.cml │ │ ├── create-stakeholder-for-roleinstory-1.cml │ │ ├── create-value-for-stakeholder-1.cml │ │ ├── create-value-for-stakeholder-2.cml │ │ ├── create-value-register-for-bounded-context-1.cml │ │ ├── derive-bc-from-subdomain-duplicate-aggregate-name-test-1-input.cml │ │ ├── derive-bc-from-subdomain-entity-attributes-test-1-input.cml │ │ ├── derive-bc-from-subdomain-test-1-input.cml │ │ ├── derive-bc-from-subdomain-test-10-input.cml │ │ ├── derive-bc-from-subdomain-test-11-input.cml │ │ ├── derive-bc-from-subdomain-test-11-output.cml │ │ ├── derive-bc-from-subdomain-test-2-input.cml │ │ ├── derive-bc-from-subdomain-test-3-input.cml │ │ ├── derive-bc-from-subdomain-test-4-input.cml │ │ ├── derive-bc-from-subdomain-test-5-input.cml │ │ ├── derive-bc-from-subdomain-test-6-input.cml │ │ ├── derive-bc-from-subdomain-test-7-input.cml │ │ ├── derive-bc-from-subdomain-test-8-input.cml │ │ ├── derive-bc-from-subdomain-test-9-input.cml │ │ ├── derive-frontend-backend-from-feature-test-1-input.cml │ │ ├── derive-frontend-backend-from-feature-test-2-input.cml │ │ ├── derive-frontend-backend-from-feature-test-5-input.cml │ │ ├── derive-frontend-backend-from-feature-test-6-input.cml │ │ ├── derive-frontend-backend-from-feature-test-6-output.cml │ │ ├── derive-frontend-backend-from-feature-test-7-input.cml │ │ ├── derive-frontend-backend-from-feature-test-7-output.cml │ │ ├── derive-subdomain-from-user-story-test-1-input.cml │ │ ├── derive-subdomain-from-user-story-test-10-input.cml │ │ ├── derive-subdomain-from-user-story-test-11-input.cml │ │ ├── derive-subdomain-from-user-story-test-12-input.cml │ │ ├── derive-subdomain-from-user-story-test-2-input.cml │ │ ├── derive-subdomain-from-user-story-test-3-input.cml │ │ ├── derive-subdomain-from-user-story-test-4-input.cml │ │ ├── derive-subdomain-from-user-story-test-5-input.cml │ │ ├── derive-subdomain-from-user-story-test-6-input.cml │ │ ├── derive-subdomain-from-user-story-test-7-input.cml │ │ ├── derive-subdomain-from-user-story-test-8-input.cml │ │ ├── derive-subdomain-from-user-story-test-9-input.cml │ │ ├── derive-subdomain-from-user-story-test-existing-dvs-1.cml │ │ ├── extract-aggregates-by-nfr-test-1-input.cml │ │ ├── extract-aggregates-by-nfr-test-2-input.cml │ │ ├── extract-aggregates-by-nfr-test-3-input.cml │ │ ├── extract-aggregates-by-nfr-test-4-input-1.cml │ │ ├── extract-aggregates-by-nfr-test-4-input-2.cml │ │ ├── extract-aggregates-likely-to-change-test-1-input.cml │ │ ├── extract-aggregates-likely-to-change-test-2-input.cml │ │ ├── extract-aggregates-likely-to-change-test-3-input.cml │ │ ├── extract-aggregates-likely-to-change-test-4-input.cml │ │ ├── extract-aggregates-likely-to-change-test-5-input.cml │ │ ├── extract-aggregates-likely-to-change-test-6-input-1.cml │ │ ├── extract-aggregates-likely-to-change-test-6-input-2.cml │ │ ├── extract-partnership-contextmap-existence-check.cml │ │ ├── extract-partnership-precondition-checks-input.cml │ │ ├── extract-partnership-precondition-checks-multiple-rels-input.cml │ │ ├── extract-partnership-precondition-checks-no-rel-input.cml │ │ ├── extract-partnership-test-1-input.cml │ │ ├── extract-partnership-test-2-input.cml │ │ ├── extract-shared-kernel-precondition-checks-input.cml │ │ ├── extract-shared-kernel-precondition-checks-multiple-rels-input.cml │ │ ├── extract-shared-kernel-precondition-checks-no-rel-input.cml │ │ ├── extract-shared-kernel-test-1-input.cml │ │ ├── extract-shared-kernel-test-2-input.cml │ │ ├── extract-suggested-service-DDD-sample.cml │ │ ├── extract-suggested-service-DDD-sample_Markov_Clustering_Cut_1.cml │ │ ├── extract-suggested-service-empty-model-test.cml │ │ ├── extract-suggested-service-missing-original-file-sample_Markov_Clustering_Cut_2.cml │ │ ├── extract-suggested-service-unsupported-type-test-1.cml │ │ ├── extract-suggested-service-unsupported-type-test-1_Markov_Clustering_Cut_1.cml │ │ ├── extract-suggested-service-unsupported-type-test-2.cml │ │ ├── extract-suggested-service-unsupported-type-test-2_Markov_Clustering_Cut_1.cml │ │ ├── extract-suggested-service-with-modules-test.cml │ │ ├── extract-suggested-service-with-modules-test_Markov_Clustering_Cut_1.cml │ │ ├── just-an-empty-model.cml │ │ ├── merge-aggregates-test-1-input.cml │ │ ├── merge-aggregates-test-2-input.cml │ │ ├── merge-aggregates-test-3-input.cml │ │ ├── merge-aggregates-test-4-input.cml │ │ ├── merge-aggregates-test-5-input.cml │ │ ├── merge-aggregates-test-6-input.cml │ │ ├── merge-aggregates-test-7-input-1.cml │ │ ├── merge-aggregates-test-7-input-2.cml │ │ ├── merge-bounded-contexts-fix-import-test-1.cml │ │ ├── merge-bounded-contexts-fix-import-test-2.cml │ │ ├── merge-bounded-contexts-fix-import-test-3.cml │ │ ├── merge-bounded-contexts-fix-import-test-4.cml │ │ ├── merge-bounded-contexts-multiple-files-test-1.cml │ │ ├── merge-bounded-contexts-multiple-files-test-2.cml │ │ ├── merge-bounded-contexts-multiple-files-test-3.cml │ │ ├── merge-bounded-contexts-test-1-input.cml │ │ ├── merge-bounded-contexts-test-10-input.cml │ │ ├── merge-bounded-contexts-test-11-input.cml │ │ ├── merge-bounded-contexts-test-2-input.cml │ │ ├── merge-bounded-contexts-test-3-input.cml │ │ ├── merge-bounded-contexts-test-4-input.cml │ │ ├── merge-bounded-contexts-test-5-input.cml │ │ ├── merge-bounded-contexts-test-6-input.cml │ │ ├── merge-bounded-contexts-test-7-input.cml │ │ ├── merge-bounded-contexts-test-8-input.cml │ │ ├── merge-bounded-contexts-test-9-input.cml │ │ ├── move-stakeholder-to-group-1.cml │ │ ├── move-stakeholder-to-group-2.cml │ │ ├── split-agg-by-entities-test-1-input.cml │ │ ├── split-agg-by-entities-test-2-input.cml │ │ ├── split-agg-by-entities-test-3-input.cml │ │ ├── split-agg-by-entities-test-4-input-1.cml │ │ ├── split-agg-by-entities-test-4-input-2.cml │ │ ├── split-bc-by-owner-test-1-input.cml │ │ ├── split-bc-by-owner-test-2-input.cml │ │ ├── split-bc-by-owner-test-3-input.cml │ │ ├── split-bc-by-owner-test-4-input.cml │ │ ├── split-bc-by-owner-test-5-input-1.cml │ │ ├── split-bc-by-owner-test-5-input-2.cml │ │ ├── split-bc-by-use-cases-test-1-input.cml │ │ ├── split-bc-by-use-cases-test-2-input.cml │ │ ├── split-bc-by-use-cases-test-3-input.cml │ │ ├── split-bc-by-use-cases-test-4-input.cml │ │ ├── split-bc-by-use-cases-test-5-input-1.cml │ │ ├── split-bc-by-use-cases-test-5-input-2.cml │ │ ├── split-by-duplicate-entity-test-1-input.cml │ │ ├── split-by-duplicate-entity-test-1-output.cml │ │ ├── split-by-duplicate-entity-test-2-no-duplicates.cml │ │ ├── split-system-tier-test-1-input.cml │ │ ├── split-system-tier-test-2-input.cml │ │ ├── split-system-tier-test-3-input.cml │ │ ├── split-system-tier-test-3-output.cml │ │ ├── split-system-tier-test-4-input.cml │ │ ├── split-system-tier-test-4-output.cml │ │ ├── split-system-tier-test-5-input.cml │ │ ├── split-system-tier-test-6-input.cml │ │ ├── split-system-tier-test-7-input.cml │ │ ├── split-system-tier-test-8-input.cml │ │ ├── switch-from-partnership-to-sharedkernel-precondition-checks-input.cml │ │ ├── switch-from-partnership-to-sharedkernel-precondition-checks-multiple-rels-input.cml │ │ ├── switch-from-partnership-to-sharedkernel-precondition-checks-no-rel-input.cml │ │ ├── switch-from-partnership-to-sharedkernel-test-1-input.cml │ │ ├── switch-from-sharedkernel-to-partnership-precondition-checks-input.cml │ │ ├── switch-from-sharedkernel-to-partnership-precondition-checks-multiple-rels-input.cml │ │ ├── switch-from-sharedkernel-to-partnership-precondition-checks-no-rel-input.cml │ │ ├── switch-from-sharedkernel-to-partnership-test-1-input.cml │ │ └── wrap-value-in-cluster-1.cml │ ├── servicecutter │ │ ├── .wrong-servicecutter.yml │ │ ├── CML_Model_without_ContextMap.cml │ │ ├── CML_Model_without_attributes.cml │ │ ├── DDD_Sample_Expected_JSON_Input.json │ │ ├── DDD_Sample_Input.cml │ │ ├── DDD_Sample_Input_Root-Elements.cml │ │ ├── DDD_Sample_ServiceCutter-User-Representations.scl │ │ ├── solver-configuration.json │ │ ├── user-representations-builder-test-1.cml │ │ ├── user-representations-builder-test-10.cml │ │ ├── user-representations-builder-test-11.cml │ │ ├── user-representations-builder-test-2.cml │ │ ├── user-representations-builder-test-3.cml │ │ ├── user-representations-builder-test-3.scl │ │ ├── user-representations-builder-test-4.cml │ │ ├── user-representations-builder-test-5.cml │ │ ├── user-representations-builder-test-6.cml │ │ ├── user-representations-builder-test-7.cml │ │ ├── user-representations-builder-test-8.cml │ │ ├── user-representations-builder-test-9.cml │ │ ├── user-representations-generation-test-1.cml │ │ └── user-representations-generation-test-1.scl │ ├── sketchminer │ │ ├── actor-test-1.cml │ │ ├── aggregate-without-state-transition-test-1.cml │ │ ├── app-layer-name-test-1.cml │ │ ├── exclusive-gate-command-test-1.cml │ │ ├── exclusive-gate-command-test-2.cml │ │ ├── exclusive-gate-command-test-3.cml │ │ ├── exclusive-gate-event-test-1.cml │ │ ├── exclusive-gate-event-test-2.cml │ │ ├── exclusive-gate-event-test-3.cml │ │ ├── link-integ-test.cml │ │ ├── link-integ-test2.cml │ │ ├── loop-test-1.cml │ │ ├── loop-test-2.cml │ │ ├── loop-test-3.cml │ │ ├── loop-test-4.cml │ │ ├── multiple-input-events-test-1.cml │ │ ├── no-coordination-existing-test-1.cml │ │ ├── no-flow-existing-test-1.cml │ │ ├── order-of-separate-sequences-test-1.cml │ │ ├── parallel-fragments-test-1.cml │ │ ├── restbucks-integ-test.cml │ │ ├── simple-coordination-test-1.cml │ │ ├── simple-coordination-test-2.cml │ │ ├── simple-sequence-test-1.cml │ │ ├── simple-sequence-test-2.cml │ │ ├── simple-sequence-with-parallel-step-test-1.cml │ │ ├── simple-sequence-with-parallel-step-test-2.cml │ │ ├── simple-sequence-with-parallel-step-test-3.cml │ │ ├── state-transition-comment-test-1.cml │ │ ├── state-transition-comment-test-2.cml │ │ └── underlines-test-1.cml │ ├── standalone │ │ ├── hello-world.cml │ │ ├── refactoring-test.cml │ │ └── simple-context-map.cml │ └── subdomain-resolving │ │ ├── imported-file-test-1.cml │ │ ├── imported-file-test-2.cml │ │ ├── root-file-with-imports-test-1.cml │ │ ├── root-file-with-imports-test-2.cml │ │ └── simple-single-file-test.cml ├── pom.xml └── src │ └── org │ └── contextmapper │ ├── dsl │ ├── AbstractCMLInputFileTest.java │ ├── AbstractDirectoryIntegrationTest.java │ ├── AggregateDSLParsingTest.xtend │ ├── ApplicationLayerDSLParsingTest.xtend │ ├── ApplicationLayerValidationTest.xtend │ ├── BoundedContextDSLParsingTest.xtend │ ├── ContextMapDSLParsingTest.xtend │ ├── ContextMappingDSLFactoryTest.xtend │ ├── DomainDSLParsingTest.xtend │ ├── DomainObjectValidatorTest.xtend │ ├── StakeholderDSLParsingTest.xtend │ ├── SymmetricRelationshipDSLParsingTest.xtend │ ├── TacticDDDAssociatonsGrammarTest.xtend │ ├── TacticDDDDomainObjectsTest.xtend │ ├── TacticDDDDomainServicesTest.xtend │ ├── TacticDDDListOfEnumsTest.xtend │ ├── TacticDDDModuleValidationTest.xtend │ ├── TacticDDDOperationsGrammarAndValidationTest.xtend │ ├── UniquenessAcrossFilesTest.java │ ├── UniquenessValidatorTest.xtend │ ├── UpstreamDownstreamExposedAggregatesTest.xtend │ ├── UpstreamDownstreamGovernanceRightsTest.xtend │ ├── UpstreamDownstreamRelationshipDSLParsingTest.xtend │ ├── UseCaseDSLParsingTest.xtend │ ├── UserStoryDSLParsingTest.xtend │ ├── ValueRegisterDSLParsingTest.xtend │ ├── cml │ │ ├── CMLImportResolverTest.java │ │ ├── CMLModelDomainAndSubdomainResolverTest.java │ │ ├── CMLModelObjectsResolvingHelperTest.java │ │ ├── CMLResourceTest.java │ │ └── CommentSerializationTest.java │ ├── exception │ │ └── RefactoringSerializationExceptionTest.java │ ├── generators │ │ ├── XMIGeneratorTest.java │ │ ├── contextmap │ │ │ ├── ContextMapGeneratorTest.java │ │ │ └── ContextMapModelConverterTest.java │ │ ├── freemarker │ │ │ ├── AbstractFreemarkerTextCreatorTest.java │ │ │ ├── GenericContentGeneratorTest.java │ │ │ ├── hello.ftl │ │ │ └── hello_error.ftl │ │ ├── mdsl │ │ │ ├── MDSLAPIDescriptionCreatorTest.java │ │ │ ├── MDSLContractsGeneratorTest.java │ │ │ ├── MDSLModelCreatorTest.java │ │ │ ├── ProtectedRegionContextFactoryTest.java │ │ │ ├── ProtectedRegionReaderTest.java │ │ │ └── TestMDSLAPIDescriptionCreator.java │ │ ├── mocks │ │ │ ├── ContextMappingModelResourceMock.java │ │ │ ├── IFileSystemAccess2Mock.java │ │ │ ├── IGeneratorContextMock.java │ │ │ ├── ServiceCutterConfigurationModelResourceMock.java │ │ │ └── URIMock.java │ │ ├── plantuml │ │ │ ├── AssociationLinkTest.java │ │ │ ├── PlantUMLAggregateClassDiagramCreatorTest.java │ │ │ ├── PlantUMLBoundedContextClassDiagramCreatorTest.java │ │ │ ├── PlantUMLComponentDiagramCreatorTest.java │ │ │ ├── PlantUMLGeneratorTest.java │ │ │ ├── PlantUMLModuleClassDiagramCreatorTest.java │ │ │ ├── PlantUMLStakeholderDiagramCreatorTest.java │ │ │ ├── PlantUMLStateDiagramCreatorTest.java │ │ │ ├── PlantUMLSubdomainClassDiagramCreatorTest.java │ │ │ ├── PlantUMLTest.java │ │ │ ├── PlantUMLUseCaseDiagramCreatorTest.java │ │ │ ├── PlantUMLUseCaseInteractionsSequenceDiagramCreatorTest.java │ │ │ ├── PlantUMLValueImpactMapDiagramCreatorTest.java │ │ │ └── value_impact_mapping │ │ │ │ └── model │ │ │ │ └── StakeholderTest.java │ │ └── sketchminer │ │ │ ├── SketchMinerCoordinationModelCreatorTest.java │ │ │ ├── SketchMinerGeneratorTest.java │ │ │ ├── SketchMinerLinkCreatorTest.java │ │ │ ├── SketchMinerModelCreatorTest.java │ │ │ └── model │ │ │ ├── TaskSequenceTest.java │ │ │ └── TaskTest.java │ ├── hover │ │ └── CMLHoverTextProviderTest.java │ ├── quickfixes │ │ ├── AbstractQuickFixTest.java │ │ ├── CreateMissingBoundedContextQuickFixTest.java │ │ ├── ExtractIDValueObjectQuickFixTest.java │ │ └── SplitStoryByVerbTest.java │ ├── refactoring │ │ ├── AbstractRefactoringTest.java │ │ ├── AddEthicalValueAssessmentToStoryRefactoringTest.java │ │ ├── ChangePartnershipToUpstreamDownstreamRefactoringTest.java │ │ ├── CompoundKeyTest.java │ │ ├── DeriveBoundedContextFromSubdomainsTest.java │ │ ├── DeriveFrontendAndBackendSystemsFromFeatureTest.java │ │ ├── DeriveSubdomainFromUserRequirementsTest.java │ │ ├── ExtractAggregatesByCohesionTest.java │ │ ├── ExtractAggregatesByVolatilityTest.java │ │ ├── ExtractPartnershipRefactoringTest.java │ │ ├── ExtractSharedKernelRefactoringTest.java │ │ ├── MergeAggregatesTest.java │ │ ├── MergeBoundedContextsTest.java │ │ ├── SplitAggregateByEntitiesTest.java │ │ ├── SplitBoundedContextByOwnerTest.java │ │ ├── SplitBoundedContextByUseCasesTest.java │ │ ├── SplitSystemIntoSubsystemsTest.java │ │ ├── SwitchFromPartnershipToSharedKernelRefactoringTest.java │ │ ├── SwitchFromSharedKernelToPartnershipRefactoringTest.java │ │ ├── stakeholders │ │ │ ├── CreateStakeholderFromUserStoryRoleTest.java │ │ │ ├── CreateValue4StakeholderRefactoringTest.java │ │ │ └── MoveStakeholderToNewStakeholderGroupRefactoringTest.java │ │ └── value_registers │ │ │ ├── CreateValueRegisterForBoundedContextTest.java │ │ │ └── WrapValueInClusterRefactoringTest.java │ ├── standalone │ │ └── StandaloneAPITest.java │ └── util │ │ └── ParsingErrorAssertions.java │ └── servicecutter │ └── dsl │ └── scl │ └── SCLResourceContainerTest.java ├── org.contextmapper.dsl.ui.tests ├── .classpath ├── .project ├── META-INF │ └── MANIFEST.MF ├── build.properties └── pom.xml ├── org.contextmapper.dsl.ui ├── .classpath ├── .project ├── META-INF │ └── MANIFEST.MF ├── about.ini ├── build.properties ├── icons │ ├── cml-32x32.png │ ├── cml-dialog-image.png │ └── cml.png ├── plugin.xml ├── pom.xml ├── samples │ └── freemarker │ │ ├── csv-files │ │ ├── stakeholders.csv.ftl │ │ └── value-registers.csv.ftl │ │ ├── jhipster │ │ ├── JDL.ftl │ │ ├── JHipster-Microservices.jdl.ftl │ │ └── JHipster-Monolith.jdl.ftl │ │ ├── markdown-templates │ │ ├── FullReportTemplate.md.ftl │ │ ├── GlossaryTemplate.md.ftl │ │ ├── bounded-contexts │ │ │ ├── bounded-context-list-detailed.ftl │ │ │ ├── bounded-context-list-glossary.ftl │ │ │ └── bounded-context-list-simple.ftl │ │ ├── common │ │ │ └── header.md.ftl │ │ ├── domain-objects │ │ │ └── domain-object-attribute-and-operation-tables.ftl │ │ ├── domains │ │ │ ├── domain-list-glossary.md.ftl │ │ │ └── domain-list.md.ftl │ │ ├── flows │ │ │ └── application_flow.ftl │ │ └── states │ │ │ └── state_transition.ftl │ │ └── sample-models │ │ ├── OnlineShopScenario.cml │ │ └── TacticDDDModelSkeleton.cml └── src │ └── org │ └── contextmapper │ ├── dsl │ └── ui │ │ ├── ContextMappingDSLUiModule.xtend │ │ ├── actions │ │ ├── GeneratorsActionGroup.java │ │ └── RefactoringActionGroup.java │ │ ├── contentassist │ │ └── ContextMappingDSLProposalProvider.xtend │ │ ├── editor │ │ ├── CMLEditor.java │ │ ├── CMLQuickMenuCreator.java │ │ └── XtextEditorHelper.java │ │ ├── handler │ │ ├── AbstractGenerationHandler.java │ │ ├── AbstractRefactoringHandler.java │ │ ├── AbstractRefactoringWithUserInputHandler.java │ │ ├── AddEthicalValueAssessmentToStoryHandler.java │ │ ├── ContextMapGenerationHandler.java │ │ ├── ExtractAggregatesByCohesionRefactoringHandler.java │ │ ├── ExtractAggregatesByVolatilityRefactoringHandler.java │ │ ├── ExtractSharedKernelRefactoringHandler.java │ │ ├── GenerateBackendFrontendSystemsFromFeatureBCRefactoringHandler.java │ │ ├── GenerateBoundedContextFromSubdomainRefactoringHandler.java │ │ ├── GenerateSubdomainFromUserRequirementsRefactoringHandler.java │ │ ├── GenericTextFileGenerationHandler.java │ │ ├── MDSLGenerationHandler.java │ │ ├── MergeAggregatesRefactoringHandler.java │ │ ├── MergeBoundedContextsRefactoringHandler.java │ │ ├── PlantUMLGenerationHandler.java │ │ ├── SketchMinerGenerationHandler.java │ │ ├── SplitAggregateByEntitiesRefactoringHandler.java │ │ ├── SplitBoundedContextByOwnerRefactoringHandler.java │ │ ├── SplitBoundedContextByUseCasesRefactoringHandler.java │ │ ├── SplitSystemIntoSubsystemsRefactoringHandler.java │ │ ├── SuspendPartnershipRefactoringHandler.java │ │ ├── SwitchFromPartnershipToSharedKernelRefactoringHandler.java │ │ ├── SwitchFromSharedKernelToPartnershipRefactoringHandler.java │ │ ├── XMIGenerationHandler.java │ │ ├── stakeholders │ │ │ ├── CreateStakeholderForUserStoryRoleHandler.java │ │ │ ├── CreateValue4StakeholderHandler.java │ │ │ └── MoveStakeholderToNewGroupHandler.java │ │ ├── value_registers │ │ │ ├── CreateValueRegisterForBoundedContextHandler.java │ │ │ └── WrapValueInClusterHandler.java │ │ └── wizard │ │ │ ├── ChooseName4NewBoundedContextContext.java │ │ │ ├── ChooseName4NewBoundedContextWizard.java │ │ │ ├── DeriveBackendFrontendFromFeatureContext.java │ │ │ ├── DeriveBackendFrontendSystemsFromFeatureWizard.java │ │ │ ├── DeriveBoundedContextFromSubdomainsContext.java │ │ │ ├── DeriveBoundedContextFromSubdomainsWizard.java │ │ │ ├── DeriveSubdomainsFromRequirementsContext.java │ │ │ ├── DeriveSubdomainsFromRequirementsWizard.java │ │ │ ├── ExtractAggregatesByCohesionContext.java │ │ │ ├── ExtractAggregatesByCohesionRefactoringWizard.java │ │ │ ├── ExtractAggregatesByVolatilityContext.java │ │ │ ├── ExtractAggregatesByVolatilityRefactoringWizard.java │ │ │ ├── GenerateContextMapContext.java │ │ │ ├── GenerateContextMapWizard.java │ │ │ ├── GenerateGenericTextFileContext.java │ │ │ ├── GenerateGenericTextFileWizard.java │ │ │ ├── MergeAggregatesContext.java │ │ │ ├── MergeAggregatesRefactoringWizard.java │ │ │ ├── MergeBoundedContextsContext.java │ │ │ ├── MergeBoundedContextsRefactoringWizard.java │ │ │ ├── SplitSystemIntoSubsystemsContext.java │ │ │ ├── SplitSystemIntoSubsystemsWizard.java │ │ │ ├── SuspendPartnershipContext.java │ │ │ ├── SuspendPartnershipRefactoringWizard.java │ │ │ └── pages │ │ │ ├── AggregateSelectionWizardPage.java │ │ │ ├── ContextMapperWizardPage.java │ │ │ ├── DeriveBackendFrontendSystemsFromFeatureWizardPage.java │ │ │ ├── DeriveBoundedContextFromSubdomainsWizardPage.java │ │ │ ├── DeriveSubdomainFromRequirementsWizardPage.java │ │ │ ├── GenerateContextMapWizardPage.java │ │ │ ├── GenerateGenericTextFileWizardPage.java │ │ │ ├── LikelihoodForChangeSelectionWizardPage.java │ │ │ ├── NewBoundedContextNameWizardPage.java │ │ │ ├── SplitSystemIntoSubsystemsWizardPage.java │ │ │ ├── SuspendPartnershipWizardPage.java │ │ │ ├── TwoAggregatesSelectionWizardPage.java │ │ │ ├── TwoBoundedContextSelectionWizardPage.java │ │ │ └── components │ │ │ ├── FileByExtensionChooser.java │ │ │ ├── FreemarkerFileChooser.java │ │ │ └── SCLFileChooser.java │ │ ├── hover │ │ ├── CMLHoverProvider.java │ │ ├── CMLKeywordAtOffsetHelper.java │ │ └── CMLXbaseDispatchingEObjectTextHover.java │ │ ├── images │ │ └── CMLImageDescriptionFactory.java │ │ ├── labeling │ │ ├── ContextMappingDSLDescriptionLabelProvider.xtend │ │ └── ContextMappingDSLLabelProvider.xtend │ │ ├── outline │ │ └── ContextMappingDSLOutlineTreeProvider.xtend │ │ ├── quickfix │ │ ├── CMLTextEditComposer.java │ │ ├── ContextMappingDSLQuickfixProvider.xtend │ │ ├── context │ │ │ ├── SelectStoryVerbsContext.java │ │ │ └── SelectStoryVerbsContextCreator.java │ │ └── wizard │ │ │ ├── SelectStoryVerbsWizard.java │ │ │ └── page │ │ │ └── SelectUserStoryVerbsWizardPage.java │ │ └── wizard │ │ ├── NewCMLFileWizard.java │ │ └── page │ │ └── WizardNewCMLFileCreationPage.java │ ├── servicecutter │ └── dsl │ │ └── ui │ │ ├── ServiceCutterConfigurationDSLUiModule.xtend │ │ ├── actions │ │ └── GeneratorsActionGroup.java │ │ ├── contentassist │ │ └── ServiceCutterConfigurationDSLProposalProvider.xtend │ │ ├── editor │ │ └── SCLEditor.java │ │ ├── labeling │ │ ├── ServiceCutterConfigurationDSLDescriptionLabelProvider.xtend │ │ └── ServiceCutterConfigurationDSLLabelProvider.xtend │ │ ├── outline │ │ └── ServiceCutterConfigurationDSLOutlineTreeProvider.xtend │ │ └── quickfix │ │ └── ServiceCutterConfigurationDSLQuickfixProvider.xtend │ └── tactic │ └── dsl │ └── ui │ ├── TacticDDDLanguageUiModule.xtend │ ├── contentassist │ └── TacticDDDLanguageProposalProvider.xtend │ ├── labeling │ ├── TacticDDDLanguageDescriptionLabelProvider.xtend │ └── TacticDDDLanguageLabelProvider.xtend │ ├── outline │ └── TacticDDDLanguageOutlineTreeProvider.xtend │ └── quickfix │ └── TacticDDDLanguageQuickfixProvider.xtend ├── org.contextmapper.dsl ├── .classpath ├── .launch │ ├── GenerateContextMappingDSLInfrastructure.launch │ └── LaunchRuntimeEclipse.launch ├── .project ├── META-INF │ └── MANIFEST.MF ├── build.gradle ├── build.properties ├── plugin.xml ├── pom.xml └── src │ └── org │ └── contextmapper │ ├── dsl │ ├── ContextMapperPDAUtil.java │ ├── ContextMappingDSL.xtext │ ├── ContextMappingDSLRuntimeModule.xtend │ ├── ContextMappingDSLStandaloneSetup.xtend │ ├── GenerateContextMappingDSL.mwe2 │ ├── cml │ │ ├── CMLImportResolver.java │ │ ├── CMLModelDomainAndSubdomainResolver.java │ │ ├── CMLModelObjectsResolvingHelper.java │ │ ├── CMLResource.java │ │ ├── CMLTypeChecker.java │ │ ├── XtextIdHelper.java │ │ └── exception │ │ │ └── ResourceIsNoCMLModelException.java │ ├── exception │ │ ├── ContextMapperApplicationException.java │ │ └── RefactoringSerializationException.java │ ├── formatting2 │ │ └── ContextMappingDSLFormatter.xtend │ ├── generator │ │ ├── AbstractContextMapGenerator.java │ │ ├── AbstractContextMappingModelGenerator.java │ │ ├── AbstractFreemarkerTextCreator.java │ │ ├── ContextMapGenerator.java │ │ ├── GenericContentGenerator.java │ │ ├── MDSLContractsGenerator.java │ │ ├── PlantUMLGenerator.java │ │ ├── SketchMinerGenerator.java │ │ ├── XMIGenerator.java │ │ ├── contextmap │ │ │ ├── ContextMapFormat.java │ │ │ └── ContextMapModelConverter.java │ │ ├── exception │ │ │ ├── GeneratorInputException.java │ │ │ ├── InputNotYetSupportedException.java │ │ │ ├── NoContextMapDefinedException.java │ │ │ └── NoContextMappingModelDefinedException.java │ │ ├── freemarker │ │ │ ├── BoundedContextsFilterMethod.java │ │ │ ├── FreemarkerTextGenerator.java │ │ │ ├── GetTypeOfComplexTypeMethod.java │ │ │ ├── InstanceOfMethod.java │ │ │ └── TeamsFilterMethod.java │ │ ├── mdsl │ │ │ ├── MDSLAPIDescriptionCreator.java │ │ │ ├── MDSLDataTypeCreator.java │ │ │ ├── MDSLModelCreator.java │ │ │ ├── MDSLNameEncoder.java │ │ │ ├── MDSLPatternMatcher.java │ │ │ ├── ProtectedRegionContext.java │ │ │ ├── ProtectedRegionContextFactory.java │ │ │ ├── ProtectedRegionIdentifier.java │ │ │ ├── ProtectedRegionReader.java │ │ │ ├── generatorcontext │ │ │ │ ├── DownstreamContext.java │ │ │ │ └── UpstreamAPIContext.java │ │ │ ├── mdsl-api-description.ftl │ │ │ └── model │ │ │ │ ├── APIUsageContext.java │ │ │ │ ├── DataType.java │ │ │ │ ├── DataTypeAttribute.java │ │ │ │ ├── EndpointClient.java │ │ │ │ ├── EndpointContract.java │ │ │ │ ├── EndpointOffer.java │ │ │ │ ├── EndpointOperation.java │ │ │ │ ├── EndpointProvider.java │ │ │ │ ├── FlowStep.java │ │ │ │ ├── IntegrationScenario.java │ │ │ │ ├── OrchestrationFlow.java │ │ │ │ ├── ServiceSpecification.java │ │ │ │ └── Story.java │ │ ├── plantuml │ │ │ ├── AbstractPlantUMLClassDiagramCreator.java │ │ │ ├── AbstractPlantUMLDiagramCreator.java │ │ │ ├── AbstractPlantUMLMindMapDiagramCreator.java │ │ │ ├── AbstractPlantUMLStateDiagramCreator.java │ │ │ ├── AssociationInfo.java │ │ │ ├── AssociationLink.java │ │ │ ├── ClassRelationType.java │ │ │ ├── Multiplicity.java │ │ │ ├── PlantUMLAggregateClassDiagramCreator.java │ │ │ ├── PlantUMLBoundedContextClassDiagramCreator.java │ │ │ ├── PlantUMLComponentDiagramCreator.java │ │ │ ├── PlantUMLDiagramCreator.java │ │ │ ├── PlantUMLModuleClassDiagramCreator.java │ │ │ ├── PlantUMLStakeholderMapGenerator.java │ │ │ ├── PlantUMLStateDiagramCreator4Aggregate.java │ │ │ ├── PlantUMLStateDiagramCreator4Flow.java │ │ │ ├── PlantUMLSubdomainClassDiagramCreator.java │ │ │ ├── PlantUMLUseCaseDiagramCreator.java │ │ │ ├── PlantUMLUseCaseInteractionsSequenceDiagramCreator.java │ │ │ ├── PlantUMLValueImpactMapGenerator.java │ │ │ ├── UMLRelationship.java │ │ │ └── value_impact_mapping │ │ │ │ ├── CML2ValueImpactModelMapper.java │ │ │ │ ├── ValueImpactMapPumlTextCreator.java │ │ │ │ ├── model │ │ │ │ ├── ConsequenceOnValue.java │ │ │ │ ├── MitigationAction.java │ │ │ │ ├── Stakeholder.java │ │ │ │ ├── SystemOfInterest.java │ │ │ │ └── Value.java │ │ │ │ └── value-impact-map-puml.ftl │ │ └── sketchminer │ │ │ ├── LZString.java │ │ │ ├── SketchMinerCoordinationModelCreator.java │ │ │ ├── SketchMinerLinkCreator.java │ │ │ ├── SketchMinerModelCreator.java │ │ │ ├── converter │ │ │ ├── Coordination2SketchMinerConverter.java │ │ │ ├── Flow2SketchMinerConverter.java │ │ │ ├── SimplifiedCoordinationStep.java │ │ │ └── SimplifiedFlowStep.java │ │ │ ├── model │ │ │ ├── SketchMinerModel.java │ │ │ ├── Task.java │ │ │ ├── TaskSequence.java │ │ │ └── TaskType.java │ │ │ └── sketchminer.ftl │ ├── hover │ │ ├── CMLHoverTextProvider.java │ │ └── impl │ │ │ ├── AbstractCMLHoverTextProvider.java │ │ │ ├── HTMLHoverTextProvider4CML.xtend │ │ │ └── MarkdownHoverTextProvider4CML.xtend │ ├── quickfixes │ │ ├── CMLQuickFix.java │ │ ├── CreateMissingBoundedContextQuickFix.java │ │ ├── SplitStoryByVerb.java │ │ └── tactic │ │ │ └── ExtractIDValueObjectQuickFix.java │ ├── refactoring │ │ ├── AbstractExtractSymmetricRelationshipRefactoring.java │ │ ├── AbstractRefactoring.java │ │ ├── AbstractToggleSymmetricRelationshipRefactoring.java │ │ ├── AddEthicalValueAssessmentToStory.java │ │ ├── ChangePartnershipToUpstreamDownstreamRefactoring.java │ │ ├── CompoundKey.java │ │ ├── ContextMappingModelHelper.java │ │ ├── ContextSplittingIntegrationType.java │ │ ├── DeriveBoundedContextFromSubdomains.java │ │ ├── DeriveFrontendAndBackendSystemsFromFeature.java │ │ ├── DeriveSubdomainFromUserRequirements.java │ │ ├── ExtractAggregatesByCohesion.java │ │ ├── ExtractAggregatesByVolatility.java │ │ ├── ExtractPartnershipRefactoring.java │ │ ├── ExtractSharedKernelRefactoring.java │ │ ├── MergeAggregatesRefactoring.java │ │ ├── MergeBoundedContextsRefactoring.java │ │ ├── RefactoringHelper.java │ │ ├── SemanticCMLRefactoring.java │ │ ├── SplitAggregateByEntitiesRefactoring.java │ │ ├── SplitBoundedContextByAggregateAttribute.java │ │ ├── SplitBoundedContextByFeatures.java │ │ ├── SplitBoundedContextByOwner.java │ │ ├── SplitSystemIntoSubsystems.java │ │ ├── SuspendPartnershipMode.java │ │ ├── SwitchFromPartnershipToSharedKernelRefactoring.java │ │ ├── SwitchFromSharedKernelToPartnershipRefactoring.java │ │ ├── exception │ │ │ └── RefactoringInputException.java │ │ ├── stakeholders │ │ │ ├── CreateStakeholderForUserStoryRole.java │ │ │ ├── CreateValue4StakeholderRefactoring.java │ │ │ └── MoveStakeholderToNewStakeholderGroupRefactoring.java │ │ └── value_registers │ │ │ ├── CreateValueRegisterForBoundedContext.java │ │ │ └── WrapValueInClusterRefactoring.java │ ├── scoping │ │ ├── CMLScopingHelper.java │ │ └── ContextMappingDSLScopeProvider.xtend │ ├── standalone │ │ ├── ContextMapperStandaloneSetup.java │ │ ├── FileSystemHelper.java │ │ ├── StandaloneContextMapper.java │ │ └── StandaloneContextMapperAPI.java │ └── validation │ │ ├── AbstractCMLValidator.java │ │ ├── AggregateSemanticsValidator.java │ │ ├── ApplicationCoordinationSemanticsValidator.java │ │ ├── ApplicationFlowSemanticsValidator.java │ │ ├── BoundedContextRelationshipSemanticsValidator.java │ │ ├── BoundedContextSemanticsValidator.java │ │ ├── ContextMapSemanticsValidator.java │ │ ├── DomainObjectValidator.java │ │ ├── DomainValidator.java │ │ ├── TacticDDDModuleValidator.java │ │ ├── TacticDDDOperationsValidator.java │ │ ├── TeamSemanticsValidator.java │ │ ├── UniquenessValidator.java │ │ ├── UserRequirementsValidator.java │ │ └── ValidationMessages.java │ ├── servicecutter │ └── dsl │ │ ├── ServiceCutterConfigurationDSL.xtext │ │ ├── ServiceCutterConfigurationDSLRuntimeModule.xtend │ │ ├── ServiceCutterConfigurationDSLStandaloneSetup.xtend │ │ ├── formatting2 │ │ └── ServiceCutterConfigurationDSLFormatter.xtend │ │ ├── scl │ │ ├── SCLResourceContainer.java │ │ └── exception │ │ │ └── ResourceIsNoSCLModelException.java │ │ └── scoping │ │ └── ServiceCutterConfigurationDSLScopeProvider.xtend │ └── tactic │ └── dsl │ ├── TacticDDDLanguage.xtext │ ├── TacticDDDLanguageRuntimeModule.xtend │ ├── TacticDDDLanguageStandaloneSetup.xtend │ ├── TacticDslExtensions.xtend │ ├── conversion │ └── TacticDslValueConverters.xtend │ ├── formatting2 │ └── TacticDDDLanguageFormatter.xtend │ ├── scoping │ ├── Scope.java │ └── TacticDDDLanguageScopeProvider.xtend │ └── validation │ ├── IssueCodes.java │ ├── TacticDDDLanguageValidator.xtend │ └── TacticDslSyntaxErrorMessageProvider.xtend ├── pom.xml └── settings.gradle /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: stefan-ka 2 | 3 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | 5 | --- 6 | 7 | **Describe the bug** 8 | A clear and concise description of what the bug is. 9 | 10 | **To Reproduce** 11 | Steps to reproduce the behavior: 12 | 1. Go to '...' 13 | 2. Click on '....' 14 | 3. Scroll down to '....' 15 | 4. See error 16 | 17 | **Expected behavior** 18 | A clear and concise description of what you expected to happen. 19 | 20 | **Screenshots / Exceptions** 21 | If applicable, add screenshots to help explain your problem. 22 | Provide error messages and exceptions you may got in the eclipse plugin (see error log view). 23 | 24 | **Input files to reproduce** 25 | If possible, provide input files which allow reproducing the problem (CML or SCL files). 26 | 27 | **IDE and Plugin (please complete the following information):** 28 | - Eclipse version 29 | - ContextMapper plugin version 30 | 31 | **Additional context** 32 | Add any other context about the problem here. 33 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | 5 | --- 6 | 7 | **Is your feature request related to a problem? Please describe.** 8 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 9 | 10 | **Describe the solution you'd like** 11 | A clear and concise description of what you want to happen. 12 | 13 | **Describe alternatives you've considered** 14 | A clear and concise description of any alternative solutions or features you've considered. 15 | 16 | **Additional context** 17 | Add any other context or screenshots about the feature request here. 18 | -------------------------------------------------------------------------------- /.github/workflows/settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | false 6 | 7 | 8 | github 9 | ${env.GH_CI_USERNAME} 10 | ${env.GH_CI_TOKEN} 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled class file 2 | *.class 3 | **/target 4 | **/out 5 | **/bin 6 | 7 | # Log file 8 | *.log 9 | 10 | # BlueJ files 11 | *.ctxt 12 | 13 | # Mobile Tools for Java (J2ME) 14 | .mtj.tmp/ 15 | 16 | # Package Files # 17 | *.jar 18 | *.war 19 | *.nar 20 | *.ear 21 | *.zip 22 | *.tar.gz 23 | *.rar 24 | 25 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml 26 | hs_err_pid* 27 | 28 | # Eclipse files 29 | **/.settings 30 | plugin.xml_gen 31 | 32 | # IntelliJ files 33 | .idea/ 34 | **/*.iml 35 | 36 | # Xtext generated sources 37 | **/src-gen 38 | **/xtend-gen 39 | **/model/generated/ 40 | 41 | # Build 42 | .gradle/ 43 | build/ 44 | 45 | # MacOS 46 | .DS_Store 47 | -------------------------------------------------------------------------------- /.java-version: -------------------------------------------------------------------------------- 1 | 11.0 2 | -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip 2 | -------------------------------------------------------------------------------- /.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | org.contextmapper.dsl.parent 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.m2e.core.maven2Builder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.m2e.core.maven2Nature 16 | 17 | 18 | -------------------------------------------------------------------------------- /codecov.yml: -------------------------------------------------------------------------------- 1 | coverage: 2 | status: 3 | project: on 4 | patch: off 5 | precision: 1 6 | 7 | -------------------------------------------------------------------------------- /docs/madr/README.md: -------------------------------------------------------------------------------- 1 | # Markdown Any Decision Records (MADR) 2 | 3 | Within this folder we document our design and architectural decisions according to the [MADR template](https://github.com/adr/madr). 4 | 5 | To create a new record, use the template file [here](https://github.com/adr/madr/blob/develop/template/adr-template.md). 6 | -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | ossSnapshotRepository=https://oss.sonatype.org/content/repositories/snapshots/ 2 | ossReleaseStagingRepository=https://oss.sonatype.org/service/local/staging/deploy/maven2/ 3 | -------------------------------------------------------------------------------- /gradle/maven-deployment.gradle: -------------------------------------------------------------------------------- 1 | //see https://docs.gradle.org/current/userguide/maven_plugin.html 2 | apply plugin: 'maven-publish' 3 | 4 | publishing { 5 | repositories { 6 | maven { 7 | def releasesRepoUrl = "file://${buildDir}/localRepo" 8 | def snapshotsRepoUrl = "file://${buildDir}/localRepo" 9 | url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /gradle/source-layout.gradle: -------------------------------------------------------------------------------- 1 | if (name.endsWith("-tests")) { 2 | sourceSets { 3 | main { 4 | java.srcDirs = [] 5 | resources.srcDirs = [] 6 | } 7 | test { 8 | java.srcDirs = ['src', 'src-gen', 'xtend-gen'] 9 | resources.srcDirs = ['src', 'src-gen'] 10 | xtendOutputDir = 'xtend-gen' 11 | } 12 | } 13 | } else { 14 | sourceSets { 15 | main { 16 | java.srcDirs = ['src', 'src-gen', 'xtend-gen'] 17 | resources.srcDirs = ['src', 'src-gen'] 18 | xtendOutputDir = 'xtend-gen' 19 | } 20 | test { 21 | java.srcDirs = [] 22 | resources.srcDirs = [] 23 | } 24 | } 25 | } 26 | 27 | sourceSets.all { 28 | resources.exclude '**/*.g', '**/*.mwe2', '**/*.xtend', '**/*._trace' 29 | } 30 | 31 | jar { 32 | from('model') { 33 | into('model') 34 | } 35 | manifest { 36 | attributes 'Bundle-SymbolicName': project.name 37 | } 38 | } 39 | 40 | plugins.withId('war') { 41 | webAppDirName = "WebRoot" 42 | } 43 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ContextMapper/context-mapper-dsl/981d5beaea768787e5677a0e4091458264302d0b/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon Sep 30 23:33:31 CEST 2019 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-all.zip 7 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.feature/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | org.contextmapper.dsl.feature 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.pde.FeatureBuilder 10 | 11 | 12 | 13 | 14 | org.eclipse.m2e.core.maven2Builder 15 | 16 | 17 | 18 | 19 | 20 | org.eclipse.m2e.core.maven2Nature 21 | org.eclipse.pde.FeatureNature 22 | 23 | 24 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.feature/build.properties: -------------------------------------------------------------------------------- 1 | bin.includes = feature.xml 2 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.feature/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4.0.0 3 | 4 | org.contextmapper.dsl 5 | org.contextmapper.dsl.parent 6 | 6.12.1-SNAPSHOT 7 | 8 | org.contextmapper.dsl.feature 9 | eclipse-feature 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.ide.tests/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.ide.tests/build.gradle: -------------------------------------------------------------------------------- 1 | dependencies { 2 | implementation project(':context-mapper-dsl') 3 | implementation project(':context-mapper-lsp') 4 | implementation group: 'commons-io', name: 'commons-io', version: '2.6' 5 | testImplementation "org.junit.jupiter:junit-jupiter-api:5.5.1" 6 | testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.5.1" 7 | testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1' 8 | testImplementation "org.eclipse.xtext:org.eclipse.xtext.testing:${xtextVersion}" 9 | testImplementation "org.eclipse.xtext:org.eclipse.xtext.xbase.testing:${xtextVersion}" 10 | } 11 | test { 12 | useJUnitPlatform() 13 | } 14 | //this is an eclipse plugin project 15 | eclipseClasspath.enabled=false 16 | cleanEclipseClasspath.enabled=false 17 | 18 | jacocoTestReport { 19 | sourceSets project(':context-mapper-lsp').sourceSets.main 20 | 21 | reports { 22 | html.enabled = true 23 | xml.enabled = true 24 | csv.enabled = false 25 | } 26 | } 27 | 28 | check.dependsOn jacocoTestReport 29 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.ide.tests/build.properties: -------------------------------------------------------------------------------- 1 | source.. = src/,\ 2 | xtend-gen/ 3 | bin.includes = .,\ 4 | META-INF/ 5 | bin.excludes = **/*.xtend 6 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.ide/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.ide/build.properties: -------------------------------------------------------------------------------- 1 | source.. = src/,\ 2 | src-gen/,\ 3 | xtend-gen/ 4 | bin.includes = .,\ 5 | META-INF/ 6 | bin.excludes = **/*.xtend 7 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.ide/src/org/contextmapper/servicecutter/dsl/ide/ServiceCutterConfigurationDSLIdeModule.xtend: -------------------------------------------------------------------------------- 1 | /* 2 | * generated by Xtext 2.32.0 3 | */ 4 | package org.contextmapper.servicecutter.dsl.ide 5 | 6 | 7 | /** 8 | * Use this class to register ide components. 9 | */ 10 | class ServiceCutterConfigurationDSLIdeModule extends AbstractServiceCutterConfigurationDSLIdeModule { 11 | } 12 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.ide/src/org/contextmapper/servicecutter/dsl/ide/ServiceCutterConfigurationDSLIdeSetup.xtend: -------------------------------------------------------------------------------- 1 | /* 2 | * generated by Xtext 2.32.0 3 | */ 4 | package org.contextmapper.servicecutter.dsl.ide 5 | 6 | import com.google.inject.Guice 7 | import org.contextmapper.servicecutter.dsl.ServiceCutterConfigurationDSLRuntimeModule 8 | import org.contextmapper.servicecutter.dsl.ServiceCutterConfigurationDSLStandaloneSetup 9 | import org.eclipse.xtext.util.Modules2 10 | 11 | /** 12 | * Initialization support for running Xtext languages as language servers. 13 | */ 14 | class ServiceCutterConfigurationDSLIdeSetup extends ServiceCutterConfigurationDSLStandaloneSetup { 15 | 16 | override createInjector() { 17 | Guice.createInjector(Modules2.mixin(new ServiceCutterConfigurationDSLRuntimeModule, new ServiceCutterConfigurationDSLIdeModule)) 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.ide/src/org/contextmapper/tactic/dsl/ide/TacticDDDLanguageIdeModule.xtend: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018 The Context Mapper Project Team 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.contextmapper.tactic.dsl.ide 17 | 18 | 19 | /** 20 | * Use this class to register ide components. 21 | */ 22 | class TacticDDDLanguageIdeModule extends AbstractTacticDDDLanguageIdeModule { 23 | } 24 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.repository/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | org.contextmapper.dsl.repository 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.m2e.core.maven2Builder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.m2e.core.maven2Nature 16 | 17 | 18 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.repository/category.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.target/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | org.contextmapper.dsl.target 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.m2e.core.maven2Builder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.m2e.core.maven2Nature 16 | 17 | 18 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.target/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4.0.0 3 | 4 | org.contextmapper.dsl 5 | org.contextmapper.dsl.parent 6 | 6.12.1-SNAPSHOT 7 | 8 | org.contextmapper.dsl.target 9 | eclipse-target-definition 10 | 11 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/build.properties: -------------------------------------------------------------------------------- 1 | source.. = src/,\ 2 | src-gen/,\ 3 | xtend-gen/ 4 | bin.includes = .,\ 5 | META-INF/ 6 | bin.excludes = **/*.xtend 7 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/ServiceCutter-Output-Wrong.json: -------------------------------------------------------------------------------- 1 | { 2 | "hello": "just another json file" 3 | } 4 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/common/bc-resolving-test-1.cml: -------------------------------------------------------------------------------- 1 | BoundedContext TestContext { 2 | Module TestModule { 3 | Aggregate TestAggregateInModule { 4 | Entity TestEntity1 5 | } 6 | 7 | Entity TestEntity4 8 | } 9 | 10 | Aggregate TestAggregate { 11 | Entity TestEntity2 12 | } 13 | 14 | } 15 | 16 | Domain TestDomain { 17 | Subdomain TestSubdomain { 18 | Entity TestEntity3 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/contextmapgenerator/test-context-map-1.cml: -------------------------------------------------------------------------------- 1 | ContextMap InsuranceContextMap { 2 | contains CustomerManagementContext 3 | contains CustomerSelfServiceContext 4 | contains PrintingContext 5 | contains PolicyManagementContext 6 | contains RiskManagementContext 7 | contains DebtCollection 8 | 9 | CustomerSelfServiceContext [D,C]<-[U,S] CustomerManagementContext 10 | 11 | CustomerManagementContext [D,ACL]<-[U,OHS,PL] PrintingContext 12 | 13 | RiskManagementContext [P]<->[P] PolicyManagementContext : testLabel { 14 | implementationTechnology "Java" 15 | } 16 | 17 | PolicyManagementContext [D,CF]<-[U,OHS] CustomerManagementContext 18 | 19 | PolicyManagementContext [SK]<->[SK] DebtCollection 20 | 21 | } 22 | 23 | BoundedContext CustomerManagementContext 24 | 25 | BoundedContext CustomerSelfServiceContext 26 | 27 | BoundedContext PrintingContext 28 | 29 | BoundedContext PolicyManagementContext 30 | 31 | BoundedContext RiskManagementContext 32 | 33 | BoundedContext DebtCollection 34 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/contextmapgenerator/test-team-map-1.cml: -------------------------------------------------------------------------------- 1 | ContextMap InsuranceTeamMap { 2 | type ORGANIZATIONAL 3 | 4 | contains ContractsTeam, CustomersTeam 5 | 6 | ContractsTeam [D,CF]<-[U,OHS] CustomersTeam 7 | } 8 | 9 | BoundedContext CustomersTeam { type TEAM } 10 | 11 | BoundedContext ContractsTeam { type TEAM } 12 | 13 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/contextmapgenerator/test-team-map-2.cml: -------------------------------------------------------------------------------- 1 | ContextMap InsuranceTeamMap { 2 | type ORGANIZATIONAL 3 | 4 | contains ContractsTeam, CustomersTeam 5 | contains CustomerManagementContext, PolicyManagementContext 6 | 7 | ContractsTeam [D,CF]<-[U,OHS] CustomersTeam 8 | 9 | PolicyManagementContext [D,CF]<-[U,OHS] CustomerManagementContext 10 | } 11 | 12 | BoundedContext CustomersTeam realizes CustomerManagementContext { type TEAM } 13 | 14 | BoundedContext ContractsTeam realizes PolicyManagementContext { type TEAM } 15 | 16 | BoundedContext CustomerManagementContext 17 | 18 | BoundedContext PolicyManagementContext 19 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/freemarker/bounded-context-filter-test.cml: -------------------------------------------------------------------------------- 1 | BoundedContext TestTeam { type TEAM } 2 | BoundedContext TestSystem { type SYSTEM } -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/freemarker/bounded-context-filter-test.ftl: -------------------------------------------------------------------------------- 1 | <#list filterBoundedContexts(boundedContexts) as bc>${bc.name} -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/freemarker/complex-type-test-1.cml: -------------------------------------------------------------------------------- 1 | BoundedContext bc1 { 2 | Aggregate agg1 { 3 | Entity e1 { 4 | def ReturnType aMethod(); 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/freemarker/complex-type-test-1.ftl: -------------------------------------------------------------------------------- 1 | <#list boundedContexts as bc><#list bc.aggregates as agg><#list agg.domainObjects as do><#list do.operations as op>${getType(op.returnType)} -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/freemarker/complex-type-test-2.cml: -------------------------------------------------------------------------------- 1 | BoundedContext bc1 { 2 | Aggregate agg1 { 3 | Entity e1 { 4 | def @ReturnType aMethod(); 5 | } 6 | Entity ReturnType 7 | } 8 | } -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/freemarker/complex-type-test-2.ftl: -------------------------------------------------------------------------------- 1 | <#list boundedContexts as bc><#list bc.aggregates as agg><#list agg.domainObjects as do><#list do.operations as op>${getType(op.returnType)} -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/freemarker/complex-type-test-3.cml: -------------------------------------------------------------------------------- 1 | BoundedContext bc1 { 2 | Aggregate agg1 { 3 | Entity e1 { 4 | def List<@ReturnType> aMethod(); 5 | } 6 | Entity ReturnType 7 | } 8 | } -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/freemarker/complex-type-test-3.ftl: -------------------------------------------------------------------------------- 1 | <#list boundedContexts as bc><#list bc.aggregates as agg><#list agg.domainObjects as do><#list do.operations as op>${getType(op.returnType)} -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/freemarker/custom-variables-test-1.ftl: -------------------------------------------------------------------------------- 1 | ${projectName} -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/freemarker/filter-bounded-contexts-wrong-parameter-type-test.cml: -------------------------------------------------------------------------------- 1 | ContextMap testMap {} 2 | 3 | BoundedContext TestTeam { type TEAM } 4 | BoundedContext TestSystem { type SYSTEM } -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/freemarker/filter-bounded-contexts-wrong-parameter-type-test.ftl: -------------------------------------------------------------------------------- 1 | <#list filterBoundedContexts(contextMap) as bc>${bc.name} -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/freemarker/filter-bounded-contexts-wrong-parameters-test.cml: -------------------------------------------------------------------------------- 1 | BoundedContext TestTeam { type TEAM } 2 | BoundedContext TestSystem { type SYSTEM } -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/freemarker/filter-bounded-contexts-wrong-parameters-test.ftl: -------------------------------------------------------------------------------- 1 | <#list filterBoundedContexts(boundedContexts,boundedContexts) as bc>${bc.name} -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/freemarker/filter-teams-wrong-parameter-type-test.cml: -------------------------------------------------------------------------------- 1 | ContextMap testMap {} 2 | 3 | BoundedContext TestTeam { type TEAM } 4 | BoundedContext TestSystem { type SYSTEM } -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/freemarker/filter-teams-wrong-parameter-type-test.ftl: -------------------------------------------------------------------------------- 1 | <#list filterTeams(contextMap) as bc>${bc.name} -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/freemarker/filter-teams-wrong-parameters-test.cml: -------------------------------------------------------------------------------- 1 | BoundedContext TestTeam { type TEAM } 2 | BoundedContext TestSystem { type SYSTEM } -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/freemarker/filter-teams-wrong-parameters-test.ftl: -------------------------------------------------------------------------------- 1 | <#list filterTeams(boundedContexts,boundedContexts) as bc>${bc.name} -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/freemarker/get-type-wrong-parameter-type-test.ftl: -------------------------------------------------------------------------------- 1 | <#list boundedContexts as bc><#list bc.aggregates as agg><#list agg.domainObjects as do><#list do.operations as op>${getType(op)} -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/freemarker/get-type-wrong-parameters-test.ftl: -------------------------------------------------------------------------------- 1 | <#list boundedContexts as bc><#list bc.aggregates as agg><#list agg.domainObjects as do><#list do.operations as op>${getType(op.returnType,op.returnType)} -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/freemarker/instance-of-second-parameter-no-class.ftl: -------------------------------------------------------------------------------- 1 | <#list contextMap.relationships as rel><#if instanceOf(rel, rel)>true -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/freemarker/instance-of-test-1.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains context1, context2 3 | 4 | context1 -> context2 5 | } 6 | 7 | BoundedContext context1 8 | BoundedContext context2 9 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/freemarker/instance-of-test-1.ftl: -------------------------------------------------------------------------------- 1 | <#list contextMap.relationships as rel><#if instanceOf(rel, UpstreamDownstreamRelationship)>true -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/freemarker/instance-of-wrong-parameters-test.ftl: -------------------------------------------------------------------------------- 1 | <#list contextMap.relationships as rel><#if instanceOf(UpstreamDownstreamRelationship)>true -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/freemarker/simple-context-map.cml: -------------------------------------------------------------------------------- 1 | ContextMap testMap { 2 | // empty map 3 | } -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/freemarker/simple-template.ftl: -------------------------------------------------------------------------------- 1 | ${contextMap.name} -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/freemarker/team-filter-test.cml: -------------------------------------------------------------------------------- 1 | BoundedContext TestTeam { type TEAM } 2 | BoundedContext TestSystem { type SYSTEM } -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/freemarker/team-filter-test.ftl: -------------------------------------------------------------------------------- 1 | <#list filterTeams(boundedContexts) as bc>${bc.name} -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/generators/plantuml/class-diagram-generation-module-test-1.cml: -------------------------------------------------------------------------------- 1 | BoundedContext InsuranceQuotes { 2 | 3 | Module QuoteRequest { 4 | Entity QuoteRequest { 5 | aggregateRoot 6 | } 7 | 8 | 9 | enum RequestState { 10 | aggregateLifecycle 11 | REQUEST_SUBMITTED, QUOTE_RECEIVED, REQUEST_REJECTED, QUOTE_ACCEPTED, QUOTE_REJECTED, QUOTE_EXPIRED, POLICY_CREATED 12 | } 13 | } 14 | 15 | Aggregate AnotherAggregateThatMustBeIgnored { 16 | enum States { 17 | REQUEST_SUBMITTED, QUOTE_RECEIVED, REQUEST_REJECTED, QUOTE_ACCEPTED, QUOTE_REJECTED, QUOTE_EXPIRED, POLICY_CREATED 18 | } 19 | } 20 | 21 | } -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/generators/plantuml/stakeholder-diagram-generation-test-1.cml: -------------------------------------------------------------------------------- 1 | Stakeholders { 2 | 3 | Stakeholder Tester 4 | 5 | } -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/generators/plantuml/use-case-diagram-generation-test-1.cml: -------------------------------------------------------------------------------- 1 | UseCase Get_paid_for_car_accident { // title 2 | actor "Claimant" // primary actor 3 | scope "Insurance company" // scope 4 | level "Summary" // level 5 | benefit "A claimant submits a claim and and gets paid from the insurance company." // story (brief summary) 6 | interactions 7 | "submit" a "Claim", // step 1: claimant submits claim 8 | "verifyExistanceOf" "Policy", // step 2: insurance company verifies that valid policy exists 9 | "assign" an "Agent" for a "Claim", // step 3: agent is assigned to claim 10 | "verify" "Policy", // step 4: agent verifies all details are within policy guidelines 11 | "pay" "Claimant", // step 5 (1): claimant gets paid 12 | "close" "Claim" // step 5 (2): file/claim gets closed 13 | } 14 | 15 | UseCase Order_Offer_for_new_Insurance { 16 | actor "Claimant" 17 | } 18 | 19 | UseCase Just_do_something { 20 | actor "Chiller" 21 | } -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/generators/plantuml/use-case-interactions-sequence-diagram-generation-test-2.cml: -------------------------------------------------------------------------------- 1 | UseCase Get_paid_for_car_accident { // title 2 | secondaryActors "Insurance Employee" 3 | scope "Insurance company" // scope 4 | level "Summary" // level 5 | benefit "A claimant submits a claim and and gets paid from the insurance company." // story (brief summary) 6 | interactions 7 | "submit" a "Claim", // step 1: claimant submits claim 8 | "verifyExistanceOf" "Policy", // step 2: insurance company verifies that valid policy exists 9 | "assign" an "Agent" for a "Claim", // step 3: agent is assigned to claim 10 | "verify" "Policy", // step 4: agent verifies all details are within policy guidelines 11 | "pay" "Claimant", // step 5 (1): claimant gets paid 12 | "close" "Claim" // step 5 (2): file/claim gets closed 13 | } 14 | 15 | UseCase Order_Offer_for_new_Insurance { 16 | actor "Claimant" 17 | } 18 | 19 | UseCase Just_do_something { 20 | actor "Chiller" 21 | } -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/generators/plantuml/use-case-interactions-sequence-diagram-generation-test-3.cml: -------------------------------------------------------------------------------- 1 | UseCase Get_paid_for_car_accident { // title 2 | actor "Claimant" // primary actor 3 | scope "Insurance company" // scope 4 | level "Summary" // level 5 | benefit "A claimant submits a claim and and gets paid from the insurance company." // story (brief summary) 6 | interactions 7 | "submit" a "Claim", // step 1: claimant submits claim 8 | "verifyExistanceOf" "Policy", // step 2: insurance company verifies that valid policy exists 9 | "assign" an "Agent" for a "Claim", // step 3: agent is assigned to claim 10 | "verify" "Policy", // step 4: agent verifies all details are within policy guidelines 11 | "pay" "Claimant", // step 5 (1): claimant gets paid 12 | "close" "Claim" // step 5 (2): file/claim gets closed 13 | } 14 | 15 | UseCase Order_Offer_for_new_Insurance { 16 | actor "Claimant" 17 | } 18 | 19 | UseCase Just_do_something { 20 | actor "Chiller" 21 | } -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/generators/plantuml/use-case-interactions-sequence-diagram-generation-test-4.cml: -------------------------------------------------------------------------------- 1 | UseCase Get_paid_for_car_accident { // title 2 | actor "Claimant" // primary actor 3 | secondaryActors "Insurance Employee" 4 | scope "Insurance company" // scope 5 | level "Summary" // level 6 | interactions 7 | "submit" a "Claim", // step 1: claimant submits claim 8 | "verifyExistanceOf" "Policy", // step 2: insurance company verifies that valid policy exists 9 | "assign" an "Agent" for a "Claim", // step 3: agent is assigned to claim 10 | "verify" "Policy", // step 4: agent verifies all details are within policy guidelines 11 | "pay" "Claimant", // step 5 (1): claimant gets paid 12 | "close" "Claim" // step 5 (2): file/claim gets closed 13 | } 14 | 15 | UseCase Order_Offer_for_new_Insurance { 16 | actor "Claimant" 17 | } 18 | 19 | UseCase Just_do_something { 20 | actor "Chiller" 21 | } -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/generators/plantuml/value-impact-map-diagram-generation-test-1.cml: -------------------------------------------------------------------------------- 1 | BoundedContext SameDayDelivery 2 | 3 | Stakeholders of SameDayDelivery { 4 | StakeholderGroup Drivers 5 | } 6 | 7 | ValueRegister SD_Values for SameDayDelivery { 8 | 9 | Value WorkLifeBalance { 10 | isCore 11 | demonstrator "Drivers value a healthy work-life-balance" 12 | Stakeholder Drivers { 13 | priority HIGH 14 | impact HIGH 15 | consequences 16 | bad "SDD will harm work-life-balance of drivers" 17 | action "hire more drivers" ACT 18 | } 19 | } 20 | 21 | } -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/generators/plantuml/value-impact-map-diagram-generation-test-2.cml: -------------------------------------------------------------------------------- 1 | 2 | Stakeholders { 3 | StakeholderGroup Drivers 4 | } 5 | 6 | ValueRegister SD_Values { 7 | 8 | Value WorkLifeBalance { 9 | Stakeholder Drivers { 10 | } 11 | } 12 | 13 | } -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/generators/plantuml/value-impact-map-diagram-generation-test-3.cml: -------------------------------------------------------------------------------- 1 | BoundedContext SameDayDelivery 2 | 3 | Stakeholders of SameDayDelivery { 4 | StakeholderGroup Drivers 5 | } 6 | 7 | ValueRegister SD_Values for SameDayDelivery { 8 | 9 | Value WorkLifeBalance { 10 | isCore 11 | demonstrator "Drivers value a healthy work-life-balance" 12 | Stakeholder Drivers { 13 | priority HIGH 14 | impact HIGH 15 | consequences 16 | bad "SDD will harm work-life-balance of drivers" 17 | action "hire more drivers" ACT 18 | } 19 | } 20 | 21 | } -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/generators/plantuml/value-impact-map-diagram-generation-test-4.cml: -------------------------------------------------------------------------------- 1 | 2 | Stakeholders { 3 | StakeholderGroup Customers_and_Shoppers { 4 | Stakeholder Shoppers_in_Emergency_Situations 5 | Stakeholder Others 6 | } 7 | } 8 | 9 | ValueRegister SD_Values { 10 | 11 | ValueCluster Autonomy { 12 | core AUTONOMY 13 | demonstrator "customer values potentially increased freedom" 14 | demonstrator "delivery staff's freedom might suffer because of work-life-balance" 15 | 16 | Stakeholder Customers_and_Shoppers { 17 | priority HIGH 18 | impact MEDIUM 19 | consequences 20 | good "increased freedom" 21 | } 22 | 23 | } 24 | 25 | } -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/generators/plantuml/value-impact-map-diagram-generation-test-5.cml: -------------------------------------------------------------------------------- 1 | 2 | Stakeholders { 3 | StakeholderGroup Customers_and_Shoppers { 4 | Stakeholder Shoppers_in_Emergency_Situations 5 | Stakeholder Others 6 | } 7 | StakeholderGroup Delivery_Staff_of_Suppliers 8 | } 9 | 10 | ValueRegister SD_Values { 11 | 12 | ValueCluster Autonomy { 13 | core AUTONOMY 14 | demonstrator "customer values potentially increased freedom" 15 | demonstrator "delivery staff's freedom might suffer because of work-life-balance" 16 | 17 | Value Freedom { 18 | Stakeholder Customers_and_Shoppers { 19 | priority HIGH 20 | impact MEDIUM 21 | consequences 22 | good "increased freedom" 23 | } 24 | 25 | Stakeholder Delivery_Staff_of_Suppliers { 26 | priority HIGH 27 | impact HIGH 28 | consequences 29 | bad "work-life-balance" 30 | good "tbd" 31 | 32 | } 33 | } 34 | } 35 | 36 | } -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/imports/empty.cml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ContextMapper/context-mapper-dsl/981d5beaea768787e5677a0e4091458264302d0b/org.contextmapper.dsl.tests/integ-test-files/imports/empty.cml -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/imports/import-to-empty-resource.cml: -------------------------------------------------------------------------------- 1 | import "./empty.cml" 2 | 3 | ContextMap testMap { 4 | 5 | } 6 | 7 | BoundedContext context1 8 | BoundedContext context2 9 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/imports/import-to-other-type.cml: -------------------------------------------------------------------------------- 1 | import "./other-type.scl" 2 | 3 | ContextMap testMap { 4 | 5 | } 6 | 7 | BoundedContext context1 8 | BoundedContext context2 9 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/imports/other-contexts.cml: -------------------------------------------------------------------------------- 1 | BoundedContext anotherContext 2 | BoundedContext yetAnotherContext 3 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/imports/other-type.scl: -------------------------------------------------------------------------------- 1 | Aggregate Customers { 2 | "Customer.firstname" 3 | } 4 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/imports/simple-import-test.cml: -------------------------------------------------------------------------------- 1 | import "./other-contexts.cml" 2 | 3 | ContextMap testMap { 4 | 5 | } 6 | 7 | BoundedContext context1 8 | BoundedContext context2 9 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/imports/uniqueness-validation-test.cml: -------------------------------------------------------------------------------- 1 | import "./other-contexts.cml" 2 | 3 | BoundedContext anotherContext 4 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/application-flow-example-simple.cml: -------------------------------------------------------------------------------- 1 | BoundedContext SampleSystem { 2 | Application SampleApplication { 3 | DomainEvent FlowInitiated 4 | DomainEvent Event1 5 | 6 | CommandEvent StartFlow 7 | CommandEvent Command1 8 | 9 | Flow SampleFlow { 10 | event FlowInitiated triggers command StartFlow 11 | command StartFlow emits event Event1 12 | event Event1 triggers command Command1 13 | command Command1 emits event FlowTerminated 14 | } 15 | } 16 | Aggregate SampleAggregate { 17 | Event FlowTerminated 18 | } 19 | } 20 | 21 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/basic-mdsl-model-test-without-contextmap.cml: -------------------------------------------------------------------------------- 1 | BoundedContext CustomerManagementContext { 2 | 3 | "INFORMATION_HOLDER_RESOURCE" 4 | Aggregate Customers { 5 | Entity Customer { 6 | aggregateRoot 7 | 8 | "COMPUTATION_FUNCTION" 9 | def ReturnType updateAddress(Address address); 10 | "JustSomeResponsibility" 11 | def void anotherMethod(Parameter1Type param1, Parameter2Type param2); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/context-is-upstream-in-multiple-relationships.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagementContext, ContractManagementContext, JustAnotherContext 3 | 4 | CustomerManagementContext -> ContractManagementContext { 5 | exposedAggregates = Customers 6 | implementationTechnology = "RESTful HTTP" 7 | } 8 | 9 | CustomerManagementContext -> JustAnotherContext { 10 | exposedAggregates = Customers 11 | implementationTechnology = "RESTful HTTP" 12 | } 13 | 14 | } 15 | 16 | BoundedContext ContractManagementContext 17 | 18 | BoundedContext CustomerManagementContext { 19 | 20 | Aggregate Customers { 21 | Entity Customer { 22 | aggregateRoot 23 | 24 | def ReturnType updateAddress(Address address); 25 | def void anotherMethod(Parameter1Type param1, Parameter2Type param2); 26 | } 27 | } 28 | } 29 | 30 | BoundedContext JustAnotherContext 31 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/mdsl-can-handle-keyword-clashes.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagementContext, ContractManagementContext, JustAnotherContext 3 | 4 | CustomerManagementContext -> ContractManagementContext { 5 | exposedAggregates = Customers 6 | implementationTechnology = "RESTful HTTP" 7 | } 8 | 9 | // this relationship must be ignored, because it has no exposedAggregates 10 | CustomerManagementContext -> JustAnotherContext 11 | 12 | } 13 | 14 | BoundedContext ContractManagementContext 15 | 16 | BoundedContext CustomerManagementContext { 17 | 18 | Aggregate Customers { 19 | Entity Customer { 20 | aggregateRoot 21 | 22 | def @ReturnType updateLink(@Link link); 23 | } 24 | 25 | Entity Link 26 | Entity ReturnType 27 | } 28 | } 29 | 30 | BoundedContext JustAnotherContext 31 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/mdsl-cyclic-reference.mdsl: -------------------------------------------------------------------------------- 1 | // Generated from DDD Context Map. 2 | API description CustomerManagementContextAPI 3 | 4 | 5 | data type CyclicVO { "name":D, "refToMyself":CyclicVO } 6 | data type CyclicVO2 { "name":D, "refToMyself":CyclicVO2* } 7 | 8 | 9 | endpoint type Customers 10 | exposes 11 | operation myMethod 12 | expecting 13 | payload CyclicVO 14 | delivering 15 | payload D 16 | operation myMethod2 17 | expecting 18 | payload CyclicVO 19 | delivering 20 | payload D 21 | operation myMethod3 22 | expecting 23 | payload CyclicVO2 24 | delivering 25 | payload D 26 | 27 | 28 | API provider CustomerManagementContextProvider 29 | offers Customers 30 | at endpoint location "http://localhost:8000" 31 | via protocol "RESTful HTTP" 32 | 33 | 34 | API client ContractManagementContextClient 35 | consumes Customers 36 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/mdsl-date-to-string.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagementContext, ContractManagementContext, JustAnotherContext 3 | 4 | CustomerManagementContext -> ContractManagementContext { 5 | exposedAggregates = Customers 6 | implementationTechnology = "RESTful HTTP" 7 | } 8 | 9 | // this relationship must be ignored, because it has no exposedAggregates 10 | CustomerManagementContext -> JustAnotherContext 11 | 12 | // duplicate relationship should not change the result 13 | CustomerManagementContext -> ContractManagementContext { 14 | exposedAggregates = Customers 15 | } 16 | 17 | } 18 | 19 | BoundedContext ContractManagementContext 20 | 21 | BoundedContext CustomerManagementContext { 22 | 23 | Aggregate Customers { 24 | Entity Customer { 25 | aggregateRoot 26 | 27 | def void dateMethod(Date dateParam); 28 | } 29 | } 30 | } 31 | 32 | BoundedContext JustAnotherContext 33 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/mdsl-date-to-string.mdsl: -------------------------------------------------------------------------------- 1 | // Generated from DDD Context Map. 2 | API description CustomerManagementContextAPI 3 | 4 | 5 | 6 | 7 | endpoint type Customers 8 | exposes 9 | operation dateMethod 10 | expecting 11 | payload D 12 | 13 | 14 | API provider CustomerManagementContextProvider 15 | offers Customers 16 | at endpoint location "http://localhost:8000" 17 | via protocol "RESTful HTTP" 18 | 19 | 20 | API client ContractManagementContextClient 21 | consumes Customers 22 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/mdsl-domain-vision-statements-test.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagementContext, ContractManagementContext 3 | 4 | CustomerManagementContext -> ContractManagementContext { 5 | exposedAggregates = Customers 6 | implementationTechnology = "RESTful HTTP" 7 | } 8 | 9 | } 10 | 11 | BoundedContext ContractManagementContext { 12 | domainVisionStatement "Contracts vision statement ..." 13 | } 14 | 15 | BoundedContext CustomerManagementContext { 16 | domainVisionStatement "Customers vision statement ..." 17 | 18 | Aggregate Customers { 19 | Entity Customer { 20 | aggregateRoot 21 | 22 | def ReturnType updateAddress(Address address); 23 | def void anotherMethod(Parameter1Type param1, Parameter2Type param2); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/mdsl-enum-support.mdsl: -------------------------------------------------------------------------------- 1 | // Generated from DDD Context Map. 2 | API description CustomerManagementContextAPI 3 | 4 | 5 | data type Address { "street":D, "houseNumber":D, "enumVal":TestEnum } 6 | data type ReturnType P // the type ReturnType has not been specified or does not contain any attributes in CML 7 | data type TestEnum {"VAL1"|"VAL2"} 8 | data type TestEnum2 {"VAL1"|"VAL2"} 9 | 10 | 11 | endpoint type Customers 12 | serves as INFORMATION_HOLDER_RESOURCE 13 | exposes 14 | operation updateAddress 15 | with responsibility COMPUTATION_FUNCTION 16 | expecting 17 | payload Address 18 | delivering 19 | payload ReturnType 20 | operation anotherMethod 21 | with responsibility "JustSomeResponsibility" 22 | expecting 23 | payload TestEnum2 24 | 25 | 26 | API provider CustomerManagementContextProvider 27 | offers Customers 28 | at endpoint location "http://localhost:8000" 29 | via protocol "RESTful HTTP" 30 | 31 | 32 | API client ContractManagementContextClient 33 | consumes Customers 34 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/mdsl-list-in-parameter.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagementContext, ContractManagementContext, JustAnotherContext 3 | 4 | CustomerManagementContext -> ContractManagementContext { 5 | exposedAggregates = Customers 6 | implementationTechnology = "RESTful HTTP" 7 | } 8 | 9 | // this relationship must be ignored, because it has no exposedAggregates 10 | CustomerManagementContext -> JustAnotherContext 11 | 12 | // duplicate relationship should not change the result 13 | CustomerManagementContext -> ContractManagementContext { 14 | exposedAggregates = Customers 15 | } 16 | 17 | } 18 | 19 | BoundedContext ContractManagementContext 20 | 21 | BoundedContext CustomerManagementContext { 22 | 23 | Aggregate Customers { 24 | Entity Customer { 25 | aggregateRoot 26 | 27 | def ReturnType updateAddress(Address address); 28 | def void anotherMethod(Parameter1Type param1, List param2); 29 | } 30 | } 31 | } 32 | 33 | BoundedContext JustAnotherContext 34 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/mdsl-list-in-return-type.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagementContext, ContractManagementContext, JustAnotherContext 3 | 4 | CustomerManagementContext -> ContractManagementContext { 5 | exposedAggregates = Customers 6 | implementationTechnology = "RESTful HTTP" 7 | } 8 | 9 | // this relationship must be ignored, because it has no exposedAggregates 10 | CustomerManagementContext -> JustAnotherContext 11 | 12 | // duplicate relationship should not change the result 13 | CustomerManagementContext -> ContractManagementContext { 14 | exposedAggregates = Customers 15 | } 16 | 17 | } 18 | 19 | BoundedContext ContractManagementContext 20 | 21 | BoundedContext CustomerManagementContext { 22 | 23 | Aggregate Customers { 24 | Entity Customer { 25 | aggregateRoot 26 | 27 | def List updateAddress(Address address); 28 | def void anotherMethod(Parameter1Type param1, List param2); 29 | } 30 | } 31 | } 32 | 33 | BoundedContext JustAnotherContext 34 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/mdsl-list-parameter-test.mdsl: -------------------------------------------------------------------------------- 1 | // Generated from DDD Context Map. 2 | API description CustomerManagementContextAPI 3 | 4 | 5 | data type Address { "street":D, "houseNumber":D } 6 | data type BankAccount P // the type BankAccount has not been specified or does not contain any attributes in CML 7 | data type Customer { "firstName":D, "lastName":D, "account":BankAccount, "address":Address } 8 | data type ReturnType P // the type ReturnType has not been specified or does not contain any attributes in CML 9 | 10 | 11 | endpoint type Customers 12 | exposes 13 | operation updateCustomer 14 | expecting 15 | payload Customer* 16 | delivering 17 | payload ReturnType 18 | 19 | 20 | API provider CustomerManagementContextProvider 21 | offers Customers 22 | at endpoint location "http://localhost:8000" 23 | via protocol "RESTful HTTP" 24 | 25 | 26 | API client ContractManagementContextClient 27 | consumes Customers 28 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/mdsl-no-implementation-technology.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagementContext, ContractManagementContext, JustAnotherContext 3 | 4 | CustomerManagementContext -> ContractManagementContext { 5 | exposedAggregates = Customers 6 | } 7 | 8 | // this relationship must be ignored, because it has no exposedAggregates 9 | CustomerManagementContext -> JustAnotherContext 10 | 11 | // duplicate relationship should not change the result 12 | CustomerManagementContext -> ContractManagementContext { 13 | exposedAggregates = Customers 14 | } 15 | 16 | } 17 | 18 | BoundedContext ContractManagementContext 19 | 20 | BoundedContext CustomerManagementContext { 21 | Aggregate Customers { 22 | Entity Customer { 23 | aggregateRoot 24 | def String myMethod(); 25 | } 26 | } 27 | } 28 | 29 | BoundedContext JustAnotherContext 30 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/mdsl-no-operation-in-one-api.cml: -------------------------------------------------------------------------------- 1 | ContextMap mymap { 2 | contains MyBoundedContext, MyDownstreamContext, YetAnotherContext 3 | 4 | MyBoundedContext -> MyDownstreamContext { 5 | exposedAggregates = myAggregate 6 | } 7 | 8 | MyDownstreamContext -> YetAnotherContext { 9 | exposedAggregates = myOtherAggregate 10 | } 11 | } 12 | 13 | BoundedContext MyBoundedContext { 14 | Aggregate myAggregate { 15 | Entity RootEntity { 16 | aggregateRoot 17 | } 18 | } 19 | } 20 | 21 | BoundedContext MyDownstreamContext { 22 | Aggregate myOtherAggregate { 23 | Entity JustAnEntity { 24 | aggregateRoot 25 | 26 | def doSomething(); 27 | } 28 | } 29 | } 30 | 31 | BoundedContext YetAnotherContext -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/mdsl-no-operation-in-one-api.mdsl: -------------------------------------------------------------------------------- 1 | // Generated from DDD Context Map. 2 | API description MyBoundedContextAPI 3 | 4 | 5 | 6 | 7 | endpoint type myAggregate 8 | // Your aggregate root does not specify any methods/operations. Therefore we can not generate any endpoint operations. 9 | 10 | 11 | API provider MyBoundedContextProvider 12 | offers myAggregate 13 | at endpoint location "http://localhost:8001" 14 | via protocol "tbd" // The protocol is generated if you specify the implementation technology in CML 15 | 16 | 17 | API client MyDownstreamContextClient 18 | consumes myAggregate 19 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/mdsl-no-parameters.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagementContext, ContractManagementContext, JustAnotherContext 3 | 4 | CustomerManagementContext -> ContractManagementContext { 5 | exposedAggregates = Customers 6 | implementationTechnology = "RESTful HTTP" 7 | } 8 | 9 | // this relationship must be ignored, because it has no exposedAggregates 10 | CustomerManagementContext -> JustAnotherContext 11 | 12 | // duplicate relationship should not change the result 13 | CustomerManagementContext -> ContractManagementContext { 14 | exposedAggregates = Customers 15 | } 16 | 17 | } 18 | 19 | BoundedContext ContractManagementContext 20 | 21 | BoundedContext CustomerManagementContext { 22 | Aggregate Customers { 23 | Entity Customer { 24 | aggregateRoot 25 | def String myMethod(); 26 | } 27 | } 28 | } 29 | 30 | BoundedContext JustAnotherContext 31 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/mdsl-no-parameters.mdsl: -------------------------------------------------------------------------------- 1 | // Generated from DDD Context Map. 2 | API description CustomerManagementContextAPI 3 | 4 | 5 | 6 | 7 | endpoint type Customers 8 | exposes 9 | operation myMethod 10 | expecting 11 | payload D 12 | delivering 13 | payload D 14 | 15 | 16 | API provider CustomerManagementContextProvider 17 | offers Customers 18 | at endpoint location "http://localhost:8000" 19 | via protocol "RESTful HTTP" 20 | 21 | 22 | API client ContractManagementContextClient 23 | consumes Customers 24 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/mdsl-no-return-type.mdsl: -------------------------------------------------------------------------------- 1 | // Generated from DDD Context Map. 2 | API description CustomerManagementContextAPI 3 | 4 | // ** BEGIN PROTECTED REGION for data types 5 | 6 | // ** END PROTECTED REGION for data types 7 | 8 | 9 | // ** BEGIN PROTECTED REGION for endpoint types 10 | 11 | // ** END PROTECTED REGION for endpoint types 12 | 13 | endpoint type Customers 14 | exposes 15 | operation myMethod 16 | expecting 17 | payload D 18 | operation myMethod2 19 | expecting 20 | payload D 21 | 22 | // ** BEGIN PROTECTED REGION for API providers 23 | 24 | // ** END PROTECTED REGION for API providers 25 | 26 | API provider CustomerManagementContextProvider 27 | offers Customers 28 | at endpoint location "http://localhost:8000" 29 | via protocol "RESTful HTTP" 30 | 31 | // ** BEGIN PROTECTED REGION for API clients 32 | 33 | // ** END PROTECTED REGION for API clients 34 | 35 | API client ContractManagementContextClient 36 | consumes Customers 37 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/mdsl-nothing-to-generate-test-1.cml: -------------------------------------------------------------------------------- 1 | 2 | BoundedContext ContractManagementContext 3 | 4 | BoundedContext CustomerManagementContext { 5 | Application { 6 | Flow EmptyFlow { 7 | 8 | } 9 | } 10 | } 11 | 12 | BoundedContext JustAnotherContext 13 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/mdsl-nothing-to-generate-test-2.cml: -------------------------------------------------------------------------------- 1 | 2 | BoundedContext ContractManagementContext 3 | 4 | BoundedContext CustomerManagementContext { 5 | } 6 | 7 | BoundedContext JustAnotherContext 8 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/mdsl-nullable-attributes.mdsl: -------------------------------------------------------------------------------- 1 | // Generated from DDD Context Map. 2 | API description CustomerManagementContextAPI 3 | 4 | 5 | data type Address { "street":D, "houseNumber":D } 6 | data type BankAccount P // the type BankAccount has not been specified or does not contain any attributes in CML 7 | data type Customer { "firstName":D?, "lastName":D?, "account":BankAccount, "address":Address } 8 | data type ReturnType P // the type ReturnType has not been specified or does not contain any attributes in CML 9 | 10 | 11 | endpoint type Customers 12 | exposes 13 | operation updateCustomer 14 | expecting 15 | payload Customer 16 | delivering 17 | payload ReturnType 18 | 19 | 20 | API provider CustomerManagementContextProvider 21 | offers Customers 22 | at endpoint location "http://localhost:8000" 23 | via protocol "RESTful HTTP" 24 | 25 | 26 | API client ContractManagementContextClient 27 | consumes Customers 28 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/mdsl-only-use-public-operations.mdsl: -------------------------------------------------------------------------------- 1 | // Generated from DDD Context Map. 2 | API description CustomerManagementContextAPI 3 | 4 | 5 | 6 | 7 | endpoint type Customers 8 | exposes 9 | operation publicMethod 10 | expecting 11 | payload D 12 | delivering 13 | payload D 14 | operation anotherPublicMethod 15 | expecting 16 | payload D 17 | 18 | 19 | API provider CustomerManagementContextProvider 20 | offers Customers 21 | at endpoint location "http://localhost:8000" 22 | via protocol "RESTful HTTP" 23 | 24 | 25 | API client ContractManagementContextClient 26 | consumes Customers 27 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/mdsl-parameter-tree-test.mdsl: -------------------------------------------------------------------------------- 1 | // Generated from DDD Context Map. 2 | API description CustomerManagementContextAPI 3 | 4 | 5 | data type Address { "street":D, "houseNumber":D } 6 | data type BankAccount P // the type BankAccount has not been specified or does not contain any attributes in CML 7 | data type Customer { "firstName":D, "lastName":D, "account":BankAccount, "address":Address } 8 | data type ReturnType P // the type ReturnType has not been specified or does not contain any attributes in CML 9 | 10 | 11 | endpoint type Customers 12 | exposes 13 | operation updateCustomer 14 | expecting 15 | payload Customer 16 | delivering 17 | payload ReturnType 18 | 19 | 20 | API provider CustomerManagementContextProvider 21 | offers Customers 22 | at endpoint location "http://localhost:8000" 23 | via protocol "RESTful HTTP" 24 | 25 | 26 | API client ContractManagementContextClient 27 | consumes Customers 28 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/mdsl-parameter-tree-with-list-test.mdsl: -------------------------------------------------------------------------------- 1 | // Generated from DDD Context Map. 2 | API description CustomerManagementContextAPI 3 | 4 | 5 | data type Address { "street":D, "houseNumber":D } 6 | data type BankAccount P // the type BankAccount has not been specified or does not contain any attributes in CML 7 | data type Customer { "firstName":D, "lastName":D, "account":BankAccount*, "address":Address* } 8 | data type ReturnType P // the type ReturnType has not been specified or does not contain any attributes in CML 9 | 10 | 11 | endpoint type Customers 12 | exposes 13 | operation updateCustomer 14 | expecting 15 | payload Customer 16 | delivering 17 | payload ReturnType 18 | 19 | 20 | API provider CustomerManagementContextProvider 21 | offers Customers 22 | at endpoint location "http://localhost:8000" 23 | via protocol "RESTful HTTP" 24 | 25 | 26 | API client ContractManagementContextClient 27 | consumes Customers 28 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/mdsl-protected-regions-do-not-match-commented-types.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagementContext, ContractManagementContext, JustAnotherContext 3 | 4 | CustomerManagementContext -> ContractManagementContext { 5 | exposedAggregates = Customers 6 | implementationTechnology = "RESTful HTTP" 7 | } 8 | 9 | // this relationship must be ignored, because it has no exposedAggregates 10 | CustomerManagementContext -> JustAnotherContext 11 | 12 | // duplicate relationship should not change the result 13 | CustomerManagementContext -> ContractManagementContext { 14 | exposedAggregates = Customers 15 | } 16 | 17 | } 18 | 19 | BoundedContext ContractManagementContext 20 | 21 | BoundedContext CustomerManagementContext { 22 | 23 | Aggregate Customers { 24 | Entity Customer { 25 | aggregateRoot 26 | 27 | def ReturnType updateAddress(Address address); 28 | def void anotherMethod(Parameter1Type param1, Parameter2Type param2); 29 | } 30 | } 31 | } 32 | 33 | BoundedContext JustAnotherContext 34 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/mdsl-protected-regions.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagementContext, ContractManagementContext, JustAnotherContext 3 | 4 | CustomerManagementContext -> ContractManagementContext { 5 | exposedAggregates = Customers 6 | implementationTechnology = "RESTful HTTP" 7 | } 8 | 9 | // this relationship must be ignored, because it has no exposedAggregates 10 | CustomerManagementContext -> JustAnotherContext 11 | 12 | // duplicate relationship should not change the result 13 | CustomerManagementContext -> ContractManagementContext { 14 | exposedAggregates = Customers 15 | } 16 | 17 | } 18 | 19 | BoundedContext ContractManagementContext 20 | 21 | BoundedContext CustomerManagementContext { 22 | 23 | Aggregate Customers { 24 | Entity Customer { 25 | aggregateRoot 26 | 27 | def ReturnType updateAddress(Address address); 28 | def void anotherMethod(Parameter1Type param1, Parameter2Type param2); 29 | } 30 | } 31 | } 32 | 33 | BoundedContext JustAnotherContext 34 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/mdsl-reference-to-empty-domain-object-1.mdsl: -------------------------------------------------------------------------------- 1 | // Generated from DDD Context Map. 2 | API description CustomerManagementContextAPI 3 | 4 | 5 | data type Address { "street":D, "houseNumber":D, "empty":EmptyType } 6 | data type EmptyType P // the type EmptyType has not been specified or does not contain any attributes in CML 7 | data type ReturnType P // the type ReturnType has not been specified or does not contain any attributes in CML 8 | 9 | 10 | endpoint type Customers 11 | serves as INFORMATION_HOLDER_RESOURCE 12 | exposes 13 | operation updateAddress 14 | with responsibility COMPUTATION_FUNCTION 15 | expecting 16 | payload Address 17 | delivering 18 | payload ReturnType 19 | 20 | 21 | API provider CustomerManagementContextProvider 22 | offers Customers 23 | at endpoint location "http://localhost:8000" 24 | via protocol "RESTful HTTP" 25 | 26 | 27 | API client ContractManagementContextClient 28 | consumes Customers 29 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/mdsl-reference-to-empty-domain-object-2.mdsl: -------------------------------------------------------------------------------- 1 | // Generated from DDD Context Map. 2 | API description CustomerManagementContextAPI 3 | 4 | 5 | data type Address { "street":D, "houseNumber":D, "refAttr":ReferenceType } 6 | data type EmptyVO P // the type EmptyVO has not been specified or does not contain any attributes in CML 7 | data type ReferenceType { "attr1":D, "empty":EmptyVO } 8 | data type ReturnType P // the type ReturnType has not been specified or does not contain any attributes in CML 9 | 10 | 11 | endpoint type Customers 12 | serves as INFORMATION_HOLDER_RESOURCE 13 | exposes 14 | operation updateAddress 15 | with responsibility COMPUTATION_FUNCTION 16 | expecting 17 | payload Address 18 | delivering 19 | payload ReturnType 20 | 21 | 22 | API provider CustomerManagementContextProvider 23 | offers Customers 24 | at endpoint location "http://localhost:8000" 25 | via protocol "RESTful HTTP" 26 | 27 | 28 | API client ContractManagementContextClient 29 | consumes Customers 30 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/mdsl-reference-to-empty-domain-object-3.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagementContext, ContractManagementContext, JustAnotherContext 3 | 4 | CustomerManagementContext -> ContractManagementContext { 5 | exposedAggregates = Customers 6 | implementationTechnology = "RESTful HTTP" 7 | } 8 | 9 | // this relationship must be ignored, because it has no exposedAggregates 10 | CustomerManagementContext -> JustAnotherContext 11 | 12 | // duplicate relationship should not change the result 13 | CustomerManagementContext -> ContractManagementContext { 14 | exposedAggregates = Customers 15 | } 16 | 17 | } 18 | 19 | BoundedContext ContractManagementContext 20 | 21 | BoundedContext CustomerManagementContext { 22 | 23 | Aggregate Customers { 24 | Entity Customer { 25 | aggregateRoot 26 | 27 | def ReturnType updateCustomer(@Param1 param1, @Param2 param2); 28 | } 29 | Entity Param1 30 | Entity Param2 31 | } 32 | } 33 | 34 | BoundedContext JustAnotherContext 35 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/mdsl-reference-to-empty-domain-object-3.mdsl: -------------------------------------------------------------------------------- 1 | // Generated from DDD Context Map. 2 | API description CustomerManagementContextAPI 3 | 4 | 5 | data type Param1 P // the type Param1 has not been specified or does not contain any attributes in CML 6 | data type Param2 P // the type Param2 has not been specified or does not contain any attributes in CML 7 | data type ReturnType P // the type ReturnType has not been specified or does not contain any attributes in CML 8 | data type updateCustomerParameter { "param1":Param1, "param2":Param2 } 9 | 10 | 11 | endpoint type Customers 12 | exposes 13 | operation updateCustomer 14 | expecting 15 | payload updateCustomerParameter 16 | delivering 17 | payload ReturnType 18 | 19 | 20 | API provider CustomerManagementContextProvider 21 | offers Customers 22 | at endpoint location "http://localhost:8000" 23 | via protocol "RESTful HTTP" 24 | 25 | 26 | API client ContractManagementContextClient 27 | consumes Customers 28 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/mdsl-upstream-downstream-role-comments.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagementContext, ContractManagementContext 3 | 4 | CustomerManagementContext[U,OHS,PL] -> [D,ACL]ContractManagementContext { 5 | exposedAggregates = Customers 6 | implementationTechnology = "RESTful HTTP" 7 | } 8 | 9 | } 10 | 11 | BoundedContext ContractManagementContext 12 | 13 | BoundedContext CustomerManagementContext { 14 | 15 | Aggregate Customers { 16 | Entity Customer { 17 | aggregateRoot 18 | 19 | def ReturnType updateAddress(Address address); 20 | def void anotherMethod(Parameter1Type param1, Parameter2Type param2); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/mdsl-usage-context-community-api.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagementContext, ContractManagementContext 3 | 4 | CustomerManagementContext[U,OHS] -> [D]ContractManagementContext { 5 | exposedAggregates = Customers 6 | implementationTechnology = "RESTful HTTP" 7 | } 8 | 9 | } 10 | 11 | BoundedContext ContractManagementContext 12 | 13 | BoundedContext CustomerManagementContext { 14 | 15 | Aggregate Customers { 16 | Entity Customer { 17 | aggregateRoot 18 | 19 | def ReturnType updateAddress(Address address); 20 | def void anotherMethod(Parameter1Type param1, Parameter2Type param2); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/mdsl-usage-context-public-api.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagementContext, ContractManagementContext 3 | 4 | CustomerManagementContext[U,OHS,PL] -> [D]ContractManagementContext { 5 | exposedAggregates = Customers 6 | implementationTechnology = "RESTful HTTP" 7 | } 8 | 9 | } 10 | 11 | BoundedContext ContractManagementContext 12 | 13 | BoundedContext CustomerManagementContext { 14 | 15 | Aggregate Customers { 16 | Entity Customer { 17 | aggregateRoot 18 | 19 | def ReturnType updateAddress(Address address); 20 | def void anotherMethod(Parameter1Type param1, Parameter2Type param2); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/mdsl-use-application-commands-1.cml: -------------------------------------------------------------------------------- 1 | 2 | BoundedContext CustomerManagementContext { 3 | Application { 4 | Command CreateCustomer { 5 | String firstName 6 | String lastName 7 | } 8 | } 9 | 10 | Aggregate Customers { 11 | Entity Address { 12 | String street 13 | int houseNumber 14 | String city 15 | 16 | def updateCity(String city); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/mdsl-use-application-commands-1.mdsl: -------------------------------------------------------------------------------- 1 | // Generated from DDD Context Map. 2 | API description CustomerManagementContextAPI 3 | 4 | 5 | data type CreateCustomerCommand { "firstName":D, "lastName":D } 6 | 7 | command type CreateCustomerCommand 8 | 9 | endpoint type Application 10 | exposes 11 | operation CreateCustomer 12 | expecting 13 | payload CreateCustomerCommand 14 | endpoint type Customers 15 | // Your aggregate root does not specify any methods/operations. Therefore we can not generate any endpoint operations. 16 | 17 | 18 | API provider CustomerManagementContextProvider 19 | offers Application 20 | at endpoint location "http://localhost:8000" 21 | via protocol "tbd" // The protocol is generated if you specify the implementation technology in CML 22 | offers Customers 23 | at endpoint location "http://localhost:8001" 24 | via protocol "tbd" // The protocol is generated if you specify the implementation technology in CML 25 | 26 | 27 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/mdsl-use-application-commands-2.cml: -------------------------------------------------------------------------------- 1 | 2 | BoundedContext CustomerManagementContext { 3 | Application { 4 | Command CreateCustomerCommand { 5 | String firstName 6 | String lastName 7 | } 8 | } 9 | 10 | Aggregate Customers { 11 | Entity Address { 12 | String street 13 | int houseNumber 14 | String city 15 | 16 | def updateCity(String city); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/mdsl-use-application-commands-2.mdsl: -------------------------------------------------------------------------------- 1 | // Generated from DDD Context Map. 2 | API description CustomerManagementContextAPI 3 | 4 | 5 | data type CreateCustomerCommand { "firstName":D, "lastName":D } 6 | 7 | command type CreateCustomerCommand 8 | 9 | endpoint type Application 10 | exposes 11 | operation CreateCustomerCommand 12 | expecting 13 | payload CreateCustomerCommand 14 | endpoint type Customers 15 | // Your aggregate root does not specify any methods/operations. Therefore we can not generate any endpoint operations. 16 | 17 | 18 | API provider CustomerManagementContextProvider 19 | offers Application 20 | at endpoint location "http://localhost:8000" 21 | via protocol "tbd" // The protocol is generated if you specify the implementation technology in CML 22 | offers Customers 23 | at endpoint location "http://localhost:8001" 24 | via protocol "tbd" // The protocol is generated if you specify the implementation technology in CML 25 | 26 | 27 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/mdsl-use-application-name.cml: -------------------------------------------------------------------------------- 1 | 2 | BoundedContext CustomerManagementContext { 3 | Application MyAppLayer { 4 | Service MyService { 5 | String anotherMethod(int param); 6 | AnyReturnType yetAnotherMethod(int param1, boolean param2); 7 | } 8 | 9 | Service AnotherService { 10 | methodWithParameterTree(@Address address); 11 | } 12 | } 13 | 14 | Aggregate Customers { 15 | Entity Address { 16 | String street 17 | int houseNumber 18 | String city 19 | 20 | def updateCity(String city); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/mdsl-use-application-service-operations-1.cml: -------------------------------------------------------------------------------- 1 | 2 | BoundedContext CustomerManagementContext { 3 | Application { 4 | Service MyService { 5 | String anotherMethod(int param); 6 | AnyReturnType yetAnotherMethod(int param1, boolean param2); 7 | } 8 | 9 | Service AnotherService { 10 | methodWithParameterTree(@Address address); 11 | } 12 | } 13 | 14 | Aggregate Customers { 15 | Entity Address { 16 | String street 17 | int houseNumber 18 | String city 19 | 20 | def updateCity(String city); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/mdsl-use-application-service-operations-3.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagementContext, ContractManagementContext, JustAnotherContext 3 | 4 | CustomerManagementContext -> ContractManagementContext { 5 | implementationTechnology = "RESTful HTTP" 6 | } 7 | 8 | // this relationship must be ignored, because it has no exposedAggregates 9 | CustomerManagementContext -> JustAnotherContext 10 | 11 | // duplicate relationship should not change the result 12 | CustomerManagementContext -> ContractManagementContext { 13 | } 14 | 15 | } 16 | 17 | BoundedContext ContractManagementContext 18 | 19 | BoundedContext CustomerManagementContext { 20 | Application { 21 | Service MyService { 22 | String anotherMethod(int param); 23 | AnyReturnType yetAnotherMethod(int param1, boolean param2); 24 | } 25 | 26 | Service AnotherService { 27 | methodWithParameterTree(Address address); 28 | } 29 | } 30 | 31 | } 32 | 33 | BoundedContext JustAnotherContext 34 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/no-exposed-aggregates.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagementContext, ContractManagementContext 3 | 4 | CustomerManagementContext -> ContractManagementContext { 5 | } 6 | 7 | } 8 | 9 | BoundedContext ContractManagementContext 10 | 11 | BoundedContext CustomerManagementContext { 12 | 13 | Aggregate Customers { 14 | Entity Customer { 15 | aggregateRoot 16 | 17 | def void updateAddress(Address address); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/no-operation.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagementContext, ContractManagementContext 3 | 4 | CustomerManagementContext -> ContractManagementContext { 5 | exposedAggregates = Customers 6 | } 7 | 8 | } 9 | 10 | BoundedContext ContractManagementContext 11 | 12 | BoundedContext CustomerManagementContext { 13 | 14 | Aggregate Customers { 15 | Entity Customer { 16 | aggregateRoot 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/no-upstream-downstream-relationship.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagementContext, ContractManagementContext 3 | 4 | } 5 | 6 | BoundedContext ContractManagementContext 7 | 8 | BoundedContext CustomerManagementContext { 9 | 10 | Aggregate Customers { 11 | Entity Customer { 12 | aggregateRoot 13 | 14 | def void updateAddress(Address address); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/overwrite-with-preserving-protected-region-test.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagementContext, ContractManagementContext, JustAnotherContext 3 | 4 | CustomerManagementContext -> ContractManagementContext { 5 | exposedAggregates = Customers 6 | implementationTechnology = "RESTful HTTP" 7 | } 8 | 9 | // this relationship must be ignored, because it has no exposedAggregates 10 | CustomerManagementContext -> JustAnotherContext 11 | 12 | // duplicate relationship should not change the result 13 | CustomerManagementContext -> ContractManagementContext { 14 | exposedAggregates = Customers 15 | } 16 | 17 | } 18 | 19 | BoundedContext ContractManagementContext 20 | 21 | BoundedContext CustomerManagementContext { 22 | 23 | Aggregate Customers { 24 | Entity Customer { 25 | aggregateRoot 26 | 27 | def ReturnType updateAddress(Address address); 28 | def void anotherMethod(Parameter1Type param1, Parameter2Type param2); 29 | } 30 | } 31 | } 32 | 33 | BoundedContext JustAnotherContext 34 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/protected-region-null-test.mdsl: -------------------------------------------------------------------------------- 1 | // Generated from DDD Context Map. 2 | API description CustomerManagementContextAPI 3 | 4 | data type Address P 5 | data type Parameter1Type P 6 | data type Parameter2Type P 7 | data type ReturnType P 8 | data type anotherMethodParameter { "param1":Parameter1Type, "param2":Parameter2Type } 9 | 10 | endpoint type Customers 11 | exposes 12 | operation updateAddress 13 | expecting 14 | payload Address 15 | delivering 16 | payload ReturnType 17 | operation anotherMethod 18 | expecting 19 | payload anotherMethodParameter 20 | 21 | API provider CustomerManagementContextProvider 22 | offers Customers 23 | at endpoint location "http://localhost:8000" 24 | via protocol "RESTful HTTP" 25 | 26 | API client ContractManagementContextClient 27 | consumes Customers 28 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/protected-region-reader-test.mdsl: -------------------------------------------------------------------------------- 1 | // Generated from DDD Context Map. 2 | API description CustomerManagementContextAPI 3 | 4 | // ** BEGIN PROTECTED REGION for data types 5 | data type Parameter1Type P 6 | data type YetAnotherDataType P 7 | // ** END PROTECTED REGION for data types 8 | 9 | data type Address P 10 | data type Parameter1Type P 11 | data type Parameter2Type P 12 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/same-data-type-in-multiple-methods.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagementContext, ContractManagementContext 3 | 4 | CustomerManagementContext -> ContractManagementContext { 5 | exposedAggregates = Customers 6 | implementationTechnology = "RESTful HTTP" 7 | } 8 | 9 | } 10 | 11 | BoundedContext ContractManagementContext 12 | 13 | BoundedContext CustomerManagementContext { 14 | 15 | Aggregate Customers { 16 | Entity Customer { 17 | aggregateRoot 18 | 19 | def void aMethod(Address address); 20 | def void anotherMethod(Address address); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/mdsl/use-references-in-methods.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagementContext, ContractManagementContext, JustAnotherContext 3 | 4 | CustomerManagementContext -> ContractManagementContext { 5 | exposedAggregates = Customers 6 | implementationTechnology = "RESTful HTTP" 7 | } 8 | 9 | // this relationship must be ignored, because it has no exposedAggregates 10 | CustomerManagementContext -> JustAnotherContext 11 | 12 | } 13 | 14 | BoundedContext ContractManagementContext 15 | 16 | BoundedContext CustomerManagementContext { 17 | 18 | Aggregate Customers { 19 | Entity Customer { 20 | aggregateRoot 21 | 22 | def @ReturnType updateAddress(@Address address); 23 | } 24 | 25 | Entity Address 26 | Entity ReturnType 27 | } 28 | } 29 | 30 | BoundedContext JustAnotherContext 31 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/plantuml/application-layer-test-1.cml: -------------------------------------------------------------------------------- 1 | 2 | 3 | BoundedContext TestContext { 4 | Application { 5 | Command StartCommand 6 | Command EndCommand 7 | 8 | Flow TestFlow { 9 | command StartCommand emits event FirstEvent + SecondEvent 10 | event FirstEvent triggers command EndCommand 11 | event SecondEvent triggers command EndCommand 12 | } 13 | } 14 | Aggregate TestAggregate { 15 | DomainEvent FirstEvent 16 | DomainEvent SecondEvent 17 | } 18 | } 19 | 20 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/plantuml/class-diagram-generation-services-test-1.cml: -------------------------------------------------------------------------------- 1 | BoundedContext InsuranceQuotes { 2 | 3 | Aggregate QuoteRequest { 4 | Entity QuoteRequest { 5 | aggregateRoot 6 | } 7 | 8 | enum RequestState { 9 | aggregateLifecycle 10 | REQUEST_SUBMITTED, QUOTE_RECEIVED, REQUEST_REJECTED, QUOTE_ACCEPTED, QUOTE_REJECTED, QUOTE_EXPIRED, POLICY_CREATED 11 | } 12 | 13 | 14 | } 15 | 16 | Aggregate AnotherAggregateThatMustBeIgnored { 17 | enum States { 18 | REQUEST_SUBMITTED, QUOTE_RECEIVED, REQUEST_REJECTED, QUOTE_ACCEPTED, QUOTE_REJECTED, QUOTE_EXPIRED, POLICY_CREATED 19 | } 20 | } 21 | 22 | Service QuoteRequestService { 23 | void testOp() : read-only; 24 | 25 | void submitRequest(@QuoteRequest request) : write; 26 | void rejectRequest(@QuoteRequest request): write; 27 | void receiveQuote(@QuoteRequest request) : write; 28 | void checkQuote(@QuoteRequest request) : write; 29 | void createPolicy(@QuoteRequest request) : write; 30 | } 31 | 32 | 33 | } -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/plantuml/operations-domain-object-types-test.cml: -------------------------------------------------------------------------------- 1 | BoundedContext CustomerManagementContext { 2 | 3 | Aggregate Customers { 4 | Entity Customer { 5 | aggregateRoot 6 | 7 | def ReturnType updateAddress(@Address address); 8 | } 9 | 10 | Entity Address { 11 | String name 12 | } 13 | } 14 | } 15 | 16 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/plantuml/operations-with-list-types-test.cml: -------------------------------------------------------------------------------- 1 | BoundedContext CustomerManagementContext { 2 | 3 | Aggregate Customers { 4 | Entity Customer { 5 | aggregateRoot 6 | 7 | def List updateAddress(@Address address); 8 | def void anotherMethod(Set<@Address> addresses); 9 | } 10 | 11 | Entity Address { 12 | String name 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/plantuml/operations-with-no-return-value.cml: -------------------------------------------------------------------------------- 1 | BoundedContext CustomerManagementContext { 2 | 3 | Aggregate Customers { 4 | Entity Customer { 5 | aggregateRoot 6 | 7 | def void anotherMethod(String param); 8 | def yetAnotherMethod(String param); 9 | } 10 | 11 | Entity Address { 12 | String name 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/plantuml/services-test.cml: -------------------------------------------------------------------------------- 1 | BoundedContext CustomerManagementContext { 2 | 3 | Module MyMod { 4 | Service MyModuleService { 5 | void myModuleServiceMethod(); 6 | } 7 | } 8 | 9 | Aggregate Customers { 10 | Entity Customer { 11 | aggregateRoot 12 | 13 | def ReturnType updateAddress(Address address); 14 | } 15 | 16 | Service MyService { 17 | ReturnType serviceMethod(Address address); 18 | } 19 | } 20 | 21 | } 22 | 23 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/quickfixes/create-missing-bounded-context-test-1.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains MissingContext // context does not exist 3 | } 4 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/quickfixes/extract-vo-for-primitive-id-test-1.cml: -------------------------------------------------------------------------------- 1 | BoundedContext TestContext { 2 | Aggregate TestAggregate { 3 | Entity Customer { 4 | String customerId 5 | String firstname 6 | String lastname 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/quickfixes/extract-vo-for-primitive-id-test-2.cml: -------------------------------------------------------------------------------- 1 | BoundedContext TestContext { 2 | Module TestModule { 3 | Entity Customer { 4 | String customerId 5 | String firstname 6 | String lastname 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/add-ethical-value-assessment-1.cml: -------------------------------------------------------------------------------- 1 | UserStory SameDayDelivery_1 { 2 | As a "Shopper" I want to "instantly receive" an "Order" so that "I am efficient" 3 | } -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/change-partnership-to-upstream-downstream-precondition-checks-input.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagement, AnotherContext 3 | 4 | CustomerManagement [P]<->[P] AnotherContext 5 | } 6 | 7 | BoundedContext CustomerManagement 8 | BoundedContext AnotherContext 9 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/change-partnership-to-upstream-downstream-precondition-checks-multiple-rels-input.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagement, AnotherContext 3 | 4 | CustomerManagement [P]<->[P] AnotherContext 5 | 6 | CustomerManagement [P]<->[P] AnotherContext 7 | } 8 | 9 | BoundedContext CustomerManagement 10 | BoundedContext AnotherContext 11 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/change-partnership-to-upstream-downstream-precondition-checks-no-rel-input.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagement, AnotherContext 3 | 4 | } 5 | 6 | BoundedContext CustomerManagement 7 | BoundedContext AnotherContext 8 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/change-partnership-to-upstream-downstream-test-1-input.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagement, AnotherContext 3 | 4 | CustomerManagement [P]<->[P] AnotherContext 5 | } 6 | 7 | BoundedContext CustomerManagement 8 | BoundedContext AnotherContext 9 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/create-stakeholder-for-roleinstory-1.cml: -------------------------------------------------------------------------------- 1 | 2 | UserStory SampleStory1 { 3 | As a "SampleUserOfFutureSystem" 4 | I want to "manipulate" a "BusinessObject" with its "property1", "property2" 5 | so that "I am more efficient" 6 | } 7 | 8 | UserStory SampleStory2 { 9 | As a "Sample User Of Future System" 10 | I want to "manipulate" a "BusinessObject" with its "property1", "property2" 11 | so that "I am more efficient" 12 | } -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/create-value-for-stakeholder-1.cml: -------------------------------------------------------------------------------- 1 | 2 | Stakeholders { 3 | Stakeholder Tester 4 | } 5 | 6 | ValueRegister ExistingRegister { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/create-value-for-stakeholder-2.cml: -------------------------------------------------------------------------------- 1 | 2 | Stakeholders { 3 | Stakeholder Tester 4 | } 5 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/create-value-register-for-bounded-context-1.cml: -------------------------------------------------------------------------------- 1 | 2 | BoundedContext TestContextWithRegister 3 | 4 | BoundedContext TestContextWithoutRegister {} 5 | 6 | ValueRegister ExistingRegister for TestContextWithRegister { 7 | } 8 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/derive-bc-from-subdomain-duplicate-aggregate-name-test-1-input.cml: -------------------------------------------------------------------------------- 1 | BoundedContext JustAnotherContext { 2 | Aggregate CustomerDomainAggregate // generated name already exists 3 | } 4 | 5 | Domain InsuranceDomain { 6 | Subdomain CustomerDomain { 7 | Entity Customer 8 | 9 | Service CustomerService { 10 | createCustomer; 11 | testMethod; 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/derive-bc-from-subdomain-entity-attributes-test-1-input.cml: -------------------------------------------------------------------------------- 1 | BoundedContext NewTestBC { 2 | Aggregate CustomerDomainAggregate { 3 | Entity Customer { 4 | String firstName // already existing attribute 5 | - RefObj reference1 6 | } 7 | Entity RefObj 8 | } 9 | } 10 | 11 | Domain InsuranceDomain { 12 | Subdomain CustomerDomain { 13 | Entity Customer { 14 | String firstName 15 | String lastName 16 | - RefObj reference1 17 | - RefObj reference2 18 | } 19 | Entity RefObj 20 | 21 | Service CustomerService { 22 | createCustomer 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/derive-bc-from-subdomain-test-1-input.cml: -------------------------------------------------------------------------------- 1 | Domain InsuranceDomain { 2 | Subdomain CustomerDomain { 3 | Entity Customer 4 | 5 | Service CustomerService { 6 | createCustomer; 7 | testMethod; 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/derive-bc-from-subdomain-test-10-input.cml: -------------------------------------------------------------------------------- 1 | BoundedContext NewTestBC implements CustomerDomain, JustAnotherDomain { 2 | Module TestModule { 3 | Aggregate CustomerDomainAggregate { 4 | 5 | } 6 | } 7 | } 8 | 9 | Domain InsuranceDomain { 10 | Subdomain CustomerDomain supports Customer_Creation { 11 | Entity Customer 12 | 13 | Service CustomerService { 14 | createCustomer; 15 | readCustomer; 16 | } 17 | } 18 | } 19 | 20 | Domain JustAnotherDomain 21 | 22 | UserStory Customer_Creation { 23 | As a "Insurance Employee" 24 | I want to "create" a "Customer" 25 | I want to "read" a "Customer" 26 | so that "" 27 | } 28 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/derive-bc-from-subdomain-test-2-input.cml: -------------------------------------------------------------------------------- 1 | BoundedContext NewTestBC // BC already existing 2 | 3 | Domain InsuranceDomain { 4 | Subdomain CustomerDomain { 5 | Entity Customer 6 | 7 | Service CustomerService { 8 | createCustomer 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/derive-bc-from-subdomain-test-3-input.cml: -------------------------------------------------------------------------------- 1 | BoundedContext NewTestBC { 2 | Aggregate CustomerDomainAggregate // Aggregate already existing 3 | } 4 | 5 | Domain InsuranceDomain { 6 | Subdomain CustomerDomain { 7 | Entity Customer 8 | 9 | Service CustomerService { 10 | createCustomer 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/derive-bc-from-subdomain-test-4-input.cml: -------------------------------------------------------------------------------- 1 | BoundedContext NewTestBC { 2 | Aggregate CustomerDomainAggregate { 3 | Entity Customer // Entity already existing 4 | } 5 | } 6 | 7 | Domain InsuranceDomain { 8 | Subdomain CustomerDomain { 9 | Entity Customer 10 | 11 | Service CustomerService { 12 | createCustomer 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/derive-bc-from-subdomain-test-5-input.cml: -------------------------------------------------------------------------------- 1 | BoundedContext NewTestBC { 2 | Aggregate CustomerDomainAggregate { 3 | Entity Customer { 4 | @CustomerId customerId // id attr already existing 5 | } 6 | ValueObject CustomerId { 7 | Long id 8 | } 9 | } 10 | } 11 | 12 | Domain InsuranceDomain { 13 | Subdomain CustomerDomain { 14 | Entity Customer 15 | 16 | Service CustomerService { 17 | createCustomer 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/derive-bc-from-subdomain-test-6-input.cml: -------------------------------------------------------------------------------- 1 | BoundedContext NewTestBC { 2 | Aggregate CustomerDomainAggregate { 3 | Service CustomerService // service already existing 4 | } 5 | } 6 | 7 | Domain InsuranceDomain { 8 | Subdomain CustomerDomain { 9 | Entity Customer 10 | 11 | Service CustomerService { 12 | createCustomer; 13 | testOperation; 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/derive-bc-from-subdomain-test-7-input.cml: -------------------------------------------------------------------------------- 1 | BoundedContext NewTestBC { 2 | Aggregate CustomerDomainAggregate { 3 | Service CustomerService { 4 | ReturnValue testMethod(ParamType param); 5 | } 6 | } 7 | } 8 | 9 | Domain InsuranceDomain { 10 | Subdomain CustomerDomain { 11 | Entity Customer 12 | 13 | Service CustomerService { 14 | createCustomer; 15 | testMethod; 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/derive-bc-from-subdomain-test-8-input.cml: -------------------------------------------------------------------------------- 1 | BoundedContext ExistingContext { 2 | Aggregate ExistingAggregate { 3 | Entity Customer // a context with a Customer entity already exists here 4 | } 5 | } 6 | 7 | Domain InsuranceDomain { 8 | Subdomain CustomerDomain { 9 | Entity Customer 10 | 11 | Service CustomerService { 12 | createCustomer; 13 | testMethod; 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/derive-bc-from-subdomain-test-9-input.cml: -------------------------------------------------------------------------------- 1 | Domain InsuranceDomain { 2 | Subdomain CustomerDomain supports Customer_Creation { 3 | Entity Customer 4 | 5 | Service CustomerService { 6 | createCustomer; 7 | readCustomer; 8 | } 9 | } 10 | } 11 | 12 | UserStory Customer_Creation { 13 | As a "Insurance Employee" 14 | I want to "create" a "Customer" 15 | I want to "read" a "Customer" 16 | so that "" 17 | } 18 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/derive-frontend-backend-from-feature-test-1-input.cml: -------------------------------------------------------------------------------- 1 | BoundedContext TestFeature { 2 | type FEATURE 3 | } 4 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/derive-frontend-backend-from-feature-test-2-input.cml: -------------------------------------------------------------------------------- 1 | BoundedContext TestSystem { 2 | type SYSTEM 3 | } 4 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/derive-frontend-backend-from-feature-test-5-input.cml: -------------------------------------------------------------------------------- 1 | ContextMap testMap { // test with existing context map 2 | } 3 | 4 | BoundedContext TestFeature { 5 | type FEATURE 6 | 7 | Module TestModule { // existing module 8 | Aggregate TestAggregateInModule { 9 | Entity TestEntityInModule { 10 | String attr1 11 | - TestEntity ref1 12 | } 13 | } 14 | } 15 | 16 | Aggregate TestAggregate { // existing aggregate 17 | Entity TestEntity { 18 | String attr1 19 | } 20 | } 21 | 22 | } 23 | 24 | BoundedContext JustSomeContext { 25 | Aggregate TestAggregateInModuleBackend // simulate duplicate name problem here 26 | } 27 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/derive-frontend-backend-from-feature-test-6-input.cml: -------------------------------------------------------------------------------- 1 | BoundedContext TestSystem { 2 | type APPLICATION 3 | } 4 | 5 | BoundedContext TestSystemFrontend // default frontend name already exists 6 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/derive-frontend-backend-from-feature-test-6-output.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains TestFrontend 3 | contains TestBackend 4 | 5 | TestBackend [ PL ] -> [ ACL ] TestFrontend 6 | } 7 | 8 | BoundedContext TestSystem { 9 | type APPLICATION 10 | } 11 | 12 | BoundedContext TestSystemFrontend // default frontend name already exists 13 | 14 | BoundedContext TestBackend { 15 | type SYSTEM 16 | } 17 | 18 | BoundedContext TestFrontend { 19 | type SYSTEM 20 | } 21 | 22 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/derive-frontend-backend-from-feature-test-7-input.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains TestFrontend 3 | contains TestBackend 4 | 5 | TestBackend [ PL ] -> [ ACL ] TestFrontend 6 | 7 | } 8 | 9 | BoundedContext TestSystem { 10 | type APPLICATION 11 | } 12 | 13 | BoundedContext TestBackend { 14 | type SYSTEM 15 | } 16 | 17 | BoundedContext TestFrontend { 18 | type SYSTEM 19 | } 20 | 21 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/derive-frontend-backend-from-feature-test-7-output.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains TestFrontend 3 | contains TestBackend 4 | 5 | TestBackend [ PL ] -> [ ACL ] TestFrontend 6 | } 7 | 8 | BoundedContext TestSystem { 9 | type APPLICATION 10 | } 11 | 12 | BoundedContext TestBackend { 13 | type SYSTEM 14 | } 15 | 16 | BoundedContext TestFrontend { 17 | type SYSTEM 18 | } 19 | 20 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/derive-subdomain-from-user-story-test-1-input.cml: -------------------------------------------------------------------------------- 1 | Domain InsuranceDomain { 2 | 3 | } 4 | 5 | UserStory US1_Create { 6 | As an "Insurance Employee" I want to create a "Customer" so that "I am able to manage the customer data and offer contracts." 7 | } 8 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/derive-subdomain-from-user-story-test-10-input.cml: -------------------------------------------------------------------------------- 1 | Domain InsuranceDomain { 2 | Subdomain Customers { 3 | Entity Customer 4 | } 5 | } 6 | 7 | UserStory US1_Create { 8 | As an "Insurance Employee" I want to create an "Address" with its "city", "postalcode" so that "I am able to manage the customer data and offer contracts." 9 | } 10 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/derive-subdomain-from-user-story-test-11-input.cml: -------------------------------------------------------------------------------- 1 | Domain InsuranceDomain { 2 | Subdomain Customers { 3 | Entity Customer 4 | } 5 | } 6 | 7 | UserStory US1_Create { 8 | As an "Insurance Employee" I want to create an "Address" with its "city", "postalcode" for a "" so that "I am able to manage the customer data and offer contracts." 9 | } 10 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/derive-subdomain-from-user-story-test-12-input.cml: -------------------------------------------------------------------------------- 1 | Domain InsuranceDomain { 2 | Subdomain Customers { 3 | Entity Customer { 4 | - List
addressList // reference already exists 5 | } 6 | Entity Address 7 | } 8 | } 9 | 10 | UserStory US1_Create { 11 | As an "Insurance Employee" I want to create an "Address" with its "city", "postalcode" for a "Customer" so that "I am able to manage the customer data and offer contracts." 12 | } 13 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/derive-subdomain-from-user-story-test-2-input.cml: -------------------------------------------------------------------------------- 1 | UserStory US1_Create { 2 | As an "Insurance Employee" I want to create a "Customer" so that "I am able to manage the customer data and offer contracts." 3 | } 4 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/derive-subdomain-from-user-story-test-3-input.cml: -------------------------------------------------------------------------------- 1 | Domain InsuranceDomain { 2 | Subdomain Customers { 3 | 4 | } 5 | } 6 | 7 | UserStory US1_Create { 8 | As an "Insurance Employee" I want to create a "Customer" so that "I am able to manage the customer data and offer contracts." 9 | } 10 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/derive-subdomain-from-user-story-test-4-input.cml: -------------------------------------------------------------------------------- 1 | Domain InsuranceDomain { 2 | 3 | } 4 | 5 | UserStory US1_Create { 6 | As an "Insurance Employee" 7 | I want to create a "Customer" 8 | I want to create a "" // this one will be ignored 9 | so that "I am able to manage the customer data and offer contracts." 10 | } 11 | 12 | UserStory Story_to_be_Ignored { 13 | As an "Insurance Employee" I want to create a "" so that "I am able to manage the customer data and offer contracts." 14 | } 15 | 16 | // use case without feature: 17 | UseCase UseCase_to_be_Ignored { 18 | actor "Insurance Employee" 19 | benefit "..." 20 | } 21 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/derive-subdomain-from-user-story-test-5-input.cml: -------------------------------------------------------------------------------- 1 | Domain InsuranceDomain { 2 | Subdomain Customers { 3 | Entity Customer 4 | Service US1_CreateService 5 | } 6 | } 7 | 8 | UserStory US1_Create { 9 | As an "Insurance Employee" I want to create a "Customer" so that "I am able to manage the customer data and offer contracts." 10 | } 11 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/derive-subdomain-from-user-story-test-6-input.cml: -------------------------------------------------------------------------------- 1 | Domain InsuranceDomain { 2 | Subdomain Customers { 3 | Entity Customer 4 | Service US1_CreateService { 5 | createCustomer; 6 | } 7 | } 8 | } 9 | 10 | UserStory US1_Create { 11 | As an "Insurance Employee" I want to create a "Customer" so that "I am able to manage the customer data and offer contracts." 12 | } 13 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/derive-subdomain-from-user-story-test-7-input.cml: -------------------------------------------------------------------------------- 1 | Domain InsuranceDomain { 2 | 3 | } 4 | 5 | UserStory US1_Create { 6 | As an "Insurance Employee" I want to create a "Customer" with its "firstname", "lastname" so that "I am able to manage the customer data and offer contracts." 7 | } 8 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/derive-subdomain-from-user-story-test-8-input.cml: -------------------------------------------------------------------------------- 1 | Domain InsuranceDomain { 2 | Subdomain Customers { 3 | Entity Customer { // entity customer already exists 4 | String firstname // one of the attributes already exists 5 | } 6 | } 7 | } 8 | 9 | // includes empty attribute name string that must be ignored: 10 | UserStory US1_Create { 11 | As an "Insurance Employee" I want to create a "Customer" with its "Firstname", "Lastname", "" so that "I am able to manage the customer data and offer contracts." 12 | } 13 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/derive-subdomain-from-user-story-test-9-input.cml: -------------------------------------------------------------------------------- 1 | Domain InsuranceDomain { 2 | Subdomain Customers { 3 | 4 | } 5 | } 6 | 7 | UserStory US1_Create { 8 | As an "Insurance Employee" I want to create an "Address" with its "city", "postalcode" for a "Customer" so that "I am able to manage the customer data and offer contracts." 9 | } 10 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/derive-subdomain-from-user-story-test-existing-dvs-1.cml: -------------------------------------------------------------------------------- 1 | Domain InsuranceDomain { 2 | Subdomain Customers { 3 | domainVisionStatement "existing dvs 1; existing dvs 2" 4 | 5 | Entity Customer 6 | Service US1_CreateService 7 | } 8 | } 9 | 10 | UserStory US1_Create { 11 | As an "Insurance Employee" I want to create a "Customer" so that "I am able to manage the customer data and offer contracts." 12 | } 13 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/extract-aggregates-by-nfr-test-1-input.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagement, AnotherContext 3 | 4 | CustomerManagement -> AnotherContext 5 | } 6 | 7 | BoundedContext CustomerManagement { 8 | Aggregate Customers { 9 | Entity Customer{ 10 | String firstName 11 | String familyName 12 | } 13 | Entity Account { 14 | String iban 15 | String bankName 16 | } 17 | } 18 | 19 | Aggregate Addresses { 20 | Entity Address { 21 | String street 22 | } 23 | } 24 | 25 | Aggregate AnotherAggregate { 26 | Entity JustAnEntity 27 | } 28 | } 29 | 30 | BoundedContext AnotherContext 31 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/extract-aggregates-by-nfr-test-2-input.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagement, AnotherContext 3 | 4 | CustomerManagement -> AnotherContext { 5 | exposedAggregates = Customers, Addresses 6 | } 7 | 8 | CustomerManagement [P]<->[P] AnotherContext 9 | } 10 | 11 | BoundedContext CustomerManagement { 12 | Aggregate Customers { 13 | Entity Customer{ 14 | String firstName 15 | String familyName 16 | } 17 | Entity Account { 18 | String iban 19 | String bankName 20 | } 21 | } 22 | 23 | Aggregate Addresses { 24 | Entity Address { 25 | String street 26 | } 27 | } 28 | 29 | Aggregate AnotherAggregate { 30 | Entity JustAnEntity 31 | } 32 | } 33 | 34 | BoundedContext AnotherContext 35 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/extract-aggregates-by-nfr-test-3-input.cml: -------------------------------------------------------------------------------- 1 | BoundedContext CustomerManagement { 2 | Aggregate Customers { 3 | Entity Customer{ 4 | String firstName 5 | String familyName 6 | } 7 | Entity Account { 8 | String iban 9 | String bankName 10 | } 11 | } 12 | 13 | Aggregate Addresses { 14 | Entity Address { 15 | String street 16 | } 17 | } 18 | 19 | Aggregate AnotherAggregate { 20 | Entity JustAnEntity 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/extract-aggregates-by-nfr-test-4-input-1.cml: -------------------------------------------------------------------------------- 1 | import "extract-aggregates-by-nfr-test-4-input-2.cml" 2 | 3 | ContextMap { 4 | contains CustomerManagement, AnotherContext 5 | 6 | CustomerManagement -> AnotherContext { 7 | exposedAggregates = Customers, Addresses 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/extract-aggregates-by-nfr-test-4-input-2.cml: -------------------------------------------------------------------------------- 1 | BoundedContext CustomerManagement { 2 | Aggregate Customers { 3 | Entity Customer{ 4 | String firstName 5 | String familyName 6 | } 7 | Entity Account { 8 | String iban 9 | String bankName 10 | } 11 | } 12 | 13 | Aggregate Addresses { 14 | Entity Address { 15 | String street 16 | } 17 | } 18 | 19 | Aggregate AnotherAggregate { 20 | Entity JustAnEntity 21 | } 22 | } 23 | 24 | BoundedContext AnotherContext 25 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/extract-aggregates-likely-to-change-test-1-input.cml: -------------------------------------------------------------------------------- 1 | BoundedContext CustomerManagement { 2 | Aggregate Customers { 3 | likelihoodForChange = OFTEN 4 | 5 | Entity Customer{ 6 | String firstName 7 | String familyName 8 | } 9 | Entity Account { 10 | String iban 11 | String bankName 12 | } 13 | } 14 | 15 | Aggregate Addresses { 16 | likelihoodForChange = OFTEN 17 | Entity Address { 18 | String street 19 | } 20 | } 21 | 22 | Aggregate AnotherAggregate { 23 | Entity JustAnEntity 24 | } 25 | } 26 | 27 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/extract-aggregates-likely-to-change-test-2-input.cml: -------------------------------------------------------------------------------- 1 | BoundedContext CustomerManagement { 2 | } 3 | 4 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/extract-aggregates-likely-to-change-test-3-input.cml: -------------------------------------------------------------------------------- 1 | BoundedContext CustomerManagement { 2 | Aggregate Customers { 3 | likelihoodForChange = OFTEN 4 | 5 | Entity Customer{ 6 | String firstName 7 | String familyName 8 | } 9 | Entity Account { 10 | String iban 11 | String bankName 12 | } 13 | } 14 | } 15 | 16 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/extract-aggregates-likely-to-change-test-4-input.cml: -------------------------------------------------------------------------------- 1 | BoundedContext CustomerManagement { 2 | Aggregate Customers { 3 | Entity Customer{ 4 | String firstName 5 | String familyName 6 | } 7 | Entity Account { 8 | String iban 9 | String bankName 10 | } 11 | } 12 | 13 | Aggregate Addresses { 14 | Entity Address { 15 | String street 16 | } 17 | } 18 | 19 | Aggregate AnotherAggregate { 20 | Entity JustAnEntity 21 | } 22 | } 23 | 24 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/extract-aggregates-likely-to-change-test-5-input.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagement, AnotherContext 3 | 4 | CustomerManagement -> AnotherContext { 5 | exposedAggregates = Customers 6 | } 7 | } 8 | 9 | BoundedContext CustomerManagement { 10 | Aggregate Customers { 11 | likelihoodForChange = OFTEN 12 | 13 | Entity Customer{ 14 | String firstName 15 | String familyName 16 | } 17 | Entity Account { 18 | String iban 19 | String bankName 20 | } 21 | } 22 | 23 | Aggregate Addresses { 24 | likelihoodForChange = OFTEN 25 | Entity Address { 26 | String street 27 | } 28 | } 29 | 30 | Aggregate AnotherAggregate { 31 | Entity JustAnEntity 32 | } 33 | } 34 | 35 | BoundedContext AnotherContext 36 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/extract-aggregates-likely-to-change-test-6-input-1.cml: -------------------------------------------------------------------------------- 1 | import "extract-aggregates-likely-to-change-test-6-input-2.cml" 2 | 3 | ContextMap { 4 | contains CustomerManagement, AnotherContext 5 | 6 | CustomerManagement -> AnotherContext { 7 | exposedAggregates = Customers 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/extract-aggregates-likely-to-change-test-6-input-2.cml: -------------------------------------------------------------------------------- 1 | BoundedContext CustomerManagement { 2 | Aggregate Customers { 3 | likelihoodForChange = OFTEN 4 | 5 | Entity Customer{ 6 | String firstName 7 | String familyName 8 | } 9 | Entity Account { 10 | String iban 11 | String bankName 12 | } 13 | } 14 | 15 | Aggregate Addresses { 16 | likelihoodForChange = OFTEN 17 | Entity Address { 18 | String street 19 | } 20 | } 21 | 22 | Aggregate AnotherAggregate { 23 | Entity JustAnEntity 24 | } 25 | } 26 | 27 | BoundedContext AnotherContext 28 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/extract-partnership-contextmap-existence-check.cml: -------------------------------------------------------------------------------- 1 | BoundedContext CustomerManagement 2 | BoundedContext AnotherContext 3 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/extract-partnership-precondition-checks-input.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagement, AnotherContext 3 | 4 | CustomerManagement [P]<->[P] AnotherContext 5 | } 6 | 7 | BoundedContext CustomerManagement 8 | BoundedContext AnotherContext 9 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/extract-partnership-precondition-checks-multiple-rels-input.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagement, AnotherContext 3 | 4 | CustomerManagement [P]<->[P] AnotherContext 5 | 6 | CustomerManagement [P]<->[P] AnotherContext 7 | } 8 | 9 | BoundedContext CustomerManagement 10 | BoundedContext AnotherContext 11 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/extract-partnership-precondition-checks-no-rel-input.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagement, AnotherContext 3 | 4 | } 5 | 6 | BoundedContext CustomerManagement 7 | BoundedContext AnotherContext 8 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/extract-partnership-test-1-input.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagement, AnotherContext 3 | 4 | CustomerManagement [P]<->[P] AnotherContext 5 | } 6 | 7 | BoundedContext CustomerManagement 8 | BoundedContext AnotherContext 9 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/extract-partnership-test-2-input.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagement, AnotherContext 3 | 4 | CustomerManagement [P]<->[P] AnotherContext 5 | } 6 | 7 | BoundedContext CustomerManagement 8 | BoundedContext AnotherContext 9 | 10 | BoundedContext CustomerManagement_AnotherContext_Partnership 11 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/extract-shared-kernel-precondition-checks-input.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagement, AnotherContext 3 | 4 | CustomerManagement [SK]<->[SK] AnotherContext 5 | } 6 | 7 | BoundedContext CustomerManagement 8 | BoundedContext AnotherContext 9 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/extract-shared-kernel-precondition-checks-multiple-rels-input.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagement, AnotherContext 3 | 4 | CustomerManagement [SK]<->[SK] AnotherContext 5 | 6 | CustomerManagement [SK]<->[SK] AnotherContext 7 | } 8 | 9 | BoundedContext CustomerManagement 10 | BoundedContext AnotherContext 11 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/extract-shared-kernel-precondition-checks-no-rel-input.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagement, AnotherContext 3 | 4 | } 5 | 6 | BoundedContext CustomerManagement 7 | BoundedContext AnotherContext 8 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/extract-shared-kernel-test-1-input.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagement, AnotherContext 3 | 4 | CustomerManagement [SK]<->[SK] AnotherContext 5 | } 6 | 7 | BoundedContext CustomerManagement 8 | BoundedContext AnotherContext 9 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/extract-shared-kernel-test-2-input.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagement, AnotherContext 3 | 4 | CustomerManagement [SK]<->[SK] AnotherContext 5 | } 6 | 7 | BoundedContext CustomerManagement 8 | BoundedContext AnotherContext 9 | 10 | BoundedContext CustomerManagement_AnotherContext_SharedKernel 11 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/extract-suggested-service-empty-model-test.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains Service_P 3 | 4 | } 5 | 6 | BoundedContext Service_P { 7 | Aggregate Aggregate_P { 8 | Entity CarrierMovement 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/extract-suggested-service-unsupported-type-test-1.cml: -------------------------------------------------------------------------------- 1 | BoundedContext Monolith { 2 | Aggregate SingleAggregate { 3 | Entity Customer { 4 | String firstname 5 | String lastname 6 | 7 | } 8 | BasicType CustomerDTO { 9 | String firstname 10 | String lastname 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/extract-suggested-service-unsupported-type-test-1_Markov_Clustering_Cut_1.cml: -------------------------------------------------------------------------------- 1 | BoundedContext Service_A { 2 | Aggregate SingleAggregate_A { 3 | BasicType CustomerDTO { 4 | String firstname 5 | String lastname 6 | } 7 | } 8 | } 9 | 10 | BoundedContext Service_B { 11 | Aggregate SingleAggregate_B { 12 | Entity Customer { 13 | String firstname 14 | String lastname 15 | 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/extract-suggested-service-unsupported-type-test-2.cml: -------------------------------------------------------------------------------- 1 | BoundedContext Monolith { 2 | Aggregate SingleAggregate { 3 | Entity Customer { 4 | String firstname 5 | String lastname 6 | 7 | } 8 | BasicType CustomerDTO { 9 | - RefVal attr1 10 | } 11 | ValueObject RefVal 12 | } 13 | } -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/extract-suggested-service-unsupported-type-test-2_Markov_Clustering_Cut_1.cml: -------------------------------------------------------------------------------- 1 | BoundedContext Service_A { 2 | Aggregate SingleAggregate_A { 3 | BasicType CustomerDTO { 4 | - RefVal attr1 5 | } 6 | ValueObject RefVal 7 | } 8 | } 9 | 10 | BoundedContext Service_B { 11 | Aggregate SingleAggregate_B { 12 | Entity Customer { 13 | String firstname 14 | String lastname 15 | 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/extract-suggested-service-with-modules-test.cml: -------------------------------------------------------------------------------- 1 | BoundedContext Monolith { 2 | Module Module1 { 3 | Entity Customer { 4 | String firstname 5 | String lastname 6 | } 7 | } 8 | Module Module2 { 9 | Entity CustomerDTO { 10 | String firstname 11 | String lastname 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/extract-suggested-service-with-modules-test_Markov_Clustering_Cut_1.cml: -------------------------------------------------------------------------------- 1 | BoundedContext Service_A { 2 | Aggregate Aggregate1 { 3 | Entity Customer { 4 | String firstname 5 | String lastname 6 | } 7 | } 8 | 9 | } 10 | BoundedContext Service_B { 11 | Aggregate Aggregate2 { 12 | Entity CustomerDTO { 13 | String firstname 14 | String lastname 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/just-an-empty-model.cml: -------------------------------------------------------------------------------- 1 | ContextMap EmptyMap { 2 | } 3 | 4 | BoundedContext TestContext 5 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/merge-aggregates-test-1-input.cml: -------------------------------------------------------------------------------- 1 | BoundedContext CustomerManagement { 2 | Aggregate Customers { 3 | Entity Customer{ 4 | String firstName 5 | String familyName 6 | } 7 | Entity Account { 8 | String iban 9 | String bankName 10 | } 11 | } 12 | 13 | Aggregate Addresses { 14 | Entity Address { 15 | String street 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/merge-aggregates-test-2-input.cml: -------------------------------------------------------------------------------- 1 | BoundedContext CustomerManagement { 2 | Module module { 3 | Aggregate Customers { 4 | Entity Customer{ 5 | String firstName 6 | String familyName 7 | } 8 | Entity Account { 9 | String iban 10 | String bankName 11 | } 12 | } 13 | 14 | Aggregate Addresses { 15 | Entity Address { 16 | String street 17 | } 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/merge-aggregates-test-3-input.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagement, AnotherContext 3 | 4 | CustomerManagement -> AnotherContext { 5 | exposedAggregates = Customers, Addresses 6 | } 7 | 8 | CustomerManagement [P]<->[P] AnotherContext 9 | 10 | } 11 | 12 | BoundedContext CustomerManagement { 13 | Aggregate Customers { 14 | Entity Customer{ 15 | String firstName 16 | String familyName 17 | } 18 | Entity Account { 19 | String iban 20 | String bankName 21 | } 22 | } 23 | Aggregate Addresses { 24 | Entity Address { 25 | String street 26 | } 27 | } 28 | } 29 | 30 | BoundedContext AnotherContext 31 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/merge-aggregates-test-4-input.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagement, AnotherContext 3 | 4 | CustomerManagement -> AnotherContext { 5 | exposedAggregates = Customers, Addresses 6 | } 7 | 8 | CustomerManagement [P]<->[P] AnotherContext 9 | 10 | } 11 | 12 | BoundedContext CustomerManagement { 13 | Aggregate Customers { 14 | Entity Customer{ 15 | String firstName 16 | String familyName 17 | } 18 | Entity Account { 19 | String iban 20 | String bankName 21 | } 22 | Entity Address { 23 | String street 24 | } 25 | } 26 | Aggregate Addresses { 27 | Entity Address { 28 | String street 29 | } 30 | } 31 | } 32 | 33 | BoundedContext AnotherContext 34 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/merge-aggregates-test-5-input.cml: -------------------------------------------------------------------------------- 1 | BoundedContext AnotherContext { 2 | Aggregate agg1 { 3 | knowledgeLevel = CONCRETE 4 | likelihoodForChange = NORMAL 5 | owner = TeamA 6 | } 7 | 8 | Aggregate agg2 { 9 | knowledgeLevel = META 10 | likelihoodForChange = OFTEN 11 | owner = TeamB 12 | } 13 | } 14 | 15 | 16 | BoundedContext TeamA { 17 | type = TEAM 18 | } 19 | 20 | BoundedContext TeamB { 21 | type = TEAM 22 | } 23 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/merge-aggregates-test-6-input.cml: -------------------------------------------------------------------------------- 1 | BoundedContext AnotherContext { 2 | Aggregate agg1 { 3 | Entity MyEntity { 4 | aggregateRoot 5 | } 6 | } 7 | 8 | Aggregate agg2 { 9 | Entity MyOtherEntity { 10 | aggregateRoot 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/merge-aggregates-test-7-input-1.cml: -------------------------------------------------------------------------------- 1 | import "merge-aggregates-test-7-input-2.cml" 2 | 3 | ContextMap { 4 | contains CustomerManagement, AnotherContext 5 | 6 | CustomerManagement -> AnotherContext { 7 | exposedAggregates = Customers, Addresses 8 | } 9 | 10 | } 11 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/merge-aggregates-test-7-input-2.cml: -------------------------------------------------------------------------------- 1 | BoundedContext CustomerManagement { 2 | Aggregate Customers { 3 | Entity Customer{ 4 | String firstName 5 | String familyName 6 | } 7 | Entity Account { 8 | String iban 9 | String bankName 10 | } 11 | } 12 | Aggregate Addresses { 13 | Entity Address { 14 | String street 15 | } 16 | } 17 | } 18 | 19 | BoundedContext AnotherContext 20 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/merge-bounded-contexts-fix-import-test-1.cml: -------------------------------------------------------------------------------- 1 | import "merge-bounded-contexts-fix-import-test-2.cml" 2 | import "merge-bounded-contexts-fix-import-test-3.cml" 3 | 4 | ContextMap testMap { 5 | contains CustomerManagement, AnotherContext 6 | 7 | CustomerManagement -> AnotherContext 8 | } 9 | 10 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/merge-bounded-contexts-fix-import-test-2.cml: -------------------------------------------------------------------------------- 1 | BoundedContext AnotherContext { 2 | Aggregate AnotherAggregate { 3 | Entity JustAnEntity 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/merge-bounded-contexts-fix-import-test-3.cml: -------------------------------------------------------------------------------- 1 | BoundedContext CustomerManagement { 2 | Aggregate Customers { 3 | Entity Customer{ 4 | String firstName 5 | String familyName 6 | } 7 | Entity Account { 8 | String iban 9 | String bankName 10 | } 11 | } 12 | 13 | Aggregate Addresses { 14 | Entity Address { 15 | String street 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/merge-bounded-contexts-fix-import-test-4.cml: -------------------------------------------------------------------------------- 1 | import "merge-bounded-contexts-fix-import-test-2.cml" 2 | 3 | BoundedContext ContextWithRef2MovedAggregate { 4 | Aggregate JustAnAggregate { 5 | Entity JustAnEntity { 6 | - JustAnEntity ref 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/merge-bounded-contexts-multiple-files-test-1.cml: -------------------------------------------------------------------------------- 1 | BoundedContext CustomerManagement { 2 | Aggregate Customers { 3 | Entity Customer{ 4 | String firstName 5 | String familyName 6 | } 7 | Entity Account { 8 | String iban 9 | String bankName 10 | } 11 | } 12 | 13 | Aggregate Addresses { 14 | Entity Address { 15 | String street 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/merge-bounded-contexts-multiple-files-test-2.cml: -------------------------------------------------------------------------------- 1 | BoundedContext AnotherContext { 2 | Aggregate AnotherAggregate { 3 | Entity JustAnEntity 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/merge-bounded-contexts-multiple-files-test-3.cml: -------------------------------------------------------------------------------- 1 | import "merge-bounded-contexts-multiple-files-test-1.cml" 2 | import "merge-bounded-contexts-multiple-files-test-2.cml" 3 | 4 | ContextMap testMap { 5 | contains CustomerManagement, AnotherContext 6 | 7 | CustomerManagement -> AnotherContext 8 | } 9 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/merge-bounded-contexts-test-1-input.cml: -------------------------------------------------------------------------------- 1 | BoundedContext CustomerManagement { 2 | Aggregate Customers { 3 | Entity Customer{ 4 | String firstName 5 | String familyName 6 | } 7 | Entity Account { 8 | String iban 9 | String bankName 10 | } 11 | } 12 | 13 | Aggregate Addresses { 14 | Entity Address { 15 | String street 16 | } 17 | } 18 | } 19 | 20 | BoundedContext AnotherContext { 21 | Aggregate AnotherAggregate { 22 | Entity JustAnEntity 23 | } 24 | } 25 | 26 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/merge-bounded-contexts-test-10-input.cml: -------------------------------------------------------------------------------- 1 | BoundedContext CustomerManagement { 2 | Aggregate Customers { 3 | Entity Customer{ 4 | String firstName 5 | String familyName 6 | } 7 | Entity Account { 8 | String iban 9 | String bankName 10 | } 11 | } 12 | 13 | Aggregate Addresses { 14 | Entity Address { 15 | String street 16 | } 17 | } 18 | } 19 | 20 | BoundedContext AnotherContext { 21 | Aggregate AnotherAggregate { 22 | Entity JustAnEntity 23 | } 24 | } 25 | 26 | BoundedContext TeamA realizes CustomerManagement { 27 | type = TEAM 28 | } 29 | 30 | BoundedContext TeamB realizes AnotherContext { 31 | type = TEAM 32 | } 33 | 34 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/merge-bounded-contexts-test-11-input.cml: -------------------------------------------------------------------------------- 1 | BoundedContext CustomerManagement { 2 | domainVisionStatement = "CustomerDomainVisionStatement" 3 | knowledgeLevel = META 4 | type = SYSTEM 5 | 6 | Aggregate Customers { 7 | Entity Customer{ 8 | String firstName 9 | String familyName 10 | } 11 | Entity Account { 12 | String iban 13 | String bankName 14 | } 15 | } 16 | 17 | Aggregate Addresses { 18 | Entity Address { 19 | String street 20 | } 21 | } 22 | } 23 | 24 | BoundedContext AnotherContext { 25 | domainVisionStatement = "AnotherDomainVisionStatement" 26 | knowledgeLevel = CONCRETE 27 | type = FEATURE 28 | 29 | Aggregate AnotherAggregate { 30 | Entity JustAnEntity 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/merge-bounded-contexts-test-2-input.cml: -------------------------------------------------------------------------------- 1 | BoundedContext CustomerManagement { 2 | Module mod1 { 3 | Aggregate Customers { 4 | Entity Customer{ 5 | String firstName 6 | String familyName 7 | } 8 | Entity Account { 9 | String iban 10 | String bankName 11 | } 12 | } 13 | 14 | Aggregate Addresses { 15 | Entity Address { 16 | String street 17 | } 18 | } 19 | } 20 | } 21 | 22 | BoundedContext AnotherContext { 23 | Module mod2 { 24 | Aggregate AnotherAggregate { 25 | Entity JustAnEntity 26 | } 27 | } 28 | } 29 | 30 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/merge-bounded-contexts-test-3-input.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagement 3 | contains AnotherContext 4 | } 5 | 6 | BoundedContext CustomerManagement { 7 | Module mod1 { 8 | Aggregate Customers { 9 | Entity Customer{ 10 | String firstName 11 | String familyName 12 | } 13 | Entity Account { 14 | String iban 15 | String bankName 16 | } 17 | } 18 | 19 | Aggregate Addresses { 20 | Entity Address { 21 | String street 22 | } 23 | } 24 | } 25 | } 26 | 27 | BoundedContext AnotherContext { 28 | Module mod2 { 29 | Aggregate AnotherAggregate { 30 | Entity JustAnEntity 31 | } 32 | } 33 | } 34 | 35 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/merge-bounded-contexts-test-4-input.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagement 3 | contains AnotherContext 4 | 5 | CustomerManagement <-> AnotherContext 6 | 7 | AnotherContext <-> CustomerManagement 8 | 9 | CustomerManagement -> AnotherContext 10 | 11 | CustomerManagement <- AnotherContext 12 | } 13 | 14 | BoundedContext CustomerManagement { 15 | Module mod1 { 16 | Aggregate Customers { 17 | Entity Customer{ 18 | String firstName 19 | String familyName 20 | } 21 | Entity Account { 22 | String iban 23 | String bankName 24 | } 25 | } 26 | 27 | Aggregate Addresses { 28 | Entity Address { 29 | String street 30 | } 31 | } 32 | } 33 | } 34 | 35 | BoundedContext AnotherContext { 36 | Module mod2 { 37 | Aggregate AnotherAggregate { 38 | Entity JustAnEntity 39 | } 40 | } 41 | } 42 | 43 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/merge-bounded-contexts-test-5-input.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains AnotherContext 3 | contains DeptColletion 4 | 5 | DeptColletion -> AnotherContext 6 | DeptColletion <- AnotherContext 7 | } 8 | 9 | BoundedContext CustomerManagement { 10 | Aggregate Customers { 11 | Entity Customer{ 12 | String firstName 13 | String familyName 14 | } 15 | Entity Account { 16 | String iban 17 | String bankName 18 | } 19 | } 20 | 21 | Aggregate Addresses { 22 | Entity Address { 23 | String street 24 | } 25 | } 26 | } 27 | 28 | BoundedContext DeptColletion { 29 | Aggregate Depts { 30 | Entity Dept 31 | } 32 | } 33 | 34 | BoundedContext AnotherContext { 35 | Aggregate AnotherAggregate { 36 | Entity JustAnEntity 37 | } 38 | } 39 | 40 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/merge-bounded-contexts-test-6-input.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains AnotherContext 3 | contains DeptColletion 4 | 5 | DeptColletion <-> AnotherContext 6 | AnotherContext <-> DeptColletion 7 | } 8 | 9 | BoundedContext CustomerManagement { 10 | Aggregate Customers { 11 | Entity Customer{ 12 | String firstName 13 | String familyName 14 | } 15 | Entity Account { 16 | String iban 17 | String bankName 18 | } 19 | } 20 | 21 | Aggregate Addresses { 22 | Entity Address { 23 | String street 24 | } 25 | } 26 | } 27 | 28 | BoundedContext DeptColletion { 29 | Aggregate Depts { 30 | Entity Dept 31 | } 32 | } 33 | 34 | BoundedContext AnotherContext { 35 | Aggregate AnotherAggregate { 36 | Entity JustAnEntity 37 | } 38 | } 39 | 40 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/merge-bounded-contexts-test-7-input.cml: -------------------------------------------------------------------------------- 1 | BoundedContext CustomerManagement { 2 | implementationTechnology = "Java" 3 | 4 | Aggregate Customers { 5 | Entity Customer{ 6 | String firstName 7 | String familyName 8 | } 9 | Entity Account { 10 | String iban 11 | String bankName 12 | } 13 | } 14 | 15 | Aggregate Addresses { 16 | Entity Address { 17 | String street 18 | } 19 | } 20 | } 21 | 22 | BoundedContext AnotherContext { 23 | implementationTechnology = "Scala" 24 | 25 | Aggregate AnotherAggregate { 26 | Entity JustAnEntity 27 | } 28 | } 29 | 30 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/merge-bounded-contexts-test-8-input.cml: -------------------------------------------------------------------------------- 1 | BoundedContext CustomerManagement { 2 | implementationTechnology = "" 3 | 4 | Aggregate Customers { 5 | Entity Customer{ 6 | String firstName 7 | String familyName 8 | } 9 | Entity Account { 10 | String iban 11 | String bankName 12 | } 13 | } 14 | 15 | Aggregate Addresses { 16 | Entity Address { 17 | String street 18 | } 19 | } 20 | } 21 | 22 | BoundedContext AnotherContext { 23 | implementationTechnology = "" 24 | 25 | Aggregate AnotherAggregate { 26 | Entity JustAnEntity 27 | } 28 | } 29 | 30 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/merge-bounded-contexts-test-9-input.cml: -------------------------------------------------------------------------------- 1 | BoundedContext CustomerManagement { 2 | Aggregate Customers { 3 | Entity Customer{ 4 | String firstName 5 | String familyName 6 | } 7 | Entity Account { 8 | String iban 9 | String bankName 10 | } 11 | } 12 | 13 | Aggregate Addresses { 14 | Entity Address { 15 | String street 16 | } 17 | } 18 | } 19 | 20 | BoundedContext AnotherContext { 21 | Aggregate AnotherAggregate { 22 | Entity JustAnEntity 23 | } 24 | } 25 | 26 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/move-stakeholder-to-group-1.cml: -------------------------------------------------------------------------------- 1 | 2 | Stakeholders { 3 | Stakeholder Tester 4 | } 5 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/move-stakeholder-to-group-2.cml: -------------------------------------------------------------------------------- 1 | 2 | Stakeholders { 3 | StakeholderGroup Testers { 4 | Stakeholder Tester 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/split-agg-by-entities-test-1-input.cml: -------------------------------------------------------------------------------- 1 | BoundedContext CustomerManagement { 2 | Aggregate Customers { 3 | Entity Customer{ 4 | String firstName 5 | String familyName 6 | } 7 | Entity Account { 8 | String iban 9 | String bankName 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/split-agg-by-entities-test-2-input.cml: -------------------------------------------------------------------------------- 1 | BoundedContext CustomerManagement { 2 | Module test { 3 | Aggregate Customers { 4 | Entity Customer{ 5 | String firstName 6 | String familyName 7 | } 8 | Entity Account { 9 | String iban 10 | String bankName 11 | } 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/split-agg-by-entities-test-3-input.cml: -------------------------------------------------------------------------------- 1 | ContextMap testMap { 2 | contains CustomerManagement, AnotherContext 3 | 4 | CustomerManagement -> AnotherContext { 5 | exposedAggregates = Customers 6 | } 7 | 8 | CustomerManagement [P]<->[P] AnotherContext 9 | 10 | CustomerManagement -> AnotherContext 11 | 12 | } 13 | 14 | BoundedContext CustomerManagement { 15 | Aggregate Customers { 16 | Entity Customer{ 17 | String firstName 18 | String familyName 19 | } 20 | Entity Account { 21 | String iban 22 | String bankName 23 | } 24 | } 25 | } 26 | 27 | BoundedContext AnotherContext 28 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/split-agg-by-entities-test-4-input-1.cml: -------------------------------------------------------------------------------- 1 | import "split-agg-by-entities-test-4-input-2.cml" 2 | 3 | ContextMap testMap { 4 | contains CustomerManagement, AnotherContext 5 | 6 | CustomerManagement -> AnotherContext { 7 | exposedAggregates = Customers 8 | } 9 | 10 | } 11 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/split-agg-by-entities-test-4-input-2.cml: -------------------------------------------------------------------------------- 1 | BoundedContext CustomerManagement { 2 | Aggregate Customers { 3 | Entity Customer{ 4 | String firstName 5 | String familyName 6 | } 7 | Entity Account { 8 | String iban 9 | String bankName 10 | } 11 | } 12 | } 13 | 14 | BoundedContext AnotherContext 15 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/split-bc-by-owner-test-1-input.cml: -------------------------------------------------------------------------------- 1 | BoundedContext CustomerManagement { 2 | Aggregate Customers { 3 | owner = Team1 4 | Entity Customer{ 5 | String firstName 6 | String familyName 7 | } 8 | Entity Account { 9 | String iban 10 | String bankName 11 | } 12 | } 13 | Aggregate Addresses { 14 | owner = Team2 15 | Entity Address { 16 | String street 17 | } 18 | } 19 | } 20 | 21 | BoundedContext Team1 { 22 | type = TEAM 23 | } 24 | 25 | BoundedContext Team2 { 26 | type = TEAM 27 | } 28 | 29 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/split-bc-by-owner-test-2-input.cml: -------------------------------------------------------------------------------- 1 | BoundedContext CustomerManagement { 2 | Aggregate Customers { 3 | owner = Team1 4 | Entity Customer{ 5 | String firstName 6 | String familyName 7 | } 8 | Entity Account { 9 | String iban 10 | String bankName 11 | } 12 | } 13 | Aggregate Addresses { 14 | owner = Team2 15 | Entity Address { 16 | String street 17 | } 18 | } 19 | Aggregate AnotherAgg { 20 | owner = Team1 21 | } 22 | } 23 | 24 | BoundedContext Team1 { 25 | type = TEAM 26 | } 27 | 28 | BoundedContext Team2 { 29 | type = TEAM 30 | } 31 | 32 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/split-bc-by-owner-test-3-input.cml: -------------------------------------------------------------------------------- 1 | BoundedContext CustomerManagement { 2 | Aggregate Customers { 3 | Entity Customer{ 4 | String firstName 5 | String familyName 6 | } 7 | Entity Account { 8 | String iban 9 | String bankName 10 | } 11 | } 12 | 13 | Aggregate Addresses { 14 | Entity Address { 15 | String street 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/split-bc-by-owner-test-4-input.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagement, ContractManagement 3 | 4 | CustomerManagement -> ContractManagement { 5 | exposedAggregates = Customers, Addresses 6 | } 7 | } 8 | 9 | BoundedContext CustomerManagement { 10 | Aggregate Customers { 11 | owner = Team1 12 | Entity Customer{ 13 | String firstName 14 | String familyName 15 | } 16 | Entity Account { 17 | String iban 18 | String bankName 19 | } 20 | } 21 | Aggregate Addresses { 22 | owner = Team2 23 | Entity Address { 24 | String street 25 | } 26 | } 27 | } 28 | 29 | BoundedContext ContractManagement 30 | 31 | BoundedContext Team1 { 32 | type = TEAM 33 | } 34 | 35 | BoundedContext Team2 { 36 | type = TEAM 37 | } 38 | 39 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/split-bc-by-owner-test-5-input-1.cml: -------------------------------------------------------------------------------- 1 | import "split-bc-by-owner-test-5-input-2.cml" 2 | 3 | ContextMap { 4 | contains CustomerManagement, ContractManagement 5 | 6 | CustomerManagement -> ContractManagement { 7 | exposedAggregates = Customers, Addresses 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/split-bc-by-owner-test-5-input-2.cml: -------------------------------------------------------------------------------- 1 | BoundedContext CustomerManagement { 2 | Aggregate Customers { 3 | owner = Team1 4 | Entity Customer{ 5 | String firstName 6 | String familyName 7 | } 8 | Entity Account { 9 | String iban 10 | String bankName 11 | } 12 | } 13 | Aggregate Addresses { 14 | owner = Team2 15 | Entity Address { 16 | String street 17 | } 18 | } 19 | } 20 | 21 | BoundedContext ContractManagement 22 | 23 | BoundedContext Team1 { 24 | type = TEAM 25 | } 26 | 27 | BoundedContext Team2 { 28 | type = TEAM 29 | } 30 | 31 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/split-bc-by-use-cases-test-1-input.cml: -------------------------------------------------------------------------------- 1 | BoundedContext CustomerManagement { 2 | Aggregate Customers { 3 | useCases = testUseCase1 4 | Entity Customer{ 5 | String firstName 6 | String familyName 7 | } 8 | Entity Account { 9 | String iban 10 | String bankName 11 | } 12 | } 13 | 14 | Aggregate Addresses { 15 | useCases = testUseCase2 16 | Entity Address { 17 | String street 18 | } 19 | } 20 | } 21 | 22 | UseCase testUseCase1 23 | UseCase testUseCase2 24 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/split-bc-by-use-cases-test-2-input.cml: -------------------------------------------------------------------------------- 1 | BoundedContext CustomerManagement { 2 | Aggregate Customers { 3 | useCases = testUseCase1 4 | Entity Customer{ 5 | String firstName 6 | String familyName 7 | } 8 | Entity Account { 9 | String iban 10 | String bankName 11 | } 12 | } 13 | 14 | Aggregate Addresses { 15 | useCases = testUseCase2 16 | Entity Address { 17 | String street 18 | } 19 | } 20 | 21 | Aggregate JustAnotherAggregate { 22 | useCases = testUseCase1 23 | } 24 | } 25 | 26 | UseCase testUseCase1 27 | UseCase testUseCase2 28 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/split-bc-by-use-cases-test-3-input.cml: -------------------------------------------------------------------------------- 1 | BoundedContext CustomerManagement { 2 | Aggregate Customers { 3 | Entity Customer{ 4 | String firstName 5 | String familyName 6 | } 7 | Entity Account { 8 | String iban 9 | String bankName 10 | } 11 | } 12 | 13 | Aggregate Addresses { 14 | Entity Address { 15 | String street 16 | } 17 | } 18 | } 19 | 20 | UseCase testUseCase1 21 | UseCase testUseCase2 22 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/split-bc-by-use-cases-test-4-input.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagement, ContractManagement 3 | 4 | CustomerManagement -> ContractManagement { 5 | exposedAggregates = Customers, Addresses 6 | } 7 | } 8 | 9 | BoundedContext CustomerManagement { 10 | Aggregate Customers { 11 | useCases = testUseCase1 12 | Entity Customer{ 13 | String firstName 14 | String familyName 15 | } 16 | Entity Account { 17 | String iban 18 | String bankName 19 | } 20 | } 21 | 22 | Aggregate Addresses { 23 | useCases = testUseCase2 24 | Entity Address { 25 | String street 26 | } 27 | } 28 | } 29 | 30 | BoundedContext ContractManagement 31 | 32 | UseCase testUseCase1 33 | UseCase testUseCase2 34 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/split-bc-by-use-cases-test-5-input-1.cml: -------------------------------------------------------------------------------- 1 | import "split-bc-by-use-cases-test-5-input-2.cml" 2 | 3 | ContextMap { 4 | contains CustomerManagement, ContractManagement 5 | 6 | CustomerManagement -> ContractManagement { 7 | exposedAggregates = Customers, Addresses 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/split-bc-by-use-cases-test-5-input-2.cml: -------------------------------------------------------------------------------- 1 | BoundedContext CustomerManagement { 2 | Aggregate Customers { 3 | useCases = testUseCase1 4 | Entity Customer{ 5 | String firstName 6 | String familyName 7 | } 8 | Entity Account { 9 | String iban 10 | String bankName 11 | } 12 | } 13 | 14 | Aggregate Addresses { 15 | useCases = testUseCase2 16 | Entity Address { 17 | String street 18 | } 19 | } 20 | } 21 | 22 | BoundedContext ContractManagement 23 | 24 | UseCase testUseCase1 25 | UseCase testUseCase2 26 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/split-by-duplicate-entity-test-1-input.cml: -------------------------------------------------------------------------------- 1 | /* Insurance Example Context Map */ 2 | ContextMap { 3 | contains CustomerManagement 4 | contains PolicyManagement 5 | 6 | PolicyManagement [D,ACL]<-[U,OHS,PL] CustomerManagement 7 | 8 | } 9 | 10 | /* Bounded Context Definitions */ 11 | BoundedContext CustomerManagement { 12 | Aggregate Customers { 13 | Entity Customer{ 14 | String firstName 15 | String familyName 16 | Account customerBankAccount 17 | } 18 | Entity Account { 19 | String iban 20 | String bankName 21 | } 22 | } 23 | Aggregate CustomerSelfService { 24 | Entity Account { 25 | String username 26 | String password 27 | Customer accountOwner 28 | } 29 | } 30 | } 31 | 32 | BoundedContext PolicyManagement { 33 | Aggregate Contracts { 34 | Entity Contract { 35 | } 36 | } 37 | } 38 | 39 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/split-by-duplicate-entity-test-1-output.cml: -------------------------------------------------------------------------------- 1 | /* Insurance Example Context Map */ 2 | ContextMap { 3 | contains CustomerManagement 4 | contains PolicyManagement 5 | 6 | PolicyManagement [D, ACL]<-[U, OHS, PL] CustomerManagement 7 | 8 | } 9 | 10 | /* Bounded Context Definitions */ 11 | BoundedContext CustomerManagement { 12 | Aggregate CustomerSelfService { 13 | Entity Account { 14 | String username 15 | String password 16 | Customer accountOwner 17 | } 18 | } 19 | } 20 | 21 | BoundedContext PolicyManagement { 22 | Aggregate Contracts { 23 | Entity Contract { 24 | } 25 | } 26 | } 27 | 28 | BoundedContext SplitBoundedContext { 29 | Aggregate Customers { 30 | Entity Customer{ 31 | String firstName 32 | String familyName 33 | Account customerBankAccount 34 | } 35 | Entity Account { 36 | String iban 37 | String bankName 38 | } 39 | } 40 | } 41 | 42 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/split-by-duplicate-entity-test-2-no-duplicates.cml: -------------------------------------------------------------------------------- 1 | /* Insurance Example Context Map */ 2 | ContextMap { 3 | contains CustomerManagement 4 | contains PolicyManagement 5 | 6 | PolicyManagement [D,ACL]<-[U,OHS,PL] CustomerManagement 7 | } 8 | 9 | /* Bounded Context Definitions */ 10 | BoundedContext CustomerManagement { 11 | 12 | Aggregate Customers { 13 | Entity Customer{ 14 | String firstName 15 | String familyName 16 | Account customerBankAccount 17 | } 18 | } 19 | 20 | Aggregate CustomerSelfService { 21 | Entity Account { 22 | String username 23 | String password 24 | Customer accountOwner 25 | } 26 | } 27 | 28 | } 29 | 30 | BoundedContext PolicyManagement { 31 | Aggregate Contracts { 32 | Entity Contract {} 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/split-system-tier-test-1-input.cml: -------------------------------------------------------------------------------- 1 | BoundedContext TestBackend { 2 | type SYSTEM 3 | } 4 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/split-system-tier-test-2-input.cml: -------------------------------------------------------------------------------- 1 | BoundedContext TestBackend { 2 | type FEATURE // not a system 3 | } 4 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/split-system-tier-test-3-input.cml: -------------------------------------------------------------------------------- 1 | BoundedContext TestBackend { 2 | type SYSTEM 3 | 4 | Aggregate TestAggregate { 5 | Entity TestEntity 6 | } 7 | } 8 | 9 | BoundedContext TestBackendLogic 10 | BoundedContext TestBackendDatabase 11 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/split-system-tier-test-3-output.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains TestBackendDatabase 3 | contains TestBackendLogic 4 | 5 | TestBackendLogic [ PL ] -> [ CF ] TestBackendDatabase { 6 | implementationTechnology "" 7 | exposedAggregates TestAggregate 8 | } 9 | } 10 | 11 | BoundedContext TestBackendLogic { 12 | type SYSTEM 13 | Aggregate TestAggregate { 14 | Entity TestEntity 15 | } 16 | } 17 | 18 | BoundedContext TestBackendDatabase { 19 | type SYSTEM 20 | implementationTechnology "" 21 | } 22 | 23 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/split-system-tier-test-4-input.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains TestBackendDatabase 3 | contains TestBackendLogic 4 | 5 | TestBackendLogic [ PL ] -> [ CF ] TestBackendDatabase { 6 | implementationTechnology "" 7 | exposedAggregates TestAggregate 8 | } 9 | 10 | TestBackendLogic [ P ] <-> [ P ] TestBackendDatabase // will be removed ... 11 | 12 | } 13 | 14 | BoundedContext TestBackendLogic { 15 | type SYSTEM 16 | Aggregate TestAggregate { 17 | Entity TestEntity 18 | } 19 | } 20 | 21 | BoundedContext TestBackendDatabase { 22 | type SYSTEM 23 | implementationTechnology "" 24 | } 25 | 26 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/split-system-tier-test-4-output.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains TestBackendLogic 3 | contains TestBackendDatabase 4 | 5 | TestBackendLogic [ PL ] -> [ CF ] TestBackendDatabase { 6 | implementationTechnology "" 7 | exposedAggregates TestAggregate 8 | } 9 | } 10 | 11 | BoundedContext TestBackendLogic { 12 | type SYSTEM 13 | Aggregate TestAggregate { 14 | Entity TestEntity 15 | } 16 | } 17 | 18 | BoundedContext TestBackendDatabase { 19 | type SYSTEM 20 | implementationTechnology "" 21 | } 22 | 23 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/split-system-tier-test-5-input.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | // already existing context map; but no contexts 3 | } 4 | 5 | BoundedContext TestBackend { 6 | type SYSTEM 7 | } 8 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/split-system-tier-test-6-input.cml: -------------------------------------------------------------------------------- 1 | BoundedContext TestBackend { 2 | type SYSTEM 3 | 4 | Module TestModule { 5 | Aggregate TestAggregateInModule { 6 | Entity TestEntityInModule 7 | } 8 | } 9 | 10 | Aggregate TestAggregate { 11 | Entity TestEntity 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/split-system-tier-test-7-input.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains TestBackend 3 | contains AnotherContext 4 | 5 | TestBackend -> AnotherContext : upDownTestRel1 6 | TestBackend <- AnotherContext : upDownTestRel2 7 | 8 | TestBackend [P]<->[P] AnotherContext : symTestRel1 9 | AnotherContext [P]<->[P] TestBackend : symTestRel2 10 | } 11 | 12 | BoundedContext TestBackend { 13 | type SYSTEM 14 | } 15 | 16 | BoundedContext AnotherContext 17 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/split-system-tier-test-8-input.cml: -------------------------------------------------------------------------------- 1 | BoundedContext TestBackend { 2 | type SYSTEM 3 | 4 | Aggregate TestAggregate 5 | } 6 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/switch-from-partnership-to-sharedkernel-precondition-checks-input.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagement, AnotherContext 3 | 4 | CustomerManagement [P]<->[P] AnotherContext 5 | } 6 | 7 | BoundedContext CustomerManagement 8 | BoundedContext AnotherContext 9 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/switch-from-partnership-to-sharedkernel-precondition-checks-multiple-rels-input.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagement, AnotherContext 3 | 4 | CustomerManagement [P]<->[P] AnotherContext 5 | 6 | CustomerManagement [P]<->[P] AnotherContext 7 | } 8 | 9 | BoundedContext CustomerManagement 10 | BoundedContext AnotherContext 11 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/switch-from-partnership-to-sharedkernel-precondition-checks-no-rel-input.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagement, AnotherContext 3 | 4 | } 5 | 6 | BoundedContext CustomerManagement 7 | BoundedContext AnotherContext 8 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/switch-from-partnership-to-sharedkernel-test-1-input.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagement, AnotherContext 3 | 4 | CustomerManagement [P]<->[P] AnotherContext 5 | } 6 | 7 | BoundedContext CustomerManagement 8 | BoundedContext AnotherContext 9 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/switch-from-sharedkernel-to-partnership-precondition-checks-input.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagement, AnotherContext 3 | 4 | CustomerManagement [SK]<->[SK] AnotherContext 5 | } 6 | 7 | BoundedContext CustomerManagement 8 | BoundedContext AnotherContext 9 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/switch-from-sharedkernel-to-partnership-precondition-checks-multiple-rels-input.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagement, AnotherContext 3 | 4 | CustomerManagement [SK]<->[SK] AnotherContext 5 | 6 | CustomerManagement [SK]<->[SK] AnotherContext 7 | } 8 | 9 | BoundedContext CustomerManagement 10 | BoundedContext AnotherContext 11 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/switch-from-sharedkernel-to-partnership-precondition-checks-no-rel-input.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagement, AnotherContext 3 | 4 | } 5 | 6 | BoundedContext CustomerManagement 7 | BoundedContext AnotherContext 8 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/switch-from-sharedkernel-to-partnership-test-1-input.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains CustomerManagement, AnotherContext 3 | 4 | CustomerManagement [SK]<->[SK] AnotherContext 5 | } 6 | 7 | BoundedContext CustomerManagement 8 | BoundedContext AnotherContext 9 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/refactorings/wrap-value-in-cluster-1.cml: -------------------------------------------------------------------------------- 1 | 2 | ValueRegister TestRegister { 3 | Value TestValue 4 | } 5 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/servicecutter/.wrong-servicecutter.yml: -------------------------------------------------------------------------------- 1 | algorithm: MARKOV_CLUSTERING 2 | algorithmParams: 3 | numberOfClusters: 3.0 4 | leungDelta: 0.55 5 | mclExpansionOperations: 2.0 6 | mclPowerCoefficient: 2.0 7 | prune: 0.0 8 | extraClusters: 0.0 9 | leungM: 0.1 10 | cwNodeWeighting: 0.0 11 | power: 1.0 12 | inflation: 2.0 13 | priorities: 14 | Identity & Lifecycle Commonality: M 15 | Security Constraint: M 16 | Storage Similarity: XS 17 | Security Criticality: XS 18 | Latency: M 19 | Structural Volatility: XS 20 | Consistency Criticality: XS 21 | Predefined Service Constraint: Y 22 | Availability Criticality: XS 23 | Semantic Proximity: M 24 | Consistency Constraint: M 25 | Shared Owner: M 26 | Content Volatility: XS 27 | Security Contextuality: M 28 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/servicecutter/CML_Model_without_ContextMap.cml: -------------------------------------------------------------------------------- 1 | BoundedContext context1 2 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/servicecutter/CML_Model_without_attributes.cml: -------------------------------------------------------------------------------- 1 | ContextMap myMap { 2 | contains context1 3 | } 4 | 5 | BoundedContext context1 6 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/servicecutter/solver-configuration.json: -------------------------------------------------------------------------------- 1 | { 2 | "algorithmParams": { 3 | "inflation": 2, 4 | "power": 1, 5 | "prune": 0, 6 | "extraClusters": 0, 7 | "numberOfClusters": 3, 8 | "leungM": 0.1, 9 | "leungDelta": 0.55 10 | }, 11 | "priorities": { 12 | "Identity & Lifecycle Commonality": "M", 13 | "Semantic Proximity": "M", 14 | "Shared Owner": "M", 15 | "Structural Volatility": "XS", 16 | "Latency": "M", 17 | "Consistency Criticality": "XS", 18 | "Availability Criticality": "XS", 19 | "Content Volatility": "XS", 20 | "Consistency Constraint": "M", 21 | "Storage Similarity": "XS", 22 | "Predefined Service Constraint": "M", 23 | "Security Contextuality": "M", 24 | "Security Criticality": "XS", 25 | "Security Constraint": "M" 26 | }, 27 | "algorithm": "MARKOV_CLUSTERING" 28 | } -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/servicecutter/user-representations-builder-test-10.cml: -------------------------------------------------------------------------------- 1 | BoundedContext TestContext { 2 | 3 | Aggregate TestAggregate { 4 | securityZone "ZoneA" 5 | 6 | Entity Customer { 7 | String firstName 8 | } 9 | 10 | Entity Contract { 11 | String contractId 12 | } 13 | } 14 | 15 | Aggregate OwnedAggregate { 16 | securityZone "ZoneB" 17 | 18 | Entity TestEntity { 19 | String attribute1 20 | } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/servicecutter/user-representations-builder-test-11.cml: -------------------------------------------------------------------------------- 1 | BoundedContext TestContext { 2 | 3 | Aggregate TestAggregate1 { 4 | securityAccessGroup "Admin" 5 | 6 | Entity Customer { 7 | String firstName 8 | } 9 | } 10 | 11 | Aggregate TestAggregate2 { 12 | securityAccessGroup "Admin" 13 | 14 | Entity Contract { 15 | String contractId 16 | } 17 | } 18 | 19 | Aggregate TestAggregate3 { 20 | securityAccessGroup "Public" 21 | 22 | Entity TestEntity { 23 | String attribute1 24 | } 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/servicecutter/user-representations-builder-test-2.cml: -------------------------------------------------------------------------------- 1 | BoundedContext TestContext { 2 | 3 | Aggregate TestAggregate { 4 | Entity Customer { 5 | String firstName 6 | } 7 | 8 | Entity Contract { 9 | String contractId 10 | } 11 | } 12 | 13 | } 14 | 15 | BoundedContext TestTeam { type TEAM } // ensure that teams are ignored 16 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/servicecutter/user-representations-builder-test-3.cml: -------------------------------------------------------------------------------- 1 | BoundedContext TestContext { 2 | 3 | Aggregate TestAggregate { 4 | Entity Customer { 5 | String firstName 6 | } 7 | 8 | Entity Contract { 9 | String contractId 10 | } 11 | } 12 | 13 | Aggregate OwnedAggregate { 14 | owner TeamA 15 | 16 | Entity TestEntity { 17 | String attribute1 18 | } 19 | } 20 | 21 | } 22 | 23 | BoundedContext TeamA { 24 | type TEAM 25 | } 26 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/servicecutter/user-representations-builder-test-3.scl: -------------------------------------------------------------------------------- 1 | Compatibilities { 2 | ContentVolatility { 3 | characteristic Often 4 | "HandlingEvent.handlingType", "HandlingEvent.completionTime", "HandlingEvent.registrationTime", "Location.name", "Delivery.transportStatus" 5 | } 6 | ContentVolatility { 7 | characteristic Rarely 8 | "UnLocode.unLocode", "Location.name" 9 | } 10 | StructuralVolatility { 11 | characteristic Rarely 12 | "UnLocode.unLocode", "Location.name" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/servicecutter/user-representations-builder-test-4.cml: -------------------------------------------------------------------------------- 1 | BoundedContext TestContext { 2 | Aggregate NormalAggregate { 3 | likelihoodForChange NORMAL 4 | 5 | Entity Customer { 6 | String testAttr1 7 | } 8 | } 9 | Aggregate OftenAggregate { 10 | likelihoodForChange OFTEN 11 | 12 | Entity Customer { 13 | String testAttr2 14 | } 15 | } 16 | Aggregate RarelyAggregate { 17 | likelihoodForChange RARELY 18 | 19 | Entity Customer { 20 | String testAttr3 21 | } 22 | } 23 | } 24 | 25 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/servicecutter/user-representations-builder-test-5.cml: -------------------------------------------------------------------------------- 1 | BoundedContext TestContext { 2 | Aggregate NormalAggregate { 3 | contentVolatility NORMAL 4 | 5 | Entity Customer { 6 | String testAttr1 7 | } 8 | } 9 | Aggregate OftenAggregate { 10 | contentVolatility OFTEN 11 | 12 | Entity Customer { 13 | String testAttr2 14 | } 15 | } 16 | Aggregate RarelyAggregate { 17 | contentVolatility RARELY 18 | 19 | Entity Customer { 20 | String testAttr3 21 | } 22 | } 23 | } 24 | 25 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/servicecutter/user-representations-builder-test-6.cml: -------------------------------------------------------------------------------- 1 | BoundedContext TestContext { 2 | Aggregate NormalAggregate { 3 | availabilityCriticality NORMAL 4 | 5 | Entity Customer { 6 | String testAttr1 7 | } 8 | } 9 | Aggregate OftenAggregate { 10 | availabilityCriticality HIGH 11 | 12 | Entity Customer { 13 | String testAttr2 14 | } 15 | } 16 | Aggregate RarelyAggregate { 17 | availabilityCriticality LOW 18 | 19 | Entity Customer { 20 | String testAttr3 21 | } 22 | } 23 | } 24 | 25 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/servicecutter/user-representations-builder-test-7.cml: -------------------------------------------------------------------------------- 1 | BoundedContext TestContext { 2 | Aggregate NormalAggregate { 3 | consistencyCriticality NORMAL 4 | 5 | Entity Customer { 6 | String testAttr1 7 | } 8 | } 9 | Aggregate OftenAggregate { 10 | consistencyCriticality HIGH 11 | 12 | Entity Customer { 13 | String testAttr2 14 | } 15 | } 16 | Aggregate RarelyAggregate { 17 | consistencyCriticality LOW 18 | 19 | Entity Customer { 20 | String testAttr3 21 | } 22 | } 23 | } 24 | 25 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/servicecutter/user-representations-builder-test-8.cml: -------------------------------------------------------------------------------- 1 | BoundedContext TestContext { 2 | Aggregate NormalAggregate { 3 | storageSimilarity NORMAL 4 | 5 | Entity Customer { 6 | String testAttr1 7 | } 8 | } 9 | Aggregate OftenAggregate { 10 | storageSimilarity HUGE 11 | 12 | Entity Customer { 13 | String testAttr2 14 | } 15 | } 16 | Aggregate RarelyAggregate { 17 | storageSimilarity TINY 18 | 19 | Entity Customer { 20 | String testAttr3 21 | } 22 | } 23 | } 24 | 25 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/servicecutter/user-representations-builder-test-9.cml: -------------------------------------------------------------------------------- 1 | BoundedContext TestContext { 2 | Aggregate NormalAggregate { 3 | securityCriticality NORMAL 4 | 5 | Entity Customer { 6 | String testAttr1 7 | } 8 | } 9 | Aggregate OftenAggregate { 10 | securityCriticality HIGH 11 | 12 | Entity Customer { 13 | String testAttr2 14 | } 15 | } 16 | Aggregate RarelyAggregate { 17 | securityCriticality LOW 18 | 19 | Entity Customer { 20 | String testAttr3 21 | } 22 | } 23 | } 24 | 25 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/sketchminer/actor-test-1.cml: -------------------------------------------------------------------------------- 1 | 2 | 3 | BoundedContext TestContext { 4 | Application { 5 | Service AppService { 6 | void Command1(); 7 | } 8 | Flow TestFlow { 9 | event StartEvent triggers operation Command1 10 | operation Command1 [ initiated by "Test User" ] delegates to TestAggregate[STATE1, STATE2 -> STATE3 X STATE4] emits event EndEvent 11 | } 12 | } 13 | Aggregate TestAggregate { 14 | DomainEvent StartEvent 15 | DomainEvent EndEvent 16 | 17 | enum States { 18 | aggregateLifecycle 19 | STATE1, STATE2, STATE3, STATE4 20 | } 21 | } 22 | } 23 | 24 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/sketchminer/aggregate-without-state-transition-test-1.cml: -------------------------------------------------------------------------------- 1 | 2 | 3 | BoundedContext TestContext { 4 | Application { 5 | Service AppService { 6 | void Command1(); 7 | } 8 | Flow TestFlow { 9 | event StartEvent triggers operation Command1 10 | operation Command1 delegates to TestAggregate emits event EndEvent 11 | } 12 | } 13 | Aggregate TestAggregate { 14 | DomainEvent StartEvent 15 | DomainEvent EndEvent 16 | 17 | enum States { 18 | aggregateLifecycle 19 | STATE1, STATE2 20 | } 21 | } 22 | } 23 | 24 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/sketchminer/app-layer-name-test-1.cml: -------------------------------------------------------------------------------- 1 | 2 | BoundedContext EmptyContext // ignored 3 | 4 | BoundedContext TestContext { 5 | Application MyAppLayer { 6 | Command StartCommand 7 | Command EndCommand 8 | 9 | Flow TestFlow { 10 | command StartCommand emits event FirstEvent 11 | event FirstEvent triggers command EndCommand 12 | } 13 | } 14 | Aggregate TestAggregate { 15 | DomainEvent FirstEvent 16 | } 17 | } 18 | 19 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/sketchminer/exclusive-gate-command-test-1.cml: -------------------------------------------------------------------------------- 1 | 2 | 3 | BoundedContext TestContext { 4 | Application { 5 | Service AppService { 6 | void StartCommand(); 7 | void MiddleCommand1(); 8 | void MiddleCommand2(); 9 | } 10 | Flow TestFlow { 11 | operation StartCommand emits event FirstEvent 12 | event FirstEvent triggers operation MiddleCommand1 X MiddleCommand2 13 | operation MiddleCommand1 emits event EndEvent 14 | operation MiddleCommand2 emits event EndEvent 15 | } 16 | } 17 | Aggregate TestAggregate { 18 | DomainEvent FirstEvent 19 | DomainEvent EndEvent 20 | } 21 | } 22 | 23 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/sketchminer/exclusive-gate-command-test-2.cml: -------------------------------------------------------------------------------- 1 | 2 | 3 | BoundedContext TestContext { 4 | Application { 5 | Service AppService { 6 | void StartCommand(); 7 | void MiddleCommand1(); 8 | void MiddleCommand2(); 9 | } 10 | Flow TestFlow { 11 | operation StartCommand emits event FirstEvent 12 | event FirstEvent triggers operation MiddleCommand1 O MiddleCommand2 13 | operation MiddleCommand1 emits event EndEvent 14 | operation MiddleCommand2 emits event EndEvent 15 | } 16 | } 17 | Aggregate TestAggregate { 18 | DomainEvent FirstEvent 19 | DomainEvent EndEvent 20 | } 21 | } 22 | 23 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/sketchminer/exclusive-gate-command-test-3.cml: -------------------------------------------------------------------------------- 1 | 2 | 3 | BoundedContext TestContext { 4 | Application { 5 | Command StartCommand 6 | Command MiddleCommand1 7 | Command MiddleCommand2 8 | Flow TestFlow { 9 | command StartCommand emits event FirstEvent 10 | event FirstEvent triggers command MiddleCommand1 O MiddleCommand2 11 | command MiddleCommand1 emits event EndEvent 12 | command MiddleCommand2 emits event EndEvent 13 | } 14 | } 15 | Aggregate TestAggregate { 16 | DomainEvent FirstEvent 17 | DomainEvent EndEvent 18 | } 19 | } 20 | 21 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/sketchminer/exclusive-gate-event-test-1.cml: -------------------------------------------------------------------------------- 1 | 2 | 3 | BoundedContext TestContext { 4 | Application { 5 | Command StartCommand 6 | Command EndCommand 7 | 8 | Flow TestFlow { 9 | command StartCommand emits event FirstEvent X SecondEvent 10 | event FirstEvent triggers command EndCommand 11 | event SecondEvent triggers command EndCommand 12 | } 13 | } 14 | Aggregate TestAggregate { 15 | DomainEvent FirstEvent 16 | DomainEvent SecondEvent 17 | } 18 | } 19 | 20 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/sketchminer/exclusive-gate-event-test-2.cml: -------------------------------------------------------------------------------- 1 | 2 | 3 | BoundedContext TestContext { 4 | Application { 5 | Command StartCommand 6 | Command EndCommand 7 | 8 | Flow TestFlow { 9 | command StartCommand emits event FirstEvent O SecondEvent 10 | event FirstEvent triggers command EndCommand 11 | event SecondEvent triggers command EndCommand 12 | } 13 | } 14 | Aggregate TestAggregate { 15 | DomainEvent FirstEvent 16 | DomainEvent SecondEvent 17 | } 18 | } 19 | 20 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/sketchminer/exclusive-gate-event-test-3.cml: -------------------------------------------------------------------------------- 1 | 2 | 3 | BoundedContext TestContext { 4 | Application { 5 | Service AppService { 6 | void StartCommand(); 7 | void EndCommand(); 8 | } 9 | 10 | Flow TestFlow { 11 | operation StartCommand emits event FirstEvent X SecondEvent 12 | event FirstEvent triggers operation EndCommand 13 | event SecondEvent triggers operation EndCommand 14 | } 15 | } 16 | Aggregate TestAggregate { 17 | DomainEvent FirstEvent 18 | DomainEvent SecondEvent 19 | } 20 | } 21 | 22 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/sketchminer/loop-test-1.cml: -------------------------------------------------------------------------------- 1 | 2 | 3 | BoundedContext TestContext { 4 | Application { 5 | Service AppService { 6 | void StartCommand(); 7 | void MiddleCommand(); 8 | } 9 | Flow TestFlow { 10 | operation StartCommand emits event FirstEvent 11 | event FirstEvent triggers operation MiddleCommand 12 | operation MiddleCommand emits event EndEvent 13 | event EndEvent triggers operation StartCommand 14 | } 15 | } 16 | Aggregate TestAggregate { 17 | DomainEvent FirstEvent 18 | DomainEvent EndEvent 19 | } 20 | } 21 | 22 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/sketchminer/loop-test-2.cml: -------------------------------------------------------------------------------- 1 | 2 | 3 | BoundedContext TestContext { 4 | Application { 5 | Service AppService { 6 | void InitialEvent(); 7 | void MiddleCommand(); 8 | } 9 | Flow TestFlow { 10 | operation InitialEvent emits event FirstEvent 11 | event FirstEvent triggers operation MiddleCommand 12 | operation MiddleCommand emits event EndEvent 13 | event EndEvent triggers operation InitialEvent 14 | } 15 | } 16 | Aggregate TestAggregate { 17 | DomainEvent FirstEvent 18 | DomainEvent EndEvent 19 | } 20 | } 21 | 22 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/sketchminer/loop-test-3.cml: -------------------------------------------------------------------------------- 1 | BoundedContext TestContext { 2 | 3 | Application A1 { 4 | Event DE1 5 | Event DE2 6 | Command C1 7 | 8 | Flow F1 { 9 | event DE1 triggers command C1 10 | command C1 emits event DE2 + DE1 11 | } 12 | } 13 | 14 | } -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/sketchminer/loop-test-4.cml: -------------------------------------------------------------------------------- 1 | BoundedContext InsuranceQuotes { 2 | 3 | Application A1 { 4 | Event DE1 5 | Event DE2 6 | Command C1 7 | 8 | Flow F1 { 9 | event DE1 + DE2 triggers command C1 10 | command C1 emits event DE1 11 | } 12 | } 13 | 14 | } -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/sketchminer/multiple-input-events-test-1.cml: -------------------------------------------------------------------------------- 1 | 2 | 3 | BoundedContext TestContext { 4 | Application { 5 | Service AppService { 6 | void StartCommand1(); 7 | void StartCommand2(); 8 | void EndCommand(); 9 | } 10 | Flow TestFlow { 11 | operation StartCommand1 emits event Event1 12 | operation StartCommand2 emits event Event2 13 | event Event1 + Event2 triggers operation EndCommand 14 | } 15 | } 16 | Aggregate TestAggregate { 17 | DomainEvent Event1 18 | DomainEvent Event2 19 | } 20 | } 21 | 22 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/sketchminer/no-coordination-existing-test-1.cml: -------------------------------------------------------------------------------- 1 | 2 | BoundedContext EmptyContext // ignored 3 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/sketchminer/no-flow-existing-test-1.cml: -------------------------------------------------------------------------------- 1 | 2 | BoundedContext EmptyContext // ignored 3 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/sketchminer/order-of-separate-sequences-test-1.cml: -------------------------------------------------------------------------------- 1 | 2 | 3 | BoundedContext TestContext { 4 | Application { 5 | Service AppService { 6 | void appop1(); 7 | void appop2(); 8 | } 9 | Flow TestFlow { 10 | operation appop1 emits event DE1 11 | operation appop2 emits event DE2 12 | } 13 | } 14 | Aggregate TestAggregate { 15 | DomainEvent DE1 16 | DomainEvent DE2 17 | 18 | enum States { 19 | aggregateLifecycle 20 | STATE1, STATE2, STATE3, STATE4 21 | } 22 | } 23 | } 24 | 25 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/sketchminer/parallel-fragments-test-1.cml: -------------------------------------------------------------------------------- 1 | 2 | 3 | BoundedContext TestContext { 4 | Application { 5 | Service AppService { 6 | void Before(); 7 | void After(); 8 | } 9 | Flow TestFlow { 10 | operation Before emits event Parallel1 + Parallel2 11 | event Parallel1 + Parallel2 triggers operation After 12 | } 13 | } 14 | Aggregate TestAggregate { 15 | DomainEvent Parallel1 16 | DomainEvent Parallel2 17 | 18 | enum States { 19 | aggregateLifecycle 20 | STATE1, STATE2, STATE3, STATE4 21 | } 22 | } 23 | } 24 | 25 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/sketchminer/simple-coordination-test-1.cml: -------------------------------------------------------------------------------- 1 | 2 | ContextMap TestMap { 3 | contains ContextA 4 | contains ContextB 5 | 6 | ContextA <- ContextB 7 | } 8 | 9 | BoundedContext ContextA { 10 | Application { 11 | Coordination TestCoordination { 12 | ContextA::ServiceA::operationA; 13 | ContextB::ServiceB::operationB; 14 | } 15 | Service ServiceA { 16 | operationA; 17 | } 18 | } 19 | } 20 | 21 | BoundedContext ContextB { 22 | Application { 23 | Service ServiceB { 24 | operationB; 25 | } 26 | } 27 | } 28 | 29 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/sketchminer/simple-coordination-test-2.cml: -------------------------------------------------------------------------------- 1 | 2 | ContextMap TestMap { 3 | contains ContextA 4 | contains ContextB 5 | contains ContextC 6 | 7 | ContextA <- ContextB 8 | ContextA <- ContextC 9 | } 10 | 11 | BoundedContext ContextA { 12 | Application { 13 | Coordination TestCoordination { 14 | ContextA::ServiceA::operationA1; 15 | ContextB::ServiceB::operationB; 16 | ContextA::ServiceA::operationA2; 17 | ContextC::ServiceC::operationC; 18 | } 19 | Service ServiceA { 20 | operationA1; 21 | operationA2; 22 | } 23 | } 24 | } 25 | 26 | BoundedContext ContextB { 27 | Application { 28 | Service ServiceB { 29 | operationB; 30 | } 31 | } 32 | } 33 | 34 | BoundedContext ContextC { 35 | Application { 36 | Service ServiceC { 37 | operationC; 38 | } 39 | } 40 | } 41 | 42 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/sketchminer/simple-sequence-test-1.cml: -------------------------------------------------------------------------------- 1 | 2 | BoundedContext EmptyContext // ignored 3 | 4 | BoundedContext TestContext { 5 | Application { 6 | Command StartCommand 7 | Command EndCommand 8 | 9 | Flow TestFlow { 10 | command StartCommand emits event FirstEvent 11 | event FirstEvent triggers command EndCommand 12 | } 13 | } 14 | Aggregate TestAggregate { 15 | DomainEvent FirstEvent 16 | } 17 | } 18 | 19 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/sketchminer/simple-sequence-test-2.cml: -------------------------------------------------------------------------------- 1 | 2 | BoundedContext EmptyContext // ignored 3 | 4 | BoundedContext TestContext { 5 | Application { 6 | Command StartCommand 7 | Command EndCommand 8 | 9 | Flow TestFlow { 10 | event FirstEvent triggers command EndCommand 11 | command StartCommand emits event FirstEvent 12 | } 13 | } 14 | Aggregate TestAggregate { 15 | DomainEvent FirstEvent 16 | } 17 | } 18 | 19 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/sketchminer/simple-sequence-with-parallel-step-test-1.cml: -------------------------------------------------------------------------------- 1 | 2 | 3 | BoundedContext TestContext { 4 | Application { 5 | Command StartCommand 6 | Command EndCommand 7 | 8 | Flow TestFlow { 9 | command StartCommand emits event FirstEvent + SecondEvent 10 | event FirstEvent triggers command EndCommand 11 | event SecondEvent triggers command EndCommand 12 | } 13 | } 14 | Aggregate TestAggregate { 15 | DomainEvent FirstEvent 16 | DomainEvent SecondEvent 17 | } 18 | } 19 | 20 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/sketchminer/simple-sequence-with-parallel-step-test-2.cml: -------------------------------------------------------------------------------- 1 | 2 | 3 | BoundedContext TestContext { 4 | Application { 5 | Command FirstCommand 6 | Command SecondCommand 7 | 8 | Flow TestFlow { 9 | event StartEvent triggers command FirstCommand + SecondCommand 10 | command FirstCommand emits event EndEvent 11 | command SecondCommand emits event EndEvent 12 | } 13 | } 14 | Aggregate TestAggregate { 15 | DomainEvent StartEvent 16 | DomainEvent EndEvent 17 | } 18 | } 19 | 20 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/sketchminer/simple-sequence-with-parallel-step-test-3.cml: -------------------------------------------------------------------------------- 1 | 2 | 3 | BoundedContext TestContext { 4 | Application { 5 | Service AppService { 6 | void FirstCommand(); 7 | void SecondCommand(); 8 | } 9 | 10 | Flow TestFlow { 11 | event StartEvent triggers operation FirstCommand + SecondCommand 12 | operation FirstCommand emits event EndEvent 13 | operation SecondCommand emits event EndEvent 14 | } 15 | } 16 | Aggregate TestAggregate { 17 | DomainEvent StartEvent 18 | DomainEvent EndEvent 19 | } 20 | } 21 | 22 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/sketchminer/state-transition-comment-test-1.cml: -------------------------------------------------------------------------------- 1 | 2 | 3 | BoundedContext TestContext { 4 | Application { 5 | Service AppService { 6 | void Command1(); 7 | } 8 | Flow TestFlow { 9 | event StartEvent triggers operation Command1 10 | operation Command1 delegates to TestAggregate[STATE1 -> STATE2] emits event EndEvent 11 | } 12 | } 13 | Aggregate TestAggregate { 14 | DomainEvent StartEvent 15 | DomainEvent EndEvent 16 | 17 | enum States { 18 | aggregateLifecycle 19 | STATE1, STATE2 20 | } 21 | } 22 | } 23 | 24 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/sketchminer/state-transition-comment-test-2.cml: -------------------------------------------------------------------------------- 1 | 2 | 3 | BoundedContext TestContext { 4 | Application { 5 | Service AppService { 6 | void Command1(); 7 | } 8 | Flow TestFlow { 9 | event StartEvent triggers operation Command1 10 | operation Command1 delegates to TestAggregate[STATE1, STATE2 -> STATE3 X STATE4] emits event EndEvent 11 | } 12 | } 13 | Aggregate TestAggregate { 14 | DomainEvent StartEvent 15 | DomainEvent EndEvent 16 | 17 | enum States { 18 | aggregateLifecycle 19 | STATE1, STATE2, STATE3, STATE4 20 | } 21 | } 22 | } 23 | 24 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/sketchminer/underlines-test-1.cml: -------------------------------------------------------------------------------- 1 | 2 | 3 | BoundedContext TestContext { 4 | Application { 5 | Service AppService { 6 | void Command_1(); 7 | } 8 | Flow TestFlow { 9 | event Start_Event triggers operation Command_1 10 | operation Command_1 delegates to TestAggregate[STATE1 -> STATE2] emits event End_Event 11 | } 12 | } 13 | Aggregate TestAggregate { 14 | DomainEvent Start_Event 15 | DomainEvent End_Event 16 | 17 | enum States { 18 | aggregateLifecycle 19 | STATE1, STATE2 20 | } 21 | } 22 | } 23 | 24 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/standalone/hello-world.cml: -------------------------------------------------------------------------------- 1 | BoundedContext HelloWorldContext 2 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/standalone/simple-context-map.cml: -------------------------------------------------------------------------------- 1 | ContextMap { 2 | contains TestContext1, TestContext2 3 | 4 | TestContext1 -> TestContext2 5 | } 6 | 7 | BoundedContext TestContext1 8 | 9 | BoundedContext TestContext2 10 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/subdomain-resolving/imported-file-test-1.cml: -------------------------------------------------------------------------------- 1 | Domain OtherDomain { 2 | 3 | Subdomain OtherSubdomain { 4 | 5 | Entity OtherEntity 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/subdomain-resolving/imported-file-test-2.cml: -------------------------------------------------------------------------------- 1 | Domain OtherDomain { 2 | 3 | Subdomain OtherSubdomain1 { 4 | Entity OtherEntity1 5 | } 6 | 7 | Subdomain OtherSubdomain2 { 8 | Entity OtherEntity1 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/subdomain-resolving/root-file-with-imports-test-1.cml: -------------------------------------------------------------------------------- 1 | import "./imported-file-test-1.cml" 2 | 3 | Domain DirectDomain { 4 | 5 | Subdomain DirectSubdomain { 6 | 7 | Entity DirectEntity 8 | } 9 | } 10 | 11 | ContextMap testMap { 12 | 13 | } 14 | 15 | BoundedContext context1 implements DirectSubdomain 16 | BoundedContext context2 implements OtherSubdomain { 17 | Aggregate MyAggregate { 18 | Entity MyEntity { 19 | aggregateRoot 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/subdomain-resolving/root-file-with-imports-test-2.cml: -------------------------------------------------------------------------------- 1 | import "./imported-file-test-2.cml" 2 | 3 | Domain DirectDomain { 4 | 5 | Subdomain DirectSubdomain { 6 | 7 | Entity DirectEntity 8 | } 9 | } 10 | 11 | ContextMap testMap { 12 | 13 | } 14 | 15 | BoundedContext context1 implements DirectSubdomain 16 | BoundedContext context2 implements OtherDomain { 17 | Aggregate MyAggregate { 18 | Entity MyEntity { 19 | aggregateRoot 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/integ-test-files/subdomain-resolving/simple-single-file-test.cml: -------------------------------------------------------------------------------- 1 | 2 | Domain TestDomain { 3 | 4 | Subdomain TestSubDomain1 { 5 | 6 | } 7 | 8 | Subdomain TestSubDomain2 { 9 | 10 | } 11 | 12 | } 13 | 14 | Domain OtherDomain { 15 | 16 | Subdomain TestSubDomain3 { 17 | 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4.0.0 3 | 4 | org.contextmapper.dsl 5 | org.contextmapper.dsl.parent 6 | 6.12.1-SNAPSHOT 7 | 8 | org.contextmapper.dsl.tests 9 | eclipse-test-plugin 10 | 11 | 12 | 13 | 14 | org.eclipse.xtend 15 | xtend-maven-plugin 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/src/org/contextmapper/dsl/generators/freemarker/hello.ftl: -------------------------------------------------------------------------------- 1 | Hello ${name}! -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/src/org/contextmapper/dsl/generators/freemarker/hello_error.ftl: -------------------------------------------------------------------------------- 1 | Hello ${this_variable_does_not_exist}! -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/src/org/contextmapper/dsl/generators/plantuml/value_impact_mapping/model/StakeholderTest.java: -------------------------------------------------------------------------------- 1 | package org.contextmapper.dsl.generators.plantuml.value_impact_mapping.model; 2 | 3 | import static org.junit.jupiter.api.Assertions.assertTrue; 4 | import static org.junit.jupiter.api.Assertions.assertFalse; 5 | 6 | import org.junit.jupiter.api.Test; 7 | import org.contextmapper.dsl.generator.plantuml.value_impact_mapping.model.Stakeholder; 8 | import org.contextmapper.dsl.generator.plantuml.value_impact_mapping.model.Value; 9 | 10 | class StakeholderTest { 11 | 12 | @Test 13 | void ensureStakeholdersWithSameNameAreEqual() { 14 | Stakeholder stakeholder1 = new Stakeholder("User", "desc1"); 15 | Stakeholder stakeholder2 = new Stakeholder("User", "desc2"); 16 | 17 | assertTrue(stakeholder1.equals(stakeholder2)); 18 | assertTrue(stakeholder1.equals(stakeholder1)); 19 | assertFalse(stakeholder1.equals(null)); 20 | assertFalse(stakeholder1.equals(new Value("just a test"))); 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.tests/src/org/contextmapper/dsl/quickfixes/AbstractQuickFixTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020 The Context Mapper Project Team 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.contextmapper.dsl.quickfixes; 17 | 18 | import org.contextmapper.dsl.AbstractCMLInputFileTest; 19 | 20 | public class AbstractQuickFixTest extends AbstractCMLInputFileTest { 21 | 22 | @Override 23 | protected String getTestFileDirectory() { 24 | return "/integ-test-files/quickfixes/"; 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.ui.tests/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.ui.tests/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Automatic-Module-Name: org.contextmapper.dsl.ui.tests 3 | Bundle-ManifestVersion: 2 4 | Bundle-Name: org.contextmapper.dsl.ui.tests 5 | Bundle-Vendor: Context Mapper 6 | Bundle-Version: 6.12.1.qualifier 7 | Bundle-SymbolicName: org.contextmapper.dsl.ui.tests; singleton:=true 8 | Bundle-ActivationPolicy: lazy 9 | Require-Bundle: org.contextmapper.dsl.ui, 10 | org.eclipse.xtext.testing, 11 | org.eclipse.xtext.ui.testing, 12 | org.eclipse.xtext.xbase.testing, 13 | org.eclipse.xtext.xbase.ui.testing, 14 | org.eclipse.core.runtime, 15 | org.eclipse.ui.workbench;resolution:=optional 16 | Import-Package: org.junit.jupiter.api;version="[5.1.0,6.0.0)", 17 | org.junit.jupiter.api.extension;version="[5.1.0,6.0.0)" 18 | Bundle-RequiredExecutionEnvironment: JavaSE-11 19 | Export-Package: org.contextmapper.dsl.ui.tests;x-internal=true, 20 | org.contextmapper.tactic.dsl.ui.tests;x-internal=true, 21 | org.contextmapper.servicecutter.dsl.ui.tests;x-internal=true 22 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.ui.tests/build.properties: -------------------------------------------------------------------------------- 1 | source.. = src/,\ 2 | src-gen/,\ 3 | xtend-gen/ 4 | bin.includes = .,\ 5 | META-INF/ 6 | bin.excludes = **/*.xtend 7 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.ui.tests/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4.0.0 3 | 4 | org.contextmapper.dsl 5 | org.contextmapper.dsl.parent 6 | 6.12.1-SNAPSHOT 7 | 8 | org.contextmapper.dsl.ui.tests 9 | eclipse-test-plugin 10 | 11 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.ui/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.ui/about.ini: -------------------------------------------------------------------------------- 1 | aboutText=Context Mapper DSL Editor\n\ 2 | \n\ 3 | (c) Copyright 2020 Context Mapper Project Team, including the original author or authors.\n\ 4 | \n\ 5 | Visit https://contextmapper.org/ 6 | 7 | featureImage=icons/cml-32x32.png 8 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.ui/build.properties: -------------------------------------------------------------------------------- 1 | source.. = src/,\ 2 | src-gen/,\ 3 | xtend-gen/ 4 | bin.includes = .,\ 5 | META-INF/,\ 6 | icons/,\ 7 | samples/,\ 8 | plugin.xml,\ 9 | about.ini 10 | bin.excludes = **/*.xtend 11 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.ui/icons/cml-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ContextMapper/context-mapper-dsl/981d5beaea768787e5677a0e4091458264302d0b/org.contextmapper.dsl.ui/icons/cml-32x32.png -------------------------------------------------------------------------------- /org.contextmapper.dsl.ui/icons/cml-dialog-image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ContextMapper/context-mapper-dsl/981d5beaea768787e5677a0e4091458264302d0b/org.contextmapper.dsl.ui/icons/cml-dialog-image.png -------------------------------------------------------------------------------- /org.contextmapper.dsl.ui/icons/cml.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ContextMapper/context-mapper-dsl/981d5beaea768787e5677a0e4091458264302d0b/org.contextmapper.dsl.ui/icons/cml.png -------------------------------------------------------------------------------- /org.contextmapper.dsl.ui/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4.0.0 3 | 4 | org.contextmapper.dsl 5 | org.contextmapper.dsl.parent 6 | 6.12.1-SNAPSHOT 7 | 8 | org.contextmapper.dsl.ui 9 | eclipse-plugin 10 | 11 | 12 | 13 | 14 | org.eclipse.xtend 15 | xtend-maven-plugin 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.ui/samples/freemarker/csv-files/stakeholders.csv.ftl: -------------------------------------------------------------------------------- 1 | Context,Stakeholder Group,Stakeholder,description,influence,interest 2 | <#list stakeholders as stakeholderContainer> 3 | <#assign stakeholderGroups = stakeholderContainer.stakeholders?filter(s -> instanceOf(s, StakeholderGroup))> 4 | <#assign singleStakeholders = stakeholderContainer.stakeholders?filter(s -> instanceOf(s, Stakeholder))> 5 | <#if stakeholderContainer.contexts?has_content><#assign contextDescription = stakeholderContainer.contexts?map(c -> c.name)?join("; ")><#else><#assign contextDescription = "none"> 6 | <#list stakeholderGroups as sg> 7 | <#list sg.stakeholders as stakeholder> 8 | ${contextDescription},${sg.name},${stakeholder.name},${stakeholder.description!""},${stakeholder.influence!""},${stakeholder.interest!""} 9 | 10 | 11 | <#list singleStakeholders as stakeholder> 12 | ${contextDescription},none,${stakeholder.name},${stakeholder.description!""},${stakeholder.influence!""},${stakeholder.interest!""} 13 | 14 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.ui/samples/freemarker/markdown-templates/bounded-contexts/bounded-context-list-simple.ftl: -------------------------------------------------------------------------------- 1 | The following [bounded context](https://martinfowler.com/bliki/BoundedContext.html)s are defined:<#lt> 2 | 3 | <#list filterStructuralBoundedContexts(boundedContexts) as bc> 4 | * *${bc.name}*: ${bc.domainVisionStatement!"[domain vision of the context not defined]"}<#lt> 5 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.ui/samples/freemarker/markdown-templates/common/header.md.ftl: -------------------------------------------------------------------------------- 1 | --- 2 | title: Report generated from '${fileName}' 3 | project: ${projectName!"undefined"} 4 | author: ${userName!"undefined"} 5 | date: ${timeStamp!"undefined"}, Context Mapper version ${contextMapperVersion!"undefined"} 6 | copyright: The authors, 2020-2023. All rights reserved. 7 | --- 8 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.ui/samples/freemarker/markdown-templates/states/state_transition.ftl: -------------------------------------------------------------------------------- 1 | <#-- 2 | Makro that prints out a state transition. 3 | --> 4 | <#macro renderStateTransition transition> 5 | <#if instanceOf(transition.target, ExclusiveAlternativeStateTransitionTarget)> 6 | <#assign sym = " X "> 7 | <#else> 8 | <#assign sym = ""> 9 | 10 | ${transition.from?map(f -> f.name)?join(", ")} -> ${transition.target.to?map(t -> t.value.name)?join(sym)} 11 | -------------------------------------------------------------------------------- /org.contextmapper.dsl.ui/src/org/contextmapper/dsl/ui/handler/wizard/pages/ContextMapperWizardPage.java: -------------------------------------------------------------------------------- 1 | package org.contextmapper.dsl.ui.handler.wizard.pages; 2 | 3 | import org.contextmapper.dsl.ui.internal.DslActivator; 4 | import org.eclipse.jface.wizard.WizardPage; 5 | import org.eclipse.swt.graphics.Image; 6 | import org.eclipse.swt.program.Program; 7 | 8 | public abstract class ContextMapperWizardPage extends WizardPage { 9 | 10 | public ContextMapperWizardPage(String title) { 11 | super(title); 12 | } 13 | 14 | @Override 15 | public Image getImage() { 16 | return DslActivator.imageDescriptorFromPlugin(DslActivator.PLUGIN_ID, "icons/cml-dialog-image.png").createImage(); 17 | } 18 | 19 | @Override 20 | public void performHelp() { 21 | Program.launch("https://contextmapper.org/docs/architectural-refactorings/"); 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /org.contextmapper.dsl/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /org.contextmapper.dsl/build.properties: -------------------------------------------------------------------------------- 1 | source.. = src/,\ 2 | src-gen/,\ 3 | xtend-gen/ 4 | bin.includes = model/generated/,\ 5 | .,\ 6 | META-INF/,\ 7 | plugin.xml 8 | bin.excludes = **/*.mwe2,\ 9 | **/*.xtend 10 | additional.bundles = org.eclipse.xtext.xbase,\ 11 | org.eclipse.xtext.common.types,\ 12 | org.eclipse.xtext.xtext.generator,\ 13 | org.eclipse.emf.codegen.ecore,\ 14 | org.eclipse.emf.mwe.utils,\ 15 | org.eclipse.emf.mwe2.launch,\ 16 | org.eclipse.emf.mwe2.lib,\ 17 | org.objectweb.asm,\ 18 | org.apache.commons.logging,\ 19 | org.apache.log4j,\ 20 | com.ibm.icu 21 | -------------------------------------------------------------------------------- /org.contextmapper.dsl/src/org/contextmapper/dsl/generator/exception/NoContextMapDefinedException.java: -------------------------------------------------------------------------------- 1 | package org.contextmapper.dsl.generator.exception; 2 | 3 | public class NoContextMapDefinedException extends GeneratorInputException { 4 | 5 | public NoContextMapDefinedException() { 6 | super("No Context Map defined in this model. Please select a file which contains a context map."); 7 | } 8 | 9 | } 10 | -------------------------------------------------------------------------------- /org.contextmapper.dsl/src/org/contextmapper/dsl/generator/exception/NoContextMappingModelDefinedException.java: -------------------------------------------------------------------------------- 1 | package org.contextmapper.dsl.generator.exception; 2 | 3 | public class NoContextMappingModelDefinedException extends GeneratorInputException { 4 | 5 | public NoContextMappingModelDefinedException() { 6 | super("No CML model defined in this resource. Please select a file which contains a CML model."); 7 | } 8 | 9 | } 10 | -------------------------------------------------------------------------------- /org.contextmapper.dsl/src/org/contextmapper/dsl/generator/plantuml/Multiplicity.java: -------------------------------------------------------------------------------- 1 | package org.contextmapper.dsl.generator.plantuml; 2 | 3 | public class Multiplicity { 4 | private int min; 5 | private int max; 6 | 7 | public static int STAR = Integer.MAX_VALUE; 8 | 9 | public Multiplicity(int min, int max) { 10 | this.min = min; 11 | this.max = max; 12 | } 13 | 14 | public int getMin() { 15 | return min; 16 | } 17 | 18 | public int getMax() { 19 | return max; 20 | } 21 | 22 | public Multiplicity withMin(int min) 23 | { 24 | return new Multiplicity(min, this.max); 25 | } 26 | 27 | public Multiplicity withMax(int max) 28 | { 29 | return new Multiplicity(this.min, max); 30 | } 31 | 32 | public Multiplicity clone() { 33 | return new Multiplicity(this.min, this.max); 34 | } 35 | 36 | public boolean isConstant(int i) { 37 | return min == i && max == i; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /org.contextmapper.dsl/src/org/contextmapper/dsl/generator/plantuml/PlantUMLDiagramCreator.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018 The Context Mapper Project Team 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.contextmapper.dsl.generator.plantuml; 17 | 18 | import org.eclipse.emf.ecore.EObject; 19 | 20 | public interface PlantUMLDiagramCreator { 21 | 22 | public String createDiagram(T modelObject); 23 | 24 | } 25 | -------------------------------------------------------------------------------- /org.contextmapper.dsl/src/org/contextmapper/dsl/generator/sketchminer/model/TaskType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020 The Context Mapper Project Team 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.contextmapper.dsl.generator.sketchminer.model; 17 | 18 | public enum TaskType { 19 | 20 | COMMAND, EVENT 21 | 22 | } 23 | -------------------------------------------------------------------------------- /org.contextmapper.dsl/src/org/contextmapper/dsl/refactoring/SuspendPartnershipMode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2019-2020 The Context Mapper Project Team 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.contextmapper.dsl.refactoring; 17 | 18 | public enum SuspendPartnershipMode { 19 | 20 | MERGE_BOUNDED_CONTEXTS, EXTRACT_NEW_BOUNDED_CONTEXT, REPLACE_RELATIONSHIP_WITH_UPSTREAM_DOWNSTREAM 21 | 22 | } 23 | -------------------------------------------------------------------------------- /org.contextmapper.dsl/src/org/contextmapper/dsl/refactoring/exception/RefactoringInputException.java: -------------------------------------------------------------------------------- 1 | package org.contextmapper.dsl.refactoring.exception; 2 | 3 | import org.contextmapper.dsl.exception.ContextMapperApplicationException; 4 | 5 | public class RefactoringInputException extends ContextMapperApplicationException { 6 | 7 | public RefactoringInputException(String message) { 8 | super(message); 9 | } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /org.contextmapper.dsl/src/org/contextmapper/servicecutter/dsl/ServiceCutterConfigurationDSLRuntimeModule.xtend: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018 The Context Mapper Project Team 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.contextmapper.servicecutter.dsl 17 | 18 | 19 | /** 20 | * Use this class to register components to be used at runtime / without the Equinox extension registry. 21 | */ 22 | class ServiceCutterConfigurationDSLRuntimeModule extends AbstractServiceCutterConfigurationDSLRuntimeModule { 23 | } 24 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include 'context-mapper-dsl' 2 | include 'context-mapper-dsl-tests' 3 | include 'context-mapper-lsp' 4 | include 'context-mapper-lsp-tests' 5 | 6 | project(":context-mapper-dsl").projectDir = file("org.contextmapper.dsl") 7 | project(":context-mapper-dsl-tests").projectDir = file("org.contextmapper.dsl.tests") 8 | project(":context-mapper-lsp").projectDir = file("org.contextmapper.dsl.ide") 9 | project(":context-mapper-lsp-tests").projectDir = file("org.contextmapper.dsl.ide.tests") 10 | --------------------------------------------------------------------------------