<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://www.vitarara.org/cms" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>Vita Rara: A Life Uncommon - Groovy Works</title>
 <link>http://www.vitarara.org/cms/taxonomy/term/70/all</link>
 <description></description>
 <language>en</language>
<item>
 <title>ApacheCon Training Session: Using Groovy with Struts 2</title>
 <link>http://www.vitarara.org/cms/node/142</link>
 <description>&lt;p&gt;&lt;a href=&quot;http://www.us.apachecon.com/&quot;&gt;&lt;img src=&quot;/cms/files/apachecon_logo.png&quot; class=&quot;vrFloatRight&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;On &lt;strong&gt;Tuesday, November 13&lt;/strong&gt; I will be presenting a training session at ApacheCon 2007 in Atlanta, GA, &lt;strong&gt;Using Groovy with Struts 2&lt;/strong&gt;. Learn how to use Groovy with Struts 2. Topics covered will include: Integrating Groovy into the Struts 2 Maven archetype; implementing actions, and service beans in Groovy; using Spring to wire Groovy service beans and action classes; using dynamic Groovy actions that do not require a server restart; writing Data Access Objects in Groovy and using Spring based transaction support with Java Persistence API (JPA).&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.vitarara.org/cms/node/142&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.vitarara.org/cms/node/142#comment</comments>
 <category domain="http://www.vitarara.org/cms/taxonomy/term/75">ApacheCon</category>
 <category domain="http://www.vitarara.org/cms/taxonomy/term/68">Groovy</category>
 <category domain="http://www.vitarara.org/cms/taxonomy/term/70">Groovy Works</category>
 <category domain="http://www.vitarara.org/cms/taxonomy/term/57">Struts 2</category>
 <pubDate>Mon, 15 Oct 2007 10:45:33 -0400</pubDate>
 <dc:creator>Mark</dc:creator>
 <guid isPermaLink="false">142 at http://www.vitarara.org/cms</guid>
</item>
<item>
 <title>Groovy Works 0.1 Release</title>
 <link>http://www.vitarara.org/cms/groovyworks_0.1_release</link>
 <description>&lt;p&gt;Groovy Works has been the benefactor of a lot of development this past week. With upgrades for better class caching, better utilization of the GroovyClassLoader, and integration with Groovy-1.1-beta-3-SNAPSHOT and Spring 2.&lt;/p&gt;
&lt;h2&gt;Google Code Project and SVN Access&lt;/h2&gt;
&lt;p&gt;I have moved &lt;a href=&quot;http://code.google.com/p/groovyworks/&quot;&gt;Groovy Works to Google Code&lt;/a&gt;. To get the latest release please see the download section on Google.&lt;/p&gt;
&lt;h2&gt;Quick Start Directions&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Download the &lt;a href=&quot;http://groovyworks.googlecode.com/files/groovyworks-0.1.tar.gz&quot;&gt;current release&lt;/a&gt; from Google Code.&lt;/li&gt;
&lt;li&gt;Unzip it in a directory: tar xfzv groovyworks-0.1.tar_.gz&lt;/li&gt;
&lt;li&gt;Change directory to the groovyworks-core directory: cd groovyworks-core&lt;/li&gt;
&lt;li&gt;Install the Groovy Works artifact with Maven: mvn install&lt;/li&gt;
&lt;li&gt;Change directory to the sample application: cd ../example-app&lt;/li&gt;
&lt;li&gt;Run the application with the Jetty plugin: mvn jetty:run&lt;/li&gt;
&lt;li&gt;Point your browser at http://localhost:8080/groovyworks/&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To use the plugin in your Struts projects you&#039;ll need to remove the standard Struts Spring plugin. Groovy Works provides all of the functionality of the existing Spring plugin.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.vitarara.org/cms/groovyworks_0.1_release&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.vitarara.org/cms/groovyworks_0.1_release#comment</comments>
 <category domain="http://www.vitarara.org/cms/taxonomy/term/68">Groovy</category>
 <category domain="http://www.vitarara.org/cms/taxonomy/term/70">Groovy Works</category>
 <category domain="http://www.vitarara.org/cms/taxonomy/term/11">Spring</category>
 <category domain="http://www.vitarara.org/cms/taxonomy/term/57">Struts 2</category>
 <pubDate>Sat, 28 Jul 2007 19:02:17 -0400</pubDate>
 <dc:creator>Mark</dc:creator>
 <guid isPermaLink="false">138 at http://www.vitarara.org/cms</guid>
