<?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>Brent Baxter &#187; springsource</title>
	<atom:link href="http://www.brentbaxter.com/tag/springsource/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.brentbaxter.com</link>
	<description>techie, dad, cyclist</description>
	<lastBuildDate>Fri, 09 Apr 2010 19:07:08 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Grails Tip: Using failOnError When Saving Domain Instances</title>
		<link>http://www.brentbaxter.com/2010/03/10/grails-tip-using-failonerror-when-saving-domain-instances/</link>
		<comments>http://www.brentbaxter.com/2010/03/10/grails-tip-using-failonerror-when-saving-domain-instances/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 03:17:05 +0000</pubDate>
		<dc:creator>brent</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[chariot]]></category>
		<category><![CDATA[Grails]]></category>
		<category><![CDATA[Groovy]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[springsource]]></category>

		<guid isPermaLink="false">http://www.brentbaxter.com/?p=288</guid>
		<description><![CDATA[Calling the save method on a Grails domain class will return a null if there was an error in validation.  This is handy when doing something like the following.

if( !book.save() ) {
   book.errors.each {
        println it
   }
}

In Grails 1.2 a feature was added [...]]]></description>
			<content:encoded><![CDATA[<p>Calling the save method on a Grails domain class will return a null if there was an error in validation.  This is handy when doing something like the following.</p>
<pre class="brush: groovy;">
if( !book.save() ) {
   book.errors.each {
        println it
   }
}
</pre>
<p>In Grails 1.2 a feature was added to allow the option of forcing save to throw a grails.validation.ValidationException by using the failOnError  argument.</p>
<pre class="brush: groovy;">
try {
     book.save(failOnError:true)
} catch(ValidationException e) {
   // handle
}
</pre>
<p>If you prefer to make failing on validation errors the default, you can update Config.groovy in your Grails project to set the following property.</p>
<pre class="brush: groovy;">
grails.gorm.failOnError=true
</pre>
<p>Thanks to Jeff Brown for reminding me of this when replying to a recent <a href="http://n4.nabble.com/issue-bootstrapping-Domain-object-td1579784.html#a1579784">thread</a> on the Grails user email list.</p>
<div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Fwww.brentbaxter.com%2F2010%2F03%2F10%2Fgrails-tip-using-failonerror-when-saving-domain-instances%2F&amp;title=Grails+Tip%3A+Using+failOnError+When+Saving+Domain+Instances" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/digg.png" alt="Digg This" title="Digg This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.brentbaxter.com%2F2010%2F03%2F10%2Fgrails-tip-using-failonerror-when-saving-domain-instances%2F&amp;title=Grails+Tip%3A+Using+failOnError+When+Saving+Domain+Instances" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/reddit.png" alt="Reddit This" title="Reddit This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.brentbaxter.com%2F2010%2F03%2F10%2Fgrails-tip-using-failonerror-when-saving-domain-instances%2F&amp;title=Grails+Tip%3A+Using+failOnError+When+Saving+Domain+Instances" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/stumbleupon.png" alt="Stumble Now!" title="Stumble Now!" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Fwww.brentbaxter.com%2F2010%2F03%2F10%2Fgrails-tip-using-failonerror-when-saving-domain-instances%2F&amp;headline=Grails+Tip%3A+Using+failOnError+When+Saving+Domain+Instances" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/yahoo_buzz.png" alt="Buzz This" title="Buzz This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dzone.com/links/add.html?title=Grails+Tip%3A+Using+failOnError+When+Saving+Domain+Instances&amp;url=http%3A%2F%2Fwww.brentbaxter.com%2F2010%2F03%2F10%2Fgrails-tip-using-failonerror-when-saving-domain-instances%2F" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/dzone.png" alt="Vote on DZone" title="Vote on DZone" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.facebook.com/sharer.php?t=Grails+Tip%3A+Using+failOnError+When+Saving+Domain+Instances&amp;u=http%3A%2F%2Fwww.brentbaxter.com%2F2010%2F03%2F10%2Fgrails-tip-using-failonerror-when-saving-domain-instances%2F" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/facebook.png" alt="Share on Facebook" title="Share on Facebook" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://delicious.com/save?title=Grails+Tip%3A+Using+failOnError+When+Saving+Domain+Instances&amp;url=http%3A%2F%2Fwww.brentbaxter.com%2F2010%2F03%2F10%2Fgrails-tip-using-failonerror-when-saving-domain-instances%2F" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/delicious.png" alt="Bookmark this on Delicious" title="Bookmark this on Delicious" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dotnetkicks.com/kick/?title=Grails+Tip%3A+Using+failOnError+When+Saving+Domain+Instances&amp;url=http%3A%2F%2Fwww.brentbaxter.com%2F2010%2F03%2F10%2Fgrails-tip-using-failonerror-when-saving-domain-instances%2F" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/dotnetkicks.png" alt="Kick It on DotNetKicks.com" title="Kick It on DotNetKicks.com" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://dotnetshoutout.com/Submit?title=Grails+Tip%3A+Using+failOnError+When+Saving+Domain+Instances&amp;url=http%3A%2F%2Fwww.brentbaxter.com%2F2010%2F03%2F10%2Fgrails-tip-using-failonerror-when-saving-domain-instances%2F" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/dotnetshoutout.png" alt="Shout it" title="Shout it" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.brentbaxter.com%2F2010%2F03%2F10%2Fgrails-tip-using-failonerror-when-saving-domain-instances%2F&amp;title=Grails+Tip%3A+Using+failOnError+When+Saving+Domain+Instances&amp;summary=&amp;source=" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.brentbaxter.com%2F2010%2F03%2F10%2Fgrails-tip-using-failonerror-when-saving-domain-instances%2F" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/technorati.png" alt="Bookmark this on Technorati" title="Bookmark this on Technorati" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://twitter.com/home?status=Reading+http%3A%2F%2Fwww.brentbaxter.com%2F2010%2F03%2F10%2Fgrails-tip-using-failonerror-when-saving-domain-instances%2F" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/twitter.png" alt="Post on Twitter" title="Post on Twitter" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.google.com/buzz/post?url=http%3A%2F%2Fwww.brentbaxter.com%2F2010%2F03%2F10%2Fgrails-tip-using-failonerror-when-saving-domain-instances%2F" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/google_buzz.png" alt="Google Buzz (aka. Google Reader)" title="Google Buzz (aka. Google Reader)" /></a>&nbsp;&nbsp;</div>]]></content:encoded>
			<wfw:commentRss>http://www.brentbaxter.com/2010/03/10/grails-tip-using-failonerror-when-saving-domain-instances/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Grails 1.2.1 is Released</title>
		<link>http://www.brentbaxter.com/2010/02/01/grails-1-2-1-is-released/</link>
		<comments>http://www.brentbaxter.com/2010/02/01/grails-1-2-1-is-released/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 02:08:01 +0000</pubDate>
		<dc:creator>brent</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[chariot]]></category>
		<category><![CDATA[Grails]]></category>
		<category><![CDATA[Groovy]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[springsource]]></category>

		<guid isPermaLink="false">http://www.brentbaxter.com/?p=267</guid>
		<description><![CDATA[Great news for all Grails developers, it appears that the core Grails team is still hard at work.  Today it was announced that Grails 1.2.1 is ready.  A quick look at the release notes and I see that there aren&#8217;t any major new features, but there are a lot of bug fixes. While [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.brentbaxter.com/wp-content/uploads/2009/11/grailslogo_topNav.png" alt="" title="Grails Logo" width="163" height="43" class="alignleft size-full wp-image-44" />Great news for all Grails developers, it appears that the core Grails team is still hard at work.  Today it was announced that <a href="http://www.grails.org/1.2.1+Release+Notes">Grails 1.2.1</a> is ready.  A quick look at the release notes and I see that there aren&#8217;t any major new features, but there are a lot of bug fixes. While this alone is encouraging, when I looked at the <a href="http://jira.codehaus.org/browse/GRAILS#selectedTab=com.atlassian.jira.plugin.system.project:roadmap-panel">Grails Roadmap</a> I see issues cued up for 1.2.2 and a release date of 1.3 is still listed as March 30. So far I&#8217;m liking the first quarter of 2010!</p>
<div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Fwww.brentbaxter.com%2F2010%2F02%2F01%2Fgrails-1-2-1-is-released%2F&amp;title=Grails+1.2.1+is+Released" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/digg.png" alt="Digg This" title="Digg This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.brentbaxter.com%2F2010%2F02%2F01%2Fgrails-1-2-1-is-released%2F&amp;title=Grails+1.2.1+is+Released" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/reddit.png" alt="Reddit This" title="Reddit This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.brentbaxter.com%2F2010%2F02%2F01%2Fgrails-1-2-1-is-released%2F&amp;title=Grails+1.2.1+is+Released" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/stumbleupon.png" alt="Stumble Now!" title="Stumble Now!" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Fwww.brentbaxter.com%2F2010%2F02%2F01%2Fgrails-1-2-1-is-released%2F&amp;headline=Grails+1.2.1+is+Released" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/yahoo_buzz.png" alt="Buzz This" title="Buzz This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dzone.com/links/add.html?title=Grails+1.2.1+is+Released&amp;url=http%3A%2F%2Fwww.brentbaxter.com%2F2010%2F02%2F01%2Fgrails-1-2-1-is-released%2F" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/dzone.png" alt="Vote on DZone" title="Vote on DZone" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.facebook.com/sharer.php?t=Grails+1.2.1+is+Released&amp;u=http%3A%2F%2Fwww.brentbaxter.com%2F2010%2F02%2F01%2Fgrails-1-2-1-is-released%2F" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/facebook.png" alt="Share on Facebook" title="Share on Facebook" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://delicious.com/save?title=Grails+1.2.1+is+Released&amp;url=http%3A%2F%2Fwww.brentbaxter.com%2F2010%2F02%2F01%2Fgrails-1-2-1-is-released%2F" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/delicious.png" alt="Bookmark this on Delicious" title="Bookmark this on Delicious" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dotnetkicks.com/kick/?title=Grails+1.2.1+is+Released&amp;url=http%3A%2F%2Fwww.brentbaxter.com%2F2010%2F02%2F01%2Fgrails-1-2-1-is-released%2F" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/dotnetkicks.png" alt="Kick It on DotNetKicks.com" title="Kick It on DotNetKicks.com" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://dotnetshoutout.com/Submit?title=Grails+1.2.1+is+Released&amp;url=http%3A%2F%2Fwww.brentbaxter.com%2F2010%2F02%2F01%2Fgrails-1-2-1-is-released%2F" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/dotnetshoutout.png" alt="Shout it" title="Shout it" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.brentbaxter.com%2F2010%2F02%2F01%2Fgrails-1-2-1-is-released%2F&amp;title=Grails+1.2.1+is+Released&amp;summary=&amp;source=" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.brentbaxter.com%2F2010%2F02%2F01%2Fgrails-1-2-1-is-released%2F" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/technorati.png" alt="Bookmark this on Technorati" title="Bookmark this on Technorati" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://twitter.com/home?status=Reading+http%3A%2F%2Fwww.brentbaxter.com%2F2010%2F02%2F01%2Fgrails-1-2-1-is-released%2F" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/twitter.png" alt="Post on Twitter" title="Post on Twitter" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.google.com/buzz/post?url=http%3A%2F%2Fwww.brentbaxter.com%2F2010%2F02%2F01%2Fgrails-1-2-1-is-released%2F" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/google_buzz.png" alt="Google Buzz (aka. Google Reader)" title="Google Buzz (aka. Google Reader)" /></a>&nbsp;&nbsp;</div>]]></content:encoded>
			<wfw:commentRss>http://www.brentbaxter.com/2010/02/01/grails-1-2-1-is-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spring, Groovy, and Grails Closing 2009 With a Bang</title>
		<link>http://www.brentbaxter.com/2009/12/16/spring-groovy-and-grails-closing-2009-with-a-bang/</link>
		<comments>http://www.brentbaxter.com/2009/12/16/spring-groovy-and-grails-closing-2009-with-a-bang/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 02:10:43 +0000</pubDate>
		<dc:creator>brent</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[chariot]]></category>
		<category><![CDATA[Grails]]></category>
		<category><![CDATA[Groovy]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[spring framework]]></category>
		<category><![CDATA[springsource]]></category>

		<guid isPermaLink="false">http://www.brentbaxter.com/?p=204</guid>
		<description><![CDATA[It appears that the folks at SpringSouce have been hard at work, and are giving Groovy and Grails folks a lot to look forward to in 2010.  Let me give you a quick recap of the past week or so and just highlight some of the recent events.
It started last week with two Groovy [...]]]></description>
			<content:encoded><![CDATA[<p>It appears that the folks at <a href="http://www.springsource.com">SpringSouce</a> have been hard at work, and are giving Groovy and Grails folks a lot to look forward to in 2010.  Let me give you a quick recap of the past week or so and just highlight some of the recent events.</p>
<p>It started last week with two Groovy related announcements.  First, we were treated to Groovy 1.7 RC2 and found out that we have every reason to expect Groovy 1.7 GA before Christmas.</p>
<p>See: <a href="http://docs.codehaus.org/display/GROOVY/2009/12/09/Groovy+1.7-RC-2+out+there">Groovy 1.7-RC-2 out there</a></p>
<p>Also, last week the Groovy-Eclipse team quietly released 2.0M2 of the Groovy Eclipse plug-in.  They claim to have addressed over 100 issues, which includes a better inference engine, better refactoring support, task tag support, and content assist in GStrings.  All in all, it looks like some nice improvements.</p>
<p>See: <a href="http://docs.codehaus.org/display/GROOVY/Groovy-Eclipse+2.0.0M2+New+and+Noteworthy">Groovy-Eclipse 2.0.0M2 New and Noteworthy</a></p>
<p>Then today there was an explosion of news all starting with the release of Spring Framework 3.0.  There is a lot of good new stuff in there, and I&#8217;ll leave it to Juergen Hoeller to lay it all out for you.</p>
<p>See: <a href="http://blog.springsource.com/2009/12/16/spring-framework-3-0-goes-ga/">Spring Framework 3.0 goes GA</a></p>
<p>This was followed very closely with the release of Grails 1.2 RC2 which includes the new Spring Framework 3.0 GA.</p>
<p>See: <a href="http://www.grails.org/1.2-RC2+Release+Notes">Grails 1.2-RC2 Release Notes</a></p>
<p>Finally, Guillaume Laforge posted an update on the modularity work that is being done as part of the Groovy 1.8 effort. This gist of this is to modularize Groovy into smaller pieces rather than having one, large groovy-all.jar distribution. Part of this effort will include replacing the current Ant based build with <a href="http://gradle.org/">Gradle</a>.  This is a nice feather in the cap for Gradle.</p>
<p>See: <a href="http://docs.codehaus.org/display/GROOVY/Groovy+1.8+modularization">Groovy 1.8 modularization</a></p>
<p>I am very excited to see what is to come in 2010 for the Groovy and Grails community.  Judging by the activities of just the past month, there is a lot to be excited about for the year to come.</p>
<div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Fwww.brentbaxter.com%2F2009%2F12%2F16%2Fspring-groovy-and-grails-closing-2009-with-a-bang%2F&amp;title=Spring%2C+Groovy%2C+and+Grails+Closing+2009+With+a+Bang" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/digg.png" alt="Digg This" title="Digg This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.brentbaxter.com%2F2009%2F12%2F16%2Fspring-groovy-and-grails-closing-2009-with-a-bang%2F&amp;title=Spring%2C+Groovy%2C+and+Grails+Closing+2009+With+a+Bang" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/reddit.png" alt="Reddit This" title="Reddit This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.brentbaxter.com%2F2009%2F12%2F16%2Fspring-groovy-and-grails-closing-2009-with-a-bang%2F&amp;title=Spring%2C+Groovy%2C+and+Grails+Closing+2009+With+a+Bang" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/stumbleupon.png" alt="Stumble Now!" title="Stumble Now!" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Fwww.brentbaxter.com%2F2009%2F12%2F16%2Fspring-groovy-and-grails-closing-2009-with-a-bang%2F&amp;headline=Spring%2C+Groovy%2C+and+Grails+Closing+2009+With+a+Bang" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/yahoo_buzz.png" alt="Buzz This" title="Buzz This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dzone.com/links/add.html?title=Spring%2C+Groovy%2C+and+Grails+Closing+2009+With+a+Bang&amp;url=http%3A%2F%2Fwww.brentbaxter.com%2F2009%2F12%2F16%2Fspring-groovy-and-grails-closing-2009-with-a-bang%2F" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/dzone.png" alt="Vote on DZone" title="Vote on DZone" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.facebook.com/sharer.php?t=Spring%2C+Groovy%2C+and+Grails+Closing+2009+With+a+Bang&amp;u=http%3A%2F%2Fwww.brentbaxter.com%2F2009%2F12%2F16%2Fspring-groovy-and-grails-closing-2009-with-a-bang%2F" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/facebook.png" alt="Share on Facebook" title="Share on Facebook" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://delicious.com/save?title=Spring%2C+Groovy%2C+and+Grails+Closing+2009+With+a+Bang&amp;url=http%3A%2F%2Fwww.brentbaxter.com%2F2009%2F12%2F16%2Fspring-groovy-and-grails-closing-2009-with-a-bang%2F" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/delicious.png" alt="Bookmark this on Delicious" title="Bookmark this on Delicious" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dotnetkicks.com/kick/?title=Spring%2C+Groovy%2C+and+Grails+Closing+2009+With+a+Bang&amp;url=http%3A%2F%2Fwww.brentbaxter.com%2F2009%2F12%2F16%2Fspring-groovy-and-grails-closing-2009-with-a-bang%2F" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/dotnetkicks.png" alt="Kick It on DotNetKicks.com" title="Kick It on DotNetKicks.com" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://dotnetshoutout.com/Submit?title=Spring%2C+Groovy%2C+and+Grails+Closing+2009+With+a+Bang&amp;url=http%3A%2F%2Fwww.brentbaxter.com%2F2009%2F12%2F16%2Fspring-groovy-and-grails-closing-2009-with-a-bang%2F" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/dotnetshoutout.png" alt="Shout it" title="Shout it" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.brentbaxter.com%2F2009%2F12%2F16%2Fspring-groovy-and-grails-closing-2009-with-a-bang%2F&amp;title=Spring%2C+Groovy%2C+and+Grails+Closing+2009+With+a+Bang&amp;summary=&amp;source=" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.brentbaxter.com%2F2009%2F12%2F16%2Fspring-groovy-and-grails-closing-2009-with-a-bang%2F" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/technorati.png" alt="Bookmark this on Technorati" title="Bookmark this on Technorati" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://twitter.com/home?status=Reading+http%3A%2F%2Fwww.brentbaxter.com%2F2009%2F12%2F16%2Fspring-groovy-and-grails-closing-2009-with-a-bang%2F" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/twitter.png" alt="Post on Twitter" title="Post on Twitter" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.google.com/buzz/post?url=http%3A%2F%2Fwww.brentbaxter.com%2F2009%2F12%2F16%2Fspring-groovy-and-grails-closing-2009-with-a-bang%2F" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/google_buzz.png" alt="Google Buzz (aka. Google Reader)" title="Google Buzz (aka. Google Reader)" /></a>&nbsp;&nbsp;</div>]]></content:encoded>
			<wfw:commentRss>http://www.brentbaxter.com/2009/12/16/spring-groovy-and-grails-closing-2009-with-a-bang/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Philly on Grails: The Day After and Loving Plugins</title>
		<link>http://www.brentbaxter.com/2009/11/13/philly-on-grails-the-day-after-and-loving-plugins/</link>
		<comments>http://www.brentbaxter.com/2009/11/13/philly-on-grails-the-day-after-and-loving-plugins/#comments</comments>
		<pubDate>Sat, 14 Nov 2009 00:15:40 +0000</pubDate>
		<dc:creator>brent</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[chariot]]></category>
		<category><![CDATA[Grails]]></category>
		<category><![CDATA[Groovy]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[springsource]]></category>

		<guid isPermaLink="false">http://www.brentbaxter.com/?p=34</guid>
		<description><![CDATA[In case you missed it, there was a full on geek love-fest in Philly yesterday. A capacity group of 50 developers gathered together at the &#8220;Fall Forecast 2009: Groovy on Grails&#8221; seminar sponsored by my employer, Chariot Solutions. The seminar featured Jeff Brown, a core member of the Groovy and Grails team at SpringSource. I [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-medium wp-image-33" title="Philadelphia Love Park" src="http://www.brentbaxter.com/wp-content/uploads/2009/11/198493547_387a6ed03f_b-300x200.jpg" alt="Philadelphia Love Park" width="300" height="200" />In case you missed it, there was a full on geek love-fest in Philly yesterday. A capacity group of 50 developers gathered together at the <a href="http://www.chariotsolutions.com/events/groovy">&#8220;Fall Forecast 2009: Groovy on Grails&#8221;</a> seminar sponsored by my employer, <a href="http://www.chariotsolutions.com">Chariot Solutions</a>. The seminar featured <a href="http://javajeff.blogspot.com/">Jeff Brown</a>, a core member of the Groovy and Grails team at <a href="http://springsource.com">SpringSource</a>. I was thrilled to see the Philadelphia Grails community out in full force.  Jeff, along with fellow Chariot consultants Ken Rimple and Gordon Dickens, delivered several info packed sessions. The day concluded with a hands on &#8220;hack-a-thon&#8221; where folks could try out some Grails techniques first hand.  I&#8217;ll never name any names, but even a few Rails enthusiasts in attendance were impressed with some of the Grails capabilities.</p>
<p>As I recover from my Grails punch-drunk hangover and reflect on the seminar, there is one thing in particular that I keep coming back to &#8211; the Grails Framework plugin architecture. At the seminar, Jeff Brown ran a session on plugins during which he demonstrated how to create and use plugins as part of your Grails application development. I was impressed at how simple it is to build a Grails plugin, and how such a small amount of code can do so much for your application. Just in case everyone in the room was not already impressed, Jeff showed us his <a href="http://grails.org/plugin/clojure">Clojure Plugin</a> that allows the use of Clojure classes inside of any Grails application. Again, what was most impressive was how little code was required to enable such a powerful feature. In the end, we learned that nearly any library that can be invoked via a Java API can be integrated into Grails with a plugin.</p>
<p><img src="http://www.brentbaxter.com/wp-content/uploads/2009/11/grailslogo_topNav.png" alt="Grails Logo" title="Grails Logo" width="163" height="43" class="alignleft size-full wp-image-44" />Before the seminar, I already knew that Grails should be on everyone&#8217;s short list when considering web application development technologies. Powered by the Spring Framework, employing the simplicity of Groovy, adopting convention over configuration, and allowing you to leverage your existing investment in Java &#8211; it is hard not to love Grails. With the over 300 <a href="http://grails.org/plugin/home">Grails Plugins</a>, there was already plenty of opportunity to quickly extend Grails with any number of useful libraries. But what I am now convinced of is that the plugin architecture goes beyond being just useful and actually makes the Grails Framework one of the most compelling options to create web applications targeted at the Java Platform. Nearly any aspect of the framework can be extended or modified with the use of a plugin &#8211; Spring is the one thing that is not plug-able. Need to use a language that runs in the JVM but it isn&#8217;t Java, that isn&#8217;t a problem. Your investment in the Java Platform is protected by the fact that Grails will permit you to leverage your existing languages and libraries via plugins. And when the day comes, as it always does, to replace or update that library &#8211; install the new or updated plugin and you should hardly miss a beat. And while I&#8217;ve mostly talked about plugins for extensibility, let us not forget using plugins for code reuse.  Plugins enable reuse between web apps with such ease that any battle hardened Java web developer will never want to think about extending a Struts Action or wiring a Spring Servlet context again as long as they live. </p>
<div>Philadelphia Love Park photo credit: <a rel="cc:attributionURL" href="http://www.flickr.com/photos/katietegtmeyer/">http://www.flickr.com/photos/katietegtmeyer/</a> / <a rel="license" href="http://creativecommons.org/licenses/by/2.0/">CC BY 2.0</a></div>
<div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Fwww.brentbaxter.com%2F2009%2F11%2F13%2Fphilly-on-grails-the-day-after-and-loving-plugins%2F&amp;title=Philly+on+Grails%3A+The+Day+After+and+Loving+Plugins" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/digg.png" alt="Digg This" title="Digg This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.brentbaxter.com%2F2009%2F11%2F13%2Fphilly-on-grails-the-day-after-and-loving-plugins%2F&amp;title=Philly+on+Grails%3A+The+Day+After+and+Loving+Plugins" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/reddit.png" alt="Reddit This" title="Reddit This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.brentbaxter.com%2F2009%2F11%2F13%2Fphilly-on-grails-the-day-after-and-loving-plugins%2F&amp;title=Philly+on+Grails%3A+The+Day+After+and+Loving+Plugins" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/stumbleupon.png" alt="Stumble Now!" title="Stumble Now!" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Fwww.brentbaxter.com%2F2009%2F11%2F13%2Fphilly-on-grails-the-day-after-and-loving-plugins%2F&amp;headline=Philly+on+Grails%3A+The+Day+After+and+Loving+Plugins" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/yahoo_buzz.png" alt="Buzz This" title="Buzz This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dzone.com/links/add.html?title=Philly+on+Grails%3A+The+Day+After+and+Loving+Plugins&amp;url=http%3A%2F%2Fwww.brentbaxter.com%2F2009%2F11%2F13%2Fphilly-on-grails-the-day-after-and-loving-plugins%2F" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/dzone.png" alt="Vote on DZone" title="Vote on DZone" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.facebook.com/sharer.php?t=Philly+on+Grails%3A+The+Day+After+and+Loving+Plugins&amp;u=http%3A%2F%2Fwww.brentbaxter.com%2F2009%2F11%2F13%2Fphilly-on-grails-the-day-after-and-loving-plugins%2F" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/facebook.png" alt="Share on Facebook" title="Share on Facebook" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://delicious.com/save?title=Philly+on+Grails%3A+The+Day+After+and+Loving+Plugins&amp;url=http%3A%2F%2Fwww.brentbaxter.com%2F2009%2F11%2F13%2Fphilly-on-grails-the-day-after-and-loving-plugins%2F" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/delicious.png" alt="Bookmark this on Delicious" title="Bookmark this on Delicious" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dotnetkicks.com/kick/?title=Philly+on+Grails%3A+The+Day+After+and+Loving+Plugins&amp;url=http%3A%2F%2Fwww.brentbaxter.com%2F2009%2F11%2F13%2Fphilly-on-grails-the-day-after-and-loving-plugins%2F" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/dotnetkicks.png" alt="Kick It on DotNetKicks.com" title="Kick It on DotNetKicks.com" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://dotnetshoutout.com/Submit?title=Philly+on+Grails%3A+The+Day+After+and+Loving+Plugins&amp;url=http%3A%2F%2Fwww.brentbaxter.com%2F2009%2F11%2F13%2Fphilly-on-grails-the-day-after-and-loving-plugins%2F" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/dotnetshoutout.png" alt="Shout it" title="Shout it" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.brentbaxter.com%2F2009%2F11%2F13%2Fphilly-on-grails-the-day-after-and-loving-plugins%2F&amp;title=Philly+on+Grails%3A+The+Day+After+and+Loving+Plugins&amp;summary=&amp;source=" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.brentbaxter.com%2F2009%2F11%2F13%2Fphilly-on-grails-the-day-after-and-loving-plugins%2F" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/technorati.png" alt="Bookmark this on Technorati" title="Bookmark this on Technorati" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://twitter.com/home?status=Reading+http%3A%2F%2Fwww.brentbaxter.com%2F2009%2F11%2F13%2Fphilly-on-grails-the-day-after-and-loving-plugins%2F" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/twitter.png" alt="Post on Twitter" title="Post on Twitter" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.google.com/buzz/post?url=http%3A%2F%2Fwww.brentbaxter.com%2F2009%2F11%2F13%2Fphilly-on-grails-the-day-after-and-loving-plugins%2F" ><img class="lightsocial_img" src="http://www.brentbaxter.com/wp-content/plugins/light-social/google_buzz.png" alt="Google Buzz (aka. Google Reader)" title="Google Buzz (aka. Google Reader)" /></a>&nbsp;&nbsp;</div>]]></content:encoded>
			<wfw:commentRss>http://www.brentbaxter.com/2009/11/13/philly-on-grails-the-day-after-and-loving-plugins/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
