-
Notifications
You must be signed in to change notification settings - Fork 1
Project general description
The aim of this project is to generate tool (TTool) for UML-2-XSD transformation for Ebix. The tool is based on Eclipse platform. It is created using Xtend and Xtext technologies. UMM - custom language defined for this tool
UML-2-XSD transformation is performed in following steps:
- UML -> text(umm)- information from UML file are transformed to text files in UMM format
- text(umm) -> ODS - writing UMM files as a single spredsheet in ods format; for easier debuging
- text(umm) -> xsd - writing UMM files in final XSD format
- uml - directory in which source UML file from DrawMagic should be put
- backup-uml - backup directory for UML files. On each run subdirectory with date and time is created
- model-text - directory contaning intermediary umm files as well as ods
- schemas - final xsd files
The most important projects are: org.ebix.umm and org.ebix.umm.uml2text
Some basic information about this project. Not all information are up-to-date.
One of two main projects of this too. It holds both umm specification and xsd generation.
- org.ebix.umm.GenerateUmm.mwe2 - umm language generator. More information about mechanism can be find here Xtext MWE2.
- org.ebix.umm.Umm.xtext - umm language definition. If you change definition remeber to re-run generator so this information propagate to other projects.
- org.ebix.umm.Umm.generator.GenerateXsd - start of xsd generation. In other to be compliant with XSD standard and Ebix requiments some magic tricks (like replace) are done here.
Empty project needed for product generation
Projects that defines platform for the final runtime.
Empty project needed for product generation
Project with tests.
- BaseTestCase - generic test case
- UML2TxtParserTest - test checking that uml file can be transformed into spreadsheet (ods) file.
- UMMGeneratorTest - currently unused
Definition of Eclipse Platform features such as: dialogs, editor assistance etc. It is needed for proper UMM files hanlidng.
Project in which uml-2-text transformation is defined.
- org.ebix.umm.uml2text.builder.UmmBuilder - wrapper for uml-2-umm transformation. Start from this class.
- org.ebix.umm.uml2text.Uml2Text - some uml preprocessing and proper umm generation (processFile() method).
- org.ebix.umm.uml2text.2Text - this classes define how different uml construct should be transformed to umm.
- org.ebix.umm.uml2text.ods.Uml2Ods - writing uml as a ods file
You can run test uml-2-umm from org.ebix.umm.uml2text.Uml2Text.main()
- In order to fix information in xsd you should change files in org.ebix.umm project. You should start with GenerateXsd.xtend class and then analyze whether changes should be in this file.
- In order to add new UML constraints or attributes remeber to add it in umm file, in Uml2Text class and GenerateXSD.xtend
- Don't be affraid to use debuger or at lease putting debug information to standard output
- Remember to ignore generated files in your git repository configuration so you can follow what are the real changes. Otherwise you will be floded with false changes.