Release 3.0

On our way to the 3.0 release we will target the following goals:

  • Code cleanup
  • Refactor common project
  • Uniform coding styles for Xtend, Xpand and Java language to generate an API documentation
  • Update and complete source code documentation

Migration Overview

The most extensive change was the abandoning of the project org.genesez.platforms.common. Its functionality found some several new places:
  • org.genesez.m2t - A project for model to text transformation features: file and folder deletion, content preserving framework
  • org.genesez.mapping - The new home for the type mapping facility as well as the name mapping
  • org.genesez.statistic - A project to count generated and manually implemented source lines of code with report creation
  • org.genesez.util - A new place for basic functionality without further dependencies like logging, file system access, access to environment variables
  • org.genesez.workflow - The base of our new workflow infrastructure and its integration with MWE and MWE2
  • org.genesez.workflow.xpand - The place for XPand specific workflow components
  • org.genesez.metamodel.core.util - The home for platform independent but gcore meta model specific model transformations and utility scripts
  • org.genesez.metamodel.traceability.util - The new home for the requirements traceability dashboard, navigation between core and requirements models and requirements traceability information embedding in Java source code

Please see our example projects on what changes have to be made in the workflow. If you have previously used XML based workflows with MWE you should consider to use MWE2 as it offers an editor with code completion to edit workflow files. For changes of transformation dependencies please refer to #160 or ask us.

Release Notes 3.0.0

The main effort of the release was refactoring to split and discontinue the project org.genesez.platforms.common (see e.g. #143). Following there are some highlights of the new release:

  • A new eclipse wizard to create new GeneSEZ projects and to place example projects into the workspace
  • Enterprise Architect Adapter is now a separate installable feature
  • New Content Preserving Component (see org.genesez.m2t project)
    • Import Preserver now preserves the imports rather than take over
  • Revised workflow components (see #145)
  • Gcore meta model (see #140)
    • removed all deprecated features
      • returnType reference from MOperation to MType (use return reference instead)
      • MPrimitiveType (primitive types are now external types)
      • uniform handling of multiplicity properties with the new element MMultiplicity storing lower + upper bound, unique, ordered
    • added support for dependencies
  • UML adapter (see #165)
    • now supports default template parameters and constraining classifiers for template parameters
    • supports dependencies
    • UML models with version 4.x are now supported
  • type mapping, the context mapping to suppress the generation of import statements changed (see #192)
  • Java Generator now able to exclude specific packages and specific package contents (see #150)
  • Java Platform (see #160 for refactorings)
    • supports generation of annotation definitions
    • suppresses generation of @author javadoc tag per default (see #158)
    • suppresses generation of section comments per default (use aop template org::genesez::platform::java::m2t::aop::SectionComments to enable)
    • completely revised native association handling (supports single + multi-valued bidirectional associations)
    • by default associations are now implemented natively rather then using the association library (use the aop script and template to use the association library)
Due to a thorough refactoring and time constraints we were not able to release all of our platforms with its features. We focused our work on the features used mostly. In particular the following platforms are not part of the current release:
  • C++
  • PHP
  • TYPO3 CMS
  • dotnet

For these platforms you have to use the last release 2.1.

Java Enterprise specific technologies are alike. They are part of the release but remain in beta status until we ensured their functionality by tests. Please see review the GeneSEZ feature overview tables in our documentation.

Release Notes 3.0.1

The release was mainly issued because of insufficient configuration of the UML (standalone) support resulting in errors when using UML 3.x models with UML 4.x. Both our UML setup as well as the one which is shipped with XPand (org.eclipse.xtend.typesystem.uml2) instantiate always the latest version of UML but not the UML version specified in serialized UML models. This is now fixed (see #185).
  • the UML standalone mode is now backwards compatible, see #185
  • the work-in-progress workflow editor was removed
  • fixed UML model validation rules ensuring type existence for properties and parameters

Release Notes 3.0.2

This release fixed mainly issues on the Java platform:
  • fixed issues of uml adapter with nested types, i.e. type definitions within other type definitions, e.g. inner classes (see #186)
  • fixed wrapper type for double (see #189)
  • fixed initialization of primitive multi valued types (arrays) with default values (see #187)
  • fixed generation of property access operations for primitive multi valued types (arrays) (see #188)
  • support for ellipses / variable argument lists was added (see #188, r5350)
  • added warning if generator is not able to initialize primitive multi valued types (see #187, r5336)
  • added missing tagged values add = true and remove = true to stereotype accessor of the genesez standard profile for magic draw (see #198)
  • fixed initialization of primitive multi valued types (arrays) with default values when no fixed upper bound multiplicity is specified (see #197)
  • fixed transformation of uml value specifications (see #199)
  • fixed visibility and static modifier of property access operations (see #203, #204)
  • fixed package declaration of types for default package (no package) and classifier with model containment using model name as base package (see #202)
  • revise type naming for Java interfaces and annotation interfaces (see r5440)

Release Notes 3.0.3

This release fixes bug #216 where meta data, especially the stereotype primitive, was not cloned during interface realizations.

Release Notes 3.0.4

  • fixed transformation of external types when used as constraining classifier (see #220)
  • better support for tagged value references (see #220)
  • revised functions in realization script to easily adjust the meta data to clone for operations and parameters (see r5673)

Release Notes 3.0.5

This release fixes a bug (#222) within the UML to Gcore transformation in case operations and properties (attributes and association roles) are used as value of tagged values.

Release Notes 3.0.6

The release fixes a bug (#224) introduced with the last release: transformed association roles are not linked together by opposite thus the gcore model just contained unidirectional associations instead of bidirectional.

Release Notes 3.0.7

This release fixes the transformation of uml profiles to gcore models as well as the Java annotation support. See bug #225 for details.

Release Notes 3.0.8

This release fixes:
  • the eclipse wizard now works on eclipse 4.3 (kepler) (see #182)
  • transformation of the multiplicity settings from attributes and association roles (see #227)
  • transformation of state machines (see #228)

Release Notes 3.0.9

  • Fixes the ordering changes of realized interfaces on classes (see #229)

Release Notes 3.0.10

  • Fixes the missing workflow parameter usePropertyVisibilityForAccessors on bundled example projects (see #233)
  • Fixes the automatic installation of the mwe2 editor (see #232)
  • Fixes the automatic replacement of the application directory name of example projects (see #234)
  • Fixes bug in build scripts to determine genesez version number (see r6019)

Release Notes 3.0.11

  • Runs with Eclipse 4.4 Luna and all dependencies from the Eclipse 4.4 Luna Release Train (Update dependencies to: EMF, UML, MWE, MWE2, Xpand)
  • Changes UML initialization: by default just the initialization of the uml plugin is used, additionally the xpand uml (standardUML2Setup = true) and genesez uml setup (doSetup = true) setup can be executed (see #237)

Release Notes 3.0.12

  • Add dependencies to let p2 automatically install the XPand-, XTend- and Check-Editor (see #247)

Release Notes 3.0.13

  • Removed plug-in dependencies from release 3.0.12 and replaced them by feature dependencies to the XPand-UI- and UML2 typesystem feature to ensure the whole XPand-Eclipse-UI integration as well all necessary typesystems are installed completely (see #247)