JMIUNDO SPI 0.2

Holger Krug <[email protected]>
Newsgroups gmane.comp.java.netbeans.modules.mdr.devel
Message-ID <[email protected]>
The version 0.2 of the JMIUNDO SPI is now available at
http://www.rationalizer.com/jmiundo0.2/.

The former version still may be reviewed at:
http://www.rationalizer.com/jmiundo0.1/.

I finished the handling of attribute change events. During this work I
discovered a certain deficiency of JMI which makes tracking of
attribute change events in the case of nested collection types
impossible. I describe this deficiency at 
http://www.rationalizer.com/jmiundo0.2/com/rationalizer/jmiundo/spi/RepositoryProxy.html#getCollectionEntry(java.util.Collection, java.io.Serializable)

Attribute tracking is actually the hardest part of change tracking. I
need 5 of the 13 methods in `TransactionProxy' for attribute
tracking. IMHO the simple class `AttributeEvent' in the MDR API is an
oversimplification because it does not treat nested attribute types at
all (as structure of collection of collection of structure of list of
class or simpler: collection of collection).

I hope I've missed something, but it seems to be as complicated as you
can see from certain parts of the SPI.

The SPI allows further the tracking of setters of structure
fields. Although not part of JMI (because structures do not have an
identity and hence are not modifiable) setters of structure fields may
be provided by the repository. They are important for interactive
applications to allow straightforward GUI implementations. Hence the
UndoManager can track them.


-- 
Holger Krug
[email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.