Skip to content
This repository has been archived by the owner on Dec 31, 2018. It is now read-only.

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
Jason Rudolph committed Aug 27, 2008
0 parents commit f41ea22
Show file tree
Hide file tree
Showing 308 changed files with 21,793 additions and 0 deletions.
9 changes: 9 additions & 0 deletions ABSTRACT
@@ -0,0 +1,9 @@
Grails provides a tremendous jump-start to any web application. With easy
scaffolding and zero-configuration ORM, you're up and running in no time.
But what's needed to effectively move from a vanilla Grails project to a
fully-customized application fit for public consumption?

In this session, through live demos we'll explore techniques for quickly
securing our application, implementing effective (and DRY) UIs, developing
Grails services, extending Grails with plugins, and even integrating with
Java when the need arises.
32 changes: 32 additions & 0 deletions LICENSE
@@ -0,0 +1,32 @@
PRESENTATION
============
This presentation is published under the Creative Commons Attribution-Share
Alike License Version 3.0.

Please see http://creativecommons.org/licenses/by-sa/3.0/us for complete
details.


SOURCE CODE
===========
The accompanying source code is provided under the MIT license.

Copyright (c) 2008 Jason Rudolph

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
deal in the Software without restriction, including without limitation the
rights to use, copy, modify, merge, publish, distribute, sub-license, and/or
sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
IN THE SOFTWARE.
15 changes: 15 additions & 0 deletions README
@@ -0,0 +1,15 @@
Going Further with Grails
Conference Talk
Jason Rudolph
http://jasonrudolph.com

See the ABSTRACT and the LICENSE

==

This presentation has been delivered at the following events (with
requisite updates as Grails evolved between these events):

