Skip to content

v4.0.0

Compare
Choose a tag to compare
@stefan-ka stefan-ka released this 19 May 13:04

New features and improvements in v4.0.0:

  • CML semantic validator: An aggregate can only contain one entity which is aggregate root (breaking change if you modeled aggregates with multiple roots)
  • General plugin changes:
    • Generator menu entry order has changed: 1. MDSL, 2. PlantUML, 3. ServiceCutter
    • Generators are now also available in the editors context menu (right click -> Context Mapper)
  • MDSL generator changes:
    • Support of primitive data types directly used in parameters or return values (CML primitive types map to corresponding MDSL types)
      • CML Date maps to MDSL V<string> since there is no date in MDSL
    • Bugfix: Generator no longer produces StackOverflowException if you model cyclic reference (recursion stops and references abstract data type)
    • If an operation has no parameters, we use MDSL's V<void>
    • Introduced name extensions for aggregates (*Aggregate), providers (*Provider) and clients (*Client)
    • Improved error messages for cases in which input is missing
    • If the relationship's implementation technology is not specified, we generate "tbd" and a comment as protocol
    • Generator creates comment if an endpoint has no operations due to missing entity methods
  • Architectural Refactoring (AR) improvements:
    • AR-4: Extract Aggregates by Volatility:
      • User can only select likelihood for change values which actually occur in the selected bounded context, since other selections do not change anything.
      • If the user selects another value, an error message appears in the dialog.
    • AR-5: Extract Aggregates by Cohesion:
      • The selection dialog shows a warning message if the user selects all aggregates.
      • Extracting all aggregates from a bounded context does not make much sense. You could also just rename the existing bounded context.
      • However, we just produce a warning. It's still possible to do it.
    • AR-6: Merge Aggregates:
      • The AR can no longer be executed if the merge would lead to a duplicate entity error within the new aggregate.
      • A message box informs the user about this problem now.
    • AR-6: Merge Aggregates & AR-7: Merge Bounded Contexts:
      • Both merge AR's provide a checkbox now with which the user can specify that attributes which cannot be merged should be taken from the second aggregate/bounded context. By default we take attributes which cannot be merged from the first aggregate/bounded context.
      • List attributes are always merged.
      • The bounded context attribute implementationTechnology is merged as well (comma-separated string list)
  • PlantUML generator change:
    • Improved error message in case a class diagram cannot be generated (no entities available)