<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
><channel><title>The Inquisitive Coder - Davy Brion&#039;s Blog &#187; Uncategorized</title> <atom:link href="http://davybrion.com/blog/category/uncategorized/feed/" rel="self" type="application/rss+xml" /><link>http://davybrion.com/blog</link> <description>inquisitive: adjective. given to inquiry, research, or asking questions; eager for knowledge; intellectually curious</description> <lastBuildDate>Sun, 29 Jan 2012 10:48:12 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>Bye Bye Noma</title><link>http://davybrion.com/blog/2008/04/bye-bye-noma/</link> <comments>http://davybrion.com/blog/2008/04/bye-bye-noma/#comments</comments> <pubDate>Sun, 06 Apr 2008 15:56:49 +0000</pubDate> <dc:creator>Davy Brion</dc:creator> <category><![CDATA[Uncategorized]]></category><guid
isPermaLink="false">http://ralinx.wordpress.com/?p=88</guid> <description><![CDATA[As you may have noticed, i've been pretty quiet about Noma lately... I haven't worked on it for weeks (or is it months now?), mostly because the project just doesn't interest me anymore, and also because i haven't had a lot of free time lately. When i do have some free time, i like to [...]]]></description> <content:encoded><![CDATA[<p>As you may have noticed, i've been pretty quiet about Noma lately... I haven't worked on it for weeks (or is it months now?), mostly because the project just doesn't interest me anymore, and also because i haven't had a lot of free time lately.  When i do have some free time, i like to spend it on learning new things or just experimenting with different libraries or ideas instead of trying to work on something that no longer interests me, or feeling somewhat guilty about not working on it <img
src='http://d18sni7re4ly7f.cloudfront.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p><p>So, the noma project can pretty much be considered dead from now on...</p><p>With that said, one of the things i'm playing around with now is setting up a sample application based on my northwind nhibernate mappings. The idea is basically to just use it as a playground to experiment with new techniques or libraries and come up with good design and architecture ideas. Obviously, i plan on posting about these experiments quite a lot <img
src='http://d18sni7re4ly7f.cloudfront.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ... depending on how much free time i'll have obviously <img
src='http://d18sni7re4ly7f.cloudfront.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p><div
class="bottomcontainerBox" style=""><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <iframe
src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavybrion.com%2Fblog%2F2008%2F04%2Fbye-bye-noma%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div><div
style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <g:plusone size="medium" href="http://davybrion.com/blog/2008/04/bye-bye-noma/"></g:plusone></div><div
style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <a
href="http://twitter.com/share" class="twitter-share-button" data-url="http://davybrion.com/blog/2008/04/bye-bye-noma/"  data-text="Bye Bye Noma" data-count="horizontal" data-via="davybrion">Tweet</a></div><div
style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://davybrion.com/blog/2008/04/bye-bye-noma/" data-counter="right"></script></div><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://davybrion.com/blog/2008/04/bye-bye-noma/"></script></div></div><div
style="clear:both"></div><div
style="padding-bottom:4px;"></div>]]></content:encoded> <wfw:commentRss>http://davybrion.com/blog/2008/04/bye-bye-noma/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>A picture says a 1000 words</title><link>http://davybrion.com/blog/2008/03/a-picture-says-a-1000-words/</link> <comments>http://davybrion.com/blog/2008/03/a-picture-says-a-1000-words/#comments</comments> <pubDate>Tue, 11 Mar 2008 20:29:08 +0000</pubDate> <dc:creator>Davy Brion</dc:creator> <category><![CDATA[Uncategorized]]></category><guid
isPermaLink="false">http://ralinx.wordpress.com/?p=76</guid> <description><![CDATA[i'm finally spending some time on Noma again, and this is a screenshot of the results of trying it out for the first time. Tweet]]></description> <content:encoded><![CDATA[<p><a
href='http://davybrion.com/blog/wp-content/uploads/2008/03/noma_firstrun.png' rel="prettyPhoto[75]" title='Noma’s First Run'><img
src='http://davybrion.com/blog/wp-content/uploads/2008/03/noma_firstrun.png' alt='Noma’s First Run' width="95%" /></a></p><p>i'm finally spending some time on Noma again, and this is a screenshot of the results of trying it out for the first time.</p><div
class="bottomcontainerBox" style=""><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <iframe
src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavybrion.com%2Fblog%2F2008%2F03%2Fa-picture-says-a-1000-words%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div><div
style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <g:plusone size="medium" href="http://davybrion.com/blog/2008/03/a-picture-says-a-1000-words/"></g:plusone></div><div
style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <a
href="http://twitter.com/share" class="twitter-share-button" data-url="http://davybrion.com/blog/2008/03/a-picture-says-a-1000-words/"  data-text="A picture says a 1000 words" data-count="horizontal" data-via="davybrion">Tweet</a></div><div
style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://davybrion.com/blog/2008/03/a-picture-says-a-1000-words/" data-counter="right"></script></div><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://davybrion.com/blog/2008/03/a-picture-says-a-1000-words/"></script></div></div><div
style="clear:both"></div><div
style="padding-bottom:4px;"></div>]]></content:encoded> <wfw:commentRss>http://davybrion.com/blog/2008/03/a-picture-says-a-1000-words/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Noma Checks Preview</title><link>http://davybrion.com/blog/2008/01/noma-checks-preview/</link> <comments>http://davybrion.com/blog/2008/01/noma-checks-preview/#comments</comments> <pubDate>Fri, 04 Jan 2008 19:36:20 +0000</pubDate> <dc:creator>Davy Brion</dc:creator> <category><![CDATA[Uncategorized]]></category><guid
isPermaLink="false">http://ralinx.wordpress.com/2008/01/04/noma-checks-preview/</guid> <description><![CDATA[This is just a small preview of how to implement Noma checks. The classes you'll see below work, but i still have to write the engine which runs these checks and feeds them the correct data. But i'm pretty happy with how the implementation of checks looks at the moment, so i wanted to post [...]]]></description> <content:encoded><![CDATA[<p>This is just a small preview of how to implement Noma checks. The classes you'll see below work, but i still have to write the engine which runs these checks and feeds them the correct data. But i'm pretty happy with how the implementation of checks looks at the moment, so i wanted to post something about it.</p><p>First of all, there's the ICheck interface which looks like this:</p><div
style="font-family:Consolas;font-size:10pt;color:black;background:white;"><p
style="margin:0;">&nbsp;&nbsp;&nbsp; <span
style="color:blue;">public</span> <span
style="color:blue;">interface</span> <span
style="color:#2b91af;">ICheck</span> {}</p></div><p>pretty meaningless huh? I'm just using this as a base interface type to identify all different kinds of Noma checks.  For instance, here's the interface that you'll need to implement if you want to perform a check on a ClassMapping:</p><div
style="font-family:Consolas;font-size:10pt;color:black;background:white;"><p
style="margin:0;">&nbsp;&nbsp;&nbsp; <span
style="color:blue;">public</span> <span
style="color:blue;">interface</span> <span
style="color:#2b91af;">ICheckClassMappings</span> : <span
style="color:#2b91af;">ICheck</span></p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; {</p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span
style="color:#2b91af;">ICollection</span>&lt;<span
style="color:#2b91af;">ClassMapping</span>&gt; Select(<span
style="color:#2b91af;">ICollection</span>&lt;<span
style="color:#2b91af;">ClassMapping</span>&gt; classMappings);</p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span
style="color:blue;">void</span> Check(<span
style="color:#2b91af;">ClassMapping</span> classToCheck, <span
style="color:#2b91af;">MetaDataStore</span> store);</p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; }</p></div><p>The Select method is passed all known ClassMappings, and you'll need to return the ones that your check is interested in.  Each one of the selected ClassMappings will then be passed to the Check method along with the entire MetaDataStore which you'll use to look up all the data you need to perform your check.</p><p>If you want to write a check for something that belongs to a ClassMapping, you'll need to implement the generic ICheck interface:</p><div
style="font-family:Consolas;font-size:10pt;color:black;background:white;"><p
style="margin:0;">&nbsp;&nbsp;&nbsp; <span
style="color:blue;">public</span> <span
style="color:blue;">interface</span> <span
style="color:#2b91af;">ICheck</span>&lt;T&gt; : <span
style="color:#2b91af;">ICheck</span></p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; {</p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span
style="color:#2b91af;">ICollection</span>&lt;T&gt; Select(<span
style="color:#2b91af;">ICollection</span>&lt;T&gt; mappings, <span
style="color:#2b91af;">ClassMapping</span> parentClassMapping);</p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span
style="color:blue;">void</span> Check(T mappingToCheck, <span
style="color:#2b91af;">ClassMapping</span> parentClassmapping, <span
style="color:#2b91af;">MetaDataStore</span> store);</p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; }</p></div><p>The type parameter will be the kind of mapping you want to check, like a PropertyMapping for example.  The Select method will then receive a collection of all these mappings per ClassMapping, along with a reference to the ClassMapping the mappings belong to.  You'll then need to return a collection of all the mappings you want to perform the check on.  Each of these will then be passed to the Check method, along with the reference of the ClassMapping it belongs to, and a reference to the MetaDataStore.</p><p>To make it more clear, i'll show you two examples.  First of all, there is the TableExists check:</p><div
style="font-family:Consolas;font-size:10pt;color:black;background:white;"><p
style="margin:0;"><span
style="color:blue;">using</span> System.Collections.Generic;</p><p
style="margin:0;"><span
style="color:blue;">using</span> System.Linq;</p><p
style="margin:0;">&nbsp;</p><p
style="margin:0;"><span
style="color:blue;">using</span> Noma.NHibernate.Mappings;</p><p
style="margin:0;">&nbsp;</p><p
style="margin:0;"><span
style="color:blue;">using</span> NUnit.Framework;</p><p
style="margin:0;">&nbsp;</p><p
style="margin:0;"><span
style="color:blue;">namespace</span> Noma.Runner.Checks.MappingToDatabase.Class</p><p
style="margin:0;">{</p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; <span
style="color:blue;">public</span> <span
style="color:blue;">class</span> <span
style="color:#2b91af;">TableExists</span> : <span
style="color:#2b91af;">ICheckClassMappings</span></p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; {</p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span
style="color:blue;">public</span> <span
style="color:#2b91af;">ICollection</span>&lt;<span
style="color:#2b91af;">ClassMapping</span>&gt; Select(<span
style="color:#2b91af;">ICollection</span>&lt;<span
style="color:#2b91af;">ClassMapping</span>&gt; classMappings)</p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {</p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span
style="color:blue;">return</span> classMappings.Where(c =&gt; !<span
style="color:blue;">string</span>.IsNullOrEmpty(c.Table)).ToList();</p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }</p><p
style="margin:0;">&nbsp;</p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span
style="color:blue;">public</span> <span
style="color:blue;">void</span> Check(<span
style="color:#2b91af;">ClassMapping</span> classToCheck, <span
style="color:#2b91af;">MetaDataStore</span> store)</p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {</p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span
style="color:#2b91af;">Assert</span>.IsNotNull(store.GetTable(classToCheck.Schema, classToCheck.Table),</p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span
style="color:#a31515;">"Table [{0}].[{1}] was not found"</span>, classToCheck.Schema, classToCheck.Name);</p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }</p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; }</p><p
style="margin:0;">}</p></div><p>Pretty simple right? It selects each ClassMapping that has a Table defined, and then in the Check method we use the familiar NUnit Assert class to verify that the referenced table actually exists in our MetaDataStore.</p><p>And this is how the ColumnExists check looks like:</p><div
style="font-family:Consolas;font-size:10pt;color:black;background:white;"><p
style="margin:0;"><span
style="color:blue;">using</span> System.Collections.Generic;</p><p
style="margin:0;">&nbsp;</p><p
style="margin:0;"><span
style="color:blue;">using</span> Noma.Database;</p><p
style="margin:0;"><span
style="color:blue;">using</span> Noma.NHibernate.Mappings;</p><p
style="margin:0;"><span
style="color:blue;">using</span> Noma.Runner.Checks.MappingToDatabase.Class;</p><p
style="margin:0;">&nbsp;</p><p
style="margin:0;"><span
style="color:blue;">using</span> NUnit.Framework;</p><p
style="margin:0;">&nbsp;</p><p
style="margin:0;"><span
style="color:blue;">namespace</span> Noma.Runner.Checks.MappingToDatabase.Property</p><p
style="margin:0;">{</p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; [<span
style="color:#2b91af;">RequiresMappingToPassCheck</span>(<span
style="color:blue;">typeof</span>(<span
style="color:#2b91af;">TableExists</span>))]</p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; <span
style="color:blue;">public</span> <span
style="color:blue;">class</span> <span
style="color:#2b91af;">ColumnExists</span> : <span
style="color:#2b91af;">ICheck</span>&lt;<span
style="color:#2b91af;">PropertyMapping</span>&gt;</p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; {</p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span
style="color:blue;">public</span> <span
style="color:#2b91af;">ICollection</span>&lt;<span
style="color:#2b91af;">PropertyMapping</span>&gt; Select(<span
style="color:#2b91af;">ICollection</span>&lt;<span
style="color:#2b91af;">PropertyMapping</span>&gt; mappings, <span
style="color:#2b91af;">ClassMapping</span> parentClassMapping)</p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {</p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span
style="color:green;">// we need to check all property mappings</span></p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span
style="color:blue;">return</span> mappings;</p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }</p><p
style="margin:0;">&nbsp;</p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span
style="color:blue;">public</span> <span
style="color:blue;">void</span> Check(<span
style="color:#2b91af;">PropertyMapping</span> mappingToCheck, <span
style="color:#2b91af;">ClassMapping</span> parentClassmapping, <span
style="color:#2b91af;">MetaDataStore</span> store)</p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {</p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span
style="color:blue;">string</span> columnName =</p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; !<span
style="color:blue;">string</span>.IsNullOrEmpty(mappingToCheck.ColumnName) ? mappingToCheck.ColumnName : mappingToCheck.Name;</p><p
style="margin:0;">&nbsp;</p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span
style="color:#2b91af;">Table</span> table = store.GetTable(parentClassmapping.Schema, parentClassmapping.Table);</p><p
style="margin:0;">&nbsp;</p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span
style="color:#2b91af;">Assert</span>.IsNotNull(table.GetColumn(columnName),</p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span
style="color:#a31515;">"Class [{0}] refers to column [{1}] in table [{2}].[{3}] but the column was not found"</span>,</p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;  parentClassmapping.Name, columnName, parentClassmapping.Schema, parentClassmapping.Table);</p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }</p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; }</p><p
style="margin:0;">}</p></div><p>Notice the usage of the [RequiresMappingToPassCheck].  You can use this to declare dependencies between checks... if one of the checks referenced with the [RequiresMappingToPassCheck] attribute already failed for a particular mapping or its parent ClassMapping, the check will not be executed for that specific mapping.  In this case, we depend upon a check that only checks ClassMappings.  So the ColumnExists check will not be executed for each ClassMapping that already failed the TableExists check.</p><p>In the Select method, you can see we simply return all the PropertyMappings we've received since we need to check them all.  And in the Check method, we look up the table the ClassMapping refers to, and verify that the referenced column is actually there.</p><p>I've only just come up with this approach... The checks themselves work already, but as i mentioned earlier, i still need to write the engine to execute these checks, feed them the correct data, and resolve the dependencies between the checks.  That should be some pretty interesting code <img
src='http://d18sni7re4ly7f.cloudfront.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p><p>Obviously, you will be able to plug in your own checks which can also have dependencies between them.</p><div
class="bottomcontainerBox" style=""><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <iframe
src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavybrion.com%2Fblog%2F2008%2F01%2Fnoma-checks-preview%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div><div
style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <g:plusone size="medium" href="http://davybrion.com/blog/2008/01/noma-checks-preview/"></g:plusone></div><div
style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <a
href="http://twitter.com/share" class="twitter-share-button" data-url="http://davybrion.com/blog/2008/01/noma-checks-preview/"  data-text="Noma Checks Preview" data-count="horizontal" data-via="davybrion">Tweet</a></div><div
style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://davybrion.com/blog/2008/01/noma-checks-preview/" data-counter="right"></script></div><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://davybrion.com/blog/2008/01/noma-checks-preview/"></script></div></div><div
style="clear:both"></div><div
style="padding-bottom:4px;"></div>]]></content:encoded> <wfw:commentRss>http://davybrion.com/blog/2008/01/noma-checks-preview/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>YANSU</title><link>http://davybrion.com/blog/2007/12/yansu/</link> <comments>http://davybrion.com/blog/2007/12/yansu/#comments</comments> <pubDate>Wed, 12 Dec 2007 21:14:50 +0000</pubDate> <dc:creator>Davy Brion</dc:creator> <category><![CDATA[Uncategorized]]></category> <category><![CDATA[NHibernate]]></category> <category><![CDATA[Noma]]></category><guid
isPermaLink="false">http://ralinx.wordpress.com/2007/12/12/yansu/</guid> <description><![CDATA[That's right, Yet Another Noma Status Update... anyway, there's finally some progress to report. The hibernate mapping parsing is finally done so i can now start working on the rules engine. At the moment, this is what I have in mind: each rule would have to implement a very simple interface which will probably only [...]]]></description> <content:encoded><![CDATA[<p>That's right, Yet Another Noma Status Update... anyway, there's finally some progress to report. The hibernate mapping parsing is finally <a
href="http://noma.svn.sourceforge.net/viewvc/noma/src/Noma/Noma.NHibernate/HbmParser/Parser.cs?revision=82&amp;view=markup">done</a> so i can now start working on the rules engine.</p><p>At the moment, this is what I have in mind: each rule would have to implement a very simple interface which will probably only have 2 methods... the first would allow the rule to register which kind of ClassMappings it's interested in, the other would actually execute the rule on each of the selected ClassMappings.</p><p>For instance, if you'd like to write a rule that has to be checked on each class that has one or more many-to-one mappings, you would be able to 'register' the data you want to check with something like: return AvailableClassMappings.Where(c =&gt; c.ManyToOneMappings.Count &gt; 0);</p><p>The other method of your rule would then be called for each of the ClassMappings your rule has registered. Would be pretty simple and easy i think.</p><p>Anyways, the goal is to get an alpha release out the door somewhere in January.</p><div
class="bottomcontainerBox" style=""><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <iframe
src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavybrion.com%2Fblog%2F2007%2F12%2Fyansu%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div><div
style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <g:plusone size="medium" href="http://davybrion.com/blog/2007/12/yansu/"></g:plusone></div><div
style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <a
href="http://twitter.com/share" class="twitter-share-button" data-url="http://davybrion.com/blog/2007/12/yansu/"  data-text="YANSU" data-count="horizontal" data-via="davybrion">Tweet</a></div><div
style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://davybrion.com/blog/2007/12/yansu/" data-counter="right"></script></div><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://davybrion.com/blog/2007/12/yansu/"></script></div></div><div
style="clear:both"></div><div
style="padding-bottom:4px;"></div>]]></content:encoded> <wfw:commentRss>http://davybrion.com/blog/2007/12/yansu/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>using a default xml namespace with the XElement class</title><link>http://davybrion.com/blog/2007/12/using-a-default-xml-namespace-with-the-xelement-class/</link> <comments>http://davybrion.com/blog/2007/12/using-a-default-xml-namespace-with-the-xelement-class/#comments</comments> <pubDate>Sun, 02 Dec 2007 16:37:40 +0000</pubDate> <dc:creator>Davy Brion</dc:creator> <category><![CDATA[Uncategorized]]></category> <category><![CDATA[namespace]]></category> <category><![CDATA[System.Xml.Linq]]></category> <category><![CDATA[XElement]]></category><guid
isPermaLink="false">http://ralinx.wordpress.com/2007/12/02/using-a-default-xml-namespace-with-the-xelement-class/</guid> <description><![CDATA[I just upgraded all of the xml parsing code in Noma to use the new classes in the System.Xml.Linq namespace, which btw are MUCH easier to use than the old-school XmlDocument/XmlElement/... set of classes. Anyway, i have a lot of tests that create xml elements in memory so the parsing can be tested on them. [...]]]></description> <content:encoded><![CDATA[<p>I just upgraded all of the xml parsing code in Noma to use the new classes in the System.Xml.Linq namespace, which btw are MUCH easier to use than the old-school XmlDocument/XmlElement/... set of classes. Anyway, i have a lot of tests that create xml elements in memory so the parsing can be tested on them. Now, all of those elements should of course use the correct xml namespace.</p><p>With the new XElement class, this is already much easier to do than it was with the XmlElement class.  But, if you're creating a hell of a lot of XElement instances that all need to use the same namespace, you can very easily extend the XElement class to set the correct namespace by default:</p><div
style="font-family:Consolas;font-size:10pt;color:black;background:white;"><p
style="margin:0;">&nbsp;&nbsp;&nbsp; <span
style="color:blue;">public</span> <span
style="color:blue;">class</span> <span
style="color:#2b91af;">NXElement</span> : <span
style="color:#2b91af;">XElement</span></p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; {</p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span
style="color:blue;">public</span> NXElement(<span
style="color:blue;">string</span> name, <span
style="color:blue;">params</span> <span
style="color:blue;">object</span>[] objects)</p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; : <span
style="color:blue;">base</span>(<span
style="color:#2b91af;">Constants</span>.XmlNamespace + name, objects) {}</p><p
style="margin:0;">&nbsp;</p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span
style="color:blue;">public</span> NXElement(<span
style="color:blue;">string</span> name, <span
style="color:blue;">object</span> parameter)</p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; : <span
style="color:blue;">base</span>(<span
style="color:#2b91af;">Constants</span>.XmlNamespace + name, parameter) {}</p><p
style="margin:0;">&nbsp;</p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span
style="color:blue;">public</span> NXElement(<span
style="color:blue;">string</span> name)</p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; : <span
style="color:blue;">base</span>(<span
style="color:#2b91af;">Constants</span>.XmlNamespace + name) {}</p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; }</p></div><p>And now i can create nested XML elements that use the correct namespace just like this:</p><div
style="font-family:Consolas;font-size:10pt;color:black;background:white;"><p
style="margin:0;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span
style="color:#2b91af;">XElement</span> element = <span
style="color:blue;">new</span> <span
style="color:#2b91af;">NXElement</span>(<span
style="color:#2b91af;">Elements</span>.List,</p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span
style="color:blue;">new</span> <span
style="color:#2b91af;">NXElement</span>(<span
style="color:#2b91af;">Elements</span>.OneToMany,</p><p
style="margin:0;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; <span
style="color:blue;">new</span> <span
style="color:#2b91af;">XAttribute</span>(<span
style="color:#2b91af;">Attributes</span>.Class, <span
style="color:#a31515;">"ClassName"</span>)));</p></div><div
class="bottomcontainerBox" style=""><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <iframe
src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavybrion.com%2Fblog%2F2007%2F12%2Fusing-a-default-xml-namespace-with-the-xelement-class%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div><div
style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <g:plusone size="medium" href="http://davybrion.com/blog/2007/12/using-a-default-xml-namespace-with-the-xelement-class/"></g:plusone></div><div
style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <a
href="http://twitter.com/share" class="twitter-share-button" data-url="http://davybrion.com/blog/2007/12/using-a-default-xml-namespace-with-the-xelement-class/"  data-text="using a default xml namespace with the XElement class" data-count="horizontal" data-via="davybrion">Tweet</a></div><div
style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://davybrion.com/blog/2007/12/using-a-default-xml-namespace-with-the-xelement-class/" data-counter="right"></script></div><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://davybrion.com/blog/2007/12/using-a-default-xml-namespace-with-the-xelement-class/"></script></div></div><div
style="clear:both"></div><div
style="padding-bottom:4px;"></div>]]></content:encoded> <wfw:commentRss>http://davybrion.com/blog/2007/12/using-a-default-xml-namespace-with-the-xelement-class/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Visual Studio 2008 Training Kit</title><link>http://davybrion.com/blog/2007/11/visual-studio-2008-training-kit/</link> <comments>http://davybrion.com/blog/2007/11/visual-studio-2008-training-kit/#comments</comments> <pubDate>Sun, 25 Nov 2007 14:42:51 +0000</pubDate> <dc:creator>Davy Brion</dc:creator> <category><![CDATA[Uncategorized]]></category><guid
isPermaLink="false">http://ralinx.wordpress.com/2007/11/25/visual-studio-2008-training-kit/</guid> <description><![CDATA[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 Tweet]]></description> <content:encoded><![CDATA[<p>I try to avoid posts that only link to other content but this is worth it... It is the <a
href="http://blogs.msdn.com/daiken/archive/2007/11/19/visual-studio-2008-training-kit-now-available.aspx">Visual Studio 2008 Traning Kit</a> which contains presentations, labs, demos on a lot of the new .NET stuff.  Imagine that, a Microsoft link actually worth checking out <img
src='http://d18sni7re4ly7f.cloudfront.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p><div
class="bottomcontainerBox" style=""><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <iframe
src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavybrion.com%2Fblog%2F2007%2F11%2Fvisual-studio-2008-training-kit%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div><div
style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <g:plusone size="medium" href="http://davybrion.com/blog/2007/11/visual-studio-2008-training-kit/"></g:plusone></div><div
style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <a
href="http://twitter.com/share" class="twitter-share-button" data-url="http://davybrion.com/blog/2007/11/visual-studio-2008-training-kit/"  data-text="Visual Studio 2008 Training Kit" data-count="horizontal" data-via="davybrion">Tweet</a></div><div
style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://davybrion.com/blog/2007/11/visual-studio-2008-training-kit/" data-counter="right"></script></div><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://davybrion.com/blog/2007/11/visual-studio-2008-training-kit/"></script></div></div><div
style="clear:both"></div><div
style="padding-bottom:4px;"></div>]]></content:encoded> <wfw:commentRss>http://davybrion.com/blog/2007/11/visual-studio-2008-training-kit/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Noma&#8217;s hibernate mapping parsing</title><link>http://davybrion.com/blog/2007/09/nomas-hibernate-mapping-parsing/</link> <comments>http://davybrion.com/blog/2007/09/nomas-hibernate-mapping-parsing/#comments</comments> <pubDate>Sun, 23 Sep 2007 19:54:28 +0000</pubDate> <dc:creator>Davy Brion</dc:creator> <category><![CDATA[Uncategorized]]></category><guid
isPermaLink="false">http://ralinx.wordpress.com/2007/09/23/nomas-hibernate-mapping-parsing/</guid> <description><![CDATA[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 [...]]]></description> <content:encoded><![CDATA[<p>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.</p><p>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 <img
src='http://d18sni7re4ly7f.cloudfront.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> (which is why it's progressing so slowly)</p><p>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 <img
src='http://d18sni7re4ly7f.cloudfront.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p><p>If you want, you can always browse the code <a
href="http://noma.svn.sourceforge.net/viewvc/noma/src/Noma/">online</a> or get it all through <a
href="http://sourceforge.net/svn/?group_id=202056">subversion</a>.</p><p>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 <img
src='http://d18sni7re4ly7f.cloudfront.net/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /></p><div
class="bottomcontainerBox" style=""><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <iframe
src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavybrion.com%2Fblog%2F2007%2F09%2Fnomas-hibernate-mapping-parsing%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div><div
style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <g:plusone size="medium" href="http://davybrion.com/blog/2007/09/nomas-hibernate-mapping-parsing/"></g:plusone></div><div
style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <a
href="http://twitter.com/share" class="twitter-share-button" data-url="http://davybrion.com/blog/2007/09/nomas-hibernate-mapping-parsing/"  data-text="Noma&#8217;s hibernate mapping parsing" data-count="horizontal" data-via="davybrion">Tweet</a></div><div
style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://davybrion.com/blog/2007/09/nomas-hibernate-mapping-parsing/" data-counter="right"></script></div><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://davybrion.com/blog/2007/09/nomas-hibernate-mapping-parsing/"></script></div></div><div
style="clear:both"></div><div
style="padding-bottom:4px;"></div>]]></content:encoded> <wfw:commentRss>http://davybrion.com/blog/2007/09/nomas-hibernate-mapping-parsing/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Noma status update</title><link>http://davybrion.com/blog/2007/09/noma-status-update/</link> <comments>http://davybrion.com/blog/2007/09/noma-status-update/#comments</comments> <pubDate>Sat, 01 Sep 2007 14:51:22 +0000</pubDate> <dc:creator>Davy Brion</dc:creator> <category><![CDATA[Uncategorized]]></category><guid
isPermaLink="false">http://ralinx.wordpress.com/2007/09/01/noma-status-update/</guid> <description><![CDATA[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 [...]]]></description> <content:encoded><![CDATA[<p>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.</p><p>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.</p><p>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 <a
href="http://noma.svn.sourceforge.net/viewvc/noma/src/Noma/">subversion repository</a> <img
src='http://d18sni7re4ly7f.cloudfront.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p><div
class="bottomcontainerBox" style=""><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <iframe
src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavybrion.com%2Fblog%2F2007%2F09%2Fnoma-status-update%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div><div
style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <g:plusone size="medium" href="http://davybrion.com/blog/2007/09/noma-status-update/"></g:plusone></div><div
style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <a
href="http://twitter.com/share" class="twitter-share-button" data-url="http://davybrion.com/blog/2007/09/noma-status-update/"  data-text="Noma status update" data-count="horizontal" data-via="davybrion">Tweet</a></div><div
style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://davybrion.com/blog/2007/09/noma-status-update/" data-counter="right"></script></div><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://davybrion.com/blog/2007/09/noma-status-update/"></script></div></div><div
style="clear:both"></div><div
style="padding-bottom:4px;"></div>]]></content:encoded> <wfw:commentRss>http://davybrion.com/blog/2007/09/noma-status-update/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>The Birth Of Noma</title><link>http://davybrion.com/blog/2007/07/the-birth-of-noma/</link> <comments>http://davybrion.com/blog/2007/07/the-birth-of-noma/#comments</comments> <pubDate>Mon, 30 Jul 2007 21:24:39 +0000</pubDate> <dc:creator>Davy Brion</dc:creator> <category><![CDATA[Uncategorized]]></category><guid
isPermaLink="false">http://ralinx.wordpress.com/2007/07/30/the-birth-of-noma/</guid> <description><![CDATA[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 [...]]]></description> <content:encoded><![CDATA[<p>As i mentioned <a
href="http://ralinx.wordpress.com/2007/07/25/tool-to-analyze-nhibernate-mappings/">earlier</a>, 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.</p><p>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.</p><p>The project page can be found <a
href="http://sourceforge.net/projects/noma">here</a> and the SVN repository can be found <a
href="http://noma.svn.sourceforge.net/viewvc/noma/">here</a>. There's <strong>very</strong> little code in there so far, but that should improve soon <img
src='http://d18sni7re4ly7f.cloudfront.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p><div
class="bottomcontainerBox" style=""><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <iframe
src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavybrion.com%2Fblog%2F2007%2F07%2Fthe-birth-of-noma%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div><div
style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <g:plusone size="medium" href="http://davybrion.com/blog/2007/07/the-birth-of-noma/"></g:plusone></div><div
style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <a
href="http://twitter.com/share" class="twitter-share-button" data-url="http://davybrion.com/blog/2007/07/the-birth-of-noma/"  data-text="The Birth Of Noma" data-count="horizontal" data-via="davybrion">Tweet</a></div><div
style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://davybrion.com/blog/2007/07/the-birth-of-noma/" data-counter="right"></script></div><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://davybrion.com/blog/2007/07/the-birth-of-noma/"></script></div></div><div
style="clear:both"></div><div
style="padding-bottom:4px;"></div>]]></content:encoded> <wfw:commentRss>http://davybrion.com/blog/2007/07/the-birth-of-noma/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Database Caching 2/45 queries in 0.028 seconds using disk: basic
Object Caching 898/987 objects using disk: basic
Content Delivery Network via Amazon Web Services: CloudFront: d18sni7re4ly7f.cloudfront.net

Served from: davybrion.com @ 2012-02-08 05:08:59 -->
