E&S CVS Commit: PEAK - Added support for XMI DM's to look up metamodels via properties. The

pje at eby-sarna.com pje at eby-sarna.com
Mon Mar 31 19:15:00 EST 2003

Module Name:	PEAK
Committed By:	pje
Date:		Tue Apr  1 00:14:42 UTC 2003

Modified Files:
	PEAK/src/peak: peak.ini
	PEAK/src/peak/metamodels/tests: General.py
	PEAK/src/peak/model: features.py
	PEAK/src/peak/storage: data_managers.py xmi.py
	PEAK/src/peak/storage/tests: xmi.py

Log Message:
Added support for XMI DM's to look up metamodels via properties.  The
'peak.xmi.metamodels' property namespace will be checked for a property
named 'name.version' where 'name' is the 'xmi.name' attribute of the
'XMI.metamodel' tag, and 'version' is the 'xmi.version' attribute, if
present.  The property value should be the appropriate metamodel module.

The 'DM.importFromXMI()' method has been replaced with a module-level
function, 'storage.xmi.fromFile()'.  For most simple XMI-processing
programs, simply calling the function to get back the top-level content
list for a specified file or URL should be sufficient.  It's still
possible, however, to manually specify a metamodel, using the 'metamodel'
keyword argument to 'fromFile()'.

In addition, this checkin contains some changes I previously made to
simplify the "peak.ini" using the new 'config.instancePerApp()' API,
but accidentally skipped checking in.  Last, but not least, there are
some changes to 'peak.model.features' that make it easier to introspect
a feature's CORBA typecode kind (which is important for XMI writing), and
I stripped trailing whitespaces from the source of the
'peak.storage.data_managers' module.  (I should be stripping them from
many more modules too, as soon as I figure out how to automate it on a
multi-file basis in jEdit.)

To view diffs of this commit, you can use the following URL(s):

To generate a diff of this commit:
cvs rdiff -r1.27 -r1.28 PEAK/src/peak/peak.ini
cvs rdiff -r1.20 -r1.21 PEAK/src/peak/metamodels/tests/General.py
cvs rdiff -r1.6 -r1.7 PEAK/src/peak/model/features.py
cvs rdiff -r1.15 -r1.16 PEAK/src/peak/storage/data_managers.py
cvs rdiff -r1.24 -r1.25 PEAK/src/peak/storage/xmi.py
cvs rdiff -r1.9 -r1.10 PEAK/src/peak/storage/tests/xmi.py

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

More information about the source-changes mailing list