Uncategorized

Visual Studio 2008 Training Kit

No Comments »Written on November 25th, 2007 by
Categories: Uncategorized

I try to avoid posts that only link to other content but this is worth it... It is the Visual Studio 2008 Traning Kit which contains presentations, labs, demos on a lot of the new .NET stuff. Imagine that, a Microsoft link actually worth checking out ;)

Noma’s hibernate mapping parsing

2 commentsWritten on September 23rd, 2007 by
Categories: Uncategorized

Time for a little status update. I'm still working on parsing the hibernate mapping files but the end is finally near. The following elements are now supported: array, bag, class, column, composite-element, discriminator, element, generator, hibernate-mapping, id, index, index-many-to-many, key, list, many-to-many, many-to-one, map, one-to-many, one-to-one, parent, property, set, timestamp and version. Supported meaning that these elements are parsed from xml and that there are easy to use classes for all of these elements and the data they hold. Not supported yet: any, composite-id, component, dynamic-component, idbag, import, joined-subclass, primitive-array and subclass. Support for these will be added soon. If you can think of an element i forgot, let me know so i can include it.

Now, some of these elements are parsed completely (meaning each attribute and child element), and some of them are only being parsed partially (meaning only the attributes and child elements that i think are relevant to Noma). Elements and attributes that my parser doesn't understand are simply ignored. But the parser is very easy to extend and/or modify so adding support for other elements/attributes is fairly easy and not a lot of work... but it's boring work though :) (which is why it's progressing so slowly)

Once the parser is finished, i need to gather metadata from your entity classes and also provide all of that information in an easy to use object model. That should be fairly easy since it'll just use reflection to inspect all of the types the classes hold. And then, i'll finally be able to start working on the rule engine and the whole point of this stuff: the rules :)

If you want, you can always browse the code online or get it all through subversion.

I'll try to post a weekly status update on Noma from now on... Not sure if this is interesting to any of you, but hopefully it'll force me to keep spending time on it :P

Noma status update

No Comments »Written on September 1st, 2007 by
Categories: Uncategorized

In case you were wondering how far along i am developing Noma, the answer is: not far at all. I really need to spend more time on this. Anyway, so far all i have is a way to retrieve the database meta data from SQL Server and store it in a database-independent and easy to use object model.

Right now i'm working on parsing the nhibernate mapping files and putting the data in an easy to use object model. For a while, i figured i'd just use the nhibernate code that parses the mapping files but i wasn't very comfortable with that code, and the nhibernate team are in fact doing some heavy refactoring in that area of their codebase. So i decided to just parse it all myself... that code is pretty boring and tedious to write, but in the end i will have an easy to use object model representing the nhibernate mappings.

My goal is basically to make writing noma rules incredibly easy based on these object models (one for nhibernate mapping date, one for database metadata, and one for .NET class data). But i have no idea when i'll actually have something that works, let alone something usable. And no, i'm not making any promises as to when i'll have something i can release. But if you are interested, you can always keep an eye on the subversion repository :)

The Birth Of Noma

No Comments »Written on July 30th, 2007 by
Categories: Uncategorized

As i mentioned earlier, i will be developing a tool to analyze NHibernate mapping files. Somewhat like how FxCop analyzes code, this tool will analyze your mapping files and compare them to database metadata and class metadata to spot errors, show warnings, or suggest improvements.

The SourceForge people finally activated my project so i guess it's somewhat official now... The tool will be called Noma. Yes that's right... Noma. And no, the name has no meaning whatsoever. If anything, it's merely a testament to my inability to come with a good project name.

The project page can be found here and the SVN repository can be found here. There's very little code in there so far, but that should improve soon :)