</item>
<item>
 <title>The Definitive Guide to Grails</title>
 <link>http://www.vitarara.org/cms/node/116</link>
 <description>&lt;p&gt;I picked up a copy of The Definitive Guide to Grails this week. I&#039;m most of the way through it, and I&#039;m impressed. The Grails team has definitely done a lot of work. As a result I&#039;ve started to dig into the code, and I&#039;m getting a lot of ideas for Groovy Works.&lt;/p&gt;
&lt;p&gt;Overall I highly recommend getting a copy of the book, whether you use Grails or not. It is well worth a look. &lt;/p&gt;
&lt;p&gt;I&#039;ll post more thoughts when I finish the book.&lt;/p&gt;
</description>
 <comments>http://www.vitarara.org/cms/node/116#comment</comments>
 <category domain="http://www.vitarara.org/cms/taxonomy/term/74">Grails</category>
 <category domain="http://www.vitarara.org/cms/taxonomy/term/68">Groovy</category>
 <category domain="http://www.vitarara.org/cms/taxonomy/term/70">Groovy Works</category>
 <category domain="http://www.vitarara.org/cms/taxonomy/term/7">Programming</category>
 <pubDate>Sat, 31 Mar 2007 18:26:28 -0400</pubDate>
 <dc:creator>Mark</dc:creator>
 <guid isPermaLink="false">116 at http://www.vitarara.org/cms</guid>
</item>
<item>
 <title>Groovy Works</title>
 <link>http://www.vitarara.org/cms/groovyworks</link>
 <description>&lt;h2&gt;What is Groovy Works?&lt;/h2&gt;
&lt;p&gt;Groovy Works is a marriage of the &lt;a href=&quot;http://groovy.codehaus.org/&quot;&gt;Groovy&lt;/a&gt; programming language, &lt;a href=&quot;http://struts.apache.org/&quot;&gt;Struts 2&lt;/a&gt; and the &lt;a href=&quot;http://www.springframework.org/&quot;&gt;Spring Framework&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Using Groovy Works you can develop your &quot;Java&quot; web application and avoid time consuming re-deployments and re-starts. Using Spring&#039;s support for dynamic re-compilation of scripted beans you can simply code, save, test in your browser. No need for costly recompilation, package, deploy, restart cycles.&lt;/p&gt;
&lt;p&gt;Right now Groovy Works exists as a Struts 2 Plug-in, and an example application. Groovy Works depends on Spring 2.0.3.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.vitarara.org/cms/groovyworks&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.vitarara.org/cms/groovyworks#comment</comments>
 <category domain="http://www.vitarara.org/cms/taxonomy/term/68">Groovy</category>
 <category domain="http://www.vitarara.org/cms/taxonomy/term/70">Groovy Works</category>
 <category domain="http://www.vitarara.org/cms/java">Java</category>
 <category domain="http://www.vitarara.org/cms/taxonomy/term/11">Spring</category>
 <category domain="http://www.vitarara.org/cms/taxonomy/term/57">Struts 2</category>
 <enclosure url="http://www.vitarara.org/cms/files/groovyworks.tar_.gz" length="37851" type="application/x-gzip" />
 <pubDate>Sun, 11 Mar 2007 13:52:33 -0400</pubDate>
 <dc:creator>Mark</dc:creator>
 <guid isPermaLink="false">110 at http://www.vitarara.org/cms</guid>