2007-10-06 Greater Atlanta Software Symposium (Atlanta, GA)
2007-11-04 Northern Virginia Software Symposium (Reston, VA)
2008-02-22 2GX Groovy/Grails Experience (Reston, VA)
Binary file added gfwg.pdf
Binary file not shown.
1 change: 1 addition & 0 deletions keynote/gfwg.key/Contents/PkgInfo
@@ -0,0 +1 @@
????????
Binary file added keynote/gfwg.key/QuickLook/Thumbnail.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added keynote/gfwg.key/REL_logo_spot-1.pdf
Binary file not shown.
Binary file added keynote/gfwg.key/REL_logo_spot-3.pdf
Binary file not shown.
Binary file added keynote/gfwg.key/REL_logo_spot.gif
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added keynote/gfwg.key/Untitled.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file added keynote/gfwg.key/droppedImage-2.pict
Binary file not shown.
Binary file added keynote/gfwg.key/droppedImage-23.pict
Binary file not shown.
Binary file added keynote/gfwg.key/droppedImage-3.pict
Binary file not shown.
Binary file added keynote/gfwg.key/droppedImage-4.tiff
Binary file not shown.
Binary file added keynote/gfwg.key/droppedImage-5.pict
Binary file not shown.
Binary file added keynote/gfwg.key/index.apxl.gz
Binary file not shown.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added keynote/gfwg.key/theme-files/tile_paper_blue.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added keynote/gfwg.key/theme-files/tile_paper_gray.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added keynote/gfwg.key/theme-files/tile_paper_green.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added keynote/gfwg.key/theme-files/tile_paper_red.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added keynote/gfwg.key/thumbs/mt0-22.tiff
Binary file not shown.
Binary file added keynote/gfwg.key/thumbs/mt0-27.tiff
Binary file not shown.
Binary file added keynote/gfwg.key/thumbs/mt0-28.tiff
Binary file not shown.
Binary file added keynote/gfwg.key/thumbs/mt0-29.tiff
Binary file not shown.
Binary file added keynote/gfwg.key/thumbs/mt0-30.tiff
Binary file not shown.
Binary file added keynote/gfwg.key/thumbs/mt0-34.tiff
Binary file not shown.
Binary file added keynote/gfwg.key/thumbs/mt0-39.tiff
Binary file not shown.
Binary file added keynote/gfwg.key/thumbs/st1-1.tiff
Binary file not shown.
Binary file added keynote/gfwg.key/thumbs/st1-3.tiff
Binary file not shown.
Binary file added keynote/gfwg.key/thumbs/st1-5.tiff
Binary file not shown.
Binary file added keynote/gfwg.key/thumbs/st28-2.tiff
Binary file not shown.
Binary file added keynote/gfwg.key/thumbs/st28-3.tiff
Binary file not shown.
Binary file added keynote/gfwg.key/thumbs/st28-4.tiff
Binary file not shown.
Binary file added keynote/gfwg.key/thumbs/st28-5.tiff
Binary file not shown.
Binary file added keynote/gfwg.key/thumbs/st3-10.tiff
Binary file not shown.
Binary file added keynote/gfwg.key/thumbs/st3-11.tiff
Binary file not shown.
Binary file added keynote/gfwg.key/thumbs/st3-12.tiff
Binary file not shown.
Binary file added keynote/gfwg.key/thumbs/st3-13.tiff
Binary file not shown.
Binary file added keynote/gfwg.key/thumbs/st3-14.tiff
Binary file not shown.
Binary file added keynote/gfwg.key/thumbs/st3-15.tiff
Binary file not shown.
Binary file added keynote/gfwg.key/thumbs/st3-3.tiff
Binary file not shown.
Binary file added keynote/gfwg.key/thumbs/st3-4.tiff
Binary file not shown.
Binary file added keynote/gfwg.key/thumbs/st3-5.tiff
Binary file not shown.
Binary file added keynote/gfwg.key/thumbs/st3-6.tiff
Binary file not shown.
Binary file added keynote/gfwg.key/thumbs/st3-7.tiff
Binary file not shown.
Binary file added keynote/gfwg.key/thumbs/st3-8.tiff
Binary file not shown.
Binary file added keynote/gfwg.key/thumbs/st3-9.tiff
Binary file not shown.
Binary file added keynote/gfwg.key/thumbs/st33-3.tiff
Binary file not shown.
Binary file added keynote/gfwg.key/thumbs/st38-2.tiff
Binary file not shown.
Binary file added keynote/gfwg.key/thumbs/st9-10.tiff
Binary file not shown.
Binary file added keynote/gfwg.key/thumbs/st9-11.tiff
Binary file not shown.
Binary file added keynote/gfwg.key/thumbs/st9-12.tiff
Binary file not shown.
Binary file added keynote/gfwg.key/thumbs/st9-13.tiff
Binary file not shown.
Binary file added keynote/gfwg.key/thumbs/st9-14.tiff
Binary file not shown.
Binary file added keynote/gfwg.key/thumbs/st9-16.tiff
Binary file not shown.
Binary file added keynote/gfwg.key/thumbs/st9-17.tiff
Binary file not shown.
Binary file added keynote/gfwg.key/thumbs/st9-18.tiff
Binary file not shown.
Binary file added keynote/gfwg.key/thumbs/st9-5.tiff
Binary file not shown.
Binary file added keynote/gfwg.key/thumbs/st9-8.tiff
Binary file not shown.
Binary file added keynote/gfwg.key/thumbs/st9-9.tiff
Binary file not shown.
Binary file added keynote/gfwg.key/us.tiff
Binary file not shown.
155 changes: 155 additions & 0 deletions src/racetrack/.classpath
@@ -0,0 +1,155 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src/java"/>
<classpathentry kind="src" path="src/groovy"/>
<classpathentry kind="src" path="grails-app/conf"/>
<classpathentry kind="src" path="grails-app/controllers"/>
<classpathentry kind="src" path="grails-app/domain"/>
<classpathentry kind="src" path="grails-app/services"/>
<classpathentry kind="src" path="grails-app/taglib"/>
<classpathentry kind="src" path="test/integration"/>
<classpathentry kind="src" path="test/unit"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="var" path="GRAILS_HOME/ant/lib/ant.jar"/>
<classpathentry kind="var" path="GRAILS_HOME/lib/ant-junit.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/ant-launcher.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/ant-nodeps.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/ant-trax.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/ant.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/antlr-2.7.6.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/bsf-2.3.0.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/cglib-nodep-2.1_3.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/commons-beanutils-1.7.0.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/commons-cli-1.0.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/commons-collections-3.2.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/commons-dbcp-1.2.1.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/commons-el-1.0.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/commons-fileupload-1.1.1.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/commons-io-1.2.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/commons-lang-2.1.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/commons-logging-1.1.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/commons-pool-1.2.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/commons-validator-1.3.0.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/dom4j-1.6.1.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/ehcache-1.2.4.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/ejb3-persistence.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/groovy-all-1.5.4.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/hibernate-annotations.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/hibernate3.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/hsqldb-1.8.0.5.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/jasper-compiler-5.5.15.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/jasper-compiler-jdt-5.5.15.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/jasper-runtime-5.5.15.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/jaxen-1.1-beta-11.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/jdbc2_0-stdext.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/jetty-6.1.4.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/jetty-naming-6.1.4.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/jetty-plus-6.1.4.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/jetty-util-6.1.4.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/jline-0.9.91.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/jsp-api-2.0.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/jstl-2.3.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/jstl-2.4.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/jta.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/junit-3.8.2.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/log4j-1.2.15.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/ognl-2.6.9.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/oro-2.0.8.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/serializer.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/servlet-api-2.5-6.1.4.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/sitemesh-2.3.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/spring-2.5.1.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/spring-binding-2.0-m1.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/spring-test.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/spring-webflow-2.0-m1.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/spring-webmvc.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/springmodules-sandbox.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/standard-2.3.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/standard-2.4.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/start.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/svnkit.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/xalan.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/xercesImpl.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/xpp3_min-1.1.3.4.O.jar" />

