Metadata
Repository (MDR)
Project Home
This is home of the Metadata Repository project (MDR). MDR implements
the OMG's MOF (Meta Object Facility) standard based metadata repository
and itegrates it into the NetBeans Tools Platform. It contains implementation
of MOF repostitory including persistent storage mechanism for storing the
metadata. The interface of the MOF repository is based on (and fully compliant with) JMI (Java Metadata
Interface - JSR-40). MDR also defines additional features that help to
incorporate it into the IDE (e.g. event notification mechanism). MDR is
rather an infrastructure project, so you won't find many screenshots here.
To present the MDR functionality to the user it is usually necessary to
write a module which uses the MDR.
To get basic information about MDR look at what are its key
features.
MDR Architecture document will give you an overview of
the components and architectural blocks the MDR is built of.
For the list of planned features for the next release please go to MDR planning pages.
Download, install and use the MDR
There are several ways you can install the MDR into NetBeans. To learn
more, see installation instructions. After
installing MDR, you may start using it. Read First
Steps with MDR to see how to start.
Standards and theory
MDR is based on industry standards defined by Object
Management Group (OMG) and Java Community
Process (JCP). To learn more about standards behind MDR click here.
MDR documentation
To get more extensive view of MDR, visit our documentation page.
Key MDR features
- Support for import of XMI 1.1/1.2 documents for both MOF 1.4 and MOF
1.3 (transparently converted to MOF 1.4)
MDR is able to load any MOF 1.4 (and some of MOF 1.3) metamodels in
form of an XMI document. MOF 1.3 metamodels are automaticaly converted
to MOF 1.4 metamodels (if possible) during the import process.
- Support for export of data stored in the repository to XMI 1.2 documents
MDR is able to save a content of any package extent into XMI 1.2 document.
- Generation of Java interfaces (JMI compliant) for any loaded MOF metamodel.
MDR is able to generate Java APIs for accessing metadata described
by the specified MOF metamodel.
- Instantiation of any MOF compliant metamodel
Any MOF metamodel loaded into the MDR can be instantiated (this can
be understood as a creation of a "subrepository" able to store
metadata described by this model). The instance of the metamodel can
be then accessed using both reflective, or metamodel
specific (generated) APIs.
- Automatic run-time implementation of generated APIs (no need to restart
the MDR)
User of the MDR does not need to implement the generated metamodel
specific APIs before he/she wants to access the metadata of a particular kind via these metamodel specific APIs.
The generated APIs get implemented automatically during the MDR run-time as they are needed.
- Standalone repository access via DJava shell
MDR can work as a standalone application - to demonstrate this, part
of MDR project is also a simple application that provides a commandline
access (using DJava) to the repository.
- Integration with NetBeans IDE, special MDR looks for browsing the repository
contents
Part of MDR is a NetBeans integration module, which contains "NetBeans
looks" exposing the repository contents and actions that can be done in the repository.
Any questions/comments?
If you have any questions or comments, don't hesitate to ask/let us know
on users@mdr.netbeans.org (for comments related to usage of MDR) or dev@mdr.netbeans.org (for comments related to implementation of MDR) mailing list.
Also note that MDR has its own FAQ page and Troubleshooting page.