Changes history. 0.4.20 build.xml should now run on linux (patch from Michael Schlueter) ElementResidence is now owned by Component and ElementImport is now owned by Package in order to prevent problmes with xmi generation. 0.4.19 Several fixes in XMI and in Impl generation code. 0.4.18 Several small fixes in event handling code. 0.4.17 fixed bug in metamodel that caused a problem with not saved tagged values. NSUML was adapted to work with ANT 1.2. 0.4.16 manifest in jar cased some problems on JDK 1.3 0.4.15 Generation of bag-list association was fixed. There was a bug that caused exceptions in some situations. 0.4.14 Generation "add in position" reflective methods for list roles was fixed (simple addRole(Object) was generating instead addRole(int, Object)). TaggedValue toString have been changed. 0.4.13 Generation "add in position" methods for list roles was fixed (simple add(Object) was generating instead add(int, Object)). 0.4.12 getModelElementContents() was fixed. Listeners/events processing was updated. Exporter generation was added in XMIWriter. JAXP interfaces are now using for XML processing. XML4J was replaced by Xerces. 0.4.11 References with superclasses names in XMIReader now processing correctly. Generation references in XMIWriter was also changed. getModel() function in MModelElement was fixed (getNamespace() scan was replaced by getModelElementContainer()). JDOM was updated to version 1.0beta5. 0.4.10 XMI support was updated according to last UML model. CAUTION: model writed by this version cannot be readed correctly by previous versions of nsuml, models saved by previos versions will be read. 0.4.9 XMI extensions support was reimplemented using JDOM (include preserving xmi.id collisions due XMI output). This is not final (and accurate) implementation, changes are possibly. 0.4.8 MultiplicityRange parsing was fixed again (no hopes). 0.4.7 MultiplicityRange parsing was fixed (hope finally). Dependency was made non-abstract class (we can reverse this decision in next version). Speed of XMIReader was significally improved on large models. XMIWriter writing style for links with multiplicity >1 has been changed. 0.4.6 Dependency from IBM's xml4j was removed, wutka's DTD parser is using for DTD processing. 0.4.5 Model.name bug was fixed in XMIReader. Signature of setModelElementContainer was changed. Call to setModelElementContainer for composite role setters was added. Stacktrace for more than one model element owner situation was added. Test .xmi files was fixed (invalid spaces in attributes was deleted). 0.4.4 "*", "n", "N" and "unlimited" was added to valid values for lower and upper attributes of MultiplicityRange. Some "[Error]"messages was replaced by "[Warning]". Minor cosmetic fixes in XMIEventWriter. Encoding problems corrected ("UTF-8" always). 0.4.3 Some compatibility issues with IBM XMI Toolkit and Unisys XMI was fixed. Some bugs (uuid skipping in some cases, incorrect processing of invalid and not interesting elements and other) was fixed. Serialization was added. XMIWriter architecture was changed to SAX event-driving. 0.4.2 Typo errors in MMultiplicity and MMultiplicityRange was fixed. 0.4.1 XMIWriter model elements write order was changed. Exception IncompleteXMIModel for situation with encountering uncontained elements and function getNotContainedElements() was added. lookup() in MNamespaceImpl.user was fixed. 0.4.0 com.sun.java.util.collections was replaced by java.util. Multiple root model elements reading/accessing was added in XMIReader. Ant build tool is now use for building project. XMIReaderDOM removed. 0.3.6 Various functions for mapping xmi.id, xmi.uuid and object was added. Some old functions (getXMIIDMap() and getObjectMap()) was renamed. toString() in MModelElement was added. 0.3.5 Another reincarnation of UML/XMI incompatibility names bug (at this time Transition/StateMachine and SubmachineState/StateMachine roles) was fixed. 0.3.4 Many changes and bugfixes in XMI readers. 0.3.3 Method getXMIIDByElement was removed from XMI readers, instead methods getObjectMap() and getXMIIDMap() was added in XMI readers and writer. 0.3.2 Method getXMIIDByElement was added in XMI readers. 0.3.1 XMIReader multiple objects in single tag bug was fixed. 0.3.0 Factory interface was added. XMI readers was renamed (XMIReaderSAX to XMIReader and XMIReader to XMIReaderDOM). getModelElementContainer() and getModelElementContents() was added to MBase. Some DTD search support was added. Bug in Multiplicity.equals() was fixed. Some other bugs was fixed. 0.2.3 Import java.util.HashMap was replaced to com.sun.java.util.collections.HashMap in enumeration classes. XMIReader optimized (clone Node for XMI.extension tag). XMIWriter and XMIReaderSAX updated. 0.2.2 Some bugs in XMIReader fixed (many elements in one tag). 0.2.1 XMIReaderSAX and generator for it are added. Editor classes for datatypes are added. 0.2.0 The project was restructured. 0.1.8 XMIReader\XMIWriter generator is added. Some changes in generator API, metamodel (added attributes "xmi.name" and "navigable" to role element), xml generator. 0.1.7 XML generator was restored. It is named "xmlgen.ebs". ru.novosoft.uml.MElementListener now extends java.util.Listener. 0.1.6 Fixed bug in undo support (logBagSet calls). 0.1.5 XMI.extension support is added. UML API generator and metamodel.xml changed. Now MBase and MBaseImpl are generated automatically. 0.1.4 Undo support is optimized. Now objects are not created when undo support is disabled. Fixed bug related to undo support. 0.1.3 main() in XMIReader.java, updated XMIWriter.java, modified main() in PetalToUml.java 0.1.2 added xmi.uuid support 0.1.1 added generator for UML API (with resources and custom/user code) and generator for XMI support 0.1.0 release with XMI support (version numbering was started)