You've created a plain vanilla FuGE XSD. You've also extended the FuGE UML and made your own community extension. What's next? The final step is to translate your new UML into an XSD.
These instructions are based on http://wiki.ficcs.org/ficcs/FuGE-to-XSD, with further additions and modifications to suit this toolkit.
The default setup as provided when you checked out this project from Subversion is to generate the FuGE XSD only. There are a couple of changes to both the Maven properties file and the Andromda properties file
<extension.model.uri>file:${project.build.sourceDirectory}/NewFuGEExtension.uml2</extension.model.uri>
The default setup as provided when you checked out this project from Subversion is to generate the FuGE XSD only. There are a few small changes to the AndroMDA configuration files that you'll need to make to ensure that your new community extension is recognized and processed by AndroMDA.
mv XmlSchema.vsl XmlSchema-shared.vsl
Then, rename XmlSchema-for-extensions.vsl to XmlSchema.vsl :
mv XmlSchema-for-extensions.vsl XmlSchema.vsl
<modelPackages processAll="true"> <modelPackage process="true">FuGE::**</modelPackage> </modelPackages>
If you decided in the previous step to generate a joined XSD with both the FuGE and your community's schema, then you just have to add your own package name as a modelPackage element:
<modelPackages processAll="true"> <modelPackage process="true">FuGE::**</modelPackage> <modelPackage process="true">your.package.name::**</modelPackage> </modelPackages>
If you decided in the previous step to just generate your community's schema, then you need to set processAll as well as the processing of the FuGE package to false :
<modelPackages processAll="false"> <modelPackage process="false">FuGE::**</modelPackage> <modelPackage process="true">your.package.name::**</modelPackage> </modelPackages>
For general interest, you can flip which package is generated at any time by changing the process attribute of the modelPackage element and re-generating the XSD.
<!--<uri>${extension.model.uri}</uri>-->
FuGE, and the extension you're working on, is stored in Subversion as a MagicDraw 15.0 zip file. In order for AndroMDA to be able to process it, you need to convert it into a more standard file format.
File -> Export -> EMF UML2 (v1.x) XMI Ensure you select the trunk/mda/src/main/uml directory as the export directory Click "Export"
This conversion will produce a number of files, all ending with the extension .uml2 . If you make any changes to the FuGE-OM, you will need to re-export all of the files again by following the directions above.