</item>
<item>
 <title>Groovy and Struts 2 Integration</title>
 <link>http://www.vitarara.org/cms/node/109</link>
 <description>&lt;p&gt;I&#039;ve done more work on integrating Struts 2 and Groovy. The short news is I&#039;m making progress. I have reloading service beans and actions sort of working. Most of the issues are Spring related &lt;a href=&quot;http://forum.springframework.org/showthread.php?p=106384&quot;&gt;(more)&lt;/a&gt;, but I&#039;m working through those and we&#039;ll see what comes of it. With the release of Spring 2.0.3 the AOP issues should be fixed. I haven&#039;t actually gotten to testing that yet.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.vitarara.org/cms/node/109&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.vitarara.org/cms/node/109#comment</comments>
 <category domain="http://www.vitarara.org/cms/taxonomy/term/68">Groovy</category>
 <category domain="http://www.vitarara.org/cms/taxonomy/term/70">Groovy Works</category>
 <category domain="http://www.vitarara.org/cms/java">Java</category>
 <category domain="http://www.vitarara.org/cms/taxonomy/term/11">Spring</category>
 <category domain="http://www.vitarara.org/cms/taxonomy/term/57">Struts 2</category>
 <pubDate>Sat, 10 Mar 2007 21:17:11 -0500</pubDate>
 <dc:creator>Mark</dc:creator>
 <guid isPermaLink="false">109 at http://www.vitarara.org/cms</guid>
</item>
<item>
 <title>Groovy Struts: Spring AOP Issues</title>
 <link>http://www.vitarara.org/cms/node/101</link>
 <description>&lt;p&gt;On the Spring forum we&#039;ve been having a lively discussion about &lt;a href=&quot;http://forum.springframework.org/showthread.php?p=103583&amp;amp;posted=1#post103583&quot;&gt;AOP support for scripted beans&lt;/a&gt;. Rick Evans has said the issues are not fundamental, and that he would be addressing them in the next few weeks.&lt;/p&gt;
&lt;p&gt;I find this quite exciting. I&#039;m really looking forward to a day when I can start my application server and just code. I&#039;d really like to get rid of most, if not all, of the restarts.&lt;/p&gt;
</description>
 <comments>http://www.vitarara.org/cms/node/101#comment</comments>
 <category domain="http://www.vitarara.org/cms/taxonomy/term/68">Groovy</category>
 <category domain="http://www.vitarara.org/cms/taxonomy/term/70">Groovy Works</category>
 <category domain="http://www.vitarara.org/cms/taxonomy/term/7">Programming</category>
 <category domain="http://www.vitarara.org/cms/taxonomy/term/11">Spring</category>
 <category domain="http://www.vitarara.org/cms/taxonomy/term/57">Struts 2</category>
 <pubDate>Sun, 25 Feb 2007 12:44:20 -0500</pubDate>
 <dc:creator>Mark</dc:creator>
 <guid isPermaLink="false">101 at http://www.vitarara.org/cms</guid>
