USEFUL INFORMATION TO USE AND RUN THIS SAMPLE JAVA METRICS COMPUTATION/VISUALIZATION WORKFLOW
----------------------------------------------------------------------------------------------

MoDisco, ATL have to be previously installed. This can be done via a dedicated 
wizard named "Install Modeling Components", as available from the workbench icon bar.
The org.eclipse.m2m.atl.projectors.xml plugin also has to be installed, sources available from:
	- https://dev.eclipse.org/svnroot/modeling/org.eclipse.mdt.modisco/incubation/trunk/am3/plugins/trunk/
	(use the "anonymous" repository login, no password required)
Note that the org.eclipse.gmt.modisco.tool.metricsvisualizationbuilder project also has 
to be checkout or imported into your workspace from:
	- https://dev.eclipse.org/svnroot/modeling/org.eclipse.mdt.modisco/plugins/trunk/
	(use the "anonymous" repository login, no password required)

To directly test the proposed sample metrics computation/visualization workflow, you then 
just have to checkout or import in your workspace the following source project:
	- org.eclipse.persistence.example.jpa.20.employee.annotations
	- location: http://dev.eclipse.org/svnroot/rt/org.eclipse.persistence/trunk/examples
	(use the "anonymous" repository login, no password required)

To play with the workflow and its different metrics computation transformations, you can:
	1) Modify the sources of the metrics transformations
	2) Use a different Java project as input of the workflow
		- some launch configurations have to be updated accordingly
