Login

    Register

Managed Hosting

PROJECT CATEGORIES

 

CFC2UML
Project Home Forums Known Issues Contact Project

Author: Marko Simic (All RIAForge projects by this author)
Last Updated: January 21, 2011 4:03 PM
Version: 0.71
Views: 46,532
Downloads: 1,336
License: Apache License, Version 2

Description:

Translate component's metadata into XML following XMI schema (2.1). As such, you can import it in any UML Modeling Tool which supports this standard.

CF - UML equivalents are mapped as:
1) Dot-path (namespace) to Package
2) Component to Class
3) Component properties to ownedAttribute (since 0.7)
4) Function to Operation
4.1) Function return type to Output Parameter. In case of "void", output parameter is not set.
3.2) Arguments to Input Parameters
4) Extends (inheritence) to Generalization

Custom (ColdFusion) primitives are mapped in cfc2uml.xml. These are defined in separate file for developers who have their templates and want to map data types to IDs they already set.

Extension work in 2 modes:
1. Single file. Converts only selected file. Right click on CFC file inside project view -> Generate CFC -> CFC2UML
2. Entire folder. Recursively browse through selected forlder, look for CFCs in it and generate unified UML file. Right click on folder with CFCs -> Generate CFC -> CFC2UML

NOTES:
- Caught exception messages are written in cfc2log
file.
- Extension work only on local drives not server shares. So, if project files are on server share, extension won't be able to translate its path to dot-notated equivalent (coldfusion.runtime.TemplateProxyFactory.getFullName method). For that purpose use standalone version.
- You cannot select entire project, only because I had no enough time to integrate that feature.

Tested on ColdFusion Builder Beta 3 (with MDT/UML2 Eclipse plugin) and CF 9 Server Developer Edition.
Should work on CF8 Server without a problem.
Successfully imported in Visual Paradigm for UML 7.1. Not sure about edition, but Import XMI does not work in Community Edition, so I had to register for trial of Modeling Edition (?).

Tried, but failed, with Poseidon Community Edition 8 Beta and ArgoUML. Since I am not an UML expert nor ever worked with these tools, I would be very grateful if someone who is, could help me to tweak this.

This application won't save you of all work you need to do while creating UML diagrams, but will save you a lot of time on creating basic component models. What to say, but it took me less (?) time to code this plugin then (I estimated) to create class diagram manually.

Standalone version
--------------------
In archive, you'll find folder "cfc2umlsta".
If extension won't work for you for some reason (and that reason is not a bug), try with standalone version.
What you need to do is to copy this dir in application root. To start working point your browser to http://youserver/yourapplication/cfc2umlsta/translate.cfm.
All mentioned above applies to this version too. Interface is quite self-explanatory, but if you still need any help, don't hesitate to ask.

And, at the end: Please set access and returntype type on function, as well as argument data types ;)

Good luck CF fellas and enjoy your life!

Last Update:

- Fix for issue #7 by Aaron Greenlee

Requirements:

* ColdFusion Server 8 or 9
* ColdFusion Builder B3+
* Railo 3.x

Issue Tracker:

ID ISSUE STATUS UPDATED
8 Throws exception when running on CF8 Open 09/01/11 7:49 PM
7 An attributeCollection can only be a struct Open 01/21/11 4:04 PM
6 Component properties translated to ownedAttributes (0.7) Closed 01/18/10 8:37 AM
5 Reference to non-existing component breaks building procedure Fixed 01/18/10 5:32 AM
4 Ordering packedElements not working properly Fixed 01/16/10 7:02 PM

View All Issues

To enter issues for this (or any other) project, you must be logged in.