Releases: ContextMapper/context-mapper-dsl
Releases · ContextMapper/context-mapper-dsl
v5.12.0 - OOAD and JDL revised, Language Server (LSP) Architectural Spike
Changes in release v5.12.0:
- The CML grammar for Use Cases and User Stories has been enhanced in order to generate Entity attributes and references in the OOAD transformations
- Find the language documentation here
- Example model including transformation results: ooad-sample-claims
- In addition, the grammar supports specifying Use Cases according to the brief or casual template suggested by A. Cockburn.
- An example Use Case out of his book modelled in CML can be found here.
- Besides the improved interactions grammar, we added the scope and level attributes.
- The OOAD transformation step 2 (generating subdomains) generates Entities with attributes and references by using the CML data mentioned above.
- Example model including transformation results: ooad-sample-claims
- The input validations on the OOAD transformation dialogs (UIs) have been improved
- Whitespaces etc. in input names no longer lead to transformation exceptions
- The PlantUML generator no longer needs a Context Map in the input model.
- The class diagrams for Bounded Context or subdomains can be generated without Context Map.
- The generator just needs one of the following inputs:
- a Bounded Context (with an Aggregate and Entities),
- a Subdomain (with Entities)
- a Context Map
- We introduced a color coding in the PlantUML class diagrams according to the Event Storming colors.
- The JDL template for microservice generation uses CML Value Objects as well.
- Value Objects are mapped to JDL Entities now.
- The Context Map generation OSGi bundle no longer contains a dependency to
javax.annotations
- Repeatedly caused problems in Eclipse.
- We implemented a first "Architectural Spike" of our language server based on LSP here:
- org.contextmapper.dsl.ide
- org.contextmapper.dsl.ide.tests
- We use the LSP for our VS code extension
v5.11.0 - JHipster JDL & OOAD Improvements
Changes in release v5.11.0:
- New transformations for rapid OOAD prototyping.
- Derive Fontend / Backend Systems from features
- Split System Contexts into Subsystems
- Find more on our Rapid Object-oriented Analysis and Design page.
- Improvement in OOAD transformation step 3: The domain model can now also be merged into an existing Bounded Context.
- New generator template (Freemarker) to generate microservices (code) from CML Context Maps using JHipster and JHipsters JDL language
- Our new tutorial describes how it works.
- CML: New compiler warning, in case Entities or other domain objects are modeled inside a Module but not inside an Aggregate.
- Modules can be used but we recommend to move domain objects inside an Aggregate (Modules can contain Aggregates).
- Domain objects inside Modules but not Aggregates are ignored by the MDSL and Service Cutter generators.
v5.10.0 - Rapid object-oriented analysis and design
Changes in release v5.10.0:
- New transformations for Rapid Object-oriented Analysis and Design.
- Find details on our documentation page: https://contextmapper.org/docs/rapid-ooad/
- Includes changes in the CML syntax to model user requirements with user stories and use cases: https://contextmapper.org/docs/user-requirements/
- Improvements in the provided Freemarker examples for our generic generator.
- The graphical Context Map generator supports additional labels similar to the PlantUML generator now.
- They can be enabled by setting a flag on the generator dialog. Find a screenshot here: #184
- The following issue in the PlantUML generator has been solved: #186
v5.9.4
Bugfix release v5.9.4:
- MDSL generator fix: Datatype
blob
is no longer supported by MDSL. Blob's are now mapped to the new datatyperaw
.- Mapping documented here: https://contextmapper.org/docs/mdsl/#data-type-mapping
- Glossary Freemarker template fix: The glossary Freemarker template for our generic generator contained a problem with rendering operation return types which is fixed now.
v5.9.3
v5.9.2
v5.9.1
v5.9.0
Changes in release v5.9.0:
-
Generators respect DomainEvent's and CommandEvent's
-
Generic generator (templating):
- Updated Freemarker to version 2.3.30
- Two new templating helper functions for Bounded Context filtering:
filterBoundedContexts
returns BoundedContexts which are not teamsfilterTeams
returns BoundedContext which are teams
- New templating helper function to get type string of a
ComplexType
object:getType
: takes a ComplexType object and returns the type as a String
- The following new root variables can now be used in Freemarker templates:
projectName
: returns the name of the Eclipse project that contains the processed CML modelusername
: returns the system user name of the current usercontextMapperVersion
: returns the version of the Context Mapper plugin
-
New keybindings in Eclipse CML editor:
-
New wizards in Context Mapper Eclipse plugin:
- 'New Context Mapper DSL (CML) File' wizard allows to create a new CML file:
- 'Freemarker Generator Template Examples' wizard can be used to create a project containing our example Freemarker templates
- Currently contains an example template for a Ubiquitous language glossary written in Markdown
v5.8.1
v5.8.0
Changes in release v5.8.0:
- New generator that allows to generate arbitrary textual files based on Freemarker templates.
- Documentation can be found here: https://contextmapper.org/docs/generic-freemarker-generator/