MongoEMF 0.7.1 Released

I have released MongoEMF version 0.5.1.  MongoEMF is a bridge between MongoDB and the Eclipse Modeling Framework making it very easy to store and retrieve instances of EMF objects in MongoDB.  This version updates the MongoDB driver to version 2.9.3, support for passing a generic MongoDB query in the URI, and bug fixes.  Please see the Release Notes for details.

I’m working on MongoEMF 0.8.0 in the next branch and there will be a fairly significant code refactoring.  I’m going to be renaming packages, and splitting code out into multiple projects.  This will hopefully be the last major API change before I declare the API stable and release 1.0.  I’m still very interested in hooking up a query engine based on Xtext, but currently do not have time to work on this.  If you are interested in contributing in this area, or any other part of the project, please let me know.


9 thoughts on “MongoEMF 0.7.1 Released

  1. Hello Bryan,
    I am working on a eclipse based product where we extensively dealing with EMF. Until recently, we were serializing our EMF models onto XMI based file resources. However we now have a requirement to persist the models onto a relational database. After trying out some frameworks like Teneo and Texo, I stumbled upon Mongo-EMF and found it interesting and more suiting to our requirements.

    Our model is fairly complicated with lot of abstraction and class hierarchies. What are your thoughts on using mongo-emf in our project ?


    • IMHO, mongo-emf would be a good match for persisting complex models. Admittedly, I’m very biased against ORM frameworks like Hibernate and EclipseLink. ORM attempts to shove a square peg into a round hole and tools like Hibernate and EclipseLink are the sledge hammer that make that happen. When you start dealing with a complicated inheritance hierarchy or the requirement to provide dynamic attributes (something EMF excels at), you quickly find ORM painful to use. This is exactly why I developed mongo-emf. You are not constrained by a rigid schema and are free to persist your objects without having to create complex mappings – it just works.

      Please be aware that I’m currently doing a major refactoring to the code to split it up into separate projects as portions of the current project can stand alone. This will cause many API changes. I hope to have this refactoring complete in a few weeks.

  2. Hi Bryan, first of all thanks for mongo-emf, i am really looking forward to try that.
    Only problem: i cant find the correct p2 repository as the link on the github page just points me to equinox p2: and apparently google isnt my friend today…
    Am i just stupid? 🙂 could u please provide the correct p2 repository link?

    Thanks a lot!

    • The link is in the p2 subsection – each version is a link to the appropriate repository. If you have any suggestions on how to make the documentation more clear, please let me know.

  3. Hi again Bryan,
    i am somehow stuck here… sorry for asking this basic questions here but i cant think of a better place right now.
    I am a beginner to OSGi so please be patient with me 🙂
    I coned the repo from the master branch and imported all the bundles in my Eclipse workspace. I want to get the examples project running…
    What i get now is mesages like this:
    !ENTRY org.eclipse.equinox.ds 4 0 2013-09-17 15:27:44.033
    !MESSAGE Could not bind a reference of component org.eclipselabs.mongo.locator. The reference is: Reference[name = IDatabaseAuthenticationProvider, interface = org.eclipselabs.mongo.IDatabaseAuthenticationProvider, policy = dynamic, cardinality = 0..n, target = null, bind = bindDatabaseAuthenticationProvider, unbind = unbindDatabaseAuthenticationProvider]

    There are more messages like this for: IDatabaseAuthenticationProvider, IMongoId, IResourceSetConfigurator and IUriHandlerProvider

    I read the wiki page about the IMonogProvider service, but to be honest i dont really get what i have to do…

    Can u point me to the problem please? Do i have to make another plugin which implements the IMongoProvider? Or is that just a Configuration Admin Service problem?

    Thanks again…

    • Are you building from source? If so, I would highly recommend cloning the “next” branch. The dependencies are a bit more complicated, but you should be able to set everything up from the provided target platform.

      My guess, without looking over your shoulder, is that you are missing some bundles in your launch configuration. Did you start with the example launch configuration, or create your own?

      BTW, there is a google group for MongoEMF:MongoEMF Google Group

    • Ok, the code in “next” should work. I’m getting some messages about references not being able to bind, but the code seems to work. I’ll be sorting out the references soon.


Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s