<classpathentry kind="var" path="GRAILS_HOME/lib/xstream-1.2.1.jar" />


<classpathentry kind="var" path="GRAILS_HOME/dist/grails-cli-1.0.jar" />

<classpathentry kind="var" path="GRAILS_HOME/dist/grails-core-1.0.jar" />

<classpathentry kind="var" path="GRAILS_HOME/dist/grails-crud-1.0.jar" />

<classpathentry kind="var" path="GRAILS_HOME/dist/grails-gorm-1.0.jar" />

<classpathentry kind="var" path="GRAILS_HOME/dist/grails-spring-1.0.jar" />

<classpathentry kind="var" path="GRAILS_HOME/dist/grails-test-1.0.jar" />

<classpathentry kind="var" path="GRAILS_HOME/dist/grails-web-1.0.jar" />

<classpathentry kind="var" path="GRAILS_HOME/dist/grails-webflow-1.0.jar" />


<classpathentry kind="output" path="web-app/WEB-INF/classes"/>
</classpath>
23 changes: 23 additions & 0 deletions src/racetrack/.project
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>racetrack</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.codehaus.groovy.eclipse.groovyBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.codehaus.groovy.eclipse.groovyNature</nature>
</natures>
</projectDescription>
19 changes: 19 additions & 0 deletions src/racetrack/LICENSE
@@ -0,0 +1,19 @@
Copyright (c) 2008 Jason Rudolph

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
deal in the Software without restriction, including without limitation the
rights to use, copy, modify, merge, publish, distribute, sub-license, and/or
sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
IN THE SOFTWARE.
39 changes: 39 additions & 0 deletions src/racetrack/README
@@ -0,0 +1,39 @@
This sample application supplements the `Going Further with Grails` presentation.

http://groovygrails.com/gg/conference/speaker?speakerId=4738&showId=131#pr8889

-This application uses the built-in HSQLDB that comes with every Grails app.

-This application was built using Grails 1.0. If you're using a more recent
Grails version you'll likely need to execute `grails upgrade` prior to running
the app.

-After executing `grails run-app` to start the application, navigate to
http://localhost:8080/racetrack. As you explore the application, you'll be
prompted to log in. You can log in as the admin with user ID `admin` and
password `pass`.

-Areas of Interest
--BootStrap.groovy - In grails-app/conf/BootStrap.groovy, we create and save
sample data to use when exploring the application. We also populate the
security-specific data/configuration, including users, roles, and resource
access rules.

--Acegi Security Plugin - The plugin lives in plugins/acegi-0.2, and it's this
plugin that provides the application with authorization, authentication, a
login UI, a logout UI, and more.

--Command Objects - SponsorshipRequest.groovy represents one type of Command
Object (i.e., a "domain" object sans persistence). You can see the
SponsorshipRequest class used by SponsorshipController, SponsorshipService,
and SponsorshipMailer.

--Java Integration / E-mail - Check out SponsorshipMailer in
src/groovy/SponsorshipMailer.groovy. This simple class uses the Jakarta e-mail
libraries present in the lib directory. Just by dropping those JARs in the lib
directory, their functionality is available throughout the application. In
this case, a service class (SponsorshipService) calls SponsorshipMailer to
send the e-mail, and SponsorshipMailer just-so-happens to rely on existing
Java libraries to get the job done. (To test out the e-mail for yourself,
you'll want to configure the e-mail server settings in
SponsorshipMailer.groovy to match your local environment.)
5 changes: 5 additions & 0 deletions src/racetrack/application.properties
@@ -0,0 +1,5 @@
#Sun Feb 17 12:13:59 EST 2008
app.version=0.1
app.servlet.version=2.4
app.grails.version=1.0
app.name=racetrack
41 changes: 41 additions & 0 deletions src/racetrack/build.xml
@@ -0,0 +1,41 @@
<project name="racetrack" default="test">

<condition property="grails" value="grails.bat">
<os family="windows"/>
</condition>
<property name="grails" value="grails" />

<!-- =================================
target: clean
================================= -->
<target name="clean" description="--> Cleans a Grails application">
<exec executable="${grails}" failonerror="true">
<arg value="clean"/>
</exec>
</target>

<!-- =================================
target: war
================================= -->
<target name="war" description="--> Creates a WAR of a Grails application">
<exec executable="${grails}" failonerror="true">
<arg value="war"/>
</exec>
</target>

<!-- =================================
target: test
================================= -->
<target name="test" description="--> Run a Grails applications unit tests">
<exec executable="${grails}" failonerror="true">
<arg value="test-app"/>
</exec>
</target>

<!-- =================================
target: deploy
================================= -->
<target name="deploy" depends="war" description="--> The deploy target (initially empty)">
<!-- TODO -->
</target>
</project>

0 comments on commit f41ea22

Please sign in to comment.