</item>
<item>
 <title>Groovy Struts Update</title>
 <link>http://www.vitarara.org/cms/node/100</link>
 <description>&lt;p&gt;(NB: For the latest on the subject see: &lt;a href=&quot;/cms/groovyworks&quot;&gt;Groovy Works&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I worked with using Spring to instantiate the action beans today, and that didn&#039;t go too far. I started getting an exception from AspectJ. (&lt;a href=&quot;http://forum.springframework.org/showthread.php?p=103525#post103525&quot;&gt;See thread on the Spring forum.&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;So, I got to thinking. What if I created the GroovyClassLoader in Struts 2 prior to initializing the Spring context, and make the GroovyClassLoader the parent of the Spring context. This works! Finally something that works. It&#039;s not really enough though, and it&#039;s very cludgy. I would have to have two source trees, one of Groovy files that need to be compiled ahead of time, and one of others that are compiled and loaded at run time. That would make for a messy project in my eyes.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.vitarara.org/cms/node/100&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.vitarara.org/cms/node/100#comment</comments>
 <category domain="http://www.vitarara.org/cms/taxonomy/term/68">Groovy</category>
 <category domain="http://www.vitarara.org/cms/taxonomy/term/70">Groovy Works</category>
 <category domain="http://www.vitarara.org/cms/java">Java</category>
 <category domain="http://www.vitarara.org/cms/taxonomy/term/7">Programming</category>
 <category domain="http://www.vitarara.org/cms/taxonomy/term/11">Spring</category>
 <category domain="http://www.vitarara.org/cms/taxonomy/term/57">Struts 2</category>
 <pubDate>Sat, 24 Feb 2007 17:36:58 -0500</pubDate>
 <dc:creator>Mark</dc:creator>
 <guid isPermaLink="false">100 at http://www.vitarara.org/cms</guid>
</item>
<item>
 <title>Toward a Groovy&#039;er Struts 2</title>
 <link>http://www.vitarara.org/cms/node/98</link>
 <description>&lt;p&gt;See latest update: &lt;a href=&quot;/cms/groovyworks&quot;&gt;Groovy Works&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A further update is available &lt;a href=&quot;http://www.vitarara.org/cms/node/100&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Last week I started implementing my &lt;a href=&quot;http://www.vitarara.org/cms/node/95&quot;&gt;Struts 2 actions in Groovy&lt;/a&gt;. After a few days I decided I liked Groovy, but I wanted more. I didn&#039;t want to have to restart my servlet container every time I recompiled a class. I just wanted to be able to edit, save, and reload in my browser.&lt;/p&gt;
&lt;p&gt;I researched using Spring to instantiate my actions, but Spring&#039;s scripting integration only supports singletons. So, to get around this I extended the Struts 2 Spring Plugin to integrate the GroovyClassLoader. That created problems with Spring&#039;s use of AspectJ&#039;s pointcuts to support declarative transactions. (&lt;a href=&quot;http://forum.springframework.org/showthread.php?t=33896&quot;&gt;Thread on Spring forum.&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.vitarara.org/cms/node/98&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.vitarara.org/cms/node/98#comment</comments>
 <category domain="http://www.vitarara.org/cms/taxonomy/term/68">Groovy</category>
 <category domain="http://www.vitarara.org/cms/taxonomy/term/70">Groovy Works</category>
 <category domain="http://www.vitarara.org/cms/taxonomy/term/7">Programming</category>
 <category domain="http://www.vitarara.org/cms/taxonomy/term/11">Spring</category>
 <category domain="http://www.vitarara.org/cms/taxonomy/term/57">Struts 2</category>
 <pubDate>Fri, 23 Feb 2007 19:03:37 -0500</pubDate>
 <dc:creator>Mark</dc:creator>
 <guid isPermaLink="false">98 at http://www.vitarara.org/cms</guid>
</item>
<item>
 <title>Creating a Struts 2 Action in Groovy</title>
 <link>http://www.vitarara.org/cms/struts_2_cookbook/creating_an_action_in_groovy</link>
 <description>&lt;p&gt;(N.B.: For the latest on Struts 2 and Groovy see: &lt;a href=&quot;/cms/groovyworks&quot;&gt;Groovy Works&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Actions in Struts 2 are POJO&#039;s. Actions also serve the same purpose of the ActionForm from Struts 1, storing all of the data submitted by your user. Additionally Struts 2 action classes store the information you wish to display back to your user. (NB: Struts 2 also supports a ModelDriven style, where the Action does not need to store this data, but the ideas are largely the same.)&lt;/p&gt;
&lt;p&gt;Over the course of developing a Struts 2 application you will write a lot of accessors, setThis(String in), getThat(). Personally I&#039;m sick of writing those methods. Yes, I know Eclipse could write them for me, but I don&#039;t like Eclipse, and I haven&#039;t taken the time to learn another IDE. I like my Unix shell, maven, screen and vi (vim), thank you very much.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.vitarara.org/cms/struts_2_cookbook/creating_an_action_in_groovy&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.vitarara.org/cms/struts_2_cookbook/creating_an_action_in_groovy#comment</comments>
 <category domain="http://www.vitarara.org/cms/taxonomy/term/68">Groovy</category>
 <category domain="http://www.vitarara.org/cms/taxonomy/term/70">Groovy Works</category>
 <category domain="http://www.vitarara.org/cms/java">Java</category>
 <category domain="http://www.vitarara.org/cms/taxonomy/term/7">Programming</category>
 <category domain="http://www.vitarara.org/cms/taxonomy/term/57">Struts 2</category>
 <pubDate>Tue, 13 Feb 2007 12:29:34 -0500</pubDate>
 <dc:creator>Mark</dc:creator>
 <guid isPermaLink="false">95 at http://www.vitarara.org/cms</guid>
</item>
</channel>
</rss>

